Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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 10158 - DATASUL - Integração Processos ManufaturaEstoque

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 dos processos de Estoque 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.

 

OBSERVACAO: 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.

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çãoDescriçãoOrigemDestinoXSD
08Ordem de ProduçãoDatasulPPIProductionOrder_2_002
09Ordem de ProduçãoDatasulPPIProductionOrder_2_002
10Reporte de ParadaPPIDatasulStopReport_1_000
11Requisição ComponentePPIDatasulMovementsInternal_1_001
12Reporte de Produção via PCPPPIDatasulProductionAppointment_1_001
13Reporte de Produção via SFCPPIDatasulProductionAppointment_1_001

 

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

Utilização da CPAPI012, 

ListaCampo XSDCampo ERPDescrição MachineCode Código Máquina MachineDescription Descrição Máquina                                                

 

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

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 RetrabalhadaListOfResourceAppointmentsReportSequencett-apont-mob.tipo-movto = 1 (MOB)Sequência Reporte OperatorID ID Operador OperatorCodett-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 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 MOBTime Tempo Mão de Obra Direta ExtraTime Tempo Extra UtilTime Tempo Útil ProductionShiftCode Código Modelo Turno ProductionShiftNumber Número TurnoListOfSupplyOrdersReportSequence 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 ReservaListOfReportToolActivitiesReportSequence Sequência Reporte ToolCode Código Ferramenta ToolDescription Descrição Ferramenta OperationUnitTime Tempo Unidade OperaçãoListOfReportOverheadsReportSequencett-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

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.

 

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 ReversedReportNAReporte Estornado ReversalDateNAData 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 IntegrationReportNAReporte 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 RetrabalhadaListOfResourceAppointmentsReportSequencett-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 TurnoListOfSupplyOrdersReportSequenceNASequê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 ReservaListOfReportToolActivitiesReportSequenceNASequência Reporte ToolCodecod-ferr-prodCódigo Ferramenta ToolDescriptionNADescrição Ferramenta OperationUnitTimeNATempo Unidade OperaçãoListOfReportOverheadsReportSequencett-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

Os movimentos de estoque devem ser filtrados para envio apenas da criação de um novo Lote do Item na integração.

RN002 - Mensagem de request do Saldo, pode ser solicitado, apenas o código do item, apenas o código do depósito ou a chave completa: estabelecimento, item, referência, depósito, lote e localização.

 

 

 

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

TransferWarehouseAdapter

Transferência Depósito (Recebimento)

[Criação]

 

-

CE0105 - Localização de Estoque[Alteração]  
AddressStockFactory[Criaçã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çãoDescriçãoOrigemDestinoXSD
01Solicitação Saldo do Item(Request)PPIDatasulStockLevel_2_000
02Transferência DepósitoPPIDatasulTransferWarehouse_1_003
03Localização/EndereçoDatasulPPIAddressStock_1_000
18Envio de Saldo do ItemDatasulPPIItemStockLevel_1_000

 

Transação 01 - Solicitação Saldo do Item: StockLevel_2_000

Pesquisar na tabela saldo-estoq.

Quando vier apenas o código do item na solicitação:

Ϭ saldo-estoq.it-codigo = ItemCode (saldo-estoq)

Quando vier apenas o código do depósito na solicitação:

Ϭ saldo-estoq.cod-depos = WarehouseCode (saldo-estoq)

Quando vier a chave completa:

Ϭ saldo-estoq.cod-estabel = BranchId ^ saldo-estoq.it-codigo = ItemCode ^ saldo-estoq.cod-refer = ReferenceCode ^ saldo-estoq.cod-depos = WarehouseCode ^ saldo-estoq.cod-localiz = Address ^ saldo-estoq.lote = LotNumber (saldo-estoq)

 

Segue abaixo o ReturnContentType

Campo XSDCampo ERPDescrição
CompanyId  
BranchIdsaldo-estoq.cod-estabel 
CompanyInternalId  
ItemInternalIdsaldo-estoq.it-codigoCódigo Item
ReferenceCodesaldo-estoq.cod-referCódigo Roteiro
WarehouseInternalIdsaldo-estoq.cod-deposDescrição Roteiro
LotNumbersaldo-estoq.loteRoteiro Alternativo
SubLotCodeNASub-lote
SerialNumberNANúmero de Série
Addresssaldo-estoq.cod-localizLocalização/Endereço
LotExpirationDatesaldo-estoq.dt-vali-loteValidade do Lote
CurrentStockAmountsaldo-estoq.qtidade-atuSaldo Atual


Transação 02 - Transferência de Depósito: TransferWarehouse_1_003

Utilização da CEAPI001.

Na mensagem de Transferência, o adapter terá que montar a tt-movto tanto para movimento de entrada quanto para saída e depois fazer a chamada da CEAPI001(verificar a criação da tt-movto no CE0206.i)

 

ListaCampo XSDCampo ERPDescrição
 CompanyIdNACódigo da empresa
 BranchIdtt-movto.cod-estabelCódigo da Filial
 CompanyInternalIdNAInternalId da chave completa da empresa
 InternalIdNAInternalId da transferência
 Numbertt-movto.nro-doctoNumero da Movimentação
 RegisterDateTimett-movto.dt-transData de Emissão da solicitação
ListOfTransferWarehouseItem   
ListOfTransferWarehouseItemInternalIdNAInternalId da transferência
ListOfTransferWarehouseItemEmissionDatett-movto.dt-transData de Emissão
ListOfTransferWarehouseItemItemCodeFromtt-movto.it-codigo quando tt-movto.tipo-trans = 2Item/Produto Origem
ListOfTransferWarehouseItemItemCodeTott-movto.it-codigo quando tt-movto.tipo-trans = 1Item/Produto Destino
ListOfTransferWarehouseItemReferenceCodeFromtt-movto.cod-refer quando tt-movto.tipo-trans = 2Referência Origem
ListOfTransferWarehouseItemReferenceCodeTott-movto.cod-refer quando tt-movto.tipo-trans = 1Referência Destino
ListOfTransferWarehouseItemUnitOfMeasureFromtt-movto.un quando tt-movto.tipo-trans = 2Unidade de Medida Origem
ListOfTransferWarehouseItemUnitOfMeasureTott-movto.un quando tt-movto.tipo-trans = 1Unidade de Medida Destino
ListOfTransferWarehouseItemQuantitytt-movto.quantidadeQuantidade
ListOfTransferWarehouseItemWarehouseCodeFromtt-movto.cod-depos quando tt-movto.tipo-trans = 2Código do Armazém de Origem
ListOfTransferWarehouseItemWarehouseCodeTott-movto.cod-depos quando tt-movto.tipo-trans = 1Código do Armazém Destino
ListOfTransferWarehouseItemLotNumberFromtt-movto.lote quando tt-movto.tipo-trans = 2Número do Lote de Origem
ListOfTransferWarehouseItemLotNumberTott-movto.lote quando tt-movto.tipo-trans = 1Número do Lote de Destino
ListOfTransferWarehouseItemSubLotNumberNANúmero do SubLote
ListOfTransferWarehouseItemLotExpirationDateFromtt-movto.dt-vali-lote quando tt-movto.tipo-trans = 2Data de validade do Lote
ListOfTransferWarehouseItemLotExpirationDateTott-movto.dt-vali-lote quando tt-movto.tipo-trans = 1Data de validade do Lote
ListOfTransferWarehouseItemAddressFromtt-movto.cod-localiz quando tt-movto.tipo-trans = 2Endereço Origem
ListOfTransferWarehouseItemAddressTott-movto.cod-localiz quando tt-movto.tipo-trans = 1Endereço Destino
ListOfTransferWarehouseItemNumberSeriestt-movto.serie-doctoNúmero de série

Outros campos que devem ser alimentados da tt-movto:

tt-movto.ct-codigo = param-estoq.ct-tr-transf

tt-movto.sc-codigo = param-estoq.sc-tr-transf

tt-movto.tipo-trans = 1 para Entradas e 2 para Saídas

tt-movto.cod-versao-integracao = 1
tt-movto.cod-prog-orig = "TransferWarehouse"
tt-movto.esp-docto = 33



Transação 18 - Envio Saldo do Item: ItemStockLevel_1_000


ATENÇÃO: não será mais enviadas informações de quantidades nesta mensagem, ela, somente tratará da criação de um novo lote.

 

Utilização da CEAPI001K - logo após a criação de um "saldo-estoq", inserir a seguinte validação para criação da tabela temporária de Saldo-Estoq:

SE <param-cp.log-integr-ppi-mes> Ativo E <param-cp.fase-integr> >= 2 E <item.tipo-con-est> > 2 /* Apenas Itens que atualizem o campo saldo-estoq.lote */

Então

            Chamada da Função de Criar Saldo XML(passar como parâmetro o ROWID da movto-estoq)

Fim-se.

A definição da tabela temporária Saldo-Estoq (sugestão tt-saldo-estoq-xml com os mesmos campos da saldo-estoq).

 

Depois de encerrar a transação na CEAPI001K fazer a chamada para envio da mensagem XML:

SE <param-cp.log-integr-ppi-mes> Ativo E <param-cp.fase-integr> >= 2

Então

            Chamada da Função de Geração de Mensagem(tt-saldo-estoq-xml)

Fim-se.


A nova função Criar Saldo XML:

 

Ϭ param-integr-mes.idi-entidade = 3 ^ param-integr-mes.cod-campo = <cod-estabel> ^ (param-integr-mes.des-campo = "*" v param-integr-mes.des-campo = movto-estoq.cod-estabel) (param-integr-mes x movto-estoq)

 

Ϭ param-integr-mes.idi-entidade = 3 ^ param-integr-mes.cod-campo = <it-codigo> ^ (param-integr-mes.des-campo = "*" v param-integr-mes.des-campo = movto-estoq.it-codigo) (param-integr-mes x movto-estoq)

 

Ϭ param-integr-mes.idi-entidade = 3 ^ param-integr-mes.cod-campo = <esp-docto> ^ (param-integr-mes.des-campo = "*" v param-integr-mes.des-campo = movto-estoq.esp-docto) (param-integr-mes x movto-estoq)

 

Ϭ param-integr-mes.idi-entidade = 3 ^ param-integr-mes.cod-campo = <cod-depos> ^ (param-integr-mes.des-campo = "*" v param-integr-mes.des-campo = movto-estoq.cod-depos) (param-integr-mes x movto-estoq)

 

Ϭ param-integr-mes.idi-entidade = 3 ^ param-integr-mes.cod-campo = <cod-localiz> ^ (param-integr-mes.des-campo = "*" v param-integr-mes.des-campo = movto-estoq.cod-localiz) (param-integr-mes x movto-estoq)

 

Ϭ param-integr-mes.idi-entidade = 3 ^ param-integr-mes.cod-campo = <fm-codigo> ^ (param-integr-mes.des-campo = "*" v param-integr-mes.des-campo = item.fm-codigo) (param-integr-mes x item)

 

Ϭ param-integr-mes.idi-entidade = 3 ^ param-integr-mes.cod-campo = <ge-codigo> ^ (param-integr-mes.des-campo = "*" v param-integr-mes.des-campo = item.ge-codigo) (param-integr-mes x item)

 

 

Ϭ saldo-estoq.cod-estabel = movto-estoq.cod-estabel ^ saldo-estoq.it-codigo = movto-estoq.it-codigo ^ saldo-estoq.cod-refer = movto-estoq.referencia ^ saldo-estoq.cod-depos = movto-estoq.cod-depos ^ saldo-estoq.cod-localiz = movto-estoq.cod-localiz ^ saldo-estoq.lote = movto-estoq.lote (saldo-estoq x movto-estoq)

Caso ainda não exista a tt-saldo-estoq-xml para a chave completa de saldo-estoq, então cria o registro igual a tabela saldo-estoq.

A nova função Geração de Mensagem pode ser chamada de CEAPI001MES, e fará os filtros abaixo para decidir se o saldo será enviado ao XML:

Fazer a leitura da tt-saldo-estoq e criar a msg.

 

ATENÇÃO: não será mais enviadas informações de quantidades nesta mensagem, ela, somente tratará da criação de um novo lote.

 

Campo XSDCampo ERPDescrição
CompanyIdNA 
BranchIdsaldo-estoq.cod-estabel 
ItemCodesaldo-estoq.it-codigoCódigo Item
ItemDescriptionitem.descricaoDescrição Item
ReferenceCodesaldo-estoq.cod-referCódigo Roteiro
WarehouseCodesaldo-estoq.cod-deposDescrição Roteiro
LotCodesaldo-estoq.loteRoteiro Alternativo
SubLotCodeNASub-lote
NumberSeriesNANúmero de Série
AddressCodesaldo-estoq.cod-localizLocalização/Endereço
LotDueDatesaldo-estoq.dt-vali-loteValidade do Lote
CurrentStockAmountsaldo-estoq.qtidade-atuSaldo Atual
QuantityUpdatedmovto-estoq.quantidadeQuantidade Atualizada
InputOutputmovto-estoq.tipo-transEntrada(Verdadeiro) ou Saída(Falso)
BookedStockAmountsaldo-estoq.qt-aloc-prodQuantidade Reservada(Alocada Produção
AvailableStockAmountNAQuantidade Disponível

 

 

Transação 03 - Localização de estoque: AddressStock_1_000

Sempre que for criada uma nova localização no CE0105, deverá enviar a mensagem. (apenas na criação)

ListaCampo XSDCampo ERPDescrição
CompanyIdNACódigo da Empresa 
BranchIdlocalizacao.cod-estabelCódigo da Filial 
AddressInternalIdcod-estabel, cod-depos, cod-localizInternalId da chave completa de empresa do produto 
WarehouseCodelocalizacao.cod-deposCódigo Armazém(Depósito) 
LocationCodelocalizacao.cod-localizCódigo do Endereço (Localização de Estoque) 
AddressStorckDescriptionlocalizacao.descricaoDescrição do Endereço 




Protótipo de Tela

Obs.: inserir nos programas que enviam mensagens a geração do log de erros (pi-exporta-mensagem da cdapi990).

Criar nova pasta no CP0106B, para realizar o filtro de saldos que serão enviados na Integração. (gravar na tabela: <param-integr-mes>)

Para esta pasta os campos a serem gravados utilizarão <param-integr-mes.idi-entidade> = 3 // Saldo Item 

 

No campo <param-integr-mes.cod-campo> conterá os seguintes elementos para guardar: <it-codigo>, <fm-codigo>, <ge-codigo>, <cod-estabel>, <cod-depos>, <cod-localiz> e <esp-docto>

Protótipo de Tela

 

Obs.: inserir nos programas que enviam mensagens a geração do log de erros (pi-exporta-mensagem da cdapi990).Image Added

 

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.                                                             

 

...