Árvore de páginas

 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çãoDescriçãoOrigemDestinoXSD
08Ordem de ProduçãoDatasulPPIProductionOrder_2_003
09Ordem de ProduçãoDatasulPPIProductionOrder_2_003
10Reporte de ParadaPPIDatasulStopReport_1_001
11Requisição ComponentePPIDatasulMovementsInternal_1_001
12Reporte de Produção via PCPPPIDatasulProductionAppointment_1_001
13Reporte de Produção via SFCPPIDatasulProductionAppointment_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.

ListaCampo XSDCampo ERPDescrição
 MachineCodett-import-rep-parada.cod-ctrabCódigo Máquina
 MachineDescriptionNA Descrição Máquina
 StopReasonCodett-import-rep-parada.cod-paradaCódigo Motivo Parada
 StopReasonDescriptionNA Descrição Motivo Parada
 StartDateTimett-import-rep-parada.dat-inic-parada E tt-import-rep-parada.hr-inic-paradaData/Hora Início
 EndDateTimett-import-rep-parada.dat-fim-parada E tt-import-rep-parada.hr-fim-paradaData/Hora Fim
 ToolCodeNA Código Ferramenta
 ToolDescriptionNA Descrição Ferramenta
 ProductionTeamCodett-import-rep-parada.cod-equipeCódigo Equipe
 ProductionTeamNameNA Nome Equipe
 OperatorCodett-import-rep-parada.cod-operadorCódigo Operador
 OperatorNameNA Nome Operador
 ProductionShiftCodeNA Código Modelo Turno
 ProductionShiftDescriptionNADescrição Turno
 ProductionShiftNumberNA Número Turno
 StopTypeNATipo Parada(1=Programada;2=Não Programada)
 ReportDateTimeNA Data/Hora Reporte
 GeneralStopCodeNA Código Parada Geral
 ReportSequenceNA Sequência Reporte
 ReversedReportIndica que deve ser estornado um reporte já realizadoReporte Estornado (True ou False)
 IntegrationReportNAReporte Integração
ListOfDirectLaborsOperatorCode NACódigo Operador
ListOfDirectLaborsStopReasonCode

NA 

Código Motivo Parada
ListOfDirectLaborsProductionShiftCodeNA Código Modelo Turno
ListOfDirectLaborsProductionShiftNumberNA Número Turno
ListOfDirectLaborsStartDateTimeNA Data/Hora Início
ListOfDirectLaborsEndDateTimeNA Data/Hora Fim
    


Transação 11 - Requisição Componente: MovementsInternal_1_001

Utilização da CPAPI012.

Campo XSDCampo ERPDescrição
TypeMovementCode Código do Tipo de Movimento interno
ReferenceCodettReqOrd.cod-referCódigo Referência
EmissionDatettReqOrd.dt-saidaData de Emissão
ItemCodettReqOrd.it-codigoItem/Produto
ScriptCodettReqOrd.cod-roteiroCódigo Roteiro
UnitOfMeasureCodeNAUnidade de Medida
ActivityCodettReqOrd.op-codigoCó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
WarehouseCodettReqOrd.cod-deposCódigo do Armazém
LotNumberttReqOrd.lote-serieLote
SubLotNumberNASub-lote
LotExpirationDatettReqOrd.dt-vali-loteData Validade do Lote
FamilyCodeNAFamília
AddressttReqOrd.cod-localizEndereço
NumberSeriesNANúmero de série
InputOrOutputttReqOrd.tipo-trans = 1 Requisita, 2 DevolveMovimento de Entrada ou Saida
ProductionOrderNumberttReqOrd.nr-ord-produNr. Ordem Produção
FatherItemCodettReqOrd.item-paiCó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

Senão
   Se utiliza Controle de Potência e o Reserva for de Controle de Potência 

          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.

ListaCampo XSDCampo ERPDescriçã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
    
ListOfWasteAppointmentsReportSequence Sequência Reporte
 WasteCode Código Refugo
 WasteDescription Descrição Refugo
 ScrapQuantity Quantidade Refugada
 ReworkQuantity Quantidade Retrabalhada
ListOfResourceAppointmentsReportSequencett-apont-mob.tipo-movto = 1 (MOB)Sequência Reporte
 OperatorIDNAID Operador
 OperatorCodett-apont-mob.cd-mob-dir = π operador.cd-mob-dir  (Ϭ operador.cod-operador = OperatorCode (operador))Código Operador
 OperatorNameNANome 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
 StartDateTimeSe 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 - StartDateTimeData/Hora Início
 StartCentTimett-apont-mob.centesimal-iniHora Centesimal Início
 EndDateTimeSe informado EndDateTime então tt-apont-mob.hora-fim = HH; tt-apont-mob.min-fim = MM; tt-apont-mob.minutos-report =  EndDateTime - StartDateTimeData/Hora Fim
 EndCentTimett-apont-mob.centesimal-fimHora Centesimal Fim
 MOBTimeNATempo Mão de Obra Direta
 ExtraTimeNATempo Extra
 UtilTimeNATempo Útil
 ProductionShiftCodeNACódigo Modelo Turno
 ProductionShiftNumberNANúmero Turno
