Árvore de páginas

Versões comparadas

Chave

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

...

Realizar a integração das cargas OMS com o Monitoramento, funcionalidade pertencente ao Módulo de Execução do Cockpit Logístico Neolog. 

03. SOLUÇÃO


Realizada a implementação que permitirá a integração de cargas faturadas com o Cockpit Logístico para o monitoramento e rastreamento. Não será obrigatória a existência de uma viagem (DK0) para que o monitoramento ocorra.


Pré-requisitos Para Integração da Carga

  • MV_CPLMON, igual à 1-Sim;
  • MV_WSMONI, preenchido com o WebService de Monitoramento;
  • A carga deve possuir todos os seus pedidos faturados;
  • Os clientes da carga devem possuir Endereço (A1_END ou A1_ENDENT), Município (A1_MUN ou A1_MUNE), Estado (A1_EST ou A1_ESTE) e País (A1_PAIS) preenchidos.


Envio da Carga para Monitoramento

O envio da carga com o Monitoramento será realizado através da rotina de Monitor de Cargas (OMSXCPL7), por meio da ação Enviar Cargas p/ Monitoramento. Os registros apresentados em tela serão filtrados conforme o pergunte da rotina. Sendo possível, com base no período informado, selecionar cargas com ou sem viagem geradas.


Envio da Carga para Monitoramento via Schedule

O envio da carga com o Monitoramento para monitoramento também poderá ser realizado via agendamento (schedule) do Protheus. Para tanto, a rotina agendada deverá ser a OMSXCPL7. 


Estrutura do XML de Envio:O escopo desta integração permitirá o envio de cargas faturadas para o monitoramento no Cockpit Logístico Neolog. 

Mensagem Integração de Monitorável

Tag XML AgrupadoraTag XMLCampo no ProtheusCampo no Cockpit LogísticoObservações
driversourceId

Filial + DA4_COD

Motorista


drivernameDA4_NOMEMotorista
driveridentifierDA4_CGC ou DA4_MAT ou DA4_CODMotoristaUtilizará a primeira informação não vazia.
monitorables / monitorablesourceId

Se tipo igual a TRIP, então:

Filial + DAK_COD + DAK_SEQCAR


Se tipo igual a INVOICE, então:

F2_DOC + F2_SERIE

Se tipo igual a TRIP a nomenclatura utilizada no Cockpit será Viagem.


Se tipo igual a TRIP a nomenclatura utilizada no Cockpit será Nota.


monitorables / monitorabletypeTRIP / INVOICE
A carga é enviada com o monitorável do tipo TRIP, já as notas fiscais são enviadas como monitoráveis do tipo INVOICE.
monitorables / monitorablevalue

Se tipo igual a TRIP, então:

DAK_VALOR


Se tipo igual a INVOICE, então:

F2_VALFAT

Valor
monitorables / monitorablevolume

Se tipo igual a TRIP, então:

DAK_CAPVOL

Quando tipo igual a INVOICE não é enviado o volume.

Volume
monitorables / monitorableweight

Se tipo igual a TRIP, então:

DAK_PESO


Se tipo igual a INVOICE, então:

F2_PLIQUI ou F2_PBRUTO

PesoO peso varia conforme o parâmetro MV_PESOCAR, se igual à "L" envia o peso líquido, se MV_PESOCAR igual à "B" envia o peso bruto.
monitorables / monitorabletemperatureTypeDB0_TIPCAR

Envia carga como Congelada se todos os produtos existentes na carga possuam no tipo da carga (B1_TIPCAR) um modelo da carga cujo o tipo (DB0_TIPCAR) possua descrição igual à CONGELADA.


Envia carga como Resfriada se todos os produtos existentes na carga possuam no tipo da carga (B1_TIPCAR) um modelo da carga cujo o tipo (DB0_TIPCAR) possua descrição igual à RESFRIADA.


Envia a carga com o tipo de temperatura Default caso a carga não se encaixe nas duas regras acima.

monitorables / monitorable / vehiclevehicleDA3_CODVeículo
monitorables / monitorable / vehiclenameDA3_DESCVeículo
monitorables / monitorable / trucktruckDA3_PLACACaminhão
monitorables / monitorable / carriersourceIdA4_CODCaminhão
monitorables / monitorable / carriernameA4_NOMETransportadora
monitorables / monitorable/ carrierdescriptionDA4_NREDUZTransportadora
monitorables / monitorable / transitions / transitionname

