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.
Sistemas Envolvidos
PCP PROTHEUS 11.880.14, 12.1.910
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:
- 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.
Observação: A integração contempla apenas o sistemas PCP Protheus. O módulo Chão de Fábrica SIGASCF, a rotina do cálculo MRP 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.910.
Também é possível utilizar na versão 11.880.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:
- 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 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 listadas exibidas as ordens quantidades de registros que não foram enviadas enviados ao PPI-Multitask e também ps que tiveram pendência de envio gerada.
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 e , 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: 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
CadastrosOrdem de Produção: 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 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 necessita apenas de um WEBSERVICE executando. O que vai indicar a filial onde será 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 |
CompanyInternalId | Empresa+Filial | Empresa | SB1.B1_FILIAL |
Code | Código do Produto | SB1.B1_COD |
Name | Descrição do produto | SB1.B1_DESC |
InternalId | Empresa+filial+código do produto | Empresa | SB1.B1_FILIAL | SB1.B1_COD |
ShortName | Nome curto | SB1.B1_DESC |
Active | Item ativo? | SB1.B1_ATIVO |
UnitOfMeasureCode | Unidade de Medida | SB1.B1_UM |
UnitOfMeasureInternalId | Empresa+filial+unidade de medida | Empresa | SB1.B1_FILIAL | SB1.B1_UM |
StockGroupCode | Grupo de Estoque | SB1.B1_GRUPO |
StockGroupInternalId | Empresa+filial+grupo de estoque | Empresa | SB1.B1_FILIAL | SB1.B1_GRUPO |
StockGroupDescription | Descrição do grupo estoque | SBM.BM_DESC |
StandardWarehouseCode | Local de Estoque | SB1.B1_LOCPAD |
StandardWarehouseInternalId | Empresa+filial+local de estoque | Empresa | SB1.B1_FILIAL | SB1.B1_LOCPAD |
StandardWarehouseDescription | Descrição Local de Estoque | NNR.NNR_DESCRI |
EconomicLot | Lote econômico | SB1.B1_LE |
MinimumLot | Lote mínimo | SB1.B1_LM |
FamilyCode | Família | SB1.B1_FPCOD |
FamilyInternalId | Empresa+filial+família | Empresa | SB1.B1_FILIAL | SB1.B1_FPCOD |
FamilyDescription | Descrição da família | SYC.YC_NOME |
NetWeight | Peso do Item | SB1.B1_PESO |
GrossWeigh | Peso bruto | SB1.B1_PESBRU |
Trail | Rastro | SB1.B1_RASTRO |
BinControl | Controla Endereço | SB1.B1_LOCALIZ |
SecondUnitOfMeasureCode | Segunda Unidade de medida | SB1.B1_SEGUM |
SecondUnitOfMeasureInternalId | Empresa+filial+ seg. unidade de medida | Empresa | SB1.B1_FILIAL | SB1.B1_SEGUM |
MultiplicationFactorValue | Fator de conversão | SB1.B1_CONV |
ProductType | Tipo do Item | SB1.B1_TIPO |
PackingQuantity | Quantidade Embalagem | SB1.B1_QE |
CostCenterCode | Centro de Custo | SB1.B1_CC |
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 Padrão | Descrição | Tabela/Campo |
---|---|---|
CompanyId | Código da Empresa | |
BranchId | Código da Filial | NNR.NNR_FILIAL |
CompanyInternalId | Empresa+Filial | Empresa | NNR.NNR_FILIAL |
Code | Código do Local de Estoque(armazém/almoxarifado/depósito) | NNR.NNR_CODIGO |
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 |
Active | Local de Estoque Ativo? | true |
Type | Tipo do Local de Estoque | NNR.NNR_TIPO |
WarehouseClassification | Classificação | NNR.NNR_INTP |
WorkCenterCode | Centro de Trabalho | NNR.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ão | Descrição | Tabela/Campo |
---|---|---|
Code | Código Máquina | SH1.H1_CODIGO |
Description | Descrição Máquina | SH1.H1DESCRI |
WorkCenterCode | Código Centro Trabalho | SH1.H1_CTRAB |
WorkCenterDescription | Descrição Centro Trabalho | SHB.HB_NOME |
CostCenterCode | Código Centro Custo | SH1.H1_CCUST |
Transação Ordem de Produção: ProductionOrder_2_001.xsd
Identificador da Mensagem: ProductionOrder
Versão: 2_001
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" |
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 |
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.
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.
Limitações / Restrições Gerais
A integração contempla apenas o sistemas PCP Protheus. O módulo Chão de Fábrica SIGASCF, a rotina do cálculo MRP 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.