Páginas filhas
  • DI Integração PCP Protheus x Totvs Mes

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Integração PCP Protheus x PPI-Multitask

Contexto de negócio

  1. MES
    Manufacturing Execution Systems, ou simplesmente MES, é o termo utilizado 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 à linha de produção, visando a um fluxo ordenado e contínuo do processo produtivo.

  3. 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 integrada ao MES, os apontamentos serão realizados pelo sistema MES.


Sistemas Envolvidos

  • PCP PROTHEUS

  • PCP - SIGASFC PROTHEUS
  • 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 tem como responsabilidade a criação das ordens de produção e o PC-Factory, 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.


A integração contempla as seguintes rotinas e processos na FASE 2:

A fase 2 contempla o consumo dos componentes, movimentações efetuadas pelo PC-Factory e saldos em estoque. Também considera o sistema SIGASFC - Chão de Fábrica.

  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 Protheus e PC-Factory. A integração contempla as seguintes informações: Produto, local de estoque, recurso, máquinas, ferramentas, roteiro, estrutura, endereço, ordens de produção, saldos em estoque, movimentos e transferências de estoque, apontamento de produção, apontamento de parada e recusa.
  3. 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.
  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 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.
  6. Log de Importação: Permite consultar o processo de integração dos apontamentos de produção, paradas e recusas enviados do PC-Factory para o Protheus.


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


[HTTP]
enable=1
port=8090

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

[JOB_WS_9901]

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

;FIM CONFIGURACAO WEBSERVICE


Informações
titleImportante:
O nome do Webservice a ser utilizado no TOTVSMES é o WSPCP. Não é utilizado o EAI.

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

Nota
titleNota:
Existe um wizard para facilitar a criação dos webservices Protheus. Verificar em: http://tdn.totvs.com/display/framework/Como+iniciar+um+servidor+de+Webservices+no+Protheus

Quadro de compatibilidade:

Versão ProtheusVersão PC-FactoryConteúdo
PCP PROTHEUS 11.80.14, 12.1.10
Fase 1

PCP PROTHEUS 11.80.18, 12.1.14


4.0.1713.2002
  • Timeout com reprocessamento (incluindo o ‘reprocessa’);

    <BusinessEvent>

                <Entity>productionappointment</Entity>

                <Event>upsert</Event>

                <Identification>

                  <key name="IDPCFactory">9o93049u88557</key>

    <key name="Reprocess">true</key>

                </Identification>

            </BusinessEvent>

PCP - PROTHEUS 11.80.17, 12.1.16

4.0.1713.2002
  • Fase 2 - Mensagens da fase 2 (alocação de materiais, reporte de movimentações, estrutura de produto, etc);
  • Implementação do SFC.
PCP - PROTHEUS 11.80.17, 12.1.164.0.1714.1002
  • Mensagens do Bloco K (Subproduto, Coproduto, etc);
  • Preenchimento da tag <Split> na integração com PCP;
PCP - PROTHEUS 11.80.21, 12.1.164.0.1714.1002
  • Recusa;
  • Estorno de mensagens em bloco;
  • Inclusão de tags de refugo na mensagem ProductionAppointment (dentro da tag WasteAppointment).
PCP - PROTHEUS 12.1.19
  • Autenticação;
  • Integração com APS.


Autenticação

Quando o usuário e a senha estiverem cadastrados no PCPA109 (Parâmetros de Integração MES), folder Segurança, estes dados serão enviados na mensagem para que o PC-Factory efetue a autenticação.

Estes dados serão enviados no cabeçalho da mensagem da seguinte forma:

Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l

Onde: O valor será usuário:senha criptografado em Base64.

O recebimento das mensagens também seguirá mesmo modelo, porém o PC-Factory enviará um usuário do Protheus.

Informações
titleImportante:
Para configurar a autenticação no recebimento, o appserver.ini deve ter o campo SECURITY=1, conforme exemplo de configuração do WebService.

Security = 0 -> Não utiliza autenticação.

Security = 1 -> Utiliza autenticação


Instalação/Atualização

A integração 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.

Selecionando o campo Gera XML, serão gerados os XML das mensagens trocadas. Se não estiver selecionado, 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>
Em que: 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, número 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, MATA200;
  • 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.
  • Recusa/Apontamento de perda MATA685.


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.

Nota
titleNota:
Esse 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)

ProgramasTabela

Cadastros

01

Produto

Protheus

PC-Factory

Item_3_001.xsd

MATA010SB1

02

Local de Estoque

Protheus

PC-Factory

Warehouse_1_001.xsd

AGRA045NNR

03

Máquinas

Protheus

PC-Factory

Machine_1_000.xsd

MATA610

SFCA002

SH1

CYB

04RecursosProtheusPC-FactoryResource_1_000

MATA620

SFCA006

SH4

CYH

05EstruturaProtheusPC-FactoryItemStructure_1_000MATA200SG1
06RoteiroProtheusPC-Factory ItemScript_1_000

MATA632

MATA637

SG2

07

Ordem de Produção

Protheus

PC-Factory

ProductionOrder_2_004.xsd

MATA650

MATA651

MATA380

MATA381

MATA690

MATA712

PCPA107

SFCA310

SC2
08EndereçoProtheusPC-Factory AddressStock_1_000MATA015SBE
09EstoqueProtheusPC-FactoryItemStockLevel_1_000

B2ATUCOMD1

B2ATUCOMD2

B2ATUCOMD3

MATA220

MATA805

SB2

SB8

SBF

Processos

09

Motivo de Parada

PC-Factory

Protheus

StopReason_1_000

CFGX016

SFCA004

SX5

CYN

10Motivo de RefugoPC-FactoryProtheusWasteReason_1_000

CFGX016

SFCA003

SX5

CYO

11Apontamento de ProduçãoPC-FactoryProtheusProductionAppointment_2_000

MATA681

SFCA316

SH6

SD3

CYV

12

Apontamento de Parada

PC-Factory

Protheus

StopReport_1_001

MATA682

SFCA311

SH6

CYX

13Estoque - RequestPC-FactoryProtheusStockLevel_2_00

SB2

SB8

SBF

14MovimentaçõesPC-FactoryProtheus MovementsInternal_1_001

MATA240

MATA250

SD3
15TransferênciaPC-FactoryProtheusTransferWarehouse_1_003MATA261SD3
16RecusaPC-FactoryProtheusRefusal_1_000MATA685SBC

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 programas MATA610 ou SFCA006 ou SFCA002 (máquina) e ferramentas no MATA620. Os programas verificam se a integração está ativa e, se estiver ativa, efetuam 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 realizada 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-Factory.
    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. Esse 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), deverá executar MATA240. Nos casos de transferências executará o MATA261.
  • Recusa/Apontamento de perda. Esta rotina consiste no WebService para receber os registros de recusa realizados no PC-Factory. Executará o mesmo processo que as rotinas MATA685.
  • Consulta de Log de importação PCPA112: Essa 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 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 específico ou tabela específica não tratada pela integração, poderá usar essa função para setar seu conteúdo. Detalhes em: MATI681CRG - Adicionar informações Adapter do apontamento.

Apontamento: O ponto de entrada MT680VAL permite validar se alguma informação deverá ser obrigatória como tempo, quantidade, entre outros. Essas validações ficarão a cargo dos clientes, pois cada um terá sua regra. Detalhes em: MT680VAL - Inclusão das Produções.

Apontamento: O ponto de entrada MATI680OPR permite alterar o código da operação recebida no apontamento da produção. Detalhes em: MATI681OPR - Alterar código operação mensagem apontamento produção.

Apontamento: O ponto de entrada MTI681QTAP permite alterar a quantidade recebida no apontamento da produção. Este ponto de entrada é indicado para aplicar o fator de conversão na quantidade do apontamento quando ERP e PC-Factory trabalham com unidade de medida diferente. Detalhes em: MTI681QTAP - Alterar quantidade do apontamento ProductionAppointment.

Apontamento: O ponto de entrada MATI681EXC permite verificar se o apontamento será executado ou não. Este ponto de entrada é indicado para validações que impeçam o apontamento de produção e parada. Também usado para casos em que é necessário atualizar alguma informação antes do apontamento (exemplo: estornar um endereçamento). Detalhes em: MATI681EXC - Processa mensagem Apontamento.

Apontamento: O ponto de entradMT681ALXML permite modificar qualquer informação da mensagem. Este ponto é indicado para empresas que possuem produtos com controles distintos entre o ERP e o PC-Factory. Por exemplo, controla Lote no PC-Factory e não controla no ERP. O Lote é gerado no XML e retirado via ponto de entrada. Detalhes em: MT681ALXML - Alterar informações XML ProductionAppointment.

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 operação Adapter ordem de produção.

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 conversão segunda unidade de medida da operação Adapter ordem de produção.

Ordem de Produção: O ponto de entrada MTI650QTOP permite alterar a quantidade da operação que será enviada na mensagem de ordens de produção. Detalhes em: MTI650QTOP - Alterar quantidade da operação adapter ordem de produção.

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 operação Adapter ordem de produção.

Ordem de Produção: O ponto de entrada MTI650TMAC permite alterar o tempo de máquina (TimeMachine) na mensagem de ProductionOrder. Detalhes em: MTI650TMAC - Alterar quantidade do tempo de máquina no adapter ProductionOrder.

Ordem de Produção: O ponto de entrada MTI650LOTE permite gerar o Lote da ordem na tag LotCode na mensagem ProductionOrder. Detalhes em: MTI650LOTE - Adicionar lote na mensagem de Ordens de produção.

Ordem de Produção: O ponto de entrada MTI650UTTP permite alterar o valor enviado na tag UnitTimeType. Detalhes em: MTI650UTTP - Alterar o valor da tag UnitTimeType da mensagem ProductionOrder.

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á utilizar essa função para inibir o uso. Detalhes em: PCPXFUNPPI - Rotinas que não realizam integração com o PC-Factory.

Cadastro de Item: o Ponto de entrada PCPADDTAGS permite incluir tags específicas nas mensagens padrões TOTVS. Está habilitado para o cadastro de item MATA010. Detalhes em: PCPADDTAGS - Adicionar informações XML Integração TOTVS MES.

Cadastro de Processos: o Ponto de entrada PCPADDTAGS permite incluir tags específicas nas mensagens padrões TOTVS. Está habilitado para o cadastro de roteiro MATA632. Detalhes em: PCPADDTAGS - Adicionar informações XML Integração TOTVS MES.

Cadastro de Processos: O ponto de entrada MTI632UTTP permite alterar o valor enviado na tag UnitTimeType. Detalhes em: MTI632UTTP - Alterar o valor da tag UnitTimeType da mensagem ItemScript.

Cadastro de Máquina: O ponto de entrada MTI610UTTP permite alterar o valor enviado na tag UnitTimeType. Detalhes em: MTI610UTTP - Alterar o valor da tag UnitTimeType da mensagem Machine.

Movimentos internos. Os pontos de entrada MATI250CRG e MATI240CRG possibilitam alguma validação específica. Essas validações ficarão a cargo dos clientes, pois cada um terá sua regra. Não podem ser alterados os valores dos campos que foram gerados pela mensagem. Detalhes em: MATI240CRG - Adicionar informações Adapter de movimentações internas e MATI250CRG - Adicionar informações Adapter de movimentos de produção.

Transferências: O ponto de entrada MI261RCV possibilita a não execução da integração. Detalhes em: MI261RCV - Executar integração TransferWarehouse.

Recusa: O ponto de entrada MATI685EXC permite verificar se a recusa será executado ou não. Este ponto de entrada é indicado para validações que impeçam o apontamento de recusa ou atualizações de informações necessárias para realizar a recusa. Detalhes em: MATI685EXC - Processa mensagem recusa.



Executar em várias filiais

Em um ambiente com várias filiais é necessário apenas um WEBSERVICE sendo executado. 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


Controle de latência

Existem situações em que o tempo de espera do webservice é menor que o tempo de processamento das importações para o ERP. Pode ocorrer a situação em que o ERP continue processando a importação e o WebService do PC-Factory para de esperar a resposta. Quando o PC-Factory não recebe a resposta a tempo, o mesmo arquivo é reenviado, podendo gerar duplicidade no processamento da mensagem.

Solução:

Controlar ID do PC-Factory para as mensagens recebidas. Todas as mensagens recebidas deverão ter esse tratamento:

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

Nos XML´s será usada a TAG  Key name = "IDPCfactory"

<BusinessEvent>

      <Entity>Entity</Entity>

      <Event>upsert</Event>

      <Identification>

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

      </Identification>

</BusinessEvent>


O retorno com erro apresenta a mensagem com o seguinte padrão:


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

   <Status>ERROR</Status>

   <ListOfMessages>

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

   </ListOfMessages>

