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


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

Observação: 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



( I) - SIGASFC 1716 (Fase II)Mensagens da fase 2 (alocação de materiais, reporte de movimentações, estrutura de produto, etc);              
  • Importação de porcentagem de perda na lista de materiais;
  • Importação de Tempo Homem e Tempo Máquina;
  • Importação de campo de Mão de Obra.
  • 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

    Quando o usuário e a senha estiverem cadastrados no MAN10538 (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 Logix.

    Importante:

    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.

    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.

    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.

    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_informacoes_Adapter_de_movimentos_internos 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_integracao_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 Logix.

    Importante:

    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": Defino 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.

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



    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';
    • 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  -> MovimentsInternal
      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'. 

     

    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.
    • O estorno pode ser gerado de duas formas no arquivo: somente o estorno ou estorno + apontamento. Quando a mensagem possuir o estorno e o apontamento só pode commitar as movimentações quando ambas forem concluídas.
      Para identificar se a mensagem possui somente estorno ou estorno + apontamento deverá verificar as seguintes situações:
      Somente estorno: possui somente as informações do ReversedReport e IntegrationReport com a demais tags sem dados. 
      Estorno + apontamento: possui ReversedReport e IntegrationReport  informados e os demais dados obrigatórios (Máquina, Motivo de Parada, Data/Hora Início e Fim e Data/Hora Reporte) preenchidos.
    • Será registrado automaticamente o campo SH6.H6_OBSERVA = 'PPI' para indicar que o registro foi gerado via integração PCP Protheus x PC-Factory.
    • O sistema PC-Factory usa o formato das horas com HH:MM:SS. Para o PCP Protheus será considerado apenas HH:MM. Apontamento com tempos menores que 1 minuto serão rejeitados.
    • O campo ReportSequence é utilizado para registrar o ID da tabela que registra as informações da parada. Pode ser usado no ponto de entrada MATI681CRG.
    • 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) deverá executar o processo da rotina MATA250. Se for S (saída) executar o processo da rotina MATA240. Diferente de E ou S, rejeitar a mensagem.
    • A tag InputOrOutput indica se é entrada ou saída. Com base nessa informação deverá considerar o tipo do movimento do cadastro PCPA109, folder "Movimentos e Transferência". Se for Entrada usar o campo OE_VAR1. Se for Saída usar o campo OE_VAR2.
    • 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 a geração de ordens pelo APS, 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.