Páginas filhas
  • DI Integração PCP Logix x PPI-Multitask

Integração PCP Logix x PPI-Multitask

Contexto de negócio (Introdução)

  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.

Sistemas Envolvidos

Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração):

  • LOGIX 12.1.17 / LOGIX 12.1.18;
  • FRAME LOGIX 12.1.17;
  • PC-FACTORY (PPI MULTITASK).

Objetivo da integração

O objetivo da Integração PC Factory (software MES da empresa PPI Multitask) X LOGIX é 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 da integração



Permite a integração entre o módulo de Manufatura do Logix com o MES PC-Factory da PPI-Multitask, que tem como objetivo controlar os apontamentos das ordens de produções. O Logix 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:

  • Parametrização: Permite parametrizar a utilização da integração, indicando se está ATIVA. Indica se ocorrerá a geração dos arquivos XMLs das informações que serão trafegadas entre os sistemas e, também possibilita definir os filtros que serão aplicados nas informações.
  • Integradores: Os "adapters" são as funções responsáveis por enviar ou receber as informações que são trafegadas entre os sistemas Logix e PC-Factory. A integração contempla as seguintes informações: Item, local de estoque, máquinas, ordens de produção, roteiro, estrutura e endereço e receber apontamento de produção, apontamento de parada, motivo de parada e motivo de refugo.
  • Gerenciamento TOTVS MES: Permite gerenciar as pendências de envio do Logix para o PC-Factory bem como verificar o histórico e erros do processo da integração.
  • WebService: Permite processar os apontamentos de produção e parada enviados do PC-Factory para o Logix.
  • Sincronização: Permite realizar a sincronização dos dados entre o Logix e o PC-Factory. Poderá enviar os dados dos Item, local de estoque, máquinas, ordens de produção, roteiro, estrutura e endereço
  • Consulta ID MES: Permite verificar os IDs gerados para os produtos quando estiver parametrizado o uso de grade.

Nota:

A integração não contempla a integração com o WMS.

Restrições

Não é possível utilizar o conceito de prioridade do programa MAN10243.

Pré-requisitos instalação/implantação/utilização

Para a versão 12 do Logix, deve-se aplicar o pacote de atualizações a partir da versão 12.1.17.

Usar o pacote do Framework da 12.1.17.

WebService

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.

Exemplo :
;CONFIGURACAO WEBSERVICE


[WEBSERVICES]
Enable=1
Environment=migralgx
Conout=0
Trace=0
xmlsaveall=0
NameSpace=http://totvs.com
URLLocation=http://10.80.128.17:2347
Logix=1
Security=0
PROFILE=0
TRACEHOST=0PROFILE=0


[HTTP]

Enable=1

Port=8080

path=c:\totvs\bin\smartclient\

Environment=migralgx


;FIM CONFIGURACAO WEBSERVICE


Importante:

O nome do Webservice a ser utilizado no TOTVSMES é o WSMAN. Não é utilizado o EAI.


Configuração do JOB

As mensagens de saldo de estoque atualizados pelo Logix e ordens de produção geradas pelo APS são enviadas por meio do JOB do Logix. Necessário configurar a sessão ONSTART do appserver.

Exemplo:

[ONSTART]

Jobs=4GLJOB1

[4GLJOB1]

Environment=migralgx

Main=JobStarter

Mensagens de Retorno

Para processar as mensagens deve ser atualizado o campo MAXSTRINGSIZE da sessão General do appserver:

MAXSTRINGSIZE=500


Instalação/Atualização

A integração Logix x PC-Factory PPI-Multitask é ativada por intermédio dos seguintes passos:

  1. Abrir o programa de Parâmetros da integração: MAN10538.
  2. Setar o campo Integração Ativa? para "Ativo".
  3. No campo Caminho Webservice 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 (item, local de estoque, máquinas, roteiro, estrutura, endereço 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 é necessário 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 itens que sejam classificados como Produzido. O filtro será: IES_TIP_ITEM = "P"

O envio de informações do Logix para o PC-Factory PPI-Multitask ocorre nas seguintes transações:

  • Cadastro, alteração e exclusão de produto (MAN10021), Local de estoque (SUP10002) e máquinas, que pode ser Arranjo (MAN10072) ou Recurso (MAN10078);
  • Cadastro e alteração de ordens (MAN0515);
  • Manutenção do Status da ordem (MAN10055);
  • Manutenção das operações (MAN10030);
  • Manutenção dos empenhos (MAN10029);
  • Desmembramento das ordens (MAN10034);
  • Planejamento por Equipamento (MAN10500);
  • Cálculo do MRP (MAN10255);
  • Criação manual de ordens (MAN10031);
  • Abertura automática (MAN10032) e liberação automática (MAN0860);
  • Encerramento das ordens (MAN0730);
  • Cadastro, alteração e exclusão de estrutura (MAN10002);
  • Cadastro, alteração e exclusão do endereço (SUP0076) ou (SUP3335);
  • Cadastro, alteração e exclusão dos processos (MAN10243);
  • Saldo em estoque.

O envio de informações do PC-Factory PPI-Multitask para o Logix ocorre nas seguintes transações:

  • Cadastro de motivos de parada (MAN10095);
  • Cadastro de motivos de refugo (MAN10026);
  • Apontamento de produção e parada (MAN8228);
  • Transferências (SUP8790);
  • Request - Saldo em estoque (SUP0170).
     

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 Logix estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.

Observação: Este modelo de suporte está sendo revisado pela TOTVS.


Transações/Entidades/Mensagens únicas

As seguintes transações serão trocadas entre a TOTVS e a PPI-Multitask:


 Fluxo das Informações:

Método

ID

Descrição

Origem

Destino

XSD (versões podem variar)

ProgramasTabela

Cadastros

01

Item

Logix

PC-Factory

Item_4_001.xsd

MAN10021ITEM

02

Local de Estoque

Logix

PC-Factory

Warehouse_1_001.xsd

SUP10002LOCAL

03

Máquinas

Logix

PC-Factory

Machine_1_001.xsd

MAN10072

MAN10078

REC_ARRANJO

RECURSO

05EstruturaLogixPC-FactoryItemStructure_1_001MAN10002ESTRUT_GRADE
06RoteiroLogixPC-Factory ItemScript_1_001

MAN10243

MAN_PROCESSO_ITEM

07

Ordem de Produção

Logix

PC-Factory

ProductionOrder_2_008.xsd

MAN0515

MAN10255

MAN10500

MAN10030

MAN10029

MAN10055

MAN10034

MAN10031

MAN10032

MAN0860

MAN0730

ORDENS
08EndereçoLogixPC-Factory AddressStock_1_000

SUP0076

SUP3335

ENDERECO
09Saldo em EstoqueLogixPC-FactoryItemStockLevel_1_000JOBESTOQUE_TRANS_END

Processos

09

Motivo de Parada

PC-Factory

Logix

StopReason_1_000

MAN10095

MOT_PARADA

10Motivo de RefugoPC-FactoryLogixWasteReason_1_000

MAN10026

DEFEITO

11Apontamento de ProduçãoPC-FactoryLogixProductionAppointment_2_002MAN8228

MAN_APO_MESTRE

MAN_ITEM_PRODUZIDO

MAN_COMP_CONSUMIDO

12

Apontamento de Parada

PC-Factory

Logix

StopReport_1_001

MAN8228

MAN_APO_MESTRE

MAN_TEMPO_PRODUCAO

13TransferênciaPC-FactoryLogixTransferWareHouse_1_003

SUP8790

SUP0737

SUP5620

SUP0638

ESTOQUE_TRANS

ESTOQUE_TRANS_END

14MovimentaçõesPC-FactoryLogixMovimentsInternal_1_001SUP0710

ESTOQUE_TRANS

ESTOQUE_TRANS_END

15Request SaldoPC-FactoryLogixStockLevel_2_000SUP0170ESTOQUE_LOTE_ENDER



Fluxo das Informações

Fluxo das informações das transações:

  • Parametrização: MAN10538, permite parametrizar a integração TOTVS MES, indicando o que será trafegado entre os sistemas.
  • Item, local de estoque, máquinas, estrutura, processo e endereço: no momento da criação, alteração ou exclusão de um produto no programa MAN10021, de um local de estoque no programa SUP10002, de um recurso no MAN10078 ou arranjo no MAN10072, de uma estrutura no MAN10002, de um processo no MAN10243 ou endereço no SUP0076 ou SUP3335, 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 será criada uma pendência de envio no programa MAN10540.
  • 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 (requisição, alteração de operações ou empenhos, MRP, criação de splits, etc), 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, será gerada uma pendência de envio no programa MAN10540. Ao final do processo das rotinas que processam múltiplas ordens, como por exemplo o MRP, serão exibidos os que tiveram pendência de envio.
  • Programa de gerenciamento TOTVS MES MAN10540: 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. Outra funcionalidade é a verificação das mensagens recebidas pelo PC-Factory, que são: motivos de parada, motivos de refugo, apontamento de parada e apontamento de produção.
  • Programa de Sincronização MAN10541: permite o envio das informações do item, local de estoque, recurso/arranjo, roteiro, estrutura, endereço 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 MAN10538, também será possível adicionar novos filtros para cada tabela.
  • Apontamento de produção/parada: Consiste no WebService para receber os apontamentos de produção/parada realizados no PC-Factory. Poderá processar apontamentos de produção e parada de recurso. Executará o mesmo processo que a rotina MAN8228.
    O fluxo da integração será o seguinte:
    1. Operador efetua reporte normalmente conforme sua operação no PC-Factory.
    2. 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 Logix; que validará a mensagem e encaminhará ao respectivo adapter de negócio para processamento.
    3. 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 Logix registrará em LOG o processamento).
    4. Em caso de sucesso no reporte, será retornado ao PC-Factory o número do registro do reporte realizado no Logix. Esse número poderá ser utilizado em caso de estorno. 

Replicação dos cadastros

No Logix é possível cadastrar replicações de cadastros. Para o envio das mensagens nas empresas replicadas será utilizado o Webservice que estiver cadastrado no MAN10538 de cada empresa.

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
  • StopReason
  • WasteReason
  • TransferWareHouse
  • MovimentsInternal
  • StockLevel

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 Logix.</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 Logix" ou  "ID xxxx já processado. Status:  ID do Logix" 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 Logix.

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


O retorno, quando mensagem processada na primeira tentativa, 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 logix.</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 Logix, 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.

Abaixo tabela dos códigos enviados:

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

Importante:

  • Caso um registro fique preso com status de "registro em processamento", este poderá ser destravado pela rotina MAN10540, informando 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 da mensagem

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


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.



Rotinas Envolvidas

Parametrização - MAN10538

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:

  • Integração Ativa?: Indica se a integração está ativa.
  • Caminho Webservice: Indica o caminho do WebService do PC-Factory. Após o caminho, terá um botão testar para verificar se webservice está ativo.
  • 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 
  • Pendentes - 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:

  • Item
  • Local de Estoque
  • Máquina (Arranjo/Recurso)
    Deverá ser parametrizado o centro de trabalho do recurso. Informar o campo centro de trabalho padrão.
  • Roteiro
  • Estrutura
  • 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 "APS". Indica se a integração(JOB) com o APS está ativa.
    Painel "Arranjo". Indica se será enviado o código do arranjo como código da máquina nas operações da ordem.
    Painel "Usuário Apontamentos". Indica para qual usuário será registrado o apontamento de produção.
    Folder "Operações": Define o filtro criado para as operações da ordem de produção.
  • Roteiros;
  • Estrutura;
  • Endereço.
  • Movimentos e transferências
    Além dos filtros, devem ser definidas as operações de estoque a serem realizadas no recebimento das mensagens, e também definir as contas contábeis.
    Painel Operações de Estoque:
    - Entrada: Somente informar operação de estoque que esteja cadastrada no SUP0660 com o tipo entrada;
    - Saída: Somente informar operação de estoque que esteja cadastrada no SUP0660 com o tipo saída;
    - Transferência: Somente informar operação de estoque que esteja cadastrada no SUP0660 com o tipo diversos.
    Painel Contas Contábeis:
    - Entrada;
    - Saída.
  • Saldos
    Painel Operações de estoques integradas:
    - Array para incluir as operações de estoque que permitem integração do saldo com o TOTVS MES.
    Painel Data de corte das movimentações: 
    - Campo para indicar a data em que as movimentações deverão ser consideradas.
  • 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 - MAN10541

