Histórico da Página
Integração PCP Protheus x PPI-Multitask
Contexto de negócio
- MES
Manufacturing Execution Systems, ou simplesmente MES, é o termo usado para designar os sistemas focados no gerenciamento das atividades de produção e que estabelecem uma ligação direta entre o planejamento e o chão de fábrica. Os sistemas MES geram informações precisas e em tempo real que promovem a otimização de todas as etapas da produção, desde a emissão de uma ordem até o embarque dos produtos acabados.
A importância destes sistemas vem da lacuna que normalmente existe entre o ERP (Entreprise Resource Planning) e os softwares específicos da linha de produção. O MES pode importar dados do ERP e integrá-los com o dia-a-dia da produção, gerenciando e sincronizando as tarefas produtivas com o fluxo de materiais.
Considerando que na cadeia de suprimento o maior valor agregado costuma estar na produção, faz todo sentido investir em sistemas que otimizem o fluxo, controle e qualidade do material (Fonte: PPI-Multitask). - Planejamento e Controle da produção
A reunião dos meios de produção (matéria-prima, mão-de-obra e equipamentos) possibilita a fabricação de produtos que surgem pela ação dos Sistemas produtivos. Os planos que servem de guia na execução e no controle da produção são comandados pelo órgão auxiliar denominado Planejamento e Controle da Produção (PCP), que dita normas a linha de produção, visando a um fluxo ordenado e contínuo do processo produtivo. - Chão de Fábrica
Permite ao usuário planejar, "apontar" e monitorar as atividades executadas em cada centro de trabalho da fábrica e máquina, possibilitando uma visão integrada das operações realizadas, em execução e a serem processadas. Permite o Gerenciamento e Monitoramento dos resultados (produtividade, eficiência, atrasos, qualidade, utilização, níveis de parada, motivos de refugo, desvio de tempo real / padrão, etc) obtidos. Na utilização integrado ao MES os apontamentos serão realizados pelo sistema MES.
Sistemas Envolvidos
PCP PROTHEUS 11.80.14, 12.1.10 (Fase I )
- PCP - SIGASFC PROTHEUS 11.80.17 ( Fase II)
PC-FACTORY (PPI MULTITASK)
Integração
O objetivo da Integração PC Factory (software MES da empresa PPI Multitask) X PROTHEUS é disponibilizar aos clientes TOTVS uma nova opção para controle da produção por meio da automação dos processos, permitindo a atualização e extração de informações de forma on-line de modo a simplificar o fluxo dos clientes.
Escopo
Permite a integração entre o módulo PCP e SIGASFC do Protheus com o MES PC-Factory da PPI-Multitask, que tem como objetivo controlar os apontamentos das ordens de produções. O Protheus ficará com a responsabilidade de criação das ordens de produção e o PC-Factory com os apontamentos.
A integração contempla as seguintes rotinas e processos na FASE 1:
- Parametrização: Permite parametrizar a utilização da integração, indicando se está ATIVA. Indica se ocorrerá a geração dos arquivos XMLs das informações que serão trafegadas entre os sistemas e também possibilita definir os filtros que serão aplicados nas informações.
- Integradores: Os "adapters" são as funções responsáveis por enviar ou receber as informações que são trafegadas entre os sistemas PCP Protheus e PC-Factory. A integração contempla as seguintes informações: Produto, local de estoque, recurso, ordens de produção, apontamento de produção e apontamento de parada.
- Pendências: Permite gerenciar as pendências de envio do PCP Protheus para o PC-Factory bem como verificar o histórico e erros do processo da integração.
- WebService: Permite processar os apontamentos de produção e parada enviados do PC-Factory para o Protheus.
- Sincronização: Permite realizar a sincronização dos dados entre o PCP Protheus e o PC-Factory. Poderá enviar os dados dos Produtos, Local de Estoque, Recurso e Ordem de Produção.
- Log de Importação: Permite consultar o processo de integração dos apontamentos de produção e paradas enviados do PC-Factory para o Protheus.
A integração contempla as seguintes rotinas e processos na FASE 2:
A fase 2 contempla o consumo dos componentes , movimentações feitas pelo PC-Factory e saldos em estoque. Também considera o sistema SIGASFC - Chão de Fábrica.
- Parametrização: Permite parametrizar a utilização da integração, indicando se está ATIVA. Indica se ocorrerá a geração dos arquivos XMLs das informações que serão trafegadas entre os sistemas e também possibilita definir os filtros que serão aplicados nas informações.
- Integradores: Os "adapters" são as funções responsáveis por enviar ou receber as informações que são trafegadas entre os sistemas Protheus e PC-Factory. A integração contempla as seguintes informações: Produto, local de estoque, recurso, maquinas, ferramentas, roteiro, estrutura, endereço, ordens de produção, saldos em estoque, movimentos e transferências de estoque, apontamento de produção e apontamento de parada.
- Pendências: Permite gerenciar as pendências de envio do Protheus para o PC-Factory bem como verificar o histórico e erros do processo da integração.
- WebService: Permite processar os apontamentos de produção e parada enviados do PC-Factory para o Protheus.
- Sincronização: Permite realizar a sincronização dos dados entre o Protheus e o PC-Factory. Poderá enviar os dados dos Produtos, Local de Estoque, Recurso, Máquina, Roteiro, Estrutura, Endereço, Saldo em Estoque e Ordem de Produção.
- Log de Importação: Permite consultar o processo de integração dos apontamentos de produção e paradas enviados do PC-Factory para o Protheus.
Observação: A integração não contempla a geração de ordens pelo APS.
Pré-requisitos instalação/implantação/utilização
Para a versão 12 do Protheus deve-se aplicar o pacote de atualizações a partir da versão 12.1.10 na Fase I.
Também é possível utilizar na versão 11.80.14 para Fase I e 11.80.17 para Fase II. Deve-se executar a atualização de dicionário com o programa U_UPDPCP34.
A Build deve ser igual ou superior a 7.00.131227A e data 08/09/2014.
Endereço de IP e porta liberada para execução do WebService. Estes dados serão utilizados no arquivo APPSERVER.INI na sessão WEBSERVICE.
Deve atualizar o arquivo APPSERVER.INI na sessão WEBSERVICE.
Para configurar um WebService deve-se verificar o documento de configuração a seguir : http://tdn.totvs.com/pages/viewpage.action?pageId=6064937
Exemplo :
;CONFIGURACAO WEBSERVICE
[WebServices]
Enable=1
Environment=mssqlserver
Conout=1
Trace=1
PrepareIn=99,01
NameSpace=http://10.80.62.219:8090
URLLocation=http://10.80.62.219
[HTTP]
enable=1
port=8090
[ONSTART]
JOBS=JOB_WS_9901
[10.80.62.219]
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]
TYPE=WEBEX
ENVIRONMENT=mssqlserver
INSTANCES=1,20
SIGAWEB=WS
INSTANCENAME=WS
ONSTART=__WSSTART
ONCONNECT=__WSCONNECT
;FIM CONFIGURACAO WEBSERVICE
Também deve-se atualizar no arquivo APPSERVER.INI na sessão PROXY (caso exista proxy configurado)
[PROXY]
Enable=1
Server=proxy-jv.jv01.local
Port=8080
User=XXXXX
Password=*******
Instalação/Atualização
A integração Protheus x PC-Factory PPI-Multitask é ativada por intermédio dos seguintes passos:
- Abrir o programa de Parâmetros da integração: PCPA109 (Atualizações -> Integração MES-> Parâmetros).
- Setar o campo Ativo para "1- Ativo".
- No campo caminho Informar a URL do WebService da PPI-Multitask.
- Verificar a conectividade do WebService por meio do botão Testar.
- Indicar se a integração irá gerar fisicamente os arquivos XML.
- Configurar os filtros para cada informação que será trafegada entre os sistemas.
- Confirmar a ativação por meio do botão CONFIRMA.
O botão de Testar verifica se é possível realizar a conexão com o WebService informado no campo Caminho. Este botão tem dois retornos:
- Conexão com o WebService realizada com Sucesso.
- Não foi possível realizar a conexão com o WebService do PC-Factory.
Marcando o campo Gera XML será gerado os XML das mensagens trocadas. Se não estiver marcado será gravado apenas em tabelas. A geração dos arquivos não é obrigatória. Serve como uma ferramenta útil para encontrar problemas e poderá ser gravado no diretório de XMLs enviados com sucesso ou XMls pendentes.
Os nomes do arquivos seguirão o seguinte padrão:
OK_<MSG>_<DATAHORA>_<REGISTRO>
PEND_<MSG>_<DATAHORA>_<REGISTRO>
ERR_<MSG>_<DATAHORA>_<REGISTRO>
Onde: OK - Se mensagem entregue sem problemas
PEND- Se mensagem não foi enviada
ERR - Se mensagem enviada, porém retornou erro.
MSG - Nome da mensagem. Ex.: Item, Wharehouse, Workcenter, etc.
DATAHORA: Data e Hora do envio
REGISTRO: Código do registro que está sendo enviado. Ex.: Código do item , numero da ordem, etc.
Para cada arquivo movimentado (produto,local de estoque, recurso, ferramenta, máquina, roteiro, estrutura, endereço, movimentos, saldos e ordem de produção) terá um folder. Para cada folder será possível montar filtros e definir parametrizações. Os filtros serão utilizados nas rotinas que enviarão informações ao PC-Factory, permitindo selecionar o que deve ser enviado. Serão exibidos os campos da tabela selecionada (folder) e operadores para que sejam montados os filtros. Se não existir nenhum filtro cadastrado todo registro incluído, alterado ou excluído será enviado ao PC-Factory. Para montar os filtros o usuário requer conhecimento do dicionário de dados pois é utilizado diretamente o nome das tabelas e dos campos.
Exemplo:
Montar um filtro para que somente seja enviado os produtos que sejam classificados como Produto Acabado. O filtro será: B1_TIPO = "PA"
O envio de informações do Protheus para o PC-Factory PPI-Multitask ocorre nas seguintes transações:
- Cadastro, alteração e exclusão de produto MATA010, local de estoque AGRA045 e recurso MATA610, SFCA006 e SFCA002;
- Cadastro e alteração de ordens MATA650;
- Processo para FIRMAR ordens MATA651;
- Manutenção das operações MATA632;
- Manutenção dos empenhos, MATA380 e MATA381;
- Cadastro, alteração e exclusão de Operações x Componentes MATA637;
- Carga máquina MATA690;
- Cálculo do MRP MATA712 (versão 11.8) ou PCPA107 (versão 12);
- Cadastro, alteração e exclusão de estrutura;
- Splits de produção gerados pelas rotinas que manipulam ordem e o SFCA310 apontamento modelo 1 do chão de fábrica;
- Cadastro, alteração e exclusão do endereço MATA015;
- Cadastro, alteração e exclusão de ferramentas MATA620.
- Atualização de saldos.
- NF de Entrada - Rotinas que executam a função B2ATUCOMD1
- NF de Venda - Rotinas que executam a função B2ATUCOMD2
- Mov. Internas - Rotinas que executam a função B2ATUCOMD3
- Inclusão de saldo MATA220 e MATA805
O envio de informações do PC-Factory PPI-Multitask para o Protheus ocorre nas seguintes transações:
- Cadastro de motivos de parada SFCA004;
- Cadastro de motivos de refugo SFCA003;
- Movimentações avulsas de estoque. Entrada MATA250. Saída MATA240;
- Transferência de estoque MATA261;
- Apontamento de produção MATA681 e SFCA310
- Apontamento de parada MATA682 e SFCA311
Controle de Versão
O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.
Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.
Suporte
O suporte aos recursos da Integração será de responsabilidade de todas as linhas, sendo assim as equipes de suporte dos produtos RM Conector e Backoffice Protheus estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.
Observação: Este modelo de suporte está sendo revisado pela TOTVS.
Transações/Entidades/Mensagens únicas
As seguintes transações serão trocadas entre a TOTVS e a PPI-Multitask:
Método | ID | Descrição | Origem | Destino | XSD (versões podem variar) |
Cadastros | 01 | Produto | Protheus | PC-Factory | Item_3_001.xsd |
02 | Local de Estoque | Protheus | PC-Factory | Warehouse_1_001.xsd | |
03 | Máquinas | Protheus | PC-Factory | Machine_1_000.xsd | |
04 | Recursos | Protheus | PC-Factory | Resource_1_000 | |
05 | Estrutura | Protheus | PC-Factory | ItemStructure_1_000 | |
06 | Roteiro | Protheus | PC-Factory | ItemScript_1_000 | |
07 | Ordem de Produção | Protheus | PC-Factory | ProductionOrder_2_001.xsd | |
08 | Endereço | Protheus | PC-Factory | AddressStock_1_000 | |
09 | Estoque | Protheus | PC-Factory | ItemStockLevel_1_000 | |
Processos | 09 | Motivo de Parada | PC-Factory | Protheus | StopReason_1_000 |
10 | Motivo de Refugo | PC-Factory | Protheus | WasteReason_1_000 | |
11 | Apontamento de Produção | PC-Factory | Protheus | ProductionAppointment_1_001 | |
12 | Apontamento de Parada | PC-Factory | Protheus | StopReport_1_001 | |
13 | Estoque - Request | PC-Factory | Protheus | StockLevel_2_00 | |
14 | Movimentações | PC-Factory | Protheus | MovementsInternal_1_001 | |
15 | Transferência | PC-Factory | Protheus | TransferWarehouse_1_001 |
Fluxo das Informações
Fluxo das informações das transações:
- Produto, local de estoque e recurso: no momento da criação, alteração ou exclusão de um produto no programa MATA010, de um local de estoque no programa AGRA045 ou de um recurso nos programa MATA610 ou SFCA006 ou SFCA002(máquina) e ferramentas no MATA620. Os programas devem verificar se a integração está ativa e, se estiver ativa, irá efetuar o envio do cadastro para o PC-Factory. Caso não ocorrer erro o cadastro não apresentará nenhuma mensagem, porém se ocorrer erro uma mensagem será exibida questionando se deseja criar uma pendência de envio no programa PCPA110. Se optar por gerar a pendência o processo será comitado no Protheus e a atualização para o PC-Factory deverá ser realizado por meio do PCPA110.
Na engenharia também são integrados os cadastros de estrutura MATA200 e roteiro MATA632 ou MATA637, e endereços MATA015, sempre quando ocorrer a criação, alteração ou exclusão de um registro. - Ordem de produção: no momento da criação ou alteração de uma ordem de produção, ou durante a alteração da situação de uma ordem (alocação/carga máquina, requisição, alteração de operações ou empenhos, MRP, criação de splits), o programa irá verificar se a integração está ativa e, se estiver ativa, irá efetuar o envio do cadastro para o PC-Factory. Se não ocorrer erro o cadastro não apresentará nenhuma mensagem. Caso ocorra erro, uma mensagem será exibida* e uma pendência de envio poderá ser criada no programa PCPA110. Ao final do processo das rotinas que processam múltiplas ordens, como por exemplo carga máquina , serão exibidas as quantidades de registros que foram enviados ao PPI-Multitask e também os que tiveram pendência de envio. Obs.: Algumas rotinas geram pendências sem realizar o questionamento devido ao número de ordens processadas.
Rotinas que foram afetadas pela integração: Manutenção de Ordens (MATA650), Rotina para Firmar Ordens (MATA651), Manutenção das Operações (MATA632 ou MATA637), Manutenção dos Empenhos (MATA380 e MATA381), Carga Máquina (MATA690) e MRP (MATA712), Splits de produção (SFCA310) - Programa de gerenciamento de pendências PCPA110 - este programa tem por função administrar as pendências/exceções referentes à integração que são criadas quando a mensagem não for enviada ao PC-Factory, sejam elas, pendências ou erro. Permite o reprocessamento de uma mensagem, exclusão de uma pendência e a visualização do XML, além de possuir filtro por data de envio, transação, tipo de pendência e rotina geradora. A rotina também permite consultar as mensagens enviadas com sucesso.
- Programa de Sincronização PCPA111 - permite o envio das informações do produto, local de estoque, recurso, ferramentas, roteiro, estrutura, endereço, saldo em estoque e ordem de produção e tem como objetivo efetuar uma atualização da base de dados do PC Factory. Além dos filtros definidos no PCPA109, também será possível adicionar novos filtros para cada tabela.
- Apontamento de produção: Esta rotina consiste no WebService para receber os apontamentos de produção realizados no PC-Factory. Poderá processar apontamentos de produção e parada de recurso. Executará o mesmo processo que as rotinas MATA681 e MATA682. Quando o chão de fábrica estiver instalado executará o mesmo processo que a rotina SFCA316 e SFCA311.
O fluxo da integração será o seguinte:
a. Operador efetua reporte normalmente conforme sua operação no PC-Facotry.
b. Em um processo batch ou disparado paralelamente no sistema, ocorre a montagem da mensagem(XML) conforme Schema de Mensagem Única TOTVS e o envio dessa mensagem(XML) para o Protheus; que validará a mensagem e encaminhará ao respectivo adapter de negócio (MATA681/MATA682 ou SFCA316/SFCA311) para processamento.
c. Em caso de erros, esse reporte ficará com um status de pendente para envio dentro do software MES e o usuário poderá tomar ações no próprio PC Factory (o Protheus não manterá rastreabilidade das mensagens recebidas, mas registrará em LOG o processamento).
d. Em caso de sucesso no reporte, será retornado ao PC-Factory o número do registro do reporte realizado no Protheus. Este número poderá ser utilizado em caso de estorno. - Atualização de saldo no PC-Factory ocorrerá das seguintes formas:
a. Request : o PC-Factory solicita um saldo gerando mensagem XML de request. Nesta mensagem pode solicitar o saldo por item, por local de estoque, entre outros.
b. Atualização Protheus : Quando ocorrer uma atualização de saldo no Protheus deverá enviar uma mensagem XML ao PC-Factory. São consideradas as principais rotinas do ERP, como Nota fiscal de entrada e venda e algumas movimentações internas e a inclusão de saldo via MATA220 e MATA805. - Movimentações de estoque: Quando o PC-Factory realiza movimentações de estoque e transferências estas movimentações serão atualizadas no Protheus.
No caso das movimentações, se for E(entrada) deverá executar o MATA250. Se for S(saída) executar MATA240. Nos casos de transferências executará o MATA261. - Consulta de Log de importação PCPA112: Esta rotina consiste na consulta dos registros dos apontamentos que foram processados pela integração Protheus x PC-Factory. Rotina deverá exibir os apontamentos efetuados e o status de cada processo.
Ponto de Entrada
Para facilitar o uso da integração, e tornar o uso flexível em qualquer ambiente de produtivo foram criados alguns pontos de entrada para solucionar possíveis situações específicas não atendidas pelo processo padrão e também permitir configurações mais precisas no uso da integração:
Apontamento: O ponto de entrada MATI681CRG permite adicionar informações que serão utilizadas no apontamento da produção e no apontamento de parada, tabela SH6. Exemplo: Caso exista algum campo especifico ou tabela especifica não tratado pela integração, poderá usar essa função para setar seu conteúdo. Detalhes em: MATI681CRG_Adicionar_informacoes_Adapter_do_apontamento
Ordem de Produção: O ponto de entrada MTI650ADOP permite adicionar uma nova operação na mensagem de ordens de produção. Para cada operação que está sendo enviada, este ponto de entrada será executado uma vez. Detalhes em: MTI650ADOP_Adicionar_nova_operacao_adapter_ordem_de_producao
Ordem de Produção: O ponto de entrada MTI650FCOP permite alterar fator de conversão da segunda unidade de medida da operação que será enviada na mensagem de ordens de produção. Detalhes em: MTI650FCOP_Alterar_fator_de_conversao_segunda_unidade_de_medida_da_operacao_adapter_ordem_de_producao
Ordem de Produção: O ponto de entrada MTI650QTOP permite alterar a quantidade da operação que será enviado na mensagem de ordens de produção. Detalhes em: MTI650QTOP_Alterar_quantidade_da_operacao_adapter_ordem_de_producao
Ordem de Produção: O ponto de entrada MTI650UMOP permite alterar a segunda unidade de medida da operação que será enviada na mensagem de ordens de produção. Detalhes em: MTI650UMOP_Alterar_segunda_unidade_de_medida_da_operacao_adapter_ordem_de_producao
Cadastros: O ponto de entrada PCPXFUNPPI permite inibir a integração em determinada rotina. Exemplo: Caso não deseje que na criação de ordens MATA650 ocorra a integração poderá usar essa função para inibir o uso. Detalhes em: PCPXFUNPPI_Rotinas_que_nao_realizam_integracao_com_o_PC_Factory
Executar em várias filiais
Em um ambiente com várias filiais é necessário apenas um WEBSERVICE sendo executando. O que indica a filial onde é processado o apontamento são as TAG´s:
<CompanyId>10</CompanyId>
<BranchId>CLSC0001</BranchId>
Obs.: Quando essas tags estiverem em branco o sistema considera o que estiver definido no APPSERVER.ini na sessão WEBSERVICE campo PrepareIn.
[WebServices]
PrepareIn=99,01
Cadastros
Transação Item: Item_3_001.xsd
Identificador da Mensagem: Item
Versão: 3_001
Módulo Protheus: SiGAPCP
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo : Protheus | Tipo | Tabela/Campo : PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Código da Empresa Logada
| CHAR(02) | |||
BranchId | CódigoFilial | SB1.B1_FILIAL | CHAR(02) | |||
CompanyInternalId | Empresa+Filial | Empresa | SB1.B1_FILIAL | ||||
Code | Código do Produto | SB1.B1_COD | CHAR(15) | |||
Name | Descrição do produto | SB1.B1_DESC | CHAR(30) | |||
InternalId | Empresa+filial+código do produto | Empresa | SB1.B1_FILIAL | SB1.B1_COD | ||||
ShortName | Nome curto | SB1.B1_DESC | CHAR(30) | |||
Active | Item ativo? | SB1.B1_ATIVO | CHAR(01) | |||
UnitOfMeasureCode | Unidade de Medida | SB1.B1_UM | CHAR(02) | |||
UnitOfMeasureInternalId | Empresa+filial+unidade de medida | Empresa | SB1.B1_FILIAL | SB1.B1_UM | ||||
StockGroupCode | Grupo de Estoque | SB1.B1_GRUPO | CHAR(04) | |||
StockGroupInternalId | Empresa+filial+grupo de estoque | Empresa | SB1.B1_FILIAL | SB1.B1_GRUPO | ||||
StockGroupDescription | Descrição do grupo estoque | SBM.BM_DESC | CHAR(30) | |||
StandardWarehouseCode | Local de Estoque | SB1.B1_LOCPAD | CHAR(02) | |||
StandardWarehouseInternalId | Empresa+filial+local de estoque | Empresa | SB1.B1_FILIAL | SB1.B1_LOCPAD | ||||
StandardWarehouseDescription | Descrição Local de Estoque | 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 | Família | SB1.B1_FPCOD | CHAR(10) | |||
FamilyInternalId | Empresa+filial+família | Empresa | SB1.B1_FILIAL | SB1.B1_FPCOD | ||||
FamilyDescription | Descrição da família | SYC.YC_NOME | CHAR(40) | |||
NetWeight | Peso do Item | SB1.B1_PESO | DEC(11,4) | |||
GrossWeigh | Peso bruto | SB1.B1_PESBRU | DEC(11,4) | |||
Trail | Rastro | SB1.B1_RASTRO | CHAR(01) | |||
BinControl | Controla Endereço | SB1.B1_LOCALIZ | CHAR(01) | |||
SecondUnitOfMeasureCode | Segunda Unidade de medida | SB1.B1_SEGUM | CHAR(02) | |||
SecondUnitOfMeasureInternalId | Empresa+filial+ seg. unidade de medida | Empresa | SB1.B1_FILIAL | SB1.B1_SEGUM | ||||
MultiplicationFactorValue | Fator de conversão | SB1.B1_CONV | DEC(5,2) | |||
ProductType | Tipo do Item | SB1.B1_TIPO | CHAR(02) | |||
PackingQuantity | Quantidade Embalagem | SB1.B1_QE | NUM(09) | |||
CostCenterCode | Centro de Custo | SB1.B1_CC | CHAR(09) |
Notas:
- Se for um tipo que não está definido deverá gravar como GENÉRICO. Exemplo: Tipo = AMOSTRA.
Identificador da Mensagem: Warehouse
Versão: 1_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo : Protheus | Tipo | Tabela/Campo : PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Código da Empresa | CHAR(02) | |||
BranchId | Código da Filial | NNR.NNR_FILIAL | CHAR(02) | |||
CompanyInternalId | Empresa+Filial | Empresa | NNR.NNR_FILIAL | ||||
Code | Código do Local de Estoque(armazém/almoxarifado/depósito) | NNR.NNR_CODIGO | CHAR(02) | |||
InternalId | Empresa+Filial+código local | Empresa | NNR.NNR_FILIAL | NNR.NNR_CODIGO | ||||
Description | Descrição do Local de Estoque(armazém/almoxarifado/depósito) | NNR.NNR_DESCRI | CHAR(20) | |||
Active | Local de Estoque Ativo? | TRUE | CHAR(01) | |||
Type | Tipo do Local de Estoque | NNR.NNR_TIPO | CHAR(01) | |||
WarehouseClassification | Classificação | NNR.NNR_INTP | CHAR(01) |
Transação Recurso PCP / Máquina SFC: Machine_1_000.xsd
Identificador da Mensagem: Machine
Versão: 1_000
Módulo Protheus: SIGAPCP, SIGASFC
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo : Protheus PCP | Tabela Campo : Protheus SFC | Tipo | Tabela/Campo : PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
BusinessContentType | |||||||
Code | Código Máquina | SH1.H1_CODIGO | CYB.CYB_CDMQ | CHAR(20) | |||
Description | Descrição Máquina | SH1.H1DESCRI | CYB.CYB_DSMQ | CHAR(40) | |||
WorkCenterCode | Código Centro Trabalho | SH1.H1_CTRAB | CYB.CYB_CDCETR | CHAR(10) | |||
WorkCenterDescription | Descrição Centro Trabalho | SHB.HB_NOME | CYB.CYB_DSCETR | CHAR(40) | |||
CostCenterCode | Código Centro Custo | SH1.H1_CCUST | CYB.CYB_CDCECS | CHAR(20) | |||
ProcessorType | Tipo de Processamento | CYB.CYB_TPPC 1=Monoprocesso;2=Por Batelada; 3=Multiplos Processos;4=Manual | CHAR(01) | ||||
LaborType | Tipo MOD | CYB.CYB_TPMOD 1=Nao Reporta;2=Operador;3=Equipe | CHAR(01) | ||||
VolumeMachineQuantity | Quantidade Volume Máquina | CYB.CYB_QTVMMQ | DEC(12,4) | ||||
EfficiencyMachineValue | Eficiência Máquina | CYB.CYB_VLEFMQ | DEC(05,2) | ||||
OperatorMachineQuantity | Quantidade Operador Máquina | CYB.CYB_QTOEMQ | NUM(02) | ||||
SimultaneousActivityQuantity | Quantidade Operações Simultaneas | CYB.CYB_QTATSM | NUM(03) | ||||
IsSetup | Possui Preparação | CYB.CYB_LGSU | LÓGICO | ||||
IsOverlapReport | Sobrepõe Apontamento | CYB.CYB_LGOVRP | LÓGICO | ||||
ProductionAreaCode | Area de Produção | CYB.CYB_CDARPO | CHAR(10) | ||||
InitialValidateDate | Data início validade | CYB.CYB_DTBGVD | DATE | ||||
FinalValidateDate | Data fim validade | CYB.CYB_DTEDVD | DATE | ||||
ListOfResources | |||||||
ResourceType | Tipo do Recurso | CYC.CYC_TPRC 1=Operador;2=Ferramenta; 3=Equipe;4=Equipamento | CHAR(01) | ||||
ResourceCode | Código Recurso | CYC.CYC_CDRC | CHAR(20) | ||||
ResourceName | Nome Recurso | CYC.CYC_NMRC | CHAR(40) | ||||
UnitTimeType | Tipo Medida Tempo | CYC.CYC_TPUNTE 1=Horas;2=Minutos;3=Segundos | CHAR(01) | ||||
StartExpirationDate | Data Início Validade | CYC.CYC_DTBGVD | DATE | ||||
EndExpirationDate | Data Fim Validade | CYC.CYC_DTEDVD | DATE | ||||
CycleQuantity | Número Ciclos | CYC.CYC_QTCI | DEC(11,4) | ||||
IsTimeActivity | Determina tempo | CYC.CYC_LGTEAT | LÓGICO | ||||
ListOfProductionShifts | |||||||
ProductionShiftCode | Código Modelo Turno | CYL.CYL_CDTN | CHAR(08) | ||||
ProductionShiftDescription | Descrição Modelo Turno | CYL.CYL_DSTN | CHAR(40) | ||||
BeginDate | Data Início Validade | CYL.CYL_DTVDBG | DATE | ||||
EndDate | Data Fim Validade | CYL.CYL_DTVDED | DATE |
Notas:
- No PCP as máquinas são cadastradas na rotina de recursos MATA610 e no chão de fábrica a rotina é SFCA002. A nomenclatura também muda. Quando o usa o chão de fábrica será denominada MÁQUINA. Quando usar somente o PCP será RECURSO. A rotina de parâmetros PCPA109 está preparada para mostrar o nome de acordo com o uso do sistema.
Transação Recurso SFC: Resource_1_000
Identificador da Mensagem: Resource
Versão: 1_000
Módulo Protheus: SIGASFC
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo : Protheus PCP | Tabela Campo : Protheus SFC | Tipo | Tabela/Campo : PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
BusinessContentType | |||||||
Code | Código do Recurso | SH4.H4_CODIGO | CYH.CYH_CDRC | CHAR(06) | |||
Name | Nome do Recurso | SH4.H4_DESCRI | CYH.CYH_NMRC | CHAR(40) | |||
Type | Tipo do Recurso | 1=Operador;2=Ferramenta; 3=Equipe;4=Equipamento.
| CYH.CYH_TPRC 1=Operador;2=Ferramenta; 3=Equipe;4=Equipament | CHAR(25) | |||
ProductionAreaCode | Área de Produção | CYH.CYH_CDARPO | CHAR(10) | ||||
ProductionAreaDescription | Descrição área de produção | CYA.CYA_DSARPO | CHAR(40) | ||||
ItemComponentType | |||||||
ProductionShiftNumber | Turno | SH4.H4_TURNO | CYH.CYH_NRTN | CHAR(05) | |||
LaborCode | MOB | Fixo '1' | CYH.CYH_CDMOD | CHAR(08) | |||
StartExpirationDate | Data validade inicial | Data Atual | CYH.CYH_DTVDBG | DATE | |||
EndExpirationDate | Data validade final | CYH.CYH_DTVDED | DATE | ||||
UnitCycleQuantity | Unidades Ciclos | CYH.CYH_QTUNCI | NUM(07) | ||||
ToolCode | Ferramenta | CYH.CYH_CDMPRC | CHAR(15) | ||||
ToolDescription | Descrição Ferramenta | CYH.CYH_DSMPRC | CHAR(40) |
Notas:
- O Recurso no PCP indica a máquina, no chão de fábrica indica ferramentas, operador, etc.
- Quando origem for do PCP a tag Type (Tipo Recurso) será gerada com o valor fixo '2'
- Quando origem for do PCP a tag UnitCycleQuantity (Unidades Ciclos) será gerada com o valor fixo '1'
- Quando origem for do PCP a tag UnitCycleQuantity (Unidades Ciclos) será gerada com o valor fixo '1'
- Quando origem for do PCP a tag StartExpirationDate (Validade Inicial) será gerada com a data de geração da mensagem
- Quando origem for do PCP a tag EndExpirationDate (Validade Final) será gerada com o seguinte cálculo:
Data atual (dDataBase) + vida útil da ferramenta (H4_VIDAUTI). Considerar o tipo de vida útil (H4_TIPOVID) - D=Dias;H=Horas;M=Mes;A=Ano
Identificador da Mensagem: ItemStructure
Versão: 1_000
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo : Protheus | Tipo | Tabela/Campo : PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Código da Empresa | CHAR(02) | |||
CompanyInternalId | Empresa+Filial | Empresa | SG1.G1_FILIAL | ||||
ItemInternalId | Empresa+Filial+código item pai | Empresa | SG1.G1_FILIAL | SG1.G1_COD | ||||
ItemCode | Código item pai | SG1.G1_COD | CHAR(15) | |||
ItemAmount | Quantidade base do item pai | SB1.B1_QB | NUM(07) | |||
ItemComponentType | ||||||
ItemSequence | Sequencia do componente | SG1.G1_TRT | NUM(05) | |||
ItemComponentCode | Código item componente | SG1.G1_COMP | CHAR(15) | |||
ItemComponentInternalId | Internal Id do Item Componente | Empresa|SG1.G1_FILIAL | SG1.G1_COMP | ||||
InitialDate | Data validade inicial | SG1.G1_INI | DATE | |||
FinalDate | Data validade final | SG1.G1_FIM | DATE | |||
IsGhostMaterial | Indica se é fantasma | SB1.B1_FANTASM | CHAR(01) | |||
ItemComponentAmount | Quantidade do item componente | SG1.G1_QUANT | DEC(12,6) | |||
LossFactor | Fator de perda | SG1.G1_PERDA | DEC(05,2) | |||
(+)ListOfScript | ||||||
Scriptcode | Código do Roteiro | SGF.GF_ROTEIRO | CHAR(02) | |||
ScriptAlternative | Alternativo do Roteiro | -- | ||||
ActivityIntenalID | ID Operação | -- | ||||
ActivityCode | Código da Operação | SGF.GF_OPERAC | CHAR(02) | |||
ActivityComponentSequence | Sequencia do componente na operação | SGF.GF_TRT | NUM(03) |
Identificador da Mensagem: ItemScript
Versão: 1_000
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
SG2.G2_PRODUTO
Mensagem | Tag | Descrição | Tabela/Campo : Protheus | Tipo | Tabela/Campo : PC-Factory | Tipo | |||
---|---|---|---|---|---|---|---|---|---|
BusinessContentType | ItemCode | Código item | SG2.G2_PRODUTO | CHAR(0215) | |||||
CompanyInternalId | Empresa+Filial | Empresa | SG1.G1_FILIAL | ItemDescription | Descrição do item | SB1.B1_DESC | CHAR(40) | |||
ItemInternalId | Empresa+Filial+código item pai|Filial|Item | Empresa | SG1SG2.G1G2_FILIAL |SG1 SG2.G1G2_CODPRODUTO | |||||||
ItemCodeScriptCode | Código item paido Roteiro | SG1SG2.G1G2_CODCODIGO | CHAR(1502) | ||||||
ItemAmount | Quantidade base do item pai | SB1.B1_QB | ScriptDescription | Descrição Roteiro | -- | CHAR(40) | NUM(07) | ||
ItemComponentType | ScriptAlternative | Roteiro Alternativo | -- | CHAR(02) | |||||
ListOfActivity | ItemSequence | ||||||||
ActivityInternalID | ID Operação | SG2.R_E_C_N_O_ | Sequencia do componente | SG1.G1_TRT | NUM(05) | ||||
ItemComponentCodeActivityCode | Código item componenteda Operação | SG1SG2.G1G2_COMPOPERAC | CHAR(1502) | ||||||
ItemComponentInternalId | Internal Id do Item Componente | Empresa|SG1.G1_FILIAL | SG1.G1_COMP | ActivityDescription | Descrição Operação | SG2.G2_DESCRI | CHAR(60) | |||
InitialDate | Data validade inicial | SG1.G1_INI | MachineCode | Código da Máquina | SG2.G2_RECURSO | CHAR(06)DATE | |||
FinalDate | Data validade final | SG1.G1_FIM | ToolCode | Código Ferramenta | SG2.G2_FERRAM | CHAR(06)DATE | |||
IsGhostMaterial | Indica se é fantasma | ActivityType | Tipo Operação | 1 = Executa operação; 2 = Não executa. SB1.B1_FANTASM | CHAR(01) | ||||
ItemComponentAmount | Quantidade do item componente | SG1.G1_QUANT | WorkCenterCode | Código Centro Trabalho | SG2.G2_CTRAB | CHAR(06DEC(12,6) | |||
LossFactorWorkCenterInternalId | Fator Id Centro de perda | SG1.G1_PERDA | Trabalho | Empresa| SG2.G2_FILIAL |SG2.G2_CTRAB | DEC(05,2) | ||||
UnitItemNumber | Lote padrão | (+)ListOfScriptSG2.G2_LOTEPAD | NUM(06) | ||||||
TimeResource | Tempo Recurso | 0 | |||||||
Scriptcode | Código do Roteiro | SGF.GF_ROTEIRO | TimeMachine | Tempo Máquina | SG2.G2_TEMPAD | DEC(05,2CHAR(02) | |||
ScriptAlternative | Alternativo do Roteiro | -- | TimeSetup | Tempo Preparação | SG2.G2_SETUP | DEC(05,2) | |||
ActivityIntenalID | ID Operação | UnitTimeType | Tipo Unidade Tempo | 1 = Horas;2=Minutos;3=Segundos;4=Dias-- | |||||
ActivityCodeScriptAlternative | Código da OperaçãoAlternativo | SGFSG2.GFG2_OPERACROTALT | CHAR(02) | ||||||
InitialDate | Data Inicial | SG2.G2_DTINI | DATE | ||||||
ActivityComponentSequence | Sequencia do componente na operação | SGF.GF_TRT | NUM(03) |
FinalDate | Data Final | SG2.G2_DTFIM | DATE | |||
---|---|---|---|---|---|---|
PercentageScrapValue | % Refugo | -- | ||||
PercentageValue | Proporção | -- | ||||
ResourceQuantity | Quantidade Recurso | -- | ||||
ListOfPertOrders |
Notas:
- A tag ActivityType (Tipo Operação) será gerada com o valor fixo '1'
- A tag UnitTimeType (Tipo Unidade Tempo) será gerada com o valor fixo '1'
- A tag ListOfPertOrders não será gerada para o Protheus
- Na exclusão de um roteiro, não deverá excluir se existir integridade com a rotina de OPERAÇÕES x COMPONENTES, MATA637. Neste caso não necessita enviar nenhuma mensagem ao PC-Factory.
- Quando incluir, alterar ou excluir dados do MATA637, deverá re-enviar a mensagem de estrutura, ItemStructure.
Transação Ordem de Produção: ProductionOrder_2_002.xsd
Identificador da Mensagem: ProductionOrder
Versão: 2_002
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mensagem Padrão | Descrição | Tabela/Campo |
---|---|---|
Number | Número Ordem Produção | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN |
ProductionOrderUniqueID | Empresa+Filial+Ordem Produção | Empresa | SC2.C2_FILIAL | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN |
ItemCode | Código Item | SC2.C2_PRODUTO |
ItemDescription | Descrição Item | SB1.B1_DESC |
Type | Tipo da Ordem | Fixo 1 (ordem interna) |
Quantity | Quantidade | SC2.C2_QUANT |
ReportQuantity | Quantidade Reportada | SC2.C2QUJE |
UnitOfMeasureCode | Unidade Medida | SC2.C2_UM |
RequestOrderCode | Código Pedido Ordem Produção | SC2.C2_PEDIDO |
StatusOrderType | Estado da ordem | Prevista/Aberta = 1 Iniciada = 6 Ociosa = 9 Encerrada Parcial/Total = 7 |
WarehouseCode | Código Depósito | SC2.C2_LOCAL |
EndOrderDateTime | Data Fim Ordem Produção CP | SC2.C2_DATPRF |
StartOrderDateTime | Data Início Ordem Produção CP | SC2.C2_DATPRI |
AbbreviationProviderName | Nome Cliente | SC5.C5_CLIENTE ( SA1.A1_NOME) |
ScriptCode | Código Roteiro | SC2.C2_ROTEIRO |
ListOfActivityOrders | ||
ProductionOrderNumber | Ordem de Produção | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN |
ActivityID | ID do Registro | RECNO (SG2,SHY ou SH8) |
ActivityCode | Código Operação | SG2 (SG2.G2_OPERAC) ou SHY (SHY.HY_OPERAC) ou SH8(SH8.H8_OPER) |
ActivityDescription | Descrição Operação | SG2.G2_DESCRI |
ItemCode | Código do item | SC2.C2_PRODUTO |
ItemDescription | Descrição do item | SB1.B1_DESC |
ActivityType | Tipo Operação | Fixo "1" ( 1 - Aponta ; 2-Não Aponta ) |
WorkCenterCode | Código Centro de Trabalho | SG2 (SG2.G2_CTRAB) ou SHY (SHY.HY_CTRAB) ou SH8(SH8.H8_CTRAB) |
WorkCenterDescription | Descrição Centro de Trabalho | SHB.HB_NOME |
UnitTimeType | Tipo Unidade Tempo | Fixo "1" ( 1 - Horas; 2 - Minutos; 3- Segundos; 4 - Dias) |
TimeResource | Tempo Recurso(Tempo para fazer um lote) | SG2.G2_TEMPAD |
TimeMachine | Tempo Máquina (Tempo para fazer toda a ordem) | SG2 (SG2.G2_TEMPAD) ou SHY (SHY.HY_TEMPO) Mult. pela qtd da ordem(SC2.C2_QUANT). Quando usa carga máquina usar a diferença entre SH8.H8_HRINI e SH8.H8_HRFIM |
TimeSetup | Tempo Preparação | SG2 (SG2.G2_SETUP) ou SHY (SHY.HY_TEMPOS) ou SH8 (SH8.H8_SETUP) |
ScriptCode | Código Roteiro | SG2 (SG2.G2_CODIGO) ou SHY (SHY.HY_ROTEIRO) ou SH8(H8_ROTEIRO) |
LaborCode | Código Mão de Obra Direta | MOD+CC |
UnitItemNumber | Lote Padrão | SG2.G2_LOTEPAD |
IsActivityEnd | Última Operação | Na última operação passar TRUE. Nas demais FALSE. |
MachineCode | Código Máquina | SG2(SG2_RECURSO) ou SHY(SHY_RECURSO) ou SH8(H8_RECURSO) |
StartPlanDateTime | Data/Hora Início Programação | SHY(SHY.HY_HORAINI) ou SC2(SC2.C2_DATPRI) ou SH8(H8_DTINI) |
EndPlanDateTime | Data/Hora Fim Programação | SHY(SHY.HY_HORAFIM) ou SC2(SC2.C2_DATPRF) ou SH8(H8_DTFIM) |
ProductionQuantity | Quantidade a produzir na operação | SHY.HY_QUANT ou SH8.H8_QUANT ou SC2.C2_QUANT |
UnitActivityCode | Unidade de medida | SB1.B1_UM |
SecondUnitActivityCode | Segunda unidade de medida na operação | |
SecondUnitActivityFactor | Fator de conversão para segunda un. na operação | |
ListOfMaterialOrders | ||
ProductionOrderNumber | Ordem de produção | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN |
MaterialID | ID do registro da reserva | SD4.R_E_C_N_O_ |
MaterialCode | Código Item Reserva | SD4.D4_COD |
MaterialDescription | Descrição do Item | SB1.B1_DESC |
ScriptCode | Código Roteiro | SD4.D4_ROTEIRO (a partir do pacote 12.1.8) |
ActivityCode | Código Operação | SD4.D4_OPERAC (a partir do pacote 12.1.8) |
WarehouseCode | Código Depósito | SD4.D4_LOCAL |
MaterialDate | Data Reserva | SD4.D4_DATA |
MaterialQuantity | Quantidade Reserva | SD4.D4_QUANT |
Notas:
As tags não utilizadas pela integração PCP Protheus x PC-Factory, mesmo constando nas mensagens, descritas no Schema de Mensagem Única TOTVS, não serão mencionadas neste documento.
Limitações/Restrições
O conceito de componente por operação (D4_OPERAC e D4_ROTEIRO ) somente estarão disponíveis a partir da versão 12.1.8 do PCP Protheus.
Processos
Transação Apontamento de Produção: ProductionAppointment_2_001.xsd
Identificador da Mensagem: ProductionAppointment
Versão: 2_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mensagem Padrão | Descrição | Tabela/Campo |
---|---|---|
MachineCode | Máquina | SH6.H6_RECURSO |
ProductionOrderNumber | Ordem de Produção | SH6.H6_OP |
ActivityCode | Operação | SH6.H6_OPERAC |
ItemCode | Produto | SH6.H6_PRODUTO |
ApprovedQuantity | Quantidade Aprovada | SH6.H6_QTDPROD |
ScrapQuantity | Quantidade Refugada | SH6.H6_QTDPERD |
StartReportDateTime | Data/Hora Início Reporte | SH6.H6_DATAINI SH6.H6_HORAINI |
EndReportDateTime | Data/Hora Fim Reporte | SH6.H6_DATAFIN SH6.H6_HORAFIN |
ReversedReport | Estorno do Apontamento | |
ReversalDate | Data do estorno | |
ReportDateTime | Data/Hora Reporte | SH6.H6_DTAPONT |
WarehouseCode | Código Depósito | SH6.H6_LOCAL |
LotCode | Lote/Série | SH6.H6_LOTECTL |
LotDueDate | Data Validade Lote | SH6.H6_DTVALID |
IntegrationReport | Registro a ser estornado | |
CloseOperation | Encerra Operação | SH6.H6_PT |
Notas:
- O apontamento padrão para essa integração será o MATA681.
- Os campos Máquina,Ordem de Produção,Operação,Produto e Data/Hora Reporte serão obrigatórios.
- Caso Data/Hora do Reporte seja menor que a data atual, o sistema irá utilizar a Data/Hora atual, ou seja, data e hora que o integração estiver sendo processada.
Caso o campo código do depósito vier sem preenchimento deverá usar o local padrão do cadastro de item(SB1.B1_LOCPAD).
- Não necessita retornar componentes nem ferramentas.
- O campo CloseOperation vai indicar se o apontamento é TOTAL ou PARCIAL. Caso envie true deverá ser T=total. Caso false será considerado como P=Parcial.
Como no PC-Factory a operação pode ser baixada num momento posterior ao apontamento será usada a seguinte regra para finalizar a ordem no Protheus:
Obrigatoriamente deverão ser informadas as seguintes TAGS:
ProductionOrderNumber : Ordem de produção
ActivityCode : Operação
CloseOperation : True ou False. Sendo TRUE quando apontamento TOTAL ou operação encerrada/finalizada. False quando operação PARCIAL.
ReportDateTime : Data do apontamento
Os demais campos de quantidade(ApprovedQuantity e ScrapQuantity) e data/hora inicio/fim (StartReportDateTime e EndReportDateTime) devem passados sem valor (em branco)
Para que este processo funcione deverá possuir no RPO o ponto de entrada M680VldPT retornando FALSE. Quando for apontado Refugo/Perda(ScrapQuantity for maior que zero), não será registrado o motivo de refugo tags do ListOfWasteAppointments. A rotina MATA681 não registra dados da tabela SBC quando a execução for decorrente de processamentos automáticos.
Quando for apontamento quantidade/tempo/recurso o SH6.H6_TIPO = 'P'.
Todo apontamento deverá enviar uma mensagem de retorno, indicando possíveis problemas ou processamento efetuado com sucesso.
Em caso de sucesso o número do apontamento é enviado ao Pc-Factory na mensagem de retorno da ProductionAppointment e corresponde ao RECNO da SH6. Este mesmo número será utilizado quando precisar registrar um estorno(IntegrationReport).- O estorno ocorre quando o campo o campo ReversedReport (Estorno do apontamento) possuir o conteúdo TRUE.
Quando for estorno deverá, obrigatoriamente ter o número do apontamento, campo IntegrationReport. O estorno pode ser gerado de duas formas no arquivo: somente o estorno ou estorno + apontamento.
Somente estorno: possui quantidade aprovada e refugado zerado ( ou sem conteúdo) e dados do ReversedReport.
Estorno + apontamento: possui ReversedReport informado e dados da ordem e quantidade aprovada ou refugada maior que zero.Será registrado automaticamente o campo SH6.H6_OBSERVA = 'PPI' para indicar que o registro foi gerado via integração PCP Protheus x PC-Factory.
O sistema PC-Factory usa o formato das horas com HH:MM:SS. Para o PCP Protheus será considerado apenas HH:MM. Apontamento com tempos menores que 1 minuto serão rejeitados.
- A importação respeita os parâmetros definidos nas rotinas MATA681 por meio da função F12 para usuário "admin".
- Como no PC-factory a operação pode ser baixada num momento posterior ao apontamento será usada a seguinte regra:
Obrigatoriamente deverão ser informadas as seguintes TAGS:
ProductionOrderNumber : Ordem de produção
ActivityCode : Operação
CloseOperation : True ou False. Sendo TRUE quando apontamento TOTAL ou operação encerrada/finalizada. False quando operação PARCIAL.
ReportDateTime : Data do apontamento
Os demais campos de quantidade(ApprovedQuantity e ScrapQuantity) e data/hora início/fim (StartReportDateTime e EndReportDateTime) devem passados sem valor (em branco).
Transação Apontamento de Parada de Máquina: StopReport_1_001.xsd
Identificador da Mensagem: StopReport
Versão: 1_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mensagem padrão | Descrição | Tabela/Campo |
---|---|---|
MachineCode | Código Máquina | SH6.H6_RECURSO |
MachineDescription | Descrição Maquina | |
StopReasonCode | Código Motivo Parada | SH6.H6_MOTIVO |
StopReasonDescription | Descrição Motivo Parada | SX5.X5_DESCRI * |
StartDateTime | Data/Hora Início | SH6.H6_DATAINI SH6.H6_HORAINI |
EndDateTime | Data/Hora Fim | SH6.H6_DATAFIN SH6.H6_HORAFIN |
OperatorCode | Código Operador | SH6.H6_OPERADO |
ReportDateTime | Data/Hora Reporte | SH6.H6_DTAPONT |
ReportSequence | ID PC-Factory |
Notas:
- O apontamento de parada padrão para essa integração será o MATA682.
- Os campos Máquina,Motivo de Parada, Data/Hora Inicio e Fim e Data/Hora Reporte serão obrigatórios.
- Caso Data/Hora do Reporte seja menor que a data atual, o sistema irá utilizar a Data/Hora atual, ou seja, data e hora que o integração estiver sendo processada.
Quando for apontamento de parada setar o SH6.H6_TIPO = 'I'.
O produto deverá ser a mão de obra. Gerado pelo sistema. Exemplo: SH6.H6_PRODUTO = MOD001
- A quantidade perda será gerada pelo sistema. SH6.H6_QTDPERD
- O campo SH6.H6_IDENT também é gerado pelo sistema
- O campo SH6.H6_TEMPO deve ser calculado pelo adapter. Deve ser o tempo total da parada.
- Motivo de Parada:
O motivo poderá ser cadastrado via integração. Deverá verificar se o motivo de parada está cadastrado. Caso não esteja deverá ser incluído o motivo utilizado no apontamento na tabela SX5.
Onde:
O código do motivo é X5_CHAVE
A tabela do motivo é '44'. - Todo apontamento deverá enviar uma mensagem de retorno, indicando possíveis problemas ou processamento efetuado com sucesso.
Em caso de sucesso o número do apontamento é enviado ao PC-Factory na mensagem de retorno da StopReport e corresponde ao RECNO da SH6. Este mesmo número será utilizado quando precisar registrar um estorno(IntegrationReport). - O estorno ocorre quando o campo o campo ReversedReport (Estorno do apontamento) possuir o conteúdo TRUE.
Quando for estorno deverá, obrigatoriamente ter o número do apontamento, campo IntegrationReport. O estorno pode ser gerado de duas formas no arquivo: somente o estorno ou estorno + apontamento. Quando a mensagem possuir o estorno e o apontamento só pode commitar as movimentações quando ambas forem concluídas.
Para identificar se a mensagem possui somente estorno ou estorno + apontamento deverá verificar as seguintes situações:
Somente estorno: possui somente as informações do ReversedReport e IntegrationReport com a demais tags sem dados.
Estorno + apontamento: possui ReversedReport e IntegrationReport informados e os demais dados obrigatórios (Máquina,Motivo de Parada, Data/Hora Inicio e Fim e Data/Hora Reporte ) preenchidos.Será registrado automaticamente o campo SH6.H6_OBSERVA = 'PPI' para indicar que o registro foi gerado via integração PCP Protheus x PC-Factory.
O sistema PC-Factory usa o formato das horas com HH:MM:SS. Para o PCP Protheus será considerado apenas HH:MM. Apontamento com tempos menores que 1 minuto serão rejeitados.
O campo ReportSequence é utilizado para registrar o ID da tabela que registra as informações da parada. Pode ser usado no ponto de entrada MATI681CRG.
Limitações / Restrições Gerais
A integração contempla apenas o sistemas PCP Protheus. O módulo Chão de Fábrica SIGASCF e geração de ordens pelo APS não estão integrados. Cadastramentos via Fluig ( WorkFlow) ou rotinas não descritas nesse documento também não estão contemplados nessa versão.
A Build deve ser igual ou superior a 7.00.131227A e data 08/09/2014.
Situações comuns
Possíveis situações problemáticas comuns que podem ocorrer durante o funcionamento da integração e como solucioná-los.
1) Quando uma mensagem é enviada do PCP Protheus para o PC-Factory, podem ocorrer situações em que o WebService não estará totalmente funcional. Nestes casos uma mensagem de erro genérica irá aparecer na tela:
Não foi possível realizar a conexão com o WebService do PCFactory.
Para resolver este problema, verifique as configurações do sistema de destino, analisando o funcionamento do servidor utilizado para esta comunicação e a habilitação do endereço do WebService.
Checklist de suporte da aplicação
Checklist de Verificações:
- Na rotina de parâmetros, PCPA109 verificar se o campo ativo está como "1 - ATIVO"
- Na rotina de parâmetros, PCPA109 , tstar conexão com o WebService da PPI informado por meio do botão Testar.
- Configuração das sessões WEBSERVICE e PROXY do APPSERVER.INI;
- Realizar possíveis ajustes na integração quanto à configuração ou negócio.