Configuración Mile para el Módulo Compras

Producto:

Microsiga Protheus®

Versiones:

12.1.25 y posteriores 

Ocurrencia:

Configuración Mile para el Módulo Compras

Entorno:

SIGACOM - Compras

Paso a paso:

    ¿Qué es el MILE?

    El MILE es el acrónimo para Model Integrator Layout Engine. El objetivo de esta herramienta es facilitar la importación/exportación de datos para el sistema por medio del uso de rutinas automáticas (MSExecAuto) y/o rutinas desarrolladas en MVC utilizando archivos en formato texto (TXT).

    Concepto básico de la herramienta

     La idea básica es mapear las informaciones que se importarán o exportarán en el layout . Este layout trabaja en el concepto de canales, se hace la lectura del archivo texto y por medio del Layout se envían los datos para que sean procesados por el adapter.      

    1- ¿Qué es un canal?

    El canal se puede utilizar para definir las informaciones que se están trabajando, por ejemplo, en una importación del pedido de ventas existen informaciones del encabezado y de los ítems, las informaciones que componen el encabezado pueden estar en un canal y las de ítems en otro canal.
    Ejemplo:

    En este ejemplo el canal "01", (al inicio de la línea) puede ser el encabezado y el "02" los ítems.
    El canal es una información que debe constar en el archivo texto y que define una separación o tipificación para los datos que se están trabajando.

    Un layout puede tener uno, varios o ningún canal.

    2- ¿Qué es una unidad de información?

    Dentro de un archivo texto importaremos/exportaremos varias informaciones, pero cada layout se refiere a un contexto (facturas, pedidos, clientes, etc.). Dentro de cada contexto, cada conjunto de informaciones es una unidad de información.
    Por ejemplo, en un archivo de pedidos de venta pueden existir varios pedidos con varios canales, pero vamos a importar/exportar 1 pedido cada vez, en esta idea, cada pedido es una unidad de información. Si vamos a importar clientes, cada uno de los clientes que se importará (independiente de cuantos canales tenga el layout) será una unidad de información y así en adelante.

    3- ¿Qué es un Adapter?

    Adapter es la aplicación responsable por procesar las informaciones que se obtuvieron a partir del archivo texto.

    ¿Qué es un Layout?

    Layout es la configuración que permite, al leer un archivo texto, identificar los datos contenidos en dicho archivo y hacer su relación con las informaciones de los adapters.

    1- Composición del layout

    Un Layout se puede configurar a través de la aplicación de mantenimiento de los Layout (CFGA600) que se encuentra en el módulo de Configuración (SIGACFG) en las opciones Entorno / Aceleradores / MILE / Layout
    A continuación detallamos la composición de un layout.


    2- General

    Contiene datos generales del layout


    Tiene los campos:

    Layout: Código del Layout

    Descripción: Descripción del layout
    Tipo de Adapter: Tipo de Adapter. Vea ítem 1.4 - Qué es un Adapter

    1=MSExecAuto - Tratamiento por rutina automática (MSExecAuto) (la rutina debe tener esta característica)
    2=MVC - Tratamiento por rutina en MVC
    3=Función - Tratamiento por función específica. En este caso los datos serán leídos por la herramienta y pasados para función. Para más detalles vea el ítem 9 - Trabajando con una función específica.


    Adapter: Nombre del Adapter.

    Cuando el tipo de adapter es:
    MSExecAuto:
    Se informa si el nombre de la función de rutina automática (MSExecAuto).
    MVC: Se informa el nombre del FUENTE (.pr?) que contiene el modelo de datos (MODELDEF).
    Función: Se informa el nombre de la función que recibirá los datos leídos


    Tabla principal: Alias de la tabla principal utilizada en la importación. El área corriente se orienta hacia este alias antes de efectuar la importación.
    Orden: Orden de la tabla principal utilizada en la importación. El orden de la tabla principal se orienta hacia esta orden antes de efectuar la importación.
    Versión del Layout: Versión del layout. Campo libre para informar la versión del layout.


    Formateo del archivo

    Contiene datos sobre el formato del archivo texto.

    Tiene los campos:

    Archivo TXT: Formato del archivo texto

    1=Fijo: Datos con ancho fijo
    2=Separador:- Datos utilizan algún separador entre sí

    Separador: Si el formato del archivo texto es por separador, informe el carácter separador utilizado. Los caracteres aceptados son::

    | Pipe
    ; Punto y coma
    , Coma
    / Barra
    - Guión
     Tab Tabulación ( Chr(9) )

    Atención

    Si los datos contienen alguno de los símbolos de los separadores, estos no se importarán correctamente.


    Separador decimal: Tipo de separador de decimales de los datos numéricos.

    1=Punto              Ej. 12345.67

    2=Coma            Ej. 12345,67 


    Atención

    Si el tipo de separador de decimales no estuviera correcto, los datos no se importarán correctamente. Si los datos tuvieran separadores de millares, esto debe ser tratado en el propio Layout utilizando el campo Ejecución.


     Entrada MultiCanal: Informa si el archivo texto tiene varios canales.

    Tratamientos y validaciones

    Contiene los nombres de funciones específicas que se pueden definir para tratamientos puntuales de los datos leídos.

    Detalles en el enlace MILE - Model Integrator Layout Engine


    Adapters de la rutina automática

    Contiene definiciones de características específicas para Adapters que son una rutina automática (MSExecAuto).

    Tiene los campos:


    Tipo MSExecAuto: Si el tipo de Adapter es una rutina automática (MSExecAuto), informe el modelo de la rutina automática. Se compatibilizan 3 modelos:

    1=Modelo 1 (Tabla simple)
    2=Modelo 2 (1 Tabla con encabezado/ítems)
    3=Modelo 3 (2 Tablas diferentes encabezado/ítems)

    Otros modelos no compatibilizan.

    Detalles Opcional: Cuando el adapter es una rutina automática (MSExecAuto), define si los detalles de dicha rutina automática son opcionales. Este campo se debe informar según cada rutina automática, porque algunas aceptan esta característica y otras no.

    Importante

    La operación ejecutada para Adapters de la rutina automática (MSExecAuto) siempre será tan solo INCLUSIÓN.

    Adapters en MVC

    Contiene definiciones de características específicas para Adapters en MVC.

    Tiene los campos:


    Operaciones Importación: Para Adapters en MVC, define las operaciones que se considerarán en la importación.


    Solamente Inclusión: Todos los datos siempre se tratarán como una nueva inclusión.
    Inclusión/Modificación: Se verificará la clave única del modelo y se determinará si el dato es una inclusión o modificación, si la clave no se encuentra, será una inclusión, si se encuentra, será una modificación.

    Método de modificación: Define el método para efectuar las modificaciones.

    Modificación directa: Los datos se modificarán directamente en el modelo.
    Eliminar/Incluir: Se hace la eliminación de datos por medio del Adapter en MVC y luego se hace una nueva inclusión.


    Para configurar Canales, sugerimos leer el enlace MILE - Model Integrator Layout Engine


    Ejemplo del MATA020

    Creamos un ejemplo de aplicación en el MATA020 con los campos estándar del registro de proveedores.


    Archivos modelos:


    TXT de integración:


    Ejemplo layout:

    sa2.xml


    1) Abra el archivo XML del ejemplo del mencionado Layout  por el Módulo de Configuración (Entorno → Aceleradores → Mile → Layouts):



    2) Después importe el archivo TXT en la configuración o dentro del Registro de Proveedores:


    Configuración:

     


    Archivo de proveedores:


    Importante

    Sustituya los códigos del TXT con códigos que existen en la base (código del proveedor, tienda, RCPJ, dirección, entre otros).


    Ejemplo:



    Ejemplo de error de recepción





    En el caso anterior, el RCPJ del proveedor no era un código válido.

    Ejemplo del MATA103

    Creamos un ejemplo de aplicación en el MATA103 con los campos estándar del documento de entrada.

    Archivos modelos:


    TXT de integración:


    Ejemplo layout:

    mata103.xml


    1) Abra el archivo XML del ejemplo del mencionado Layout  por el Módulo de Configuración (Entorno → Aceleradores → Mile → Layouts):



    2) Después importe el archivo TXT en la configuración o dentro del documento de entrada:


    Configuración:

     


    Documento de entrada:


    Importante

    Sustituya los códigos del TXT con códigos que existen en la base (código del proveedor, número del documento, código del producto, centro de costo, entre otros).


    Ejemplo:



    Ejemplo de error de recepción




    Neste caso acima o documento de entrada já havia sido cadastrado e o sistema não permite que haja duplicidade.

    Ejemplo del MATA125

    Creamos un ejemplo de aplicación en el MATA125 con los campos estándar del Contrato de Asociación.

    Archivos modelos:


    TXT de integración:


    Ejemplo layout:

    MATA125.xml


    1) Abra el archivo XML del ejemplo del mencionado Layout  por el Módulo de Configuración (Entorno → Aceleradores → Mile → Layouts):



    2) Después importe el archivo TXT en la configuración o dentro del Contrato de Asociación:


    Configuración:

     


    Contrato de asociación:


    Importante

    Sustituya los códigos del TXT con códigos que existen en la base (número contrato de asociación, código del proveedor, tienda, condición de pago, entre otros).


    Ejemplo:



    Ejemplo de error de recepción




    En el caso anterior, la condición de pago incluida en el TXT de integración no es válida (no consta registro en el Protheus).

    Ejemplo del MATA121

    Creamos un ejemplo de aplicación en el MATA121 con los campos estándar del pedido de compra.

    Archivos modelos:


    TXT de integración:



    Ejemplo layout:


    MATA121.xml


    1) Abra el archivo XML del ejemplo del mencionado Layout  por el Módulo de Configuración (Entorno → Aceleradores → Mile → Layouts):



    2) Después importe el archivo TXT en la configuración:


    Configuración:

     



    Importante

    Sustituya los códigos del TXT con códigos que existen en la base (número del pedido de compra, código del proveedor, tienda, condición de pago, entre otros).


    Ejemplo:



    Ejemplo de error de recepción




    En el caso anterior, la tienda del proveedor incluida en el TXT de integración no es válida (no consta registro con relación al proveedor informado).

    Excepciones de uso del Mile

    Algunas rutinas del sistema que no tienen ExecAuto no están preparadas para el uso de la configuración Mile, ejemplo de esto es la rutina MATA161 - Análisis de cotización.



    Documentación complementaria:

    MILE - Model Integrator Layout Engine

    FAT00295 - Configuración Mile para el Módulo Facturación