A sincronização é o processo que será utilizado para popular ou atualizar a base do PC-Factory com os dados do Logix. 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 MAN10541. 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.


Gerenciamento TOTVS MES - MAN10540

Rotina para gerenciar as mensagens não enviadas ao sistema PC-Factory, sejam elas pendências ou erro. A rotina também possibilita consultar as mensagens enviadas com sucesso.

Permite gerencias as mensagens recebidas pelo Logix. A rotina está dividida em dois folders "Envio" e "Recebimento".

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

Envio:

  • Produto/Item;
  • Local de Estoque (depósitos);
  • Máquinas - Arranjo/Recurso;
  • Ordens de produção (Operações, Roteiros, Componentes);
  • Cadastro de Estruturas;
  • Roteiro - Operações;
  • Endereços.

Recebimento:

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

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.


ID MES - MAN10539 - Controle de Grade

O PC-Factory não utiliza o conceito grade. Para atender essa demanda foi criado o ID MES.

Quando usa o conceito grade (parâmetro: utiliza_grade) e o item controlar grade (item_ctr_grade) o sistema terá um tratamento diferenciado para o envio dos itens.

No XML, o código do item será composto pelo código do item, mais um ID (número sequencial) gerado pelo sistema para identificar a grade. Esta geração do ID é necessária pois o PC-Factory não possui o conceito grade.

Exemplo: ITEM = CAMISA. Grade 1 : Cor = Branca. Grade 2: Tamanho: P (pequeno)

                O código do item passado para o PC-Factory será: CAMISA1, onde 1 é um número sequencial gerado pelo Logix.

Exemplo: ITEM = CAMISA. Grade 1 : Cor = Preta. Grade 2: Tamanho: P (pequeno)

                O código do item passado para o PC-Factory será: CAMISA2, onde 2 é um número sequencial gerado pelo Logix.

Estes IDS gerados serão registrados na seguinte tabela: MAN_ITEM_MES. Serão gravados os seguintes campos: 

  • item_mes : Item com sequencial. Sequencial é gerado com base no o último sequencial do item mais um (+1).
  • item : Item Logix
  • grade_1
  • grade_2
  • grade_3
  • grade_4
  • grade_5


Quando usa grade a integração deverá considerar a estrutura por composição. Exemplo: Item controlando 2 grades. COR e TAMANHO.
Abaixo, a tabela com exemplo da estrutura do item CAMISA: 

Produto: CamisaCORBRANCOAZULPRETO
TAMG,HD
Z
PequenoE,FA,B,CY
Médio
X

Grande


P

 

Existe a possibilidade de manutenção dessa estrutura nas seguintes situações: 

1 - Estrutura da CAMISA, cor branco e tamanho P. Deve gerar XML somente da estrutura branco e P, considerando os componentes A,B,C,D,E,F,G,H.
2 - Estrutura da CAMISA, somente da cor branco. Deve gerar XML de todas as camisas brancas e todos tamanhos. Branco e P: considerando os componentes A,B,C,D,E,F,G,H. Branco e M: considerando os componentes X,D,G,H.
3 - Estrutura da CAMISA, somente do tamanho P. Deve gerar XML de todas as camisas de tamanho P e todas cores. Branco e P: considerando os componentes A,B,C,D,E,F,G,H.Azul e P: considerando os componentes Y,E,F,G,H.
4 - Estrutura sem cor e tamanho. Deve gerar XML de todas as camisas.

  • Branco e P: componentes A,B,C,D,E,F,G,H. Branco e M: componentes X,D,G,H. Branco e G: componentes A,B,C,D,G,H.
  • Azul e P: componentes Y,E,F,G,H. Azul e M: componentes G,H. Azul e G: componentes G,H.
  • Preto e P: componentes Z,G,H . Preto e M: componentes Z,G,H. Preto e G: componentes P,Z,G,H

Nota:

Esta regra será utilizada por todas as rotinas que manipulam a utilização de grade para o item, como o MAN10002, MAN10243 e MAN10021.



Mensagens de Cadastros

Transação Item: Item_4_001.xsd

Identificador da Mensagem: Item
Versão: 4_001
Módulo Logix: Engenharia

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo: Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

CompanyId 

Código da Empresa Logada


item.cod_empresa

CHAR(02)



 

BranchId 

Código Filial



TBLInProduct.PlantCode

CHAR(15)

 

CompanyInternalId

Empresa

item.cod_empresa




 

Code 

Código do Produto

item.cod_item

CHAR(15)

 TBLInProduct.Code

CHAR(20)

 

Name 

Descrição do produto

item.den_item

CHAR(76)

TBLInProduct.Name

CHAR(70)

 

InternalId

Empresa+código do produto

item.cod_empresa + item.cod_item




 

ShortName 

Nome curto

item.den_item_reduz

CHAR(18)

TBLInProduct.SecondName

CHAR(30)

 

Active 

Item ativo?

item.ies_situacao

1=Ativo; 0=Inativo ou Cancelado

CHAR(01)

TBLInProduct.FlgEnable

SMALLINT

 

UnitOfMeasureCode 

Unidade de Medida

item.cod_unid_med

CHAR(03)

TBLInProduct.Unit1code

CHAR(05)

 

UnitOfMeasureInternalId

Unidade de medida

item.cod_unid_med




 

StockGroupCode

Grupo de Estoque

item.gru_ctr_estoq

DECIMAL(2,0)



 

StockGroupInternalId

Empresa+grupo de estoque

item.cod_empresa + item.gru_ctr_estoq




 

StockGroupDescription

Descrição do grupo estoque

grupo_ctr_estoq. den_gru_ctr_estoq

CHAR(30)



 

StandardWarehouseCode

Local de Estoque


CHAR(10)



 

StandardWarehouseInternalId

Empresa+local de estoque





 

StandardWarehouseDescription

Descrição Local de Estoque

local.den_local

CHAR(30)



 

EconomicLot 

Lote econômico


DECIMAL(12,3)



 

MinimumLot 

Lote mínimo


DECIMAL(10,3)



 

FamilyCode 

Família

item.cod_familia

CHAR(03)

TBLInProduct.FamilyProductCode

CHAR(15)

 

FamilyInternalId

Empresa+família

item.cod_empresa + item.cod_familia




 

FamilyDescription 

Descrição da família

familia.den_familia

CHAR(30)

TBLInProduct.FamilyProductName

CHAR(30)

 

NetWeight

Peso do Item

item.pes_unit

DECIMAL(12,5)



 

GrossWeight

Peso bruto

Fixo "0"




 

Trail

Rastro

item.ies_ctr_lote

Se estiver igual a nulo, será considerado "N".

CHAR(01)



 

BinControl

Controla Endereço

item_ctr_grade.ies_endereco

Se estiver igual a nulo, será considerado "FALSE"

CHAR(01)



 

SecondUnitOfMeasureCode

Segunda Unidade de medida



TBLInProduct.Unit2Code

CHAR(20)

 

SecondUnitOfMeasureInternalId

Empresa+filial+ seg. unidade de medida





 

MultiplicationFactorValue 

Fator de conversão

item.fat_conver

DECIMAL(11,6)

TBLInProduct.Unit2Factor

DEC(8,4)

 

ProductType

Tipo do Item

item.ies_tip_item

P=22; C=23; T=24; B=25; F=26; Outros=21

CHAR(01)

TBLInProduct.ProductTypeCode

CHAR(15)

 

PackingQuantity 

Quantidade Embalagem

Fixo "0"

NUM(09)

TBLInProduct.QtyPackage

DEC(19,4)

 

CostCenterCode

Centro de Custo



TBLInProduct.CostCenterCode

CHAR(20)

 

StockControlType

Controle do estoque do item

Controla número de série=2; Controla endereço=1; Controla lote=3

CHAR(01)




Detail

Especificações do item


CHAR(60)



Nota:

  • O PC-Factory não trabalha com o conceito grade. Para atender esse conceito existe o DE-PARA de itens entre os sistemas. Informações registradas na tabela MAN_ITEM_MES.

    Na tag Code, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim", será gravado o conteúdo do ID ITEM MES, registrado na tabela de/para de itens entre o Logix e o PC-Factory (MAN_ITEM_MES). Quando usa o conceito grade, o envio do XML de itens é processado da seguinte forma:

    1 - Ao cadastrar o item no folder básico ou alterar os demais folders é enviada a mensagem de item ao PC-Factory e gerada a MAN_ITEM_MES, sendo que, Item Logix igual a ITEM MES. 

    2 - Ao setar o controle de grade no folder Grades e Dimensionais é enviado uma mensagem de DELETE do item e excluído o registro na MAN_ITEM_MES. Quando a grade for informada nas rotinas MAN10002 (Estrutura de Produtos) ou MAN10243 (Processos) ou folder Planej. Grade ou MAN10002 será regerada a MAN_ITEM_MES e a mensagem do item será reenviada com o ID MES atualizado.

    Caso o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Não", a tabela man_item_mes não será gravada.

  • Na tag StandardWarehouseCode será considerado a tabela/campo item.cod_local_estoq. Caso o mesmo esteja nulo, será considerado o parâmetro "Local estoque padrão' localizado no LOG00087, Administração Logix, Controle Geral, Integração entre Sistemas.

  • Na tag StandardWarehouseInternalId será considerado o código da empresa (item.cod_empresa) + o local de estoque existente na tag StandardWarehouseCode.

  • Na tag EconomicLot, caso o tipo do item seja igual a "Produzido" ou "Final" será gravado 0 (zero). Caso o tipo do item seja diferente de "Produzido" ou "Final", será considerada a tabela/campo item_sup.qtd_lote_economic.

  • Na tag MinimumLot, caso o tipo do item seja igual a "Produzido" ou "Final" e o item esteja cadastrado no MAN10021, folder Planej. Grade, será considerado a tabela/campo it_polit_grade.qtd_prog_minima.

    Caso o tipo do item seja igual a "Produzido" ou "Final" e o item não esteja cadastrado no MAN10021, folder Planej. Grade, será considerada a tabela/campo item_man.qtd_prog_minima.

    Caso o tipo do item seja diferente de "Produzido" ou "Final", será considerado a tabela/campo item_sup.qtd_lote_minimo.

  • Caso o cadastro do item esteja parametrizado no MAN10246 para fazer a replicação em outras empresas, será gerado o XML nas empresas destinos.

  • Na função Cópia do item no MAN10021, além do XML do cadastro do item, se existir estrutura ou roteiro, serão geradoS os XML´s de estrutura do item e roteiro.

  • Serão integrados os itens cadastrados no MAN10021. Não será considerado o MAN10081.

  • A tagStockControlType deverá verificar se controla nr. de série (ITEM_CTR_GRADE.RESERVADO_2), se controlar gravar = '2'.

    Se não controlar série, verificar se controla endereço (ITEM_CTR_GRADE.IES_ENDERECO), se controlar gravar '1'.  Por último verificar se controla Lote, se controlar gravar = '3'. Caso não possuir nenhum desses controles a tag não será gerada.

  • A tag Detail registra as informações da grade, quando o sistema utilizar o conceito grade. Deverá gerar com a descrição da grade, o código da grade e o conteúdo da grade, separados por pipe |.

    Exemplo: ITEM = CAMISA. Grade 1: Cor = Branca. Grade 2: Tamanho: P (pequeno). Gravar como: COR:01-BRANCA|TAMANHO:01-P.

    A tag DETAIL é gerada com base na rotina que estiver sendo executada, conforme descrito abaixo:

    • ESTRUTURA - MAN10002

      Usar a tabela estrut_grade. 

      Exemplo: ITEM = CAMISA. Grade 1: Cor = Branca. Grade 2: Tamanho: P (pequeno). Resultado: COR:01-BRANCA|TAMANHO:01-P.

      Descrição da grade: Na tabela ITEM_CTR_GRADE, verifica-se qual a grade o item controla. Grade 1 = NUM_GRADE_1; Grade 2 = NUM_GRADE_2; Grade 3 = NUM_GRADE_3; Grade 4 = NUM_GRADE_4; Grade 5 = NUM_GRADE_5. A descrição da grade é da tabela  CTR_GRADE, campo.DESCR_CABEC_ZOOM

      Código da grade: Pai: ESTRUT_GRADE, campos:COD_GRADE_1, COD_GRADE_2,COD_GRADE_3,COD_GRADE_4,COD_GRADE_5

      Componente: ESTRUT_GRADE, campos:COD_GRADE_COMP_1,COD_GRADE_COMP_2,COD_GRADE_COMP_3,COD_GRADE_COMP_4,COD_GRADE_COMP_5

      Conteúdo da grade: O conteúdo da grade deverá ser pesquisado com base na tabela cadastrada na CTR_GRADE.NOM_TABELA_ZOOM. Fazer pesquisa usando os campos: CTR_GRADE..NOM_TABELA_ZOOM, CTR_GRADE.DESCR_COL_1_ZOOM e CTR_GRADE.DESCR_COL_2_ZOOM

    • PROCESSO- MAN10243

      Usar a tabela man_processo_item

      Exemplo: ITEM = CAMISA. Grade 1: Cor = Branca. Grade 2: Tamanho: P (pequeno). Resultado: COR:01-BRANCA|TAMANHO:01-P.

      Descrição da grade: Na tabela ITEM_CTR_GRADE, verifica-se qual a grade o item controla. Grade 1 = NUM_GRADE_1; Grade 2 = NUM_GRADE_2; Grade 3 = NUM_GRADE_3; Grade 4 = NUM_GRADE_4; Grade 5 = NUM_GRADE_5.A descrição da grade é da tabela  CTR_GRADE, campo.DESCR_CABEC_ZOOM

      Código da grade: Pai: ESTRUT_GRADE, campos:COD_GRADE_1, COD_GRADE_2,COD_GRADE_3,COD_GRADE_4,COD_GRADE_5

      Componente: MAN_PROCESSO_ITEM, campos:CONTEUDO_GRADE_1,CONTEUDO_GRADE_2,CONTEUDO_GRADE_3, CONTEUDO_GRADE_4, CONTEUDO_GRADE_5

      Conteúdo da grade: O conteúdo da grade deverá ser pesquisado com base na tabela cadastrada na CTR_GRADE.NOM_TABELA_ZOOM. Fazer pesquisa usando os campos: CTR_GRADE..NOM_TABELA_ZOOM, CTR_GRADE.DESCR_COL_1_ZOOM e CTR_GRADE.DESCR_COL_2_ZOOM

    • ITEM - MAN10021 

      Usar a tabela it_polit_grade. 

      Exemplo: ITEM = CAMISA. Grade 1: Cor = Branca. Grade 2: Tamanho: P (pequeno). Resultado: COR:01-BRANCA|TAMANHO:01-P.

      Descrição da grade: Na tabela ITEM_CTR_GRADE, verifica-se qual a grade o item controla. Grade 1 = NUM_GRADE_1; Grade 2 = NUM_GRADE_2; Grade 3 = NUM_GRADE_3; Grade 4 = NUM_GRADE_4; Grade 5 = NUM_GRADE_5.A descrição da grade é da tabela  CTR_GRADE, campo.DESCR_CABEC_ZOOM

      Código da grade: Pai: IT_POLIT_GRADE, campos:COD_GRADE_1, COD_GRADE_2,COD_GRADE_3,COD_GRADE_4,COD_GRADE_5 


