Páginas filhas
  • DI_Integración_PCP_Protheus_PPI_Multitask


"Aviso de alerta de riesgo: tome cuidado al utilizar el parámetro de configuración con la clave Security=0, porque esto ocasionará que las integraciones (API) no exijan autenticación, consecuentemente, los datos de su entorno podrán consultarse sin ningún control de autorización."

Integración PCP Protheus vs. PPI-Multitask 

Contexto de negócio

  1. 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).

  2. 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.

  3. 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 
  • PCP - SIGASFC PROTHEUS 
  • PC-FACTORY (PPI MULTITASK)

Objetivo de la integración

El objetivo de la Integración PC Factory (software MES de la empresa PPI Multitask) VS. PROTHEUS es poner a disposición de los clientes TOTVS una nueva opción para control de la producción por medio de la automatización de los procesos, permitiendo la actualización y extracción de información de forma on-line para simplificar el flujo de los clientes. 

Alcance


 
Permite la integración entre el módulo PCP y SIGASFC del Protheus con el MES PC-Factory de la PPI-Multitask, que tiene como objetivo controlar los apuntes de las órdenes de producción. El Protheus tiene como responsabilidad la creación de las órdenes de producción y el PC-Factory, los apuntes.


La integración considera las siguientes rutinas y procesos en la ETAPA 1:


  1. 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.
  2. 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, órdenes de producción, apunte de producción y apunte de parada.
  3. Asuntos pendientes: Permite administrar los asuntos pendientes de envío del PCP Protheus al PC-Factory, así como verificar el historial y errores del proceso de integración.
  4. WebService: Permite procesar los apuntes de producción y parada enviados del PC-Factory al Protheus.
  5. Sincronización: Permite realizar la sincronización de datos entre el PCP Protheus y el PC-Factory. Puede enviar los datos de los Productos, Local de stock, Recurso y Orden de producción.
  6. Log de importación: Permite consultar el proceso de integración de los apuntes de producción y paradas enviados del PC-Factory al Protheus.


La integración considera las siguientes rutinas y procesos en la ETAPA 2:


La etapa 2 considera el consumo de los componentes, movimientos efectuados por el PC-Factory y saldos en stock. También considera el sistema SIGASFC - Piso de fábrica.


  1. 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.
  2. 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.
  3. 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.
  4. WebService: Permite procesar los apuntes de producción y parada enviados del PC-Factory al Protheus.
  5. 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.
  6. 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.

Requisitos previos de instalación/implantación/utilización

Para la versión 12 del Protheus debe aplicarse el paquete de actualizaciones a partir de la versión 12.1.10 en la Etapa I.

También es posible utilizar en la versión 11.80.14 para la Etapa I y 11.80.17 para la Etapa II. Debe ejecutarse la actualización del diccionario con el programa U_UPDPCP34.

La Build debe ser igual o superior a 7.00.131227A y la fecha 08/09/2014.

Dirección de IP y puerto liberado para ejecución del WebService. Estos datos se utilizarán en el archivo APPSERVER.INI en la sesión WEBSERVICE.

Debe actualizar el archivo APPSERVER.INI en la sesión WEBSERVICE.

Para configurar un WebService debe verificarse el siguiente documento de configuración: : http://tdn.totvs.com/pages/viewpage.action?pageId=6064937

Ejemplo:

;CONFIGURACIÓN WEBSERVICE

[HTTP]
enable=1
port=8090

[10.80.62.219:8090]
ENABLE=1
Trace=1
PATH=C:\TOTVS 11\Microsiga\Protheus_Data\web\ws
ENVIRONMENT=mssqlserver
INSTANCENAME=WS
RESPONSEJOB=JOB_WS_9901
DEFAULTPAGE=wsindex.apw

[JOB_WS_9901]

SECURITY=1
TYPE=WEBEX
ENVIRONMENT=mssqlserver
INSTANCES=1,20
SIGAWEB=WS
INSTANCENAME=WS
ONSTART=__WSSTART
ONCONNECT=__WSCONNECT

;FIM CONFIGURACAO WEBSERVICE


Importante:

El nombre del Webservice que se utilizará en el TOTVSMES es el WSPCP. No se utiliza el EAI.

 
También debe actualizarse en el archivo APPSERVER.INI en la sesión PROXY (si existiera proxy configurado)


[PROXY]


Enable=1

Server=proxy-jv.jv01.local

Port=8080

User=XXXXX

Password=*******
 

Nota:

Existe un wizard para facilitar la creación de los webservices Protheus. Verifique en: http://tdn.totvs.com/display/framework/Como+iniciar+um+servidor+de+Webservices+no+Protheus

Cuadro de compatibilidad:


Versión ProtheusVersión PC-FactoryContenido
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.164.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.164.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

Checklist de adherencia al entorno del cliente

El siguiente checklist tiene como objetivo validar si el TOTVS MES está adherente al entorno actual del cliente, considerando que existen situaciones no consideradas en la integración.

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 PCFNo atiendeLos 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áticaNo atiendeCuando 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 SFCAtiendeEl 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 parcialEl PCF no acepta ubicación (dirección) blanca (nulo).
Realizar apunte solamente en el PCP (módulo de Producción)AtiendeEl 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 atiendeLa 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 repetitivoNo 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ónAtiende

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 MESNo atiendeLas órdenes modificadas en el TOTVS MES no se actualizarán en el ERP.
Control de ubicaciónNo atiendeEl control de ubicación en el apunte no se realiza de forma automática.
Apunte sin operaciónNo atiendeApuntes solamente por operación.
Reversión parcialNo atiendeNo es posible realizar reversión parcial de apuntes.

Instalación/Actualización

La integración PCP Protheus vs. PC-Factory PPI-Multitask se activa por medio de los siguientes pasos:

  1. Abra el programa de Parámetros de la integración: PCPA109 (Actualizaciones -> Integración MES-> Parámetros)..
  2. Marque el campo Activo a "1- Activo".
  3. En el campo camino Informe la URL del WebService de la PPI-Multitask.
  4. Verifique la conectividad del WebService por medio de la opción Probar.
  5. Indique si la integración generará físicamente los archivos XML.
  6. Configurare los filtros para cada información que transitará entre los sistemas.
  7. Confirme la activación por medio de la opción CONFIRMA.

La opción Probar verifica si es posible realizar la conexión con el WebService informado en el campo Camino. Esta opción tiene dos devoluciones:

  • 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.

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.


Para cada archivo movido (producto, local de stock, recurso, herramienta, máquina, procedimiento, estructura, ubicación, movimientos, saldos y orden de producción) habrá una carpeta. En cada carpeta será posible elaborar filtros y definir parametrizaciones. 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. Si no hubiera ningún filtro registrado, todo registro incluido, modificado o borrado se enviará al PC-Factory. Para elaborar los filtros el usuario debe conocer el diccionario de datos, pues frecuentemente se utiliza el nombre de las tablas y de los campos.

Ejemplo:

Elaborar un filtro para que solamente se envíen los productos que se clasifiquen como Producto terminado. El filtro será: B1_TIPO = "PA"


El envío de información del PCP Protheus al PC-Factory PPI-Multitask ocurre en las siguientes transacciones:

  • Registro, modificación y borrado de producto MATA010, local de stock AGRA045 y recurso MATA610, SFCA006 y SFCA002.
  • Registro y modificación de órdenes MATA650.
  • Proceso para FIRMAR órdenes MATA651.
  • Mantenimiento de operaciones MATA632 o PCPA124.
  • Mantenimiento de las reservas, MATA380 y MATA381.
  • Registro, modificación y borrado de Operaciones vs. Componentes MATA637.
  • Carga máquina – MATA690.
  • Cálculo del MRP MATA712 (versión 11.8) o PCPA107 (versión 12).
  • Registro, modificación y borrado de estructura, MATA200 y PCPA200.
  • Splits de producción generados por las rutinas que manejan orden y el SFCA310 Apunte Modelo 1 del Piso de fábrica.
  • Registro, modificación y borrado de ubicación MATA015.
  • Registro, modificación y borrado de herramientas MATA620.
  • Actualización de saldos.
    • Fact. de Entrada - Rutinas que ejecutan la función B2ATUCOMD1.
    • Fact. de Venta - Rutinas que ejecutan la función B2ATUCOMD2.
    • Mov. Internos - Rutinas que ejecutan la función B2ATUCOMD3.
    • Inclusión de saldo MATA220 y MATA805.


El envío de información del PC-Factory PPI-Multitask al Protheus ocurre en las siguientes transacciones:

  • 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.


IMPORTANTE:

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.

Todas las evoluciones programadas deben discutirse y aprobarse por las marcas antes de iniciar el desarrollo y solamente se desarrollarán si se encuentran en concordancia con las marcas y alineadas con las directivas definidas por el Comité de integración TOTVS.

Soporte

El soporte a los recursos de integración es de responsabilidad de todas las líneas, de esta manera, los equipos de soporte de los productos RM Conector y Backoffice Protheus están aptos para realizar el primer análisis y si fuera necesario, repasar al equipo más adecuado en cada caso.


Nota:

TOTVS está revisando este modelo de soporte.

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

PCPA200

PCPA120

PCPA135

SG1


06

Procedimiento

Protheus

PC-Factory

 ItemScript_1_000

MATA632
MATA637

PCPA124

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

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, PCPA200, PCPA120, PCPA135), procedimiento (MATA632, MATA637 o PCPA124), 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, MATA637 o PCPA124), 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.

 

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 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.


Apunte: el punto de entrada MATI681INT permite procesar el XML en el PE para validación/grabación personalizada, pudiendo optar  por ejecutar la rutina estándar de apunte de producción o no. Si hubiera ejecución de la rutina estándar y hubiera error, solo se revertirá lo que se realizó en la rutina estándar. El punto de entrada se llama antes del inicio de la transacción de la rutina estándar de apunte de producción. Detalles en: MATI681INT - Permite procesar XML antes del mensaje de apunte de producción