</ProcessingInformation>


O XML de retorno deverá respeitar a seguinte regra:

  • Quando ID já processado e contêm ERRO

              Retorna o ID PC-Factory na tag  <UUID>

              Na tag Message type="ERROR" code="2", utiliza o 2 para indicar erro.

              A mensagem será: ID xxxx já processado. Status: mensagem de erro”.

             Exemplo: <Message type="ERROR" code="2">ID productionappointment-0038 já processado. Status: ProductionOrderNumber não cadastrada no Protheus.</Message>


  • Quando ID já processado com sucesso

              Retorna o ID PC-Factory na tag  <UUID>

              Na tag Message type="ERROR" code="3", usa o 3 para indicar o processamento com sucesso.

             A mensagem será: "ID xxxx já processado. Status: ID do Protheus" ou  "ID xxxx já processado. Status: Reprocessado. ID do Protheus" quando o PC-Factory enviar mais de uma vez.

             Exemplo 1:      <Message type="ERROR" code="3">ID productionappointment-0038 já processado. Status: 5091</Message>

             Exemplo 2:      <Message type="ERROR" code="3">ID productionappointment-0038 já processado. Status: Reprocessado. 5091</Message>.

  • Quando ID já está na base mas em processamento

              Retorna o ID PC-Factory na tag  <UUID>

              Na tag Message type="ERROR" code="4", usa o 4 para indicar que está em processamento.

              A mensagem será: ID xxxx está sendo processado pelo Protheus.

              Exemplo: <Message type="ERROR" code="4">ID apapapapeaaa está sendo processado pelo Protheus.</Message>


Nota
titleNota:

O retorno, quando mensagem processada "de primeira", dentro do tempo de espera do webservice, será "1" - Processado de primeira vez com ERRO ou OK.

Exemplo:

Com Erro:

<ProcessingInformation>

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

   <Status>ERROR</Status>

   <ListOfMessages>

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

   </ListOfMessages>

</ProcessingInformation>


Com Sucesso:

<ProcessingInformation>

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

         <Status>OK</Status>

</ProcessingInformation>

<ReturnContent>

         <ListOfInternalId>

            <InternalId>

               <Name>PRODUCTIONAPPOINTMENTINTERNALID</Name>

               <Destination>5090</Destination>

            </InternalId>

         </ListOfInternalId>

</ReturnContent>




Situações inesperadas que podem ocorrer: a parada do serviço do Protheus, banco de dados fora do ar, falta de energia, entre outros. Se ocorrer durante o processamento da integração, o registro do PC-Factory (ID do PC-Factory) pode ficar travado e a mensagem não sai da fila de processamento. Para tratar essa situação:

O PC-Factory tenta enviar por determinado tempo, tempo esse parametrizado no PC-Factory. Caso continue recebendo a mesma mensagem depois do tempo parametrizado, o PC-Factory gera uma pendência de envio e passa para o próximo registro. Ao passar para o próximo registro, um contador de mensagens não enviadas é gerado. Quando esse contador atinge um limite (parametrizado), o processo de integração é paralisado para que os usuários possam resolver o problema. O controle de processamento ficará registrado em tabela de LOG SOH.

Abaixo tabela dos códigos enviados:

CodeMessageTabela de controle - SOH.OH_STATUS
1Processado na primeira tentativa com ERRO ou OK1 ou 2
2Registro já processado com retorno de erro2
3Registro já processado com sucesso1
4Registro em processamento0
Informações
titleImportante:
  • Caso um registro fique preso com status de "registro em processamento", este poderá ser destravado pela rotina PCPA112, incluindo o IDMES correspondente.
  • O reprocessamento de uma mensagem com ERRO(2) pode ser feito passando a tag Reprocess = true.
    Exemplo:

    <BusinessEvent>

                <Entity>productionappointment</Entity>

                <Event>upsert</Event>

                <Identification>

                  <key name="IDPCFactory">9o93049u88557</key>

                  <key name="Reprocess">true</key>

                </Identification>

            </BusinessEvent>



Autenticação

Quando o usuário e a senha estiverem cadastrados no PCPA109 (Parâmetros), folder Segurança, estes dados serão enviados na mensagem para que o PC-Factory efetue a autenticação.

Estes dados serão enviados no cabeçalho da mensagem da seguinte forma:

Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l

Onde: O valor será usuário:senha criptografado em Base64.

O recebimento das mensagens também seguirá o mesmo modelo, porém o PC-Factory enviará um usuário do Protheus.

Informações
titleImportante:
Para configurar a autenticação no recebimento, o appserver.ini deve ter o campo SECURITY=1, conforme exemplo de configuração do WebService.


Security = 0 -> Não utiliza autenticação.

Security = 1 -> Utiliza autenticação


Rotinas

Parametrização - PCPA109

A parametrização terá influência direta sobre os registros que serão movimentados entre os dois sistemas.

A rotina de parametrização terá os seguintes campos:

  • Ativo: Indica se a integração está ativa. Ao selecionar esse campo, os demais são habilitados. Se este campo estiver desmarcado, nenhuma outra ação poderá ser realizada na rotina.
  • Caminho: Indica o caminho do WebService do PC-Factory. Após o caminho, terá um botão testar para verificar se webservice está ativo.
  • Terá um painel XML.
    Neste painel poderá indicar:
    - Gera XML - Ao selecionar esse campo, irá gerar os XML das mensagens trocadas. Se não estiver selecionado, será gravado apenas em tabelas. A geração dos arquivos não é obrigatória. Serve como uma ferramenta útil para encontrar problemas. O envio sempre será feito com base do que estiver registrado nas tabelas.
    - Enviados - Diretório onde serão salvos os XMLs enviados com sucesso ao PC-Factory
    - Pendência - Diretório onde serão salvos os XMLs que não foram enviados ao PC-Factory
    Os nomes do arquivos seguirão o seguinte padrão:
    OK_<MSG>_<DATAHORA>_<REGISTRO>
    PEND_<MSG>_<DATAHORA>_<REGISTRO>
    ERR_<MSG>_<DATAHORA>_<REGISTRO>
    Em que: 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, número da ordem, etc.
    Obs.: Se selecionar o Gera XML, deverão ser informados os diretórios.

Para cada arquivo movimentado terá um folder. Para cada folder será possível montar filtros. Esses 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. Além de filtros, alguns arquivos possuem parametrizações.

A rotina terá os seguintes folders:

  • Produto
  • Local de Estoque
  • Recurso
  • Máquina
    O folder máquina somente será exibido quando o chão de fábrica estiver em uso.
  • Ferramenta
  • Ordem de Produção
    Painel MRP: Indica como o sistema deverá se comportar em relação as ordens geradas pelo MRP. Terá as seguintes opções:
    "Não integra": As ordens geradas pelo MRP não serão enviadas ao PC-Factory pelo cálculo do MRP
    "Gera Pendência": As ordens geradas pelo MRP ficarão registradas nas pendências de envio
    "Integra": As ordens geradas pelo MRP serão enviadas ao PC-Factory pelo cálculo do MRP.

    Painel "Consumo de componentes". Determinar como será o consumo dos componentes. Esse campo pode conter os seguintes valores:
    "1" - BackFlush: Sempre irá realizar a baixa dos componentes conforme o definido na engenharia.
    "2" - Consumo Real: Irá consumir conforme lista de componentes.
     
    Painel "Operações": Define se o filtro criado no folder "Roteiros" deve ser utilizado para filtrar as operações da ordem de produção.

    Painel "Refugo": Define o local de estoque/depósito para o item refugado quando o refugo for o mesmo produto da ordem de produção. Quando o depósito - "WharehouseCodeTo" vier em branco na mensagem ProductionAppointment, usar o que foi definido no parâmetro.

    Painel "APS": Define se a integração considera ordens geradas pelo APS.  
  • Roteiros
  • Estrutura
  • Endereço
  • Movimentos e transferência
    Os movimentos de estoque, entrada ou saída e também as transferências são arquivos recebidos pelo Protheus. Não necessita de filtros, porém deverão ser criados alguns parâmetros para o processamento. São eles:
    Tipo de Movimento de entrada Entrada Produção: Usar campo SOE.OE_VAR1
    Tipo de Movimento de Saída: Usar campo SOE.OE_VAR2
    Tipo de Movimento Co-produto: Usar campo SOE.OE_VAR3
    Tipo de Movimento de entrada Entrada Estoque: Usar campo SOE.OE_VAR4
    Estes tipos de movimentos são cadastrados no MATA230
  • Saldo estoque
    Para o folder Saldo de estoque terá a opções de três filtros. Tabela SB2, SB8 e SBF. 
    Também poderá indicar em qual processo de movimentação deverá enviar o saldo ao PC-Factory
    Em que: 
    Nota Fiscal de Entrada   : SOE.OE_VAR1 (Marcado = 1; Desmarcado = 0 )
    Nota Fiscal de Venda     : SOE.OE_VAR2 (Marcado = 1; Desmarcado = 0 )
    Movimentações Internas: SOE.PARINTG (Marcado = 1; Desmarcado = 0 )
    Implantação de Saldo: SOE_OE_VAR3(Marcado = 1; Desmarcado = 0 )
    Estas opções são válidas somente para o envio do Protheus para o PC-Factory. Para o request (solicitação do PC-Factory) não terá filtros.
  • Segurança
    Utilizado para realizar o controle autenticação na troca de mensagem entre os sistemas. Permite informar usuário e senha que devem ser válidos no PC-Factory, ou seja, informar o usuário e senha cadastrado no PC-Factory.


Sincronização - PCPA111

A sincronização é o processo que será utilizado para popular ou atualizar a base do PC-Factory com os dados do Protheus. O funcionamento se dará da mesma forma que as demais rotinas de integração, enviando uma mensagem XML ao WebService do PC-Factory, respeitando as parametrizações definidas no PCPA109. A única diferença é que serão visualizados todos os dados da tabela que estiver sendo integrada (respeitando os filtros) ao invés de apenas um único registro.



Pendências - PCPA110

Rotina para reenviar as mensagens não enviadas ao sistema PC-Factory, sejam elas pendências ou erro. A rotina também possibilita consultar as mensagens enviadas (LOG de envio).

Poderá verificar as pendências e log das mensagens trafegadas entre os sistemas:

  • Cadastro de Estruturas
  • Produto/Item
  • Local de Estoque (depósitos)
  • Recurso PCP
  • Ordens de produção (Operações, Roteiros, Componentes, Splits) 
  • Recursos do chão de fábrica - Ferramentas, Equipe e Operador
  • Ferramentas
  • Máquinas do Chão de Fábrica
  • Roteiro - Operações
  • Endereços
  • Saldo 

Possui as seguintes opções: 

  • Reprocessar: 
    Para cada linha selecionada deverá executar o envio das mensagens.
  • Excluir
    Deverá excluir os registros selecionados
  • Salvar XML
    Esta opção permite salvar o XML em um diretório local da máquina que está processando a rotina de pendências.
  • Atualizar
    Irá refazer a pesquisa dos registros, atualizando os dados na tela



Log de Importação - PCPA112

Ao receber dados do PC-Factory, o WebService Protheus grava as informações para que possam ser consultadas (tabela SOG). Abaixo a lista das movimentações que geram LOG:

  • Apontamento de produção
  • Apontamento de parada
  • Motivo de Refugo
  • Motivo de Parada
  • Movimentações de Estoque
  • Transferência



Informações
IMPORTANTE
titleImportante:
Esta rotina usa as tabelas SOG, SOF e SOH para gerenciar o log de importação.

Mensagens

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


MensagemTag

Descrição

Tabela/Campo: ProtheusTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeCompanyId Código da Empresa Logada



CHAR(02)


BranchId CódigoFilial SB1.B1_FILIALCHAR(02)

TBLInProduct.PlantCode

CHAR(15)

CompanyInternalIdEmpresa+Filial EMPRESA + SB1.B1_FILIAL



Code Código do ProdutoSB1.B1_CODCHAR(15) TBLInProduct.CodeCHAR(20)

Name Descrição do produtoSB1.B1_DESCCHAR(30)TBLInProduct.NameCHAR(70)

InternalIdEmpresa+filial+código do produtoEMPRESA + SB1.B1_FILIAL + SB1.B1_COD



ShortName Nome curtoSB1.B1_DESCCHAR(30)TBLInProduct.SecondNameCHAR(30)

Active Item ativo?SB1.B1_ATIVOCHAR(01)TBLInProduct.FlgEnableSMALLINT

UnitOfMeasureCode Unidade de MedidaSB1.B1_UMCHAR(02)TBLInProduct.Unit1codeCHAR(05)

UnitOfMeasureInternalIdEmpresa+filial+unidade de medidaEMPRESA + SB1.B1_FILIAL + SB1.B1_UM



