Procesar archivos por lotes
MapForce puede configurarse para procesar varios archivos simultáneamente (p. ej. todos los archivos de un directorio) cuando se ejecute la asignación. Gracias a esta característica podrá:
•Suministrar a la asignación una lista de archivos de entrada que se deben procesar.
•Generar como resultado de la asignación una lista de archivos en lugar de un solo archivo de salida.
•Generar una aplicación de asignación de datos donde el nombre de los archivos de entrada y salida se definen en tiempo de ejecución.
•Pasar un grupo de archivos a otro formato.
•Dividir un archivo (o una base de datos) grande en partes más pequeñas.
•Agrupar varios archivos diferentes en un solo archivo (o cargarlos en una base de datos).
Hay dos maneras de configurar componentes de MapForce para que procese varios archivos a la vez:
•Indique la ruta de acceso a los archivos de entrada o salida necesarios utilizando caracteres comodín en lugar de un nombre de archivo fijo, en la configuración del componente (ver Cambiar configuración de los componentes). Es decir, puede introducir los comodines * y ? en el cuadro de diálogo "Configuración del componente" para que MapForce resuelva la ruta de acceso correspondiente cuando se ejecute la asignación.
•Conecte al nodo raíz de un componente una secuencia que proporcione la ruta de forma dinámica (por ejemplo, el resultado de la función replace-fileext). Cuando se ejecute la asignación, MapForce leerá de forma dinámica todos los archivos de entrada o generará todos los archivos de salida de forma dinámica.
Dependiendo de cual sea el objetivo del proyecto, podrá usar una de estas técnicas o ambas en la misma asignación. Sin embargo, no tiene sentido utilizar ambas técnicas al mismo tiempo en el mismo componente. Para indicar qué técnica desea usar para cada componente haga clic en el botón Archivo (
) o Archivo/Cadena (
) disponible junto al nodo raíz de cada componente. Estos son los comportamientos que puede especificar con estos botones:
Usar nombres de archivo de la configuración del componente | Si el componente debe procesar un archivo de instancia o varios, esta opción ordena el procesamiento de los nombres de archivo definidos en el cuadro de diálogo "Configuración del componente".
Si selecciona esta opción, el nodo raíz no tiene un conector de entrada porque no es relevante. ![]() Si todavía no ha especificado archivos de entrada/salida en el cuadro de diálogo "Configuración del componente", el nombre del nodo raíz será Archivo: (predeterminado). De lo contrario, el nodo raíz muestra el nombre del archivo de entrada seguido de un punto y coma más el nombre del archivo de salida.
Si el nombre de la entrada es idéntico al archivo de salida, entonces aparece como nombre del nodo raíz. ![]() Esta opción y la opción Usar nombres de archivo dinámicos dados por la asignación se excluyen mutuamente. |
Usar nombres de archivo dinámicos dados por la asignación | Esta opción ordena el procesamiento de los nombres de archivo definidos en el área de asignación al conectar valores con el nodo raíz del componente.
Si selecciona esta opción, el nodo raíz recibe un conector de entrada con el que se pueden conectar valores que suministren de forma dinámica los nombres de archivo que se deben procesar durante la ejecución de la asignación. Si también definió nombres de archivo en el cuadro de diálogo "Configuración del componente", dichos valores se omitirán.
Cuando se selecciona esta opción, el nombre del nodo raíz aparece como Archivo: <dinámico>. ![]() Esta opción no es compatible con la opción Usar nombres de archivo de la configuración del componente. |
Convertir cadenas de texto a XML, Convertir cadenas de texto a JSON, Convertir cadenas de texto a CSV, Convertir cadenas de texto a FLF, Convertir cadenas de texto a EDI | Cuando se activa, esta opción permite que el componente acepte un valor de cadena como entrada en el nodo raíz y lo convierta en una estructura XML, JSON, CSV, FLF o EDI, respectivamente. Para más información, consulte Redistribuir y serializar cadenas de texto. |
Serializar XML a cadenas de texto, Serializar JSON a cadenas de texto, Serializar CSV a cadenas de texto, Serializar FLF a cadenas de texto, Serializar EDI a cadenas de texto | Cuando se activa, esta opción permite que el componente acepte una estructura como entrada y la convierta en una cadena de caracteres. La estructura de entrada puede ser XML, JSON, CSV, campo de longitud fija o EDI, respectivamente. Para más información, consulte Redistribuir y serializar cadenas de texto. |
Se pueden definir varios archivos de entrada o de salida para los siguientes componentes:
•Archivos XML
•Archivos de texto (archivos CSV*, FLF* y FlexText**)
•Documentos EDI**
•Hojas de cálculo de Excel**
•Documentos XBRL**
•Archivos JSON**
•Archivos de Protocol Buffers**
* Requiere MapForce Professional Edition
** Requiere MapForce Enterprise Edition
En esta tabla puede ver la compatibilidad de cada lenguaje de MapForce con archivos de entrada/salida dinámicos y con comodines:
Lenguaje de destino | Nombre de archivo de entrada dinámico | Compatibilidad con caracteres comodín para | Nombre de archivo de salida dinámico |
|---|---|---|---|
XSLT 1,0 | * | Incompatible con XSLT 1.0 | Incompatible con XSLT 1.0 |
XSLT 2,0 | * | *(1) | * |
XSLT 3,0 | * | *(1) | * |
XQuery | * | *(1) | Incompatible con XQuery |
C++ | * | * | * |
C# | * | * | * |
Java | * | * | * |
Built-In | * | * | * |
Leyenda:
* | Compatible |
(1) | XSLT 2.0, XSLT 3.0 y XQuery utilizan la función fn:collection. La implementación en los motores XSLT 2.0, XSLT 3.0 y XQuery de Altova resuelve comodines. Los demás motores pueden comportarse de modo distinto. |