Apunte: el punto de entrada MT681ALXML permite modificar cualquier información del mensaje. Este punto se indica para empresas que tienen productos con controles distintos entre el ERP y el PC-Factory. Por ejemplo, controla Lote en el PC-Factory y no controla en el ERP. El Lote se genera en el XML y se retira vía punto de entrada. Detalles en: MT681ALXML - Modificar información XML ProductionAppointment.

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

Orden de producción: el punto de entrada MTI650UTTP permite modificar el valor enviado en la tag UnitTimeType. Detalles en: MTI650UTTP - Modificar el valor de la tag UnitTimeType del mensaje ProductionOrder.

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

Registro de procesos: el punto de entrada MTI63UTTP permite modificar el valor enviado en la tag UnitTimeType. Detalles en: MTI632UTTP - Modificar el valor de la tag UnitTimeType del mensaje ItemScript.

Registro de máquina: el punto de entrada MTI610UTTP permite modificar el valor enviado en la tag UnitTimeType. Detalles en: MTI610UTTP - Modificar el valor de la tag UnitTimeType del mensaje Machine.

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.

Ejecutar en varias sucursales


En un entorno con varias sucursales es necesario solamente un WEBSERVICE en ejecución. Las TAG que indican la sucursal donde se procesa el apunte son:


<CompanyId>10</CompanyId>


<BranchId>CLSC0001</BranchId>


Si las tags estuvieran en blanco el sistema considera lo que estuviera definido en el APPSERVER.ini en la sesión WEBSERVICE campo PrepareIn.


[WebServices]


PrepareIn=99,01

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.


Solución:


Controlar el ID del PC-Factory para los mensajes recibidos. Todos los mensajes recibidos deben tener este tratamiento:

  • ProductionAppointment
  • StopReport
  • MovementsInternal
  • TransferWarehouse
  • StopReason
  • WasteReason

En los XML se utilizará la TAG  Key name = "IDPCfactory"


<BusinessEvent>


      <Entity>Entity</Entity>


      <Event>upsert</Event>


      <Identification>


        <key name="IDPCFactory">29892829</key>


      </Identification>


</BusinessEvent>


La devolución con error muestra el mensaje con el siguiente estándar:


<ProcessedOn>2017-03-28T09:11:17</ProcessedOn>

   <Status>ERROR</Status>

   <ListOfMessages>

      <Message type="ERROR" code="N">MENSAGEM</Message>

   </ListOfMessages>

</ProcessingInformation>

El XML de devolución debe respetar la siguiente regla:

  • Cuando el ID está procesado y contiene ERROR

              Devuelve el ID PC-Factory en la tag <UUID>
              En la tag Message type="ERROR" code="2", utiliza 2 para indicar error.
              El mensaje será: ID xxxx procesado. Estatus: mensaje de error".

             Ejemplo: <Message type="ERROR" code="2">ID productionappointment-0038 procesado. Estatus: ProductionOrderNumber no registrada en el Protheus.</Message>

  • Cuando el ID se procesó con éxito

              Devuelve el ID PC-Factory en la tag  <UUID>
              En la tag Message type="ERROR" code="3", utiliza 3 para indicar el procesamiento con éxito.
             El mensaje será: ID xxxx procesado. Estatus: ID del Protheus" o  "ID xxxx procesado. Estatus: Reprocesado. ID del Protheus" cuando el PC-Factory envía más de una vez

.             Ejemplo 1:      <Message type="ERROR" code="3">ID productionappointment-0038 procesado. Estatus: 5091</Message>

              Ejemplo 2:      <Message type="ERROR" code="3">ID productionappointment-0038 procesado. Estatus: Reprocessado. 5091</Message>.

  • Cuando el ID está en la base, pero en procesamiento

              Devuelve el ID PC-Factory en la tag  <UUID>
              En la tag Message type="ERROR" code="4", utiliza 4 para indicar que está en procesamiento.
              El mensaje será: ID xxxx se está procesando por el Protheus.

              Ejemplo: <Message type="ERROR" code="4">ID apapapapeaaa se está procesando por el Protheus.</Message>

   

Nota:

La devolución en el proceso de la primera", dentro del tiempo de espera del webservice, será "1" - Procesado por primera vez con ERROR u OK.

Ejemplo:

Con Error:

<ProcessingInformation>

   <ProcessedOn>2017-03-28T09:00:03</ProcessedOn>

   <Status>ERROR</Status>

   <ListOfMessages>

      <Message type="ERROR" code="1">ProductionOrderNumber não cadastrada no protheus.</Message>

   </ListOfMessages>

</ProcessingInformation>


Con Éxito:

<ProcessingInformation>

         <ProcessedOn>2017-03-28T08:57:28</ProcessedOn>

         <Status>OK</Status>

</ProcessingInformation>

<ReturnContent>

         <ListOfInternalId>

            <InternalId>

               <Name>PRODUCTIONAPPOINTMENTINTERNALID</Name>

               <Destination>5090</Destination>

            </InternalId>

         </ListOfInternalId>

</ReturnContent>




 
Situaciones inesperadas que pueden ocurrir: la parada del servicio del Protheus, base de datos fuera del aire, falta de energía, etc. Si ocurriera durante el procesamiento de la integración, el registro del PC-Factory (ID del PC-Factory) puede quedar trabado y el mensaje no sale de la fila de procesamiento. Para tratar esta situación:


El PC-Factory intenta enviar por determinado tiempo, parametrizado en el PC-Factory. Si continua recibiendo el mismo mensaje después del tiempo parametrizado, el PC-Factory genera un asunto pendiente de envío y pasa al próximo registro. Al pasar al próximo registro, se genera un contador de mensajes no enviadas. Cuando este contador alcanza un límite (parametrizado), el proceso de integración se paraliza para que los usuarios puedan resolver el problema. El control de procesamiento quedará registrado en tabla de LOG SOH.


A continuación se muestra la tabla de los códigos enviados:


CodeMessageTabla de control - SOH.OH_STATUS
1Processado en el primer intento con ERRO u OK1 o 2
2Registro procesado con devolución de error2
3Registro procesado con éxito1
4Registro en procesamiento0

Importante:

  • 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>

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.

Importante:

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.

          "3" - Consumo Real/Act Reserva: consumirá de acuerdo con la lista de componentes y no existiera saldo suficiente de la cantidad               reservada se ajustará automáticamente la cantidad reservada.  


           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.

           Panel "APS": define si la integración considera órdenes generadas por el APS. 

  • 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 Producción: 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

          Tipo de movimiento de entrada Stock: utilice el campo SOE.OE_VAR4

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.

  • Seguridad
    Se utiliza para realizar el control de autenticación en el cambio de mensaje entre los sistemas. Permite informar usuario y contraseña que deben ser válidos en el PC-Factory, es decir, informar el usuario y contraseña registrados en el PC-Factory.

Image Added




 Sincronización - PCPA111

La 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.
 

 


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:

  • Archivo de estructuras
  • Producto/Ítem
  • Local de stock (depósitos)
  • Recurso PCP
  • Órdenes de producción (Operaciones, Procedimientos, Componentes, Splits) 
  • Recursos del piso de fábrica - Herramientas, Equipo y Operador
  • Herramientas
  • Máquinas del Piso de fábrica
  • Procedimiento - Operaciones
  • Ubicaciones
  • Saldo 

Tiene las siguientes opciones: 

  • 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

 



Importante:

Esta rutina utiliza las tablas SOG, SOF y SOH para administrar el log de importación.


Mensajes


Archivos

Transacción ítem: Item_3_001.xsd

Identificador del mensaje: Ítem

Versión: 3_001

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

CompanyId 

Código de la empresa conectada
 


CHAR(02)



 

BranchId 

Código sucursal

 SB1.B1_FILIAL

CHAR(02)

TBLInProduct.PlantCode

CHAR(15)

 

CompanyInternalId

Empresa+Sucursal

 EMPRESA + SB1.B1_FILIAL




 

Code 

Código del producto

SB1.B1_COD

CHAR(15)

 TBLInProduct.Code

CHAR(20)

 

Name 

Descripción del producto

SB1.B1_DESC

CHAR(30)

TBLInProduct.Name

CHAR(70)

 

InternalId

Empresa+sucursal+código del producto

EMPRESA + SB1.B1_FILIAL + SB1.B1_COD




 

ShortName 

Nombre corto

SB1.B1_DESC

CHAR(30)

TBLInProduct.SecondName

CHAR(30)

 

Active 

¿Ítem activo?

SB1.B1_ATIVO

CHAR(01)

TBLInProduct.FlgEnable

SMALLINT

 

UnitOfMeasureCode 

Unidad de medida

SB1.B1_UM

CHAR(02)

TBLInProduct.Unit1code

CHAR(05)

 

UnitOfMeasureInternalId

Empresa+sucursal+unidad de medida

EMPRESA + SB1.B1_FILIAL + SB1.B1_UM




 

StockGroupCode

Grupo de stock

SB1.B1_GRUPO

CHAR(04)



 

StockGroupInternalId

Empresa+sucursal+grupo de stock

EMPRESA + SB1.B1_FILIAL + SB1.B1_GRUPO




 

StockGroupDescription

Descripción del grupo stock

SBM.BM_DESC

CHAR(30)



 

StandardWarehouseCode

Local de stock

SB1.B1_LOCPAD

CHAR(02)



 

StandardWarehouseInternalId

Empresa+sucursal+local de stock

EMPRESA + SB1.B1_FILIAL + SB1.B1_LOCPAD




 

StandardWarehouseDescription

Descripción local de stock

NNR.NNR_DESCRI

CHAR(40)



 

EconomicLot 

Lote económico

SB1.B1_LE

DEC(12,2)



 

MinimumLot 

Lote mínimo

SB1.B1_LM

DEC(12,2)



 

FamilyCode 

Familia

SB1.B1_FPCOD

CHAR(10)

TBLInProduct.FamilyProductCode

CHAR(15)

 

FamilyInternalId

Empresa+sucursal+familia

EMPRESA + SB1.B1_FILIAL + SB1.B1_FPCOD




 

FamilyDescription 

Descripción de la familia

SYC.YC_NOME