StockGroupCodeGrupo de EstoqueSB1.B1_GRUPOCHAR(04)


StockGroupInternalIdEmpresa+filial+grupo de estoqueEMPRESA + SB1.B1_FILIAL + SB1.B1_GRUPO



StockGroupDescriptionDescrição do grupo estoqueSBM.BM_DESCCHAR(30)


StandardWarehouseCodeLocal de EstoqueSB1.B1_LOCPADCHAR(02)


StandardWarehouseInternalIdEmpresa+filial+local de estoqueEMPRESA + SB1.B1_FILIAL + SB1.B1_LOCPAD



StandardWarehouseDescriptionDescrição Local de EstoqueNNR.NNR_DESCRICHAR(40)


EconomicLot Lote econômicoSB1.B1_LEDEC(12,2)


MinimumLot Lote mínimoSB1.B1_LMDEC(12,2)


FamilyCode FamíliaSB1.B1_FPCODCHAR(10)TBLInProduct.FamilyProductCodeCHAR(15)

FamilyInternalIdEmpresa+filial+famíliaEMPRESA + SB1.B1_FILIAL + SB1.B1_FPCOD



FamilyDescription Descrição da famíliaSYC.YC_NOMECHAR(40)TBLInProduct.FamilyProductNameCHAR(30)

NetWeightPeso do ItemSB1.B1_PESODEC(11,4)


GrossWeighPeso brutoSB1.B1_PESBRUDEC(11,4)


TrailRastroSB1.B1_RASTROCHAR(01)


BinControlControla EndereçoSB1.B1_LOCALIZCHAR(01)


SecondUnitOfMeasureCodeSegunda Unidade de medidaSB1.B1_SEGUMCHAR(02)TBLInProduct.Unit2CodeCHAR(20)

SecondUnitOfMeasureInternalIdEmpresa+filial+ seg. unidade de medidaEMPRESA + SB1.B1_FILIAL + SB1.B1_SEGUM



MultiplicationFactorValue Fator de conversãoSB1.B1_CONVDEC(5,2)TBLInProduct.Unit2FactorDEC(8,4)

ProductTypeTipo do ItemSB1.B1_TIPOCHAR(02)TBLInProduct.ProductTypeCodeCHAR(15)

PackingQuantity Quantidade EmbalagemSB1.B1_QENUM(09)TBLInProduct.QtyPackageDEC(19,4)

CostCenterCodeCentro de CustoSB1.B1_CCCHAR(09)TBLInProduct.CostCenterCodeCHAR(20)

StockControlTypeControle do estoque do item
CHAR(01)

Nota
titleNota:
  • Se for um tipo que não está definido, será gravado como GENÉRICO. Exemplo: Tipo = AMOSTRA.
  • A tag StockControlType pode ser, 1=Serial;2=Nr. de Série;3=Lote;4=Referência. Se o campo B1_RASTRO for S=SubLote ou L=Lote deve gravar como '3'. Se o campo B1_LOCALIZ for S=Sim, deve gravar como 2. O produto pode controlar lote e série ao mesmo tempo, sendo registrado nas tags TRIAL e BINCONTROL.


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 TagDescriçãoTabela/Campo: ProtheusTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeCompanyIdCódigo da Empresa
CHAR(02)TBLInWarehouse.ExtcodeCHAR(20)

BranchIdCódigo da FilialNNR.NNR_FILIALCHAR(02)TBLInWarehouse.PlantCodeCHAR(15)

CompanyInternalIdEmpresa+FilialEMPRESA + NNR.NNR_FILIAL



CodeCódigo do Local de Estoque(armazém/almoxarifado/depósito)NNR.NNR_CODIGOCHAR(02)TBLInWarehouse.CodeCHAR(15)

InternalIdEmpresa+Filial+código local

EMPRESA + NNR.NNR_FILIAL +

NNR.NNR_CODIGO





DescriptionDescrição do Local de Estoque (armazém/almoxarifado/depósito)NNR.NNR_DESCRICHAR(20)TBLInWarehouse.NameCHAR(15)

ActiveLocal de Estoque Ativo?TRUECHAR(01)TBLInWarehouse.FlgEnableSMALLINT

TypeTipo do Local de EstoqueNNR.NNR_TIPOCHAR(01)