Transação Depósito: Warehouse_1_001.xsd 

Identificador da Mensagem: Warehouse 
Versão: 1_001 
Módulo Logix: Engenharia

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo: Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

CompanyId

Código da Empresa

local.cod_empresa

CHAR(02)

TBLInWarehouse.Extcode

CHAR(20)

 

BranchId

Código da Filial



TBLInWarehouse.PlantCode

CHAR(15)

 

CompanyInternalId

Empresa

local.cod_empresa




 

Code

Código do Local de Estoque (armazém/almoxarifado/depósito)

local.cod_local

CHAR(10)

TBLInWarehouse.Code

CHAR(15)

 

InternalId

Empresa+código local

local.cod_empresa + local.cod_local




 

Description

Descrição do Local de Estoque (armazém/almoxarifado/depósito)

local.den_local

CHAR(30)

TBLInWarehouse.Name

CHAR(15)

 

Active

Local de Estoque Ativo?



TBLInWarehouse.FlgEnable

SMALLINT

 

Type

Tipo do Local de Estoque





 

WarehouseClassification

Classificação





Nota:

  • Caso o cadastro de locais esteja parametrizado no MAN10246 para fazer a replicação em outras empresas, será gerado o XML nas empresas destinos.

  • Serão integrados os locais de estoque cadastrados no SUP10002.


Transação Recurso: Machine_1_000.xsd

Identificador da Mensagem: Machine
Versão: 1_000
Módulo Logix: Engenharia

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo: Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType







 

Code

Código Máquina

recurso.cod_recur

rec_arranjo.cod_arranjo

CHAR(05)


TBLInResource.code

CHAR(15)

 

Description

Descrição Máquina

recurso.den_recur

arranjo.den_arranjo

CHAR(30)

TBLInResource.Name

TBLInResource.Nickname

CHAR(20)

 

WorkCenterCode

Código Centro Trabalho


CHAR(05)

TBLInResource.ManagerGrpCode

CHAR(15)

 

WorkCenterDescription

Descrição Centro Trabalho

cent_trabalho.den_cent_trab

CHAR(30)

TBLInResource.WorkCenterDescription

CHAR(15)

 

CostCenterCode

Código Centro Custo





 

ProcessorType

Tipo de Processamento





 

LaborType

Tipo MOD





 

VolumeMachineQuantity

Quantidade Volume Máquina





 

EfficiencyMachineValue

Eficiência Máquina





 

OperatorMachineQuantity

Quantidade Operador Máquina





 

SimultaneousActivityQuantity

Quantidade Operações Simultâneas





 

IsSetup

Possui Preparação





 

IsOverlapReport

Sobrepõe Apontamento





 

ProductionAreaCode

Área de Produção





 

InitialValidateDate

Data início validade





 

FinalValidateDate

Data fim validade






TypeMachine

Tipo Máquina

1=Recurso; 2=Arranjo

CHAR(01)



ListOfResources







 

 ResourceType

Tipo do Recurso





 

ResourceCode

Código Recurso



TBLInUser.Code

CHAR(30)

 

ResourceName

Nome Recurso



TBLInUser.Name

TBLInUser.Nickname

CHAR(60)

 

UnitTimeType

Tipo Medida Tempo





 

StartExpirationDate

Data Início Validade





 

EndExpirationDate

Data Fim Validade





 

CycleQuantity

Número Ciclos





 

IsTimeActivity

Determina tempo





ListOfProductionShifts

 






 

ProductionShiftCode

Código Modelo Turno





 

ProductionShiftDescription

Descrição Modelo Turno





 

BeginDate

Data Início Validade





 

EndDate

Data Fim Validade





Nota:

  • Serão integrados os recursos cadastrados como equipamento no Cadastro de Recursos (MAN10078) e os arranjos físicos cadastrado no MAN10072.

  • Na tag WorkCenterCode, para o arranjo, será considerado o centro de trabalho padrão parametrizado no MAN10538, folder 2-Máquina, subfolder 1-Arranjo; para o recurso, será considerado o centro de trabalho padrão parametrizado no MAN10538, folder 2-Máquina, subfolder 2-Recurso. Campo/tabela man_filtro_mes.parametro1, quando o campo tabela for igual a "rec_arranjo" ou "arranjo".

  • Se a tag TypeMachine for gerada pelo MAN10072 deve gravar como 2. Se for gerada pelo MAN10078 gravar como 1.

  • Se a mensagem for gerada pelo MAN10078, considerar somente recurso = equipamento. Onde: IES_TIP_RECUR = 2

  • Caso o cadastro de recursos ou arranjo estejam parametrizados no MAN10246 para fazer a replicação em outras empresas, será gerado o XML nas empresas destinos.


Transação Estrutura: ItemStructure_1_001.xsd 

Identificador da Mensagem: ItemStructure 
Versão: 1_0001
Módulo Logix: Engenharia

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo: Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

CompanyId

Código da Empresa

estrut_grade.cod_empresa

CHAR(02)



 

CompanyInternalId

Empresa

estrut_grade.cod_empresa

CHAR(02)



 

ItemInternalId

Empresa+código item pai

estrut_grade.cod_empresa + estrut_grade.cod_item_pai




 

ItemCode

Código item pai

estrut_grade.cod_item_pai

CHAR(15)

TBLInWOHD.ProductCode

TBLInWOHD.WOCode

CHAR(30)

 

ItemAmount

Quantidade base do item pai

Fixo "1"

DECIMAL(1,0)

TBLInWOHD.TotalQTY

DEC(19,4)

ItemComponentType

 






 

ItemSequence

Sequência do componente

estrut_grade.num_sequencia

DECIMAL(10,0)

TBLInBillMat.BillMatExtCode

CHAR(20)

 

ItemComponentCode

Código item componente

estrut_grade.cod_item_compon

CHAR(15)

TBLInBillMat.ProductCode

CHAR(20)

 

ItemComponentInternalId

Internal Id do Item Componente

estrut_grade.cod_empresa + estrut_grade.cod_item_compon




 

InitialDate

Data validade inicial

estrut_grade.dat_validade_ini

DATE

TBLInWOHD.DtPlanStart

DATETIME

 

FinalDate

Data validade final

estrut_grade.dat_validade_fim

DATE

TBLInWOHD.DtPlanEnd

DATETIME

 

IsGhostMaterial

Indica se é fantasma

Se tipo do item for igual a "T"=TRUE;

Se tipo do item for diferente de "T"= FALSE

BOOLEAN ( FALSE ou TRUE)



 

ItemComponentAmount

Quantidade do item componente

estrut_grade.qtd_necessaria

DECIMAL(14,7)



 

LossFactor

Fator de perda

estrut_grade.pct_refug

DECIMAL(6,3)



 ListOfScript

 






 

Scriptcode

Código do Roteiro

man_processo_item.roteiro

CHAR(15)

TBLInWOHD.ExtCode

CHAR(20)

 

ScriptAlternative

Alternativo do Roteiro

man_processo_item.roteiro_alternativo

DECIMAL(2,0)



 

ActivityInternalID

ID Operação

man_processo_item.seq_processo

DECIMAL(10,0)



 

ActivityCode

Código da Operação

man_processo_item.operacao

CHAR(05)

TBLInWodet.Code

CHAR(10)

 

ActivityComponentSequence

Sequência do componente na operação

estrut_grade.cod_posicao

SMALLINT



Nota:

  • Na tag ItemCode, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim" será considerada a tabela/campo man_item_mes.item_mes.

    Nesse caso, quando os valores das grades forem informados no MAN10002, será gravado um registro na tabela man_item_mes, onde o campo item será igual a tabela/campo estrut_grade.cod_item_pai e o campo item_mes será igual a tabela/campo  estrut_grade.cod_item_pai + sequencial da grade. Será verificado se existe registro na tabela man_item_mes para o código do item e será incrementado +1 à sequência até conseguir gerar uma sequência que ainda não exista. OBS. A tabela man_item_mes irá gravar o código do item e o código do item MES. O código do item MES é um código que identifica o código do item e a sequência da grade do item.

    Exemplos: 

    Item: Camisa Cor: Preta Tamanho: P - Será gerado o código do item MES igual a Camisa1

    Item: Camisa Cor: Preta Tamanho: M - Será gerado o código do item MES igual a Camisa2

    Item: Camisa Cor: Branca Tamanho P - Será gerado o código do item MES igual a Camisa3

  • Na tag ItemComponentCode, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim" será considerado a tabela/campo man_item_mes.item_mes.

    Nesse caso, quando os valores das grades forem informados no MAN10002, será gravado um registro na tabela man_item_mes, onde o campo item será igual a tabela/campo estrut_grade.cod_item_compon e o campo item_mes será igual a tabela/campo  estrut_grade.cod_item_compon + sequencial da grade. Será verificado se existe registro na tabela man_item_mes para o código do item e será incrementado +1 à sequência até conseguir gerar uma sequência que ainda não exista. 

    OBS. A tabela man_item_mes irá gravar o código do item e o código do item MES. O código do item MES é um código que identifica o código do item e a sequência da grade do item.

    Exemplos: 

    Item: Camisa Cor: Preta Tamanho: P - Será gerado o código do item MES igual a Camisa1

    Item: Camisa Cor: Preta Tamanho: M - Será gerado o código do item MES igual a Camisa

    Item: Camisa Cor: Branca Tamanho P - Será gerado o código do item MES igual a Camisa3

  • Na tag Scriptcode, caso o item não utilize o conceito de estrutura por operação será considerada a tabela/campo item_man.cod_roteiro.

    Caso o item utilize o conceito de estrutura por operação será considerada a tabela/campo man_processo_item.roteiro.

  • Na tag ScriptAlternative, caso o item não utilize o conceito de estrutura por operação será considerada a tabela/campo item_man.num_altern_roteiro.

    Caso o item utilize o conceito de estrutura por operação será considerada a tabela/campo man_processo_item.roteiro_alternativo.

  • O item pode ter vários roteiros de produção. Para não repetir as informações, os dados do roteiro e operações serão gerados como lista, ListOfScript, quando o item controlar estrutura por operação. Quando o item controla estrutura por operação o MAN10002 será usado somente para consulta das estruturas, sendo que, a manutenção será via MAN10243.

  • Na tag ActivityInternalID, caso o item não utilize o conceito de estrutura por operação será considerada a tabela/campo man_processo_item.seq_operacao da operação final.

    Caso o item utilize o conceito de estrutura por operação será considerada a tabela/campo man_estrutura_operacao.seq_processo. 

  • Na tag ActivityCode, caso o item não utilize o conceito de estrutura por operação será considerada a tabela/campo man_processo_item.operacao da operação final.

    Caso o item utilize o conceito de estrutura por operação será considerada a tabela/campo man_processo_item.operacao.

  • Na tag ActivityComponentSequence será um número sequencial do componente na operação.

  • Caso o cadastro de estrutura de itens esteja parametrizado no MAN10246 para fazer a replicação em outras empresas, será gerado o XML nas empresas destinos.

  • Serão integradas as estruturas dos itens cadastradas no MAN10002.