CHAR(40)

TBLInProduct.FamilyProductName

CHAR(30)

 

NetWeight

Peso del ítem

SB1.B1_PESO

DEC(11,4)



 

GrossWeigh

Peso bruto

SB1.B1_PESBRU

DEC(11,4)



 

Trail

Rastro

SB1.B1_RASTRO

CHAR(01)



 

BinControl

Control de ubicación

SB1.B1_LOCALIZ

CHAR(01)



 

SecondUnitOfMeasureCode

Segunda unidad de medida

SB1.B1_SEGUM

CHAR(02)

TBLInProduct.Unit2Code

CHAR(20)

 

SecondUnitOfMeasureInternalId

Empresa+sucursal+ seg. unidad de medida

EMPRESA + SB1.B1_FILIAL + SB1.B1_SEGUM




 

MultiplicationFactorValue 

Factor de conversión

SB1.B1_CONV

DEC(5,2)

TBLInProduct.Unit2Factor

DEC(8,4)

 

ProductType

Tipo del ítem

SB1.B1_TIPO

CHAR(02)

TBLInProduct.ProductTypeCode

CHAR(15)

 

PackingQuantity 

Cantidad de embalaje

SB1.B1_QE

NUM(09)

TBLInProduct.QtyPackage

DEC(19,4)

 

CostCenterCode

Centro de costo

SB1.B1_CC

CHAR(09)

TBLInProduct.CostCenterCode

CHAR(20)

 

StockControlType

Control del stock del ítem


CHAR(01)



Nota:

  • Si fuera un tipo que no está definido, se grabará como GENÉRICO. Ejemplo: Tipo = MUESTRA.
  • La tag StockControlType puede ser, 1=Serial;2=Nº de serie;3=Lote;4=Referencia. Si el campo B1_RASTRO fuera S=Sublote o L=Lote debe grabar como '3'. Si el campo B1_LOCALIZ fuera S=Sí, debe grabar como 2. El producto puede controlar lote y serie al mismo tiempo, registrándose en las tags TRIAL y BINCONTROL.


Transacción depósito: Warehouse_1_001.xsd

Identificador del mensaje: Warehouse

Versión: 1_001

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

CompanyId

Código de la empresa


CHAR(02)

TBLInWarehouse.Extcode

CHAR(20)

 

BranchId

Código de la sucursal

NNR.NNR_FILIAL

CHAR(02)

TBLInWarehouse.PlantCode

CHAR(15)

 

CompanyInternalId

Empresa+Sucursal

EMPRESA + NNR.NNR_FILIAL




 

Code

Código del local de almacenamiento(almacén/depósito)

NNR.NNR_CODIGO

CHAR(02)

TBLInWarehouse.Code

CHAR(15)

 

InternalId

Empresa+Sucursal+código local

EMPRESA + NNR.NNR_FILIAL +
NNR.NNR_CODIGO




 

Description

Descripción del local de almacenamiento (almacén/depósito)

NNR.NNR_DESCRI

CHAR(20)

TBLInWarehouse.Name

CHAR(15)

 

Active

¿Local de stock activo?

TRUE

CHAR(01)

TBLInWarehouse.FlgEnable

SMALLINT

 

Type

Tipo del local de almacenamiento

NNR.NNR_TIPO

CHAR(01)



 

WarehouseClassification

Clasificación

NNR.NNR_INTP

CHAR(01)



 
Transacción recurso PCP / Máquina SFC: Machine_1_000.xsd

Identificador del mensaje: Machine

Versión: 1_000

Módulo Protheus: SIGAPCP, SIGASFC

Tipo de envío: Síncrónica

Mensaje

Tag

Descripción

Tabla/Campo:
Protheus PCP

Tabla Campo:
Protheus SFC

Tipo

Tabla/Campo: PC-Factory

Tipo

BusinessContentType








 

Code

Código Máquina

SH1.H1_CODIGO

CYB.CYB_CDMQ

CHAR(20)

TBLInResource.code

CHAR(15)

 

Description

Descripción de máquina

SH1.H1DESCRI

CYB.CYB_DSMQ

CHAR(40)

TBLInResource.Name
TBLInResource.Nickname

CHAR(20)

 

WorkCenterCode

Código centro de trabajo

SH1.H1_CTRAB

CYB.CYB_CDCETR

CHAR(10)

TBLInResource.ManagerGrpCode

CHAR(15)

 

WorkCenterDescription

Descripción del centro de trabajo

SHB.HB_NOME

CYB.CYB_DSCETR

CHAR(40)

TBLInResource.WorkCenterDescription

CHAR(15)

 

CostCenterCode

Código del centro de costo

SH1.H1_CCUST

CYB.CYB_CDCECS

CHAR(20)



 

ProcessorType

¿Tipo de procesamiento?


CYB.CYB_TPPC
1=Monoproceso;2=Por lote
3=Múltiples procesos;4=Manual

CHAR(01)



 

LaborType

Tipo MOD


CYB.CYB_TPMOD
1=No informa;2=Operador;3=Equipo

CHAR(01)



 

VolumeMachineQuantity

Cantidad volumen máquina


CYB.CYB_QTVMMQ

DEC(12,4)



 

EfficiencyMachineValue

Eficiencia máquina


CYB.CYB_VLEFMQ

DEC(05,2)



 

OperatorMachineQuantity

Cantidad operador máquina


CYB.CYB_QTOEMQ

NUM(02)



 

SimultaneousActivityQuantity

Cantidad operaciones simultáneas


CYB.CYB_QTATSM

NUM(03)



 

IsSetup

Tiene preparación


CYB.CYB_LGSU

BOOLEAN



 

IsOverlapReport

Sobrescribe apunte


CYB.CYB_LGOVRP

BOOLEAN



 

ProductionAreaCode

Área de producción


CYB.CYB_CDARPO

CHAR(10)



 

InitialValidateDate

Fecha inicial de validez


CYB.CYB_DTBGVD

DATE



 

FinalValidateDate

Fecha final de validez


CYB.CYB_DTEDVD

DATE



ListOfResources








 

 ResourceType

Tipo de recurso


CYC.CYC_TPRC
1=Operador;2=Herramienta.
3=Equipo;4=Equipamiento

CHAR(01)



 

ResourceCode

Código recurso


CYC.CYC_CDRC

CHAR(20)

TBLInUser.Code

CHAR(30)

 

ResourceName

Nombre de recurso


CYC.CYC_NMRC

CHAR(40)

 TBLInUser.Name
 TBLInUser.Nickname

CHAR(60)

 

UnitTimeType

Tipo de medida de tiempo


CYC.CYC_TPUNTE
1=Horas;2=Minutos;3=Segundos

CHAR(01)



 

StartExpirationDate

Fecha inicial de validez


CYC.CYC_DTBGVD

DATE



 

EndExpirationDate

Fecha final de validez


CYC.CYC_DTEDVD

DATE



 

CycleQuantity

Número de ciclos


CYC.CYC_QTCI

DEC(11,4)



 

IsTimeActivity

Determina tiempo


CYC.CYC_LGTEAT

BOOLEAN



ListOfProductionShifts

 







 

ProductionShiftCode

Código modelo de turno


CYL.CYL_CDTN

CHAR(08)



 

ProductionShiftDescription

Descripción de modelo de turno


CYL.CYL_DSTN

CHAR(40)



 

BeginDate

Fecha inicial de validez


CYL.CYL_DTVDBG

DATE



 

EndDate

Fecha final de validez


CYL.CYL_DTVDED

DATE



En el PCP las máquinas se registran en la rutina de recursos MATA610 y en el Piso de fábrica la rutina es SFCA002. La nomenclatura también está modificada. Al utilizar Piso de fábrica, se denominará MÁQUINA. Al utilizar solamente el PCP, será RECURSO. La rutina de parámetros PCPA109 está preparada para mostrar el nombre de acuerdo con el uso del sistema.
 
Transacción recurso SFC: Resource_1_000

Identificador del mensaje: Resource

Versión: 1_000

Módulo Protheus: SIGASFC

Tipo de envío: Síncrónica

Mensaje

Tag

Descripción

Tabla/Campo:
Protheus PCP

Tabla Campo:
Protheus SFC

Tipo

Tabla/Campo: PC-Factory

Tipo

BusinessContentType








 

Code

Código del recurso

SH4.H4_CODIGO

CYH.CYH_CDRC

CHAR(06)

TBLTooling.Code

CHAR(15)

 

Name

Nombre del recurso

SH4.H4_DESCRI

CYH.CYH_NMRC

CHAR(40)

TBLTooling.Name

CHAR(50)

 

Type

Tipo de recurso

1=Operador;2=Herramienta.
3=Equipo;4=Equipamiento.
 

CYH.CYH_TPRC
 1=Operador;2=Herramienta.
3=Equipo;4=Equipamiento

CHAR(25)



 

ProductionAreaCode

Área de producción


CYH.CYH_CDARPO

CHAR(10)



 

ProductionAreaDescription

Descripción del área de producción


CYA.CYA_DSARPO

CHAR(40)



 ItemComponentType

 







 

ProductionShiftNumber

Turno

SH4.H4_TURNO

CYH.CYH_NRTN

CHAR(05)



 

LaborCode

MOB

Fijo '1'

CYH.CYH_CDMOD

CHAR(08)



 

StartExpirationDate

Fecha de validez inicial

Fecha actual

CYH.CYH_DTVDBG

DATE

TBLTooling.Period

INT

 

EndExpirationDate

Fecha de validez final


CYH.CYH_DTVDED

DATE

TBLTooling.Period

INT

 

UnitCycleQuantity

Unidades de ciclos


CYH.CYH_QTUNCI

NUM(07)



 

ToolCode

Herramienta


CYH.CYH_CDMPRC

CHAR(15)



 

ToolDescription

Descripción de herramienta


CYH.CYH_DSMPRC

CHAR(40)