WarehouseClassificationClassificaçãoNNR.NNR_INTPCHAR(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

MensagemTagDescrição

Tabela/Campo:

Protheus PCP

Tabela Campo:

Protheus SFC

TipoTabela/Campo: PC-FactoryTipo
BusinessContentType







CodeCódigo MáquinaSH1.H1_CODIGOCYB.CYB_CDMQCHAR(20)TBLInResource.codeCHAR(15)

DescriptionDescrição MáquinaSH1.H1DESCRICYB.CYB_DSMQCHAR(40)

TBLInResource.Name

TBLInResource.Nickname

CHAR(20)

WorkCenterCodeCódigo Centro TrabalhoSH1.H1_CTRABCYB.CYB_CDCETRCHAR(10)

TBLInResource.ManagerGrpCode

CHAR(15)

WorkCenterDescriptionDescrição Centro TrabalhoSHB.HB_NOMECYB.CYB_DSCETRCHAR(40)

TBLInResource.WorkCenterDescription

CHAR(15)

CostCenterCodeCódigo Centro CustoSH1.H1_CCUSTCYB.CYB_CDCECSCHAR(20)


ProcessorTypeTipo de Processamento

CYB.CYB_TPPC

1=Monoprocesso;2=Por Batelada;

3=Multiplos Processos;4=Manual

CHAR(01)


LaborTypeTipo MOD

CYB.CYB_TPMOD

1=Nao Reporta;2=Operador;3=Equipe

CHAR(01)


VolumeMachineQuantityQuantidade Volume Máquina
CYB.CYB_QTVMMQDEC(12,4)


EfficiencyMachineValueEficiência Máquina
CYB.CYB_VLEFMQDEC(05,2)


OperatorMachineQuantityQuantidade Operador Máquina
CYB.CYB_QTOEMQNUM(02)


SimultaneousActivityQuantityQuantidade Operações Simultâneas
CYB.CYB_QTATSMNUM(03)


IsSetupPossui Preparação
CYB.CYB_LGSUBOOLEAN


IsOverlapReportSobrepõe Apontamento
CYB.CYB_LGOVRPBOOLEAN


ProductionAreaCodeÁrea de Produção
CYB.CYB_CDARPOCHAR(10)


InitialValidateDateData início validade
CYB.CYB_DTBGVDDATE


FinalValidateDateData fim validade
CYB.CYB_DTEDVDDATE

ListOfResources







 ResourceTypeTipo do Recurso

CYC.CYC_TPRC

1=Operador;2=Ferramenta;

3=Equipe;4=Equipamento

CHAR(01)


ResourceCodeCódigo Recurso
CYC.CYC_CDRCCHAR(20)TBLInUser.CodeCHAR(30)

ResourceNameNome Recurso
CYC.CYC_NMRCCHAR(40)

 TBLInUser.Name

 TBLInUser.Nickname
CHAR(60)

UnitTimeTypeTipo Medida Tempo

CYC.CYC_TPUNTE

1=Horas;2=Minutos;3=Segundos

CHAR(01)


StartExpirationDateData Início Validade
CYC.CYC_DTBGVDDATE


EndExpirationDateData Fim Validade
CYC.CYC_DTEDVDDATE


CycleQuantityNúmero Ciclos
CYC.CYC_QTCIDEC(11,4)


IsTimeActivityDetermina tempo
CYC.CYC_LGTEATBOOLEAN

ListOfProductionShifts







ProductionShiftCodeCódigo Modelo Turno
CYL.CYL_CDTNCHAR(08)


ProductionShiftDescriptionDescrição Modelo Turno
CYL.CYL_DSTNCHAR(40)


BeginDateData Início Validade
CYL.CYL_DTVDBGDATE


EndDateData Fim Validade
CYL.CYL_DTVDEDDATE


No PCP as máquinas são cadastradas na rotina de recursos MATA610 e no Chão de Fábrica a rotina é a SFCA002. A nomenclatura também é alterada. Quando utilizar Chão de Fábrica, será denominada MÁQUINA. Quando utilizar somente o PCP, será RECURSO. A rotina de parâmetros PCPA109 está preparada para apresentar 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

MensagemTagDescrição

Tabela/Campo:

Protheus PCP

Tabela Campo:

Protheus SFC

TipoTabela/Campo: PC-FactoryTipo
BusinessContentType







CodeCódigo do RecursoSH4.H4_CODIGOCYH.CYH_CDRCCHAR(06)

TBLTooling.Code

CHAR(15)

NameNome do Recurso

SH4.H4_DESCRI

CYH.CYH_NMRCCHAR(40)TBLTooling.NameCHAR(50)

TypeTipo 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_CDARPOCHAR(10)


ProductionAreaDescriptionDescrição área de produção
CYA.CYA_DSARPOCHAR(40)

 ItemComponentType







ProductionShiftNumberTurnoSH4.H4_TURNOCYH.CYH_NRTNCHAR(05)


LaborCodeMOBFixo '1'CYH.CYH_CDMODCHAR(08)


StartExpirationDateData validade inicialData AtualCYH.CYH_DTVDBGDATETBLTooling.PeriodINT

EndExpirationDateData validade final
CYH.CYH_DTVDEDDATETBLTooling.PeriodINT

UnitCycleQuantityUnidades Ciclos
CYH.CYH_QTUNCINUM(07)


ToolCodeFerramenta
CYH.CYH_CDMPRCCHAR(15)


ToolDescriptionDescrição Ferramenta
CYH.CYH_DSMPRCCHAR(40)

Nota
titleNota:
  • 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=Mês;A=Ano.

 

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


Mensagem TagDescriçãoTabela/Campo: ProtheusTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeCompanyIdCódigo da Empresa
CHAR(02)


CompanyInternalIdEmpresa+FilialEMPRESA + SG1.G1_FILIAL



ItemInternalIdEmpresa+Filial+código item pai

EMPRESA + SG1.G1_FILIAL +

SG1.G1_COD





ItemCodeCódigo item paiSG1.G1_CODCHAR(15)

TBLInWOHD.ProductCode

TBLInWOHD.WOCode

CHAR(30)

ItemAmountQuantidade base do item paiSB1.B1_QBNUM(07)TBLInWOHD.TotalQTYDEC(19,4)
ItemComponentType






ItemSequenceSequência do componenteSG1.G1_TRTNUM(05)TBLInBillMat.BillMatExtCodeCHAR(20)

ItemComponentCodeCódigo item componenteSG1.G1_COMPCHAR(15)TBLInBillMat.ProductCodeCHAR(20)

ItemComponentInternalIdInternal Id do Item ComponenteEMPRESA + SG1.G1_FILIAL + SG1.G1_COMP



InitialDateData validade inicialSG1.G1_INIDATETBLInWOHD.DtPlanStartDATETIME

FinalDateData validade finalSG1.G1_FIMDATETBLInWOHD.DtPlanEndDATETIME

IsGhostMaterialIndica se é fantasmaSB1.B1_FANTASMBOOLEAN ( FALSE ou TRUE)


ItemComponentAmountQuantidade do item componenteSG1.G1_QUANTDEC(12,6)


LossFactorFator de perdaSG1.G1_PERDADEC(05,2)

(mais) ListOfScript






ScriptcodeCódigo do RoteiroSGF.GF_ROTEIROCHAR(02)TBLInWOHD.ExtCodeCHAR(20)

ScriptAlternativeAlternativo do Roteiro--



ActivityIntenalIDID Operação--



ActivityCodeCódigo da OperaçãoSGF.GF_OPERACCHAR(02)TBLInWodet.CodeCHAR(10)

ActivityComponentSequenceSequência do componente na operaçãoSGF.GF_TRTNUM(03)


Transação Roteiro - Operações do Item: ItemScript_1_000.xsd
Identificador da Mensagem: ItemScript
Versão: 1_000
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona


MensagemTagDescriçãoTabela/Campo: ProtheusTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeItemCodeCódigo itemSG2.G2_PRODUTOCHAR(15)

TBLInWOHD.ProductCode

TBLInWOHD.WOCode

CHAR(20)

ItemDescriptionDescrição do itemSB1.B1_DESCCHAR(40)


ItemInternalIdEmpresa|Filial|Item

EMPRESA + SG2.G2_FILIAL +

SG2.G2_PRODUTO





ScriptCodeCódigo do RoteiroSG2.G2_CODIGOCHAR(02)


ScriptDescriptionDescrição Roteiro--CHAR(40)


ScriptAlternativeRoteiro Alternativo--CHAR(02)

ListOfActivity






ActivityInternalIDID OperaçãoSG2.R_E_C_N_O_NUM(05)


ActivityCodeCódigo da OperaçãoSG2.G2_OPERACCHAR(02)TBLInWodet.CodeCHAR(10)

ActivityDescriptionDescrição OperaçãoSG2.G2_DESCRICHAR(60)TBLInWodet.NameCHAR(40)

MachineCodeCódigo da MáquinaSG2.G2_RECURSOCHAR(06)TBLInWodet.ResourceCHAR(15)

ToolCodeCódigo FerramentaSG2.G2_FERRAMCHAR(06)


ActivityTypeTipo Operação

1 = Executa operação; 2 = Não executa.

CHAR(01)


WorkCenterCodeCódigo Centro TrabalhoSG2.G2_CTRABCHAR(06)TBLInWodet.ManagerGrpCodeCHAR(15)

WorkCenterInternalIdId Centro de TrabalhoEMPRESA + SG2.G2_FILIAL + SG2.G2_CTRAB



UnitItemNumberLote padrão SG2.G2_LOTEPADNUM(06)TBLInWodet. StdSpeedDEC(28,23)

TimeResourceTempo Recurso0
TBLInWodet. StdSpeedDEC(28,23)

TimeMachineTempo MáquinaSG2.G2_TEMPADDEC(05,2)TBLInWodet. StdSpeedDEC(28,23)

TimeSetupTempo PreparaçãoSG2.G2_SETUPDEC(05,2)TBLInWodet. SetUpTimeINT

UnitTimeTypeTipo Unidade Tempo1 = Horas;2=Minutos;3=Segundos;4=Dias
TBLInWodet. StdSpeedFormatTINYINT

ScriptAlternativeAlternativoSG2.G2_ROTALTCHAR(02)


InitialDateData InicialSG2.G2_DTINIDATETBLInWodet.DtPlanStartDATETIME

FinalDateData FinalSG2.G2_DTFIMDATETBLInWodet.DtPlanEndDATETIME

PercentageScrapValue% Refugo--



PercentageValueProporção--



ResourceQuantityQuantidade Recurso--


Nota
titleNota:
  • 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';
  • Obrigatório informar as tags InitialDate e FinalDate. Cadastrada no MATA632.
  • 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á reenviar a mensagem de estrutura, ItemStructure.


Transação Endereços: AdressStock_1_000.xsd
Identificador da Mensagem: AdressStock
Versão: 1_000
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona


MensagemTagDescriçãoTabela/Campo: ProtheusTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeWarehouseCodeArmazém/DepósitoSBE.BE_LOCALCHAR(02)TBLInAddress.WarehouseCodeCHAR(15)

LocationCodeEndereço/LocalizaçãoSBE.BE_LOCALIZCHAR(15)TBLInAddress.CodeCHAR(15)

AdressInternalIdChave completa endereço

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





AdressStockDescriptionDescrição do endereçoSBE.BE_DESCRICCHAR(30)TBLInAddress.ExtCodeCHAR(20)


Transação Saldo: ItemStockLevel_1_000.xsd
Identificador da Mensagem: ItemStockLevel
Versão: 1_000
Módulo Protheus: Vários
Tipo de Envio: Síncrona


MensagemTagDescriçãoTabela/Campo: ProtheusTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeItemCodeCódigo do produtoSB2.B2_CODCHAR(15)TBLInMovMat.ProductCodeCHAR(20)

ItemDescriptionDescrição do itemSB1.B1_DESCCHAR(30)

ListOfStock






ReferenceCodeReferência--



WarehouseCodeDepósito/Local de estoqe/ArmazemSB2.B2_LOCALCHAR(02)TBLInMovMat.WarehouseCodeCHAR(15)

LotCodeNúmero do LoteSB8.B8_LOTECTLCHAR(10)TBLInMovMat.LotCodeCHAR(41)

SubLotCodeSub-LoteSB8.B8_NUMLOTECHAR(06)


NumberSeriesNúmero de SérieSBF.BF_NUMSERICHAR(20)


AddressCodeEndereço/LocalizaçãoSBF.BF_LOCALIZCHAR(15)TBLInMovMat.AddressCodeCHAR(15)

LotDueDateData de ValidadeSB8.B8_DTVALIDDATETBLInMovMat.LotDtValidityDATETIME

CurrentStockAmountSaldo de estoque

SB2.B2_QATU

SB8.B8_SALDO

SBF.BF_QUANT

DEC(12,2)


BookedStockAmountQuantidade Reservada

SB2.B2_RESERVA

SB8.B8_EMPENHO

SBF.BF_EMPENHO

DEC(12,2)


AvailableStockAmountSaldo disponível

SB2.B2_QATU - SB2.B2_RESERVA

SB8.B8_SALDO - SB8.B8_EMPENHO

SBF.BF_QUANT - SBF.BF_EMPENHO

DEC(12,2)


QuantityUpdated
Quantidade Atualizada
DEC(12,2)TBLInMovMat.QtyDEC(18,2)
 
InputOutputEntrada ou Saída1 = Entrada ou 2 = SaídaCHAR(01)TBLInMovMat.ClassificationCHAR(15)
Nota
titleNota:
  • Quando atualizar um saldo novo no ERP, deverá enviar a mensagem ao PC-Factory.
    Transações que geram movimentação de estoque e executam rotinas de atualização de saldo deverão acionar a integração:
    NF de Entrada  - Função B2ATUCOMD1
    NF de Venda - Função B2ATUCOMD2
    Mov. Internas - Função B2ATUCOMD3
  • Quando o saldo for atualizado por uma atualização do PC-Factory não deverá gerar mensagem de atualização de saldo. Quando a origem da alteração do saldo for TOTVSMES não será gerada a mensagem.
    Na mensagem de apontamento de produção a tag "Product name"  indica quem está enviado o registro. No caso do TOTVS MES, essa informação é gravada na SH6.H6_OBSERVA = 'TOTVSMES'.
    Quando for movimentação interna é registrada na SD3.D3_OBSERVA = 'TOTVSMES'.
  • O campo QuantityUpdated corresponde a quantidade atualizada, ou seja, a quantidade que está sendo movimentada. 
  • O campo InputOutput indica se a movimentação é uma entrada ou saída. 
  • Quando o item controla endereçamento (B1_LOCALIZ), a mensagem de saldo deve ser gerada somente na confirmação do MATA265, rotina que efetiva o endereçamento.
  • As rotinas de saldo inicial do PCP e Estoque, MATA220 e MATA805 também geram a mensagem de saldo.


Transação Motivo de Refugo: WasteReason_1_000.xsd
Identificador da Mensagem: WasteReason
Versão: 1_000
Módulo Protheus: SIGAPCP/SIGASFC
Tipo de Envio: Síncrona


MensagemTagDescrição

Tabela/Campo:

Protheus PCP

Tabela Campo:

Protheus SFC

TipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeCodeCódigo RefugoSX5.X5_CHAVECYO.CYO_CDRFCHAR(08)TBLOutScrap.CodeCHAR(15)

DescriptionDescrição do Refugo

X5_DESCRI

X5_DESCSPA

X5_DESCENG

CYO.CYO_DSRFCHAR(40)TBLOutScrap.NameCHAR(30)

IsReworkRetrabalho


CYO.CYO_LGRTBOOLEAN


IsScrapMaterialRefugo MaterialSBE.BE_DESCRICCYO.CYO_LGRFMPBOOLEAN

Nota
titleNota:
  • Quando não estiver integrado com o Chão de Fábrica, MV_INTSFC igual a '0' o motivo de refugo é cadastrado na tabela genérica SX5. 
  • Deverá pesquisar na tabela SX5 conforme comando abaixo:
    select X5_CHAVE from sx5990 where X5_TABELA = '43'
    Em que:
    - O código do motivo é X5_CHAVE
    A tabela do motivo é '43'.
  • Quando estiver integrado com o Chão de Fábrica, MV_INTSFC igual a '1' será gerada somente a tabela do Chão de Fábrica - CYO. Rotina SFCA003. Se na mensagem não informar o indicador de refugo ou retrabalho, deve considerar refugo (CYO_LGRFMP = 'T').
  • O motivo de refugo possui tamanhos diferentes nas tabelas. Deverá validar se o código recebido não vai ultrapassar o tamanho das colunas no Protheus.
  • Quando usa o SIGAPCP deve validar contra o SX5.X5_CHAVE e SBC.BC_MOTIVO.
  • Quando usa o SIGASFC validar contra o CYO.CYO_CDRF, CY0.CY0_CDRF  e SBC.BC_MOTIVO.


Transação Motivo de Parada: StopReason_1_000.xsd
Identificador da Mensagem: StopReason
Versão: 1_000
Módulo Protheus: SIGAPCP/SIGASFC
Tipo de Envio: Síncrona


MensagemTagDescrição

Tabela/Campo:

Protheus PCP

Tabela Campo:

Protheus SFC

TipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeCodeCódigo Motivo ParadaSX5.X5_CHAVECYN.CYN_CDSPCHAR(10) TBLOutResourceStatus.CodeCHAR(05)

DescriptionDescrição Parada

X5_DESCRI

X5_DESCSPA

X5_DESCENG

CYN.CYN_DSSPCHAR(40)

TBLOutResourceStatus.Name

CHAR(30)

IsEfficiencyAltera Eficiência

--

--



IsEmailEquipmentE-mail Planejador----



IsServiceRequestEmite Solicitação Serviço----



IsSetupParada Setup----
TBLOutResourceStatus.FlgSetupSMALLINT



Nota
titleNota:
  • Quando não estiver integrado com o Chão de Fábrica, MV_INTSFC igual a '0', o motivo de parada é cadastrado a tabela genérica SX5. 
  • Deverá pesquisar na tabela SX5 conforme comando abaixo:
    select X5_CHAVE from sx5990 where X5_TABELA = '44'
    Em que:
    - O código do motivo é X5_CHAVE
    A tabela do motivo é '44'.
  • Quando estiver integrado com o Chão de Fábrica, MV_INTSFC igual a '1' será gerada somente a tabela do Chão de Fábrica - CYN. Rotina SFCA004. 
  • O motivo de parada tem tamanhos diferentes nas tabelas. Deverá validar se o código recebido não vai ultrapassar o tamanho das colunas no Protheus.
    Quando usa o SIGAPCP deve validar contra o SX5.X5_CHAVE e SH6.H6_MOTIVO
    Quando usa o SIGASFC validar contra o CYN.CYN_CDSP, CYX.CYX_CDSP e SH6.H6_MOTIVO


Transação Ordem de Produção: ProductionOrder_2_004.xsd
Identificador da Mensagem: ProductionOrder
Versão: 2_003
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona

MesagemTagDescrição

Tabela/Campo

TipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeNumberNúmero Ordem ProduçãoSC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUENCHAR(20)TBLInWOHD.CodeCHAR(41)

ProductionOrderUniqueIDEmpresa+Filial+Ordem Produção

EMPRESA + SC2.C2_FILIAL + SC2.C2_NUM +

SC2.C2_ITEM + SC2.C2_SEQUEN

CHAR(30)


ItemCodeCódigo ItemSC2.C2_PRODUTOCHAR(15)TBLInWOHD.ProductCodeCHAR(20)

ItemDescriptionDescrição ItemSB1.B1_DESCCHAR(40)


TypeTipo da Ordem

1= Interna; 2=Externa; 3=Interna/Externa; 4=Retrabalho;

5=Conserto; 6=Manutenção; 7=Ativo Fixo;

8=Ferramentaria; 9=Reaproveitamento


CHAR(01)TBLInWOHD.WoTypeCodeCHAR(20)

QuantityQuantidadeSC2.C2_QUANTDEC(12,2)TBLInWOHD.TotalQty

 DEC(19,4)


ReportQuantityQuantidade ReportadaSC2.C2QUJEDEC(12,2)


UnitOfMeasureCodeUnidade MedidaSC2.C2_UMCHAR(02)TBLInWoDet.Unit1CodeCHAR(05)

RequestOrderCodeCódigo Pedido Ordem ProduçãoSC2.C2_PEDIDOCHAR(06)


StatusOrderTypeEstado da ordem

Prevista/Aberta = 1

Iniciada = 6

Encerrada Parcial/Total = 7

Ociosa = 9

CHAR(01)TBLInWOHD.StatusSMALLINT

WarehouseCodeCódigo DepósitoSC2.C2_LOCALCHAR(02)TBLInWOHD.AuxCode1CHAR(20)

EndOrderDateTimeData Fim Ordem Produção CPSC2.C2_DATPRFDATETBLInWOHD.DtPlanEndDATETIME

StartOrderDateTimeData Início Ordem Produção CPSC2.C2_DATPRIDATETBLInWOHD.DtPlanStartDATETIME

AbbreviationProviderNameNome ClienteSC5.C5_CLIENTE ( SA1.A1_NOME)CHAR(30)


ScriptCodeCódigo RoteiroSC2.C2_ROTEIROCHAR(02)


ReportOrderTypeTipo de Reporte

1 = Ordem; 2 = Operações; 3 = Ponto Controle; 4 = Item


CHAR(01)

ListOfActivityOrders






ProductionOrderNumberOrdem de Produção

SC2.C2_NUM + SC2.C2_ITEM +

SC2.C2_SEQUEN

CHAR(20)TBLInWoDet.Wocode

CHAR(10)


ActivityIDID do RegistroRECNO (SG2,SHY ou SH8)CHAR(10)


ActivityCodeCódigo Operação

SG2.G2_OPERAC

SHY.HY_OPERAC

SH8.H8_OPER

CHAR(02)TBLInWoDet.WODetCode+Split

 CHAR(10)


ActivityDescriptionDescrição OperaçãoSG2.G2_DESCRICHAR(40)TBLInWoDet.WODetName

CHAR(30)


SplitDesdobramento da operaçãoSH8.H8_DESDOBRCHAR(04)


ItemCodeCódigo do item

SC2.C2_PRODUTO

CHAR(15)


ItemDescriptionDescrição do itemSB1.B1_DESCCHAR(40)


ActivityTypeTipo Operação1 - Aponta ; 2-Não ApontaCHAR(01)


WorkCenterCodeCódigo Centro de Trabalho

SG2.G2_CTRAB

SHY.HY_CTRAB

SH8.H8_CTRAB

CHAR(06)TLBInWODet.ManagerGrpCode CHAR(15)

WorkCenterDescriptionDescrição Centro de TrabalhoSHB.HB_NOMECHAR(30)


UnitTimeTypeTipo Unidade Tempo1 - Horas; 2 - Minutos; 3- Segundos; 4 - DiasCHAR(01)TLBInWODet.StdSpeedFormat TINYINT

TimeResourceTempo Recurso (Tempo padrão para um lote)SG2.G2_TEMPADDEC(05,2)TLBInWODet.StdSpeed DEC(28,23)

TimeMachineTempo Máquina (Tempo para fazer toda a ordem)

SG2.G2_TEMPAD * SC2.C2_QUANT

SHY.HY_TEMPO 

SH8.H8_HRINI - SH8.H8_HRFIM

DEC(14,4)

TLBInWODet.StdSpeed

DEC(28,23)

TimeSetupTempo Preparação

SG2.G2_SETUP

SHY.HY_TEMPOS

SH8.H8_SETUP

DEC(15,4)TLBInWODet.SetUpTimeINT

TimeMODTempo Homen--



TimeIndMESIindicador de tempo no MES1 = Tempo Máquina; 2 = Tempo mão-de-obra; 3 = Escolha pelo MES.CHAR(01)


ScriptCodeCódigo Roteiro

SG2.G2_CODIGO

SHY.HY_ROTEIRO

SH8.H8_ROTEIRO

CHAR(02)


LaborCodeCódigo Mão de Obra DiretaMOD+CCCHAR(08)


UnitItemNumberLote PadrãoSG2.G2_LOTEPADNUM(05)TLBInWODet.StdSpeedDEC(28,23)

IsActivityEndÚltima Operação

Na última operação passar TRUE.

Nas demais FALSE.

BOOLEANTLBInWODet.ReportTrigger

TINYINT


MachineCodeCódigo Máquina

SG2_RECURSO

SHY_RECURSO

H8_RECURSO

CHAR(06)


StartPlanDateTimeData/Hora Início Programação

SHY.HY_HORAINI

SC2.C2_DATPRI

SH8.H8_DTINI

DATETLBInWODet.StartPlanDateTimeDATETIME

EndPlanDateTimeData/Hora Fim Programação

SHY.HY_HORAFIM

SC2.C2_DATPRF

SH8.H8_DTFIM

DATETLBInWODet.EndPlanDateTimeDATETIME

ProductionQuantityQuantidade a produzir na operação

SHY.HY_QUANT 

SH8.H8_QUANT 

SC2.C2_QUANT

DEC(12,2)TLBInWODet.Qty DEC(19,4)

ActivityQuantityQuantidade da operação

SHY.HY_QUANT 

SH8.H8_QUANT 

SC2.C2_QUANT

DEC(12,2)


UnitActivityCodeUnidade de medidaSB1.B1_UMCHAR(02)TLBInWODet.Unit1CodeCHAR(5)

SecondUnitActivityCodeSegunda unidade de medida na operação--
TLBInWODet.Unit2CodeCHAR(5)

SecondUnitActivityFactorFator de conversão para segunda un. na operação--
TLBInWODet.Unit2Factor DEC(8,4)

ResourceQuantity Quantidade de recursos

SG2.G2_MAOOBRA

SHY.HY_MAOOBRA

NUM(03)

ListOfMaterialOrders






ProductionOrderNumberOrdem de produção

SC2.C2_NUM + SC2.C2_ITEM +

SC2.C2_SEQUEN

CHAR(20)TBLInBillMat.WocodeCHAR(41)

MaterialIDID do registro da reservaSD4.R_E_C_N_O_CHAR(10)


MaterialCodeCódigo Item ReservaSD4.D4_CODCHAR(15)TBLInBillMat.ProductCodeCHAR(20)

MaterialDescriptionDescrição do ItemSB1.B1_DESCCHAR(40)


ScriptCodeCódigo RoteiroSD4.D4_ROTEIROCHAR(02)


ActivityCodeCódigo OperaçãoSD4.D4_OPERACCHAR(02)TBLInBillMat.WODetCodeCHAR(10)

WarehouseCodeCódigo DepósitoSD4.D4_LOCALCHAR(02)TBLInBillMat.ExtCodeCHAR(20)

MaterialDateData ReservaSD4.D4_DATADATE


MaterialQuantityQuantidade ReservaSD4.D4_QUANTDEC(12,2)TBLInBillMat.TotalQtyDEC(19,4)

LotCodeLoteSD4.D4_LOTECTLCHAR(10)


PertMaterialNumberSequência do itemSD4.D4_TRTCHAR(03)


RequestTypeTipo da RequisiçãoSB1.B1_APROPRICHAR(01)TBLInBillMat.CommentsCHAR(500)
(mais)ListOfAllocatedMaterial









WarehouseCodeCódigo DepósitoSD4.D4_LOCALCHAR(02)TBLInMovMat.WarehouseCodeCHAR(15)

LotCodeCódigo Lote

SD4.D4_LOTECTL

SDC.DC_LOTECTL

CHAR(10)TBLInMovMat.LotCodeCHAR(41)

LocationCodeLocalização/EndereçoSDC.DC_LOCALIZCHAR(15)TBLInMovMat.AddressCodeCHAR(15)

ActivityCodeCódigo OperaçãoSD4.D4_OPERAC CHAR(02)TBLInMovMat.WoDetCodeCHAR(10)

ScriptCodeCódigo RoteiroSD4.D4_ROTEIROCHAR(02)


AllocationQuantityQuantidade Alocada

SD4.D4_QUANT 

SDC.DC_QUANT

DEC(12,2)TBLInMovMat.Qty DEC(19,4)

AllocationTypeTipo Alocação

1 = Soma;2=Diminui;3=Valor Absoluto

CHAR(01)TBLInMovMat.AllocationTypeINT

SubLoteCodeSub Lote

SD4.D4_NUMLOTE

SDC.DC_NUMLOTE

CHAR(06)


NumberSeriesNúmero de SerieSDC.DC_NUMSERICHAR(20)


LotDueDateData de ValidadeSD4.D4_DTVALIDDATETBLInMovMat.LotDtValidityDATETIME
ListOfQuotaActivity






ProductionOrderNumberNúmero Ordem ProduçãoCY9.CY9_NRORPOCHAR(20)


ControlTypeSeleção Split--



ActivityIDID OperaçãoCY9.CY9_CDATCHAR(10)


ItemCodeCódigo do itenCYY.CYY_CDACCHAR(15)


ItemDescriptionDescrição do itemCYY.CYY_DSACCHAR(40)


StartActivityDateTimeData/Hora Início AtividadeCYY.CYY_DTBGAT / CYY.CYY_HRBGATDATETIMETBLInWODet.StartPlanDateTimeDATETIME

EndActivityDateTimeData/Hora Fim AtividadeCYY.CYY_DTEDAT / CYY.CYY_HREDATDATETIME TBLInWODet.EndPlanDateTimeDATETIME

ApprovedQuantityQuantidade AprovadaCYY.CYY_QTATAPDEC(13,4)


ScrapQuantityQuantidade RefugadaCYY.CYY_QTATRFDEC(13,4)


MachineCodeCódigo MáquinaCYY.CYY_CDMQCHAR(20)TBLInWODet.ResourceCodeCHAR(15)

MachineDescriptionDescrição da MáquinaCYY.CYY_DSMQCHAR(40)


ActivityQuantityQuantidade PrevistaCYY.CYY_QTATDEC(12,4)TBLInWODet.QTYDEC(19,4)

StandardSetupTempo Padrão PreparaçãoCYY.CYY_QTPASUNUM(10)


StandardActivityTempo Padrão OperaçãoCYY.CYY_QTPAATNUM(10)


StandardPostprocessingTempo Padrão Pós_processoCYY.CYY_QTPAPPNUM(10)


StandardMachineTempo Padrão MáquinaCYY.CYY_QTPAMQNUM(10)


StandardOperatorTempo Padrão MODCYY.CYY_QTPAOENUM(10)


UsedCapacityCapacidade UtilizadaCYY.CYY_QTVMATDEC(12,4)


ActivityTimeQuantityHora Disponível AtividadeCYY.CYY_HRDICHAR(08)


ReportQuantityQuantidade ReportadaCYY.CYY_QTATRPDEC(13,4)


ReworkQuantityQuantidade RetrabalhadaCYY.CYY_QTATRTDEC(12,4)


StartSetupDateTimeData/Hora Início PreparaçãoCYY.CYY_DTBGSU / CYY.CYY_HRBGSUDATETIME


EndSetupDateTimeData/Hora Fim PreparaçãoCYY.CYY_DTEDSU / CYY.CYY_HREDSUDATETIME


TimeSetupTempo PreparaçãoCY9.CY9_QTTESUNUM(10)TBLInWODet.SetUpTimeTINYINT

TimeMachineTempo MáquinaCY9.CY9_QTTEMQNUM(10)TBLInWODet.StdSpeedDEC(28,23)

TimeOperatorTempo MODCY9.CY9_QTTERCNUM(10)


TimePostprocessingTempo Pós ProcessoCY9.CY9_QTTEPPNUM(10)


QuotaActivityIDID SplitCYY.CYY_IDATQOCHAR(05)

ActivityCode+

TBLInWODet.WODetCode
CHAR(10)

WorkCenterCodeCentro de TrabalhoCY9.CY9_CDCETRCHAR(10)TBLInWODet.ManagerGrpCodeCHAR(15)

ReportedSplitSplit ReportadoCYY.CYY_LGQORPBOOELAN


StatusActivityTypeEstado OperaçãoCYY.CYY_TPSTATCHAR(01)

(mais) ListOfQuotaActivityTools






ToolCodeFerramentaCYY.CYY_CDFECHAR(20)


ToolQuantityQuantidade FerramentaCYY.CYY_QTFENUM(03)



Nota
titleNota:
  • 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.
  • A tag Type (Tipo da ordem) será gerada com o valor "1" - Ordem interna.
  • A tag RequestType (Tipo da Requisição) identifica se a requisição pode ser feita separadamente do reporte da produção, conforme regra abaixo:
    Caso o parâmetro MV_REQAUT estiver como 'D' os materiais DIRETOS serão digitados e os INDIRETOS serão baixados automaticamente;
    Caso o parâmetro MV_REQAUT estiver como 'A' o consumo dos materiais será realizado para todos os componentes;
    Esta tag conterá os seguintes valores: 1-Direta, 2-Indireta.
    Conforme o valor desta tag o PC-factory identifica qual arquivo de retorno para o componente:
    RequestType =1, Direta  -> MovementsInternal
    RequestType =2, Indireta -> ProductionAppointment
  • A tag AllocationType (Tipo de Alocação) será gerada com o valor "3" - Valor Absoluto.
  • A tag ReportOrderType (Tipo do Reporte) será gerada com o valor "2" Operação.
  • A sessão ListOfAllocatedMaterial seguirá algumas regras para o alocação: 
    Se o item controlar endereço e não gerou a SBC não deve gerar os dados da lista ListOfAllocatedMaterial (verificar somente quando o parâmetro MV_LOCALIZ = S);
    Se o item controlar rastro e não gerou o lote na SD4, não deve gerar os dados da lista ListOfAllocatedMaterial;
    Se o item não controlar endereço nem lote, deve gerar os dados da lista ListOfAllocatedMaterial com base na SD4.
  • As tags das operações da ordem da sessão ListOfActivityOrders poderão ter origem diferente de acordo com a parametrização ou rotinas executas. Se executar o varga máquina MATA690, será usada a tabela SH8. Quando o parâmetro MV_PCPATOR estiver como 'S', será usada a tabela SHY. Se o parâmetro MV_PCPATOR estiver como 'N', será usada a tabela SG2. 
  • A tag Split da sessão ListOfActivityOrders será gerada quando ocorrer um desdobramento da operação em vários recursos. Gerado quando não usa o Chão de Fábrica.
  • A tag ActivityType (Tipo Operação) será gerada com o valor "1" - Aponta.
  • A tag UnitTimeType (Tipo unidade tempo) será gerada com o valor "1" - Hora.
  • A tag UnitItemNumber será utilizada para registrar o lote padrão de produção da operação.
  • Para o PC-Factory é necessário indicar em qual operação o componente é consumido. Quando não usa o conceito de componente x operação, deverá lincar os componentes na última operação.
  • A tag TimeMachine (Tempo Máquina) indica o tempo para fazer a ordem de produção.
    Utilizando o parâmetro MV_PCPATOR o tempo será SHY.HY_TEMPOM.
    Quando usa carga máquina, usar a diferença entre SH8.H8_HRINI e SH8.H8_HRFIM.
    O tempo pode ter variação conforme Tipo Operação (quando não existir na SHY):
    Tipo Operação 1 Normal: Aplica o tempo do lote a quantidade da ordem. Sendo: (SG2.G2_TEMPAD / SG2.G2_LOTEPAD) * SC2.C2_QUANT) / SH1.H1_MAOOBRA. Obs: Se tempo e lote for zero, considera 1.
    Tipo Operação 2 Fixo e 3 Ilimitada: Independente da quantidade, o tempo será o mesmo. Sendo: SG2.G2_TEMPAD. Obs: Se for zero envia 1.
    Tipo Operação 4 Tempo Mínimo: Considera a quantidade múltipla do lote. Exemplo: Lote = 10. Tempo = 5. Qtd Ordem = 7. Tem que considerar o tempo para fazer 10 peças. Sendo o mesmo cálculo do tipo 1 Normal.
    Outro ponto a considerar é que o PC-Factory espera o tempo em Centesimal. Quando o parâmetro MV_TPHR for diferente de 'C', o tempo será convertido para centesimal.
  • O PC-Factory calcula o tempo para fazer uma unidade da seguinte forma: ActivityQuantity  / Time Machine 
  • A tag TimeResource (Tempo Recurso) indica o tempo para fazer um lote padrão.
  • A tag LaborCode (Código mão de Obra) é indicado por 'MOD' + Centro de Custo.
  • A sessão ListOfQuotaActivity é gerada somente quando o Chão de Fábrica estiver ativo.
  • A tag StatusActivityType conterá os seguintes valores: 1=Não Iniciado;2=Programado;3=Liberado;4=Iniciado;5=Finalizado;6=Suspenso
  • O co-produto será enviado ao PC-Factory na ListOfMaterialOrders, tag MaterialQuantity, e na ListOfAllocatedMaterial, tag AllocationQuantity (quando existir) com quantidade negativa. O PC-Factory deverá enviar ao Protheus na mensagem de apontamento ProductionAppointment na SupplyOrder a tag UsedQuantity com quantidade negativa, com isso o ERP entenderá que se trata de uma entrada de co-produto no estoque. O tipo de movimento para co-produto, será cadastrado no PCPA109 e deverá ter um conteúdo menor que 500 por se tratar de uma entrada e também deve ser do tipo de DEVOLUÇÃO e o campo Atualiza Empenho deve estar como sim (rotina MATA230).
  •  A tag TimeIndMES deve ser gerada como '3'. 

 