Transação Roteiro - Operações do Item: ItemScript_1_001.xsd 

Identificador da Mensagem: ItemScript 
Versão: 1_001
Módulo Logix: Engenharia

Tipo de Envio: Síncrona


Mensagem

Tag

Descrição

Tabela/Campo: Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

ItemCode

Código item

man_processo_item.item

CHAR(15)

TBLInWOHD.ProductCode

TBLInWOHD.WOCode

CHAR(20)

 

ItemDescription

Descrição do item

item.den_item

CHAR(76)



 

ItemInternalId

Empresa+Item

man_processo_item.empresa+man_processo_item.item




 

ScriptCode

Código do Roteiro

man_processo_item.roteiro

CHAR(15)



 

ScriptDescription

Descrição Roteiro

roteiro.den_roteiro

CHAR(30)



 

ScriptAlternative

Roteiro Alternativo

man_processo_item.roteiro_alternativo

DECIMAL(2,0)



ListOfActivity

 






 

ActivityInternalID

ID Operação

man_processo_item.seq_processo

DECIMAL(10,0)



 

ActivityCode

Código da Operação

man_processo_item.operacao

CHAR(05)

TBLInWodet.Code

CHAR(10)

 

ActivityDescription

Descrição Operação

operacao.den_operac

CHAR(30)

TBLInWodet.Name

CHAR(40)

 

MachineCode

Código da Máquina

man_processo_item.arranjo/man_recurso_processo.recurso

CHAR(05)

TBLInWodet.Resource

CHAR(15)

 

ToolCode

Código Ferramenta





 

ActivityType

Tipo Operação

man_processo_item.apontar_operacao

1=Realiza apontamento; 2=Não realiza.

CHAR(01)



 

WorkCenterCode

Código Centro Trabalho

man_processo_item.centro_trabalho

CHAR(05)

TBLInWodet.ManagerGrpCode

CHAR(15)

 

WorkCenterInternalId

Id Centro de Trabalho

man_processo_item.empresa+man_processo_item.centro_trabalho




 

UnitItemNumber

Lote padrão 

item_man.parametros[1,5]

CHAR(06)

TBLInWodet. StdSpeed

DEC(28,23)

 

TimeResource

Tempo Recurso



TBLInWodet. StdSpeed

DEC(28,23)

 

TimeMachine

Tempo Máquina

man_processo_item.qtd_tempo

DECIMAL(11,7)

TBLInWodet. StdSpeed

DEC(28,23)

 

TimeSetup

Tempo Preparação

man_processo_item.qtd_tempo_setup

DECIMAL(11,7)

TBLInWodet. SetUpTime

INT

 

UnitTimeType

Tipo Unidade Tempo

par_pcp.parametros[4,4]

1 = Horas;2=Minutos;3=Segundos;4=Dias

CHAR(01)

TBLInWodet. StdSpeedFormat

TINYINT

 

ScriptAlternative

Alternativo

man_processo_item.roteiro_alternativo

DECIMAL(2,0)



 

InitialDate

Data Inicial

man_processo_item.validade_inicial

DATE

TBLInWodet.DtPlanStart

DATETIME

 

FinalDate

Data Final

man_processo_item.validade_final

DATE

TBLInWodet.DtPlanEnd

DATETIME

 

PercentageScrapValue

% Refugo

man_processo_item.pct_retrabalho

DECIMAL(6,3)



 

PercentageValue

Proporção





 

ResourceQuantity

Quantidade Recurso






PartsPerCycleQuantidade de peças por cicloman_processo_item.qtd_pecas_cicloDECIMAL(12,7)

Nota:

  • Na tag ItemCode, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim" será considerada a tabela/campo man_item_mes.item_mes.
    Nesse caso, quando os valores das grades forem informados no MAN10002, será gravado um registro na tabela man_item_mes, onde o campo item será igual a tabela/campo estrut_grade.cod_item_pai e o campo item_mes será igual a tabela/campo  estrut_grade.cod_item_pai + sequencial da grade. Será verificado se existe registro na tabela man_item_mes para o código do item e será incrementado +1 à sequência até conseguir gerar uma sequência que ainda não exista. OBS. A tabela man_item_mes irá gravar o código do item e o código do item MES. O código do item MES é um código que identifica o código do item e a sequência da grade do item.
    Exemplos: 
    Item: Camisa Cor: Preta Tamanho: P - Será gerado o código do item MES igual a Camisa1
    Item: Camisa Cor: Preta Tamanho: M - Será gerado o código do item MES igual a Camisa2
    Item: Camisa Cor: Branca Tamanho P - Será gerado o código do item MES igual a Camisa3
  • Caso os valores das grades não forem informados no MAN10243, será gravado um registro na tabela man_item_mes, onde os campos item e item_mes serão iguais à tabela/campo man_processo_item.item.
    Caso o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Não", a tabela man_item_mes não será gravada e será considerado a tabela/campo man_processo_item.item.
  • A tag MachineCode será gerada da seguinte forma:
    Usar o campo MAN_PROCESSO_ITEM.ARRANJO. Se não possuir arranjo usar o recurso da MAN_RECURSO_PROCESSO.RECURSO (pesquisar por recurso crítico). Se encontrar mais de um ou nenhum, buscar o primeiro recurso da MAN_RECURSO_PROCESSO.
  • A tag ToolCode não será gerada.
  • A tag TimeMachine é o tempo para fazer uma peça
  • A tag UnitTimeType deve verificar o parâmetro: par_pcp1.parametros[4,1] - Pode ser Hora, Minuto, Segundo ou Dias
  • Caso o cadastro de roteiro esteja parametrizado no MAN10246 para fazer a replicação em outras empresas, será gerado o XML nas empresas destinos.
  • Serão integrados os roteiros cadastrados no MAN10243.


Transação Endereços: AdressStock_1_000.xsd 

Identificador da Mensagem: AdressStock 
Versão: 1_000 
Módulo Logix: Engenharia

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo: Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

WarehouseCode

Armazém/Depósito

endereco.cod_local

CHAR(10)

TBLInAddress.WarehouseCode

CHAR(15)

 

LocationCode

Endereço/Localização

endereco.endereco

CHAR(15)

TBLInAddress.Code

CHAR(15)

 

AddressInternalId

Chave completa endereço

endereco.cod_empresa+endereco.cod_local+endereco.endereco




 

AddressStockDescription

Descrição do endereço

endereco.descr_cam

CHAR(15)

TBLInAddress.ExtCode

CHAR(20)

Nota:

Serão integrados os endereços cadastrados no SUP0076 e SUP3335.


Transação Motivo de Refugo: WasteReason_1_000.xsd 

Identificador da Mensagem: WasteReason 
Versão: 1_000 
Módulo Logix: Chão de Fábrica

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo:

Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

Code

Código Refugo

defeito.cod_defeito

DECIMAL(3,0)

TBLOutScrap.Code

CHAR(15)

 

Description

Descrição do Refugo

defeito.den_defeito

CHAR(30)

TBLOutScrap.Name

CHAR(30)

 

IsRework

Retrabalho





 

IsScrapMaterial

Refugo Material





Nota:

Essa mensagem será gerada pelo PC-Factory e enviado ao Logix.

O programa de cadastro do motivo de refugo é o MAN10026.


Transação Motivo de Parada: StopReason_1_000.xsd

Identificador da Mensagem: StopReason 
Versão: 1_000 
Módulo Logix: Chão de Fábrica

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo:

Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

Code

Código Motivo Parada

mot_parada.cod_motivo

cfp_para.cod_parada

CHAR(05)

 TBLOutResourceStatus.Code

CHAR(05)

 

Description

Descrição Parada

mot_parada.des_motivo

cfp_para.des_parada

CHAR(30)

TBLOutResourceStatus.Name

CHAR(30)

 

IsEfficiency

Altera Eficiência





 

IsEmailEquipment

E-mail Planejador





 

IsServiceRequest

Emite Solicitação Serviço





 

IsSetup

Parada Setup



TBLOutResourceStatus.FlgSetup

SMALLINT

Nota:

Essa mensagem será gerada pelo PC-Factory e enviado ao Logix.

O cadastro de Motivo de Parada é efetuado nos programas MAN10095 e MAN1470.


Transação Ordem de Produção: ProductionOrder_2_008.xsd

Identificador da Mensagem: ProductionOrder
Versão: 2_005
Módulo Logix: Plano Operacional

Tipo de Envio: Síncrona

Mesagem

Tag

Descrição

Tabela/Campo Logix

Tipo

Tabela/Campo: PC-Factory

Tipo

BusinessContentType

Number

Número Ordem Produção

ordens.num_ordem

DECIMAL(10,0)

TBLInWOHD.Code

CHAR(41)

 

ProductionOrderUniqueID

Empresa+Ordem Produção

ordens.cod_empresa+ordens.num_ordem




 

ItemCode

Código Item

ordens.cod_item

CHAR(15)

TBLInWOHD.ProductCode

CHAR(20)

 

ItemDescription

Descrição Item

item.den_item

CHAR(76)



 

Type


Fixo "1" - INTERNA

CHAR(01)

TBLInWOHD.WoTypeCode

CHAR(20)

 

Quantity

Quantidade

ordens.qtd_planej

DECIMAL(10,3)

TBLInWOHD.TotalQty

 DEC(19,4)

 

ReportQuantity

Quantidade Reportada

ordens.qtd_boas + ordens.pct_refug + ordens.qtd_sucata

DECIMAL(10,3)




AuxiliarItemCode

Código do Item Pai da OP

ordens.cod_item_pai

CHAR(15)



 

UnitOfMeasureCode

Unidade Medida

item.cod_unid_med

CHAR(03)

TBLInWoDet.Unit1Code

CHAR(05)

 

RequestOrderCode

Código Pedido Ordem Produção

ordens.num_docum

CHAR(10)



 

StatusOrderType

Estado da ordem

1=Planejada; 2=Liberada; 7=Fechada; 10=Firme; 11=Aberta; 12=Cancelada

CHAR(01)

TBLInWOHD.Status

SMALLINT

 

WarehouseCode

Código Depósito

ordens.cod_local_prod

CHAR(10)

TBLInWOHD.AuxCode1

CHAR(20)

 

EndOrderDateTime

Data Fim Ordem Produção CP

ordens.dat_entrega

DATE

TBLInWOHD.DtPlanEnd

DATETIME

 

StartOrderDateTime

Data Início Ordem Produção CP

ordens.dat_liberac

DATE

TBLInWOHD.DtPlanStart

DATETIME

 

AbbreviationProviderName

Nome Cliente

clientes.nom_cliente

CHAR(36)



 

ScriptCode

Código Roteiro

