Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na 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.
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:
A integração não contempla a integração com o WMS. |
Não é possível utilizar o conceito de prioridade do programa MAN10243.
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.
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
O nome do Webservice a ser utilizado no TOTVSMES é o WSMAN. Não é utilizado o EAI. |
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
Para processar as mensagens deve ser atualizado o campo MAXSTRINGSIZE da sessão General do appserver:
MAXSTRINGSIZE=500
A integração Logix x PC-Factory PPI-Multitask é ativada por intermédio dos seguintes passos:
O botão de Testar verifica se é possível realizar a conexão com o WebService informado no campo Caminho. Este botão tem dois retornos:
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:
O envio de informações do PC-Factory PPI-Multitask para o Logix ocorre nas seguintes transações:
O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.
Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.
O suporte aos recursos da Integração será de responsabilidade de todas as linhas, sendo assim as equipes de suporte dos produtos RM Conector e Backoffice 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.
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) | Programas | Tabela |
Cadastros | 01 | Item | Logix | PC-Factory | Item_4_001.xsd | MAN10021 | ITEM |
02 | Local de Estoque | Logix | PC-Factory | Warehouse_1_001.xsd | SUP10002 | LOCAL | |
03 | Máquinas | Logix | PC-Factory | Machine_1_001.xsd | MAN10072 MAN10078 | REC_ARRANJO RECURSO | |
05 | Estrutura | Logix | PC-Factory | ItemStructure_1_001 | MAN10002 | ESTRUT_GRADE | |
06 | Roteiro | Logix | PC-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 | |
08 | Endereço | Logix | PC-Factory | AddressStock_1_000 | MAN10093 SUP1637 | SUP_ENDERECO_LOCAL | |
09 | Saldo em Estoque | Logix | PC-Factory | ItemStockLevel_1_000 | JOB | ESTOQUE_TRANS_END | |
Processos | 09 | Motivo de Parada | PC-Factory | Logix | StopReason_1_000 | MAN10095 | MOT_PARADA |
10 | Motivo de Refugo | PC-Factory | Logix | WasteReason_1_000 | MAN10026 | DEFEITO | |
11 | Apontamento de Produção | PC-Factory | Logix | ProductionAppointment_2_002 | MAN8228 | 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 | |
13 | Transferência | PC-Factory | Logix | TransferWareHouse_1_003 | SUP8790 SUP0737 SUP5620 SUP0638 | ESTOQUE_TRANS ESTOQUE_TRANS_END | |
14 | Movimentações | PC-Factory | Logix | MovimentsInternal_1_001 | SUP0710 | ESTOQUE_TRANS ESTOQUE_TRANS_END | |
15 | Request Saldo | PC-Factory | Logix | StockLevel_2_000 | SUP0170 | ESTOQUE_LOTE_ENDER |
Fluxo das informações das transações:
Replicação
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:
Nos XML´s será usada a TAG Key name = "IDPCfactory"
<BusinessEvent>
<Entity>Entity</Entity>
<Event>upsert</Event>
<Identification>
<key name="IDPCFactory">29892829</key>
</Identification>
</BusinessEvent>
O retorno com erro apresenta a mensagem com o seguinte padrão:
<ProcessedOn>2017-03-28T09:11:17</ProcessedOn>
<Status>ERROR</Status>
<ListOfMessages>
<Message type="ERROR" code="N">MENSAGEM</Message>
</ListOfMessages>
</ProcessingInformation>
O XML de retorno deverá respeitar a seguinte regra:
Retorna o ID PC-Factory na tag <UUID>
Na tag Message type="ERROR" code="2", utiliza o 2 para indicar erro.
A mensagem será: ID xxxx já processado. Status: mensagem de erro”.
Exemplo: <Message type="ERROR" code="2">ID productionappointment-0038 já processado. Status: ProductionOrderNumber não cadastrada no Logix.</Message>
Retorna o ID PC-Factory na tag <UUID>
Na tag Message type="ERROR" code="3", usa o 3 para indicar o processamento com sucesso.
A mensagem será: "ID xxxx já processado. Status: ID do 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>.
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:
1 | Processado na primeira tentativa com ERRO ou OK | 1 ou 2 |
2 | Registro já processado com retorno de erro | 2 |
3 | Registro já processado com sucesso | 1 |
4 | Registro em processamento | 0 |
<Entity>productionappointment</Entity> <Event>upsert</Event> <Identification> <key name="IDPCFactory">9o93049u88557</key> <key name="Reprocess">true</key> </Identification> </BusinessEvent> |
Autenticação
Quando o usuário e a senha estiverem cadastrados no 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.
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 |
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:
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:
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:
Recebimento:
Possui as seguintes opções:
ID MES - MAN10539
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:
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: Camisa | COR | BRANCO | AZUL | PRETO |
TAM | G,H | D | Z | |
Pequeno | E,F | A,B,C | Y | |
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.
Esta regra será utilizada por todas as rotinas que manipulam a utilização de grade para o item, como o MAN10002, MAN10243 e MAN10021. |
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) |
|
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 |
|
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) | 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 |
|
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 |
|
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 | ||||
PartsPerCycle | Quantidade de peças por ciclo | man_processo_item.qtd_pecas_ciclo | DECIMAL(12,7) |
|
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 | sup_endereco_local.local | CHAR(10) | TBLInAddress.WarehouseCode | CHAR(15) |
| LocationCode | Endereço/Localização | sup_endereco_local.endereco | CHAR(11) | TBLInAddress.Code | CHAR(15) |
| AddressInternalId | Chave completa endereço | sup_endereco_local.empresa+sup_endereco_local.local+sup_endereco_local.endereco | |||
| AddressStockDescription | Descrição do endereço | sup_endereco_local.denomin_endereco | CHAR(40) | TBLInAddress.ExtCode | CHAR(20) |
Serão integrados os endereços cadastrados no SUP1637 e MAN10093. |
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 |
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 |
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 | ||||
| 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 | Fixo "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 |
|
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.
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 |
ProductionOrder | Ordem de Produção | man_apo_mestre.ordem_producao | DEC(10,0) | |||
ActivityCode | Código da Operação | man_apo_detalhe.operacao | CHAR(05) | |||
ActivityId | ID do Registro | man_apo_detalhe.sequencia_operacao | INT | |||
ProductionShiftNumber | Turno | man_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 | |||
ReversedReport | Indicador de Estorno | TRUE ou FALSE | BOOLEAN | |||
IntegrationReport | Registro a ser estorno | man_apo_mestre.seq_reg_mestre | INT |
|
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
BusinessContentType | MachineCode | Máquina | man_apo_detalhe.eqpto | CHAR(15) | TBLOutInteg.ResourceCode | CHAR(15) |
---|---|---|---|---|---|---|
ProductionOrderNumber | Ordem de Produção | man_apo_mestre.ordem_producao | DECIMAL(10,0) | TBLOutInteg.WOCode | CHAR(41) | |
ActivityCode | Operação | man_apo_detalhe.operacao | CHAR(05) | TBLOutInteg.WODetCode | CHAR(10) | |
Split | Split | TBLOutInteg.WODetCode | CHAR(10) | |||
ActivityID | ID Operação | man_apo_detalhe.sequencia_operacao | DECIMAL(3,0) | |||
ItemCode | Produto | man_apo_mestre.item_produzido | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
ApprovedQuantity | Quantidade Aprovada | man_item_produzido.qtd_produzida | DECIMAL(10,3) | TBLOutInteg.Qty | DEC(19,4) | |
ScrapQuantity | Quantidade Refugada | man_item_produzido.qtd_produzida | DECIMAL(10,3) | TBLOutInteg.Qty | DEC(19,4) | |
ReworkQuantity | Quantidade Retrabalhada | |||||
StartSetupDateTime | Data/Hora Início Preparação | |||||
EndSetupDateTime | Data/Hora Fim Preparação | |||||
SetupCode | Código Preparação | |||||
OpTimeInt | Tempo Operação | |||||
ProductionShiftCode | Código Modelo Turno | |||||
ProductionShiftNumber | Número Turno | man_tempo_producao.turno_producao | CHAR(05) | TBLOutInteg.Shift | SMALLINT | |
DocumentCode | Documento | TBLOutInteg.DocNumber | CHAR(20) | |||
DocumentSeries | Série Documento | |||||
StartReportDateTime | Data/Hora Início Reporte | man_tempo_producao.data_ini_producao + man_tempo_producao.hor_ini_producao | DATETIME | TBLMSGERP.Start | DATETIME | |
EndReportDateTime | Data/Hora Fim Reporte | man_tempo_producao.dat_final_producao + man_tempo_producao.hor_final_producao | DATETIME | TBLMSGERP.End | DATETIME | |
OpTimeDec | Tempo Operação | man_tempo_producao.tempo_tot_producao | DECIMAL(12,2) | |||
ReversedReport | Estorno do Apontamento | TRUE ou FALSE | BOOLEAN | |||
ReversalDate | Data do estorno | TBLOutInteg.DTEv | DATETIME | |||
ReportDateTime | Data/Hora Reporte | man_apo_mestre.data_apontamento | DATE | TBLOutInteg.DtEv | DATETIME | |
WarehouseCode | Código Depósito | man_item_produzido.local | CHAR(10) | TBLOutInteg.WarehouseCode | CHAR(15) | |
LotCode | Lote/Série | man_item_produzido.lote_produzido ou man_item_produzido.serie | CHAR(15) CHAR(25) | TBLOutInteg.LotCode | CHAR(41) | |
LotDueDate | Data Validade Lote | man_item_produzido.dat_valid | DATE | TBLLot.DtValidity | DATETIME | |
CloseOperation | Encerra Operação | ord_oper.ies_apontamento | CHAR(01) | |||
LocationCode | Localização | man_item_produzido.endereco | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) | |
ListOfReversalAppointments | ||||||
IntegrationReport | Registro a ser estornado | man_apo_mestre.seq_reg_mestre | DECIMAL(10,0) | TBLOutInteg.TransacType | TINYINT | |
ReversalType | Tipo do Estorno | |||||
ReversalQuantity | Quantidade revertida | |||||
WasteAppointment | ||||||
WasteCode | Código Refugo | man_def_producao.motivo_defeito | DECIMAL(3,0) | TBLOutInteg.ScrapCode | CHAR(15) | |
WasteDescription | Descrição Refugo | defeito.den_defeito | CHAR(30) | |||
ScrapQuantity | Quantidade Refugada | man_def_producao.qtd_defeito_real | DECIMAL(10,3) | TBLOutInteg.Qty | DEC(18,4) | |
ScrapProduct | Produto Refugado | |||||
WareHouseCode | Depósito Produto Refugado | |||||
ScrapProductTo | Refugo Gerado | man_item_produzido.item_produzido | CHAR(15) | |||
WareHouseCodeTo | Depósito do Refugo gerado | |||||
AdressCode | Endereço Origem | |||||
AdressCodeTo | Endereço Destino | |||||
NumberSeries | Número de Série | |||||
NumberSeriesTo | Número de Série Destino | |||||
LotCode | Lote | |||||
SubLoteCode | Sub Lote | |||||
LotDueDate | Data de Validade | |||||
CostCenterCode | Centro de Custo | |||||
ResourceAppointment | ||||||
OperatorCode | Código Operador | man_apo_detalhe.operador | CHAR(15) | TBLOutInteg.UserCode | CHAR(30) | |
StartDateTime | Data/Hora Início | TBLMSGERP.Start | DATETIME | |||
EndDateTime | Data/Hora Fim | TBLMSGERP.End | DATETIME | |||
MOBTime | Tempo Mão de Obra Direta | |||||
ExtraTime | Tempo Extra | |||||
UtilTime | Tempo Útil | |||||
ProductionShiftCode | Código Modelo Turno | |||||
ProductionShiftNumber | Número Turno | TBLOutInteg.Shift | SMALLINT | |||
SupplyOrder | ||||||
ProductionOrderNumber | Número Ordem Produção | man_apo_mestre.ordem_producao | DECIMAL(10,0) | TBLOutInteg.WOCode | CHAR(41) | |
MaterialCode | Código Item Reserva | man_comp_consumido.item_componente | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
UsedQuantity | Quantidade Utilizada | man_comp_consumido.qtd_baixa_real | DECIMAL(10,3) | TBLOutInteg.Qty | DEC(19,4) | |
WarehouseCode | Código Depósito | man_comp_consumido.local_estoque | CHAR(10) | TBLOutInteg.WarehouseCode | CHAR(15) | |
LocationCode | Localização | man_comp_consumido.endereco | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) | |
LotCode | Lote/Série | man_comp_consumido.lote_componente ou man_comp_consumido.serie | CHAR(15) CHAR(25 | TBLOutInteg.LotCode | CHAR(41) | |
ActivityCode | Código Operação | TBLOutInteg.WODetCode | CHAR(10) | |||
ScriptCode | Roteiro | |||||
ReportToolActivity | ||||||
ToolCode | Código Ferramenta |
|
|
|
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
Esta mensagem será gerada pelo PC-Factory e enviada ao Logix. |
BusinessContentType | CompanyId | Empresa | ||||
---|---|---|---|---|---|---|
BranchId | Filial | |||||
CompanyInternalId | InternalId da chave completa da empresa | |||||
InternalId | InternalId da transferência | |||||
Number | Número da Movimentação | |||||
RegisterDateTime | Data de Emissão da solicitação | |||||
TransferWarehouseType | ||||||
InternalId | InternalId da transferência | |||||
EmissionDate | Data de Emissão | ESTOUE_TRANS.DAT_MOVTO | DATE | TBLOutInteg.DtTimeStamp | DATETIME | |
ItemCodeFrom | Item/Produto Origem | ESTOUE_TRANS.COD_ITEM | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
ItemCodeTo | Item/Produto Destino | ESTOUE_TRANS.COD_ITEM | CHAR(15) | TBLMovEv.ProductCode | CHAR(20) | |
UnitOfMeasureFrom | Unidade de Medida Origem | |||||
UnitOfMeasureTo | Unidade de Medida Destino | |||||
Quantity | Quantidade | ESTOUE_TRANS.QTD_MOVTO | DEC(12,2) | TBLOutInteg.Qty | DEC(19,4) | |
WarehouseCodeFrom | Código do Armazém de Origem | ESTOUE_TRANS.COD_LOCAL_EST_ORIG | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) | |
WarehouseCodeTo | Código do Armazém Destino | ESTOUE_TRANS.COD_LOCAL_EST_DEST | CHAR(02) | TBLMovEv.WarehouseCode | CHAR(15) | |
LotNumberFrom | Número do Lote de Origem | ESTOUE_TRANS.NUM_LOTE_ORIG | CHAR(10) | TBLOutInteg.LotCode | CHAR(41) | |
LotNumberTo | Número do Lote de Destino | ESTOUE_TRANS.NUM_LOTE_DEST | CHAR(10) | TBLMovEv.LotCode | CHAR(41) | |
SubLotNumber | Número do SubLote | |||||
LotExpirationDateFrom | Data de validade do Lote Origem | TBLLot.DtDue | DATETIME | |||
LotExpirationDateTo | Data de validade do Lote Destino | TBLLot.DtDue | DATETIME | |||
AddressFrom | Endereço Origem | TBLOutInteg.Address1Code | CHAR(15) | |||
AddressTo | Endereço Destino | TBLOutInteg.Address2Code | CHAR(15) | |||
NumberSeries | Número de série | TBLOutInteg.LotCode | CHAR(41) |
|
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
Esta mensagem será gerada pelo PC-Factory e enviada ao Logix. |
BusinessContentType | CompanyId | Código da empresa | ||||
BranchId | Filial | |||||
CompanyInternalId | InternalId da chave completa da empresa | |||||
InternalId | InternalId da movimentação. | |||||
TypeMovementCode | Código do Tipo de Movimento interno | |||||
EmissionDate | Data de Emissão | ESTOQUE_TRANS.DAT_MOVTO | DATE | TBLOutInteg. DtTimeStamp | DATETIME | |
ItemCode | Código do Produto | ESTOQUE_TRANS.COD_ITEM | CHAR(15) | TBLOutInteg.ProductCode | CHAR(20) | |
UnitOfMeasureCode | Unidade de Medida | |||||
Quantity | Quantidade | ESTOQUE_TRANS.QTD_MOVTO | DEC(12,2) | TBLOutInteg.Qty | DEC(19,4) | |
WarehouseCode | Código do Armazém | ESTOQUE_TRANS.COD_LOCAL_EST_DEST ESTOQUE_TRANS.COD_LOCAL_EST_ORIG | CHAR(02) | TBLOutInteg.WarehouseCode | CHAR(15) | |
LotNumber | Lote | ESTOQUE_TRANS.NUM_LOTE_DEST ESTOQUE_TRANS.NUM_LOTE_ORIG | CHAR(10) | TBLOutInteg.LotCode | CHAR(41) | |
SubLotNumber | SubLote | CHAR(06) | ||||
LotExpirationDate | Data Validade do Lote | ESTOQUE_TRANS_END.DAT_HOR_VALIDADE | DATE | TBLLot.DTDUE | DATETIME | |
Address | Endereço | ESTOQUE_TRANS_END.ENDERECO | CHAR(15) | TBLOutInteg.Address1Code | CHAR(15) | |
NumberSeries | NumberSeries | ESTOQUE_TRANS_END.NUM_SERIE | CHAR(20) | TBLOutInteg.LotCode | CHAR(41) | |
InputOrOutput | Movimento de Entrada ou Saída | E=Entrada / S = Saída | CHAR(01) | TBLOutInteg.MovTypeCode | CHAR(05) | |
ReferenceCode | Referência | -- | ||||
ScriptCode | Roteiro | CHAR(02) | ||||
ActivityCode | Operação | CHAR(02) | TBLOutInteg.WODetCode | CHAR(15) | ||
ProductionOrderNumber | Ordem de Produção/Documento | CHAR(13) | TBLOutInteg.WOCode | CHAR(41) | ||
FatherItemCode | Item Pai | -- |
|
Transação Saldo: ItemStockLevel_1_000.xsd
Identificador da Mensagem: ItemStockLevel
Versão: 1_000
Módulo Logix: Estoque
Tipo de Envio: Síncrona
Mensagem | Tag | Descrição | Tabela/Campo: Logix | Tipo | Tabela/Campo: PC-Factory | Tipo |
---|---|---|---|---|---|---|
BusinessContentType | ItemCode | Código do produto | ESTOQUE_TRANS_END.COD_ITEM | CHAR(15) | TBLInMovMat.ProductCode | CHAR(20) |
ItemDescription | Descrição do item | ITEM.DEN_ITEM_REDUZ | CHAR(30) | |||
ListOfStock | ||||||
ReferenceCode | Referência | -- | ||||
WarehouseCode | Depósito/Local de estoqe/Armazem | ESTOQUE_TRANS.COD_LOCAL_EST_DEST ESTOQUE_TRANS.COD_LOCAL_EST_ORIG | CHAR(02) | TBLInMovMat.WarehouseCode | CHAR(15) | |
LotCode | Número do Lote | ESTOQUE_TRANS.NUM_LOTE_DEST ESTOQUE_TRANS.NUM_LOTE_ORIG | CHAR(10) | TBLInMovMat.LotCode | CHAR(41) | |
SubLotCode | Sub-Lote | CHAR(06) | ||||
NumberSeries | Número de Série | ESTOQUE_TRANS_END.NUM_SERIE | CHAR(20) | |||
AddressCode | Endereço/Localização | ESTOQUE_TRANS_END.ENDERECO | CHAR(15) | TBLInMovMat.AddressCode | CHAR(15) | |
LotDueDate | Data de Validade | ESTOQUE_TRANS_END.DAT_HOR_VALIDADE | DATE | TBLInMovMat.LotDtValidity | DATETIME | |
CurrentStockAmount | Saldo de estoque | DEC(12,2) | ||||
BookedStockAmount | Quantidade Reservada | DEC(12,2) | ||||
AvailableStockAmount | Saldo disponível | DEC(12,2) | ||||
QuantityUpdated | Quantidade Atualizada | ESTOQUE_TRASN_END.QTD_MOVTO | DEC(12,2) | TBLInMovMat.Qty | DEC(18,2) | |
InputOutput | Entrada ou Saída | 1 = Entrada ou 2 = Saída | CHAR(01) | TBLInMovMat.Classification | CHAR(15) |
|
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
ListOfRequest | ItemInternalId | Código do produto | CHAR(15) |
ReferenceCode | Referência | CHAR(20) | |
WarehouseInternalId | Código do depósito/local de estoque/Armazém | CHAR(10) | |
LotNumber | Lote | CHAR(10) | |
SubLotCode | SubLote | CHAR(10) | |
SerialNumber | Número de Série | CHAR(20) | |
Address | Localização | CHAR(15) | |
LotExpirationDate | Data de Validade | DATE |
|
Return
ReturnContentType | ClosingStockDate | Data fechamento estoque | -- | |
ListOfReturnItem | CompanyId | Empresa | ||
BranchId | Filial | |||
CompanyInternalId | Empresa + Filial | |||
ItemInternalId | Código do produto | ESTOQUE_LOTE_ENDER.COD_ITEM | CHAR(15) | |
ReferenceCode | Referência | -- | ||
ListOfStockBalance | ||||
WarehouseInternalId | Local de Estoque (Armazém/Depósito) | ESTOQUE_LOTE_ENDER.COD_LOCAL | CHAR(10) | |
LotNumber | Número do Lote | ESTOQUE_LOTE_ENDER.NUM_LOTE | CHAR(10) | |
SubLotCode | Sub Lote | CHAR(10) | ||
LotExpirationDate | Data de validade | ESTOQUE_LOTE_ENDER.DAT_HOR_VALIDADE | DATE | |
SerialNumber | Número de série | ESTOQUE_LOTE_ENDER.NUM_SERIE | CHAR(20) | |
Address | Localização | ESTOQUE_LOTE_ENDER.ENDERECO | CHAR(15) | |
CurrentStockAmount | Saldo do Produto em quantidade | DEC(17,4) | ||
BookedStockAmount | Quantidade reservada em Estoque | DEC(17,4) | ||
AvailableStockAmount | Saldo disponível do Produto em quantidade | DEC(17,4) | ||
UnitItemCost | Custo unitário do Produto | -- | ||
AverageUnitItemCost | Custo médio do Produto | -- | ||
ValueOfCurrentStockAmount | Saldo atual do estoque do produto em valor | -- |
|
A integração não contempla a geração cadastramentos via Fluig (WorkFlow) ou rotinas não descritas nesse documento.
Possíveis situações problemáticas comuns que podem ocorrer durante o funcionamento da integração e como solucioná-los:
Checklist de Verificações: