Integração PCP Protheus x PPI-Multitask

Contexto de negócio

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

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

 

Sistemas Envolvidos

  • PCP PROTHEUS 11.80.14, 12.1.10

  • PC-FACTORY (PPI MULTITASK)

 

Integração

O objetivo da Integração PC Factory (software MES da empresa PPI Multitask) X PCP 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 do Protheus com o MES PC-Factory da PPI-Multitask, que tem como objetivo controlar os apontamentos das ordens de produções. O PCP 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:

  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.
  2. 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.
  3. 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.
  4. WebService: Permite processar os apontamentos de produção e parada enviados do PC-Factory para o Protheus.
  5. 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.
  6. 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 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.

 

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.
Também é possível utilizar na versão 11.80.14. 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 PCP Protheus x PC-Factory PPI-Multitask é ativada por intermédio dos seguintes passos:

  1. Abrir o programa de Parâmetros da integração: PCPA109 (Atualizações -> Integração MES-> Parâmetros).
  2. Setar o campo Ativo para "1- Ativo".
  3. No campo caminho Informar a URL do WebService da PPI-Multitask.
  4. Verificar a conectividade do WebService por meio do botão Testar.
  5. Indicar se a integração irá gerar fisicamente os arquivos XML.
  6. Configurar os filtros para cada informação que será trafegada entre os sistemas.
  7. 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 e ordem de produção) terá um folder. Para cada folder será possível montar filtros. Estes 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 PCP 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;
  • 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;
  • Carga máquina MATA690;
  • Cálculo do MRP MATA712 (versão 11.8) ou PCPA107 (versão 12.1.10).

 

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

PPI-Multitask

Item_3_001.xsd

02

Local de Estoque

Protheus

PPI-Multitask

Warehouse_1_001.xsd

03

Recurso

Protheus

PPI-Multitask

Machine_1_000.xsd

04

Ordem de Produção

Protheus

PPI-Multitask

ProductionOrder_2_001.xsd

Processos

05

Apontamento de Produção

PPI-Multitask

Protheus

ProductionAppointment_1_001.xsd

06

Apontamento de Parada

PPI-Multitask

Protheus

StopReport_1_001.xsd

 

 

Fluxo das Informações

A integração ocorrerá no momento de cadastro, alteração ou exclusão de cada transação.
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 no programa MATA610, 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, 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.
  • 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), 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 ps que tiveram pendência de envio.
    Rotinas que foram afetadas pela integração: Manutenção de Ordens (MATA650), Rotina para Firmar Ordens (MATA651), Manutenção das Operações (MATA632), Manutenção dos Empenhos (MATA380 e MATA381), Carga Máquina (MATA690) e MRP (MATA712).
  • 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 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.
    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 PCP Protheus; que validará a mensagem e encaminhará ao respectivo adapter de negócio (MATA681 ou MATA682) 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 PCP Protheus não manterá rastreabilidade das mensagens recebidas).
    d. Em caso de sucesso no reporte, será retornado ao PC-Factory o número do registro do reporte realizado no PCP Protheus. Este número poderá ser utilizado em caso de estorno.
  • Consulta de Log de importação PCPA112: Esta rotina consiste na consulta dos registros dos apontamentos que foram processados pela integração PCP 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 Padrão

Descrição

Tabela/Campo
CompanyId Código da Empresa Logada

 

 
BranchId Código Filial SB1.B1_FILIAL
CompanyInternalIdEmpresa+Filial Empresa | SB1.B1_FILIAL
Code Código do ProdutoSB1.B1_COD
Name Descrição do produtoSB1.B1_DESC
InternalIdEmpresa+filial+código do produtoEmpresa | SB1.B1_FILIAL | SB1.B1_COD
ShortName Nome curtoSB1.B1_DESC
Active Item ativo?SB1.B1_ATIVO
UnitOfMeasureCode Unidade de MedidaSB1.B1_UM
UnitOfMeasureInternalIdEmpresa+filial+unidade de medidaEmpresa | SB1.B1_FILIAL | SB1.B1_UM
StockGroupCodeGrupo de EstoqueSB1.B1_GRUPO
StockGroupInternalIdEmpresa+filial+grupo de estoqueEmpresa | SB1.B1_FILIAL | SB1.B1_GRUPO
StockGroupDescriptionDescrição do grupo estoqueSBM.BM_DESC
StandardWarehouseCodeLocal de EstoqueSB1.B1_LOCPAD
StandardWarehouseInternalIdEmpresa+filial+local de estoqueEmpresa | SB1.B1_FILIAL | SB1.B1_LOCPAD
StandardWarehouseDescriptionDescrição Local de EstoqueNNR.NNR_DESCRI
EconomicLot Lote econômicoSB1.B1_LE
MinimumLot Lote mínimoSB1.B1_LM
FamilyCode FamíliaSB1.B1_FPCOD
FamilyInternalIdEmpresa+filial+famíliaEmpresa | SB1.B1_FILIAL | SB1.B1_FPCOD
FamilyDescription Descrição da famíliaSYC.YC_NOME
NetWeightPeso do ItemSB1.B1_PESO
GrossWeighPeso brutoSB1.B1_PESBRU
TrailRastroSB1.B1_RASTRO
BinControlControla EndereçoSB1.B1_LOCALIZ
SecondUnitOfMeasureCodeSegunda Unidade de medidaSB1.B1_SEGUM
SecondUnitOfMeasureInternalIdEmpresa+filial+ seg. unidade de medidaEmpresa | SB1.B1_FILIAL | SB1.B1_SEGUM
MultiplicationFactorValue Fator de conversãoSB1.B1_CONV
ProductTypeTipo do ItemSB1.B1_TIPO
PackingQuantity Quantidade EmbalagemSB1.B1_QE
CostCenterCodeCentro de CustoSB1.B1_CC

 

Notas:

Se for um tipo que não está definido deverá gravar como GENÉRICO. Exemplo: Tipo = AMOSTRA. 

 

Transação Depósito: Warehouse_1_001.xsd
Identificador da Mensagem: Warehouse
Versão: 1_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona

 

Mensagem PadrãoDescriçãoTabela/Campo
CompanyIdCódigo da Empresa 
BranchIdCódigo da FilialNNR.NNR_FILIAL
CompanyInternalIdEmpresa+FilialEmpresa | NNR.NNR_FILIAL
CodeCódigo do Local de Estoque(armazém/almoxarifado/depósito)NNR.NNR_CODIGO
InternalIdEmpresa+Filial+código localEmpresa | NNR.NNR_FILIAL | NNR.NNR_CODIGO
DescriptionDescrição do Local de Estoque(armazém/almoxarifado/depósito)NNR.NNR_DESCRI
ActiveLocal de Estoque Ativo?true
TypeTipo do Local de EstoqueNNR.NNR_TIPO
WarehouseClassificationClassificaçãoNNR.NNR_INTP
WorkCenterCodeCentro de TrabalhoNNR.NNR_CTRAB

 

Transação Recurso: Machine_1_000.xsd
Identificador da Mensagem: Machine
Versão: 1_000
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona

Mensagem PadrãoDescriçãoTabela/Campo
CodeCódigo MáquinaSH1.H1_CODIGO
DescriptionDescrição MáquinaSH1.H1DESCRI
WorkCenterCodeCódigo Centro TrabalhoSH1.H1_CTRAB
WorkCenterDescriptionDescrição Centro TrabalhoSHB.HB_NOME
CostCenterCodeCódigo Centro CustoSH1.H1_CCUST

 

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ãoDescriçãoTabela/Campo
NumberNúmero Ordem ProduçãoSC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN
ProductionOrderUniqueIDEmpresa+Filial+Ordem ProduçãoEmpresa | SC2.C2_FILIAL | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN
ItemCodeCódigo ItemSC2.C2_PRODUTO
ItemDescriptionDescrição ItemSB1.B1_DESC
TypeTipo da OrdemFixo 1 (ordem interna)
QuantityQuantidadeSC2.C2_QUANT
ReportQuantityQuantidade ReportadaSC2.C2QUJE
UnitOfMeasureCodeUnidade MedidaSC2.C2_UM
RequestOrderCodeCódigo Pedido Ordem ProduçãoSC2.C2_PEDIDO
StatusOrderTypeEstado da ordem

Prevista/Aberta = 1

Iniciada = 6

Ociosa = 9

Encerrada Parcial/Total = 7

WarehouseCodeCódigo DepósitoSC2.C2_LOCAL
EndOrderDateTimeData Fim Ordem Produção CPSC2.C2_DATPRF
StartOrderDateTimeData Início Ordem Produção CPSC2.C2_DATPRI
AbbreviationProviderNameNome ClienteSC5.C5_CLIENTE ( SA1.A1_NOME)
ScriptCodeCódigo RoteiroSC2.C2_ROTEIRO
ListOfActivityOrders  
ProductionOrderNumberOrdem de Produção

SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN

ActivityIDID do RegistroRECNO (SG2,SHY ou SH8)
ActivityCodeCódigo OperaçãoSG2 (SG2.G2_OPERAC) ou SHY (SHY.HY_OPERAC) ou SH8(SH8.H8_OPER)
ActivityDescriptionDescrição OperaçãoSG2.G2_DESCRI
ItemCodeCódigo do item

SC2.C2_PRODUTO