A integração possuí 4 transições:

  • Chegada no Cliente;
  • Início Descarregamento (quando existir viagem (DK0 para a carga);
  • Fim Descarregamento (quando existir viagem (DK0 para a carga);
  • Saída do Cliente;
NomeAs 4 transições apenas se aplicam para a transição do monitorável de tipo TRIP. Já para o monitorável do tipo INVOICE, apenas existirá a transição Chegada no Cliente.
monitorables / monitorable / transitions / transitionsourceIdSequencial de 3 dígitos gerado no momento de execuçãoTransição
monitorables / monitorable / transitions / transitionexpectedTimestamp

Definida conforme o tipo da transição.

  • Chegada no Cliente:

DK1_CHEGAD ou DAI_DTCHEG + DAI_CHEGAD

  • Início Descarregamento:

DK1_INIDES

  • Fim Descarregamento

DK1_FIMDES

  • Saída do Cliente:

DK1_TSAIDA ou DAI_DTSAID + DAI_HRSAID

Data Estimada
monitorables / monitorable / transitions / transitionlimitTimestamp

Definida conforme o tipo da transição.

  • Chegada no Cliente:

DK1_CHEGAD ou DAI_DTCHEG + DAI_CHEGAD

  • Início Descarregamento:

DK1_INIDES

  • Fim Descarregamento

DK1_FIMDES

  • Saída do Cliente:

DK1_TSAIDA ou DAI_DTSAID + DAI_HRSAID

Data Esperada
monitorables / monitorable / transitions / transition / location / localitysourceIdFilial + A1_CODLocalidade
monitorables / monitorable / transitions / transition / location / localitynameA1_NOMELocalidade
monitorables / monitorable / transitions / transition / location / localitydescriptionA1_NREDUZLocalidade
monitorables / monitorable / transitions / transition / location / addressstreetA1_ENDENT ou A1_ENDEndereçoPrioriza o preenchimento com base no endereço de entrega, caso vazio utiliza o endereço do próprio cliente.
monitorables / monitorable / transitions / transition / location / addressnumberA1_ENDENT ou A1_ENDEndereçoPrioriza o preenchimento com base no endereço de entrega, caso vazio utiliza o endereço do próprio cliente.
monitorables / monitorable / transitions / transition / location / addressdistrictA1_BAIRROE ou A1_BAIRROEndereçoPrioriza o preenchimento com base no endereço de entrega, caso vazio utiliza o endereço do próprio cliente.
monitorables / monitorable / transitions / transition / location / addresscityCC2_MUNE ou A1_MUNE / CC2_MUN ou A1_MUNEndereçoPrioriza o preenchimento com base no endereço de entrega, caso vazio utiliza o endereço do próprio cliente.
monitorables / monitorable / transitions / transition / location / addressstateA1_ESTE / A1_ESTEndereçoPrioriza o preenchimento com base no endereço de entrega, caso vazio utiliza o endereço do próprio cliente.
monitorables / monitorable / transitions / transition / location / addresszipCodeA1_CEPE / A1_CEPEndereçoPrioriza o preenchimento com base no endereço de entrega, caso vazio utiliza o endereço do próprio cliente.
monitorables / monitorable / transitions / transition / location / addresscountryA1_PAISEndereço
monitorables / monitorable / items / itemsourceIdF2_DOC + F2_SERIE + D2_ITEMItem
monitorables / monitorable / items / itemquantityD2_QUANTQuantidade
monitorables / monitorable / items / itemvalueD2_TOTALValor
monitorables / monitorable / items / itemweightD2_QUANTPeso
monitorables / monitorable / items / itemvolumeD2_QUANT * (B5_COMPRLC * B5_LARGLC * B5_ALTURLC)Volume
monitorables / monitorable / items / item / productsourceIdB1_CODProduto
monitorables / monitorable / items / item / productnameB1_DESCProduto
monitorables / monitorable / items / item / extensions / extensionkeyLoteLote
monitorables / monitorable / items / item / extensions / extensiontextValueD2_LOTECTLLote
relationships / relationshipparentSourceIdFilial + DAK_COD + DAK_SEQCAR

relationships / relationship / childrenchildSourceIdsF2_DOC + F2_SERIE

...