LOGIX x APS x TOTVS MES

Ordens geradas pelo APS serão enviadas via Schedule- PCPA114.

A integração do APS x PROTHEUS x TOTVS MES deverá considerar SOMENTE as ordens de produção alteradas e/ou criadas pelo APS e enviadas ao PROTHEUS.

No PCPA109, folder Ordens de Produção, é possível parametrizar se existe a integração com o APS. O Schedule para o envio de ordens geradas irá executar somente se o parâmetro "APS" estiver assinalado e a integração entre PROTHEUS x APS - MV_APS = 'TOTVS'.

Serão enviadas as ordens com origem no APS, tabela SC2, campos C2_OBS = TOTVSMES e C2_IDAPS preenchido. Também valida se existe dados na tabela SHY.

Para o envio deverá ter um controle do que já foi enviado, utilizando a tabela SOJ. Enviar somente ordens que possuam dados na SOJ com o parâmetro de envio para o MES como "N". Após o envio atualizar esse campo para "S" . Quando o APS atualizar uma ordem, deverá setar novamente o OJ_ENVMES para "N" para que o Schedule possa reenviá-la.

Para cadastrar o Schedule deve-se utilizar o SIGACFG - SCHEDULE. Configuração do Schedule em em: Schedule - Como agendar a execução de rotinas