Nota:

  • El recurso en el PCP indica la máquina, en el Piso de fábrica indica herramientas, operador, etc.
  • Si el origen fuera del PCP la tag Type (Tipo Recurso) se generará con el valor fijo '2'.
  • Si el origen fuera del PCP la tag UnitCycleQuantity (Unidades Ciclos) se generará con el valor fijo '1'.
  • Si el origen fuera del PCP la tag UnitCycleQuantity (Unidades Ciclos) se generará con el valor fijo '1'.
  • Si el origen fuera del PCP, la tag StartExpirationDate (Validez inicial) se generará con la fecha de generación del mensaje.
  • Si el origen fuera del PCP la tag EndExpirationDate (Validez final) se generará con el siguiente cálculo: Fecha actual (dDataBase) + vida útil de la herramienta (H4_VIDAUTI). Considere el tipo de vida útil (H4_TIPOVID) - D=Días;H=Horas;M=Mes;A=Año.


Transacción estructura: ItemStructure_1_000.xsd

Identificador del mensaje: ItemStructure

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

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)



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 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




Nota:

  • La tag ActivityType (Tipo operación) se generará con el valor fijo '1'.
  • La tag UnitTimeType (Tipo unidad tiempo) se generará con el valor fijo '1'.
  • Es obligatorio informar las tags InitialDate y FinalDate registradas en el MATA632 o PCPA124.
  • La tag ListOfPertOrders no se generará para el Protheus.
  • En el borrado de un procedimiento, no debe borrar si existiera integridad con la rutina de OPERACIONES vs. COMPONENTES, MATA637. En este caso no necesita enviar ningún mensaje al PC-Factory.
  • Al incluir, modificar o borrar datos del MATA637, debe reenviar el mensaje de estructura, ItemStructure.


Transacción ubicaciones: AdressStock_1_000.xsd

Identificador del mensaje: AdressStock

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

WarehouseCode

Almacén/Depósito

SBE.BE_LOCAL

CHAR(02)

TBLInAddress.WarehouseCode

CHAR(15)

 

LocationCode

Ubicación/Localización

SBE.BE_LOCALIZ

CHAR(15)

TBLInAddress.Code

CHAR(15)

 

AdressInternalId

Clave completa de ubicación

 EMPRESA + SBE.BE_FILIAL + SBE.BE_LOCAL + SBE.BE_LOCALIZ




 

AdressStockDescription

Descripción de la ubicación

SBE.BE_DESCRIC

CHAR(30)

TBLInAddress.ExtCode

CHAR(20)

 
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
 

Mensaje

Tag

Descripción

Tabla/Campo: Protheus

Tipo

Tabla/Campo: PC-Factory

Tipo

BusinessContentType

ItemCode

Código del producto

SB2.B2_COD

CHAR(15)

TBLInMovMat.ProductCode

CHAR(20)

 

ItemDescription

Descripción del ítem

SB1.B1_DESC

CHAR(30)



ListOfStock

 






 

ReferenceCode

Referencia




 

WarehouseCode

Depósito/Local de almacenamiento/Almacén

SB2.B2_LOCAL

CHAR(02)

TBLInMovMat.WarehouseCode

CHAR(15)

 

LotCode

Número del lote

SB8.B8_LOTECTL

CHAR(10)

TBLInMovMat.LotCode

CHAR(41)

 

SubLotCode

Sublote

SB8.B8_NUMLOTE

CHAR(06)



 

NumberSeries

Número de serie

SBF.BF_NUMSERI

CHAR(20)



 

AddressCode

Ubicación/Localización

SBF.BF_LOCALIZ

CHAR(15)

TBLInMovMat.AddressCode

CHAR(15)

 

LotDueDate

Fecha de validez

SB8.B8_DTVALID

DATE

TBLInMovMat.LotDtValidity

DATETIME

 

CurrentStockAmount

Saldo de stock

SB2.B2_QATU
SB8.B8_SALDO
SBF.BF_QUANT

DEC(12,2)



 

BookedStockAmount

Cantidad reservada

SB2.B2_RESERVA
SB8.B8_EMPENHO
SBF.BF_EMPENHO

DEC(12,2)



 

AvailableStockAmount

Saldo disponible

SB2.B2_QATU - SB2.B2_RESERVA
SB8.B8_SALDO - SB8.B8_EMPENHO
SBF.BF_QUANT - SBF.BF_EMPENHO

DEC(12,2)



 

QuantityUpdated

Cantidad actualizada


DEC(12,2)

TBLInMovMat.Qty

DEC(18,2)

 

InputOutput

Entrada o Salida

1 = Entrada o 2 = Salida

CHAR(01)

TBLInMovMat.Classification

CHAR(15)

Nota:

  • Al actualizar un saldo nuevo en el ERP, debe enviar el mensaje al PC-Factory.
    Transacciones que generan movimiento de stock y ejecutan rutinas de actualización de saldo deben activar la integración:
    Fact de Entrada - Función B2ATUCOMD1
    Fact de Venta - Función B2ATUCOMD2
    Mov. Internos - Función B2ATUCOMD3
  • Si el saldo se actualiza por una actualización del PC-Factory no debe generar mensaje de actualización de saldo. Si el origen de la modificación del saldo fuera TOTVSMES no se generará el mensaje.
    En el mensaje de apunte de producción la tag "Product name" indica quién está enviando el registro. En el caso del TOTVS MES, esta información se graba en la SH6.H6_OBSERVA = 'TOTVSMES'.
    Si fuera movimiento interno se registra en SD3.D3_OBSERVA = 'TOTVSMES'.
    Si el movimiento interno se registra en la SD3.D3_OBSERVA = 'TOTVSMES'.
  • El campo QuantityUpdated corresponde a la cantidad actualizada, es decir, la cantidad que se está moviendo
  • El campo InputOutput indica si el movimiento es una entrada o salida o modificación de lote/fecha de validez.  
  • Para la tag InputOutput igual a '3' la integracón se realizará por el MATA390 cuando el ítem esté configurado con el control de lote (B1_RASTRO). No se considera en la integración del MATA390 cuando el ítem tiene el control de lote (B1_RASTRO) y la ubicación (B1_LOCALIZ) simultáneamente.
  • Si el ítem controla el control de ubicación (B1_LOCALIZ), el mensaje de saldo debe generarse solamente en la confirmación del MATA265, rutina que hace efectivo el control de ubicación.
  • Las rutinas de saldo inicial del PCP y Stock, MATA220 y MATA805 también generan el mensaje de saldo.


Transacción Motivo de desecho: WasteReason_1_000.xsd

Identificador del mensaje: WasteReason

Versión: 1_000

Módulo Protheus: SIGAPCP/SIGASFC

Tipo de envío: Síncrónica
 

Mensaje

Tag

Descripción

Tabla/Campo:
Protheus PCP

Tabla Campo:
Protheus SFC

Tipo

Tabla/Campo: PC-Factory

Tipo

BusinessContentType

Code

Código de desecho

SX5.X5_CHAVE

CYO.CYO_CDRF

CHAR(08)

TBLOutScrap.Code

CHAR(15)

 

Description

Descripción del desecho

X5_DESCRI
X5_DESCSPA
X5_DESCENG

CYO.CYO_DSRF

CHAR(40)

TBLOutScrap.Name

CHAR(30)

 

IsRework

Retrabajo


CYO.CYO_LGRT

BOOLEAN



 

IsScrapMaterial

Desecho material

SBE.BE_DESCRIC

CYO.CYO_LGRFMP

BOOLEAN



