...
- MES
Manufacturing Execution Systems, o simplemente MES, es el término utilizado para designar los sistemas enfocados en la administración de las actividades de producción y que establecen una conexión directa entre la Planificación y el Piso de fábrica. Los sistemas MES generan información precisa y en tiempo real, promoviendo la optimización de todas las etapas de la producción, desde la emisión de una orden hasta el embarque de los productos terminados.
La importancia de estos sistemas proviene de la laguna que usualmente existe entre el ERP (Entreprise Resource Planning) y los softwares específicos de la línea de producción. El MES puede importar datos del ERP e integrarlos con el día a día de la producción, administrando y sincronizando las tareas productivas con el flujo de materiales. Considerando que en la cadena de suministro el mayor valor agregado suele estar en la producción, tiene total sentido invertir en sistemas que optimicen el flujo, control y calidad del material (Fuente: PPI-Multitask).
- Planificación y control de producción
La fusión de los medios de producción (materia prima, mano de obra y equipos) permite la fabricación de productos que surgen de la acción de los sistemas productivos. Los planes que sirven de guía para ejecutar y controlar la producción se comandan por el órgano auxiliar denominado Planificación y control de la producción (PCP), que dicta las normas a la línea de producción, teniendo como objetivo un flujo ordenado y continuo del proceso productivo.
- Piso de fábrica
Permite al usuario planificar, "apuntar" y monitorear las actividades ejecutadas en cada centro de trabajo de la fábrica y máquina, permitiendo una visualización integrada de las operaciones realizadas, en ejecución y por procesarse. Permite la Administración y Monitoreo de los resultados (productividad, eficiencia, atrasos, calidad, utilización, niveles de parada, motivos de desecho, desvío de tiempo real / estándar, etc.) obtenidos. En la utilización integrada al MES, los apuntes se realizarán por el sistema MES.
Sistemas involucrados
- PCP PROTHEUS 11.80.14, 12.1.10 (Etapa I)PROTHEUS
- PCP - SIGASFC PROTHEUS 11.80.17 (Etapa II)PROTHEUS
- PC-FACTORY (PPI MULTITASK)
...
- Parametrización: Permite parametrizar la utilización de la integración, indicando si está ACTIVA. Indica si ocurrirá la generación de los archivos XML de la información que transitará entre los sistemas, también permite definir los filtros que se aplicarán en la información.
- Integradores: Los "adapters" son las funciones responsables por enviar o recibir la información que transita entre los sistemas PCP Protheus y PC-Factory. La integración considera la siguiente información: Producto, local de stock, recurso, máquinas, herramienta, procedimiento, estructura, ubicación, órdenes de producción, saldos en stock, movimientos y transferencias de stock, apunte de producción y apunte de parada y rechazo.
- Asuntos pendientes: Permite administrar los asuntos pendientes de envío del Protheus al PC-Factory, así como verificar el historial y errores del proceso de integración.
- WebService: Permite procesar los apuntes de producción y parada enviados del PC-Factory al Protheus.
- Sincronización: Permite realizar la sincronización de datos entre el Protheus y el PC-Factory. Puede enviar los datos de Productos, Local de stock, Recurso, Máquina, Procedimiento, Estructura, Ubicación, Saldo en stock y Orden de producción.
Log de importación: Permite consultar el proceso de integración de los apuntes de producción y paradas y rechazos enviados del PC-Factory al Protheus.
Âncora |
---|
| PrérequisitosRequisitosPreviosPrérequisitos |
---|
| RequisitosPrevios |
---|
|
Requisitos previos de instalación/implantación/utilización
...
Cuadro de compatibilidad:
Versión Protheus | Versión PC-Factory | Contenido |
---|
PCP PROTHEUS 11.80.14, 12.1.10 |
| Etapa 1 |
PCP PROTHEUS 11.80.18, 12.1.14
| 4.0.1713.2002 | - Timeout con reprocesamiento (incluyendo el ‘reprocesa’);
<BusinessEvent> <Entity>productionappointment</Entity> <Event>upsert</Event> <Identification> <key name="IDPCFactory">9o93049u88557</key> <key name="Reprocess">true</key> </Identification> </BusinessEvent>
|
PCP - PROTHEUS 11.80.17, 12.1.16 | 4.0.1713.2002 | - Etapa 2 - Mensajes de la etapa 2 (asignación de materiales, informe de movimientos, estructura de producto, etc);
- Implementación del SFC.
|
PCP - PROTHEUS 11.80.17, 12.1.16 | 4.0.1714.1002 | - Mensajes del Bloque K (Subproducto, Coproducto, etc).
- Cumplimentación de la tag <Split> en la integración con PCP.
|
PCP - PROTHEUS 11.80.21, 12.1.16 | 4.0.1714.1002 | - Rechaza.
- Reversión de mensajes en bloque;
- Inclusión de tags de desecho en el mensaje ProductionAppointment (dentro de la tag WasteAppointment).
|
PCP - PROTHEUS 12.1.19 |
| - Autenticación.
- Integración con APS.
|
PCP - PROTHEUS 12.1.28 |
| - Se creó el parámetro MV_COPPI, para indicar si se utiliza administrador de mensaje WSDL
|
Âncora |
---|
| ChecklistAdherencia |
---|
| ChecklistAdherencia |
---|
|
...
Situaciones no atendidas o atendidas parcialmente por la Integración:
Situación en el ERP | Situación Integración | Observación |
---|
Apuntes realizados en el ERP que se integrarán al PCF | No atiende | Los apuntes realizados directamente en el ERP no se integran con el TOTVS MES, ya sean de de producción o de parada. |
Finalización de órdenes de forma automática | No atiende | Cuando se finaliza la orden directamente en el ERP, essa información no se integra con el TOTVS MES. |
Informe solamente el apunte de tiempo, sin generar cantidad en el SFC | Atiende | El ERP con el SFC acepta el apunte de producción únicamente de tiempo sin cantidad, lo contrario, no. |
Tiene código de ubicación "blanca" | Atiende parcial | El PCF no acepta ubicación (dirección) blanca (nulo). |
Realizar apunte solamente en el PCP (módulo de Producción) | Atiende | El apunte solamente en el PCP ocurre en el ERP cuando el módulo de SFC está deshabilitado. De lo contrario, todos los apuntes se realizará en el SFC. |
Tiene más de una sucursal que desea integrar con una única instalación del TOTVS MES | No atiende | La integración TOTVS MES, no está preparada para tratar más de una sucursal. En el TOTVS MES, es necesario tener una instancia (banco) para cada nuevo establecimiento. |
Utiliza el concepto de informe repetitivo | No atiende | Órdenes de producción con informe por ítem no se integrarán. Actualmente, el TOTVS MES tiene la función de apunte repetitivo, sin embargo, aún no se evaluaron los conceptos para la integración entre los sistemas. |
Utiliza el consumo back-flush de los componentes al realizar el apunte de la producción | Atiende | Es posible realizar el consumo vía back-flush, bajando de acuerdo con ingeniería o consumo-real. |
Modificación de órdenes en el TOTVS MES | No atiende | Las órdenes modificadas en el TOTVS MES no se actualizarán en el ERP. |
Control de ubicación | No atiende | El control de ubicación en el apunte no se realiza de forma automática. |
Apunte sin operación | No atiende | Apuntes solamente por operación. |
Reversión parcial | No atiende | No es posible realizar reversión parcial de apuntes. |
Âncora |
---|
| InstalaciónActualización |
---|
| InstalaciónActualización |
---|
|
...
- Conexión con el WebService realizada con éxito.
- No fue posible realizar la conexión con el WebService del PC-Factory.
Para los clientes que desean utilizar administrador de conexión WSDL en el envío de mensajes en la Integración TOTVSMES, deben modificarse a TRUE los campos MV_COPPI
Al marcar el campo Genera XML se generarán los XML de los mensajes intercambiados. Si no estuviera marcado se grabará solamente en tablas. La generación de los archivos no es obligatoria. Sirve como una herramienta útil para encontrar problemas y podrá grabarse en el directorio de XML enviados con éxito o XML pendientes.
...
- Registro de motivos de parada SFCA004.
- Registro de motivos de desecho SFCA003.
- Movimientos sueltos de stock. Entrada MATA250. Salida MATA240.
- Transferencia de stock MATA261.
- Apunte de producción MATA681 y SFCA310.
- Apunte de parada MATA682 y SFCA311.
- Rechazo/Apunte de pérdida MATA685.
Aviso |
---|
|
Los clientes que tienen contrato Cloud, deben solicitar que el IP y el Puerto informados en el campo camino del PCPA109 se liberen en la red del Cloud para el envío y recepción de las solicitudes SOAP. Esta liberación debe solicitarse directamente al equipo de Cloud. Si esta liberación no se realiza, al intentar efectuar el envío/devolución de los mensajes, ocasionará un error. |
Control de versión
El grupo TOTVS representado por sus marcas administrará las demandas de evolución de los layouts y otros ajustes, acordando con los solicitantes el plazo de liberación del release.
...
Nota |
---|
|
TOTVS está revisando este modelo de soporte. |
Âncora |
---|
| Transacciones |
---|
| Transacciones |
---|
|
Transacciones/Entes/Mensajes únicos
Las siguientes transacciones se intercambiarán entre TOTVS y PPI-Multitask:
Método | ID | Descripción | Origen | Destino | XSD (versiones pueden variar) | Programas | Tabla |
---|
Archivos | 01 | Producto | Protheus | PC-Factory | Item_3_001.xsd | MATA010 | SB1 |
| 02 | Local de stock | Protheus | PC-Factory | Warehouse_1_001.xsd | AGRA045 | NNR |
| 03 | Máquinas | Protheus | PC-Factory | Machine_1_000.xsd | MATA610 SFCA002 | SH1 CYB |
| 04 | Recursos | Protheus | PC-Factory | Resource_1_000 | MATA620 SFCA006 | SH4 CYH |
| 05 | Estructura | Protheus | PC-Factory | ItemStructure_1_000 | MATA200 | SG1 |
| 06 | Procedimiento | Protheus | PC-Factory | ItemScript_1_000 | MATA632 MATA637 | SG2 |
| 07 | Orden de producción | Protheus | PC-Factory | ProductionOrder_2_004.xsd | MATA650 MATA651 MATA380 MATA381 MATA690 MATA712 PCPA107 SFCA310 | SC2 |
| 08 | Dirección | Protheus | PC-Factory | AddressStock_1_000 | MATA015 | SBE |
| 09 | Stock | Protheus | PC-Factory | ItemStockLevel_1_000 | B2ATUCOMD1 B2ATUCOMD2 B2ATUCOMD3 MATA220 MATA805 | SB2 SB8 SBF |
Procesos | 09 | Motivo de parada | PC-Factory | Protheus | StopReason_1_000 | CFGX016 SFCA004 | SX5 CYN |
| 10 | Motivo de desecho | PC-Factory | Protheus | WasteReason_1_000 | CFGX016 SFCA003 | SX5 CYO |
| 11 | Apunte de producción | PC-Factory | Protheus | ProductionAppointment_2_000 | MATA681 SFCA316 | SH6 SD3 CYV |
| 12 | Apunte de parada | PC-Factory | Protheus | StopReport_1_001 | MATA682 SFCA311 | SH6 CYX |
| 13 | Stock - Request | PC-Factory | Protheus | StockLevel_2_00 |
| SB2 SB8 SBF |
| 14 | Movimientos | PC-Factory | Protheus | MovementsInternal_1_001 | MATA240 MATA250 | SD3 |
| 15 | Transferencia | PC-Factory | Protheus | TransferWarehouse_1_003 | MATA261 | SD3 |
| 16 | Rechazo | PC-Factory | Protheus | Refusal_1_000 | MATA685 | SBC |
Âncora |
---|
| FlujoInformacion |
---|
| FlujoInformacion |
---|
|
Flujo de información
Flujo de información de las transacciones:
- Producto, local de stock y recurso: en el momento de la creación, modificación o borrado de un producto en el programa MATA010, de un local de stock en el programa AGRA045 o de un recurso en los programas MATA610 o SFCA006 o SFCA002 (máquina) y herramientas en el MATA620. Los programas verifican si la integración está activa y si estuviera activa, efectuará el envío del archivo al PC-Factory. Si no ocurriera error, el archivo no presentará ningún mensaje, sin embargo, si ocurriera error se mostrará un mensaje preguntando si desea crear un asunto pendiente de envío en el programa PCPA110. Si optara por generar el asunto pendiente, el proceso se actualizará en el Protheus y la actualización para el PC-Factory debe realizarse por medio del PCPA110.
En la ingeniería también se integran los registros de estructura MATA200 y procedimiento MATA632 o MATA637, y ubicaciones MATA015, siempre y cuando ocurra la creación, modificación o borrado de un registro. - Orden de producción: en el momento de la creación o modificación de una orden de producción, o durante la modificación de la situación de una orden (asignación/carga máquina, requisición, modificación de operaciones o reservas, MRP, creación de splits), el programa verificará si la integración está activa y si estuviera activa, efectuará el envío del archivo al PC-Factory. Si no ocurriera error el archivo no mostrará ningún mensaje. Si ocurriera error, se mostrará* un mensaje y un asunto pendiente de envío podrá crearse en el programa PCPA110. Al final del proceso de las rutinas que procesan múltiples órdenes, como por ejemplo carga máquina, se mostrarán las cantidades de registros que se enviaron al PPI-Multitask y también las que tuvieron asuntos pendientes de envío. Obs.: Algunas rutinas generan asuntos pendientes sin realizar la pregunta debido al número de órdenes procesadas.
Rutinas afectadas por la integración: Mantenimiento de órdenes (MATA650), Rutina para órdenes en firme (MATA651), Mantenimiento de las operaciones (MATA632 o MATA637), Mantenimiento de reservas (MATA380 y MATA381), Carga máquina (MATA690) y MRP (MATA712), Splits de producción (SFCA310). - Programa de gestión de asuntos pendientes PCPA110 - este programa tiene por función administrar los asuntos pendientes/excepciones referentes a la integración que se crean si el mensaje no se envía al PC-Factory, sean estos, asuntos pendientes o error. Permite el reprocesamiento de un mensaje, borrado de un asunto pendiente y la visualización del XML, además de tener filtro por fecha de envío, transacción, tipo de asunto pendiente y rutina generadora. La rutina también permite consultar los mensajes enviados con éxito.
- Programa de sincronización PCPA111 - permite el envío de la información del producto, local de stock, recurso, herramientas, procedimiento, estructura, ubicación, saldo en stock y orden de producción y tiene como objetivo efectuar una actualización de la base de datos del PC Factory. Además de los filtros definidos en el PCPA109, también es posible agregar nuevos filtros para cada tabla..
- Apunte de producción: En el WebService esta rutina tiene por objetivo recibir los apuntes de producción realizados en el PC-Factory. Puede procesar apuntes de producción y parada de recurso. Ejecutará el mismo proceso que las rutinas MATA681 y MATA682. Si el Piso de fábrica estuviera instalado, ejecutará el mismo proceso que la rutina SFCA316 y SFCA311.
El flujo de la integración será el siguiente:
a. El operador efectúa un informe generalmente de acuerdo con su operación en el PC-Factory.
b. En un proceso batch o activado paralelamente en el sistema, ocurre la elaboración del mensaje(XML) de acuerdo con el Schema de mensaje único TOTVS y el envío de este mensaje(XML) al PCP Protheus, que validará el mensaje y encaminará al respectivo adapter de negocio (MATA681/MATA682 o SFCA316/SFCA311) para procesamiento.
c. En caso de errores, este informe quedará con estatus de pendiente para envío dentro del software MES y el usuario podrá tomar acciones en el propio PC Factory (el Protheus no mantendrá trazabilidad de los mensajes recibidos, pero registrará el procesamiento en LOG).
d. En caso de éxito en el informe, se devolverá al PC-Factory el número del registro del informe realizado en el Protheus. Este número puede utilizarse en caso de reversión. - La actualización de saldo en el PC-Factory ocurrirá de las siguientes maneras:
a. Request: el PC-Factory solicita un saldo generando un mensaje XML de request. En este mensaje puede solicitar el saldo por ítem, por local de stock, etc.
b. Actualización Protheus: Si ocurre una actualización de saldo en el Protheus debe enviar un mensaje XML al PC-Factory. Se consideran las principales rutinas del ERP, como Factura de entrada y venta, algunos movimientos internos y la inclusión de saldo vía MATA220 y MATA805. - Movimientos de stock: Si el PC-Factory realiza movimientos de stock y transferencias, estos movimientos se actualizarán en el Protheus.
En caso de movimientos, si fuera E (entrada), debe ejecutar el MATA250. Si fuera S (salida), debe ejecutar MATA240. En casos de transferencia ejecutará el MATA261. - Rechazo/Apunte de pérdida En el WebService esta rutina tiene por objetivo recibir los registros de rechazo realizados en el PC-Factory. Ejecutará el mismo proceso que las rutinas MATA685.
- Consulta de Log de importación PCPA112: Esta rutina consiste en la consulta de los registros de los apuntes procesados por la integración Protheus vs. PC-Factory. La rutina debe mostrar los apuntes efectuados y el estatus de cada proceso.
Âncora |
---|
| PuntodeEntrada |
---|
| PuntodeEntrada |
---|
|
Punto de entrada
Para facilitar el uso de la integración y hacer el uso flexible en cualquier entorno de producción se crearon algunos puntos de entrada para solucionar posibles situaciones específicas no atendidas por el proceso estándar y también permitir configuraciones más precisas en el uso de la integración:
Apunte: El punto de entrada MATI681CRG permite agregar información que se utilizará en el apunte de producción y en el apunte de parada, tabla SH6. Ejemplo: Si existiera algún campo específico o tabla específica no tratada por la integración, puede utilizar esta función para marcar su contenido. Detalles en: MATI681CRG_Agregar_informacion_Adapter_del_apunte.
Apunte: El punto de entrada MT680VAL permite validar si alguna información debe ser obligatoria, como tiempo, cantidad, etc. Estas validaciones quedarán a cargo de los clientes, pues cada uno tendrá su regla. Detalles en: MT680VAL - Inclusión_de_las producciones.
Apunte: El punto de entrada MATI680OPR permite modificar el código de la operación recibida en el apunte de producción. Detalles en: MATI681OPR_Modificar_codigo_operacion_mensaje_apunte_produccion.
Apunte: El punto de entrada MTI681QTAP permite modificar la cantidad recibida en el apunte de la producción. Este punto de entrada está indicado para aplicar el factor de conversión en la cantidad del apunte cuando el ERP y el PC-Factory trabajan con una unidad de medida diferente. Detalles en: MTI681QTAP_Modificar_cantidad_del_apunte_ProductionAppointment.
Apunte: El punto de entrada MATI681EXC permite verificar si el apunte se ejecutará o no. Este punto de entrada está indicado para validaciones que impidan el apunte de producción y parada. También se utiliza en casos en los que es necesario actualizar alguna información antes del apunte (ejemplo: revertir un control de ubicación). Detalles en: MATI681EXC_Procesa_mensaje_apunte.
Orden de producción: El punto de entrada MTI650ADOP permite agregar una nueva operación en el mensaje de órdenes de producción. Para cada operación que se está enviando, este punto de entrada se ejecutará una vez. Detalles en: MTI650ADOP_Agregar_nueva_operacion_adapter_orden_de_produccion.
Orden de producción: El punto de entrada MTI650FCOP permite modificar el factor de conversión de la segunda unidad de medida de la operación que se enviará en el mensaje de órdenes de producción. Detalles en: MTI650FCOP_Modificar_factor_de_conversion_segunda_unidad_de_medida_de_la_operacion_adapter_orden_de_produccion.
Orden de producción: El punto de entrada MTI650QTOP permite modificar la cantidad de la operación que se enviará en el mensaje de órdenes de producción. Detalles en: MTI650QTOP_Modificar_cantidad_de_la_operacion_adapter_orden_de_produccion.
Orden de producción: El punto de entrada MTI650UMOP permite modificar la segunda unidad de medida de la operación que se enviará en l mensaje de órdenes de producción. Detalles en: MTI650UMOP_Modificar_segunda_unidad_de_medida_de_la_operacion_adapter_orden_de_produccion.
Orden de producción: El punto de entrada MTI650TMAC permite modificar el tiempo de máquina (TimeMachine) en el mensaje de ProductionOrder. Detalles en: MTI650TMAC_Modificar_cantidad_del_tiempo_maquina_production_order.
Orden de producción: El punto de entrada MTI650LOTE permite generar el Lote de la orden en la tag LotCode en el mensaje ProductionOrder. Detalles en: MTI650LOTE_Agregar_lote_en_ el_mensaje_de_ordenes_de_produccion.
Registros: El punto de entrada PCPXFUNPPI permite inhibir la integración en determinada rutina. Ejemplo: Si en la creación de órdenes MATA650 no desea que ocurra la integración, puede utilizar esta función para inhibir el uso. Detalles en: PCPXFUNPPI_Rutinas_que_no_realizan_integracion_con_el_PC_Factory.
Registro de ítem: el Punto de entrada PCPADDTAGS permite incluir tags específicas en los mensajes estándar TOTVS. Está habilitado para el registro de ítem MATA010. Detalles en: PCPADDTAGS_Agregar_informacion_XML_integracion_TOTVS_MES.
Registro de procesos: El punto de entrada PCPADDTAGS permite incluir tags específicas en los mensajes estándar TOTVS. Está habilitado para el registro de procedimiento MATA632. Detalles en: PCPADDTAGS_Agregar_informacion_XML_integracion_TOTVS_MES.
Movimientos internos. Los puntos de entrada MATI250CRG y MATI240CRG permiten alguna validación específica. Estas validaciones quedarán a cargo de los clientes, pues cada uno tendrá su regla. No pueden modificarse los valores de los campos que se generaron por el mensaje. Detalles en: MATI240CRG_Agregar_informacion_Adapter_de_movimientos_internos y MATI250CRG_Agregar_informacion_Adapter_de_movimientos_de_produccion.
Transferencias: El punto de entrada MI261RCV permita la no ejecución de la integración. Detalles en: MI261RCV_Ejecutar_integracion_TransferWarehouse.
Rechazo: El punto de entrada MATI685EXC permite verificar si el rechazo se ejecutará o no. Este punto de entrada está indicado para validaciones que impidan el apunte de rechazo o actualizaciones de información necesarias para realizar el rechazo. Detalles en: MATI685EXC_Procesa_mensaje_rechazo.
Âncora |
---|
| EjecutarSucursales |
---|
| EjecutarSucursales |
---|
|
Ejecutar en varias sucursales
...
[WebServices]
PrepareIn=99,01
Âncora |
---|
| ControlLatencia |
---|
| ControlLatencia |
---|
|
Control de latencia
Existen situaciones en las que el tiempo de espera del webservice es inferior al tiempo de procesamiento de las importaciones para el ERP. Puede ocurrir la situación en la que el ERP continúe procesando la importación y el WebService del PC-Factory para de esperar la respuesta. Cuando el PC-Factory no recibe la respuesta a tiempo, el mismo archivo se reenvía, pudiendo generar duplicidad en el procesamiento del mensaje.
...
Informações |
---|
|
- Si un registro queda preso con estatus de "registro en procesamiento", este podrá destrabarse por la rutina PCPA112, incluyendo el IDMES correspondientee.
- El reprocesamiento de un mensaje con ERROR(2) puede realizarse pasando la tag Reprocess = true.
Ejemplo:
<BusinessEvent> <Entity>productionappointment</Entity> <Event>upsert</Event> <Identification> <key name="IDPCFactory">9o93049u88557</key> <key name="Reprocess">true</key> </Identification> </BusinessEvent>
|
Rutinas
...
- Activo: Indica si la integración está activa. Al seleccionar este campo, se habilitan los otros. Si este campo estuviera desmarcado, ninguna otra acción podrá realizarse en la rutina.
- Camino: Indica el camino del WebService y del PC-Factory. Después del camino, habrá la opción probar para verificar si está activo el webservice.
- Habrá un panel XML.
En este panel podrá indicar:
- Genera XML - Al seleccionar este campo, generará los XML de los mensajes intercambiados. Si no estuviera marcado se grabará solamente en tablas. La generación de los archivos no es obligatoria. Sirve como una herramienta útil para encontrar problemas. El envío siempre se realizará con base en lo que estuviera registrado en las tablas.
- Enviados - Directorio donde se grabarán los XML enviados con éxito al PC-Factory
- Asunto pendiente - Directorio donde se grabarán los XML que no se enviaron al PC-Factory
Los nombres de los archivos seguirán este estándar:
OK_<MSJ><FECHAHORA><REGISTRO>
PEND_<MSJ><FECHAHORA><REGISTRO>
ERR_<MSJ><FECHAHORA><REGISTRO>
Donde: OK - Si el mensaje se entrega sin problemas
PEND- Si el mensaje no se hubiera enviado
ERR - Si el mensaje se hubiera enviado, sin embargo devolvió error.
MSJ - Nombre del mensaje. Ej.: Ítem, Wharehouse, Workcenter, etc.
FECHAHORA: Fecha y hora del envío
REGISTRO: Código del registro que se está enviando. Ej.: Código del ítem, número de la orden, etc.
Obs.: Si se selecciona Genera XML, deben informarse los directorios.
Para cada archivo movido habrá una carpeta. Para cada carpeta será posible elaborar filtros. Estos filtros se utilizarán en las rutinas que enviarán información al PC-Factory, permitiendo seleccionar lo que debe enviarse. Se mostrarán los campos de la tabla seleccionada (carpeta) y operadores para que se elaboren los filtros. Además de los filtros, algunos archivos tienen parametrizaciones.
La rutina tendrá las siguientes carpetas:
...
Nota |
---|
|
En el archivo APPSERVER.ini, en la sesión WEBSERVICE, existe la clave INSTANCES que define las instancias del servidor del webservice que van a estar disponibles para el procesamiento de la integración. Si se exceden las threads de procesamiento debe revisarse el número de instances. |
Autenticación
Cuando el usuario y la contraseña estén registrados en el PCPA109 (Parámetros), carpeta Seguridad, estos datos se enviarán en el mensaje para que el PC-Factory efectúe la autenticación.
Estos datos se enviarán en el encabezado del mensaje de la siguiente manera:
Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l
Donde: el valor será usuario:contraseña encriptado en Base64.
La recepción de los mensajes también seguirá el mismo modelo, pero el PC-Factory enviará un usuario del Protheus.
Informações |
---|
|
Para configurar la autenticación en la recepción, el appserver.ini debe tener el campo SECURITY=1, de acuerdo con el ejemplo de configuración del WebService. |
Security = 0 -> No utiliza autenticación.
Security = 1 -> Utiliza autenticación.
Rutinas involucradas
Parametrización - PCPA109
La parametrización influirá directamente sobre los registros que se moverán entre los dos sistemas.
La rutina de parametrización tendrá los siguientes campos:
- Activo: Indica si la integración está activa. Al seleccionar este campo, se habilitan los otros. Si este campo estuviera desmarcado, ninguna otra acción podrá realizarse en la rutina.
- Camino: Indica el camino del WebService y del PC-Factory. Después del camino, habrá la opción probar para verificar si está activo el webservice.
- Habrá un panel XML.
En este panel podrá indicar:
- Genera XML - Al seleccionar este campo, generará los XML de los mensajes intercambiados. Si no estuviera marcado se grabará solamente en tablas. La generación de los archivos no es obligatoria. Sirve como una herramienta útil para encontrar problemas. El envío siempre se realizará con base en lo que estuviera registrado en las tablas.
- Enviados - Directorio donde se grabarán los XML enviados con éxito al PC-Factory
- Asunto pendiente - Directorio donde se grabarán los XML que no se enviaron al PC-Factory
Los nombres de los archivos seguirán este estándar:
OK_<MSJ><FECHAHORA><REGISTRO>
PEND_<MSJ><FECHAHORA><REGISTRO>
ERR_<MSJ><FECHAHORA><REGISTRO>
Donde: OK - Si el mensaje se entrega sin problemas
PEND- Si el mensaje no se hubiera enviado
ERR - Si el mensaje se hubiera enviado, sin embargo devolvió error.
MSJ - Nombre del mensaje. Ej.: Ítem, Wharehouse, Workcenter, etc.
FECHAHORA: Fecha y hora del envío
REGISTRO: Código del registro que se está enviando. Ej.: Código del ítem, número de la orden, etc.
Obs.: Si se selecciona Genera XML, deben informarse los directorios.
Para cada archivo movido habrá una carpeta. Para cada carpeta será posible elaborar filtros. Estos filtros se utilizarán en las rutinas que enviarán información al PC-Factory, permitiendo seleccionar lo que debe enviarse. Se mostrarán los campos de la tabla seleccionada (carpeta) y operadores para que se elaboren los filtros. Además de los filtros, algunos archivos tienen parametrizaciones.
La rutina tendrá las siguientes carpetas:
- Producto
- Local de stock
- Recurso
- Máquina La carpeta máquina solamente se mostrará si el piso de fábrica estuviera en uso.
- Herramienta
- Orden de producción
Panel MRP: Indica cómo el sistema debe comportarse con relación a las órdenes generadas por el MRP. Tendrá las siguientes opciones:
"No integra": Las órdenes generadas por el MRP no se enviarán al PC-Factory por el cálculo del MRP
"Genera asunto pendiente": Las órdenes generadas por el MRP quedarán registradas en los asuntos pendientes de envío
"Integra": Las órdenes generadas por el MRP se enviarán al PC-Factory por el cálculo del MRP.
Panel "Consumo de componentes". Determina cómo será el consumo de los componentes. Este campo puede contener los siguientes valores:
"1" - BackFlush: Siempre realizará la baja de los componentes de acuerdo con lo definido en la ingeniería.
"2" - Consumo Real: Consumirá de acuerdo con la lista de componentes.
Panel "Operaciones": Define si el filtro creado en la carpeta "Procedimientos" debe utilizarse para filtrar las operaciones de la orden de producción.
Panel "Desecho": Define el local de stock/depósito para el ítem desechado cuando el desecho fuera el mismo producto de la orden de producción. Si el depósito - "WharehouseCodeTo" viniera en blanco en el mensaje ProductionAppointment utilice lo que se definió en el parámetro.
- Procedimientos
- Estructura
- Ubicación
- Movimientos y transferencia
Los movimientos de stock, entrada o salida y también las transferencias son archivos recibidos por el Protheus. No necesita de filtros, sin embargo deben crearse algunos parámetros para el procesamiento. Estos son:
Tipo de movimiento de entrada: Utilice el campo SOE.OE_VAR1
Tipo de movimiento de salida: Utilice el campo SOE.OE_VAR2
Tipo de movimiento coproducto: Utilice el campo SOE.OE_VAR3
Estos tipos de movimiento se registran en MATA230 - Saldo stock
Para la carpeta Saldo de stock tendrá la opción de tres filtros. Tabla SB2, SB8 y SBF.
También puede indicar en qué proceso de movimiento debe enviar el saldo al PC-Factory
Donde:
Factura de entrada: SOE.OE_VAR1 (Marcado = 1; Desmarcado = 0 )
Factura de venta: SOE.OE_VAR2 (Marcado = 1; Desmarcado = 0 )
Movimientos internos: SOE.PARINTG (Marcado = 1; Desmarcado = 0 )
Panel "Desecho": Define el local de stock/depósito para el ítem desechado cuando el desecho fuera el mismo producto de la orden de producción. Si el depósito - "WharehouseCodeTo" viniera en blanco en el mensaje ProductionAppointment utilice lo que se definió en el parámetro.
- Procedimientos
- Estructura
- Ubicación
- Movimientos y transferencia
Los movimientos de stock, entrada o salida y también las transferencias son archivos recibidos por el Protheus. No necesita de filtros, sin embargo deben crearse algunos parámetros para el procesamiento. Estos son:
Tipo de movimiento de entrada: Utilice el campo SOE.OE_VAR1
Tipo de movimiento de salida: Utilice el campo SOE.OE_VAR2
Tipo de movimiento coproducto: Utilice el campo SOE.OE_VAR3
Estos tipos de movimiento se registran en MATA230 - Saldo stock
Para la carpeta Saldo de stock tendrá la opción de tres filtros. Tabla SB2, SB8 y SBF.
También puede indicar en qué proceso de movimiento debe enviar el saldo al PC-Factory
Donde:
Factura de entrada: SOE.OE_VAR1 (Marcado = 1; Desmarcado = 0 )
Factura de venta: SOE.OE_VAR2 (Marcado = 1; Desmarcado = 0 )
Movimientos internos: SOE.PARINTG (Marcado = 1; Desmarcado = 0 )
Implantación de saldo: SOE_OE_VAR3(Marcado = 1; Desmarcado = 0 )
Estas opciones son válidas solamente para el envío del Protheus al PC-Factory. Para el request (solicitud del PC-Factory) no tendrá filtros.
Âncora |
---|
| Sincronización - PCPA111 |
---|
| Sincronización - PCPA111 |
---|
|
Sincronización - PCPA111La sincronización es el proceso que se utilizará para completar o actualizar la base del PC-Factory con los datos del Protheus. El funcionamiento se dará de la misma forma que las otras rutinas de integración, enviando un mensaje XML al WebService del PC-Factory, respetando las parametrizaciones definidas en el PCPA109. La única diferencia es que se visualizarán todos los datos de la tabla que se estuviera integrando (respetando los filtros) en lugar de un único registro.
Âncora |
---|
| AsuntosPendientes - PCPA110 |
---|
| AsuntosPendientes - PCPA110 |
---|
|
Asuntos pendientes - PCPA110
Rutina para reenviar los mensajes no enviados al sistema PC-Factory, sean estos asuntos pendientes o error. La rutina también permite consultar los mensajes enviados (LOG de envío).
Puede verificar los asuntos pendientes y log de los mensajes que transitan entre los sistemas:
...
- Reprocesar:
Para cada línea seleccionada debe ejecutar el envío de los mensajes. - Borrar
Debe borrar los registros seleccionados - Grabar XML
Esta opción permite grabar el XML en un directorio local de la máquina que está procesando la rutina de asuntos pendientes. - Actualizar
Rehará la búsqueda de los registros, actualizando los datos en la pantalla
Log de importación - PCPA112
Al recibir datos del PC-Factory, el WebService Protheus graba la información para que puedan consultarse (tabla SOG). ). A continuación se listan los movimientos que generan LOG:
- Apunte de producción
- Apunte de parada
- Motivo de desecho
- Motivo de parada
- Movimientos de stock
- Transferencia
Informações |
---|
|
Esta rutina utiliza las tablas SOG, SOF y SOH para administrar el log de importación. |
Archivos
Mensajes
Archivos
Transacción ítem: Item_3_001.xsd
...
Mensaje | Tag | Descripción | Tabla/Campo: Protheus | Tipo | Tabla/Campo: PC-Factory | Tipo |
BusinessContentType | CompanyId | Código de la empresa |
| CHAR(02) |
|
|
| CompanyInternalId | Empresa+Sucursal | EMPRESA + SG1.G1_FILIAL |
|
|
|
| ItemInternalId | Empresa+Sucursal+código ítem principal | EMPRESA + SG1.G1_FILIAL + SG1.G1_COD |
|
|
|
| ItemCode | Código ítem principal | SG1.G1_COD | CHAR(15) | TBLInWOHD.ProductCode TBLInWOHD.WOCode | CHAR(30) |
| ItemAmount | Cantidad base del ítem principal | SB1.B1_QB | NUM(07) | TBLInWOHD.TotalQTY | DEC(19,4) |
ItemComponentType | |
|
|
|
|
|
| ItemSequence | Secuencia del componente | SG1.G1_TRT | NUM(05) | TBLInBillMat.BillMatExtCode | CHAR(20) |
| ItemComponentCode | Código del ítem del componente | SG1.G1_COMP | CHAR(15) | TBLInBillMat.ProductCode | CHAR(20) |
| ItemComponentInternalId | Internal Id del ítem componente | EMPRESA + SG1.G1_FILIAL + SG1.G1_COMP |
|
|
|
| InitialDate | Fecha de validez inicial | SG1.G1_INI | DATE | TBLInWOHD.DtPlanStart | DATETIME |
| FinalDate | Fecha de validez final | SG1.G1_FIM | DATE | TBLInWOHD.DtPlanEnd | DATETIME |
| IsGhostMaterial | Indica si es fantasma | SB1.B1_FANTASM | BOOLEAN ( FALSE o TRUE) |
|
|
| ItemComponentAmount | Cantidad del ítem componente | SG1.G1_QUANT | DEC(12,6) |
|
|
| LossFactor | Factor de pérdida | SG1.G1_PERDA | DEC(05,2) |
|
|
ListOfScript | |
|
|
|
|
|
| Scriptcode | Código del procedimiento | SGF.GF_ROTEIRO | CHAR(02) | TBLInWOHD.ExtCode | CHAR(20) |
| ScriptAlternative | Alternativo del procedimiento | – |
|
|
|
| ActivityIntenalID | ID Operación | – |
|
|
|
| ActivityCode | Código de la operación | SGF.GF_OPERAC | CHAR(02) | TBLInWodet.Code | CHAR(10) |
| ActivityComponentSequence | Secuencia del componente en la operación | SGF.GF_TRT | NUM(03) |
|
|
Transacción procedimiento - Operaciones del ítem: ItemScript_1_000.xsd
Identificador del mensaje: ItemScript
Versión: 1_000
Módulo Protheus: SIGAPCP
Tipo de envío: Síncrónica
Nota |
---|
|
La tag ItemSequence es obligatoria para el PC-Factory. Para que sea posible la integración de la estructura debe ser obligatorio el uso de la secuencia SG1.G1_TRT. de lo contrario, el PC-Factory devolverá la inconsistencia. La integración de la estructura siempre ocurrirá para la revisión actual de la estructura del producto. La información de la revisión actual de la estructura del producto está disponible en el archivo del producto y/o en el archivo de indicadores del producto, de acuerdo con la parametrización establecida. Se enviará la última revisión válida de la estructura. Verificar controles de revisión por sucursal ( MV_ARQPROD y MV_REVFIL ) cuando la revisión sea manual(MV_REVAUT = F). Cuando la revisión sea automática (MV_REVAUT = T) siempre se enviará la última. |
Transacción procedimiento - Operaciones del ítem: ItemScript_1_000.xsd
Identificador del mensaje: ItemScript
Versión: 1_000
Módulo Protheus: SIGAPCP
Tipo de envío: Síncrónica
Mensaje | Tag | Descripción | Tabla/Campo: Protheus | Tipo | Tabla/Campo: PC-Factory | Tipo |
BusinessContentType | ItemCode | Código del ítem | SG2.G2_PRODUTO | CHAR(15) | TBLInWOHD.ProductCode TBLInWOHD.WOCode | CHAR(20) |
| ItemDescription | Descripción del ítem | SB1.B1_DESC | CHAR(40) |
|
|
| ItemInternalId | Empresa | Sucursal | Ítem | EMPRESA + SG2.G2_FILIAL + SG2.G2_PRODUTO |
|
|
|
| ScriptCode | Código del procedimiento | SG2.G2_CODIGO | CHAR(02) |
|
|
| ScriptDescription | Descripción del |
Mensaje | Tag | Descripción | Tabla/Campo: Protheus | Tipo | Tabla/Campo: PC-Factory | Tipo |
BusinessContentType | ItemCode | Código del ítem | SG2.G2_PRODUTO | CHAR(15) | TBLInWOHD.ProductCode TBLInWOHD.WOCode | CHAR(20) |
| ItemDescription | Descripción del ítem | SB1.B1_DESC | CHAR(40) | | ItemInternalId | Empresa | Sucursal | Ítem | EMPRESA + SG2.G2_FILIAL + SG2.G2_PRODUTO | | ScriptCode | Código del procedimiento | SG2.G2_CODIGO | CHAR(02) | | ScriptDescription | Descripción del procedimiento | – | CHAR(40) |
|
|
| ScriptAlternative | Procedimiento alternativo | – | CHAR(02) |
|
|
ListOfActivity | |
|
|
|
|
|
| ActivityInternalID | ID Operación | SG2.R_E_C_N_O_ | NUM(05) |
|
|
| ActivityCode | Código de la operación | SG2.G2_OPERAC | CHAR(02) | TBLInWodet.Code | CHAR(10) |
| ActivityDescription | Descripción de la operación | SG2.G2_DESCRI | CHAR(60) | TBLInWodet.Name | CHAR(40) |
| MachineCode | Código de la máquina | SG2.G2_RECURSO | CHAR(06) | TBLInWodet.Resource | CHAR(15) |
| ToolCode | Código de la herramienta | SG2.G2_FERRAM | CHAR(06) |
|
|
| ActivityType | Tipo de la operación | 1 = Ejecuta operación; 2 = No ejecuta. | CHAR(01) |
|
|
| WorkCenterCode | Código del centro de trabajo | SG2.G2_CTRAB | CHAR(06) | TBLInWodet.ManagerGrpCode | CHAR(15) |
| WorkCenterInternalId | Id Centro de trabajo | EMPRESA + SG2.G2_FILIAL + SG2.G2_CTRAB |
|
|
|
| UnitItemNumber | Lote estándar | SG2.G2_LOTEPAD | NUM(06) | TBLInWodet. StdSpeed | DEC(28,23) |
| TimeResource | Tiempo de recurso | 0 |
| TBLInWodet. StdSpeed | DEC(28,23) |
| TimeMachine | Tiempo de máquina | SG2.G2_TEMPAD | DEC(05,2) | TBLInWodet. StdSpeed | DEC(28,23) |
| TimeSetup | Tiempo de preparación | SG2.G2_SETUP | DEC(05,2) | TBLInWodet. SetUpTime | INT |
| UnitTimeType | Tipo de unidad de tiempo | 1 = Horas;2=Minutos;3=Segundos;4=Días |
| TBLInWodet. StdSpeedFormat | TINYINT |
| ScriptAlternative | Alternativo | SG2.G2_ROTALT | CHAR(02) |
|
|
| InitialDate | Fecha inicial | SG2.G2_DTINI | DATE | TBLInWodet.DtPlanStart | DATETIME |
| FinalDate | Fecha final | SG2.G2_DTFIM | DATE | TBLInWodet.DtPlanEnd | DATETIME |
| PercentageScrapValue | % Desecho | – |
|
|
|
| PercentageValue | Proporción | – |
|
|
|
| ResourceQuantity | Cantidad del recurso | – |
|
|
|
...
Transacción saldo: ItemStockLevel_1_000.xsd
Identificador del mensaje: ItemStockLevel
Versión: 1_000 Módulo Protheus: Varios
Tipo de envío: Síncrónica
...
Nota |
---|
|
- Las tags no utilizadas por la integración PCP Protheus vs. PC-Factory, incluso constando en los mensajes descritos en el Schema de Mensaje único TOTVS, no se mencionarán en este documento.
- La tag Type (Tipo de la orden) se generará con el valor "1" - Orden interna.
- La tag RequestType (Tipo de la requisición) identifica si la requisición puede realizarse separadamente del informe de producción, de acuerdo con la siguiente regla:
Si el parámetro MV_REQAUT estuviera como 'D' los materiales DIRECTOS se digitarán y los INDIRECTOS se darán de baja automáticamente. Si el parámetro MV_REQAUT estuviera como 'A' el consumo de los materiales se realizará para todos los componentes. Esta tag contendrá los siguientes valores: 1-Directa, 2-Indirecta. - La tag AllocationType (Tipo de asignación) se generará con el valor "3" - Valor absoluto.
- La tag ReportOrderType (Tipo del informe) se generará con el valor "2" Operación.
- La sesión ListOfAllocatedMaterial seguirá algunas reglas para la asignación:
Si el ítem controla la ubicación y no generó la SBC no debe generar los datos de la lista ListOfAllocatedMaterial (verifique solamente si el parámetro MV_LOCALIZ = S). Si el ítem controla rastro y no generó el lote en la SD4, no debe generar los datos de la lista ListOfAllocatedMaterial. Si el ítem no controla ubicación ni lote, debe generar los datos de la lista ListOfAllocatedMaterial con base en la SD4. - Las tags de las operaciones de la orden de la sesión ListOfActivityOrders pueden tener origen diferente de acuerdo con la parametrización o rutinas ejecutadas. Si ejecuta el carga máquina MATA690, se utilizará la tabla SH8. Si el parámetro MV_PCPATOR estuviera como 'S', se utilizará la tabla SHY. Si el parámetro MV_PCPATOR estuviera como 'N', se utilizará la tabla SG2.
- La tag Split de la sesión ListOfActivityOrders se generará si ocurre una división de la operación en varios recursos. Se genera si no utiliza el Piso de fábrica.
- La tag ActivityType (Tipo operación) se generará con el valor "1" - Apunta.
- La tag UnitTimeType (Tipo unidad de tiempo) se generará con el valor "1" - Hora.
- La tag UnitItemNumber se utilizará para registrar el lote estándar de producción de la operación.
- Para el PC-Factory es necesario indicar en qué operación se consumirá el componente. Si no utiliza el concepto de componente vs. operación, debe enlazar los componentes en la última operación.
- La tag TimeMachine (Tiempo máquina) indica el tiempo para realizar la orden de producción.
Utilizando el parámetro MV_PCPATOR el tiempo será SHY.HY_TEMPOM. Si utiliza carga máquina, utilice la diferencia entre SH8.H8_HRINI y SH8.H8_HRFIM. El tiempo puede tener variación de acuerdo con Tipo de operación (si no existe en la SHY): Tipo operación 1 Normal: Aplica el tiempo del lote la cantidad de la orden. Siendo: (SG2.G2_TEMPAD / SG2.G2_LOTEPAD) * SC2.C2_QUANT) / SH1.H1_MAOOBRA. Obs: Si el tiempo y lote fuera cero, considera 1. Tipo operación 2 Fijo y 3 Ilimitada: Independientemente de la cantidad, el tiempo será el mismo. Siendo: SG2.G2_TEMPAD. Si fuera cero envía 1. Tipo de operación 4 Tiempo mínimo: Considera la cantidad múltiple del lote. Ejemplo: Lote = 10 Tiempo = 5. Ctd Orden = 7. Tiene que considerar el tiempo para hacer 10 piezas. Siendo el mismo cálculo del tipo 1 Normal. Otro punto de debe considerarse es que el PC-Factory espera el tiempo en Centesimal. Si el parámetro MV_TPHR fuera diferente de 'C', el tiempo se convertirá a centesimal. - El PC-Factory calcula el tiempo para realizar una unidad de la siguiente forma: ActivityQuantity / Time Machine
- La tag TimeResource (Tiempo de recurso) indica el tiempo para realizar un lote estándar.
- La tag LaborCode (Código mano de obra) se indica por 'MOD' + Centro de costo.
- La sesión ListOfQuotaActivity se genera solamente si el Piso de fábrica estuviera activo.
- La tag StatusActivityType contendrá los siguientes valores: 1=No iniciado;2=Programado;3=Liberado;4=Iniciado;5=Finalizado;6=Suspendido
- El coproducto se enviará al PC-Factory en la ListOfMaterialOrders, tag MaterialQuantity, y en la ListOfAllocatedMaterial, tag AllocationQuantity (si existiera) con cantidad negativa. El PC-Factory debe enviar al Protheus en el mensaje de apunte ProductionAppointment en la SupplyOrder la tag UsedQuantity con cantidad negativa, con lo cual el ERP entenderá que se trata de una entrada de coproducto en el stock.
El tipo de movimiento para coproducto, se registrará en el PCPA109 y debe tener un contenido inferior a 500 por tratarse de una entrada y también debe ser del tipo de DEVOLUCIÓN y el campo Actualiza reserva debe estar como sí (rutina MATA230). - La tag TimeIndMES debe generarse como '3'.
|
Procesos
Transacción Apunte de producción: ProductionAppointment_2_000.xsd
...
Nota |
---|
|
- El apunte estándar para esta integración será MATA681.
- Los campos Máquina, Orden de producción, Operación, Producto y Fecha/Hora Informe son obligatorios.
- Si la Fecha/Hora del reporte fuera inferior a la fecha actual, el sistema utilizará la Fecha/Hora actual, es decir, fecha y hora en la cual el integración se estuviera procesando.
- Si el campo código del depósito viniera incompleta, debe utilizar la ubicación estándar del registro de ítem (SB1.B1_LOCPAD).
- El campo CloseOperation indicará si el apunte es TOTAL o PARCIALL. Si envía true debe ser T=total. Si fuera false se considerará como P=Parcial.
Se utilizará la siguiente regla para finalizar la orden/operación en el Protheus: Finalizar la OPERACIÓN: Obligatoriamente deben informarse las siguientes TAGS: ProductionOrderNumber, ActivityCode, CloseOperation (TRUE si el apunte fuera TOTAL u operación cerrada/finalizada), ReportDateTime. Los otros campos de cantidad (ApprovedQuantity y ScrapQuantity) y fecha/hora inicial/final (StartReportDateTime y EndReportDateTime) pueden generarse sin valor (en blanco). Finalizar la ORDEN: Apunte de cantidad en la última operación con la tag CloseOperation = TRUE. Finalizar la ORDEN: Realice la finalización de la orden sin necesidad de información de apunte en el XML. Considera solamente las tags ProductionOrderNumber y CloseOperation(TRUE). Siendo que, debe verificar si tiene apunte en la última operación. Debe ejecutar el mismo procedimiento de la opción "Finalizar" del MATA681. Debiendo realizar los movimientos y actualización del campo SC.C2_DATRF. - Todo apunte debe enviar un mensaje de devolución, indicando posibles problemas o procesamiento efectuado con éxito. En caso de éxito el número del apunte se envía al Pc-Factory en el mensaje de devolución de la ProductionAppointment y corresponde al RECNO de la SH6. Este mismo número se utilizará si necesita registrar una reversión (IntegrationReport).
- La reversión ocurre si el campo ReversedReport (Reversión del apunte) tuviera el contenido TRUE. Si fuera reversión, obligatoriamente tendrá el número del apunte, campo IntegrationReport. Puede contener una lista de Id(ListOfReversalAppointments) que se revertirán. Puede revertir registros de apuntes de producción y registros de rechazo. Para eso la tag ReversalType indica cuál es el proceso que se ejecutará, siendo, 1 = Producción; 2 = Rechazo
- La reversión puede generarse de dos formas en el archivo: solamente la reversión o reversión + apunte. Solamente reversión: tiene cantidad aprobada y desechado en cero (o sin contenido) y datos del ReversedReport. Reversión + apunte: tiene ReversedReport informado y datos de la orden y cantidad aprobada o desechada superior a cero.
- Se registrará automáticamente el campo SH6.H6_OBSERVA = 'TOTVSMES' para indicar que el registro se generó vía integración TOTVSMES.
- El sistema PC-Factory utiliza el formato de las horas con HH:MM:SS. Para el PCP Protheus se considerará solamente HH:MM. Apunte con tiempos inferiores a 1 minuto se rechazarán.
- La importación respeta los parámetros definidos en las rutinas MATA681 por medio de la función F12 para usuario "admin".
- Como en el PC-factory, la operación puede darse de baja en un momento posterior al apunte y se utilizará la siguiente regla:
Obligatoriamente deben informarse las siguientes TAGS: ProductionOrderNumber: Orden de producción ActivityCode: Operación CloseOperation: True o False. Siendo TRUE si el apunte fuera TOTAL u operación cerrada/finalizada. False si la operación fuera PARCIAL. ReportDateTime: Fecha del apunte. - Los otros campos de cantidad (ApprovedQuantity y ScrapQuantity) y fecha/hora inicial/final (StartReportDateTime y EndReportDateTime) pueden enviarse sin valor (en blanco).
- La integración respetará las reglas i disparadores definidos por los clientes. Ejemplo: La fecha/hora inicial y final en el estándar no son obligatorios, sin embargo el cliente puede definir la obligatoriedad vía diccionario permitiendo que las tags necesiten completarse.
- Si estuviera integrado con el Piso de fábrica SIGASFC, debe grabar las tablas de este sistema. Se utilizará como base el proceso del Apunte Modelo 2, SFCA316.
- El subproducto se trata en ListOfWasteAppointments, tags ScrapProduct y ScrapProductTo. Los movimientos dependen de la parametrización(F12) del MATA685, que indica si consume el producto origen o no. No es obligatorio digitar los productos desechados, desecho generado. En este caso va a registrar solamente los defectos.
Para que el subproducto se genere el parámetro MV_DIGIPER, debe estar marcado como 'S'. - Para el Reaprovechamiento, el Desecho generado debe ser el mismo producto de la orden. En este caso lo que va a cambiar solamente será el depósito, donde existirá un local propio para almacenar el desecho. Esta funcionalidad es para empresas que reaprovechan el producto terminado con defecto (sin generar subproducto) en la composición de otro producto. En este caso el depósito del desecho podrá parametrizarse en el PCPA109. Los movimientos dependen de la parametrización (F12) del MATA685. Si esta parametrización estuviera como 'S' la rutina dará de baja el saldo del producto/local origen y aumentar/generar el saldo del producto/local destino. Si estuviera como 'N' solamente actualizará el saldo del producto/local destino.
|
Âncora |
---|
| Consumo de los componentes |
---|
| Consumo de los componentes |
---|
|
Notas Consumo de los componentes:
- El consumo de los componentes debe respetar la parametrización del PCPA109. En la rutina de parámetros se definirá cómo será el tratamiento del consumo de los componentes:
1 - BackFlush: Siempre realizará la baja de los componentes de acuerdo con lo definido en Ingeniería. No considera la lista de consumo SupplyOrder.
2 - Consumo real: Consumirá de acuerdo a la lista de componentes, SupplyOrder, enviado en el mensaje. - En el consumo de los componentes el proceso debe seguir esta regla, de acuerdo con la parametrización: Si el parámetro MV_REQAUT estuviera como 'D' los materiales DIRECTOS se digitarán y los INDIRETOS se darán de baja automáticamente. Para bajar los Indirectos el tipo de movimiento debe tener el campo "Aprop. Indir" como "S' en la rutina MATA230. Si el parámetro MV_REQAUT estuviera como 'A', el consumo de los materiales se realizará para todos los componentes.
- Si el consumo fuera real, debe considerar el tipo de movimiento del archivo de parámetros PCPA109, carpeta "Movimientos y transferencia". Para salidas utilice el campo OE_VAR2. Si utiliza el Piso de fábrica, debe utilizar los movimientos parametrizados en SIGASFC (MV_SFRQMB).
- Para el apunte, el tipo de movimiento será lo que estuviera en el parámetro MV_TMPAD, para el SIGAPCP y SIGASFC. Si fuera back-flush, utilizará los tipos de movimientos estándar de la rutina.
- En el PC-Factory no se utilizan lote y número de serie al mismo tiempo. La devolución de este contenido será vía tag SupplyOrder - LotCode, que puede ser el Lote o número de serie, de acuerdo con el registro del ítem.
Âncora |
---|
| Piso de fábrica |
---|
| Piso de fábrica |
---|
|
Notas de Piso de fábrica
- Cantidad informada CYV_QTATRP, será la suma de las cantidades aprobadas y desechadas.
- Fecha/Hora inicial y final y código de la Preparación a pesar de ser virtuales, si la máquina exige setup (CYB_LGUSU) debe enviar las tags SetupCode, StartSetupDateTime y EndSetupDateTime.
- Si el documento, tag DocumentCode, esté en blanco se grabará el número de la orden de producción.
- Los campos Fecha de reserva 'CZP_DTMT' debe recibir el contenido de la tabla CYP.CYP_DTMT.
La cantidad reserva 'CZP_QTMT' debe recibir el contenido de la tabla CYP.CYP_QTMT.
El estado 'CZP_TPST' debe recibir el contenido de la tabla CYP.CYP_TPST. - El tiempo unidad operación, CZ0_QTTEUN, debe generarse de acuerdo con la regla de SFCA314.
Notas de desecho
- Registre el motivo de desecho (tags del ListOfWasteAppointments), actualizando datos de la tabla SBC
- Si el motivo de desecho no estuviera registrado, se incluirá en el archivo de motivos tabla SX5.
Donde:
El código del motivo es X5_CHAVE
La tabla del motivo es '44'.
Para el Piso de fábrica debe generar la tabla -CY0 - El motivo de desecho tienen tamaños diferentes en las tablas. Debe validar si el código recibido no supera el tamaño de las columnas en el Protheus.
- Si utiliza el PCP debe valide contra el SX5.X5_CHAVE y SBC.BC_MOTIVO.
Si utiliza el SIGASFC valide contra el CYO.CYO_CDRF, CY0.CY0_CDRF y SBC.BC_MOTIVO.
...
Mensaje | Tag | Descripción | Tabla/Campo | Tipo | Tabla/Campo: PC-Factory | Tipo |
BusinessContentType | CompanyId | Código de la empresa. |
|
|
|
|
| BranchId | Sucursal |
|
|
|
|
| CompanyInternalId | InternalId de la clave completa de la empresa |
|
|
|
|
| InternalId | InternalId del movimiento. |
|
|
|
|
| TypeMovementCode | Código del tipo de movimiento interno | SD3.D3_TM | CHAR(03) |
|
|
| EmissionDate | Fecha de emisión | SD3.D3_EMISSAO | DATE | TBLOutInteg. DtTimeStamp | DATETIME |
| ItemCode | Código del producto | SD3.D3_COD | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) |
| UnitOfMeasureCode | Unidad de medida | SD3.D3_UM | CHAR(02) |
|
|
| Quantity | Cantidad | SD3.D3_QUANT | DEC(12,2) | TBLOutInteg.Qty | DEC(19,4) |
| WarehouseCode | Código del almacén | SD3.D3_LOCAL | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) |
| LotNumber | Lote | SD3.D3_LOTECTL | CHAR(10) | TBLOutInteg.LotCode | CHAR(41) |
| SubLotNumber | Sublote | SD3.D3_NUMLOTE | CHAR(06) |
|
|
| LotExpirationDate | Fecha validez del lote | SD3.D3_DTVALID | DATE | TBLLot.DTDUE | DATETIME |
| Address | Ubicación | SD3.D3_LOCALIZ | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) |
| NumberSeries | NumberSeries | SD3.D3_NUMSERI | CHAR(20) | TBLOutInteg.LotCode | CHAR(41) |
| InputOrOutput | Movimiento de entrada o salida | E=Entrada / S = Salida | CHAR(01) | TBLOutInteg.MovTypeCode | CHAR(05) |
| ReferenceCode | Referencia | – |
|
|
|
| ScriptCode | Procedimiento | SD4.D4_ROTEIRO | CHAR(02) |
|
|
| ActivityCode | Operación | SD4.D4_OPERAC | CHAR(02) | TBLOutInteg.WODetCode | CHAR(15) |
| ProductionOrderNumber | Orden de producción/documento | SD3.D3_OP e SD3.D3_DOC | CHAR(13) | TBLOutInteg.WOCode | CHAR(41) |
| FatherItemCode | Ítem principal | – |
|
|
|
MÓNICA
Nota |
---|
|
- Se registrará que el movimiento tuvo origen vía integración con el Será registrado que a movimentação teve origem via integração com PC-Factory. El O campo SD3.D3_OBSERVA se grabará con el contenido será gravado com o conteúdo "TOTVSMES".
- Si la Se a tag InputOrOutput fuera for E (entrada) debe ejecutar el proceso de la rutina MATA250. Si fuera S (salida) ejecute el proceso de la rutina MATA240. Diferente de E o S, rechazar el mensaje.
- La tag InputOrOutput indica si es entrada o salida. Con base en esta información debe considerar el tipo del movimiento del archivo PCPA109, carpeta "Movimientos y Transferencia". Si fuera Entrada utilice el campo OE_VAR1. Si fuera Salida utilice el campo OE_VAR2.
- No tendrá la opción de reversión. Para realizar un proceso de reversión debe enviar el movimiento contrario, es decir, para revertir una entrada debe enviar un movimiento de salida.
- Para la tag ProductionOrderNumber se validará si el contenido es una orden de producción (SC2), Si fuera OP grabe en el campo SD3.D3_OP, en caso contrario grabe en el campo SD3.D3_DOC.
- Si el piso de fábrica está en uso, la rutina no permitirá realizar el movimiento de entrada manual. Solamente el apunte vía Piso de fábrica.
|
...
- e tag ProductionOrderNumber estiver preenchida deverá executar o processo da rotina MATA250. Será considerado o tipo de movimento de entrada Produção cadastrado no PCPA109, folder "Movimentos e Transferência".
- Se a tag InputOrOutput for E (entrada) e tag ProductionOrderNumber não estiver preenchida deverá executar o processo da rotina MATA240. Será considerado o tipo de movimento de entrada Estoque cadastrado no PCPA109, folder "Movimentos e Transferência".
- Se for S (saída) executar o processo da rotina MATA240. Será considerado o tipo de movimento de Saída cadastrado no PCPA109, folder "Movimentos e Transferência".
- Para realizar um processo de estorno deverá enviar a mensagem com o seguinte formato:
Event: delete Na seção Identification, deve existir uma chave com o nome “Estorno”. O valor da chave, composto pela concatenação dos campos:D3_FILIAL+D3_COD+D3_LOCAL+D3_NUMSEQ. As demais informações do XML, devem estar iguais as informações que foram enviadas na mensagem que originou o movimento. Exemplo do XML: <BusinessEvent> <Entity>movementsinternal</Entity> <Event>delete</Event> <Identification> <key name="IDPCFactory">movementsinternal-0077</key> <key name="Estorno">01MES-PA-ENDER 01 003002</key> </Identification> </BusinessEvent> - Durante o processo do estorno, as mensagens de integração de saldo não serão enviadas para o Totvs MES, pois as movimentações já estão sendo originadas pelo MES.
- Caso o estorno seja referente à uma produção simples (MATA250) e no XML possuir informado a tag Address, também será efetuado o estorno do endereçamento.
- Para a tag ProductionOrderNumber será validado se o conteúdo é uma ordem de produção (SC2), Se for OP gravar no campo SD3.D3_OP, caso contrário gravar no campo SD3.D3_DOC.
- Quando o Chão de Fábrica está em uso a rotina não permitirá realizar o movimento de entrada manual. Somente apontamento via Chão de Fábrica.
|
MONICA
Transacción Transferencias: TransferWarehouse_1_003.xsd
Identificador del mensaje: TransferWarehouse
Versión: 1_003
Módulo Protheus: SIGAPCP
Tipo de envío: Síncrónica
Nota |
---|
|
Este mensaje se generará por el PC-Factory y se enviará al Protheus. |
Mensaje | Tag | Descripción | Tabla/Campo | Tipo | Tabla/Campo: PC-Factory | Tipo |
BusinessContentType | CompanyId | Empresa |
|
|
|
|
| BranchId | Sucursal |
|
|
|
|
| CompanyInternalId | InternalId de la clave completa de la empresa |
|
|
|
|
| InternalId | InternalId de la transferencia |
|
|
|
|
| Number | Número del movimiento | SD3.D3_NUMSEQ | CHAR(06) |
|
|
| RegisterDateTime | Fecha de emisión de la solicitud | SD3.D3_EMISSAO | DATE |
|
|
TransferWarehouseType |
|
|
|
|
|
|
| InternalId | InternalId de la transferencia |
|
|
|
|
| EmissionDate | Fecha de emisión | SD3.D3_EMISSAO | DATE | TBLOutInteg.DtTimeStamp | DATETIME |
| ItemCodeFrom | Ítem/Producto origen | SD3.D3_COD | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) |
| ItemCodeTo | Ítem/Producto destino | SD3.D3_COD | CHAR(15) | TBLMovEv.ProductCode | CHAR(20) |
| UnitOfMeasureFrom | Unidad de medida origen | SD3.D3_UM | CHAR(02) |
|
|
| UnitOfMeasureTo | Unidad de medida destino | SD3.D3_UM | CHAR( |
Identificador del mensaje: TransferWarehouse
Versión: 1_003
Módulo Protheus: SIGAPCP
Tipo de envío: Síncrónica
Nota |
---|
|
Este mensaje se generará por el PC-Factory y se enviará al Protheus. |
Mensaje | Tag | Descripción | Tabla/Campo | Tipo | Tabla/Campo: PC-Factory | Tipo |
BusinessContentType | CompanyId | Empresa | BranchId | Sucursal | CompanyInternalId | InternalId de la clave completa de la empresa | InternalId | InternalId de la transferencia | Number | Número del movimiento | SD3.D3_NUMSEQ | CHAR(06) | RegisterDateTime | Fecha de emisión de la solicitud | SD3.D3_EMISSAO | DATE | TransferWarehouseType | InternalId | InternalId de la transferencia | EmissionDate | Fecha de emisión | SD3.D3_EMISSAO | DATE | TBLOutInteg.DtTimeStamp | DATETIME | ItemCodeFrom | Ítem/Producto origen | SD3.D3_COD | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | ItemCodeTo | Ítem/Producto destino | SD3.D3_COD | CHAR(15) | TBLMovEv.ProductCode | CHAR(20) | UnitOfMeasureFrom | Unidad de medida origen | SD3.D3_UM | CHAR(02) | UnitOfMeasureTo | Unidad de medida destino | SD3.D3_UM | CHAR(02) |
|
|
| Quantity | Cantidad | SD3.D3_QUANT | DEC(12,2) | TBLOutInteg.Qty | DEC(19,4) |
| WarehouseCodeFrom | Código del almacén de origen | SD3.D3_LOCAL | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) |
| WarehouseCodeTo | Código del almacén destino | SD3.D3_LOCAL | CHAR(02) | TBLMovEv.WarehouseCode | CHAR(15) |
| LotNumberFrom | Número del lote de origen | SD3.D3_LOTECTL | CHAR(10) | TBLOutInteg.LotCode | CHAR(41) |
| LotNumberTo | Número del lote de destino | SD3.D3_LOTECTL | CHAR(10) | TBLMovEv.LotCode | CHAR(41) |
| SubLotNumber | Número del sublote | SD3.D3_NUMLOTE | CHAR(06) |
|
|
| LotExpirationDateFrom | Fecha de validez del lote origen | SD3.D3_DTVALID | DATE | TBLLot.DtDue | DATETIME |
| LotExpirationDateTo | Fecha de validez del lote destino | SD3.D3_DTVALID | DATE | TBLLot.DtDue | DATETIME |
| AddressFrom | Ubicación origen | SD3.D3_LOCALIZ | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) |
| AddressTo | Ubicación destino | SD3.D3_LOCALIZ | CHAR(15) | TBLOutInteg.Address2Code | CHAR(15) |
| NumberSeries | Número de serie | SD3.D3_NUMSERI | CHAR(20) | TBLOutInteg.LotCode | CHAR(41) |
...
Este mensaje tendrá las siguientes finalidades:
Âncora |
---|
| Pérdida del producto |
---|
| Pérdida del producto |
---|
|
Pérdida del producto terminado informando producto destino:
...
Ejemplo: OP de 50 unidades, 5 apuntes de 10, Necesidad de ajuste de 45 piezas con defectos y 5 buenas.
En lugar de revertir los 5 apuntes y "apuntar nuevamente" 5 buenas y 45 desechados en la ProductionAppointment podrá enviarse un mensaje de Rechazo de 45 a la OP, informando el motivo del rechazo/defecto y código del producto destino.
Âncora |
---|
| Pérdida de materia |
---|
| Pérdida de materia |
---|
|
Pérdida de materia prima:
El mensaje de rechazo también se utilizará para registrar la pérdida de materia prima durante el proceso productivo. La materia prima puede generar un subproducto o no.
Âncora |
---|
| Pérdida del producto terminado sin informar |
---|
| Pérdida del producto terminado sin informar |
---|
|
Pérdida del producto terminado sin informar el producto destino:
...
Nota |
---|
|
- Se ejecutará la rutina MATA685
- La tag IdReport no será obligatoria. Indica el informe de producción que debe actualizarse (No se utiliza para el Protheus)
- La tag Type, indica si es Desecho o Scrap. 1 = Desecho; 2= Scrap.
|
Limitaciones / Restricciones generales
- Desecho o Scrap. 1 = Desecho; 2= Scrap.
|
Limitaciones / Restricciones generales
La integración no considera la generación de órdenes por el APS, registros vía Fluig (WorkFlow) o rutinas no descritas en este documento. La Build debe ser igual o superior a 7.00.131227A y la fecha 08/09/2014.
MÓNICA
PROTHEUS x APS x TOTVS MES
Ordens geradas pelo APS serão enviadas via Schedule- PCPA114.
A integração do APS x PROTHEUS x TOTVS MES deverá considerar SOMENTE as ordens de produção alteradas e/ou criadas pelo APS e enviadas ao PROTHEUS.
No PCPA109, folder Ordens de Produção, é possível parametrizar se existe a integração com o APS. O Schedule para o envio de ordens geradas irá executar somente se o parâmetro "APS" estiver assinalado e a integração entre PROTHEUS x APS - MV_APS = 'TOTVS'.
Serão enviadas as ordens com origem no APS, tabela SC2, campos C2_OBS = TOTVSMES e C2_IDAPS preenchido. Também valida se existe dados na tabela SHY.
Para o envio deverá ter um controle do que já foi enviado, utilizando a tabela SOJ. Enviar somente ordens que possuam dados na SOJ com o parâmetro de envio para o MES como "N". Após o envio atualizar esse campo para "S" . Quando o APS atualizar uma ordem, deverá setar novamente o OJ_ENVMES para "N" para que o Schedule possa reenviá-la.
Para cadastrar o Schedule deve-se utilizar o SIGACFG - SCHEDULE. Configuração do Schedule em em: Schedule - Como agendar a execução de rotinas
Image Added
MÓNICA
Âncora |
---|
| SituacionesComunes |
---|
| SituacionesComunes |
---|
|
La integración no considera la generación de órdenes por el APS, registros vía Fluig (WorkFlow) o rutinas no descritas en este documento. La Build debe ser igual o superior a 7.00.131227A y la fecha 08/09/2014.
Situaciones comunes
Posibles situaciones problemáticas comunes que pueden ocurrir durante el funcionamiento de la integración y cómo solucionarlos.
1) Cuando se envía un mensaje del PCP Protheus al PC-Factory, pueden ocurrir situaciones en las cuales el WebService no estará totalmente funcional. En estos casos, un mensaje de error genérico aparecerá en la pantalla:
...
Modificar el tiempo de espera del WebService PC-Factory.
4) Si los ítems anteriores estuvieran correctos, intente modificar a True el parámetro MV_COPPI
Âncora |
---|
| ChecklistSoporte |
---|
| ChecklistSoporte |
---|
|
Checklist de soporte de la aplicación
...
- En la rutina de parámetros, PCPA109 verifique si el campo activo está como "1 - ATIVO"
- En la rutina de parámetros, PCPA109 probar la conexión con el WebService de la PPI informado por medio de la opción Probar.
- Configuración de las sesiones WEBSERVICE y PROXY del APPSERVER.INI.
- Realice posibles ajustes en la integración con respecto a la configuración o negocio.
Regrese al Inicio