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.

Fastpath: consulte el tema Procesos ad hoc. Su información sobre el plug-in de selección de registros y parte de la información sobre el plug-in de proceso de registros se aplican a los procesos de extracción. Este tema se centra en aspectos que son exclusivos de los procesos de extracción.
El proceso proporcionado por el sistema incluye parámetros para configurar la ruta y el nombre del fichero generado. La ruta del fichero soporta la funcionalidad descrita en el tema URI de referencia. El nombre del fichero soporta las variables de sustitución del sistema como, por ejemplo, número de ejecución, número de thread, usuario y fecha/hora. El proceso también soporta la compresión si se utiliza una extensión adecuada. Para obtener más información, consulte la descripción del parámetro de nombre de fichero en el control de lotes.
Nota: consulte Nombre de fichero flexible/Escritura de varios ficheros para obtener más información sobre el soporte para sustituir un valor de negocio en el nombre de fichero.

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

Al configurar un proceso de extracción que deba generar una salida en formato XML, el plug-in de proceso de registros puede devolver varios esquemas con información que forme parte del mismo registro global. Por ejemplo, en la salida se podría incluir información de cuenta y los detalles de acuerdo de servicio relacionados:
<account type="group"
    <accountId>1234567890</accountId>
    ...
</account>
<sa type="group"
    <saId>123457665</saId>
    ...
</sa>
<sa type="group"
    <saId>1234588913</saId>
    ...
</sa>
En tal caso, puede que prefiera encapsular toda la información en una etiqueta XML de agrupación de modo que se reúna toda la información para un registro. El plug-in de proceso de registros puede devolver registros de cabecera o de pie de página que no forman parte de la información de extracción del registro seleccionado; por ello, el proceso por lotes no sabe qué esquemas de los que devuelve el plug-in de proceso de registros van en conjunto de forma lógica. Deberá utilizarse el parámetro de salida 'Nodo XML de registro' de la recopilación del esquema para indicar el nodo XML de salida que se utilizará para recopilar la información conjuntamente. Por ejemplo:
<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>
Todos los esquemas que se devuelvan mediante una única llamada al plug-in de proceso de registros y tengan el mismo nodo XML de registro, se agruparán en la salida escrita dentro de la etiqueta XML, según el siguiente ejemplo:
<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.