PCP PROTHEUS
PC-FACTORY (PPI MULTITASK)
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.
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.
Para a versão 12 do Protheus, deve-se aplicar o pacote de atualizações da expedição contínua.
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: https://tdn.totvs.com/display/PROT/Configurar+Portais+e+Webservices
Exemplo :
[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
O nome do Webservice a ser utilizado no TOTVSMES é o WSPCP. Não é utilizado o EAI. Seguindo a configuração acima o endereço de configuração que o PC-Factory (TOTVS MES) utilizaria 10.80.62.219:8090/WSPCP.apw?WSDL |
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=*******
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 |
Versão Protheus | Versão PC-Factory | Conteúdo |
---|---|---|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2130.1000 |
|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2131.1000 |
|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2136.1001 |
|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2142.1001 |
|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2202.1000 |
|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2203.1000 |
|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2211.1000 |
|
PCP PROTHEUS 12.1.33, 2210 | 4.0.2219.1000 |
|
O checklist abaixo tem por objetivo validar se o TOTVS MES é aderente ao ambiente atual do cliente, considerando que existem situações não contempladas na integração.
Situações não atendidas ou atendidas parcialmente pela Integração:
Situação no ERP | Situação Integração | Observação |
---|---|---|
Apontamentos realizados no ERP serem integrado ao PCF | Não Atende | Os apontamentos realizados diretamente no ERP não são integrados com TOTVS MES, sejam eles de produção ou parada. |
Finalização de ordens de forma automática | Não Atende | Quando a ordem é finalizada diretamente no ERP, essa informação não é integrada com o TOTVS MES. |
Informar apenas o apontamento de tempo, sem gerar quantidade no SFC | Atende | O ERP com o SFC aceita apontamento de produção apenas de tempo sem quantidade, o contrário, não. |
Possui código de localização "branca" | Atende Parcial | O PCF não suporta localização (endereço) branco (nulo). |
Realizar apontamento apenas no PCP (módulo de Produção) | Atende | O apontamento apenas no PCP ocorre no ERP quando o módulo de SFC esteja desabilitado. Do contrário, todos os apontamentos serão realizados no SFC. |
Tem mais de uma filial que deseja integrar com uma única instalação do TOTVS MES | Não Atende | A integração TOTVS MES, não está preparada para tratar mais de uma filial. No TOTVS MES, é necessário ter uma instância (banco) para cada novo estabelecimento. |
Utiliza o conceito de reporte repetitivo | Não Atende | Ordens de produção com reporte por item não serão integradas. Atualmente, o TOTVS MES possui a função de apontamento repetitivo, no entanto, ainda não foram avaliados os conceitos para integração entre os sistemas. |
Utiliza o consumo back-flush dos componentes ao realizar o apontamento da produção | Atende | Possível realizar o consumo via back-flush, baixando conforme engenharia ou consumo-real. |
Alteração de ordens no TOTVS MES | Não atende | As ordens de produção alteradas no TOTVS MES não serão atualizadas no ERP. |
Controle de Endereço | Não atende | Endereçamento no apontamento não é realizado de forma auttomática. |
Apontamento sem operação | Não atende | Apontamentos somente por operação. |
Estorno parcial | Não atende | Não é possível realizar estorno parcial de apontamentos. |
A integração Protheus x PC-Factory PPI-Multitask é ativada por intermédio dos seguintes passos:
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:
Para os clientes que desejam utilizar gerenciador de conexão WSDL no envio de mensagens na Integração TOTVSMES, deve alterar para TRUE os campos MV_COPPI
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:
O envio de informações do PC-Factory PPI-Multitask para o Protheus ocorre nas seguintes transações:
Os clientes que possuem contrato Cloud, devem solicitar que o IP e a Porta informados no campo caminho do PCPA109 sejam liberados na rede do Cloud para envio e recebimento das requisições SOAP. Esta liberação deve ser solicitada diretamente para a equipe de Cloud. Se essa liberação não for realizada, ao tentar efetuar o envio/retorno das mensagens, irá acarretar em erro. |
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.
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.
Esse modelo de suporte está sendo revisado pela TOTVS. |
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) | Programas | Tabela |
Cadastros | 01 | Produto | Protheus | PC-Factory | Item_3_001.xsd | MATA010 | SB1 |
02 | Local de Estoque | Protheus | PC-Factory | Warehouse_1_001.xsd | AGRA045 | NNR | |
03 | Máquinas | Protheus | PC-Factory | Machine_1_000.xsd | MATA610 SFCA002 | SH1 CYB | |
04 | Recursos | Protheus | PC-Factory | Resource_1_000 | MATA620 SFCA006 | SH4 CYH | |
05 | Estrutura | Protheus | PC-Factory | ItemStructure_1_000 | MATA200 PCPA200 PCPA120 PCPA135 | SG1 | |
06 | Roteiro | Protheus | PC-Factory | ItemScript_1_000 | MATA632 MATA637 PCPA124 | SG2 | |
07 | Ordem de Produção | Protheus | PC-Factory | ProductionOrder_2_004.xsd | MATA650 MATA651 MATA380 MATA381 MATA690 MATA712 PCPA712 PCPA107 SFCA310 | SC2 | |
08 | Endereço | Protheus | PC-Factory | AddressStock_1_000 | MATA015 | SBE | |
09 | Estoque | Protheus | PC-Factory | ItemStockLevel_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 |
10 | Motivo de Refugo | PC-Factory | Protheus | WasteReason_1_000 | CFGX016 SFCA003 | SX5 CYO | |
11 | Apontamento de Produção | PC-Factory | Protheus | ProductionAppointment_2_000 | MATA681 SFCA316 | SH6 SD3 CYV | |
12 | Apontamento de Parada | PC-Factory | Protheus | StopReport_1_001 | MATA682 SFCA311 | SH6 CYX | |
13 | Estoque - Request | PC-Factory | Protheus | StockLevel_2_00 | SB2 SB8 SBF | ||
14 | Movimentações | PC-Factory | Protheus | MovementsInternal_1_001 | MATA240 MATA241 MATA250 | SD3 | |
15 | Transferência | PC-Factory | Protheus | TransferWarehouse_1_003 | MATA261 | SD3 | |
16 | Recusa | PC-Factory | Protheus | Refusal_1_000 | MATA685 | SBC |
Fluxo das informações das transações:
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 padrão e também, permitir configurações mais precisas no uso da integração:
Apontamento: O ponto de entrada MATI681CRG permite adicionar informações que serão utilizadas no apontamento da produção e no apontamento de parada, tabela SH6. Exemplo: Caso exista algum campo específico ou tabela específica não tratada pela integração, poderá usar essa função para setar seu conteúdo. Detalhes em: MATI681CRG - Adicionar informações Adapter do apontamento.
Apontamento: O ponto de entrada MT680VAL permite validar se alguma informação deverá ser obrigatória como tempo, quantidade, entre outros. Essas validações ficarão a cargo dos clientes, pois cada um terá sua regra. Detalhes em: MT680VAL - Inclusão das Produções.
Apontamento: O ponto de entrada MATI680OPR permite alterar o código da operação recebida no apontamento da produção. Detalhes em: MATI681OPR - Alterar código operação mensagem apontamento produção.
Apontamento: O ponto de entrada MTI681QTAP permite alterar a quantidade recebida no apontamento da produção. Este ponto de entrada é indicado para aplicar o fator de conversão na quantidade do apontamento quando ERP e PC-Factory trabalham com unidade de medida diferente. Detalhes em: MTI681QTAP - Alterar quantidade do apontamento ProductionAppointment.
Apontamento: O ponto de entrada MATI681EXC permite verificar se o apontamento será executado ou não. Este ponto de entrada é indicado para validações que impeçam o apontamento de produção e parada. Também usado para casos em que é necessário atualizar alguma informação antes do apontamento (exemplo: estornar um endereçamento). Detalhes em: MATI681EXC - Processa mensagem Apontamento.
Apontamento: O ponto de entrada MATI681INT Permite processar o XML no PE para validação/gravação customizada, podendo optar por executar a rotina padrão de apontamento de produção ou não. Se houver execução da rotina padrão e houver erro, será desfeito somente o que foi realizado na rotina padrão. O ponto de entrada é chamado antes do inicio da transação da rotina padrão de apontamento de produção . Detalhes em: MATI681INT - Permite processa XML antes da mensagem de apontamento de produção
Apontamento: O ponto de entrada MT681ALXML permite modificar qualquer informação da mensagem. Este ponto é indicado para empresas que possuem produtos com controles distintos entre o ERP e o PC-Factory. Por exemplo, controla Lote no PC-Factory e não controla no ERP. O Lote é gerado no XML e retirado via ponto de entrada. Detalhes em: MT681ALXML - Alterar informações XML ProductionAppointment.
Ordem de Produção: O ponto de entrada MTI650ADOP permite adicionar uma nova operação na mensagem de ordens de produção. Para cada operação que está sendo enviada, este ponto de entrada será executado uma vez. Detalhes em: MTI650ADOP - Adicionar nova operação Adapter ordem de produção.
Ordem de Produção: O ponto de entrada MTI650FCOP permite alterar fator de conversão da segunda unidade de medida da operação que será enviada na mensagem de ordens de produção. Detalhes em: MTI650FCOP - Alterar fator de conversão segunda unidade de medida da operação Adapter ordem de produção.
Ordem de Produção: O ponto de entrada MTI650QTOP permite alterar a quantidade da operação que será enviada na mensagem de ordens de produção. Detalhes em: MTI650QTOP - Alterar quantidade da operação adapter ordem de produção.
Ordem de Produção: O ponto de entrada MTI650UMOP permite alterar a segunda unidade de medida da operação que será enviada na mensagem de ordens de produção. Detalhes em: MTI650UMOP - Alterar segunda unidade de medida da operação Adapter ordem de produção.
Ordem de Produção: O ponto de entrada MTI650TMAC permite alterar o tempo de máquina (TimeMachine) na mensagem de ProductionOrder. Detalhes em: MTI650TMAC - Alterar quantidade do tempo de máquina no adapter ProductionOrder.
Ordem de Produção: O ponto de entrada MTI650LOTE permite gerar o Lote da ordem na tag LotCode na mensagem ProductionOrder. Detalhes em: MTI650LOTE - Adicionar lote na mensagem de Ordens de produção.
Ordem de Produção: O ponto de entrada MTI650UTTP permite alterar o valor enviado na tag UnitTimeType. Detalhes em: MTI650UTTP - Alterar o valor da tag UnitTimeType da mensagem ProductionOrder.
Cadastros: O ponto de entrada PCPXFUNPPI permite inibir a integração em determinada rotina. Exemplo: Caso não deseje que na criação de ordens MATA650 ocorra a integração, poderá utilizar essa função para inibir o uso. Detalhes em: PCPXFUNPPI - Rotinas que não realizam integração com o PC-Factory.
Cadastro de Item: o Ponto de entrada PCPADDTAGS permite incluir tags específicas nas mensagens padrões TOTVS. Está habilitado para o cadastro de item MATA010. Detalhes em: PCPADDTAGS - Adicionar informações XML Integração TOTVS MES.
Cadastro de Processos: o Ponto de entrada PCPADDTAGS permite incluir tags específicas nas mensagens padrões TOTVS. Está habilitado para o cadastro de roteiro MATA632 e PCPA124. Detalhes em: PCPADDTAGS - Adicionar informações XML Integração TOTVS MES.
Cadastro de Processos: O ponto de entrada MTI632UTTP permite alterar o valor enviado na tag UnitTimeType. Detalhes em: MTI632UTTP - Alterar o valor da tag UnitTimeType da mensagem ItemScript.
Cadastro de Máquina: O ponto de entrada MTI610UTTP permite alterar o valor enviado na tag UnitTimeType. Detalhes em: MTI610UTTP - Alterar o valor da tag UnitTimeType da mensagem Machine.
Movimentos internos. Os pontos de entrada MATI250CRG e MATI240CRG possibilitam alguma validação específica. Essas validações ficarão a cargo dos clientes, pois cada um terá sua regra. Não podem ser alterados os valores dos campos que foram gerados pela mensagem. Detalhes em: MATI240CRG - Adicionar informações Adapter de movimentações internas e MATI250CRG - Adicionar informações Adapter de movimentos de produção.
Transferências: O ponto de entrada MI261RCV possibilita a não execução da integração. Detalhes em: MI261RCV - Executar integração TransferWarehouse.
Recusa: O ponto de entrada MATI685EXC permite verificar se a recusa será executado ou não. Este ponto de entrada é indicado para validações que impeçam o apontamento de recusa ou atualizações de informações necessárias para realizar a recusa. Detalhes em: MATI685EXC - Processa mensagem recusa.
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>
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
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:
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:
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>
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>.
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>
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:
Code | Message | Tabela de controle - SOH.OH_STATUS |
---|---|---|
1 | Processado na primeira tentativa com ERRO ou OK | 1 ou 2 |
2 | Registro já processado com retorno de erro | 2 |
3 | Registro já processado com sucesso | 1 |
4 | Registro em processamento | 0 |
|
No arquivo APPSERVER.ini, na sessão WEBSERVICE existe a chave INSTANCES que define as instâncias do servido do webservice que vão estar disponíveis para o processamento da integração. Em caso de estouro de threads de processamento deverá ser revisto o número de instances. |
Quando o usuário e a senha estiverem cadastrados no PCPA109 (Parâmetros), folder Segurança, estes dados serão enviados na mensagem para que o PC-Factory efetue a autenticação.
Estes dados serão enviados no cabeçalho da mensagem da seguinte forma:
Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l
Onde: O valor será usuário:senha criptografado em Base64.
O recebimento das mensagens também seguirá o mesmo modelo, porém o PC-Factory enviará um usuário do Protheus.
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
Alerta de risco: fique atento ao utilizar o parâmetro de configuração com a chave Security=0, pois isso fará com que as integrações (APIs) não exijam autenticação, consequentemente dados do seu ambiente poderão ser consultados sem qualquer controle de autorização. |
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:
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:
Painel "Operações": Define se o filtro criado no folder "Roteiros" deve ser utilizado para filtrar as operações da ordem de produção.
Painel "Refugo": Define o local de estoque/depósito para o item refugado quando o refugo for o mesmo produto da ordem de produção. Quando o depósito - "WharehouseCodeTo" vier em branco na mensagem ProductionAppointment, usar o que foi definido no parâmetro.
Painel "APS": Define se a integração considera ordens geradas pelo APS.
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.
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:
Possui as seguintes opções:
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:
Esta rotina usa as tabelas SOG, SOF e SOH para gerenciar o log de importação. |
Identificador da Mensagem: Item
Versão: 3_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo: Protheus | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Código da Empresa Logada | CHAR(02) | |||
BranchId | Código Filial | SB1.B1_FILIAL | CHAR(02) | TBLInProduct.PlantCode | CHAR(15) | |
CompanyInternalId | Empresa+Filial | EMPRESA + SB1.B1_FILIAL | ||||
Code | Código do Produto | SB1.B1_COD | CHAR(15) | TBLInProduct.Code | CHAR(20) | |
Name | Descrição do produto | SB1.B1_DESC | CHAR(30) | TBLInProduct.Name | CHAR(70) | |
InternalId | Empresa+filial+código do produto | EMPRESA + SB1.B1_FILIAL + SB1.B1_COD | ||||
ShortName | Nome curto | SB1.B1_DESC | CHAR(30) | TBLInProduct.SecondName | CHAR(30) | |
Active | Item ativo? | SB1.B1_ATIVO | CHAR(01) | TBLInProduct.FlgEnable | SMALLINT | |
UnitOfMeasureCode | Unidade de Medida | SB1.B1_UM | CHAR(02) | TBLInProduct.Unit1code | CHAR(05) | |
UnitOfMeasureInternalId | Empresa+filial+unidade de medida | EMPRESA + SB1.B1_FILIAL + SB1.B1_UM | ||||
StockGroupCode | Grupo de Estoque | SB1.B1_GRUPO | CHAR(04) | |||
StockGroupInternalId | Empresa+filial+grupo de estoque | EMPRESA + SB1.B1_FILIAL + SB1.B1_GRUPO | ||||
StockGroupDescription | Descrição do grupo estoque | SBM.BM_DESC | CHAR(30) | |||
StandardWarehouseCode | Local de Estoque | SB1.B1_LOCPAD | CHAR(02) | |||
StandardWarehouseInternalId | Empresa+filial+local de estoque | EMPRESA + SB1.B1_FILIAL + SB1.B1_LOCPAD | ||||
StandardWarehouseDescription | Descrição Local de Estoque | NNR.NNR_DESCRI | CHAR(40) | |||
EconomicLot | Lote econômico | SB1.B1_LE | DEC(12,2) | |||
MinimumLot | Lote mínimo | SB1.B1_LM | DEC(12,2) | |||
FamilyCode | Família | SB1.B1_FPCOD | CHAR(10) | TBLInProduct.FamilyProductCode | CHAR(15) | |
FamilyInternalId | Empresa+filial+família | EMPRESA + SB1.B1_FILIAL + SB1.B1_FPCOD | ||||
FamilyDescription | Descrição da família | SYC.YC_NOME | CHAR(40) | TBLInProduct.FamilyProductName | CHAR(30) | |
NetWeight | Peso do Item | SB1.B1_PESO | DEC(11,4) | |||
GrossWeigh | Peso bruto | SB1.B1_PESBRU | DEC(11,4) | |||
Trail | Rastro | SB1.B1_RASTRO | CHAR(01) | |||
BinControl | Controla Endereço | SB1.B1_LOCALIZ | CHAR(01) | |||
SecondUnitOfMeasureCode | Segunda Unidade de medida | SB1.B1_SEGUM | CHAR(02) | TBLInProduct.Unit2Code | CHAR(20) | |
SecondUnitOfMeasureInternalId | Empresa+filial+ seg. unidade de medida | EMPRESA + SB1.B1_FILIAL + SB1.B1_SEGUM | ||||
MultiplicationFactorValue | Fator de conversão | SB1.B1_CONV | DEC(5,2) | TBLInProduct.Unit2Factor | DEC(8,4) | |
ProductType | Tipo do Item | SB1.B1_TIPO | CHAR(02) | TBLInProduct.ProductTypeCode | CHAR(15) | |
PackingQuantity | Quantidade Embalagem | SB1.B1_QE | NUM(09) | TBLInProduct.QtyPackage | DEC(19,4) | |
CostCenterCode | Centro de Custo | SB1.B1_CC | CHAR(09) | TBLInProduct.CostCenterCode | CHAR(20) | |
StockControlType | Controle do estoque do item | CHAR(01) |
|
Identificador da Mensagem: Warehouse
Versão: 1_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo: Protheus | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Código da Empresa | CHAR(02) | TBLInWarehouse.Extcode | CHAR(20) | |
BranchId | Código da Filial | NNR.NNR_FILIAL | CHAR(02) | TBLInWarehouse.PlantCode | CHAR(15) | |
CompanyInternalId | Empresa+Filial | EMPRESA + NNR.NNR_FILIAL | ||||
Code | Código do Local de Estoque(armazém/almoxarifado/depósito) | NNR.NNR_CODIGO | CHAR(02) | TBLInWarehouse.Code | CHAR(15) | |
InternalId | Empresa+Filial+código local | EMPRESA + NNR.NNR_FILIAL + NNR.NNR_CODIGO | ||||
Description | Descrição do Local de Estoque (armazém/almoxarifado/depósito) | NNR.NNR_DESCRI | CHAR(20) | TBLInWarehouse.Name | CHAR(15) | |
Active | Local de Estoque Ativo? | TRUE | CHAR(01) | TBLInWarehouse.FlgEnable | SMALLINT | |
Type | Tipo do Local de Estoque | NNR.NNR_TIPO | CHAR(01) | |||
WarehouseClassification | Classificação | NNR.NNR_INTP | CHAR(01) |
Identificador da Mensagem: Machine
Versão: 1_000
Módulo Protheus: SIGAPCP, SIGASFC
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo: Protheus PCP | Tabela Campo: Protheus SFC | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
BusinessContentType | |||||||
Code | Código Máquina | SH1.H1_CODIGO | CYB.CYB_CDMQ | CHAR(20) | CHAR(15) | ||
Description | Descrição Máquina | SH1.H1DESCRI | CYB.CYB_DSMQ | CHAR(40) | TBLInResource.Name TBLInResource.Nickname | CHAR(20) | |
WorkCenterCode | Código Centro Trabalho | SH1.H1_CTRAB | CYB.CYB_CDCETR | CHAR(10) | TBLInResource.ManagerGrpCode | CHAR(15) | |
WorkCenterDescription | Descrição Centro Trabalho | SHB.HB_NOME | CYB.CYB_DSCETR | CHAR(40) | TBLInResource.WorkCenterDescription | CHAR(15) | |
CostCenterCode | Código Centro Custo | SH1.H1_CCUST | CYB.CYB_CDCECS | CHAR(20) | |||
ProcessorType | Tipo de Processamento | CYB.CYB_TPPC 1=Monoprocesso;2=Por Batelada; 3=Multiplos Processos;4=Manual | CHAR(01) | ||||
LaborType | Tipo MOD | CYB.CYB_TPMOD 1=Nao Reporta;2=Operador;3=Equipe | CHAR(01) | ||||
VolumeMachineQuantity | Quantidade Volume Máquina | CYB.CYB_QTVMMQ | DEC(12,4) | ||||
EfficiencyMachineValue | Eficiência Máquina | CYB.CYB_VLEFMQ | DEC(05,2) | ||||
OperatorMachineQuantity | Quantidade Operador Máquina | CYB.CYB_QTOEMQ | NUM(02) | ||||
SimultaneousActivityQuantity | Quantidade Operações Simultâneas | CYB.CYB_QTATSM | NUM(03) | ||||
IsSetup | Possui Preparação | CYB.CYB_LGSU | BOOLEAN | ||||
IsOverlapReport | Sobrepõe Apontamento | CYB.CYB_LGOVRP | BOOLEAN | ||||
ProductionAreaCode | Área de Produção | CYB.CYB_CDARPO | CHAR(10) | ||||
InitialValidateDate | Data início validade | CYB.CYB_DTBGVD | DATE | ||||
FinalValidateDate | Data fim validade | CYB.CYB_DTEDVD | DATE | ||||
ListOfResources | |||||||
ResourceType | Tipo do Recurso | CYC.CYC_TPRC 1=Operador;2=Ferramenta; 3=Equipe;4=Equipamento | CHAR(01) | ||||
ResourceCode | Código Recurso | CYC.CYC_CDRC | CHAR(20) | TBLInUser.Code | CHAR(30) | ||
ResourceName | Nome Recurso | CYC.CYC_NMRC | CHAR(40) | TBLInUser.Name TBLInUser.Nickname | CHAR(60) | ||
UnitTimeType | Tipo Medida Tempo | CYC.CYC_TPUNTE 1=Horas;2=Minutos;3=Segundos | CHAR(01) | ||||
StartExpirationDate | Data Início Validade | CYC.CYC_DTBGVD | DATE | ||||
EndExpirationDate | Data Fim Validade | CYC.CYC_DTEDVD | DATE | ||||
CycleQuantity | Número Ciclos | CYC.CYC_QTCI | DEC(11,4) | ||||
IsTimeActivity | Determina tempo | CYC.CYC_LGTEAT | BOOLEAN | ||||
ListOfProductionShifts | |||||||
ProductionShiftCode | Código Modelo Turno | CYL.CYL_CDTN | CHAR(08) | ||||
ProductionShiftDescription | Descrição Modelo Turno | CYL.CYL_DSTN | CHAR(40) | ||||
BeginDate | Data Início Validade | CYL.CYL_DTVDBG | DATE | ||||
EndDate | Data Fim Validade | CYL.CYL_DTVDED | DATE |
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.
Identificador da Mensagem: Resource
Versão: 1_000
Módulo Protheus: SIGASFC
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo:Protheus PCP | Tabela Campo: Protheus SFC | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
BusinessContentType | |||||||
Code | Código do Recurso | SH4.H4_CODIGO | CYH.CYH_CDRC | CHAR(06) | TBLTooling.Code | CHAR(15) | |
Name | Nome do Recurso | SH4.H4_DESCRI | CYH.CYH_NMRC | CHAR(40) | TBLTooling.Name | CHAR(50) | |
Type | Tipo do Recurso | 1=Operador;2=Ferramenta;3=Equipe;4=Equipamento. | CYH.CYH_TPRC 1=Operador;2=Ferramenta;3=Equipe;4=Equipament | CHAR(25) | |||
ProductionAreaCode | Área de Produção | CYH.CYH_CDARPO | CHAR(10) | ||||
ProductionAreaDescription | Descrição área de produção | CYA.CYA_DSARPO | CHAR(40) | ||||
ItemComponentType | |||||||
ProductionShiftNumber | Turno | SH4.H4_TURNO | CYH.CYH_NRTN | CHAR(05) | |||
LaborCode | MOB | Fixo '1' | CYH.CYH_CDMOD | CHAR(08) | |||
StartExpirationDate | Data validade inicial | Data Atual | CYH.CYH_DTVDBG | DATE | TBLTooling.Period | INT | |
EndExpirationDate | Data validade final | CYH.CYH_DTVDED | DATE | TBLTooling.Period | INT | ||
UnitCycleQuantity | Unidades Ciclos | CYH.CYH_QTUNCI | NUM(07) | ||||
ToolCode | Ferramenta | CYH.CYH_CDMPRC | CHAR(15) | ||||
ToolDescription | Descrição Ferramenta | CYH.CYH_DSMPRC | CHAR(40) |
|
Mensagem | Tag | Descrição | Tabela/Campo: Protheus | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Código da Empresa | CHAR(02) | |||
CompanyInternalId | Empresa+Filial | EMPRESA + SG1.G1_FILIAL | ||||
ItemInternalId | Empresa+Filial+código item pai | EMPRESA + SG1.G1_FILIAL +SG1.G1_COD | ||||
ItemCode | Código item pai | SG1.G1_COD | CHAR(15) | TBLInWOHD.ProductCodeTBLInWOHD.WOCode | CHAR(30) | |
ItemAmount | Quantidade base do item pai | SB1.B1_QB | NUM(07) | TBLInWOHD.TotalQTY | DEC(19,4) | |
ItemComponentType | ||||||
ItemSequence | Sequência do componente | SG1.G1_TRT | NUM(05) | TBLInBillMat.BillMatExtCode | CHAR(20) | |
ItemComponentCode | Código item componente | SG1.G1_COMP | CHAR(15) | TBLInBillMat.ProductCode | CHAR(20) | |
ItemComponentInternalId | Internal Id do Item Componente | EMPRESA + SG1.G1_FILIAL + SG1.G1_COMP | ||||
InitialDate | Data validade inicial | SG1.G1_INI | DATE | TBLInWOHD.DtPlanStart | DATETIME | |
FinalDate | Data validade final | SG1.G1_FIM | DATE | TBLInWOHD.DtPlanEnd | DATETIME | |
IsGhostMaterial | Indica se é fantasma | SB1.B1_FANTASM | BOOLEAN ( FALSE ou TRUE) | |||
ItemComponentAmount | Quantidade do item componente | SG1.G1_QUANT | DEC(12,6) | |||
LossFactor | Fator de perda | SG1.G1_PERDA | DEC(05,2) | |||
ListOfScript | ||||||
Scriptcode | Código do Roteiro | SGF.GF_ROTEIRO | CHAR(02) | TBLInWOHD.ExtCode | CHAR(20) | |
ScriptAlternative | Alternativo do Roteiro | -- | ||||
ActivityIntenalID | ID Operação | -- | ||||
ActivityCode | Código da Operação | SGF.GF_OPERAC | CHAR(02) | TBLInWodet.Code | CHAR(10) | |
ActivityComponentSequence | Sequência do componente na operação | SGF.GF_TRT | NUM(03) |
A tag ItemSequence é obrigatória para o PC-Factory. Para que seja possível a integração da estrutura deverá ser obrigatório o uso do sequencial SG1.G1_TRT. caso contrário o PC-Factory irá retornar inconsistência.A integração da estrutura sempre ocorrerá para a revisão atual da estrutura do produto. A informação da revisão atual da estrutura do produto está disponível no cadastro do produto e/ou no cadastro de indicadores de produto, conforme a parametrização estabelecida.Será enviada a última revisão válida da estrutura. Verificar controles de revisão por filial ( MV_ARQPROD e MV_REVFIL ) quando revisão manual(MV_REVAUT = F). Quando revisão automática (MV_REVAUT = T) sempre irá enviar a última. |
Mensagem | Tag | Descrição | Tabela/Campo: Protheus | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | ItemCode | Código item | SG2.G2_PRODUTO | CHAR(15) | TBLInWOHD.ProductCodeTBLInWOHD.WOCode | CHAR(20) |
ItemDescription | Descrição do item | SB1.B1_DESC | CHAR(40) | |||
ItemInternalId | Empresa|Filial|Item | EMPRESA + SG2.G2_FILIAL +SG2.G2_PRODUTO | ||||
ScriptCode | Código do Roteiro | SG2.G2_CODIGO | CHAR(02) | |||
ScriptDescription | Descrição Roteiro | -- | CHAR(40) | |||
ScriptAlternative | Roteiro Alternativo | -- | CHAR(02) | |||
ListOfActivity | ||||||
ActivityInternalID | ID Operação | SG2.R_E_C_N_O_ | NUM(05) | |||
ActivityCode | Código da Operação | SG2.G2_OPERAC | CHAR(02) | TBLInWodet.Code | CHAR(10) | |
ActivityDescription | Descrição Operação | SG2.G2_DESCRI | CHAR(60) | TBLInWodet.Name | CHAR(40) | |
MachineCode | Código da Máquina | SG2.G2_RECURSO | CHAR(06) | TBLInWodet.Resource | CHAR(15) | |
ToolCode | Código Ferramenta | SG2.G2_FERRAM | CHAR(06) | |||
ActivityType | Tipo Operação | 1 = Executa operação; 2 = Não executa. | CHAR(01) | |||
WorkCenterCode | Código Centro Trabalho | SG2.G2_CTRAB | CHAR(06) | TBLInWodet.ManagerGrpCode | CHAR(15) | |
WorkCenterInternalId | Id Centro de Trabalho | EMPRESA + SG2.G2_FILIAL + SG2.G2_CTRAB | ||||
UnitItemNumber | Lote padrão | SG2.G2_LOTEPAD | NUM(06) | TBLInWodet. StdSpeed | DEC(28,23) | |
TimeResource | Tempo Recurso | 0 | TBLInWodet. StdSpeed | DEC(28,23) | ||
TimeMachine | Tempo Máquina | SG2.G2_TEMPAD | DEC(05,2) | TBLInWodet. StdSpeed | DEC(28,23) | |
TimeSetup | Tempo Preparação | SG2.G2_SETUP | DEC(05,2) | TBLInWodet. SetUpTime | INT | |
UnitTimeType | Tipo Unidade Tempo | 1 = Horas;2=Minutos;3=Segundos;4=Dias | TBLInWodet. StdSpeedFormat | TINYINT | ||
ScriptAlternative | Alternativo | SG2.G2_ROTALT | CHAR(02) | |||
InitialDate | Data Inicial | SG2.G2_DTINI | DATE | TBLInWodet.DtPlanStart | DATETIME | |
FinalDate | Data Final | SG2.G2_DTFIM | DATE | TBLInWodet.DtPlanEnd | DATETIME | |
PercentageScrapValue | % Refugo | -- | ||||
PercentageValue | Proporção | -- | ||||
ResourceQuantity | Quantidade Recurso | -- |
|
Mensagem | Tag | Descrição | Tabela/Campo: Protheus | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | WarehouseCode | Armazém/Depósito | SBE.BE_LOCAL | CHAR(02) | TBLInAddress.WarehouseCode | CHAR(15) |
LocationCode | Endereço/Localização | SBE.BE_LOCALIZ | CHAR(15) | TBLInAddress.Code | CHAR(15) | |
AdressInternalId | Chave completa endereço | EMPRESA + SBE.BE_FILIAL + SBE.BE_LOCAL + SBE.BE_LOCALIZ | ||||
AdressStockDescription | Descrição do endereço | SBE.BE_DESCRIC | CHAR(30) | TBLInAddress.ExtCode | CHAR(20) |
Mensagem | Tag | Descrição | Tabela/Campo: Protheus | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | ItemCode | Código do produto | SB2.B2_COD | CHAR(15) | TBLInMovMat.ProductCode | CHAR(20) |
ItemDescription | Descrição do item | SB1.B1_DESC | CHAR(30) | |||
ListOfStock | ||||||
ReferenceCode | Referência | -- | ||||
WarehouseCode | Depósito/Local de estoqe/Armazem | SB2.B2_LOCAL | CHAR(02) | TBLInMovMat.WarehouseCode | CHAR(15) | |
LotCode | Número do Lote | SB8.B8_LOTECTL | CHAR(10) | TBLInMovMat.LotCode | CHAR(41) | |
SubLotCode | Sub-Lote | SB8.B8_NUMLOTE | CHAR(06) | |||
NumberSeries | Número de Série | SBF.BF_NUMSERI | CHAR(20) | |||
AddressCode | Endereço/Localização | SBF.BF_LOCALIZ | CHAR(15) | TBLInMovMat.AddressCode | CHAR(15) | |
LotDueDate | Data de Validade | SB8.B8_DTVALID | DATE | TBLInMovMat.LotDtValidity | DATETIME | |
CurrentStockAmount | Saldo de estoque | SB2.B2_QATUSB8.B8_SALDOSBF.BF_QUANT | DEC(12,2) | |||
BookedStockAmount | Quantidade Reservada | SB2.B2_RESERVASB8.B8_EMPENHOSBF.BF_EMPENHO | DEC(12,2) | |||
AvailableStockAmount | Saldo disponível | SB2.B2_QATU - SB2.B2_RESERVASB8.B8_SALDO - SB8.B8_EMPENHOSBF.BF_QUANT - SBF.BF_EMPENHO | DEC(12,2) | |||
QuantityUpdated | Quantidade Atualizada | DEC(12,2) | TBLInMovMat.Qty | DEC(18,2) | ||
InputOutput | Entrada, Saída ou Alteração de lote/data de validade | 1 = Entrada, 2 = Saída ou 3 = Altera lote, data ou sincronizar saldos. | CHAR(01) | TBLInMovMat.Classification | CHAR(15) |
|
Mensagem | Tag | Descrição | Tabela/Campo:Protheus PCP | Tabela Campo: Protheus SFC | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
BusinessContentType | Code | Código Refugo | SX5.X5_CHAVE | CYO.CYO_CDRF | CHAR(08) | TBLOutScrap.Code | CHAR(15) |
Description | Descrição do Refugo | X5_DESCRIX5_DESCSPAX5_DESCENG | CYO.CYO_DSRF | CHAR(40) | TBLOutScrap.Name | CHAR(30) | |
IsRework | Retrabalho | CYO.CYO_LGRT | BOOLEAN | ||||
IsScrapMaterial | Refugo Material | SBE.BE_DESCRIC | CYO.CYO_LGRFMP | BOOLEAN |
|
Identificador da Mensagem: StopReason
Versão: 1_000
Módulo Protheus: SIGAPCP/SIGASFC
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo:Protheus PCP | Tabela Campo: Protheus SFC | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
BusinessContentType | Code | Código Motivo Parada | SX5.X5_CHAVE | CYN.CYN_CDSP | CHAR(10) | TBLOutResourceStatus.Code | CHAR(05) |
Description | Descrição Parada | X5_DESCRIX5_DESCSPAX5_DESCENG | CYN.CYN_DSSP | CHAR(40) | TBLOutResourceStatus.Name | CHAR(30) | |
IsEfficiency | Altera Eficiência | -- | -- | ||||
IsEmailEquipment | E-mail Planejador | -- | -- | ||||
IsServiceRequest | Emite Solicitação Serviço | -- | -- | ||||
IsSetup | Parada Setup | -- | -- | TBLOutResourceStatus.FlgSetup | SMALLINT |
|
Identificador da Mensagem: ProductionOrder
Versão: 2_003
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Mesagem | Tag | Descrição | Tabela/Campo | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | Number | Número Ordem Produção | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN | CHAR(20) | TBLInWOHD.Code | CHAR(41) |
ProductionOrderUniqueID | Empresa+Filial+Ordem Produção | EMPRESA + SC2.C2_FILIAL + SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN | CHAR(30) | |||
ItemCode | Código Item | SC2.C2_PRODUTO | CHAR(15) | TBLInWOHD.ProductCode | CHAR(20) | |
ItemDescription | Descrição Item | SB1.B1_DESC | CHAR(40) | |||
Type | Tipo 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.WoTypeCode | CHAR(20) | |
Quantity | Quantidade | SC2.C2_QUANT | DEC(12,2) | TBLInWOHD.TotalQty | DEC(19,4) | |
ReportQuantity | Quantidade Reportada | SC2.C2QUJE | DEC(12,2) | |||
UnitOfMeasureCode | Unidade Medida | SC2.C2_UM | CHAR(02) | TBLInWoDet.Unit1Code | CHAR(05) | |
RequestOrderCode | Código Pedido Ordem Produção | SC2.C2_PEDIDO | CHAR(06) | |||
StatusOrderType | Estado da ordem | Prevista/Aberta = 1 Iniciada = 6 Encerrada Parcial/Total = 7 Ociosa = 9 | CHAR(01) | TBLInWOHD.Status | SMALLINT | |
WarehouseCode | Código Depósito | SC2.C2_LOCAL | CHAR(02) | TBLInWOHD.AuxCode1 | CHAR(20) | |
EndOrderDateTime | Data Fim Ordem Produção CP | SC2.C2_DATPRF | DATE | TBLInWOHD.DtPlanEnd | DATETIME | |
StartOrderDateTime | Data Início Ordem Produção CP | SC2.C2_DATPRI | DATE | TBLInWOHD.DtPlanStart | DATETIME | |
AbbreviationProviderName | Nome Cliente | SC5.C5_CLIENTE ( SA1.A1_NOME) | CHAR(30) | |||
ScriptCode | Código Roteiro | SC2.C2_ROTEIRO | CHAR(02) | |||
ReportOrderType | Tipo de Reporte | 1 = Ordem; 2 = Operações; 3 = Ponto Controle; 4 = Item | CHAR(01) | |||
ListOfActivityOrders | ||||||
ProductionOrderNumber | Ordem de Produção | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN | CHAR(20) | TBLInWoDet.Wocode | CHAR(10) | |
ActivityID | ID do Registro | RECNO (SG2,SHY ou SH8) | CHAR(10) | |||
ActivityCode | Código Operação | SG2.G2_OPERAC SHY.HY_OPERAC SH8.H8_OPER | CHAR(02) | TBLInWoDet.WODetCode+Split | CHAR(10) | |
ActivityDescription | Descrição Operação | SG2.G2_DESCRI | CHAR(40) | TBLInWoDet.WODetName | CHAR(30) | |
Split | Desdobramento da operação | SH8.H8_DESDOBR | CHAR(04) | |||
ActivitySequence | Prioridade da execução das operações | NÃO UTILIZADO | ||||
ItemCode | Código do item | SC2.C2_PRODUTO | CHAR(15) | |||
ItemDescription | Descrição do item | SB1.B1_DESC | CHAR(40) | |||
ActivityType | Tipo Operação | 1 - Aponta ; 2-Não Aponta | CHAR(01) | |||
WorkCenterCode | Código Centro de Trabalho | SG2.G2_CTRAB SHY.HY_CTRAB SH8.H8_CTRAB | CHAR(06) | TLBInWODet.ManagerGrpCode | CHAR(15) | |
WorkCenterDescription | Descrição Centro de Trabalho | SHB.HB_NOME | CHAR(30) | |||
UnitTimeType | Tipo Unidade Tempo | 1 - Horas; 2 - Minutos; 3- Segundos; 4 - Dias | CHAR(01) | TLBInWODet.StdSpeedFormat | TINYINT | |
TimeResource | Tempo Recurso (Tempo padrão para um lote) | SG2.G2_TEMPAD | DEC(05,2) | TLBInWODet.StdSpeed | DEC(28,23) | |
TimeMachine | Tempo 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) | |
TimeSetup | Tempo Preparação | SG2.G2_SETUP SHY.HY_TEMPOS SH8.H8_SETUP | DEC(15,4) | TLBInWODet.SetUpTime | INT | |
TimeMOD | Tempo Homen | -- | ||||
TimeIndMES | Iindicador de tempo no MES | 1 = Tempo Máquina; 2 = Tempo mão-de-obra; 3 = Escolha pelo MES. | CHAR(01) | |||
ScriptCode | Código Roteiro | SG2.G2_CODIGO SHY.HY_ROTEIRO SH8.H8_ROTEIRO | CHAR(02) | |||
LaborCode | Código Mão de Obra Direta | MOD+CC | CHAR(08) | |||
UnitItemNumber | Lote Padrão | SG2.G2_LOTEPAD | NUM(05) | TLBInWODet.StdSpeed | DEC(28,23) | |
IsActivityEnd | Última Operação | Na última operação passar TRUE. Nas demais FALSE. | BOOLEAN | TLBInWODet.ReportTrigger | TINYINT | |
MachineCode | Código Máquina | SG2_RECURSO SHY_RECURSO H8_RECURSO | CHAR(06) | |||
StartPlanDateTime | Data/Hora Início Programação | SHY.HY_HORAINI SC2.C2_DATPRI SH8.H8_DTINI | DATE | TLBInWODet.StartPlanDateTime | DATETIME | |
EndPlanDateTime | Data/Hora Fim Programação | SHY.HY_HORAFIM SC2.C2_DATPRF SH8.H8_DTFIM | DATE | TLBInWODet.EndPlanDateTime | DATETIME | |
ProductionQuantity | Quantidade a produzir na operação | SHY.HY_QUANT SH8.H8_QUANT SC2.C2_QUANT | DEC(12,2) | TLBInWODet.Qty | DEC(19,4) | |
ActivityQuantity | Quantidade da operação | SHY.HY_QUANT SH8.H8_QUANT SC2.C2_QUANT | DEC(12,2) | |||
UnitActivityCode | Unidade de medida | SB1.B1_UM | CHAR(02) | TLBInWODet.Unit1Code | CHAR(5) | |
SecondUnitActivityCode | Segunda unidade de medida na operação | -- | TLBInWODet.Unit2Code | CHAR(5) | ||
SecondUnitActivityFactor | Fator 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 | ||||||
ProductionOrderNumber | Ordem de produção | SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN | CHAR(20) | TBLInBillMat.Wocode | CHAR(41) | |
MaterialID | ID do registro da reserva | SD4.R_E_C_N_O_ | CHAR(10) | |||
MaterialCode | Código Item Reserva | SD4.D4_COD | CHAR(15) | TBLInBillMat.ProductCode | CHAR(20) | |
MaterialDescription | Descrição do Item | SB1.B1_DESC | CHAR(40) | |||
ScriptCode | Código Roteiro | SD4.D4_ROTEIRO | CHAR(02) | |||
ActivityCode | Código Operação | SD4.D4_OPERAC | CHAR(02) | TBLInBillMat.WODetCode | CHAR(10) | |
WarehouseCode | Código Depósito | SD4.D4_LOCAL | CHAR(02) | TBLInBillMat.ExtCode | CHAR(20) | |
MaterialDate | Data Reserva | SD4.D4_DATA | DATE | |||
MaterialQuantity | Quantidade Reserva | SD4.D4_QUANT | DEC(12,2) | TBLInBillMat.TotalQty | DEC(19,4) | |
LotCode | Lote | SD4.D4_LOTECTL | CHAR(10) | |||
PertMaterialNumber | Sequência do item | SD4.D4_TRT | CHAR(03) | |||
RequestType | Tipo da Requisição | SB1.B1_APROPRI | CHAR(01) | TBLInBillMat.Comments | CHAR(500) | |
ListOfAllocatedMaterial | ||||||
WarehouseCode | Código Depósito | SD4.D4_LOCAL | CHAR(02) | TBLInMovMat.WarehouseCode | CHAR(15) | |
LotCode | Código Lote | SD4.D4_LOTECTL SDC.DC_LOTECTL | CHAR(10) | TBLInMovMat.LotCode | CHAR(41) | |
LocationCode | Localização/Endereço | SDC.DC_LOCALIZ | CHAR(15) | TBLInMovMat.AddressCode | CHAR(15) | |
ActivityCode | Código Operação | SD4.D4_OPERAC | CHAR(02) | TBLInMovMat.WoDetCode | CHAR(10) | |
ScriptCode | Código Roteiro | SD4.D4_ROTEIRO | CHAR(02) | |||
AllocationQuantity | Quantidade Alocada | SD4.D4_QUANT SDC.DC_QUANT | DEC(12,2) | TBLInMovMat.Qty | DEC(19,4) | |
AllocationType | Tipo Alocação | 1 = Soma;2=Diminui;3=Valor Absoluto | CHAR(01) | TBLInMovMat.AllocationType | INT | |
SubLoteCode | Sub Lote | SD4.D4_NUMLOTE SDC.DC_NUMLOTE | CHAR(06) | |||
NumberSeries | Número de Serie | SDC.DC_NUMSERI | CHAR(20) | |||
LotDueDate | Data de Validade | SD4.D4_DTVALID | DATE | TBLInMovMat.LotDtValidity | DATETIME | |
ListOfQuotaActivity | ||||||
ProductionOrderNumber | Número Ordem Produção | CY9.CY9_NRORPO | CHAR(20) | |||
ControlType | Seleção Split | -- | ||||
ActivityID | ID Operação | CY9.CY9_CDAT | CHAR(10) | |||
ItemCode | Código do iten | CYY.CYY_CDAC | CHAR(15) | |||
ItemDescription | Descrição do item | CYY.CYY_DSAC | CHAR(40) | |||
StartActivityDateTime | Data/Hora Início Atividade | CYY.CYY_DTBGAT / CYY.CYY_HRBGAT | DATETIME | TBLInWODet.StartPlanDateTime | DATETIME | |
EndActivityDateTime | Data/Hora Fim Atividade | CYY.CYY_DTEDAT / CYY.CYY_HREDAT | DATETIME | TBLInWODet.EndPlanDateTime | DATETIME | |
ApprovedQuantity | Quantidade Aprovada | CYY.CYY_QTATAP | DEC(13,4) | |||
ScrapQuantity | Quantidade Refugada | CYY.CYY_QTATRF | DEC(13,4) | |||
MachineCode | Código Máquina | CYY.CYY_CDMQ | CHAR(20) | TBLInWODet.ResourceCode | CHAR(15) | |
MachineDescription | Descrição da Máquina | CYY.CYY_DSMQ | CHAR(40) | |||
ActivityQuantity | Quantidade Prevista | CYY.CYY_QTAT | DEC(12,4) | TBLInWODet.QTY | DEC(19,4) | |
StandardSetup | Tempo Padrão Preparação | CYY.CYY_QTPASU | NUM(10) | |||
StandardActivity | Tempo Padrão Operação | CYY.CYY_QTPAAT | NUM(10) | |||
StandardPostprocessing | Tempo Padrão Pós_processo | CYY.CYY_QTPAPP | NUM(10) | |||
StandardMachine | Tempo Padrão Máquina | CYY.CYY_QTPAMQ | NUM(10) | |||
StandardOperator | Tempo Padrão MOD | CYY.CYY_QTPAOE | NUM(10) | |||
UsedCapacity | Capacidade Utilizada | CYY.CYY_QTVMAT | DEC(12,4) | |||
ActivityTimeQuantity | Hora Disponível Atividade | CYY.CYY_HRDI | CHAR(08) | |||
ReportQuantity | Quantidade Reportada | CYY.CYY_QTATRP | DEC(13,4) | |||
ReworkQuantity | Quantidade Retrabalhada | CYY.CYY_QTATRT | DEC(12,4) | |||
StartSetupDateTime | Data/Hora Início Preparação | CYY.CYY_DTBGSU / CYY.CYY_HRBGSU | DATETIME | |||
EndSetupDateTime | Data/Hora Fim Preparação | CYY.CYY_DTEDSU / CYY.CYY_HREDSU | DATETIME | |||
TimeSetup | Tempo Preparação | CY9.CY9_QTTESU | NUM(10) | TBLInWODet.SetUpTime | TINYINT | |
TimeMachine | Tempo Máquina | CY9.CY9_QTTEMQ | NUM(10) | TBLInWODet.StdSpeed | DEC(28,23) | |
TimeOperator | Tempo MOD | CY9.CY9_QTTERC | NUM(10) | |||
TimePostprocessing | Tempo Pós Processo | CY9.CY9_QTTEPP | NUM(10) | |||
QuotaActivityID | ID Split | CYY.CYY_IDATQO | CHAR(05) | ActivityCode+ TBLInWODet.WODetCode | CHAR(10) | |
WorkCenterCode | Centro de Trabalho | CY9.CY9_CDCETR | CHAR(10) | TBLInWODet.ManagerGrpCode | CHAR(15) | |
ReportedSplit | Split Reportado | CYY.CYY_LGQORP | BOOELAN | |||
StatusActivityType | Estado Operação | CYY.CYY_TPSTAT | CHAR(01) | |||
ListOfQuotaActivityTools | ||||||
ToolCode | Ferramenta | CYY.CYY_CDFE | CHAR(20) | |||
ToolQuantity | Quantidade Ferramenta | CYY.CYY_QTFE | NUM(03) |
|
Identificador da Mensagem: ProductionAppointment
Versão: 2_003
Módulo Protheus: SIGAPCP/SIGASFC
Tipo de Envio: Síncrona
Esta mensagem será gerada pelo PC-Factory e enviado ao Protheus. |
Mensagem | Tag | Descrição | Tabela/Campo Protheus PCP | Tabela Campo Protheus SFC | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
BusinessContentType | MachineCode | Máquina | SH6.H6_RECURSO | CYV.CYV_CDMQ | CHAR(06) | TBLOutInteg.ResourceCode | CHAR(15) |
ProductionOrderNumber | Ordem de Produção | SH6.H6_OP | CYV.CYV_NRORPO | CHAR(20) | TBLOutInteg.WOCode | CHAR(41) | |
ActivityCode | Operação | SH6.H6_OPERAC | CYV.CYV_CDAT | CHAR(02) | TBLOutInteg.WODetCode | CHAR(10) | |
Split | Split | SH6.H6_DESDOBR | CYV.CYV_IDATQO | CHAR(04) | TBLOutInteg.WODetCode | CHAR(10) | |
ActivityID | ID Operação | -- | -- | ||||
ItemCode | Produto | SH6.H6_PRODUTO | CYV.CYV_CDACRP | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
ApprovedQuantity | Quantidade Aprovada | SH6.H6_QTDPROD | CYV.CYV_QTATAP | DEC(11,2) | TBLOutInteg.Qty | DEC(19,4) | |
ScrapQuantity | Quantidade Refugada | SH6.H6_QTDPERD | CYV.CYV_QTATRF | DEC(11,2) | TBLOutInteg.Qty | DEC(19,4) | |
ReworkQuantity | Quantidade Retrabalhada | -- | -- | ||||
StartSetupDateTime | Data/Hora Início Preparação | -- | CYV_DTBGSU CYV_HRBGSU | DATETIME | |||
EndSetupDateTime | Data/Hora Fim Preparação | -- | CYV_DTEDSU CYV_HREDSU | DATETIME | |||
SetupCode | Código Preparação | -- | CYV_CDSU | CHAR(10) | |||
OpTimeInt | Tempo Operação | -- | CYV.CYV_QTTERP | NUM(10) | |||
ProductionShiftCode | Código Modelo Turno | -- | CYV.CYV_CDTN | CHAR(08) | |||
ProductionShiftNumber | Número Turno | -- | CYV.CYV_NRTN | CHAR(05) | TBLOutInteg.Shift | SMALLINT | |
DocumentCode | Documento | -- | CYV.CYV_NRDO | CHAR(20) | TBLOutInteg.DocNumber | CHAR(20) | |
DocumentSeries | Série Documento | -- | CYV.CYV_NRSR | CHAR(05) | |||
StartReportDateTime | Data/Hora Início Reporte | SH6.H6_DATAINI SH6.H6_HORAINI | CYV.CYV_DTRPBG CYV.CYV_HRRPBG | DATETIME | TBLMSGERP.Start | DATETIME | |
EndReportDateTime | Data/Hora Fim Reporte | SH6.H6_DATAFIN SH6.H6_HORAFIN | CYV.CYV_DTRPED CYV.CYV_HRRPED | DATETIME | TBLMSGERP.End | DATETIME | |
ReversedReport | Estorno do Apontamento | TRUE ou FALSE | TRUE ou FALSE | BOOLEAN | |||
ReversalDate | Data do estorno | -- | CYV.CYV_DTEO | DATE | TBLOutInteg.DTEv | DATETIME | |
ReportDateTime | Data/Hora Reporte | SH6.H6_DTAPONT | CYV.CYV_DTRP CYV.CYV_HRRP | DATETIME | TBLOutInteg.DtEv | DATETIME | |
WarehouseCode | Código Depósito | SH6.H6_LOCAL | CYV.CYV_CDDP | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) | |
LotCode | Lote/Série | SH6.H6_LOTECTL | CYV.CYV_CDLOSR | CHAR(10) | TBLOutInteg.LotCode | CHAR(41) | |
LotDueDate | Data Validade Lote | SH6.H6_DTVALID | CYV.CYV_DTVDLO | DATE | TBLLot.DtValidity | DATETIME | |
CloseOperation | Encerra Operação | SH6.H6_PT | CYV.CYV_LGEDRP | BOOLEAN | |||
LocationCode | Localização | -- | CYV.CYV_CDLC | CHAR(20) | TBLOutInteg.Address1Code | CHAR(15) | |
ListOfReversalAppointments | |||||||
IntegrationReport | Registro a ser estornado | CHAR(10) | TBLOutInteg.TransacType | TINYINT | |||
ReversalType | Tipo do Estorno | CHAR(01) | |||||
ReversalQuantity | Quantidade revertida | -- | DEC(18,4) | ||||
WasteAppointment | |||||||
WasteCode | Código Refugo | SBC.BC_MOTIVO | CY0.CY0_CDRF | CHAR(02) | TBLOutInteg.ScrapCode | CHAR(15) | |
WasteDescription | Descrição Refugo | SBC.BC_DESCRI | CY0.CY0_DSRF | CHAR(40) | |||
ScrapQuantity | Quantidade Refugada | SBC.BC_QUANT | CY0.CY0_QTRF | DEC(11,2) | TBLOutInteg.Qty | DEC(18,4) | |
ScrapProduct | Produto Refugado | SBC.BC_PRODUTO | -- | CHAR(15) | |||
WareHouseCode | Depósito Produto Refugado | SBC.BC_LOCORIG | -- | CHAR(10) | |||
ScrapQuantityTo | Quantidade Refugada gerada | SBC.BC_QTDDEST | -- | DEC(11,2) | |||
ScrapProductTo | Refugo Gerado | SBC.BC_CODDEST | -- | CHAR(15) | |||
WareHouseCodeTo | Depósito do Refugo gerado | SBC.BC_LOCAL | -- | CHAR(10) | |||
AdressCode | Endereço Origem | SBC.BC_LOCALIZ | CHAR(15) | ||||
AdressCodeTo | Endereço Destino | SBC.BC_LOCDEST | CHAR(15) | ||||
NumberSeries | Número de Série | SBC.BC_NUMSERI | CHAR(20) | ||||
NumberSeriesTo | Número de Série Destino | SBC.BC_NSEDEST | CHAR(20) | ||||
LotCode | Lote | SBC.BC_LOTECTL | CHAR(10) | ||||
SubLoteCode | Sub Lote | SBC.BC_NUMLOTE | CHAR(06) | ||||
LotDueDate | Data de Validade | SBC.BC_DTVALID | DATE | ||||
CostCenterCode | Centro de Custo | SBC.BC_CC | CHAR(09) | ||||
ResourceAppointment | |||||||
OperatorCode | Código Operador | -- | CYW.CYW_CDOE | CHAR(20) | TBLOutInteg.UserCode | CHAR(30) | |
StartDateTime | Data/Hora Início | -- | CYW.CYW_DTBGRP CYW.CYW_HRBGRP | DATETIME | TBLMSGERP.Start | DATETIME | |
EndDateTime | Data/Hora Fim | -- | CYW.CYW_DTEDRP CYW.CYW_HREDRP | DATETIME | TBLMSGERP.End | DATETIME | |
MOBTime | Tempo Mão de Obra Direta | -- | CYW.CYW_QTTEOE | NUM(10) | |||
ExtraTime | Tempo Extra | -- | CYW.CYW_QTTEEX | NUM(10) | |||
UtilTime | Tempo Útil | -- | CYW.CYW_QTTEUT | NUM(10) | |||
ProductionShiftCode | Código Modelo Turno | -- | CYW.CYW_CDTN | CHAR(08) | |||
ProductionShiftNumber | Número Turno | -- | CYW.CYW_NRTN | CHAR(05) | TBLOutInteg.Shift | SMALLINT | |
SupplyOrder | |||||||
ProductionOrderNumber | Número Ordem Produção | SD3.D3_OP | CZP.CZP_NRORPO | CHAR(20) | TBLOutInteg.WOCode | CHAR(41) | |
MaterialCode | Código Item Reserva | SD3.D3_COD | CZP.CZP_CDMT | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
UsedQuantity | Quantidade Utilizada | SD3.D3_QUANT | CZP.CZP_QTRPPO | DEC(12,2) | TBLOutInteg.Qty | DEC(19,4) | |
WarehouseCode | Código Depósito | SD3.D3_LOCAL | CZP.CZP_CDDP | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) | |
LocationCode | Localização | SD3.D3_LOCALIZ | CZP.CZP_CDLC | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) | |
LotCode | Lote/Série | SD3.D3_LOTECTL | CZP.CZP_CDLO | CHAR(20) | TBLOutInteg.LotCode | CHAR(41) | |
ActivityCode | Código Operação | -- | CZP.CZP_CDAT | CHAR(02) | TBLOutInteg.WODetCode | CHAR(10) | |
ScriptCode | Roteiro | -- | CZP.CZP_CDRT | CHAR(02) | |||
ReportToolActivity | |||||||
ToolCode | Código Ferramenta | -- | CZ0.CZ0_IDFE | CHAR(20) |
|
Notas Consumo dos componentes:
Notas Chão de Fábrica
Notas Refugo
Identificador da Mensagem: StopReport
Versão: 1_001
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Esta mensagem será gerada pelo PC-Factory e enviado ao Protheus. |
Mensagem | Tag | Descrição | Tabela/Campo Protheus PCP | Tabela/Campo Protheus SFC | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|---|
MachineCode | Código Máquina | SH6.H6_RECURSO | CYX.CYX_CDMQ | CHAR(06) | TBLOutRSEv.ResourceCode | CHAR(15) | |
MachineDescription | Descrição Maquina | ||||||
StopReasonCode | Código Motivo Parada | SH6.H6_MOTIVO | CYX.CYX_CDSP | CHAR(02) | TBLOutRSEv.ResourceStatusCode | CHAR(20) | |
StopReasonDescription | Descrição Motivo Parada | SX5.X5_DESCRI * | CYX.CYX_DSSP | CHAR(40) | |||
StartDateTime | Data/Hora Início | SH6.H6_DATAINI SH6.H6_HORAINI | CYX.CYX_DTBGSP CYX_HRBGSP | DATE | TBLOutRSEv.ShiftDtStart | DATETIME | |
EndDateTime | Data/Hora Fim | SH6.H6_DATAFIN SH6.H6_HORAFIN | CYX.CYX_DTEDSP CYX.CYX_HREDSP | DATE | TBLOutRSEv.ShiftDtEnd | DATETIME | |
OperatorCode | Código Operador | SH6.H6_OPERADO | CYX.CYX_CDOE | CHAR(20) | TBLOutRSEv.UserCodeStart | CHAR(30) | |
ReportDateTime | Data/Hora Reporte | SH6.H6_DTAPONT | CYX.CYX_DTRP | DATE | TBLOutRSEv.DtTimeStamp | DATETIME | |
ToolCode | Código Ferramenta | -- | CYX.CYX_CDFEPO | ||||
ProductionTeamCode | Código Equipe | -- | CYX.CYX_CDGROE | ||||
StopType | Tipo Parada (1=Não Programada;2=Programada) | -- | CYX.CYX_TPSP | ||||
ReportSequence | ID PC-Factory | -- | -- | TBLOutRSEv.IDOutRSEv |
|
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
Mensagem | Tag | Descrição | Tipo |
---|---|---|---|
ListOfRequest | ItemInternalId | Código do produto | CHAR(15) |
ReferenceCode | Referência | CHAR(20) | |
WarehouseInternalId | Código do depósito/local de estoque/Armazém | CHAR(10) | |
LotNumber | Lote | CHAR(10) | |
SubLotCode | SubLote | CHAR(10) | |
SerialNumber | Número de Série | CHAR(20) | |
Address | Localização | CHAR(15) | |
LotExpirationDate | Data de Validade | DATE |
|
Return
Mensagem | Tag | Descrição | Tabela/Campo | Tipo |
---|---|---|---|---|
ReturnContentType | ClosingStockDate | Data fechamento estoque | -- | |
ListOfReturnItem | CompanyId | Empresa | ||
BranchId | Filial | |||
CompanyInternalId | Empresa + Filial | |||
ItemInternalId | Código do produto | SB2.B2_COD | CHAR(15) | |
ReferenceCode | Referencia | -- | ||
ListOfStockBalance | ||||
WarehouseInternalId | Local de Estoque (Armazém/Depósito) | SB2.B2_LOCAL | CHAR(10) | |
LotNumber | Número do Lote | SB8.B8_LOTECTL | CHAR(10) | |
SubLotCode | Sub Lote | SB8.B8_NUMLOTE | CHAR(10) | |
LotExpirationDate | Data de validade | SB8.B8_DTVALID | DATE | |
SerialNumber | Número de série | SBF.BF_NUMSERI | CHAR(20) | |
Address | Localização | SBF.BF_LOCALIZ | CHAR(15) | |
CurrentStockAmount | Saldo do Produto em quantidade | SB2.B2_QATU SB8.B8_SALDO SBF.BF_QUANT | DEC(17,4) | |
BookedStockAmount | Quantidade reservada em Estoque | SB2.B2_RESERVA SB8.B8_EMPENHO SBF.BF_EMPENHO | DEC(17,4) | |
AvailableStockAmount | Saldo 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) | |
UnitItemCost | Custo unitário do Produto | -- | ||
AverageUnitItemCost | Custo médio do Produto | -- | ||
ValueOfCurrentStockAmount | Saldo atual do estoque do produto em valor | -- |
Esta mensagem será gerada pelo PC-Factory e enviada ao Protheus. |
Mensagem | Tag | Descrição | Tabela/Campo | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Código da empresa | ||||
BranchId | Filial | |||||
CompanyInternalId | InternalId da chave completa da empresa | |||||
InternalId | InternalId da movimentação. | |||||
TypeMovementCode | Código do Tipo de Movimento interno | SD3.D3_TM | CHAR(03) | |||
EmissionDate | Data de Emissão | SD3.D3_EMISSAO | DATE | TBLOutInteg. DtTimeStamp | DATETIME | |
ItemCode | Código do Produto | SD3.D3_COD | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
UnitOfMeasureCode | Unidade de Medida | SD3.D3_UM | CHAR(02) | |||
Quantity | Quantidade | SD3.D3_QUANT | DEC(12,2) | TBLOutInteg.Qty | DEC(19,4) | |
WarehouseCode | Código do Armazém | SD3.D3_LOCAL | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) | |
LotNumber | Lote | SD3.D3_LOTECTL | CHAR(10) | TBLOutInteg.LotCode | CHAR(41) | |
SubLotNumber | SubLote | SD3.D3_NUMLOTE | CHAR(06) | |||
LotExpirationDate | Data Validade do Lote | SD3.D3_DTVALID | DATE | TBLLot.DTDUE | DATETIME | |
Address | Endereço | SD3.D3_LOCALIZ | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) | |
NumberSeries | NumberSeries | SD3.D3_NUMSERI | CHAR(20) | TBLOutInteg.LotCode | CHAR(41) | |
InputOrOutput | Movimento de Entrada ou Saída | E=Entrada / S = Saída | CHAR(01) | TBLOutInteg.MovTypeCode | CHAR(05) | |
ReferenceCode | Referência | -- | ||||
ScriptCode | Roteiro | SD4.D4_ROTEIRO | CHAR(02) | |||
ActivityCode | Operação | SD4.D4_OPERAC | CHAR(02) | TBLOutInteg.WODetCode | CHAR(15) | |
ProductionOrderNumber | Ordem de Produção/Documento | SD3.D3_OP e SD3.D3_DOC | CHAR(13) | TBLOutInteg.WOCode | CHAR(41) | |
FatherItemCode | Item Pai | -- |
Event: delete As demais informações do XML, devem estar iguais as informações que foram enviadas na mensagem que originou o movimento. Exemplo do XML: <BusinessEvent>
|
Identificador da Mensagem: TransferWarehouse
Versão: 1_003
Módulo Protheus: SIGAPCP
Tipo de Envio: Síncrona
Esta mensagem será gerada pelo PC-Factory e enviada ao Protheus. |
Mensagem | Tag | Descrição | Tabela/Campo | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | CompanyId | Empresa | ||||
BranchId | Filial | |||||
CompanyInternalId | InternalId da chave completa da empresa | |||||
InternalId | InternalId da transferência | |||||
Number | Número da Movimentação | SD3.D3_NUMSEQ | CHAR(06) | |||
RegisterDateTime | Data de Emissão da solicitação | SD3.D3_EMISSAO | DATE | TBLOutInteg.DTEV | ||
TransferWarehouseType | ||||||
InternalId | InternalId da transferência | |||||
EmissionDate | Data de Emissão | TBLOutInteg.DTEV | DATETIME | |||
ItemCodeFrom | Item/Produto Origem | SD3.D3_COD | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
ItemCodeTo | Item/Produto Destino | SD3.D3_COD | CHAR(15) | TBLMovEv.ProductCode | CHAR(20) | |
UnitOfMeasureFrom | Unidade de Medida Origem | SD3.D3_UM | CHAR(02) | |||
UnitOfMeasureTo | Unidade de Medida Destino | SD3.D3_UM | CHAR(02) | |||
Quantity | Quantidade | SD3.D3_QUANT | DEC(12,2) | TBLOutInteg.Qty | DEC(19,4) | |
WarehouseCodeFrom | Código do Armazém de Origem | SD3.D3_LOCAL | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) | |
WarehouseCodeTo | Código do Armazém Destino | SD3.D3_LOCAL | CHAR(02) | TBLMovEv.WarehouseCode | CHAR(15) | |
LotNumberFrom | Número do Lote de Origem | SD3.D3_LOTECTL | CHAR(10) | TBLOutInteg.LotCode | CHAR(41) | |
LotNumberTo | Número do Lote de Destino | SD3.D3_LOTECTL | CHAR(10) | TBLMovEv.LotCode | CHAR(41) | |
SubLotNumber | Número do SubLote | SD3.D3_NUMLOTE | CHAR(06) | |||
LotExpirationDateFrom | Data de validade do Lote Origem | SD3.D3_DTVALID | DATE | TBLLot.DtDue | DATETIME | |
LotExpirationDateTo | Data de validade do Lote Destino | SD3.D3_DTVALID | DATE | TBLLot.DtDue | DATETIME | |
AddressFrom | Endereço Origem | SD3.D3_LOCALIZ | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) | |
AddressTo | Endereço Destino | SD3.D3_LOCALIZ | CHAR(15) | TBLOutInteg.Address2Code | CHAR(15) | |
NumberSeries | Número de série | SD3.D3_NUMSERI | CHAR(20) | TBLOutInteg.LotCode | CHAR(41) |
|
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.
Esta mensagem será gerada pelo PC-Factory e enviada ao Protheus. |
Mensagem | Tag | Descrição | Tabela/Campo | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | ProductionOrderNumber | Ordem de Produção | SBC.BC_OP | CHAR(20) | ||
IdReport | ID Apontamento | CHAR(10) | ||||
ItemCode | Produto Recusado | SBC.BC_PRODUTO | CHAR(20) | |||
WarehouseCode | Código do depósito | SBC.BC_LOCORIG | CHAR(02) | |||
AddressCode | Endereço | SBC.BC_LOCALIZ | CHAR(15) | |||
NumberSeries | Número de Série | SBC.BC_NUMSERI | CHAR(20) | |||
Type | Tipo Perda | SBC.BC_TIPO | CHAR(01) | |||
WasteCode | Motivo de Perda | SBC.BC_MOTIVO | CHAR(02) | |||
WasteDescription | Descrição da Perda | SBC.BC_DESCRI | CHAR(40) | |||
LossQuantity | Quantidade de Perda | SBC.BC_QUANT | DEC(11,2) | |||
CostCenterCode | Centro de Custo | SBC.BC_CC | CHAR(09) | |||
ItemCodeTo | Produto Gerado | SBC.BC_CODDEST | CHAR(20) | |||
WarehouseCodeTo | Código do depósito Destino | SBC.BC_LOCAL | CHAR(02) | |||
AdressCodeTo | Endereço Destino | SBC.BC_LOCDEST | CHAR(15) | |||
NumberSeriesTo | Nr. de Série Destino | SBC.BC_NSEDEST | CHAR(20) | |||
QuantityTo | Quantidade destino | SBC.BC_QTDDEST | DEC(11,2) | |||
ActivityCode | Operação | SBC.BC_OPERAC | CHAR(10) | |||
ResourceCode | Máquina/Recurso | SBC.BC_RECURSO | CHAR(20) | |||
LossDate | Data da Perda | SBC.BC_DATA | DATE | |||
LotCode | Lote | SBC.BC_LOTECTL | CHAR(10) | |||
SubLotCode | SubLote | SBC.BC_NUMLOTE | CHAR(06) | |||
LotDueDate | Data de Validade | SBC.BC_DTVALID | DATE |
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.
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.
|
A integração não contempla cadastramentos via Fluig (WorkFlow) ou rotinas não descritas nesse documento.
A Build deve ser igual ou superior a 7.00.131227A e data 08/09/2014.
Ordens geradas pelo APS serão enviadas via Schedule- PCPA114.
A integração do APS x PROTHEUS x TOTVS MES deverá considerar SOMENTE as ordens de produção alteradas e/ou criadas pelo APS e enviadas ao PROTHEUS.
No PCPA109, folder Ordens de Produção, é possível parametrizar se existe a integração com o APS. O Schedule para o envio de ordens geradas irá executar somente se o parâmetro "APS" estiver assinalado e a integração entre PROTHEUS x APS - MV_APS = 'TOTVS'.
Serão enviadas as ordens com origem no APS, tabela SC2, campos C2_OBS = TOTVSMES e C2_IDAPS preenchido. Também valida se existe dados na tabela SHY.
Para o envio deverá ter um controle do que já foi enviado, utilizando a tabela SOJ. Enviar somente ordens que possuam dados na SOJ com o parâmetro de envio para o MES como "N". Após o envio atualizar esse campo para "S" . Quando o APS atualizar uma ordem, deverá setar novamente o OJ_ENVMES para "N" para que o Schedule possa reenviá-la.
Para cadastrar o Schedule deve-se utilizar o SIGACFG - SCHEDULE. Configuração do Schedule em em: Schedule - Como agendar a execução de rotinas
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.
4) Se os itens acima estiverem correto, tente alterar para True o parâmetro MV_COPPI
Checklist de Verificações:
Ao processar requisições do WSPCP - Web Service, ocorre a abertura de múltiplas threads simultaneamente. O processamento das threads é realizado pela função ManualJob, que é executada a partir do WSPCP.
O parâmetro MV_TWSPCP tem como objetivo armazenar quatro informações que serão utilizadas no momento do processamento do WSPCP, permitindo desta forma a parametrização do comportamento das threads de acordo com cada cenário.
As quatro informações que compõe o parâmetro são:
Tipo | Descrição | Default |
---|---|---|
Número | Tempo (em segundos) de inatividade das threads do Job | 10 |
Número | Número máximo de threads do Job | 10 |
Número | Número mínimo de threads livres do Job | 10 |
Número | Número de threads incrementadas/acrescidas no Job quando o minimo livre for atingido | 1 |
Exemplos corretos de preenchimento do parâmetro:
1) 20,10,2,3
2) 10,10,10,1
3) 500,15,2,5
Exemplos incorretos de preenchimento do parâmetro:
1) 20, 10, 2, 3
2) 20 10 2 3
3) "20","10","2","3"
4) "20,10,2,3"
Caso o parâmetro não exista ou não esteja informado, o processamento será efetuado com as informações default de acordo com o WSPCP (não será utilizado o default do ManualJob).
Caso seja preenchida uma das informações do parâmetro, as quatro informações devem ser preenchidas, na ordem indicada.
Ao preencher o parâmetro MV_TWSPCP com 20,10,2,3, o processamento terá o seguinte comportamento:
Descrição do parâmetro | Conteúdo | Comportamento do Job |
---|---|---|
Tempo (em segundos) de inatividade das threads | 20 | Todas as threads abertas por envio de requisições permanecerão abertas por 20 segundos inativos. Após processar uma requisição, a thread voltará para a situação livre e poderá ser reutilizada. Caso não ocorra acionamento de uma thread aberta por 20 segundos, esta será fechada. |
Número máximo de threads abertas simultaneamente | 10 | Serão abertas no máximo 10 threads simultaneamente. |
Número mínimo de threads livres (sem uso) | 2 | Serão abertas 2 threads para permanecerem livres. |
Número de threads acrescidas quando a quantidade livre for atingida | 3 | Para cada requisição, deverão estar abertas 3 threads. |
Ao enviar 3 requisições: