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 - 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.
RN002 - Não será feito o tratamento de balanceamento(caso o cliente utilize conceito de Concentração), pois deve ser feita a requisição de todos os componentes pelo consumo Real.
RN003 - Os apontamentos de MOB e GGF, devem ser indicados na mensagem de apontamento de produção, do contrário, não serão feitos pelo padrão.
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] |
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_003 |
09 | Ordem de Produção | Datasul | PPI | ProductionOrder_2_003 |
10 | Reporte de Parada | PPI | Datasul | StopReport_1_001 |
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 08 ou 09 - Ordem de Produção: ProductionOrder_2_003
Quando for realizada uma alocação(pi-processa-alocacoes) ou desalocação(pi-estorna-alocacao) na CPAPI013, disparar a mensagem de Ordem.
Transação 10 - Reporte de Parada: StopReport_1_001
Utilização da SFAPI010.
Lista | Campo XSD | Campo ERP | Descrição |
MachineCode | tt-import-rep-parada.cod-ctrab | Código Máquina | |
MachineDescription | NA | Descrição Máquina | |
StopReasonCode | tt-import-rep-parada.cod-parada | Código Motivo Parada | |
StopReasonDescription | NA | Descrição Motivo Parada | |
StartDateTime | tt-import-rep-parada.dat-inic-parada E tt-import-rep-parada.hr-inic-parada | Data/Hora Início | |
EndDateTime | tt-import-rep-parada.dat-fim-parada E tt-import-rep-parada.hr-fim-parada | Data/Hora Fim | |
ToolCode | NA | Código Ferramenta | |
ToolDescription | NA | Descrição Ferramenta | |
ProductionTeamCode | tt-import-rep-parada.cod-equipe | Código Equipe | |
ProductionTeamName | NA | Nome Equipe | |
OperatorCode | tt-import-rep-parada.cod-operador | Código Operador | |
OperatorName | NA | Nome Operador | |
ProductionShiftCode | NA | Código Modelo Turno | |
ProductionShiftDescription | NA | Descrição Turno | |
ProductionShiftNumber | NA | Número Turno | |
StopType | NA | Tipo Parada(1=Programada;2=Não Programada) | |
ReportDateTime | NA | Data/Hora Reporte | |
GeneralStopCode | NA | Código Parada Geral | |
ReportSequence | NA | Sequência Reporte | |
ReversedReport | Indica que deve ser estornado um reporte já realizado | Reporte Estornado (True ou False) | |
IntegrationReport | NA | Reporte Integração | |
ListOfDirectLabors | OperatorCode | NA | Código Operador |
ListOfDirectLabors | StopReasonCode | NA | Código Motivo Parada |
ListOfDirectLabors | ProductionShiftCode | NA | Código Modelo Turno |
ListOfDirectLabors | ProductionShiftNumber | NA | Número Turno |
ListOfDirectLabors | StartDateTime | NA | Data/Hora Início |
ListOfDirectLabors | EndDateTime | NA | Data/Hora Fim |
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 | NA | Unidade de Medida |
ActivityCode | ttReqOrd.op-codigo | Código Operação |
Quantity | Caso utilize Controle de Potência e o Item for de Controle de Potência Então atualiza campo ttReqOrd.qtd-requisitd-lote Senão atualiza campo ttReqOrd.qt-requis | Quantidade |
WarehouseCode | ttReqOrd.cod-depos | Código do Armazém |
LotNumber | ttReqOrd.lote-serie | Lote |
SubLotNumber | NA | Sub-lote |
LotExpirationDate | ttReqOrd.dt-vali-lote | Data Validade do Lote |
FamilyCode | NA | Família |
Address | ttReqOrd.cod-localiz | Endereço |
NumberSeries | NA | 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 |
Outros campos que devem ser alimentados da ttReqOrd:
ttReqOrd.cod-estabel = BranchId
Carregar ttReservas a partir da boin390
run carregaReservas in inbo/boin390a.p (input nr-ord-produ,
input yes,
input-output table ttReservas).
Se não exista o componente ttReqOrd.it-codigo em ttReservas.it-codigo
Então
ttReqOrd.qt-aloc = 0
ttReqOrd.qt-aloc-lote = 0
ttReqOrd.tipo-formula = item.tipo-formula
ttReqOrd.per-ppm = item.per-ppm
Se utiliza Controle de Potência e o Item for de Controle de Potência
Então calcular quantidade teórica ttReqOrd.qt-requis = ttReqOrd.qtd-requisitd-lote * (saldo-estoq.per-ppm / item.per-ppm) /* posicionar no registro de saldo estoque usando os campos do índice "dep-estabel" */
Fim-se
Então calcular quantidade teórica ttReqOrd.qt-requis = ttReqOrd.qtd-requisitd-lote * (saldo-estoq.per-ppm/ ttReservas.per-ppm) /* posicionar no registro de saldo estoque usando os campos do índice "dep-estabel" */
Fim-se
ttReqOrd.qt-aloc = ttReservas.quant-aloc
ttReqOrd.qt-aloc-lote = ttReservas.qt-aloc-lote
ttReqOrd.tipo-formula = ttReservas.tipo-formula
ttReqOrd.per-ppm = ttReservas.per-ppm
Fim-se
ttReqOrd.log-requisitado = ?
ttReqOrd.alternativo-de = ""
ttReqOrd.cod-refer-it-original = ""
OBS: Não será feito o tratamento de balanceamento, pois deve ser feita a requisição de todos os componentes pelo consumo Real.
Após carregar as temp-tables ttReqOrd e ttReservas carregar ttParam, porque precisará ordenar a ttReqOrd pelo número da OP e data de saída.
ttParam.nr-ord-produ = ttReqOrd.nr-ord-produ
ttParam.data-requis = ttReqOrd.dt-saida
ttParam.deleta-erros = true
ttParam.ver-dt-saida = false
ttParam.prog-orig = this-procedure
ttParam.proc-msg = "mensagemData":U.
run pi-requisita-manual in h-cpapi012 (input table ttParam, input table ttReqOrd, INPUT TABLE ttReqAltern, input-output table tt-erro).
tt-requis.cod-versao-integracao = 001
tt-requis.tipo-trans = ttReqOrd.tipo-trans
tt-requis.nr-ord-prod = ttReqOrd.nr-ord-produ
tt-requis.procura-saldos = true
tt-requis.carrega-reservas = true
tt-requis.prog-seg = "MovementsInternalAdapter":U
tt-requis.nro-docto = string(ttReqOrd.nr-ord-produ)
tt-requis.serie-docto = "".
run pi-processa-requis in h-cpapi012 (input table tt-requis, input-output table tt-erro, input yes).
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.
Carregar tt-rep-prod.carrega-reservas como Falso, pois agora a mensagem traz as Requisições a serem feitas.
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 | NA | ID Operador | |
OperatorCode | tt-apont-mob.cd-mob-dir = π operador.cd-mob-dir (Ϭ operador.cod-operador = OperatorCode (operador)) | Código Operador | |
OperatorName | NA | 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 | 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 | 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 |
Qual 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: 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.
ATENÇÃO: Os apontamentos de MOB e GGF, devem ser indicados na mensagem, do contrário, não serão feitos pelo padrã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.
Retorno da mensagem:
Quando for realizado o apontamento via SFC no campo "Destination" deverá ser carregado com rep-oper-ctrab.num-seq-rep, para poder localizar no estorno o apontamento correto.
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 | se for Yes, então tem que observar campo IntegrationReport | Reporte Estornado | |
ReversalDate | data de estorno. | 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 | Caso informado este campo ele será utilizado para posicionar rep-oper-ctrab.num-seq-rep = ReversedReport e rep-oper-ctrab.nr-ord-produ = ProductionOrderNumber | 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 |
ATENÇÃO: Os apontamentos de MOB e GGF, devem ser indicados na mensagem, do contrário, não serão feitos pelo padrão.
Quando for indicado que o Apontamento possui estorno, tratar igual ao apontamento do PCP, ou seja, se vier informada quantidade(ReportQuantity) e marcado que é estorno(ReversedReport = Verdadeiro), o adapter terá que fazer duas coisas:
- Realizar um novo reporte com a quantidade indicada e devolver(ReturnContentType) o rep-oper-ctrab.num-seq-rep(Destination).
- Estornar o reporte informado (IntegrationReport)
Para realizar o estorno é necessário posicionar no registro original da tabela rep-oper-ctrab.
(Ϭ rep-oper-ctrab.num-seq-rep = ReversedReport ^ rep-oper-ctrab.nr-ord-produ = ProductionOrderNumber (rep-oper-ctrab))
Exemplo de chamada:
run EstornarReporte in h-boin536 (input rowid(rep-oper-ctrab), input ReversalDate, output table rowErrors, OUTPUT r-ord-prod, OUTPUT de-qt-estorn, OUTPUT rw-saldo-estoq).
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. |
---|