Processos

Transação Apontamento de Produção: ProductionAppointment_2_000.xsd
Identificador da Mensagem: ProductionAppointment
Versão: 2_003
Módulo Protheus: SIGAPCP/SIGASFC
Tipo de Envio: Síncrona 

Nota
titleNota:
Esta mensagem será gerada pelo PC-Factory e enviado ao Protheus.


MensagemTagDescrição

Tabela/Campo

Protheus PCP

Tabela Campo

Protheus SFC

TipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeMachineCodeMáquinaSH6.H6_RECURSOCYV.CYV_CDMQCHAR(06)TBLOutInteg.ResourceCodeCHAR(15)

ProductionOrderNumberOrdem de ProduçãoSH6.H6_OPCYV.CYV_NRORPOCHAR(20)TBLOutInteg.WOCodeCHAR(41)

ActivityCodeOperaçãoSH6.H6_OPERACCYV.CYV_CDATCHAR(02)TBLOutInteg.WODetCodeCHAR(10)

SplitSplitSH6.H6_DESDOBRCYV.CYV_IDATQOCHAR(04)TBLOutInteg.WODetCodeCHAR(10)

ActivityIDID Operação----



ItemCodeProdutoSH6.H6_PRODUTOCYV.CYV_CDACRPCHAR(15)TBLOutInteg.ProductCodeCHAR(20)

ApprovedQuantityQuantidade AprovadaSH6.H6_QTDPRODCYV.CYV_QTATAPDEC(11,2)TBLOutInteg.QtyDEC(19,4)

ScrapQuantityQuantidade RefugadaSH6.H6_QTDPERDCYV.CYV_QTATRFDEC(11,2)TBLOutInteg.QtyDEC(19,4)

ReworkQuantityQuantidade Retrabalhada----



StartSetupDateTimeData/Hora Início Preparação--

CYV_DTBGSU

CYV_HRBGSU

DATETIME


EndSetupDateTimeData/Hora Fim Preparação--

CYV_DTEDSU

CYV_HREDSU

DATETIME


SetupCodeCódigo Preparação--CYV_CDSUCHAR(10)


OpTimeIntTempo Operação--CYV.CYV_QTTERPNUM(10)


ProductionShiftCodeCódigo Modelo Turno--CYV.CYV_CDTNCHAR(08)


ProductionShiftNumberNúmero Turno--CYV.CYV_NRTNCHAR(05)TBLOutInteg.ShiftSMALLINT

DocumentCodeDocumento--CYV.CYV_NRDOCHAR(20)TBLOutInteg.DocNumberCHAR(20)

DocumentSeriesSérie Documento--CYV.CYV_NRSRCHAR(05)


StartReportDateTimeData/Hora Início Reporte

SH6.H6_DATAINI

SH6.H6_HORAINI

CYV.CYV_DTRPBG

CYV.CYV_HRRPBG

DATETIMETBLMSGERP.StartDATETIME

EndReportDateTimeData/Hora Fim Reporte

SH6.H6_DATAFIN

SH6.H6_HORAFIN

CYV.CYV_DTRPED

CYV.CYV_HRRPED

DATETIMETBLMSGERP.EndDATETIME

ReversedReportEstorno do ApontamentoTRUE ou FALSETRUE ou FALSEBOOLEAN


ReversalDateData do estorno--CYV.CYV_DTEODATETBLOutInteg.DTEvDATETIME

ReportDateTimeData/Hora ReporteSH6.H6_DTAPONT

CYV.CYV_DTRP

CYV.CYV_HRRP

DATETIMETBLOutInteg.DtEvDATETIME

WarehouseCodeCódigo DepósitoSH6.H6_LOCALCYV.CYV_CDDPCHAR(02)TBLOutInteg.WarehouseCodeCHAR(15)

LotCodeLote/SérieSH6.H6_LOTECTLCYV.CYV_CDLOSRCHAR(10)TBLOutInteg.LotCodeCHAR(41)

LotDueDateData Validade LoteSH6.H6_DTVALIDCYV.CYV_DTVDLODATE

TBLLot.DtValidity

DATETIME

CloseOperationEncerra OperaçãoSH6.H6_PTCYV.CYV_LGEDRPBOOLEAN


LocationCodeLocalização--CYV.CYV_CDLCCHAR(20)TBLOutInteg.Address1CodeCHAR(15)
ListOfReversalAppointments







IntegrationReportRegistro a ser estornado

CHAR(10)TBLOutInteg.TransacTypeTINYINT

ReversalTypeTipo do Estorno

CHAR(01)


ReversalQuantityQuantidade revertida--
DEC(18,4)

WasteAppointment







WasteCodeCódigo Refugo

SBC.BC_MOTIVO

CY0.CY0_CDRFCHAR(02)TBLOutInteg.ScrapCodeCHAR(15)

WasteDescriptionDescrição Refugo

SBC.BC_DESCRI

CY0.CY0_DSRFCHAR(40)


ScrapQuantityQuantidade Refugada

SBC.BC_QUANT

CY0.CY0_QTRFDEC(11,2)TBLOutInteg.QtyDEC(18,4)

ScrapProductProduto RefugadoSBC.BC_PRODUTO--CHAR(15)


WareHouseCodeDepósito Produto RefugadoSBC.BC_LOCORIG--CHAR(10)


ScrapProductToRefugo GeradoSBC.BC_CODDEST--CHAR(15)


WareHouseCodeToDepósito do Refugo geradoSBC.BC_LOCAL--CHAR(10)


AdressCodeEndereço OrigemSBC.BC_LOCALIZ
CHAR(15)


AdressCodeToEndereço DestinoSBC.BC_LOCDEST
CHAR(15)


NumberSeriesNúmero de SérieSBC.BC_NUMSERI
CHAR(20)


NumberSeriesToNúmero de Série DestinoSBC.BC_NSEDEST
CHAR(20)


LotCodeLoteSBC.BC_LOTECTL
CHAR(10)


SubLoteCodeSub LoteSBC.BC_NUMLOTE
CHAR(06)


LotDueDateData de ValidadeSBC.BC_DTVALID
DATE


CostCenterCodeCentro de CustoSBC.BC_CC
CHAR(09)

ResourceAppointment







OperatorCodeCódigo Operador--CYW.CYW_CDOECHAR(20)TBLOutInteg.UserCodeCHAR(30)

StartDateTimeData/Hora Início--

CYW.CYW_DTBGRP

CYW.CYW_HRBGRP

DATETIMETBLMSGERP.StartDATETIME

EndDateTimeData/Hora Fim--

CYW.CYW_DTEDRP

CYW.CYW_HREDRP

DATETIMETBLMSGERP.EndDATETIME

MOBTimeTempo Mão de Obra Direta--CYW.CYW_QTTEOENUM(10)


ExtraTimeTempo Extra--CYW.CYW_QTTEEXNUM(10)


UtilTimeTempo Útil--CYW.CYW_QTTEUTNUM(10)


ProductionShiftCodeCódigo Modelo Turno--CYW.CYW_CDTNCHAR(08)


ProductionShiftNumberNúmero Turno--CYW.CYW_NRTNCHAR(05)TBLOutInteg.ShiftSMALLINT
SupplyOrder







ProductionOrderNumberNúmero Ordem ProduçãoSD3.D3_OPCZP.CZP_NRORPOCHAR(20)

TBLOutInteg.WOCode

CHAR(41)

MaterialCodeCódigo Item ReservaSD3.D3_CODCZP.CZP_CDMTCHAR(15)TBLOutInteg.ProductCodeCHAR(20)