ordens.cod_roteiro

CHAR(15)



 

ReportOrderType

Tipo de Reporte

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

CHAR(01)




OrderNeed

Número da necessidade da OP

ordens.num_neces

DECIMAL(10,0)



ListOfActivityOrders

 






 

ProductionOrderNumber

Ordem de Produção

ord_compon.num_ordem

DECIMAL(10,0)

TBLInWoDet.Wocode

CHAR(10)

 

ActivityID

ID do Registro

ord_oper.num_seq_operac

DECIMAL(3,0)



 

ActivityCode

Código Operação

ord_oper.cod_operac

CHAR(05)

TBLInWoDet.WODetCode+Split

 CHAR(10)

 

ActivityDescription

Descrição Operação

operacao.den_operac

CHAR(30)

TBLInWoDet.WODetName

CHAR(30)


ListOfMaterialGrids_ItemGrid_GridCode

Código da grade


CHAR(15)




ListOfMaterialGrids_ItemGrid_GridSequence

Número da grade


DECIMAL(5,0)



 

Split

Desdobramento da operação






ActivitySequencePrioridade da execução das operaçõesNÃO UTILIZADO


 

ItemCode

Código do item

ord_oper.cod_item

CHAR(15)



 

ItemDescription

Descrição do item

item.den_item

CHAR(76)



 

ActivityType

Tipo Operação

ord_oper.ies_apontamento

CHAR(01)



 

WorkCenterCode

Código Centro de Trabalho

ord_oper.cod_cent_trab

DECIMAL(4,0)

TLBInWODet.ManagerGrpCode

 CHAR(15)

 

WorkCenterDescription

Descrição Centro de Trabalho

cent_trabalho.den_cent_trab

CHAR(30)



 

UnitTimeType

Tipo Unidade Tempo

par_pcp.parametros[4,4]

1 = Horas;2=Minutos;3=Segundos

CHAR(01)

TLBInWODet.StdSpeedFormat

 TINYINT

 

TimeResource

Tempo Recurso (Tempo padrão para um lote)

ord_oper.qtd_horas

DECIMAL(11,7)

TLBInWODet.StdSpeed

 DEC(28,23)

 

TimeMachine

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

ord_oper.qtd_horas * ordens.qtd_planej

DECIMAL(11,7)

TLBInWODet.StdSpeed

DEC(28,23)

 

TimeSetup

Tempo Preparação

ord_oper.qtd_horas_setup

DECIMAL(11,7)

TLBInWODet.SetUpTime

INT

 

TimeMOD

Tempo Homen

ord_oper.tmp_producao

DECIMAL(6,2)



 

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

ordens.cod_roteiro

CHAR(15)



 

LaborCode

Código Mão de Obra Direta





 

UnitItemNumber

Lote Padrão

item_man.parametros[1,5]

DECIMAL(10,3)

TLBInWODet.StdSpeed

DEC(28,23)

 

IsActivityEnd

Última Operação

ord_oper.ies_oper_final

BOOLEAN

TLBInWODet.ReportTrigger

TINYINT

 

MachineCode

Código Máquina

ord_oper.cod_arranjo

CHAR(05)



 

StartPlanDateTime

Data/Hora Início Programação

ord_oper.dat_inicio

DATE

TLBInWODet.StartPlanDateTime

DATETIME

 

EndPlanDateTime

Data/Hora Fim Programação

ord_oper.dat_entrega

DATE

TLBInWODet.EndPlanDateTime

DATETIME

 

ProductionQuantity

Quantidade a produzir na operação

ord_oper.qtd_planejada

DECIMAL(10,3)

TLBInWODet.Qty

 DEC(19,4)

 

ActivityQuantity

Quantidade da operação

ord_oper.qtd_boas+ord_oper.qtd_refugo+ord_oper.qtd_sucata

DECIMAL(10,3)



 

UnitActivityCode

Unidade de medida

item.cod_unid_med

CHAR(03)

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

Soma de man_recurso_operacao_ordem.qtd_recurso do tipo de recurso 'Mão-de-obra' (ies_tip_recur = '1').

Caso não haja recurso de 'Mão-de-obra' será enviado valor default "1".

DECIMAL(7,4)



ListOfMaterialOrders

 






 

ProductionOrderNumber

Ordem de produção

ordens.num_ordem

DECIMAL(10,0)

TBLInBillMat.Wocode

CHAR(41)

 

MaterialID

ID do registro da reserva

ord_compon.num_seq

DECIMAL(10,0)



 

MaterialCode

Código Item Reserva

ord_compon.cod_item_compon

CHAR(15)

TBLInBillMat.ProductCode

CHAR(20)

 

MaterialDescription

Descrição do Item

item.den_item

CHAR(76)



 

ScriptCode

Código Roteiro


CHAR(15)



 

ActivityCode

Código Operação


CHAR(05)

TBLInBillMat.WODetCode

CHAR(10)

 

WarehouseCode

Código Depósito

ord_compon.cod_local_baixa

CHAR(10)

TBLInBillMat.ExtCode

CHAR(20)

 

MaterialDate

Data Reserva

ord_compon.dat_entrega

DATE



 

MaterialQuantity

Quantidade Reserva

necessidades.qtd_necessaria

DECIMAL(14,7)

TBLInBillMat.TotalQty

DEC(19,4)

 

LotCode

Lote

op_lote.num_lote

CHAR(15)



 

PertMaterialNumber

Sequência do item





 

RequestType

Tipo da Requisição

item_man.ies_sofre_baixa

Se item_man.ies_sofre_baixa for igual a "S" = 1;

se item_man.ies_sofre_baixa for igual a "N" = 2

CHAR(01)

TBLInBillMat.Comments

CHAR(500)


ComponentNeed

Número da necessidade do item componente

necessidades.num_neces

DECIMAL(10,0)



ListOfAllocatedMaterial 

 






 

WarehouseCode

Código Depósito

op_lote.cod_local_baixa

CHAR(15)

TBLInMovMat.WarehouseCode

CHAR(15)

 

LotCode

Código Lote

op_lote.num_lote

CHAR(15)

TBLInMovMat.LotCode

CHAR(41)

 

LocationCode

Localização/Endereço

op_lote.endereco

CHAR(15)

TBLInMovMat.AddressCode

CHAR(15)

 

ActivityCode

Código Operação


CHAR(05)

TBLInMovMat.WoDetCode

CHAR(10)

 

ScriptCode

Código Roteiro


CHAR(15)



 

AllocationQuantity

Quantidade Alocada

op_lote.qtd_transf

DECIMAL(15,3)

TBLInMovMat.Qty

 DEC(19,4)

 

AllocationType

Tipo Alocação

1-Soma, 2-Diminui, 3-Absoluto

Fixo 3 (Valor Absoluto)

CHAR(01)

TBLInMovMat.AllocationType

INT

 

SubLoteCode

Sub Lote





 

NumberSeries

Número de Serie

op_lote.num_serie

CHAR(15)



 

LotDueDate

Data de Validade

op_lote.dat_hor_valid

DATE

TBLInMovMat.LotDtValidity

DATETIME

ListOfQuotaActivity

 






 

ProductionOrderNumber

Número Ordem Produção

ordens.num_ordem

CHAR(20)



 

ControlType

Seleção Split





 

ActivityID

ID Operação

ord_oper.cod_operac

CHAR(10)



 

ItemCode

Código do item

ordens.cod_item

CHAR(15)



 

ItemDescription

Descrição do item

item.den_item

CHAR(40)



 

StartActivityDateTime

Data/Hora Início Atividade

ord_oper.dat_inicio

DATETIME

TBLInWODet.StartPlanDateTime

DATETIME

 

EndActivityDateTime

Data/Hora Fim Atividade

ord_oper.dat_entrega

DATETIME

TBLInWODet.EndPlanDateTime

DATETIME

 

ApprovedQuantity

Quantidade Aprovada

ord_oper.qtd_boas

DEC(13,4)



 

ScrapQuantity

Quantidade Refugada

ord_oper.qtd_refugo

DEC(13,4)



 

MachineCode

Código Máquina

ord_oper.cod_arranjo

CHAR(20)

TBLInWODet.ResourceCode

CHAR(15)

 

MachineDescription

Descrição da Máquina


CHAR(40)



 

ActivityQuantity

Quantidade Prevista

ord_oper.qtd_planejada

DEC(13,4)

TBLInWODet.QTY

DEC(19,4)

 

StandardSetup

Tempo Padrão Preparação


NUM(10)



 

StandardActivity

Tempo Padrão Operação


NUM(10)



 

StandardPostprocessing

Tempo Padrão Pós_processo


NUM(10)



 

StandardMachine

Tempo Padrão Máquina


NUM(10)



 

StandardOperator

Tempo Padrão MOD


NUM(10)



 

UsedCapacity

Capacidade Utilizada


DEC(12,4)



 

ActivityTimeQuantity

Hora Disponível Atividade


CHAR(08)



 

ReportQuantity

Quantidade Reportada

ord_oper.qtd_boas + ord_oper.qtd_refugo

DEC(13,4)



 

ReworkQuantity

Quantidade Retrabalhada


DEC(12,4)



 

StartSetupDateTime

Data/Hora Início Preparação


DATETIME



 

EndSetupDateTime

Data/Hora Fim Preparação


DATETIME



 

TimeSetup

Tempo Preparação

ord_oper.qtd_horas_setup

NUM(10)

TBLInWODet.SetUpTime

TINYINT

 

TimeMachine

Tempo Máquina

ord_oper.qtd_horas

NUM(10)

TBLInWODet.StdSpeed

DEC(28,23)

 

TimeOperator

Tempo MOD


NUM(10)



 

TimePostprocessing

Tempo Pós Processo


NUM(10)



 

QuotaActivityID

ID Split

ord_oper.num_seq_operac

DECIMAL(3,0)

ActivityCode+

TBLInWODet.WODetCode

CHAR(10)

 

WorkCenterCode

Centro de Trabalho

ord_oper.cod_cent_trab

CHAR(10)

TBLInWODet.ManagerGrpCode

CHAR(15)

 

ReportedSplit

Split Reportado


BOOELAN



 

StatusActivityType

Estado Operação

1=Não Iniciado;2=Programado;3=Liberado;4=Iniciado;5=Finalizado;6=Suspenso

CHAR(01)



ListOfQuotaActivityTools

 






 

ToolCode

Ferramenta





 

ToolQuantity

Quantidade Ferramenta





