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 | SUP0076 SUP3335 | ENDERECO | |
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:
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.
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> |
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 Alerta de risco: fique atento ao utilizar o parâmetro de configuração com a chave Security=0, pois isso fará com que as integrações (APIs) não exijam autenticação, consequentemente dados do seu ambiente poderão ser consultados sem qualquer controle de autorização. |
A parametrização terá influência direta sobre os registros que serão movimentados entre os dois sistemas.
A rotina de parametrização terá os seguintes campos:
Para cada arquivo movimentado terá um folder. Para cada folder será possível montar filtros. Esses filtros serão utilizados nas rotinas que enviarão informações ao PC-Factory, permitindo selecionar o que deve ser enviado. Serão exibidos os campos da tabela selecionada (folder) e operadores para que sejam montados os filtros. Além de filtros, alguns arquivos possuem parametrizações.
A rotina terá os seguintes folders:
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.
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:
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. |
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) |
|
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 |
|
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 |
|
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 |
|
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) |
|
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) |
Serão integrados os endereços cadastrados no SUP0076 e SUP3335. |
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. |
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. |
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 | ||||
ActivitySequence | Prioridade da execução das operações | NÃ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 |
|
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 |
|
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 |
|
|
|
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) |
|
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 | -- |
|
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.
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 | -- |
|
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.
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: