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-10157 - DATASUL - Integração Processos 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.
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.
OBSERVACAOOBSERVAÇÃO: verificar o comportamento dos apontamentos com reservas com tipo Transferências, pois estes itens, mesmo com a OP com tipo de linha de serviço apresentam estes componentes.
RESPOSTA OBS: Realizado testes utilizando cp0608(importação) e conseguiu informar o componente transferência no arquivo, ou então assumir o componente padrão da ordem.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
Alocação de Reservas (envio) CPAPI013 | [Alteração] |
| - |
Requisição de Materiais (recebimento) CPAPI012 | [Alteração] |
| - |
SFAPI010 - Reporte de Parada (recebimento) | [Alteração] |
| - |
SFAPI009 - Reporte de Operação (recebimento) | [Alteração] | ||
CPAPI001 - Reporte de Produção (recebimento) | [Alteração] | ||
[Alteração] | |||
[Alteração] | |||
[Alteração] | |||
[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 |
---|---|---|---|---|
08 | Ordem de Produção | Datasul | PPI | ProductionOrder_2_002 |
09 | Ordem de Produção | Datasul | PPI | ProductionOrder_2_002 |
10 | Reporte de Parada | PPI | Datasul | StopReport_1_000 |
11 | Requisição Componente | PPI | Datasul | MovementsInternal_1_001 |
12 | Reporte de Produção via PCP | PPI | Datasul | ProductionAppointment_1_001 |
13 | Reporte de Produção via SFC | PPI | Datasul | ProductionAppointment_1_001 |
Transação 11 - Requisição Componente: MovementsInternal_1_001
Utilização da CPAPI012,
Campo XSD | Campo ERP | Descrição |
TypeMovementCode | Código do Tipo de Movimento interno | |
ReferenceCode | ttReqOrd.cod-refer | Código Referência |
EmissionDate | ttReqOrd.dt-saida | Data de Emissão |
ItemCode | ttReqOrd.it-codigo | Item/Produto |
ScriptCode | ttReqOrd.cod-roteiro | Código Roteiro |
UnitOfMeasureCode | Unidade de Medida | |
ActivityCode | ttReqOrd.op-codigo | Código Operação |
Quantity | ttReqOrd.qt-requis | Quantidade |
WarehouseCode | ttReqOrd.cod-depos | Código do Armazém |
LotNumber | ttReqOrd.lote-serie | |
SubLotNumber | ||
LotExpirationDate | ttReqOrd.dt-vali-lote | Data Validade do Lote |
FamilyCode | Família | |
Address | ttReqOrd.cod-localiz | Endereço |
NumberSeries | Número de série | |
InputOrOutput | ttReqOrd.tipo-trans = 1 Requisita, 2 Devolve | Movimento de Entrada ou Saida |
ProductionOrderNumber | ttReqOrd.nr-ord-produ | Nr. Ordem Produção |
FatherItemCode | ttReqOrd.item-pai | Código Item Pai |
Transação 12 - Reporte de Produção via PCP: ProductionAppointment_1_001
Utilização da CPAPI001, terá que carregar tt-res-neg e tt-apont-mob
Lista | Campo XSD | Campo ERP | Descrição |
MachineCode | Código Máquina | ||
MachineDescription | Descrição Máquina | ||
ProductionOrderNumber | Número Ordem Produção | ||
ActivityID | ID Operação | ||
Split | Split | ||
ExternalSplit | Número externo do Split. | ||
ActivityCode | Código Operação | ||
ItemCode | Código Item | ||
ItemDescription | Descrição Item | ||
ReportQuantity | Quantidade Reportada | ||
ApprovedQuantity | Quantidade Aprovada | ||
ScrapQuantity | Quantidade Refugada | ||
ReworkQuantity | Quantidade Retrabalhada | ||
StartSetupDateTime | Data/Hora Início Preparação | ||
StartCentSetupTime | Hora Centesimal Início Preparação | ||
EndSetupDateTime | Data/Hora Fim Preparação | ||
EndCentSetupTime | Hora Centesimal Fim Preparação | ||
StartReportDateTime | Data/Hora Início Reporte | ||
StartCentReportTime | Hora Centesimal Início Reporte | ||
EndReportDateTime | Data/Hora Fim Reporte | ||
EndCentReportTime | Hora Centesimal Fim Reporte | ||
OpTimeDec |
| Tempo Operação | |
OpTimeInt | Tempo Operação | ||
ExtraTime | Tempo Extra | ||
StopTime | Tempo Parada | ||
MODTime | Tempo Mão de Obra Direta | ||
IsProductionControlReport | Reporta Controle da Produção | ||
CQLiberated | Liberado Controle Qualidade | ||
ReversedReport | Reporte Estornado | ||
ReversalDate | Data Estorno | ||
UpdateReport | Atualiza Reporte | ||
ProductionShiftCode | Código Modelo Turno | ||
ProductionShiftDescription | Descrição Modelo Turno | ||
ProductionShiftNumber | Número Turno | ||
ReportDateTime | Data/Hora Reporte | ||
ReportCentlTime | Hora Centesimal Reporte | ||
DocumentCode | Documento | ||
DocumentSeries | Série Documento | ||
WarehouseCode | Código Depósito | ||
LotCode | Lote/Série | ||
LotDueDate | Data Validade Lote | ||
ReferenceCode | Código Referência | ||
LocationCode | Localização | ||
SingleOutflowLocation | Local Saída Início | ||
OutflowLocationCode | Localização Saída | ||
OutflowWarehouseCode | Código Depósito Saída | ||
WasteWarehouseCode | Código Depósito Refugo | ||
WasteLocationCode | Localização Refugo | ||
ReportSequence | Sequência Reporte | ||
IntegrationReport | Reporte Integração | ||
ToolCode | Código Ferramenta | ||
ToolDescription | Descrição Ferramenta | ||
SetupCode | Código Preparação | ||
SetupDescription | Descrição Preparação | ||
CounterStart | Início Contador | ||
FinalAccountant | Contador Fim | ||
CloseOperation | Encerra Operação | ||
ListOfWasteAppointments | ReportSequence | Sequência Reporte | |
WasteCode | Código Refugo | ||
WasteDescription | Descrição Refugo | ||
ScrapQuantity | Quantidade Refugada | ||
ReworkQuantity | Quantidade Retrabalhada | ||
ListOfResourceAppointments | ReportSequence | tt-apont-mob.tipo-movto = 1 (MOB) | Sequência Reporte |
OperatorID | ID Operador | ||
OperatorCode | tt-apont-mob.cd-mob-dir = π operador.cd-mob-dir (Ϭ operador.cod-operador = OperatorCode (operador)) | Código Operador | |
OperatorName | Nome Operador | ||
ProductionTeamCode | tt-apont-mob.cd-mob-dir = π operador.cd-mob-dir ((Ϭ equipe-prod.cod-equipe = ProductionTeamCode (equipe-prod)) |X| equipe-operador |X| operador) | Código Equipe Produção | |
StartDateTime | Se informado StartDateTime então tt-apont-mob.tipo-relogio = 1; tt-apont-mob.hora-ini = HH; tt-apont-mob.min-ini = MM; tt-apont-mob.minutos-report = EndDateTime - StartDateTime | Data/Hora Início | |
StartCentTime | tt-apont-mob.centesimal-ini | Hora Centesimal Início | |
EndDateTime | Se informado EndDateTime então tt-apont-mob.hora-fim = HH; tt-apont-mob.min-fim = MM; tt-apont-mob.minutos-report = EndDateTime - StartDateTime | Data/Hora Fim | |
EndCentTime | tt-apont-mob.centesimal-fim | Hora Centesimal Fim | |
MOBTime | Tempo Mão de Obra Direta | ||
ExtraTime | Tempo Extra | ||
UtilTime | Tempo Útil | ||
ProductionShiftCode | Código Modelo Turno | ||
ProductionShiftNumber | Número Turno | ||
ListOfSupplyOrders | ReportSequence | Sequência Reporte | |
ProductionOrderNumber | tt-res-neg.nr-ord-produ | Número Ordem Produção | |
MaterialCode | tt-res-neg.it-codigo | Código Item Reserva | |
MaterialDescription | NA | Descrição Item Reserva | |
ReferenceCode | tt-res-neg.cod-refer | Código Referência | |
UsedQuantity | tt-res-neg.quantidade | Quantidade Utilizada | |
ApprovedQuantity | NA | Quantidade Aprovada | |
UnitOfMeasureCode | NA | Unidade Medida | |
FatherItemCode | NA | Código Item Pai | |
FatherItemDescription | Descrição Item Pai | ||
WarehouseCode | tt-res-neg.cod-depos | Código Depósito | |
LocationCode | tt-res-neg.cod-localiz | Localização | |
LotCode | tt-res-neg.lote-serie | Lote/Série | |
ActivityCode | NA | Código Operação | |
ScriptCode | NA | Código Roteiro | |
SiteCode | NA | Código Estabelecimento | |
MaterialDate | NA | Data Reserva | |
MaterialQuantity | NA | Quantidade Reserva | |
StatusType | NA | Estado | |
OrderProcess | NA | Processo Ordem | |
ReferenceOrderNumber | NA | Número Ordem Referência | |
MaterialID | NA | ID Reserva | |
ListOfReportToolActivities | ReportSequence | Sequência Reporte | |
ToolCode | Código Ferramenta | ||
ToolDescription | Descrição Ferramenta | ||
OperationUnitTime | Tempo Unidade Operação | ||
ListOfReportOverheads | ReportSequence | tt-apont-mob.tipo-movto = 2 (GGF) | Sequência Reporte |
WorkCenterCode | tt-apont-mob.gm-codigo | Código Centro Trabalho | |
WorkCenterDescription | NA | Descrição Centro Trabalho | |
GGFTimeInt | tt-apont-mob.minutos-report | Tempo Gastos Gerais de Fabricação | |
GGFTimeDec | tt-apont-mob.tempo | Tempo Gastos Gerais de Fabricação |
Transação 13 - Reporte de Produção via SFC: ProductionAppointment_1_001
Obs.: os campos ERP especificados como NA(Não se Aplica) na tabela serão ignorados, já os outros sem indicação da tabela ao qual o campo pertence, são inseridos na SFAPI009 por intermédio da função recebeValorCampos. Para extração de dados a partir da SFAPI009 é usada a função retornaValorCampos.
Lista | Campo XSD | Campo ERP | Descrição |
MachineCode | cod-ctrab recebeValorCampos IN h-sfapi009 | Código Máquina | |
MachineDescription | NA | Descrição Máquina | |
ProductionOrderNumber | nr-ord-produ | Número Ordem Produção | |
ActivityID | num-operac-sfc | ID Operação | |
Split | num-split-operac | Split | |
ExternalSplit | NA | Número externo do Split. | |
ActivityCode | NA | Código Operação | |
ItemCode | NA | Código Item | |
ItemDescription | NA | Descrição Item | |
ReportQuantity | qtd-operac-reptda | Quantidade Reportada | |
ApprovedQuantity | qtd-operac-aprov | Quantidade Aprovada | |
ScrapQuantity | qtd-operac-refgda | Quantidade Refugada | |
ReworkQuantity | qtd-operac-retrab | Quantidade Retrabalhada | |
StartSetupDateTime | dat-inic-setup E hra-inic-setup(convertido para segundos) | Data/Hora Início Preparação | |
StartCentSetupTime | NA | Hora Centesimal Início Preparação | |
EndSetupDateTime | dat-fim-setup E hra-fim-setup(convertido para segundos) | Data/Hora Fim Preparação | |
EndCentSetupTime | NA | Hora Centesimal Fim Preparação | |
StartReportDateTime | dat-inic-reporte E hra-inic-rep(convertido para segundos) | Data/Hora Início Reporte | |
StartCentReportTime | NA | Hora Centesimal Início Reporte | |
EndReportDateTime | dat-fim-reporte E hra-fim-rep(convertido para segundos) | Data/Hora Fim Reporte | |
EndCentReportTime | NA | Hora Centesimal Fim Reporte | |
OpTimeDec | de-tempo-oper (horas centesimais) | Tempo Operação | |
OpTimeInt | NA | Tempo Operação | |
ExtraTime | NA | Tempo Extra | |
StopTime | NA | Tempo Parada | |
MODTime | NA | Tempo Mão de Obra Direta | |
IsProductionControlReport | NA | Reporta Controle da Produção | |
CQLiberated | NA | Liberado Controle Qualidade | |
ReversedReport | NA | Reporte Estornado | |
ReversalDate | NA | Data Estorno | |
UpdateReport | NA | Atualiza Reporte | |
ProductionShiftCode | NA | Código Modelo Turno | |
ProductionShiftDescription | NA | Descrição Modelo Turno | |
ProductionShiftNumber | NA | Número Turno | |
ReportDateTime | dat-inic-real E hra-inic-real | Data/Hora Reporte | |
ReportCentlTime | NA | Hora Centesimal Reporte | |
DocumentCode | NA | Documento | |
DocumentSeries | NA | Série Documento | |
WarehouseCode | cod-depos | Código Depósito | |
LotCode | lote-acab | Lote/Série | |
LotDueDate | dt-valid-lote | Data Validade Lote | |
ReferenceCode | refer-acab | Código Referência | |
LocationCode | cod-localiz | Localização | |
SingleOutflowLocation | NA | Local Saída Início | |
OutflowLocationCode | NA | Localização Saída | |
OutflowWarehouseCode | NA | Código Depósito Saída | |
WasteWarehouseCode | dep-refugo | Código Depósito Refugo | |
WasteLocationCode | loc-refugo | Localização Refugo | |
ReportSequence | NA | Sequência Reporte | |
IntegrationReport | NA | Reporte Integração | |
ToolCode | cod-ferr-prod | Código Ferramenta | |
ToolDescription | NA | Descrição Ferramenta | |
SetupCode | NA | Código Preparação | |
SetupDescription | NA | Descrição Preparação | |
CounterStart | num-contador-inic | Início Contador | |
FinalAccountant | num-contador-fim | Contador Fim | |
CloseOperation | tt-param-reporte.l-msg-finaliza-split-operac | Encerra Operação | |
ListOfWasteAppointments | ReportSequence | NA | Sequência Reporte |
WasteCode | tt-ref.cod-motiv-refugo | Código Refugo | |
WasteDescription | NA | Descrição Refugo | |
ScrapQuantity | tt-ref.qtd-operac-refgda | Quantidade Refugada | |
ReworkQuantity | tt-ret.qtd-operac-retrab | Quantidade Retrabalhada | |
ListOfResourceAppointments | ReportSequence | tt-apont-mob.tipo-movto = 1 (MOB) | Sequência Reporte |
OperatorID | NA | ID Operador | |
OperatorCode | tt-apont-mob.cd-mob-dir = π operador.cd-mob-dir (Ϭ operador.cod-operador = retornaValorCampos IN h-sfapi009 ("operador") (operador)) | Código Operador | |
OperatorName | NA | Nome Operador | |
ProductionTeamCode | tt-apont-mob.cd-mob-dir = π operador.cd-mob-dir ((Ϭ equipe-prod.cod-equipe = retornaValorCampos IN h-sfapi009 ("equipe") (equipe-prod)) |X| equipe-operador |X| operador) | Código Equipe Produção | |
StartDateTime | Se informado StartDateTime então tt-apont-mob.tipo-relogio = 1; tt-apont-mob.hora-ini = HH; tt-apont-mob.min-ini = MM; tt-apont-mob.minutos-report = EndDateTime - StartDateTime | Data/Hora Início | |
StartCentTime | tt-apont-mob.centesimal-ini | Hora Centesimal Início | |
EndDateTime | Se informado EndDateTime então tt-apont-mob.hora-fim = HH; tt-apont-mob.min-fim = MM; tt-apont-mob.minutos-report = EndDateTime - StartDateTime | Data/Hora Fim | |
EndCentTime | tt-apont-mob.centesimal-fim | Hora Centesimal Fim | |
MOBTime | NA | Tempo Mão de Obra Direta | |
ExtraTime | NA | Tempo Extra | |
UtilTime | NA | Tempo Útil | |
ProductionShiftCode | NA | Código Modelo Turno | |
ProductionShiftNumber | NA | Número Turno | |
ListOfSupplyOrders | ReportSequence | NA | Sequência Reporte |
ProductionOrderNumber | tt-reservas.nr-ord-produ | Número Ordem Produção | |
MaterialCode | tt-reservas.it-codigo | Código Item Reserva | |
MaterialDescription | NA | Descrição Item Reserva | |
ReferenceCode | tt-reservas.cod-refer | Código Referência | |
UsedQuantity | tt-reservas.quant-requis | Quantidade Utilizada | |
ApprovedQuantity | NA | Quantidade Aprovada | |
UnitOfMeasureCode | tt-reservas.un | Unidade Medida | |
FatherItemCode | tt-reservas.item-pai | Código Item Pai | |
FatherItemDescription | NA | Descrição Item Pai | |
WarehouseCode | tt-reservas.cod-depos | Código Depósito | |
LocationCode | tt-reservas.cod-localiz | Localização | |
LotCode | tt-reservas.lote-serie | Lote/Série | |
ActivityCode | tt-reservas.op-codigo | Código Operação | |
ScriptCode | tt-reservas.cod-roteiro | Código Roteiro | |
SiteCode | NA | Código Estabelecimento | |
MaterialDate | NA | Data Reserva | |
MaterialQuantity | NA | Quantidade Reserva | |
StatusType | NA | Estado | |
OrderProcess | NA | Processo Ordem | |
ReferenceOrderNumber | NA | Número Ordem Referência | |
MaterialID | NA | ID Reserva | |
ListOfReportToolActivities | ReportSequence | NA | Sequência Reporte |
ToolCode | cod-ferr-prod | Código Ferramenta | |
ToolDescription | NA | Descrição Ferramenta | |
OperationUnitTime | NA | Tempo Unidade Operação | |
ListOfReportOverheads | ReportSequence | tt-apont-mob.tipo-movto = 2 (GGF) | Sequência Reporte |
WorkCenterCode | tt-apont-mob.gm-codigo | Código Centro Trabalho | |
WorkCenterDescription | NA | Descrição Centro Trabalho | |
GGFTimeInt | tt-apont-mob.minutos-report | Tempo Gastos Gerais de Fabricação | |
GGFTimeDec | tt-apont-mob.tempo | Tempo Gastos Gerais de Fabricação |
Protótipo de Tela
Obs.: inserir nos programas que enviam mensagens a geração do log de erros (pi-exporta-mensagem da cdapi990).
Fluxo do Processo
Diagrama de Sequência da Integração TOTVS-MES
As sequências 6, 7 e 12, 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. |
---|
...