Post-procesamiento deMapping
Anveo EDI Connect dispone de un potente sistema de flujo de trabajo EDI integrado. Para los casos estándar, es posible que desee utilizar las Transacciones Comerciales. Si no puede modelar su flujo de trabajo utilizando estos, también existe el concepto de nuestros, llamados, Post-Procesos, que son llamados directamente desde el mapping y pueden modelar cualquier flujo de trabajo de mapping.
Como se ha descrito en la sección Modelización de los flujos de trabajo Mapping, solemos utilizar múltiples mapeos para procesar los datos entrantes o salientes. En las siguientes secciones, describimos las diferentes posibilidades de iniciar otro mapping (o transacción comercial) a partir del actual.
Se define un post-procesamiento en un bucle de tabla en un mapping. Dependiendo del convertidor también puede haber una opción para iniciar un mapping mediante un comando, pero en esta sección asumiremos que tienes un mapping y quieres post-procesar los datos de la tabla.
Tomemos un ejemplo típico: Usted recibe un archivo que contiene varios documentos. El primer mapping analiza el archivo y crea múltiples registros en nuestro EDI Document de la tabla del buffer. La estructura de la línea también se escribe en la EDI Document Line la tabla. Normalmente se quiere procesar cada documento individualmente, por lo que se define el post-procesamiento en la tabla de cabecera del EDI Document. El mapping que procesa la estructura de la cabecera puede obtener las líneas, aplicando un DataItemLink adecuado.
La acción de post-proceso se ejecuta para cada registro que se procesa en el mapping. Para una tabla en modo de escritura, esto significa cada registro que se escribe. Para una tabla en modo lectura se ejecuta para cada registro leído. En las tablas en modo de actualización, cuando se agrupan los datos, normalmente se debe evitar definir un post-proceso, ya que la acción de post-proceso se ejecuta para cada actualización y no para cada registro único. Hemos descrito una manera de manejar esto en la sección Consejos y Trucos.
Definición de una acción de posprocesamiento
En el mapping tiene que encontrar el bucle de tabla correcto y entrar en las propiedades de la EDI Mapping Line. Hay una propiedad llamada Post-Processing. Por favor, utilice el botón AssisEdit, a la derecha del valor, para abrir el editor. Puede crear más de un post-proceso, que puede utilizar, por ejemplo, para enviar un mensaje de confirmación y también procesar los datos en Anveo EDI Connect. Por favor, utilice también en el editor de listas el botón AssisEdit, para definir las propiedades reales del post-procesamiento.
Puede elegir el tipo general de post-procesamiento. Existen las siguientes opciones:
El post-procesamiento debe ejecutar otro mapping con los datos de la tabla actual.
Si selecciona este valor, otras propiedades estarán disponibles.
Marcar el registro actual para que sea procesado por una acción de lote de transacciones comerciales. Se puede utilizar, por ejemplo, en un mapping que toma un documento del sistema y crea el documento del buffer para especificar que el documento del buffer debe ser pasado a la acción del lote. Sólo se puede marcar un registro en una ejecución de mapping como registro de procesamiento por lotes.
Este tipo no tiene propiedades adicionales.
Inicia un nuevo subproceso con el registro actual. Un subproceso requiere una operación comercial activa y se muestra como hijo del actual. Además, el subproceso tiene que utilizar los mismos datos de la tabla que el bucle de la tabla actual. Un subproceso utilizará el interlocutor actual y sólo establecerá el número de referencia a partir de los datos actuales.
Si selecciona este valor, una propiedad estará disponible.
Inicia una nueva transacción comercial con el registro actual. La transacción comercial tiene que utilizar los mismos datos de la tabla que el bucle de la tabla actual. El EDI Communication Partner se determina según lo definido en la clase de operación comercial.
Si selecciona este valor, una propiedad estará disponible.
Esta propiedad sólo está disponible si la propiedad Type está configurada como Start Sub-Process (BT) o Start New Business Transaction. Especifica el EDI Business Transaction Type que debe utilizarse.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. Un código que se almacena en la EDI Processing Queue la tabla y que se puede utilizar para filtrar la tabla.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. Sólo se ejecuta un post-proceso para cada registro de esta línea y grupo. Así, si se definen varios post-procesamientos con el mismo grupo, sólo se ejecuta el primero que tenga éxito.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. El pie de foto es multilingüe. Se muestra en la EDI Processing Queue y si el usuario quiere volver a procesar un documento.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. En esta propiedad se puede especificar el EDI Project del mapping.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. Esta propiedad especifica el EDI Format del mapping.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. Especifica el código del mapping que debe utilizarse.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping y se utiliza Anveo EDI Connect 4.00 o superior. Especifica si el post-procesamiento es parte de la transacción comercial actual. Se puede establecer en False para tener un post-proceso, que no está directamente relacionado con las transacciones comerciales.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. Si establece esta propiedad con el valor True, la acción no se ejecutará automáticamente y requerirá la interacción del usuario. Esto es útil para las pruebas.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping.
Por favor, trate de evitar el uso de post-procesamientos sincrónicos, ya que pueden causar problemas de bloqueo de la tabla y son más difíciles de entender si hay errores.
Si establece el valor de esta propiedad en True, el post-procesamiento se ejecutará en la misma transacción de la base de datos que el mapping actual. Si hay un error en el post-procesamiento se registrará en el mapping actual. También la EDI Processing Queue la tabla se bloqueará durante la ejecución del post-proceso.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. Si establece esta propiedad con el valor True, el post-procesamiento se ejecutará con una prioridad más alta que los que no tienen esta opción establecida. Puede utilizarlo para controlar el orden de ejecución.
Esta propiedad sólo está disponible si la propiedad Type tiene el valor Process Mapping. Puede especificar un periodo de tiempo en el que espera que el post-procesamiento se ejecute con éxito.
Trucos y consejos
Si quiere ejecutar otro mapping y no tiene un bucle de tabla adecuado, puede añadir la tabla del sistema Integer en modo de lectura y filtrar la columna «Número» a uno. Definir el post-procesamiento en esta tabla.
El mapping postproceso no tiene que recuperar el registro de postproceso y puede trabajar también en otras tablas.
Si necesita ejecutar acciones de posprocesamiento en un registro en modo de actualización, donde se agrupan los datos, puede utilizar el siguiente truco para ejecutar el posprocesamiento sólo una vez por registro: Busque un campo no utilizado en la tabla y póngale un valor que no se utilice. Luego, al final del mapping, se puede leer la tabla con un filtro sobre este campo y valor y de esta manera sólo encontrar registros de la ejecución actual del mapping. Defina el post-procesamiento en esta tabla y cambie directamente el valor de vuelta poniendo otra línea de actualización como hija de la línea de lectura. Como todo el mapping se ejecuta en una sola transacción de la base de datos, sólo debe procesar los datos que desee, si no ejecuta este mapping varias veces al mismo tiempo (lo que debe evitar debido al bloqueo de tablas).