ListOfSupplyOrdersReportSequence Sequência Reporte
 ProductionOrderNumbertt-res-neg.nr-ord-produNúmero Ordem Produção
 MaterialCodett-res-neg.it-codigoCódigo Item Reserva
 MaterialDescriptionNADescrição Item Reserva
 ReferenceCodett-res-neg.cod-referCódigo Referência
 UsedQuantitytt-res-neg.quantidadeQuantidade Utilizada
 ApprovedQuantityNAQuantidade Aprovada
 UnitOfMeasureCodeNAUnidade Medida
 FatherItemCodeNACódigo Item Pai
 FatherItemDescription Descrição Item Pai
 WarehouseCodett-res-neg.cod-deposCódigo Depósito
 LocationCodett-res-neg.cod-localizLocalização
 LotCodett-res-neg.lote-serieLote/Série
 ActivityCodeNACódigo Operação
 ScriptCodeNACódigo Roteiro
 SiteCodeNACódigo Estabelecimento
 MaterialDateNAData Reserva
 MaterialQuantityNAQuantidade Reserva
 StatusTypeNAEstado
 OrderProcessNAProcesso Ordem
 ReferenceOrderNumberNANúmero Ordem Referência
 MaterialIDNAID Reserva
ListOfReportToolActivitiesReportSequence Sequência Reporte
 ToolCode Código Ferramenta
 ToolDescription Descrição Ferramenta
 OperationUnitTime Tempo Unidade Operação
ListOfReportOverheadsReportSequencett-apont-mob.tipo-movto = 2 (GGF)Sequência Reporte
 WorkCenterCodett-apont-mob.gm-codigoCódigo Centro Trabalho
 WorkCenterDescriptionNADescrição Centro Trabalho
 GGFTimeInttt-apont-mob.minutos-reportTempo Gastos Gerais de Fabricação
 GGFTimeDectt-apont-mob.tempoTempo 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.

ListaCampo XSDCampo ERPDescrição
 MachineCodecod-ctrab  recebeValorCampos IN h-sfapi009Código Máquina
 MachineDescriptionNADescrição Máquina
 ProductionOrderNumbernr-ord-produNúmero Ordem Produção
 ActivityIDnum-operac-sfcID Operação
 Splitnum-split-operacSplit
 ExternalSplitNANúmero externo do Split.
 ActivityCodeNACódigo Operação
 ItemCodeNACódigo Item
 ItemDescriptionNADescrição Item
 ReportQuantityqtd-operac-reptdaQuantidade Reportada
 ApprovedQuantityqtd-operac-aprovQuantidade Aprovada
 ScrapQuantityqtd-operac-refgdaQuantidade Refugada
 ReworkQuantityqtd-operac-retrabQuantidade Retrabalhada
 StartSetupDateTimedat-inic-setup E hra-inic-setup(convertido para segundos)Data/Hora Início Preparação
 StartCentSetupTimeNAHora Centesimal Início Preparação
 EndSetupDateTimedat-fim-setup E hra-fim-setup(convertido para segundos)Data/Hora Fim Preparação
 EndCentSetupTimeNAHora Centesimal Fim Preparação
 StartReportDateTimedat-inic-reporte E hra-inic-rep(convertido para segundos)Data/Hora Início Reporte
 StartCentReportTimeNAHora Centesimal Início Reporte
 EndReportDateTimedat-fim-reporte E hra-fim-rep(convertido para segundos)Data/Hora Fim Reporte
 EndCentReportTimeNAHora Centesimal Fim Reporte
 OpTimeDec

de-tempo-oper (horas centesimais)