ItemDescriptionDescrição do itemSB1.B1_DESC
ActivityTypeTipo OperaçãoFixo "1" ( 1 - Aponta ; 2-Não Aponta )
WorkCenterCodeCódigo Centro de TrabalhoSG2 (SG2.G2_CTRAB) ou SHY (SHY.HY_CTRAB) ou SH8(SH8.H8_CTRAB)
WorkCenterDescriptionDescrição Centro de TrabalhoSHB.HB_NOME
UnitTimeTypeTipo Unidade TempoFixo "1" ( 1 - Horas; 2 - Minutos; 3- Segundos; 4 - Dias)
TimeResourceTempo Recurso(Tempo para fazer um lote)SG2.G2_TEMPAD
TimeMachineTempo 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

TimeSetupTempo PreparaçãoSG2 (SG2.G2_SETUP) ou SHY (SHY.HY_TEMPOS) ou SH8 (SH8.H8_SETUP)
ScriptCodeCódigo RoteiroSG2 (SG2.G2_CODIGO) ou SHY (SHY.HY_ROTEIRO) ou SH8(H8_ROTEIRO)
LaborCodeCódigo Mão de Obra DiretaMOD+CC
UnitItemNumberLote PadrãoSG2.G2_LOTEPAD
IsActivityEndÚltima OperaçãoNa última operação passar TRUE. Nas demais FALSE.
MachineCodeCódigo MáquinaSG2(SG2_RECURSO) ou SHY(SHY_RECURSO) ou SH8(H8_RECURSO)
StartPlanDateTimeData/Hora Início ProgramaçãoSHY(SHY.HY_HORAINI) ou SC2(SC2.C2_DATPRI) ou SH8(H8_DTINI)
EndPlanDateTimeData/Hora Fim ProgramaçãoSHY(SHY.HY_HORAFIM) ou SC2(SC2.C2_DATPRF) ou SH8(H8_DTFIM)
ProductionQuantityQuantidade a produzir na operaçãoSHY.HY_QUANT ou SH8.H8_QUANT ou SC2.C2_QUANT
UnitActivityCodeUnidade de medidaSB1.B1_UM
SecondUnitActivityCodeSegunda unidade de medida na operação 
SecondUnitActivityFactorFator de conversão para segunda un. na operação 
ListOfMaterialOrders  
ProductionOrderNumberOrdem de produçãoSC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN
MaterialIDID do registro da reservaSD4.R_E_C_N_O_
MaterialCodeCódigo Item ReservaSD4.D4_COD
MaterialDescriptionDescrição do ItemSB1.B1_DESC
ScriptCodeCódigo RoteiroSD4.D4_ROTEIRO (a partir do pacote 12.1.8)
ActivityCodeCódigo OperaçãoSD4.D4_OPERAC (a partir do pacote 12.1.8)
WarehouseCodeCódigo DepósitoSD4.D4_LOCAL
MaterialDateData ReservaSD4.D4_DATA
MaterialQuantityQuantidade ReservaSD4.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ãoDescriçãoTabela/Campo
MachineCodeMáquinaSH6.H6_RECURSO
ProductionOrderNumberOrdem de ProduçãoSH6.H6_OP
ActivityCodeOperaçãoSH6.H6_OPERAC
ItemCodeProdutoSH6.H6_PRODUTO
ApprovedQuantityQuantidade AprovadaSH6.H6_QTDPROD
ScrapQuantityQuantidade RefugadaSH6.H6_QTDPERD
StartReportDateTimeData/Hora Início Reporte

SH6.H6_DATAINI

SH6.H6_HORAINI

EndReportDateTimeData/Hora Fim Reporte

SH6.H6_DATAFIN

SH6.H6_HORAFIN

ReversedReportEstorno do Apontamento 
ReversalDateData do estorno 
ReportDateTimeData/Hora ReporteSH6.H6_DTAPONT
WarehouseCodeCódigo DepósitoSH6.H6_LOCAL
LotCodeLote/SérieSH6.H6_LOTECTL
LotDueDateData Validade LoteSH6.H6_DTVALID
IntegrationReportRegistro a ser estornado 
CloseOperationEncerra OperaçãoSH6.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ãoDescriçãoTabela/Campo
MachineCodeCódigo MáquinaSH6.H6_RECURSO
MachineDescriptionDescrição Maquina 
StopReasonCodeCódigo Motivo ParadaSH6.H6_MOTIVO
StopReasonDescriptionDescrição Motivo ParadaSX5.X5_DESCRI *
StartDateTimeData/Hora Início

SH6.H6_DATAINI

SH6.H6_HORAINI

EndDateTimeData/Hora Fim

SH6.H6_DATAFIN

SH6.H6_HORAFIN

OperatorCodeCódigo OperadorSH6.H6_OPERADO
ReportDateTimeData/Hora ReporteSH6.H6_DTAPONT
ReportSequenceID 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.