Nota:

  • Si no estuviera integrado con el Piso de fábrica, MV_INTSFC igual a '0' el motivo de desecho se registra en la tabla genérica SX5. 
  • Debe buscar en la tabla SX5 de acuerdo con el siguiente comando:
    select X5_CHAVE from sx5990 where X5_TABELA = '43'
    Donde:
    - El código del motivo es X5_CHAVE
    La tabla del motivo es '43'.
  • Si estuviera integrado con Piso de fábrica, MV_INTSFC igual a '1' se generará solamente la tabla de Piso de fábrica - CYO. Rutina SFCA003. Si en el mensaje no informa el indicador de desecho o retrabajo, debe considerar desecho (CYO_LGRFMP = 'T'').
  • El motivo de desecho tiene 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 SIGAPCP debe validar 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.


Transacción Motivo de parada: StopReason_1_000.xsd
Identificador del mensaje: StopReason

Versión: 1_000

Módulo Protheus: SIGAPCP/SIGASFC

Tipo de envío: Síncrónica
 

Mensaje

Tag

Descripción

Tabla/Campo:
Protheus PCP

Tabla Campo:
Protheus SFC

Tipo

Tabla/Campo: PC-Factory

Tipo

BusinessContentType

Code

Código del motivo de parada

SX5.X5_CHAVE

CYN.CYN_CDSP

CHAR(10)

 TBLOutResourceStatus.Code

CHAR(05)

 

Description

Descripción de parada

X5_DESCRI
X5_DESCSPA
X5_DESCENG

CYN.CYN_DSSP

CHAR(40)

TBLOutResourceStatus.Name

CHAR(30)

 

IsEfficiency

Modifica eficiencia




 

IsEmailEquipment

E-mail planificador




 

IsServiceRequest

Emite solicitud de servicio




 

IsSetup

Parada setup


TBLOutResourceStatus.FlgSetup

SMALLINT

Nota:

  • Si no estuviera integrado con el Piso de fábrica, MV_INTSFC igual a '0', el motivo de parada se registra en la tabla genérica SX5. 
  • Debe buscar en la tabla SX5 de acuerdo con el siguiente comando:
    select X5_CHAVE from sx5990 where X5_TABELA = '44'
    Donde:
    - El código del motivo es X5_CHAVE
    La tabla del motivo es '44'.

  • Si estuviera integrado con el Piso de fábrica, MV_INTSFC igual a '1' se generará solamente la tabla del Piso de fábrica - CYN. Rutina SFCA004.  
  • El motivo de parada tiene 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 SIGAPCP debe validar contra el SX5.X5_CHAVE y SH6.H6_MOTIVO
  • Si utiliza el SIGASFC valide contra el CYN.CYN_CDSP, CYX.CYX_CDSP y SH6.H6_MOTIVO


 Transacción Orden de producción: ProductionOrder_2_004.xsd

Identificador del mensaje: ProductionOrder

Versión: 2_003

Módulo Protheus: SIGAPCP

Tipo de envío: Síncrónica

Mensaje

Tag

Descripción

Tabla/Campo

Tipo

Tabla/Campo: PC-Factory

Tipo

BusinessContentType

Number

Número de orden de producción

SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN

CHAR(20)

TBLInWOHD.Code

CHAR(41)

 

ProductionOrderUniqueID

Empresa+Sucursal+Orden de producción

EMPRESA + SC2.C2_FILIAL + SC2.C2_NUM +
SC2.C2_ITEM + SC2.C2_SEQUEN

CHAR(30)



 

ItemCode

Código del ítem

SC2.C2_PRODUTO

CHAR(15)

TBLInWOHD.ProductCode

CHAR(20)

 

ItemDescription

Descripción del ítem

SB1.B1_DESC

CHAR(40)



 

Type

Tipo de la orden

1= Interna; 2=Externa; 3=Interna/Externa; 4=Retrabajo.
5=Reparación; 6=Mantenimiento; 7=Activo fijo.
8=Sala de herramientas; 9=Reaprovechamiento
 

CHAR(01)

TBLInWOHD.WoTypeCode

CHAR(20)

 

Quantity

Cantidad

SC2.C2_QUANT

DEC(12,2)

TBLInWOHD.TotalQty

 DEC(19,4)

 

ReportQuantity

Cantidad informada

SC2.C2QUJE

DEC(12,2)



 

UnitOfMeasureCode

Unidad de medida

SC2.C2_UM

CHAR(02)

TBLInWoDet.Unit1Code

CHAR(05)

 

RequestOrderCode

Código del pedido de la orden de producción

SC2.C2_PEDIDO

CHAR(06)



 

StatusOrderType

Estado de la orden

Prevista/Abierta = 1
Iniciada = 6
Finalizada Parcial/Total = 7
Ociosa = 9

CHAR(01)

TBLInWOHD.Status

SMALLINT

 

WarehouseCode

Código del depósito

SC2.C2_LOCAL

CHAR(02)

TBLInWOHD.AuxCode1

CHAR(20)

 

EndOrderDateTime

Fecha final de la orden de producción CP

SC2.C2_DATPRF

DATE

TBLInWOHD.DtPlanEnd

DATETIME

 

StartOrderDateTime

Fecha inicial de la orden de producción CP

SC2.C2_DATPRI

DATE

TBLInWOHD.DtPlanStart

DATETIME

 

AbbreviationProviderName

Nombre del cliente

SC5.C5_CLIENTE ( SA1.A1_NOME)

CHAR(30)



 

ScriptCode

Código del procedimiento

SC2.C2_ROTEIRO

CHAR(02)



 

ReportOrderType

Tipo de informe

1 = Orden; 2 = Operaciones; 3 = Punto de control; 4 = Ítem
 

CHAR(01)



ListOfActivityOrders

 






 

ProductionOrderNumber

Orden de producción

SC2.C2_NUM + SC2.C2_ITEM +
SC2.C2_SEQUEN

CHAR(20)

TBLInWoDet.Wocode

CHAR(10)

 

ActivityID

ID del Registro

RECNO (SG2,SHY o SH8)

CHAR(10)



 

ActivityCode

Código de la operación

SG2.G2_OPERAC
SHY.HY_OPERAC
SH8.H8_OPER

CHAR(02)

TBLInWoDet.WODetCode+Split

 CHAR(10)

 

ActivityDescription

Descripción de la operación

SG2.G2_DESCRI

CHAR(40)

TBLInWoDet.WODetName

CHAR(30)

 

Split

División de la operación

SH8.H8_DESDOBR

CHAR(04)



 

ItemCode

Código del ítem

SC2.C2_PRODUTO

CHAR(15)



 

ItemDescription

Descripción del ítem

SB1.B1_DESC

CHAR(40)



 

ActivityType

Tipo de la operación

1 - Apunta ; 2-No apunta

CHAR(01)



 

WorkCenterCode

Código del centro de trabajo

SG2.G2_CTRAB
SHY.HY_CTRAB
SH8.H8_CTRAB

CHAR(06)

TLBInWODet.ManagerGrpCode

 CHAR(15)

 

WorkCenterDescription

Descripción del centro de trabajo

SHB.HB_NOME

CHAR(30)



 

UnitTimeType

Tipo de unidad de tiempo

1 - Horas; 2 - Minutos; 3- Segundos; 4 - Días

CHAR(01)

TLBInWODet.StdSpeedFormat

 TINYINT

 

TimeResource

Tiempo del recurso (Tiempo estándar para un lote)

SG2.G2_TEMPAD

DEC(05,2)

TLBInWODet.StdSpeed

 DEC(28,23)

 

TimeMachine

Tiempo de máquina (Tiempo para realizar toda la orden)

SG2.G2_TEMPAD * SC2.C2_QUANT
SHY.HY_TEMPO 
SH8.H8_HRINI - SH8.H8_HRFIM

DEC(14,4)

TLBInWODet.StdSpeed

DEC(28,23)

 

TimeSetup

Tiempo de preparación

SG2.G2_SETUP
SHY.HY_TEMPOS
SH8.H8_SETUP

DEC(15,4)

TLBInWODet.SetUpTime

INT

 

TimeMOD

Tiempo hombre




 

TimeIndMES

Indicador de tempo en el MES

1 = Tiempo de máquina; 2 = Tiempo de mano de obra; 3 = Selección por el MES.

CHAR(01)



 

ScriptCode

Código del procedimiento

SG2.G2_CODIGO
SHY.HY_ROTEIRO
SH8.H8_ROTEIRO

CHAR(02)



 

LaborCode

Código de mano de obra directa

MOD+CC

CHAR(08)



 

UnitItemNumber

Lote estándar

SG2.G2_LOTEPAD

NUM(05)

TLBInWODet.StdSpeed

DEC(28,23)

 

IsActivityEnd

Última operación

En la última operación pasar TRUE.
En las otras FALSE.

BOOLEAN

TLBInWODet.ReportTrigger

TINYINT

 

MachineCode

Código de la máquina

SG2_RECURSO
SHY_RECURSO
H8_RECURSO

CHAR(06)



 

StartPlanDateTime

Fecha/Hora inicial de programación

SHY.HY_HORAINI
SC2.C2_DATPRI
SH8.H8_DTINI

DATE

TLBInWODet.StartPlanDateTime

DATETIME

 

EndPlanDateTime

Fecha/Hora final de programación

SHY.HY_HORAFIM
SC2.C2_DATPRF
SH8.H8_DTFIM

DATE

TLBInWODet.EndPlanDateTime

DATETIME

 

ProductionQuantity

Cantidad por producir en la operación

SHY.HY_QUANT 
SH8.H8_QUANT 
SC2.C2_QUANT

DEC(12,2)

TLBInWODet.Qty

 DEC(19,4)

 

ActivityQuantity

Cantidad de la operación

SHY.HY_QUANT 
SH8.H8_QUANT 
SC2.C2_QUANT

DEC(12,2)



 

UnitActivityCode

Unidad de medida

SB1.B1_UM

CHAR(02)

TLBInWODet.Unit1Code

CHAR(5)

 

SecondUnitActivityCode

Segunda unidad de medida en la operación


TLBInWODet.Unit2Code

CHAR(5)

 

SecondUnitActivityFactor

Factor de conversión para segunda Un. en la operación


TLBInWODet.Unit2Factor

 DEC(8,4)

 

ResourceQuantity

Cantidad de recursos

SG2.G2_MAOOBRA
SHY.HY_MAOOBRA

NUM(03)



ListOfMaterialOrders

 






 

ProductionOrderNumber

Orden de producción

SC2.C2_NUM + SC2.C2_ITEM +
SC2.C2_SEQUEN

CHAR(20)

TBLInBillMat.Wocode

CHAR(41)

 

MaterialID

ID del Registro de la reserva

SD4.R_E_C_N_O_

CHAR(10)



 

MaterialCode

Código del ítem reserva

SD4.D4_COD

CHAR(15)

TBLInBillMat.ProductCode

CHAR(20)

 

MaterialDescription

Descripción del ítem

SB1.B1_DESC

CHAR(40)



 

ScriptCode

Código del procedimiento

SD4.D4_ROTEIRO

CHAR(02)



 

ActivityCode

Código de la operación

SD4.D4_OPERAC

CHAR(02)

TBLInBillMat.WODetCode

CHAR(10)

 

WarehouseCode

Código del depósito

SD4.D4_LOCAL

CHAR(02)

TBLInBillMat.ExtCode

CHAR(20)

 

MaterialDate

Fecha de la reserva

SD4.D4_DATA

DATE



 

MaterialQuantity

Cantidad de la reserva

SD4.D4_QUANT

DEC(12,2)

TBLInBillMat.TotalQty

DEC(19,4)

 

LotCode

Lote

SD4.D4_LOTECTL

CHAR(10)



 

PertMaterialNumber

Secuencia del ítem

SD4.D4_TRT

CHAR(03)



 

RequestType

Tipo de la requisición

SB1.B1_APROPRI

CHAR(01)

TBLInBillMat.Comments

CHAR(500)

ListOfAllocatedMaterial
 

 






 

WarehouseCode

Código del depósito

SD4.D4_LOCAL

CHAR(02)

TBLInMovMat.WarehouseCode

CHAR(15)

 

LotCode

Código del lote

SD4.D4_LOTECTL
SDC.DC_LOTECTL

CHAR(10)

TBLInMovMat.LotCode

CHAR(41)

 

LocationCode

Localización/Ubicación

SDC.DC_LOCALIZ

CHAR(15)

TBLInMovMat.AddressCode

CHAR(15)

 

ActivityCode

Código de la operación

SD4.D4_OPERAC

CHAR(02)

TBLInMovMat.WoDetCode

CHAR(10)

 

ScriptCode

Código del procedimiento

SD4.D4_ROTEIRO

CHAR(02)



 

AllocationQuantity

Cantidad asignada

SD4.D4_QUANT 
SDC.DC_QUANT

DEC(12,2)

TBLInMovMat.Qty

 DEC(19,4)

 

AllocationType

Tipo de asignación

1 = Suma;2=Disminuye;3=Valor absoluto

CHAR(01)

TBLInMovMat.AllocationType

INT

 

SubLoteCode

Sublote

SD4.D4_NUMLOTE
SDC.DC_NUMLOTE

CHAR(06)



 

NumberSeries

Número de serie

SDC.DC_NUMSERI

CHAR(20)



 

LotDueDate

Fecha de validez

SD4.D4_DTVALID

DATE

TBLInMovMat.LotDtValidity

DATETIME

ListOfQuotaActivity

 






 

ProductionOrderNumber

Número de orden de producción

CY9.CY9_NRORPO

CHAR(20)



 

ControlType

Selección split




 

ActivityID

ID Operación

CY9.CY9_CDAT

CHAR(10)



 

ItemCode

Código del ítem

CYY.CYY_CDAC

CHAR(15)



 

ItemDescription

Descripción del ítem

CYY.CYY_DSAC

CHAR(40)



 

StartActivityDateTime

Fecha/Hora inicial de la actividad

CYY.CYY_DTBGAT / CYY.CYY_HRBGAT

DATETIME

TBLInWODet.StartPlanDateTime

DATETIME

 

EndActivityDateTime

Fecha/Hora final de la actividad

CYY.CYY_DTEDAT / CYY.CYY_HREDAT

DATETIME

 TBLInWODet.EndPlanDateTime

DATETIME

 

ApprovedQuantity

Cantidad aprobada

CYY.CYY_QTATAP

DEC(13,4)



 

ScrapQuantity

Cantidad desechada

CYY.CYY_QTATRF

DEC(13,4)



 

MachineCode

Código de la máquina

CYY.CYY_CDMQ

CHAR(20)

TBLInWODet.ResourceCode

CHAR(15)

 

MachineDescription

Descripción de la máquina

CYY.CYY_DSMQ

CHAR(40)



 

ActivityQuantity

Cantidad prevista

CYY.CYY_QTAT

DEC(12,4)

TBLInWODet.QTY

DEC(19,4)

 

StandardSetup

Tiempo estándar preparación

CYY.CYY_QTPASU

NUM(10)



 

StandardActivity

Tiempo estándar de operación

CYY.CYY_QTPAAT

NUM(10)



 

StandardPostprocessing

Tiempo estándar de post proceso

CYY.CYY_QTPAPP

NUM(10)



 

StandardMachine

Tiempo estándar de máquina

CYY.CYY_QTPAMQ

NUM(10)



 

StandardOperator

Tiempo estándar MOD

CYY.CYY_QTPAOE

NUM(10)



 

UsedCapacity

Capacidad utilizada

CYY.CYY_QTVMAT

DEC(12,4)



 

ActivityTimeQuantity

Hora disponible de la actividad

CYY.CYY_HRDI

CHAR(08)



 

ReportQuantity

Cantidad informada

CYY.CYY_QTATRP

DEC(13,4)



 

ReworkQuantity

Cantidad retrabajada

CYY.CYY_QTATRT

DEC(12,4)



 

StartSetupDateTime

Fecha/Hora inicial de preparación

CYY.CYY_DTBGSU / CYY.CYY_HRBGSU

DATETIME



 

EndSetupDateTime

Fecha/Hora final de preparación

CYY.CYY_DTEDSU / CYY.CYY_HREDSU

DATETIME



 

TimeSetup

Tiempo de preparación

CY9.CY9_QTTESU

NUM(10)

TBLInWODet.SetUpTime

TINYINT

 

TimeMachine

Tiempo de máquina

CY9.CY9_QTTEMQ

NUM(10)

TBLInWODet.StdSpeed

DEC(28,23)

 

TimeOperator

Tiempo MOD

CY9.CY9_QTTERC

NUM(10)



 

TimePostprocessing

Tiempo de post proceso

CY9.CY9_QTTEPP

NUM(10)



 

QuotaActivityID

ID Split

CYY.CYY_IDATQO

CHAR(05)

ActivityCode+
TBLInWODet.WODetCode

CHAR(10)

 

WorkCenterCode

Centro de trabajo

CY9.CY9_CDCETR

CHAR(10)

TBLInWODet.ManagerGrpCode

CHAR(15)

 

ReportedSplit

Split informado

CYY.CYY_LGQORP

BOOELAN



 

StatusActivityType

Estado de la operación

CYY.CYY_TPSTAT

CHAR(01)



ListOfQuotaActivityTools

 






 

ToolCode

Herramienta

CYY.CYY_CDFE

CHAR(20)



 

ToolQuantity

Cantidad de herramienta

CYY.CYY_QTFE

NUM(03)





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.

          Conforme el valor de esta tag, el PC-factory identifica el archivo de devolución para el componente:

          RequestType =1, Direta  -> MovementsInternal

          RequestType =2, Indireta -> ProductionAppointment

  • 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'
  • La tag ActivitySequence no forma parte del alcance de la integración con el TOTVS MES. 

  

Procesos

Transacción Apunte de producción: ProductionAppointment_2_000.xsd

Identificador del mensaje: ProductionAppointment

Versión: 2_003

Módulo Protheus: SIGAPCP/SIGASFC

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
Protheus PCP

Tabla Campo
Protheus SFC

Tipo

Tabla/Campo: PC-Factory

Tipo

BusinessContentType

MachineCode

Máquina

SH6.H6_RECURSO

CYV.CYV_CDMQ

CHAR(06)

TBLOutInteg.ResourceCode

CHAR(15)

 

ProductionOrderNumber

Orden de producción

SH6.H6_OP

CYV.CYV_NRORPO

CHAR(20)

TBLOutInteg.WOCode

CHAR(41)

 

ActivityCode

Operación

SH6.H6_OPERAC

CYV.CYV_CDAT

CHAR(02)

TBLOutInteg.WODetCode

CHAR(10)

 

Split

Split

SH6.H6_DESDOBR

CYV.CYV_IDATQO

CHAR(04)

TBLOutInteg.WODetCode

CHAR(10)

 

ActivityID

ID Operación




 

ItemCode

Producto

SH6.H6_PRODUTO

CYV.CYV_CDACRP

CHAR(15)

TBLOutInteg.ProductCode

CHAR(20)

 

ApprovedQuantity

Cantidad aprobada

SH6.H6_QTDPROD

CYV.CYV_QTATAP

DEC(11,2)

TBLOutInteg.Qty

DEC(19,4)

 

ScrapQuantity

Cantidad desechada

SH6.H6_QTDPERD

CYV.CYV_QTATRF

DEC(11,2)

TBLOutInteg.Qty

DEC(19,4)

 

ReworkQuantity

Cantidad retrabajada




 

StartSetupDateTime

Fecha/Hora inicial de preparación

CYV_DTBGSU
CYV_HRBGSU

DATETIME



 

EndSetupDateTime

Fecha/Hora final de preparación

CYV_DTEDSU
CYV_HREDSU

DATETIME



 

SetupCode

Código de preparación

CYV_CDSU

CHAR(10)



 

OpTimeInt

Tiempo de operación

CYV.CYV_QTTERP

NUM(10)



 

ProductionShiftCode

Código modelo de turno

CYV.CYV_CDTN

CHAR(08)



 

ProductionShiftNumber

Número de turno

CYV.CYV_NRTN

CHAR(05)

TBLOutInteg.Shift

SMALLINT

 

DocumentCode

Documento

CYV.CYV_NRDO

CHAR(20)

TBLOutInteg.DocNumber

CHAR(20)

 

DocumentSeries

Serie de documento

CYV.CYV_NRSR

CHAR(05)



 

StartReportDateTime

Fecha/Hora inicial de informe

SH6.H6_DATAINI
SH6.H6_HORAINI

CYV.CYV_DTRPBG
CYV.CYV_HRRPBG

DATETIME

TBLMSGERP.Start

DATETIME

 

EndReportDateTime

Fecha/Hora final de informe

SH6.H6_DATAFIN
SH6.H6_HORAFIN

CYV.CYV_DTRPED
CYV.CYV_HRRPED

DATETIME

TBLMSGERP.End

DATETIME

 

ReversedReport

Reversión del apunte

TRUE o FALSE

TRUE o FALSE

BOOLEAN



 

ReversalDate

Fecha de la reversión

CYV.CYV_DTEO

DATE

TBLOutInteg.DTEv

DATETIME

 

ReportDateTime

Fecha/Hora del informe

SH6.H6_DTAPONT

CYV.CYV_DTRP
CYV.CYV_HRRP

DATETIME

TBLOutInteg.DtEv

DATETIME

 

WarehouseCode

Código del depósito

SH6.H6_LOCAL

CYV.CYV_CDDP

CHAR(02)

TBLOutInteg.WarehouseCode

CHAR(15)

 

LotCode

Lote/Serie

SH6.H6_LOTECTL

CYV.CYV_CDLOSR

CHAR(10)

TBLOutInteg.LotCode

CHAR(41)

 

LotDueDate

Fecha de validez lote

SH6.H6_DTVALID

CYV.CYV_DTVDLO

DATE

TBLLot.DtValidity

DATETIME

 

CloseOperation

Finaliza operación

SH6.H6_PT

CYV.CYV_LGEDRP

BOOLEAN



 

LocationCode

Localización

CYV.CYV_CDLC

CHAR(20)

TBLOutInteg.Address1Code

CHAR(15)

ListOfReversalAppointments

 







 

IntegrationReport

Registro por revertirse



CHAR(10)

TBLOutInteg.TransacType

TINYINT

 

ReversalType

Tipo de reversión



CHAR(01)



 

ReversalQuantity

Cantidad revertida


DEC(18,4)



WasteAppointment

 







 

WasteCode

Código del desecho

SBC.BC_MOTIVO

CY0.CY0_CDRF

CHAR(02)

TBLOutInteg.ScrapCode

CHAR(15)

 

WasteDescription

Descripción del desecho

SBC.BC_DESCRI

CY0.CY0_DSRF

CHAR(40)



 

ScrapQuantity

Cantidad desechada

SBC.BC_QUANT

CY0.CY0_QTRF

DEC(11,2)

TBLOutInteg.Qty

DEC(18,4)

 

ScrapProduct

Producto desechado

SBC.BC_PRODUTO

CHAR(15)



 

WareHouseCode

Depósito del producto desechado

SBC.BC_LOCORIG

CHAR(10)



 

ScrapProductTo

Desecho generado

SBC.BC_CODDEST

CHAR(15)



 

WareHouseCodeTo

Depósito del desecho generado

SBC.BC_LOCAL

CHAR(10)



 

AdressCode

Ubicación origen

SBC.BC_LOCALIZ


CHAR(15)



 

AdressCodeTo

Ubicación destino

SBC.BC_LOCDEST


CHAR(15)



 

NumberSeries

Número de serie

SBC.BC_NUMSERI


CHAR(20)



 

NumberSeriesTo

Número de serie destino

SBC.BC_NSEDEST


CHAR(20)



 

LotCode

Lote

SBC.BC_LOTECTL


CHAR(10)



 

SubLoteCode

Sublote

SBC.BC_NUMLOTE


CHAR(06)



 

LotDueDate

Fecha de validez

SBC.BC_DTVALID


DATE



 

CostCenterCode

Centro de costo

SBC.BC_CC


CHAR(09)



ResourceAppointment

 







 

OperatorCode

Código operador

CYW.CYW_CDOE

CHAR(20)

TBLOutInteg.UserCode

CHAR(30)

 

StartDateTime

Fecha/Hora inicial

CYW.CYW_DTBGRP
CYW.CYW_HRBGRP

DATETIME

TBLMSGERP.Start

DATETIME

 

EndDateTime

Fecha/Hora final

CYW.CYW_DTEDRP
CYW.CYW_HREDRP

DATETIME

TBLMSGERP.End

DATETIME

 

MOBTime

Tiempo de mano de obra directa

CYW.CYW_QTTEOE

NUM(10)



 

ExtraTime

Tiempo extra

CYW.CYW_QTTEEX

NUM(10)



 

UtilTime

Tiempo útil

CYW.CYW_QTTEUT

NUM(10)



 

ProductionShiftCode

Código modelo de turno

CYW.CYW_CDTN

CHAR(08)



 

ProductionShiftNumber

Número de turno

CYW.CYW_NRTN

CHAR(05)

TBLOutInteg.Shift

SMALLINT

SupplyOrder

 







 

ProductionOrderNumber

Número de orden de producción

SD3.D3_OP

CZP.CZP_NRORPO

CHAR(20)

TBLOutInteg.WOCode

CHAR(41)

 

MaterialCode

Código del ítem reserva

SD3.D3_COD

CZP.CZP_CDMT

CHAR(15)

TBLOutInteg.ProductCode

CHAR(20)

 

UsedQuantity

Cantidad utilizada

SD3.D3_QUANT

CZP.CZP_QTRPPO

DEC(12,2)

TBLOutInteg.Qty

 DEC(19,4)

 

WarehouseCode

Código del depósito

SD3.D3_LOCAL

CZP.CZP_CDDP

CHAR(02)

TBLOutInteg.WarehouseCode

CHAR(15)

 

LocationCode

Localización

SD3.D3_LOCALIZ

CZP.CZP_CDLC

CHAR(15)

TBLOutInteg.Address1Code

CHAR(15)

 

LotCode

Lote/Serie

SD3.D3_LOTECTL
o
SD3.D3_NUMSERI

CZP.CZP_CDLO

CHAR(20)

TBLOutInteg.LotCode

CHAR(41)

 

ActivityCode

Código de la operación

CZP.CZP_CDAT

CHAR(02)

TBLOutInteg.WODetCode

CHAR(10)

 

ScriptCode

Procedimiento

CZP.CZP_CDRT

CHAR(02)



ReportToolActivity

 







 

ToolCode

Código de la herramienta

CZ0.CZ0_IDFE

CHAR(20)



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).
  • Como regla, la última operación siempre se considerará como operación final, independiente del parámetro MV_VLDOPER.
  • 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), sin embargo, para finalizar la operación, la suma de las cantidades apuntadas anteriormente debe ser mayor o igual a la cantidad total de la orden.
    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.


 
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.
  • 3 - Consumo Real/Act Reservas: se consumirá de acuerdo con la lista de componentes, SupplyOrder, enviada en el mensaje. En esta opción, si no existiera el saldo suficiente de la cantidad reservada para el componente, se ajustará automáticamente la cantidad reservada.
  • 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.


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.


