Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | DATASUL | Módulo | Chão de Fábrica |
Segmento Executor |
| ||
Projeto1 | D_MAN_PCP002 | IRM1 | PCREQ-9590 |
Requisito1 | PCREQ-10152 - DATASUL - Integração Cadastros Manufatura | Subtarefa1 |
|
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Integração Cadastros Manufatura para integração do TOTVS-MES.
Definição da Regra de Negócio
RN001 - Quando a integração estiver ligada, ao criar um novo item ou modificar a estrutura do mesmo, verificar se o item integra (tabela param-integr-mes.idi-entidade = 2). Caso não exista registro na tabela, então todos os itens e estruturas serão considerados.
RN002 - Para seleção dos itens/estruturas válidos serão utilizados três campos: código do item, família material e grupo de estoque. Caso mais de um campo esteja preenchido na tabelas param-integr-mes, será considerado na busca o operador lógico "OU". Assim mesmo que um item tenha apenas um dos campos como verdadeiro ele será selecionado.
RN003 - O campo Rejeição é estrangeiro e obrigatório na inclusão de um Refugo.
RN004 - Quando a integração estiver ligada e o SFC - Chão de Fábrica não esteja implantado, apenas os dados referentes a: item, grupo de máquina, depósito, ordem de produção e estrutura podem ser integrados.
RN005 - Quando a integração estiver ligada e o SFC - Chão de Fábrica esteja implantado, além dos dados acima, também os dados referentes a: motivo de refugo, motivo de parada e centro de trabalho podem ser integrados.
RN006 - Quando o SFC - Chão de Fábrica estiver implantando e o tipo de reporte não seja por Item, as Ordens serão enviadas para integração apenas no momento da Liberação.
RN007 - Quando uma Ordem já esteja no Chão de Fábrica, e a situação for superior ou igual a Liberada, se a mesma for alterada, deve enviar atualização na mensagem XML.
RN008 - Recebimento da mensagem XML StopReason, para o motivo de parada.
RN009 - Recebimento da mensagem XML WasteReason para o motivo de refugo.
RN010 - Ordens com tipo de Reporte por Item, não serão integradas.
RN011 - Informar o tipo da linha de produção na ordem(Processo ou Serviço), para que o TOTVS-MES saiba quando pode devolver apenas as requisições, sem necessidade de apontamento da produção.
RN012 - Quando o item estiver relacionado a uma ou mais listas de componentes, não será integrada a estrutura.
RN013 - Quando o item estiver relacionado a um ou mais roteiros de fabricação, não será integrada a operação.
RN014 - Alocação de componentes, será atualizado juntamente com a mensagem de Ordem de Produção.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
EN0105 - Estrutura Item | [Alteração] |
| - |
EN0109 - Onde se Usa Item | [Alteração] |
| - |
SF0104 - Centro de Trabalho | [Alteração] |
| - |
SF0106 - Motivo de Parada | [Alteração] | ||
SF0107 - Motivo de Refugo | [Alteração] | ||
CD0204 - Item | [Alteração] | Tratamento de Versionamento Mensagens e Adapter | |
CDAPIItem - API de Item usado pelo WorkFlow de Item | [Alteração] | Tratamento de Versionamento Mensagens e Adapter | |
BOMF510 - BO Motivo de Parada | [Alteração] | ||
CDAPI990.i1 - API de Mensagem Erro | [Alteração] | Tratamento de Versionamento Mensagens e Adapter | |
CPAPI301B - API Integração Ordem | [Alteração] | ||
BOIN533 - LiberarOrdemSFC | [Alteração] | ||
BOIN535 - Split | [Alteração] | ||
CD0124 - Ferramentas | [Alteração] | ||
SF0108 - Operador | [Alteração] | ||
Alocação de Reservas (envio) CPAPI013 | [Alteração] | ||
cdapi344 api de item(importação) cd0209 | [Alteração] | Tratamento de Versionamento Mensagens e Adapter | |
EN0507 - Processo de Fabricação (Operações) | [Alteração] |
Mensagens:
Validar a versão da mensagem nos adapters, para saber qual a fase da integração se refere.
Transação | Descrição | Origem | Destino | XSD |
---|---|---|---|---|
04 | Centro de Trabalho | Datasul | PPI | Machine_1_000 |
05 | Motivo de Parada | PPI | Datasul | StopReason_1_000 |
06 | Motivo de Refugo | PPI | Datasul | WasteReason_1_000 |
09 | Ordem de Produção | Datasul | PPI | ProductionOrder_2_003 |
14 | Estrutura de Produto | Datasul | PPI | ItemStructure_1_001 |
15 | Roteiro de Operações | Datasul | PPI | ItemScript_1_000 |
16 | Ferramenta | Datasul | PPI | Resource_1_000 |
17 | Operador | Datasul | PPI | Resource_1_000 |
Transação 04 - Centro de Trabalho: Machine_1_000
Campo XSD | Campo ERP | Descrição |
Code | ctrab.cod-ctrab | Código Máquina |
Description | ctrab.des-ctrab | Descrição Máquina |
WorkCenterCode | ctrab.gm-codigo | Código Centro Trabalho |
WorkCenterDescription | grup-maquina.descrição | Descrição Centro Trabalho |
ProcessorType | ctrab.ind-tip-ctrab | Tipo Processamento |
LaborType | ctrab.ind-reporte-mod | Tipo MOD |
OperatorMachineQuantity | ctrab.num-operador-ctrab | Quantidade Operador Máquina |
SimultaneousActivityQuantity | ctrab.num-operac-simult | Quantidade Operações Simultaneas |
IsSetup | ctrab.log-possui-prepar | Possui Preparação |
IsControlPert | ctrab.log-consid-event-ant | Considera Evento Anterior |
IsReportEvent | ctrab.log-reporte-contador | Reporta Contador |
A função de centro de trabalho, quando alterarem qualquer registro, enviará a mensagem XML Machine_1_000.
Transação 05 - Motivo de Parada: StopReason_1_000
Campo XSD | Campo ERP | Descrição |
Code | motiv-parada.cod-parada | Código Motivo Parada |
Description | motiv-parada.des-parada | Descrição Parada |
IsEfficiency | motiv-parada.log-alter-eficien | Altera Eficiência |
IsEmailEquipment | motiv-parada.log-mail-plandor | E-mail Planejador |
IsServiceRequest | motiv-parada.log-emite-ss | Emite Solicitação Serviço |
IsSetup | motiv-parada.parada-setup | Parada Setup |
As funções de motivo de parada(BOMF510), motivo de refugo(SF0107), apenas receberão respectivamente a mensagem xml (StopReason_1_000, WasteReason_1_000).
Criar adapters de Recebimento de mensagem para as tabelas de motivo de parada(BOMF510), motivo de refugo(No SF0107 o campo Rejeição é estrangeiro e obrigatório na inclusão. Definir qual será o padrão para este campo, caso o Refugo seja alimentado a partir do TOTVS-MES ao ERP).
Obs.: inserir nos programas que enviam mensagens a geração do log de erros (pi-exporta-mensagem da cdapi990), observando <param-cp.gera-log>, caso for zero(0-Nunca), não gera nada, se for um (1-Apenas erros), e três (3-Todos), gera sempre.
Transação 06 - Motivo de Refugo: WasteReason_1_000
Campo XSD | Campo ERP | Descrição |
Code | motiv-refugo.cod-motiv-refugo | Código Refugo |
Description | motiv-refugo.des-motiv-refugo | Descrição Refugo |
IsRework | motiv-refugo.log-retrabalho | Retrabalho |
IsScrapMaterial | motiv-refugo.log-material | Refugo Material |
As funções de motivo de parada(BOMF510), motivo de refugo(SF0107), apenas receberão respectivamente a mensagem xml (StopReason_1_000, WasteReason_1_000).
Criar adapters de Recebimento de mensagem para as tabelas de motivo de parada(BOMF510), motivo de refugo(No SF0107 o campo Rejeição é estrangeiro e obrigatório na inclusão. Definir qual será o padrão para este campo, caso o Refugo seja alimentado a partir do TOTVS-MES ao ERP).
Obs.: inserir nos programas que enviam mensagens a geração do log de erros (pi-exporta-mensagem da cdapi990), observando <param-cp.gera-log>, caso for zero(0-Nunca), não gera nada, se for um (1-Apenas erros), e três (3-Todos), gera sempre.
Transação 09 - Ordem de Produção: ProductionOrder_2_003 - Abaixo estão representados apenas os campos que foram inseridos na fase 2, os outros campos já estão considerados na fase 1.
Campo XSD | Campo ERP | Descrição |
ListOfMaterialOrders.RequestType | lin-prod.sum-requis | Identifica se a requisição pode ser feita separadamente do reporte da produção, quando enviado: Datasul - identifica o tipo de linha de produção utilizado (1-Serviço, 2 - Processo) Protheus - identifica o tipo de apropriação do componente (1-Direta, 2-Indireta) |
ListOfAllocatedMaterial.WarehouseCode | aloca-reserva.cod-depos | Código Depósito/Armazém |
ListOfAllocatedMaterial.LotCode | aloca-reserva.lote-serie | Lote/Série |
ListOfAllocatedMaterial.LotDueDate | lote.dt-validade | Validade Lote |
ListOfAllocatedMaterial.LocationCode | aloca-reserva.cod-localiz | Localização/Endereço |
ListOfAllocatedMaterial.ActivityCode | aloca-reserva.op-codigo | Código Operação |
ListOfAllocatedMaterial.ScriptCode | aloca-reserva.cod-roteiro | Código Roteiro |
ListOfAllocatedMaterial.AllocationQuantity | aloca-reserva.quant-aloc quando não usa controle de potência, senão usa aloca-reserva.qt-aloc-lote | Quantidade Alocada (Quantidade no ERP, deverá verificar se o tipo é AllocationType 1-Soma, 2-Diminui, 3-Absoluto) |
ListOfAllocatedMaterial.AllocatedMaterialAllocationType | 3 | Como esta mensagem pode ser utilizada tanto para Alocação, quanto para Desalocação, informar o tipo torna a decisão do que fazer com a quantidade mais rápida. 1-Soma, 2-Diminui, 3-Absoluto Ex.: Caso já tenha sido alocado 50 unidades do componente previsto na OP, e seja necessário desalocar uma parte, a mensagem poderá vir de duas formas. 40 unidades com Tipo 2, fará com que seja desalocada 40 unidades, restando apenas 10 unidades ainda alocadas na OP. 10 unidades com tipo 3, fará com que seja desalocada 40 unidades, restando exatamente 10 unidade ainda alocadas na OP. |
A função de criar a Ordem de Produção(CPAPI301B), somente irá disparar a mensagem, se o SFC não estiver implantado ou o tipo de reporte da ordem NÃO for por item (param-global.modulo-ch = Não OU ord-prod.rep-prod < 4). Do contrário o disparo da mensagem de Ordem no SFC(BOIN533 - LiberarOrdemSFC, para as Ordens e para os Splits no LiberarSplit).
Mensagem XML ProductionOrder_2_002
Na alteração de split (alocação de split, divisão, etc), envio de mensagem a partir da BOIN535.
Na alocação de reserva da ordem(tanto manual, quanto automática) utilizar CPAPI013, mas usar a mesma mensagem de Ordem de Produção, como sendo alteração na mesma.
Transação 14 - Estrutura de Produto: ItemStructure_1_001
Campo XSD | Campo ERP | Descrição |
ItemCode | estrutura.it-codigo | Código do Item Pai |
ItemAmount | estrutura.qtd-item | Quantidade do Item Pai |
ItemSequence | estrutura.sequencia | Sequência de montagem do componente |
ItemComponentCode | estrutura.es-codigo | Código do Item Componente |
InitialDate | estrutura.data-inicio | Data em que o componente passa a ser válido na estrutura |
FinalDate | estrutura.data-termino | Data em que o componente deixa de ser válido na estrutura |
IsGhostMaterial | estrutura.fantasma | Indica se a relação item x componente é fantasma ou não |
ItemComponentAmount | estrutura.qtd-compon | Quantidade do Item Componente |
ItemComponentProportion | estrutura.proporcao | Indica a proporção de uso de um componente |
LossFactor | estrutura.fator-perda | Fator de perda do componente em relação a quantidade usada |
ScriptCode | estrutura.cod-roteiro | Código Roteiro - Este campo não precisa ser enviado nunca, pois não será integrado roteiro de operação. Deve apenas validar que o campo estrutura.cod-roteiro não tenha informação, pois caso tenha informação, não será enviado também o campo abaixo "ActivityCode". |
ActivityCode | estrutura.op-codigo | Código Operação |
As funções de estrutura (EN0105, e EN0109) sempre que alterarem algum componente da estrutura de um item, filtrarão por <param-integr-mes.idi-entidade> = 2, para envio da mensagem xml (ItemStructure_1_001), e enviarão a estrutura completa do item.
Ex.:
Item | Família | Grupo Estoque |
---|---|---|
Caneta | Escritório | Venda |
Corpo | Escritório | Geral |
Tampa | Plásticos | Plásticos |
Tubo | Plásticos | Plásticos |
Carga | ProdutoProcesso | Geral |
Ponta | Comprado | Geral |
Tinta | Comprado | Geral |
Apenas o filtro de Família foi indicado (família = "Escritório"), nesta caso quando for alterada algum componente da Caneta, como este item é da família indicada, será gerada uma mensagem com todos os seus componentes (Corpo e Tampa) mesmo que a família dos componentes não seja a mesma.
Obs.: Os campos que serão usados para filtrar estrutura a partir do item: <it-codigo>, <ge-codigo> e <fm-codigo> (igualar com <param-integr-mes.cod-campo>). Lembrando que apenas os componentes diretos serão selecionados para envio na mensagem.
Transação 15 - Roteiro de Operações: ItemScript_1_000
Campo XSD | Campo ERP | Descrição |
ItemCode | operacao.it-codigo | Código Item |
ItemDescription | item.desc-item | Descrição Item |
ScriptCode | operacao.cod-roteiro | Código Roteiro - Este campo não precisa ser enviado nunca, pois não será integrado roteiro de operação. |
ScriptDescription | rot-fabric.descricao | Descrição Roteiro |
ListOfActivity | ||
ActivityCode | operacao.op-codigo | Código Operação |
ActivityDescription | operacao.descricao | Descrição Operação |
WorkCenterCode | operacao.gm-codigo | Código Centro de Trabalho |
ActivityType | operacao.tipo-oper | Tipo Operação |
InitialDate | operacao.data-inicio | Data Início |
FinalDate | operacao.data-termino | Data Fim |
PercentageScrapValue | operacao.refugo-op | % Refugo |
PercentageValue | operacao.proporcao | Proporção |
UnitItemNumber | operacao.nr-unidades | Unidades |
TimeResource | operacao.tempo-homem | Tempo Recurso |
TimeMachine | operacao.tempo-maquin | Tempo Máquina |
TimeSetup | operacao.tempo-prepar | Tempo Preparação |
UnitTimeType | operacao.un-med-tempo | Tipo Unidade Tempo |
ResourceQuantity | operacao.numero-homem | Quantidade Recurso |
UnitActivityCode | operacao.cod-un-operac | Código Unidade Operação |
ActivityItemValue | operacao.val-operac-item | Relação Operação/Item |
ListOfPertOrders | ||
NextActivityID | rede-pert.num-id-operacao-sucess | ID Operação Sucessora |
ActivityCode | rede-pert.op-codigo | Código Operação |
PreviousActivityID | rede-pert.num-id-operacao-predec | ID Operação Predecessora |
PreviousActivityCode | rede-pert.op-predeces | Código Operação Predecessora |
TimeTransport | rede-pert.transporte | Tempo Transporte |
PercentageOverlapValue | rede-pert.overlap | % Overlap |
OverlapQuantity | rede-pert.qtd-overlap | Quantidade Overlap |
A função de operação (EN0507) sempre que alterar, seja a rede-pert ou alguma operação de um item, filtrarão por <param-integr-mes.idi-entidade> = 2, para envio da mensagem xml (ItemScript_1_000). Ao ser alterado uma operação do item, caso este item tenha sido filtrado, então todas as operações deste deverão ser passadas à mensagem.
Obs.: Os campos que serão usados para filtrar operações a partir do item: <it-codigo>, <ge-codigo> e <fm-codigo> (igualar com <param-integr-mes.cod-campo>)
Transação 16 - Ferramenta: Resource_1_000
Campo XSD | Campo ERP | Descrição |
Code | ferr-prod.cod-ferr-prod | Código Recurso |
Type | 2 | Tipo Recurso |
Name | ferr-prod.des-ferr-prod | Nome Recurso |
UnitCycleQuantity | ferr-prod.un-ciclo | Unidades Ciclo |
ToolCode | ferr-prod.it-codigo | Codigo Item Ferramenta |
ToolDescription | item.desc-item | Descricao Item Ferramenta |
StartExpirationDate | Data Atual | Não usado no Datasul, mas PPI precisa |
EndExpirationDate | Data Atual | Não usado no Datasul, mas PPI precisa |
Transação 17 - Operador: Resource_1_000
Campo XSD | Campo ERP | Descrição |
Code | operador.cod-operador | Código Recurso |
Type | 1 | Tipo Recurso |
Name | operador.nom-operador | Nome Recurso |
ProductionAreaCode | operador.cod-area-produc | Codigo Area Producao |
ProductionAreaDescription | area-produc.des-area-produc | Descricao Area Producao |
ProductionShiftNumber | operador.num-turno | Numero Turno |
LaborCode | operador.cd-mob-dir | Codigo Mao de Obra Direta |
StartExpirationDate | operador.dat-inic-valid | Data Inicio Validade |
EndExpirationDate | operador.dat-fim-valid | Data Fim Validade |
Protótipo de Tela
Inserir na CDAPI990.i1(pi-exporta-mensagem) a validação de somente exportar quando o parâmetro esteja ativo(param-cp.gera-log-erro).
Corrigir os programas que estão comentados para chamada da pi-exporta-mensagem:
invwr\v01in084.w
invwr\v16in144.w
invwr\v34in172.w
As funções de item (cd0204 e cdapiitem e cd0209) sempre que criarem um novo item ou alterarem um já existente, filtrarão por <param-integr-mes.idi-entidade> = 2, para envio da mensagem xml.
Fluxo do Processo
Diagrama de Atividades do Processo de Seleção da Estrutura, Operação e Item
Diagrama de Sequência da Integração TOTVS-MES
As sequências 7, 8 e 13, que estão representadas em Verde, no diagrama acima, foram criadas na 1.a fase da integração, mas sofrerão alterações na 2.a fase.
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
...