Procesamiento de registros de extracción
Un proceso que selecciona registros y genera una salida para cada registro que se va a escribir en un fichero para su integración con sistemas externos se llama proceso de extracción. La plantilla de extracción orientada por plug-in de control de lotes de base (F1-PDBEX) puede usarse como plantilla.
Para los procesos de extracción, el algoritmo de proceso de registros se encarga de devolver los datos que se deben escribir en el fichero en una o más instancias XML junto con los nombres de esquema que describen dichas instancias. El programa escribirá los datos del fichero según el formato indicado en el parámetro por lotes Formato de fichero. Por defecto, el servicio utiliza el formato OUAF para la fecha y la hora. Para sustituir este valor y utilizar el formato XSD, configure el parámetro por lotes de formato de fecha y hora como 'XSD''.
Se puede usar un esquema existente, si cumple los requisitos de salida. En caso contrario, deberá definir un área de datos para indicar el formato de salida de los registros según corresponda.
Hay dos opciones para diseñar y configurar el algoritmo de proceso de registros:
-
Crear un tipo de algoritmo de proceso de registros específico que encapsule la lógica de extracción. El producto incluye un tipo de algoritmo base que ilustra la técnica básica que seguir. Consulte el tipo de algoritmo Proceso general - Extracción de registro de proceso de muestra (F1-GENPROCEX) para obtener más información.
-
Crear un tipo de integración de ficheros que defina qué registros se incluirán en la extracción y configurar un control de lotes basado en plug-in que haga referencia al tipo de integración. Consulte Extracción mediante integración de ficheros para obtener más información sobre la implantación de este tipo de funcionalidad.
Un producto integrable específico puede proporcionar otros tipos de algoritmo de proceso de registros listos para usar. Utilice la consulta de tipo de algoritmo y busque registros para esta entidad de algoritmo.
Agrupación mediante nodo de registro XML
<account type="group"
<accountId>1234567890</accountId>
...
</account>
<sa type="group"
<saId>123457665</saId>
...
</sa>
<sa type="group"
<saId>1234588913</saId>
...
</sa>
<SchemaInstance>
<recordXMLNode>record</recordXMLNode>
<schemaName>CM-AccountRecord</schemaName>
<schemaType>F1DA</schemaType>
<data><account><accountId>1234567890</accountId>...</data>
</SchemaInstance>
<SchemaInstance>
<recordXMLNode>record</recordXMLNode>
<schemaName>CM-SAInfo</schemaName>
<schemaType>F1DA</schemaType>
<data><sa><saId>123457665</saId>... </data>
</SchemaInstance>
<SchemaInstance>
<recordXMLNode>record</recordXMLNode>
<schemaName>CM-SAInfo</schemaName>
<schemaType>F1DA</schemaType>
<data><sa><saId>1234588913</saId>... </data>
</SchemaInstance>
<root>
<record>
<account>
<accountId>1234567890</accountId>
...
</account>
<sa>
<saId>123457665</saId>
...
</sa>
<sa>
<saId>1234588913</saId>
...
</sa>
</record>
<record>
<account>
<accountId>987654320</accountId>
...
</account>
<sa>
...
</sa>
</record>
</root>
Extracción de varios threads
Cuando se extraen datos, es posible que el volumen de datos garantice la ejecución de la tarea de varios threads. En este caso, se genera un fichero independiente con el número de thread en el nombre del fichero. Puede incluir de forma proactiva el número de thread como una variable de sustitución cuando indique el nombre del fichero. Si no lo hace, el sistema añade el número de thread.
Para su comodidad, el sistema soporta la concatenación de los ficheros de extracción generados por los distintos threads al final. El sistema lo hace buscando ficheros cuyos nombres coincidan salvo por el número de thread. De ese modo, el nombre del fichero puede no contener la fecha o la hora si el parámetro de concatenación es verdadero. Respecto a la función de concatenación, deberá tenerse en cuenta lo siguiente:
- El contenido de cada fichero se concatena "tal como está". Si los ficheros individuales tienen información de cabecera, pie o resumen, no hay lógica para consolidar dicha información en el fichero concatenado. Si desea una cabecera, pie o resumen únicos, debe ejecutar el thread de extracción único.
- No se soporta la concatenación si el nombre del fichero indica que se debe utilizar la compresión zip.
- Se conservan los ficheros de threads individuales.
- Tenga en cuenta que si el formato del fichero es XML, los ficheros escritos para los threads individuales se crearán con la extensión ".tmp".
Omisión de registros
Por defecto, el proceso de extracción espera la devolución de uno o más esquemas en cada llamada al plug-in de proceso de registros. Lo ideal sería que, al diseñar cualquier proceso, el algoritmo de selección de registros elija solo aquellos que deben procesarse, de forma que el algoritmo de proceso de registros no tenga que confirmar si el registro debe formar parte o no del procesamiento. Si aun así existe la necesidad de comprobar una condición en el plug-in de proceso de registros y se concluye que no es necesario realizar la extracción de datos para el registro, el algoritmo deberá devolver el parámetro de salida 'is skipped' (omitido) como true (verdadero) para que el programa no escriba una fila vacía.
Debe tenerse en cuenta que el algoritmo de proceso de registros base para los tipos de integración de ficheros (F1-FILEX-PR) definirá el parámetro ‘is skipped’ (omitido) como true (verdadero) si el algoritmo de extracción de registros de integración de ficheros no devuelve datos.
Configuración de un nuevo proceso
Los puntos documentados en el tema que están relacionados con la configuración de un nuevo proceso ad hoc con relación al algoritmo de selección de registros se aplican a los procesos de extracción.
En el caso del algoritmo de proceso de registros, este se encarga de devolver una o más instancias de esquema rellenadas con información que debe escribirse en el fichero. Si el producto integrable no incluye un plug-in adecuado, cree un script de plug-in donde la entidad de algoritmo sea Control de lotes - Registro de proceso. Tenga en cuenta que el plug-in recibe toda la información seleccionada en el SQL definido en el plug-in Seleccionar registros.
Consulte Configuración de un proceso de extracción utilizando el tipo de integración de ficheros para obtener más información sobre el diseño de extracciones utilizando esta configuración.
Si es necesario un nuevo script de procesamiento, defina el algoritmo y el tipo de algoritmo para el script recién creado. Cree un control de lotes duplicando la plantilla base F1-PDBEX. Introduzca los algoritmos creados antes y configure los parámetros según corresponda. Debe tener en cuenta que, si es necesario, podrá configurar parámetros personalizados y ad hoc en el control de lotes. Tanto los valores de parámetros por lotes base como personalizados están disponibles para los parámetros de plug-in de selección y proceso de registros.