Nota:

  • Não serão enviadas ordens com situação '1' e '2' (tabela/coluna ordens.ies_situa).

  • Serão enviadas ordens que apontam por operação, tabela/coluna item_man.ies_apontamento ='1' ou ordens.ies_apontamento = '1'.

  • Nas tags ItemCode, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim" será considerado a tabela/campo man_item_mes.item_mes.

    Caso os valores das grades utilizados na criação da ordem não estiverem na MAN_ITEM_MES, deverá ser gerada MAN_ITEM_MES e enviado os arquivos de ITEM, ESTRUTURA e PROCESSO. Neste caso, se a grade não possuir estrutura e roteiro, deve possuir, obrigatoriamente registro de grade genérica no MAN10002 e MAN10243. Para itens que já possuam a MAN_ITEM_MES será enviada somente a mensagem de ORDEM. 

    Caso o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Não", a tabela man_item_mes não será utilizada.

  • Somente serão integradas as ordens de produção cujo planejamento do item estiver cadastrado como apontamento por operação.

  • Não haverá integração para ordens de produção de retrabalho ou reforma.

  • Na tag ReportOrderType, caso o tipo de apontamento da ordem de produção (tabela/campo ordens.ies_apontamento) for igual a "1", será gravado "2" (apontamento por operação).

    Caso o tipo de apontamento da ordem de produção (tabela/coluna ordens.ies_apontamento) seja diferente de "1", será verificado o tipo de apontamento do cadastro do item (tabela/campo item_man.ies_tip_apont). Caso este for igual a "1", será gravado "4" (apontamento por item). Caso seja diferente de "1', será gravado "1' (apontamento por ordem).

  • Na ListOfActivityOrders,  tag ActivityType enviaremos 1=Aponta ou 2=Não aponta.

  • Na ListOfActivityOrders, a tag ListOfMaterialGrids_ItemGrid_GridCode, é uma lista e será enviado o código da grade 1 (neces_complement.cod_grade_1), código da grade 2 (neces_complement.cod_grade_2), código da grade 3 (neces_complement.cod_grade_3), código da grade 4 (neces_complement.cod_grade_4) e código da grade 5 (neces_complement.cod_grade_5), caso os mesmos existam. Caso contrário, a tag não será enviada.

  • Na ListOfActivityOrders, a tag ListOfMaterialGrids_ItemGrid_GridSequence é uma lista e será enviado o número da grade 1 (item_ctr_grade.num_grade_1), número da grade 2 (item_ctr_grade.num_grade_2), número da grade 3 (item_ctr_grade.num_grade_3), número da grade 4 (item_ctr_grade.num_grade_4), número da grade 5 (item_ctr_grade.num_grade_5), caso os mesmos existam. Caso contrário, a tag não será enviada.

  • Na ListOfActivityOrders, a tag UnitTimeType da ListOfActivityOrders deve verificar o parâmetro: par_pcp1.parametros[4,1] - Pode ser Hora, Minuto, ou Segundo.

  • O PC-Factory calcula o tempo para fazer uma unidade da seguinte forma: ActivityQuantity  / Time Machine 

  • Na ListOfActivityOrders, a tag TimeResource (Tempo Recurso) indica o tempo para fazer um lote padrão.

  • Na ListOfActivityOrders, a tag TimeIndMES deverá ser gerada com o valor '3'.

  • Na ListOfActivityOrders, a tag UnitItemNumber será utilizada para registrar o lote padrão de produção da operação.

  • Na ListOfActivityOrders, a tag  IsActivityEnd, quando se tratar da última operação = TRUE. Nas demais = FALSE.

  • Na ListOfActivityOrders, a tag MachineCode, segue a seguinte regra:

    Se o parâmetro "Utiliza Arranjo?" do programa MAN10538 estiver MARCADO: Se existir Arranjo, deverá usar o campo ORD_OPER.COD_ARRANJO. Se estiver nulo, buscar o recurso da man_recurso_operacao_ordem. Para localizar o recurso seguir a regra: Pesquisar por recurso crítico. Se encontrar mais de um recurso crítico será utilizado o primeiro encontrado, ordenando por código do recurso. Se não encontrar nenhum recurso crítico, buscar o primeiro recurso da man_recurso_operacao_ordem.

    Se o parâmetro "Utiliza Arranjo?" do programa MAN10538 estiver DESMARCADO: busca o recurso da man_recurso_operacao_ordem. Para localizar o recurso seguir a regra: Pesquisar por recurso crítico. Se encontrar mais de um recurso crítico será utilizado o primeiro encontrado, ordenando por código do recurso. Se não encontrar nenhum recurso crítico, buscar o primeiro recurso da man_recurso_operacao_ordem.

    Somente serão considerados recursos cadastrados com o tipo “Equipamento” (tabela RECURSO.IES_TIP_RECUR = 2). Se não existir nenhum recurso do tipo Equipamento na operação, não será enviado o código da máquina.

  • Na ListOfMaterialOrders, a tag ActivityCode, se usar o controle de estrutura por operação, deverá usar a tabela man_op_componente_operacao para pesquisar na ord_compon. Se não controlar estrutura por operação, deverá usar a operação final.

  • Na ListOfMaterialOrders, a tag ScriptCode é gerada a partir da tabela/campo man_op_componente_operacao.roteiro. Se não existir gerar com base na tabela/campos ordens.cod_roteiro.

  • Na ListOfMaterialOrders, a tag LotCode somente será enviada caso a empresa esteja parametrizada para utilizar o conceito de OP_LOTE. Caso contrário, essa tag não será enviada.

  • Se a empresa não utilizar o conceito de OP_LOTE, a lista ListOfAllocatedMaterial, com a listagem de material alocado, não será enviada.

  • Na ListOfAllocatedMaterial, as tags ScriptCode e ActivityCode seguem a mesma regra da lista ListOfMaterialOrders.

  • A sessão ListOfQuotaActivity sempre é gerada para o Logix.

  • Na ListOfQuotaActivity, a tag MachineCode, segue a seguinte regra:

    Se o parâmetro "Utiliza Arranjo?" do programa MAN10538 estiver MARCADO: Se existir Arranjo, deverá usar o campo ORD_OPER.COD_ARRANJO. Se estiver nulo, buscar o recurso da man_recurso_operacao_ordem. Para localizar o recurso seguir a regra: Pesquisar por recurso crítico. Se encontrar mais de um recurso crítico será utilizado o primeiro encontrado, ordenando por código do recurso. Se não encontrar nenhum recurso crítico, buscar o primeiro recurso da man_recurso_operacao_ordem.

    Se o parâmetro "Utiliza Arranjo?" do programa MAN10538 estiver DESMARCADO: busca o recurso da man_recurso_operacao_ordem. Para localizar o recurso seguir a regra: Pesquisar por recurso crítico. Se encontrar mais de um recurso crítico será utilizado o primeiro encontrado, ordenando por código do recurso. Se não encontrar nenhum recurso crítico, buscar o primeiro recurso da man_recurso_operacao_ordem.

    Somente serão considerados recursos cadastrados com o tipo “Equipamento” (tabela RECURSO.IES_TIP_RECUR = 2). Se não existir nenhum recurso do tipo Equipamento na operação, não será enviado o código da máquina.

  • Quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim", a rotina MAN0515 permitirá incluir ordem de produção para grades que não tenham estrutura (considera somente os componentes genéricos). Quando isso ocorrer, além da mensagem ProductionOrder, serão enviadas as mensagens de Item, ItemStructure e ItemScript para o "Item MES" gerado.

  • A tag RequestType (Tipo da Requisição) identifica se a requisição pode ser feita separadamente do reporte da produção, conforme regra abaixo:

    RequestType =1, Direta  -> MovimentsInternal

    RequestType =2, Indireta -> ProductionAppointment

  • As tags AuxiliarItemCode e OrderNeed somente serão enviadas com valor nas ordens de produção geradas a partir do processamento do MRP.

  • A tag ActivitySequence não faz parte do escopo da integração com o TOTVS MES.

Mensagens de Processos

Transação Apontamento de Parada de Máquina: StopReport_1_001.xsd

Identificador da Mensagem: StopReport
Versão: 1_001
Módulo Logix: Chão de Fábrica

Tipo de Envio: Síncrona

Mensagem

Tag

Descrição

Tabela/Campo

Logix

Tipo

Tabela/Campo: PC-Factory

Tipo


ProductionOrderOrdem de Produçãoman_apo_mestre.ordem_producaoDEC(10,0)


ActivityCodeCódigo da Operaçãoman_apo_detalhe.operacaoCHAR(05)


ActivityIdID do Registroman_apo_detalhe.sequencia_operacaoINT


ProductionShiftNumberTurnoman_tempo_producao.turno_producao


 

MachineCode

Código Máquina

man_apo_detalhe.eqpto

CHAR(15)

TBLOutRSEv.ResourceCode

CHAR(15)

 

MachineDescription

Descrição Máquina





 

StopReasonCode

Código Motivo Parada

man_tempo_parada.parada_producao

CHAR(03)

TBLOutRSEv.ResourceStatusCode

CHAR(20)

 

StopReasonDescription

Descrição Motivo Parada

mot_parada.des_motivo

CHAR(30)



 

StartDateTime

Data/Hora Início

man_tempo_producao.data_ini_producao

man_tempo_producao.hor_ini_producao

DATE

CHAR(08)

TBLOutRSEv.ShiftDtStart

DATETIME

 

EndDateTime

Data/Hora Fim

man_tempo_producao.dat_final_producao

man_tempo_producao.hor_final_producao

DATE

CHAR(08)

TBLOutRSEv.ShiftDtEnd

DATETIME

 

OperatorCode

Código Operador

man_apo_detalhe.operador

CHAR(15)

TBLOutRSEv.UserCodeStart

CHAR(30)

 

ReportDateTime

Data/Hora Reporte

man_apo_mestre.data_producao

DATE

TBLOutRSEv.DtTimeStamp

DATETIME

 

ToolCode

Código Ferramenta





 

ProductionTeamCode

Código Equipe





 

StopType

Tipo Parada (1=Não Programada;2=Programada)





 

ReportSequence

ID PC-Factory



TBLOutRSEv.IDOutRSEv



ReversedReportIndicador de EstornoTRUE ou FALSEBOOLEAN


IntegrationReportRegistro a ser estornoman_apo_mestre.seq_reg_mestreINT

Nota:

  • Essa mensagem será gerada pelo PC-Factory e enviada ao Logix.
  • O programa de apontamento de parada é o MAN8228 e deverá ser informado o motivo da parada e a data/hora início e fim de parada. O processamento seguirá as regras do apontamento de parada do MAN8228.
  • O Logix, diferente de outros ERPs, obriga algumas tags: ProductionOrder, ActivityCode e ProductionShiftNumber.
  • Quando a tag ActivityId não vier informada, deverá usar a maior sequência da operação para o código da operação. Pesquisar a tabela/campo ord_oper.num_seq_operac.
  • Para tabela/campo man_apo_mestre.observacao será gravado o conteúdo 'TOTVS MES' para indicar a origem do apontamento.
  • Apontamento de parada setará o man_tempo_producao.periodo_produtivo como 'I'.
  • Todo apontamento deverá enviar uma mensagem de retorno, indicando possíveis problemas ou processamento efetuado com sucesso. Será retornado o man_apo_mestre.seq_reg_mestre. 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 (Ordem de produção, Operação, Máquina, Motivo de Parada, Data/Hora Início e Fim e Data/Hora Reporte) preenchidos.


Transação Apontamento de Produção: ProductionAppointment_2_000.xsd

Identificador da Mensagem: ProductionAppointment
Versão: 2_003
Módulo Logix: Chão de Fábrica

Tipo de Envio: Síncrona 

BusinessContentTypeMachineCodeMáquinaman_apo_detalhe.eqptoCHAR(15)TBLOutInteg.ResourceCodeCHAR(15)

ProductionOrderNumberOrdem de Produçãoman_apo_mestre.ordem_producaoDECIMAL(10,0)TBLOutInteg.WOCodeCHAR(41)

ActivityCodeOperaçãoman_apo_detalhe.operacaoCHAR(05)TBLOutInteg.WODetCodeCHAR(10)

SplitSplit

TBLOutInteg.WODetCodeCHAR(10)

ActivityIDID Operaçãoman_apo_detalhe.sequencia_operacaoDECIMAL(3,0)


ItemCodeProdutoman_apo_mestre.item_produzidoCHAR(15)TBLOutInteg.ProductCodeCHAR(20)

ApprovedQuantityQuantidade Aprovadaman_item_produzido.qtd_produzidaDECIMAL(10,3)TBLOutInteg.QtyDEC(19,4)

ScrapQuantityQuantidade Refugadaman_item_produzido.qtd_produzidaDECIMAL(10,3)TBLOutInteg.QtyDEC(19,4)

ReworkQuantityQuantidade Retrabalhada




StartSetupDateTimeData/Hora Início Preparação




EndSetupDateTimeData/Hora Fim Preparação




SetupCodeCódigo Preparação




OpTimeIntTempo Operação




ProductionShiftCodeCódigo Modelo Turno




ProductionShiftNumberNúmero Turnoman_tempo_producao.turno_producaoCHAR(05)TBLOutInteg.ShiftSMALLINT

DocumentCodeDocumento

TBLOutInteg.DocNumberCHAR(20)

DocumentSeriesSérie Documento




StartReportDateTimeData/Hora Início Reporte

man_tempo_producao.data_ini_producao + man_tempo_producao.hor_ini_producao

DATETIMETBLMSGERP.StartDATETIME

EndReportDateTimeData/Hora Fim Reporte

man_tempo_producao.dat_final_producao + man_tempo_producao.hor_final_producao

DATETIMETBLMSGERP.EndDATETIME

OpTimeDecTempo Operaçãoman_tempo_producao.tempo_tot_producaoDECIMAL(12,2)


ReversedReportEstorno do ApontamentoTRUE ou FALSEBOOLEAN


ReversalDateData do estorno

TBLOutInteg.DTEvDATETIME

ReportDateTimeData/Hora Reporteman_apo_mestre.data_apontamentoDATETBLOutInteg.DtEvDATETIME

WarehouseCodeCódigo Depósito

man_item_produzido.local

CHAR(10)TBLOutInteg.WarehouseCodeCHAR(15)

LotCodeLote/Série

man_item_produzido.lote_produzido

ou

man_item_produzido.serie

CHAR(15)

CHAR(25)

TBLOutInteg.LotCodeCHAR(41)

LotDueDateData Validade Loteman_item_produzido.dat_validDATE

TBLLot.DtValidity

DATETIME

CloseOperationEncerra Operaçãoord_oper.ies_apontamentoCHAR(01)


LocationCodeLocalizaçãoman_item_produzido.enderecoCHAR(15)TBLOutInteg.Address1CodeCHAR(15)
ListOfReversalAppointments






IntegrationReportRegistro a ser estornadoman_apo_mestre.seq_reg_mestreDECIMAL(10,0)TBLOutInteg.TransacTypeTINYINT

ReversalTypeTipo do Estorno




ReversalQuantityQuantidade revertida



WasteAppointment






WasteCodeCódigo Refugo

man_def_producao.motivo_defeito

DECIMAL(3,0)TBLOutInteg.ScrapCodeCHAR(15)

WasteDescriptionDescrição Refugo

defeito.den_defeito

CHAR(30)


ScrapQuantityQuantidade Refugada

man_def_producao.qtd_defeito_real

DECIMAL(10,3)TBLOutInteg.QtyDEC(18,4)

ScrapProductProduto Refugado




WareHouseCodeDepósito Produto Refugado




ScrapProductToRefugo Geradoman_item_produzido.item_produzidoCHAR(15)


WareHouseCodeToDepósito do Refugo gerado




AdressCodeEndereço Origem




AdressCodeToEndereço Destino




NumberSeriesNúmero de Série




NumberSeriesToNúmero de Série Destino




LotCodeLote




SubLoteCodeSub Lote




LotDueDateData de Validade




CostCenterCodeCentro de Custo



ResourceAppointment






OperatorCodeCódigo Operadorman_apo_detalhe.operadorCHAR(15)TBLOutInteg.UserCodeCHAR(30)

StartDateTimeData/Hora Início

TBLMSGERP.StartDATETIME

EndDateTimeData/Hora Fim

TBLMSGERP.EndDATETIME

MOBTimeTempo Mão de Obra Direta




ExtraTimeTempo Extra




UtilTimeTempo Útil




ProductionShiftCodeCódigo Modelo Turno




ProductionShiftNumberNúmero Turno

TBLOutInteg.ShiftSMALLINT
SupplyOrder






ProductionOrderNumberNúmero Ordem Produçãoman_apo_mestre.ordem_producaoDECIMAL(10,0)

TBLOutInteg.WOCode

CHAR(41)

MaterialCodeCódigo Item Reservaman_comp_consumido.item_componenteCHAR(15)TBLOutInteg.ProductCodeCHAR(20)

UsedQuantityQuantidade Utilizadaman_comp_consumido.qtd_baixa_realDECIMAL(10,3)TBLOutInteg.Qty DEC(19,4)

WarehouseCodeCódigo Depósitoman_comp_consumido.local_estoqueCHAR(10)TBLOutInteg.WarehouseCodeCHAR(15)

LocationCodeLocalizaçãoman_comp_consumido.enderecoCHAR(15)TBLOutInteg.Address1CodeCHAR(15)

LotCodeLote/Série

man_comp_consumido.lote_componente

ou

man_comp_consumido.serie

CHAR(15)