Tempo Operação
 OpTimeIntNATempo Operação
 ExtraTimeNATempo Extra
 StopTimeNATempo Parada
 MODTimeNATempo Mão de Obra Direta
 IsProductionControlReportNAReporta Controle da Produção
 CQLiberatedNALiberado Controle Qualidade
 ReversedReportse for Yes, então tem que observar campo IntegrationReportReporte Estornado
 ReversalDatedata de estorno.Data Estorno
 UpdateReportNAAtualiza Reporte
 ProductionShiftCodeNACódigo Modelo Turno
 ProductionShiftDescriptionNADescrição Modelo Turno
 ProductionShiftNumberNANúmero Turno
 ReportDateTimedat-inic-real E hra-inic-realData/Hora Reporte
 ReportCentlTimeNAHora Centesimal Reporte
 DocumentCodeNADocumento
 DocumentSeriesNASérie Documento
 WarehouseCodecod-deposCódigo Depósito
 LotCodelote-acabLote/Série
 LotDueDatedt-valid-loteData Validade Lote
 ReferenceCoderefer-acabCódigo Referência
 LocationCodecod-localizLocalização
 SingleOutflowLocationNALocal Saída Início
 OutflowLocationCodeNALocalização Saída
 OutflowWarehouseCodeNACódigo Depósito Saída
 WasteWarehouseCodedep-refugoCódigo Depósito Refugo
 WasteLocationCodeloc-refugoLocalização Refugo
 ReportSequenceNASequência Reporte
 IntegrationReportCaso informado este campo ele será utilizado para posicionar rep-oper-ctrab.num-seq-rep = ReversedReport e rep-oper-ctrab.nr-ord-produ = ProductionOrderNumberReporte Integração
 ToolCodecod-ferr-prodCódigo Ferramenta
 ToolDescriptionNADescrição Ferramenta
 SetupCodeNACódigo Preparação
 SetupDescriptionNADescrição Preparação
 CounterStartnum-contador-inicInício Contador
 FinalAccountantnum-contador-fimContador Fim
 CloseOperationtt-param-reporte.l-msg-finaliza-split-operacEncerra Operação
    
ListOfWasteAppointmentsReportSequenceNASequência Reporte
 WasteCodett-ref.cod-motiv-refugoCódigo Refugo
 WasteDescriptionNADescrição Refugo
 ScrapQuantitytt-ref.qtd-operac-refgdaQuantidade Refugada
 ReworkQuantitytt-ret.qtd-operac-retrabQuantidade Retrabalhada
ListOfResourceAppointmentsReportSequencett-apont-mob.tipo-movto = 1 (MOB)Sequência Reporte
 OperatorIDNAID Operador
 OperatorCodett-apont-mob.cd-mob-dir = π operador.cd-mob-dir  (Ϭ operador.cod-operador = retornaValorCampos IN h-sfapi009 ("operador") (operador))Código Operador
 OperatorNameNANome Operador
 ProductionTeamCodett-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
 StartDateTimeSe 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 - StartDateTimeData/Hora Início
 StartCentTimett-apont-mob.centesimal-iniHora Centesimal Início
 EndDateTimeSe informado EndDateTime então tt-apont-mob.hora-fim = HH; tt-apont-mob.min-fim = MM; tt-apont-mob.minutos-report =  EndDateTime - StartDateTimeData/Hora Fim
 EndCentTimett-apont-mob.centesimal-fimHora Centesimal Fim
 MOBTimeNATempo Mão de Obra Direta
 ExtraTimeNATempo Extra
 UtilTimeNATempo Útil
 ProductionShiftCodeNACódigo Modelo Turno
 ProductionShiftNumberNANúmero Turno
ListOfSupplyOrdersReportSequenceNASequência Reporte
 ProductionOrderNumbertt-reservas.nr-ord-produNúmero Ordem Produção
 MaterialCodett-reservas.it-codigoCódigo Item Reserva
 MaterialDescriptionNADescrição Item Reserva
 ReferenceCodett-reservas.cod-referCódigo Referência
 UsedQuantitytt-reservas.quant-requisQuantidade Utilizada
 ApprovedQuantityNAQuantidade Aprovada
 UnitOfMeasureCodett-reservas.unUnidade Medida
 FatherItemCodett-reservas.item-paiCódigo Item Pai
 FatherItemDescriptionNADescrição Item Pai
 WarehouseCodett-reservas.cod-deposCódigo Depósito
 LocationCodett-reservas.cod-localizLocalização
 LotCodett-reservas.lote-serieLote/Série
 ActivityCodett-reservas.op-codigoCódigo Operação
 ScriptCodett-reservas.cod-roteiroCódigo Roteiro
 SiteCodeNACódigo Estabelecimento
 MaterialDateNAData Reserva
 MaterialQuantityNAQuantidade Reserva
 StatusTypeNAEstado
 OrderProcessNAProcesso Ordem
 ReferenceOrderNumberNANúmero Ordem Referência
 MaterialIDNAID Reserva
ListOfReportToolActivitiesReportSequenceNASequência Reporte
 ToolCodecod-ferr-prodCódigo Ferramenta
 ToolDescriptionNADescrição Ferramenta
 OperationUnitTimeNATempo Unidade Operação
ListOfReportOverheadsReportSequencett-apont-mob.tipo-movto = 2 (GGF)Sequência Reporte
 WorkCenterCodett-apont-mob.gm-codigoCódigo Centro Trabalho
 WorkCenterDescriptionNADescrição Centro Trabalho
 GGFTimeInttt-apont-mob.minutos-reportTempo Gastos Gerais de Fabricação
 GGFTimeDectt-apont-mob.tempoTempo 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.