Transacción Apunte de parada de máquina: StopReport_1_001.xsd
Identificador del mensaje: StopReport

Versión: 1_001

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
Protheus PCP

Tabla/Campo
Protheus SFC

Tipo

Tabla/Campo: PC-Factory

Tipo

 

MachineCode

Código de la máquina

SH6.H6_RECURSO

CYX.CYX_CDMQ

CHAR(06)

TBLOutRSEv.ResourceCode

CHAR(15)

 

MachineDescription

Descripción de la máquina






 

StopReasonCode

Código del motivo de parada

SH6.H6_MOTIVO

CYX.CYX_CDSP

CHAR(02)

TBLOutRSEv.ResourceStatusCode

CHAR(20)

 

StopReasonDescription

Descripción del motivo de parada

SX5.X5_DESCRI *

CYX.CYX_DSSP

CHAR(40)



 

StartDateTime

Fecha/Hora inicial

SH6.H6_DATAINI
SH6.H6_HORAINI

CYX.CYX_DTBGSP
CYX_HRBGSP

DATE

TBLOutRSEv.ShiftDtStart

DATETIME

 

EndDateTime

Fecha/Hora final

SH6.H6_DATAFIN
SH6.H6_HORAFIN

CYX.CYX_DTEDSP
CYX.CYX_HREDSP