UsedQuantityQuantidade UtilizadaSD3.D3_QUANTCZP.CZP_QTRPPODEC(12,2)TBLOutInteg.Qty DEC(19,4)

WarehouseCodeCódigo DepósitoSD3.D3_LOCALCZP.CZP_CDDPCHAR(02)TBLOutInteg.WarehouseCodeCHAR(15)

LocationCodeLocalizaçãoSD3.D3_LOCALIZCZP.CZP_CDLCCHAR(15)TBLOutInteg.Address1CodeCHAR(15)

LotCodeLote/Série

SD3.D3_LOTECTL

ou

SD3.D3_NUMSERI

CZP.CZP_CDLOCHAR(20)TBLOutInteg.LotCodeCHAR(41)

ActivityCodeCódigo Operação--CZP.CZP_CDATCHAR(02)TBLOutInteg.WODetCodeCHAR(10)

ScriptCodeRoteiro--CZP.CZP_CDRTCHAR(02)

ReportToolActivity







ToolCodeCódigo Ferramenta--CZ0.CZ0_IDFECHAR(20)

Nota
titleNota:
  • 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 em que a 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).
  • 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. 
    Será usada a seguinte regra para finalizar a ordem/operação no Protheus:
    Encerrar a OPERAÇÃO: Obrigatoriamente deverão ser informadas as seguintes TAGS: ProductionOrderNumber, ActivityCode, CloseOperation (TRUE quando apontamento TOTAL ou operação encerrada/finalizada), ReportDateTime. Os demais campos de quantidade (ApprovedQuantity e ScrapQuantity) e data/hora início/fim (StartReportDateTime e EndReportDateTime) podem ser gerados sem valor (em branco).
    Encerrar a ORDEM: Apontamento de quantidade na última operação com a tag CloseOperation = TRUE.
    Encerrar a ORDEM: Realizar o encerramento da ordem sem necessidade de informações de apontamento no XML. Considera somente as tags ProductionOrderNumber e CloseOperation(TRUE). Sendo que, deverá verificar se tem apontamento na última operação. Deverá executar o mesmo procedimento da opção "Encerrar" do MATA681. Devendo fazer as movimentações e atualização do campo SC.C2_DATRF.
  • 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. Poderá conter uma lista de Ids(ListOfReversalAppointments) que serão estornados. Pode estornar registros de apontamentos de produção e registros de recusa. Para isso a tag ReversalType indica qual o processo a ser executado, sendo, 1 = Produção; 2 = Recusa
  • 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 = 'TOTVSMES' para indicar que o registro foi gerado via integração TOTVSMES.
  • 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 e 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) podem ser enviados sem valor (em branco).
  • A integração irá respeitar as regras e gatilhos definidas pelos clientes. Exemplo: A data/hora início e fim no padrão não são obrigatórias, porém o cliente pode definir a obrigatoriedade via dicionário fazendo com que as tags necessitem ser preenchidas.
  • Se estiver integrado com o Chão de Fábrica SIGASFC, deverá gravar as tabelas deste sistema. Será usado como base o processo do Apontamento Modelo 2, SFCA316.
  • O subproduto é tratado na ListOfWasteAppointments, tags ScrapProduct e ScrapProductTo. As movimentações dependem da parametrização(F12) do MATA685, que indica se consome o produto origem ou não. Não é obrigatório digitar os produtos refugados refugo gerado. Neste caso vai registrar somente os defeitos.
    Para que o subproduto seja gerado o parâmetro MV_DIGIPER, deve estar setado como 'S'.
  • Para o Reaproveitamento, o Refugo gerado deverá ser o mesmo produto da ordem. Nesse caso o que vai mudar será somente o depósito, onde existirá um local próprio para armazenar o refugo. Esta funcionalidade é para empresas que reaproveitam o produto acabado com defeito (sem gerar subproduto) na composição de outro produto.Para este caso o depósito do refugo poderá ser parametrizado no PCPA109. As movimentações dependem da parametrização (F12) do MATA685. Se esta parametrização estiver como 'S'  a rotina irá baixar o saldo do produto/local origem e acrescentar/gerar o saldo do produto/local destino. Se estiver como 'N' só irá atualizar o saldo do produto/local destino.

 

Notas Consumo dos componentes:

  • O consumo dos componentes deverá respeitar parametrização do PCPA109. Na rotina de parâmetros será definido como será o tratamento do consumo dos componentes:
    1 - BackFlush: Sempre irá realizar a baixa dos componentes conforme o definido na Engenharia. Desconsidera a lista de consumo SupplyOrder.
    2 - Consumo Real: Irá consumir conforme lista de componentes, SupplyOrder, enviada na mensagem.
  • No consumo dos componentes o processo deverá seguir a seguinte regra, conforme parametrização:
    Caso o parâmetro MV_REQAUT estiver como 'D' os materiais DIRETOS serão digitados e os INDIRETOS serão baixados automaticamente. Para baixar os Indiretos o tipo de movimento deve ter o campo "Aprop. Indir" como "S' na rotina MATA230.
    Caso o parâmetro MV_REQAUT estiver como 'A', o consumo dos materiais será realizado para todos os componentes.
  • Quando consumo real, deverá considerar o tipo de movimento do cadastro de parâmetros PCPA109, folder "Movimentos e Transferência". Para saídas usar o campo OE_VAR2. Quando usa o Chão de Fábrica, deverá usar as movimentações parametrizadas no SIGASFC (MV_SFRQMB).
  • Para o apontamento, o tipo de movimento será o que estiver no parâmetro MV_TMPAD, para o SIGAPCP e SIGASFC.
    Quando back-flush, usará os tipos de movimentos padrões da rotina.
  • No PC-Factory, não são utilizados lote e número de série ao mesmo tempo. O retorno desse conteúdo será via tag SupplyOrder - LotCode, que pode ser o Lote ou número de série, conforme o cadastro do item.


Notas Chão de Fábrica

  • Quantidade reportada CYV_QTATRP, será a soma das quantidades aprovadas e refugadas.
  • Data/Hora Início e Fim e código da Preparação apesar de serem virtuais, se a máquina exigir setup (CYB_LGUSU) deverá enviar as tags SetupCode, StartSetupDateTime e EndSetupDateTime.
  • Caso o documento, tag DocumentCode, esteja em branco será gravado o número da ordem de produção.
  • Os campos Data da Reserva 'CZP_DTMT' deve receber o conteúdo da tabela CYP.CYP_DTMT.
    A quantidade reserva 'CZP_QTMT' deve receber o conteúdo da tabela  CYP.CYP_QTMT.
    O estado 'CZP_TPST' deve receber o conteúdo da tabela CYP.CYP_TPST.
  • O tempo unidade operação, CZ0_QTTEUN, deverá ser gerado conforme regra do SFCA314.


Notas Refugo

  • Registrar o motivo de refugo (tags do ListOfWasteAppointments), atualizando dados da tabela SBC
  • Se o motivo de refugo não estiver cadastrado, será incluído no cadastro de motivos tabela SX5.
    Em que:  
    O código do motivo é X5_CHAVE  
    A tabela do motivo é '44'. 
    Para o Chão de Fábrica,  deverá gerar a tabela -CY0
  • O motivo de refugo tem tamanhos diferentes nas tabelas. Deverá validar se o código recebido não vai ultrapassar o tamanho das colunas no Protheus.
    Quando usa o PCP deve validar contra o SX5.X5_CHAVE e SBC.BC_MOTIVO.
    Quando usa o SIGASFC validar contra o CYO.CYO_CDRF, CY0.CY0_CDRF e SBC.BC_MOTIVO.


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

Nota
titleNota:
Esta mensagem será gerada pelo PC-Factory e enviado ao Protheus.
MensagemTagDescrição

Tabela/Campo

Protheus PCP

Tabela/Campo

Protheus SFC

TipoTabela/Campo: PC-FactoryTipo

MachineCodeCódigo MáquinaSH6.H6_RECURSOCYX.CYX_CDMQCHAR(06)TBLOutRSEv.ResourceCodeCHAR(15)

MachineDescriptionDescrição Maquina





StopReasonCodeCódigo Motivo ParadaSH6.H6_MOTIVOCYX.CYX_CDSPCHAR(02)TBLOutRSEv.ResourceStatusCodeCHAR(20)

StopReasonDescriptionDescrição Motivo ParadaSX5.X5_DESCRI *CYX.CYX_DSSPCHAR(40)


StartDateTimeData/Hora Início

SH6.H6_DATAINI

SH6.H6_HORAINI

CYX.CYX_DTBGSP

CYX_HRBGSP

DATETBLOutRSEv.ShiftDtStartDATETIME

EndDateTimeData/Hora Fim

SH6.H6_DATAFIN

SH6.H6_HORAFIN

CYX.CYX_DTEDSP

CYX.CYX_HREDSP

DATETBLOutRSEv.ShiftDtEndDATETIME

OperatorCodeCódigo OperadorSH6.H6_OPERADOCYX.CYX_CDOECHAR(20)TBLOutRSEv.UserCodeStartCHAR(30)

ReportDateTimeData/Hora ReporteSH6.H6_DTAPONTCYX.CYX_DTRPDATETBLOutRSEv.DtTimeStampDATETIME

ToolCodeCódigo Ferramenta-- CYX.CYX_CDFEPO



ProductionTeamCodeCódigo Equipe--CYX.CYX_CDGROE



StopTypeTipo Parada (1=Não Programada;2=Programada)--CYX.CYX_TPSP



ReportSequenceID PC-Factory----
TBLOutRSEv.IDOutRSEv
Nota
titleNota:
  • O apontamento de parada padrão para essa integração será o MATA682 no PCP e no Chão de Fábrica a rotina é o SFCA311.
  • Os campos Máquina, Motivo de Parada, Data/Hora Início 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 a integração estiver sendo processada.
  • Apontamento de parada setará o SH6.H6_TIPO = 'I'.
  • O produto 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.
    Em que:
    O código do motivo é X5_CHAVE
    A tabela do motivo é '44'.
    Para o Chão de Fábrica, deverá gerar a tabela - CYN.
  • 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.
    Se o campo ReversedReport possuir o conteúdo TRUE, apenas o campo IntegrationReport será considerado no processamento do XML. As demais informações serão ignoradas.
  • Será registrado automaticamente o campo SH6.H6_OBSERVA = 'TOTVSMES' 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.
  • Modelo do turno e número do turno será gerado automaticamente pela rotina SFCA311. Somente quando usar o Chão de Fábrica.
  • Se a mensagem não enviar o StopType será considerado como 2= Não Programada. Somente quando usar o Chão de Fábrica.
  • O motivo de parada tem tamanhos diferentes nas tabelas. Deverá validar se o código recebido não vai ultrapassar o tamanho das colunas no Protheus.
    Quando usa o PCP deve validar contra o SX5.X5_CHAVE e SH6.H6_MOTIVO.
    Quando usa o SIGASFC validar contra o CYN.CYN_CDSP, CYX.CYX_CDSP e SH6.H6_MOTIVO.


Transação Saldo em Estoque - Request: StockLevel_2_000.xsd
Identificador da Mensagem: StockLevel
Versão: 2_000
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona


Para este tipo de atualização o PC-Factory solicita o saldo ao Protheus. A mensagem possui duas partes. O Request, nas quais são passados os parâmetros para a consulta do saldo, e o Return, que contém o retorno do saldo.

O Request será gerado pelo PC-Factory e enviado ao Protheus. O Return será gerado pelo Protheus e enviado ao PC-Factory.


Request

MensagemTagDescriçãoTipo
ListOfRequestItemInternalIdCódigo do produtoCHAR(15)

ReferenceCodeReferênciaCHAR(20)

WarehouseInternalIdCódigo do depósito/local de estoque/ArmazémCHAR(10)

LotNumberLoteCHAR(10)

SubLotCodeSubLoteCHAR(10)

SerialNumberNúmero de SérieCHAR(20)

AddressLocalizaçãoCHAR(15)

LotExpirationDateData de ValidadeDATE
Nota
titleNota:
  • A busca pode ocorrer das seguintes formas:
    Por Produto: Retorna informação de todos os locais de estoque do produto.
    Por Local de Estoque (Armazém): Retorna informação de todos os produtos no local de estoque.
  • Por Local de Estoque (Armazém) e Produto: Retorna informação sobre o Produto no Local de Estoque definido.
    Para os demais campos, Lote, sub-Lote, número de série, localização e data de validade considerar somente se informar o código do produto. Se enviar esses campos sem o código do produto, deve retornar mensagem de erro.
  • O Request poderá ser uma lista de solicitação.


Return

MensagemTagDescriçãoTabela/CampoTipo
ReturnContentTypeClosingStockDateData fechamento estoque--
ListOfReturnItemCompanyIdEmpresa