CHAR(25

TBLOutInteg.LotCodeCHAR(41)

ActivityCodeCódigo Operação

TBLOutInteg.WODetCodeCHAR(10)

ScriptCodeRoteiro



ReportToolActivity






ToolCodeCódigo Ferramenta



Nota:

  • Esta mensagem será gerada pelo PC-Factory e enviada ao Logix.
  • Se o item controlar WMS integração não será permitida. Rotinas do WMS não preparadas para receber dados do PC-Factory.
  • Deverá respeitar o processamento executado pelo MAN8228 (exceto quando for consumo real).
  • Na tag ItemCode será enviado o código do item. Nesse caso, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim", será verificado na tabela/campo man_item_mes.item_mes se o código do item existe nessa tabela. Caso exista, será considerado o item da tabela/campo man_item_mes.item e os códigos das grades da tabela/campos: man_item_mes.grade_1, man_item_mes.grade_2, man_item_mes.grade_3, man_item_mes.grade_4, man_item_mes.grade_5. Caso o parâmetro esteja igual a "Não, será considerado a tabela/campo item.cod_item.
  • A tag ProductionShiftNumber, turno, é obrigatório no apontamento de produção.
  • A tag ApprovedQuantity será gravada na tabela/campo man_item_produzido.qtd_produzida, com a tabela/campo man_item_produzido.tip_producao igual a "B" (boas).
  • A tag ScrapQuantity será gravada na tabela/campo man_item_produzido.qtd_produzida, com a tabela/campo man_item_produzido.tip_producao igual a "R" (refugo).
  • A tag StartReportDateTime será gravada na tabela/campo man_tempo_producao.data_ini_producao + man_tempo_producao.hor_ini_producao e, caso o parâmetro Utilizar data fim de apontamento como data de movimentação do estoque? do LOG00087 - Processo Manufatura - Chão de Fábrica - Apontamento de Produção estiver diferente de "S", irá gravar também na tabela/campo man_apo_mestre.data_producao. OBS: Quando enviado apontamento de quantidade, a hora início da produção será zerada, pois, o tempo de produção é enviado através da tag OpTieDec em outro apontamento somente de tempo.
  • A tag EndReportDateTime será gravada na tabela/campo man_tempo_producao.dat_final_producao + man_tempo_producao.hor_final_producao  e, caso o parâmetro Utilizar data fim de apontamento como data de movimentação do estoque? do LOG00087 - Processo Manufatura - Chão de Fábrica - Apontamento de Produção estiver igual a "S", irá gravar também na tabela/campo man_apo_mestre.data_producao.  OBS: Quando enviado apontamento de quantidade, a hora fim da produção será zerada, pois, o tempo de produção é enviado através da tag OpTieDec em outro apontamento somente de tempo.
  • A tag OpTimeDec será sempre o tempo LÍQUIDO da produção e, quando enviada, será gravada na tabela/campo man_tempo_producao.tempo_tot_producao.
  • Caso a ReportDateTime não exista ou seja igual a branco ou nulo, será considerado a data atual.
  • Quando a tag ActivityId não vier informada, deverá usar a maior sequência da operação para o código da operação. Pesquisar a tabela/campo ord_oper.num_seq_operac.
  • 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. Retornar a tabela/campo man_apo_mestre.seq_reg_mestre. 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. A tag ReversalType indica qual o processo a ser executado, sendo, 1 = Produção; 2 = Recusa, sendo que no Logix será sempre igual a 1.
  • 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.
  • Na sessão SupplyOrder, a tag MaterialCode será enviado o código do item. Nesse caso, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim", será verificado na tabela/campo man_item_mes.item_mes se o código do item existe nessa tabela. Caso exista, será considerado o item da tabela/campo man_item_mes.item e os códigos das grades da tabela/campos man_item_mes.grade_1, man_item_mes.grade_2, man_item_mes.grade_3, man_item_mes.grade_4, man_item_mes.grade_5. Caso o parâmetro esteja igual a "Não", será considerado a tabela/campo item.cod_item.
  • Caso a tag CloseOperation seja igual a TRUE, será alterado a tabela/campo ord_oper.ies_apontamento igual a "F" (finalizado). Caso essa tag seja igual a FALSE, não será alterada.
  • Na sessão WasteAppointment, a tag ScrapProductTo será enviado o código do item. Nesse caso, quando o parâmetro "Utilizar o conceito de grade de produto?" localizado no LOG00087, Processo Manufatura, Engenharia, Grade, estiver igual a "Sim", será verificado na tabela/campo man_item_mes.item_mes se o código do item existe nessa tabela. Caso exista, será considerado o item da tabela/campo man_item_mes.item e os códigos das grades da tabela/campos man_item_mes.grade_1, man_item_mes.grade_2, man_item_mes.grade_3, man_item_mes.grade_4, man_item_mes.grade_5. Caso o parâmetro esteja igual a "Não, será considerado a tabela/campo item.cod_item.
  • Na sessão WasteAppointment, quando a tag ScrapProductTo vier preenchida será efetuado o apontamento de sucata.
  • Para tabela/campo man_apo_mestre.observacao será gravado o conteúdo 'TOTVS MES' para indicar a origem do apontamento.
  • Logix x TOTVS MES, trata os seguintes dimensionais: Lote, Endereço, Nr. de Série e Data de Validade. Outros dimensionais não são integrados, gerando mensagem de erro.
  • Relatório MAN10542 (Apontamento da Produção) para apresentar as informações dos apontamentos efetuados para um determinado período. Neste relatório pode-se identificar os apontamentos realizados pelo TOTVS MES, principalmente quando estiver parametrizado "Consumo Real".

Nota:

  • O consumo dos componentes deverá respeitar parametrização do MAN10538. 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. Poderá consumir componentes em qualquer operação (exceto se o sofre baixa estiver igual a "N" no MAN10021).
  • No PC-Factory apontamento e consumo poderão ser enviados em arquivos XMLs diferentes.
  • 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.

Nota:

  • Para o apontamento de refugo utilizar a sessão ListOfWasteAppointments.
  • Somatório da quantidade refugada da ListOfWasteAppointments deve ser igual a tag ScrapQuantity do BusinessContentType.


Transação Transferências: TransferWarehouse_1_003.xsd

Identificador da Mensagem: TransferWarehouse
Versão: 1_003
Módulo Logix: Estoque

Tipo de Envio: Síncrona

Nota:

Esta mensagem será gerada pelo PC-Factory e enviada ao Logix.
BusinessContentTypeCompanyIdEmpresa




BranchIdFilial




CompanyInternalIdInternalId da chave completa da empresa




InternalIdInternalId da transferência




NumberNúmero da Movimentação




RegisterDateTimeData de Emissão da solicitação



TransferWarehouseType






InternalIdInternalId da transferência




EmissionDateData de EmissãoESTOUE_TRANS.DAT_MOVTODATE

TBLOutInteg.DtTimeStamp

DATETIME

ItemCodeFromItem/Produto OrigemESTOUE_TRANS.COD_ITEMCHAR(15)

TBLOutInteg.ProductCode

CHAR(20)

ItemCodeToItem/Produto DestinoESTOUE_TRANS.COD_ITEMCHAR(15)

TBLMovEv.ProductCode

CHAR(20)

UnitOfMeasureFromUnidade de Medida Origem




UnitOfMeasureToUnidade de Medida Destino




QuantityQuantidadeESTOUE_TRANS.QTD_MOVTODEC(12,2)

TBLOutInteg.Qty

DEC(19,4)

WarehouseCodeFromCódigo do Armazém de OrigemESTOUE_TRANS.COD_LOCAL_EST_ORIGCHAR(02)

TBLOutInteg.WarehouseCode

CHAR(15)

WarehouseCodeToCódigo do Armazém DestinoESTOUE_TRANS.COD_LOCAL_EST_DESTCHAR(02)

TBLMovEv.WarehouseCode

CHAR(15)

LotNumberFromNúmero do Lote de OrigemESTOUE_TRANS.NUM_LOTE_ORIGCHAR(10)

TBLOutInteg.LotCode

CHAR(41)

LotNumberToNúmero do Lote de DestinoESTOUE_TRANS.NUM_LOTE_DESTCHAR(10)

TBLMovEv.LotCode

CHAR(41)

SubLotNumberNúmero do SubLote




LotExpirationDateFromData de validade do Lote Origem

TBLLot.DtDue

DATETIME

LotExpirationDateToData de validade do Lote Destino

TBLLot.DtDue

DATETIME

AddressFromEndereço Origem

TBLOutInteg.Address1Code

CHAR(15)

AddressToEndereço Destino

TBLOutInteg.Address2Code

CHAR(15)

NumberSeriesNúmero de série

TBLOutInteg.LotCode

CHAR(41)

Nota:

  • Esta mensagem será gerada pelo PC-Factory e enviada ao Logix.
  • As informações cadastradas no MAN10538 serão utilizadas para o processo de transferência, Operação de estoque entrada, Operação estoque saída, Conta contábil entrada, Conta contábil saída e Operação estoque transferência.
  • Caso se tratar de um movimento de transferência entre código de itens, serão gerados dois movimentos de estoque, um de entrada e outro de saída, com as operações de estoque e contas contábeis cadastradas. Deverá ser gravado o relacionamento do movimento de saída e entrada na tabela est_trans_relac. Caso se tratar de um movimento de transferência entre locais de estoque, será gerado um único movimento de estoque, com a operação de estoque diversos.
  • Será registrado que a transferência teve origem via integração com PC-Factory. Na tabela ESTOQUE_OBS será gravado um registro com o conteúdo "TOTVS MES".
  • Transferências entre locais sem grade irá executar o mesmo processo que o SUP8790 e com grade o SUP0737.
  • Transferências entre itens sem grade irá executar o mesmo processo que o SUP5620, e com grade o SUP0638.


Transação Movimentações de Estoque: MovementsInternal_1_001.xsd

Identificador da Mensagem: MovementsInternal
Versão: 1_001
Módulo Logix: Estoque

Tipo de Envio: Síncrona

Nota:

Esta mensagem será gerada pelo PC-Factory e enviada ao Logix.
BusinessContentTypeCompanyIdCódigo da empresa




BranchIdFilial




CompanyInternalIdInternalId da chave completa da empresa




InternalIdInternalId da movimentação.




TypeMovementCodeCódigo do Tipo de Movimento interno




EmissionDateData de EmissãoESTOQUE_TRANS.DAT_MOVTODATETBLOutInteg. DtTimeStampDATETIME

ItemCodeCódigo do ProdutoESTOQUE_TRANS.COD_ITEMCHAR(15)

TBLOutInteg.ProductCode

CHAR(20)

UnitOfMeasureCodeUnidade de Medida




QuantityQuantidadeESTOQUE_TRANS.QTD_MOVTODEC(12,2)

TBLOutInteg.Qty

DEC(19,4)

WarehouseCodeCódigo do Armazém

ESTOQUE_TRANS.COD_LOCAL_EST_DEST

 ESTOQUE_TRANS.COD_LOCAL_EST_ORIG

CHAR(02)

TBLOutInteg.WarehouseCode

CHAR(15)

LotNumberLote

ESTOQUE_TRANS.NUM_LOTE_DEST

 ESTOQUE_TRANS.NUM_LOTE_ORIG

CHAR(10)

TBLOutInteg.LotCode

CHAR(41)

SubLotNumberSubLote
CHAR(06)


LotExpirationDateData Validade do LoteESTOQUE_TRANS_END.DAT_HOR_VALIDADEDATE

TBLLot.DTDUE

DATETIME

AddressEndereçoESTOQUE_TRANS_END.ENDERECOCHAR(15)

TBLOutInteg.Address1Code

CHAR(15)

NumberSeriesNumberSeriesESTOQUE_TRANS_END.NUM_SERIECHAR(20)

TBLOutInteg.LotCode

CHAR(41)

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

TBLOutInteg.MovTypeCode

CHAR(05)

ReferenceCodeReferência--



ScriptCodeRoteiro
CHAR(02)


ActivityCodeOperação
CHAR(02)

TBLOutInteg.WODetCode

CHAR(15)

ProductionOrderNumberOrdem de Produção/Documento
CHAR(13)

TBLOutInteg.WOCode

CHAR(41)

FatherItemCodeItem Pai--


Nota:

  • Movimentações internas irão executar o mesmo processo que o SUP0710.
  • A tag WarehouseCode será utilizada de acordo com o tipo de movimento, tag InputOrOutput. Se for entrada irá atualizar ESTOQUE_TRANS.COD_LOCAL_EST_DEST, caso seja saída irá atualizar ESTOQUE_TRANS.COD_LOCAL_EST_ORIG.
  • A tag LotNumber será utilizada de acordo com o tipo de movimento, tag InputOrOutput. Se for entrada irá atualizar ESTOQUE_TRANS.NUM_LOTE_DEST, caso seja saída irá atualizar ESTOQUE_TRANS.NUM_LOTE_ORIG.
  • Será registrado que a movimentação teve origem via integração com PC-Factory. Na tabela ESTOQUE_OBS será gravado um registro com o conteúdo "TOTVS MES".
  • A tag InputOrOutput indica se é entrada ou saída. Com base nessa informação deverá considerar as operações de estoque e contas contábeis do cadastro MAN10538, folder "Movimentos e Transferência".
  • Não terá a opção de estorno. Para realizar um processo de estorno deverá enviar a movimentação contrária, ou seja, para estornar uma entrada deverá enviar um movimento de saída.


Transação Saldo: ItemStockLevel_1_000.xsd

Identificador da Mensagem: ItemStockLevel
Versão: 1_000
Módulo Logix: Estoque

Tipo de Envio: Síncrona

MensagemTagDescriçãoTabela/Campo: LogixTipoTabela/Campo: PC-FactoryTipo
BusinessContentTypeItemCodeCódigo do produtoESTOQUE_TRANS_END.COD_ITEMCHAR(15)TBLInMovMat.ProductCodeCHAR(20)

ItemDescriptionDescrição do itemITEM.DEN_ITEM_REDUZCHAR(30)

ListOfStock






ReferenceCodeReferência--



WarehouseCodeDepósito/Local de estoqe/Armazem

ESTOQUE_TRANS.COD_LOCAL_EST_DEST

ESTOQUE_TRANS.COD_LOCAL_EST_ORIG

CHAR(02)TBLInMovMat.WarehouseCodeCHAR(15)

LotCodeNúmero do Lote

ESTOQUE_TRANS.NUM_LOTE_DEST

ESTOQUE_TRANS.NUM_LOTE_ORIG

CHAR(10)TBLInMovMat.LotCodeCHAR(41)

SubLotCodeSub-Lote
CHAR(06)


NumberSeriesNúmero de SérieESTOQUE_TRANS_END.NUM_SERIECHAR(20)


AddressCodeEndereço/LocalizaçãoESTOQUE_TRANS_END.ENDERECOCHAR(15)TBLInMovMat.AddressCodeCHAR(15)

LotDueDateData de ValidadeESTOQUE_TRANS_END.DAT_HOR_VALIDADEDATETBLInMovMat.LotDtValidityDATETIME

CurrentStockAmountSaldo de estoque


DEC(12,2)


BookedStockAmountQuantidade Reservada


DEC(12,2)


AvailableStockAmountSaldo disponível


DEC(12,2)


QuantityUpdated
Quantidade AtualizadaESTOQUE_TRASN_END.QTD_MOVTO DEC(12,2)TBLInMovMat.QtyDEC(18,2)

InputOutputEntrada ou Saída1 = Entrada ou 2 = SaídaCHAR(01)TBLInMovMat.ClassificationCHAR(15)

Nota:

  • Quando atualizar um saldo no ERP, deverá enviar a mensagem ao PC-Factory. As movimentações de estoque (de entrada e saída) que são realizadas no ERP Logix serão enviadas para o PC-Factory. Estas movimentações podem ser parametrizadas no MAN10538, folder "Saldos" painel "Operações de estoque integradas".
  • No MAN10538, folder "Saldos" deverá ser cadastrada a "Data de corte das movimentações", para informar a partir de qual data em que as movimentações serão consideradas.
  • 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 TOTVS MES não será gerada a mensagem.
  • 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.
  • O controle das movimentações enviadas para o TOTVS MES será registrado na tabela sup_par_movta_est. Este controle poderá ser enviado para histórico por meio da rotina SUP2720.
  • A tag WarehouseCode será utilizada de acordo com o tipo de movimento, tag InputOrOutput. Se for entrada irá atualizar ESTOQUE_TRANS.COD_LOCAL_EST_DEST, caso seja saída irá atualizar ESTOQUE_TRANS.COD_LOCAL_EST_ORIG.
  • A tag LotCode será utilizada de acordo com o tipo de movimento, tag InputOrOutput. Se for entrada irá atualizar ESTOQUE_TRANS.NUM_LOTE_DEST, caso seja saída irá atualizar ESTOQUE_TRANS.NUM_LOTE_ORIG.

As movimentações de estoque serão enviadas via JOB - MAN10543. Este JOB irá selecionar as movimentações de estoque das tabelas estoque_trans/estoque_trans_end, cuja operação de estoque está parametrizada (MAN10538).

Para cadastrar o JOB deve-se utilizar o JOB0003.

Usar como parâmetros , empresa e usuário.


Transação Saldo em Estoque - Request: StockLevel_2_000.xsd

Identificador da Mensagem: StockLevel
Versão: 2_000
Módulo Logix: ESTOQUE

Tipo de Envio: Síncrona

Para este tipo de atualização o PC-Factory solicita o saldo ao Logix. 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.
Request será gerado pelo PC-Factory e enviado ao Logix. O Return será gerado pelo Logix e enviado ao PC-Factory.


Request

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:

  • 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

ReturnContentTypeClosingStockDateData fechamento estoque--
ListOfReturnItemCompanyIdEmpresa


BranchIdFilial


CompanyInternalIdEmpresa + Filial


ItemInternalIdCódigo do produtoESTOQUE_LOTE_ENDER.COD_ITEMCHAR(15)

ReferenceCodeReferência--
(mais) ListOfStockBalance




WarehouseInternalIdLocal de Estoque (Armazém/Depósito)ESTOQUE_LOTE_ENDER.COD_LOCALCHAR(10)

LotNumberNúmero do LoteESTOQUE_LOTE_ENDER.NUM_LOTECHAR(10)

SubLotCodeSub Lote
CHAR(10)

LotExpirationDateData de validadeESTOQUE_LOTE_ENDER.DAT_HOR_VALIDADEDATE

SerialNumberNúmero de sérieESTOQUE_LOTE_ENDER.NUM_SERIECHAR(20)

AddressLocalizaçãoESTOQUE_LOTE_ENDER.ENDERECOCHAR(15)

CurrentStockAmountSaldo do Produto em quantidade


DEC(17,4)

BookedStockAmountQuantidade reservada em Estoque
DEC(17,4)

AvailableStockAmountSaldo disponível do Produto em quantidade
DEC(17,4)

UnitItemCostCusto unitário do Produto--

AverageUnitItemCostCusto médio do Produto--

ValueOfCurrentStockAmountSaldo atual do estoque do produto em valor--

Nota:

  • A tag CurrentStockAmount é gerada com a quantidade liberada em estoque (supr9_saldos_get_qtd_tot_liberada + supr9_saldos_get_qtd_tot_excepcional).
  • A tag BookedStockAmount é gerada com a quantidade reservada (supr9_saldos_get_qtd_tot_reservada).
  • A tag AvailableStockAmount é gerada com o cálculo CurrentStockAmount - BookedStockAmount.
  • Verificar a sessão General do appserver.ini o campo MaxStringSize.
  • Request não gera LOG, porém pode-se verificar.

LOGIX x APS x TOTVS MES

Ordens geradas pelo APS serão enviadas via JOB - MAN10544.

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

No MAN10538, folder Ordens de Produção, é possível parametrizar se existe a integração com o APS.

O JOB para o envio de ordens geradas irá executar somente se o parâmetro "APS" estiver assinalado. Serão enviadas as ordens com origem no APS (ordens.ies_origem = '9') OU que possuam dados na tabela man_equival_ordem_producao.

Para o envio deverá ter um controle do que já foi enviado (campo ordens_complement.reservado_6). Enviar somente ordens que tenham o reservado_6 nulo ou branco. Após o envio atualizar esse campo para "E" = Enviado. Quando o APS atualizar uma ordem, deverá setar novamente o reservado_6 para nulo para que o JOB possa reenviá-la.

Para cadastrar o JOB deve-se utilizar o JOB0003.

Usar como parâmetros, empresa e usuário.

Limitações / Restrições Gerais

A integração não contempla a geração cadastramentos via Fluig (WorkFlow) ou rotinas não descritas nesse documento.


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 Logix 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 que possuem regras específicas que afetam as rotinas listadas neste documento.
    Para resolver este problema, deverá verificar o uso de ponto de entrada.

  3. Tempo de espera do WebService. Devido alguns processos serem 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, MAN10538, verificar se o campo Integração Ativa? está como "1 - ATIVO".
  • Na rotina de parâmetros, MAN10538, testar conexão com o WebService da PPI informado por meio do botão Testar.
  • Configuração das sessões WEBSERVICE do APPSERVER.INI;
  • Realizar possíveis ajustes na integração quanto à configuração ou negócio.