DATE

TBLOutRSEv.ShiftDtEnd

DATETIME

 

OperatorCode

Código del operador

SH6.H6_OPERADO

CYX.CYX_CDOE

CHAR(20)

TBLOutRSEv.UserCodeStart

CHAR(30)

 

ReportDateTime

Fecha/Hora del informe

SH6.H6_DTAPONT

CYX.CYX_DTRP

DATE

TBLOutRSEv.DtTimeStamp

DATETIME

 

ToolCode

Código de la herramienta

-- 

CYX.CYX_CDFEPO




 

ProductionTeamCode

Código del equipo

CYX.CYX_CDGROE




 

StopType

Tipo de parada (1=No programada;2=Programada)

CYX.CYX_TPSP




 

ReportSequence

ID PC-Factory


TBLOutRSEv.IDOutRSEv


Nota:

  • El apunte de parada estándar para esta integración será el MATA682 en el PCP y en el Piso de fábrica la rutina es SFCA311.
  • Los campos Máquina, Motivo de parada, Fecha/Hora inicial y final y Fecha/Hora informe serán obligatorios.
  • Si Fecha/Hora del informe fuera inferior a la fecha actual, el sistema utilizará la Fecha/Hora actual, es decir, fecha y hora en la que la integración se estuviera procesando.
  • Apunte de parada marcará SH6.H6_TIPO = 'I'.
  • El producto será la mano de obra. Generado por el sistema. Ejemplo: SH6.H6_PRODUTO = MOD001.
  • La cantidad de pérdida se generará por el sistema. SH6.H6_QTDPERD.
  • El campo SH6.H6_IDENT también se genera por el sistema.
  • El campo SH6.H6_TEMPO debe calcularse por el adapter. Debe ser el tiempo total de la parada.

  • Motivo de parada:

    El motivo puede registrarse vía integración. Debe verificar si el motivo de parada está registrado. Si no estuviera, debe incluirse el motivo utilizado en el apunte en la 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 - CYN.

  • 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 StopReport 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. Si el campo ReversedReport tuviera el contenido TRUE, solo el campo IntegrationReport se considerará en el procesamiento del XML. Las otras informaciones se ignorarán.
  • Se registrará automáticamente el campo SH6.H6_OBSERVA = 'TOTVSMES' para indicar que el registro se generó vía integración PCP Protheus vs. PC-Factory.
  • El sistema PC-Factory utiliza el formato de horas con HH:MM:SS. Para el PCP Protheus se considerará solamente HH:MM. Apunte con tiempos inferiores a 1 minuto se rechazarán.
  • El campo ReportSequence se utiliza para registrar el ID de la tabla que registra la información de la parada. Puede utilizarse en el punto de entrada MATI681CRG.
  • Modelo del turno y número del turno se generará automáticamente por la rutina SFCA311. Solamente si utiliza el Piso de fábrica.
  • Si el mensaje no envía el StopType se considerará como 2= No programada. Solamente si utiliza el Piso de fábrica.
  • El motivo de parada tiene 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 validar contra el SX5.X5_CHAVE y SH6.H6_MOTIVO.
    Si utiliza el SIGASFC valide contra el CYN.CYN_CDSP, CYX.CYX_CDSP y SH6.H6_MOTIVO.


 
Transacción Saldo en stock - Request: StockLevel_2_000.xsd

Identificador del mensaje: StockLevel

Versión: 2_000

Módulo Protheus: SIGAPCP

Tipo de envío: Síncrónica


Para este tipo de actualización el PC-Factory solicita el saldo al Protheus. El mensaje tiene dos partes. El Request, en el cual se pasan los parámetros a la consulta del saldo, y el Return, que contiene la devolución del saldo.
El Request se generará por el PC-Factory y se enviará al Protheus. El Return se generará por el Protheus y se enviará al PC-Factory.
 
Request

Mensaje

Tag

Descripción

Tipo

ListOfRequest

ItemInternalId

Código del producto

CHAR(15)


ReferenceCode

Referencia

CHAR(20)


WarehouseInternalId

Código del depósito/local de stock/Almacén

CHAR(10)


LotNumber

Lote

CHAR(10)


SubLotCode