BranchIdFilial


CompanyInternalIdEmpresa + Filial


ItemInternalIdCódigo do produtoSB2.B2_CODCHAR(15)

ReferenceCodeReferencia--
(mais) ListOfStockBalance




WarehouseInternalIdLocal de Estoque (Armazém/Depósito)SB2.B2_LOCALCHAR(10)

LotNumberNúmero do LoteSB8.B8_LOTECTL
CHAR(10)

SubLotCodeSub LoteSB8.B8_NUMLOTECHAR(10)

LotExpirationDateData de validadeSB8.B8_DTVALIDDATE

SerialNumberNúmero de sérieSBF.BF_NUMSERI
CHAR(20)

AddressLocalizaçãoSBF.BF_LOCALIZCHAR(15)

CurrentStockAmountSaldo do Produto em quantidade

SB2.B2_QATU

SB8.B8_SALDO

SBF.BF_QUANT

DEC(17,4)

BookedStockAmountQuantidade reservada em Estoque

SB2.B2_RESERVA

SB8.B8_EMPENHO

SBF.BF_EMPENHO

DEC(17,4)

AvailableStockAmountSaldo disponível do Produto em quantidade

SB2.B2_QATU - SB2.B2_RESERVA

SB8.B8_SALDO - SB8.B8_EMPENHO

SBF.BF_QUANT - SBF.BF_EMPENHO

DEC(17,4)

UnitItemCostCusto unitário do Produto--

AverageUnitItemCostCusto médio do Produto--

ValueOfCurrentStockAmountSaldo atual do estoque do produto em valor--


Transação Movimentações de Estoque: MovementsInternal_1_001.xsd
Identificador da Mensagem: MovementsInternal
Versão: 1_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona


Nota
titleNota:
Esta mensagem será gerada pelo PC-Factory e enviada ao Protheus.
MensagemTagDescriçãoTabela/CampoTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeCompanyIdCódigo da empresa




BranchIdFilial




CompanyInternalIdInternalId da chave completa da empresa




InternalIdInternalId da movimentação.




TypeMovementCodeCódigo do Tipo de Movimento internoSD3.D3_TMCHAR(03)


EmissionDateData de EmissãoSD3.D3_EMISSAODATETBLOutInteg. DtTimeStampDATETIME

ItemCodeCódigo do ProdutoSD3.D3_CODCHAR(15)

TBLOutInteg.ProductCode

CHAR(20)

UnitOfMeasureCodeUnidade de MedidaSD3.D3_UMCHAR(02)


QuantityQuantidadeSD3.D3_QUANTDEC(12,2)

TBLOutInteg.Qty

DEC(19,4)

WarehouseCodeCódigo do ArmazémSD3.D3_LOCALCHAR(02)

TBLOutInteg.WarehouseCode

CHAR(15)

LotNumberLoteSD3.D3_LOTECTLCHAR(10)

TBLOutInteg.LotCode

CHAR(41)

SubLotNumberSubLoteSD3.D3_NUMLOTECHAR(06)


LotExpirationDateData Validade do LoteSD3.D3_DTVALIDDATE

TBLLot.DTDUE

DATETIME

AddressEndereçoSD3.D3_LOCALIZCHAR(15)

TBLOutInteg.Address1Code

CHAR(15)

NumberSeriesNumberSeriesSD3.D3_NUMSERICHAR(20)

TBLOutInteg.LotCode

CHAR(41)

InputOrOutputMovimento de Entrada ou Saída E=Entrada / S = SaídaCHAR(01)

TBLOutInteg.MovTypeCode

CHAR(05)

ReferenceCodeReferência--



ScriptCodeRoteiroSD4.D4_ROTEIROCHAR(02)


ActivityCodeOperaçãoSD4.D4_OPERACCHAR(02)

TBLOutInteg.WODetCode

CHAR(15)

ProductionOrderNumberOrdem de Produção/DocumentoSD3.D3_OP e SD3.D3_DOCCHAR(13)

TBLOutInteg.WOCode

CHAR(41)

FatherItemCodeItem Pai--


Nota
titleNota:
  • Será registrado que a movimentação teve origem via integração com PC-Factory. O campo SD3.D3_OBSERVA será gravado com o conteúdo "TOTVSMES".
  • Se a tag InputOrOutput for E (entrada) e tag ProductionOrderNumber estiver preenchida deverá executar o processo da rotina MATA250. Será considerado o tipo de movimento de entrada Produção cadastrado no PCPA109, folder "Movimentos e Transferência".
  • Se a tag InputOrOutput for E (entrada) e tag ProductionOrderNumber não estiver preenchida deverá executar o processo da rotina MATA240. Será considerado o tipo de movimento de entrada Estoque cadastrado no PCPA109, folder "Movimentos e Transferência".
  • Se for S (saída) executar o processo da rotina MATA240. Será considerado o tipo de movimento de Saída cadastrado no PCPA109, folder "Movimentos e Transferência".
  • Não terá a opção de estorno. Para realizar um processo de estorno deverá enviar a movimentação contrária, ou seja, para estornar uma entrada deverá enviar um movimento de saída.
  • Para a tag ProductionOrderNumber será validado se o conteúdo é uma ordem de produção (SC2), Se for OP gravar no campo SD3.D3_OP, caso contrário gravar no campo SD3.D3_DOC.
  • Quando o Chão de Fábrica está em uso a rotina não permitirá realizar o movimento de entrada manual. Somente apontamento via Chão de Fábrica.


Transação Transferências:  TransferWarehouse_1_003.xsd
Identificador da Mensagem: TransferWarehouse
Versão: 1_003
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona


Nota
titleNota:
Esta mensagem será gerada pelo PC-Factory e enviada ao Protheus.



MensagemTagDescriçãoTabela/CampoTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeCompanyIdEmpresa




BranchIdFilial




CompanyInternalIdInternalId da chave completa da empresa




InternalIdInternalId da transferência




NumberNúmero da MovimentaçãoSD3.D3_NUMSEQCHAR(06)


RegisterDateTimeData de Emissão da solicitaçãoSD3.D3_EMISSAODATE

TransferWarehouseType






InternalIdInternalId da transferência




EmissionDateData de EmissãoSD3.D3_EMISSAODATE

TBLOutInteg.DtTimeStamp

DATETIME

ItemCodeFromItem/Produto OrigemSD3.D3_CODCHAR(15)

TBLOutInteg.ProductCode

CHAR(20)

ItemCodeToItem/Produto DestinoSD3.D3_CODCHAR(15)

TBLMovEv.ProductCode

CHAR(20)

UnitOfMeasureFromUnidade de Medida OrigemSD3.D3_UMCHAR(02)


UnitOfMeasureToUnidade de Medida DestinoSD3.D3_UMCHAR(02)


QuantityQuantidadeSD3.D3_QUANTDEC(12,2)

TBLOutInteg.Qty

DEC(19,4)

WarehouseCodeFromCódigo do Armazém de OrigemSD3.D3_LOCALCHAR(02)

TBLOutInteg.WarehouseCode

CHAR(15)

WarehouseCodeToCódigo do Armazém DestinoSD3.D3_LOCALCHAR(02)

TBLMovEv.WarehouseCode

CHAR(15)

LotNumberFromNúmero do Lote de OrigemSD3.D3_LOTECTLCHAR(10)

TBLOutInteg.LotCode

CHAR(41)

LotNumberToNúmero do Lote de DestinoSD3.D3_LOTECTLCHAR(10)

TBLMovEv.LotCode

CHAR(41)

SubLotNumberNúmero do SubLoteSD3.D3_NUMLOTECHAR(06)


LotExpirationDateFromData de validade do Lote OrigemSD3.D3_DTVALIDDATE

TBLLot.DtDue

DATETIME

LotExpirationDateToData de validade do Lote DestinoSD3.D3_DTVALIDDATE

TBLLot.DtDue

DATETIME

AddressFromEndereço OrigemSD3.D3_LOCALIZCHAR(15)

TBLOutInteg.Address1Code

CHAR(15)

AddressToEndereço DestinoSD3.D3_LOCALIZCHAR(15)

TBLOutInteg.Address2Code

CHAR(15)

NumberSeriesNúmero de sérieSD3.D3_NUMSERICHAR(20)

TBLOutInteg.LotCode

CHAR(41)



Nota
titleNota:
  • Será registrado que a transferência teve origem via integração com PC-Factory. O campo SD3.D3_OBSERVA será gravado com o conteúdo "TOTVSMES".
  • Para as transferências será executada a rotina MATA261
  • Não terá a opção de estorno. Para realizar um processo de estorno deverá enviar a movimentação contrária, ou seja, para estornar uma transferência de X para Y deverá enviar um movimento de transferência de Y para X.


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


Esta mensagem será utilizada para registrar as perdas da produção quando são registradas peças boas e posteriormente verificado que houve algum defeito. Também pode ser utilizada para registrar as perdas da matéria-prima.


Nota
titleNota:
Esta mensagem será gerada pelo PC-Factory e enviada ao Protheus.



MensagemTagDescriçãoTabela/CampoTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeProductionOrderNumberOrdem de ProduçãoSBC.BC_OPCHAR(20)


IdReportID Apontamento
CHAR(10)


ItemCodeProduto RecusadoSBC.BC_PRODUTOCHAR(20)


WarehouseCodeCódigo do depósitoSBC.BC_LOCORIGCHAR(02)


AddressCodeEndereçoSBC.BC_LOCALIZCHAR(15)


NumberSeries Número de SérieSBC.BC_NUMSERICHAR(20)




TypeTipo PerdaSBC.BC_TIPOCHAR(01)




WasteCodeMotivo de PerdaSBC.BC_MOTIVOCHAR(02)




WasteDescriptionDescrição da PerdaSBC.BC_DESCRICHAR(40)


LossQuantityQuantidade de PerdaSBC.BC_QUANTDEC(11,2)


CostCenterCodeCentro de CustoSBC.BC_CCCHAR(09)




ItemCodeToProduto GeradoSBC.BC_CODDESTCHAR(20)




WarehouseCodeToCódigo do depósito DestinoSBC.BC_LOCALCHAR(02)




AdressCodeToEndereço DestinoSBC.BC_LOCDESTCHAR(15)




NumberSeriesToNr. de Série DestinoSBC.BC_NSEDESTCHAR(20)




QuantityToQuantidade destinoSBC.BC_QTDDESTDEC(11,2)


ActivityCodeOperaçãoSBC.BC_OPERACCHAR(10)




ResourceCodeMáquina/RecursoSBC.BC_RECURSOCHAR(20)




LossDateData da PerdaSBC.BC_DATADATE




LotCodeLoteSBC.BC_LOTECTLCHAR(10)




SubLotCodeSubLoteSBC.BC_NUMLOTECHAR(06)




LotDueDateData de ValidadeSBC.BC_DTVALIDDATE

Esta mensagem terá as seguintes finalidades: 
Perda do Produto Acabado informando produto destino:
Permite que seja alterado uma determinada quantidade que já foi apontada e está no estoque como boa. Denomina-se recusa do produto acabado, pois não será necessário realizar os estornos e depois o ajuste do apontamento.
Exemplo: OP de 50 unidades, 5 apontamentos de 10, Necessidade de acerto de 45 peças com defeitos e 5 boas.

Ao invés de estornar os 5 apontamentos e "reapontar" 5 boas e 45 refugos na ProductionAppointment poderá ser enviada uma mensagem de Recusa de 45 para a OP, informando o motivo da recusa/defeito e código do produto destino.

Perda de Matéria Prima:

A mensagem de recusa também será utilizada para registrar perda de matéria prima durante o processo produtivo. A matéria prima pode gerar um subproduto ou não.

Perda do Produto Acabado sem informar produto destino:

Poderá ser utilizado para informar a perda do produto acabado sem que seja necessário gerar as tags de destino.


Nota
titleNota:
  • Será executada a rotina MATA685
  • A tag IdReport não será obrigatória. Indica o reporte de produção que deverá ser atualizado (Não usado para o Protheus)
  • A tag Type, indica se é Refugo ou Scrap. 1 = Refugo; 2= Scrap.

Limitações / Restrições Gerais

A integração não contempla cadastramentos via Fluig (WorkFlow) ou rotinas não descritas nesse documento.
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. Nesses 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. 


2) Clientes com alterações no dicionário, que possuem regras específicas que afetam as rotinas listadas neste documento.

Para resolver este problema, deverá verificar o dicionário e ver caso a caso.


3) Tempo de espera do WebService. Devido alguns processos ser demorados, quando o ERP envia o retorno, o WebService pode não estar mais no aguardo.

Alterar o tempo de espera do WebService PC-Factory.


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