Sublote

CHAR(10)


SerialNumber

Número de serie

CHAR(20)


Address

Ubicación

CHAR(15)


LotExpirationDate

Fecha de validez

DATE

Nota:

  • La búsqueda puede ocurrir de las siguientes formas:
    Por producto: Devuelve información de todos los locales de stock del producto.
    Por local de stock (Almacén): Devuelve información de todos los productos en el local de stock.
  • Por local de stock (Almacén) y producto: Devuelve información sobre el Producto en el Local de stock definido.
    Para los otros campos, Lote, sublote, número de serie, ubicación y fecha de validez considere solamente si informa el código del producto.
    Si envía estos campos sin el código del producto, debe devolver mensaje de error.
  • El Request puede ser una lista de solicitud.


Return

Mensaje

Tag

Descripción

Tabla/Campo

Tipo

ReturnContentType

ClosingStockDate

Fecha de cierre de stock


ListOfReturnItem

CompanyId

Empresa




BranchId

Sucursal




CompanyInternalId

Empresa + Sucursal




ItemInternalId

Código del producto

SB2.B2_COD

CHAR(15)


ReferenceCode

Referencia


ListOfStockBalance






WarehouseInternalId

Local de stock (Almacén/Depósito)

SB2.B2_LOCAL

CHAR(10)


LotNumber

Número del lote

SB8.B8_LOTECTL

CHAR(10)


SubLotCode

Sublote

SB8.B8_NUMLOTE

CHAR(10)


LotExpirationDate

Fecha de validez

SB8.B8_DTVALID

DATE


SerialNumber

Número de serie

SBF.BF_NUMSERI

CHAR(20)


Address

Ubicación

SBF.BF_LOCALIZ

CHAR(15)


CurrentStockAmount

Saldo del producto en cantidad

SB2.B2_QATU
SB8.B8_SALDO
SBF.BF_QUANT

DEC(17,4)


BookedStockAmount

Cantidad reservada en stock

SB2.B2_RESERVA
SB8.B8_EMPENHO
SBF.BF_EMPENHO

DEC(17,4)


AvailableStockAmount

Saldo disponible del producto en cantidad

SB2.B2_QATU - SB2.B2_RESERVA
SB8.B8_SALDO - SB8.B8_EMPENHO
SBF.BF_QUANT - SBF.BF_EMPENHO

DEC(17,4)


UnitItemCost

Costo unitario del producto



AverageUnitItemCost

Costo medio del producto



ValueOfCurrentStockAmount

Saldo actual del stock del producto en valor


 
Transacción Movimientos de stock: MovementsInternal_1_001.xsd

Identificador del mensaje: MovementsInternal

Versión: 1_001 Módulo Protheus: SIGAPCP

Tipo de envío: Síncrónica
  

Nota:

Esta 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

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






Nota:

  • Se registrará que el movimiento tuvo origen vía integración con PC-Factory. El campo SD3.D3_OBSERVA se grabará con el contenido "TOTVSMES".
  • Si la tag InputOrOutput fuera E (entrada) y la tag ProductionOrderNumber estuviera cumplimentada, debe ejecutarse el proceso de la rutina MATA250. Se considerará el tipo de movimiento de entrada Producción registrado en el PCPA109, carpeta "Movimientos y transferencia".
  • Si la tag InputOrOutput fuera E (entrada) y la tag ProductionOrderNumber no estuviera cumplimentada, debe ejecutarse el proceso de la rutina MATA240. Se considerará el tipo de movimiento de entrada Stock registrado en el PCPA109, carpeta "Movimientos y transferencia".
  • Si fuera S (salida), ejecute el proceso de la rutina MATA240. Se considerará el tipo de movimiento de Salida registrado en el PCPA109, carpeta "Movimientos y transferencia".
  • Para realizar un proceso de reversión debe enviarse el mensaje con el siguiente formato:

Event: delete
En la sección Identification, debe existir una clave con el nombre “Reversión”. El valor de la clave, compuesto por la concatenación de los campos: D3_FILIAL+D3_COD+D3_LOCAL+D3_NUMSEQ.

La otra información del XML, debe estar igual a la información que se envió en el mensaje que originó el movimiento. Ejemplo del XML:

<BusinessEvent>
<Entity>movementsinternal</Entity>
<Event>delete</Event>
<Identification>
<key name="IDPCFactory">movementsinternal-0077</key>
<key name="Reversión">01MES-PA-ENDER 01 003002</key>
</Identification>
</BusinessEvent>

  • Durante el proceso de reversión, los mensajes de integración de saldo no se enviarán al Totvs MES, porque los movimientos ya están siendo originadas por el MES.
  • Si la reversión se refiere a una producción simple (MATA250) y el XML tiene informada la tag Address, también se efectuará la reversión del control de ubicación.
  • 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, de lo contrario, grabe en el campo SD3.D3_DOC.
  • Cuando 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.


 
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(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)



Nota:

  • Se registrará que la transferencia tuvo origen vía integración con PC-Factory. El campo SD3.D3_OBSERVA se grabará con el contenido "TOTVSMES".
  • Para las transferencias se ejecutará la rutina MATA261
  • 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 transferencia de X a Y debe enviar un movimiento de transferencia de Y a X.


 
Transacción Rechazo:  Refusal_1_000.xsd

Identificador del mensaje: Refusal

Versión: 1_000

Módulo Protheus: SIGAPCP

Tipo de envío: Síncrónica
 
Este mensaje se utilizará para registrar las pérdidas de la producción cuando se registran piezas buenas y posteriormente se verifica que hubo algún defecto. También puede utilizarse para registrar las pérdidas da materia prima.
 

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

ProductionOrderNumber

Orden de producción

SBC.BC_OP

CHAR(20)




IdReport

ID Apunte


CHAR(10)




ItemCode

Producto rechazado

SBC.BC_PRODUTO

CHAR(20)




WarehouseCode

Código del depósito

SBC.BC_LOCORIG

CHAR(02)




AddressCode

Ubicación

SBC.BC_LOCALIZ

CHAR(15)




NumberSeries

 Número de serie

SBC.BC_NUMSERI

CHAR(20)




Type

Tipo de pérdida

SBC.BC_TIPO

CHAR(01)




WasteCode

Motivo de pérdida

SBC.BC_MOTIVO

CHAR(02)




WasteDescription

Descripción de la pérdida

SBC.BC_DESCRI

CHAR(40)




LossQuantity

Cantidad de la pérdida

SBC.BC_QUANT

DEC(11,2)




CostCenterCode

Centro de costo

SBC.BC_CC

CHAR(09)




ItemCodeTo

Producto generado

SBC.BC_CODDEST

CHAR(20)




WarehouseCodeTo

Código del depósito destino

SBC.BC_LOCAL

CHAR(02)




AdressCodeTo

Ubicación destino

SBC.BC_LOCDEST

CHAR(15)




NumberSeriesTo

Nº de Serie destino

SBC.BC_NSEDEST

CHAR(20)




QuantityTo

Cantidad destino

SBC.BC_QTDDEST

DEC(11,2)




ActivityCode

Operación

SBC.BC_OPERAC

CHAR(10)




ResourceCode

Máquina/Recurso

SBC.BC_RECURSO

CHAR(20)




LossDate

Fecha de pérdida

SBC.BC_DATA

DATE




LotCode

Lote

SBC.BC_LOTECTL

CHAR(10)




SubLotCode

Sublote

SBC.BC_NUMLOTE

CHAR(06)




LotDueDate

Fecha de validez

SBC.BC_DTVALID

DATE



Este mensaje tendrá las siguientes finalidades: 

Pérdida del producto terminado informando producto destino:

Permite que se modifique una determinada cantidad que se apuntó y está en el stock como buena. Se denomina rechazo del producto terminado, pues no será necesario realizar las reversiones y después el ajuste del apunte.

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.



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.


Pérdida del producto terminado sin informar el producto destino:


Puede utilizarse para informar la pérdida del producto terminado sin que sea necesario generar las tags de destino.
  

Nota:

  • Se ejecuta 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

La integración no considera 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.

PROTHEUS vs. APS vs. TOTVS MES

Las órdenes generadas por el APS se enviarán vía Schedule- PCPA114.

La integración del APS vs. PROTHEUS vs. TOTVS MES debe considerar SOLAMENTE las órdenes de producción modificadas y/o creadas por el APS y enviadas al PROTHEUS.

En el PCPA109, carpeta Órdenes de producción, es posible parametrizar si existe la integración con el APS. El Schedule para el envío de órdenes generadas solo se ejecutará si el parámetro "APS" estuviera marcado y la integración estuviera en PROTHEUS vs. APS - MV_APS = 'TOTVS'.

Se enviarán las órdenes con origen en el APS, tabla SC2, campos C2_OBS = TOTVSMES y C2_IDAPS cumplimentado. También se valida si existen datos en la tabla SHY.

Para el envío debe haber un control de lo que ya se envió, utilizando la tabla SOJ. Enviar solamente las órdenes que tengan datos en la SOJ con el parámetro de envío al MES como "N". Después del envío, actualice este campo a "S" . Cuando el APS actualice una orden, debe configurarse nuevamente el OJ_ENVMES como "N" para que el Schedule pueda enviarla nuevamente.

Para registrar el Schedule, debe utilizarse el SIGACFG - SCHEDULE. Configuración del Schedule en: Schedule - Cómo programar en agenda la ejecución de rutinas

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:


No fue posible realizar la conexión con el WebService del PCFactory. 


Para resolver este problema, verifique las configuraciones del sistema de destino, analizando el funcionamiento del servidor utilizado para esta comunicación y la habilitación de la dirección del WebService. 
 
2) Clientes con modificaciones en el diccionario tienen reglas específicas que afectan las rutinas listadas en este documento.
Para resolver este problema, debe verificar el diccionario y ver caso a caso.
 
3) Tiempo de espera del WebService. Debido a que algunos procesos demoran cuando el ERP envía la devolución, el WebService puede no estar esperando más.


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

Checklist de soporte de la aplicación

Checklist de verificaciones:

  • 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.