01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Supply Chain - Logística
Módulo:SIGAOMS - Gestão de Distribuição
Função:


Requisito/Story/Issue (informe o requisito relacionado) :
DLOGWMSMSP-8078


02. SITUAÇÃO/REQUISITO

Realizar a integração das cargas OMS com o Monitoramento do Cockpit Logístico Neolog.

03. SOLUÇÃO

Para a integração entre os sistemas, as seguintes alterações de dicionário foram realizadas:


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


Inclusão de novos campos na tabela DK1:


Novo grupo de perguntas para a rotina Monitor de Cargas (OMSXCPL7):


Parâmetros:

NomeDescriçãoTipoDefault
MV_CPLMONIntegração Monitoramento NeologCaracter2
MV_WSMONIEndereço WebService de MonitoramentoCaracter


Alterações na rotina de Parâmetros Integração (OMSXCPL1):

Alterada a rotina de Parâmetros Integração para apresentar os dois parâmetros novos. Para ativar o parâmetro MV_CPLMON, o endereço WS de monitoramento deverá ser preenchido.

Além disso, foi disponibilizada uma nova ação que permite testar o endereço webservice de monitoramento, localizada em Outras Ações.

Exemplo de Utilização

UPDDISTR

  1. Aplicar o pacote de dicionário contendo as alterações de dicionário. 

SIGACFG

  1. Verificar se as tabelas, campos, perguntas e parâmetros foram criados.

OMSXCPL1

  1. Alterar o parâmetro MV_CPLMON para sim e informar no parâmetro MV_WSMONI o Endereço WebService de Monitoramento, exemplo: http://187.94.56.207:8056/cockpit-gateway/monitoring-integration-soap/ws
  2. Após o endereço webservice de monitoramento informado, realizar o teste de conexão. Em Outras Ações > Testar WebService Monitoramento.
  3. Apenas deverá ser possível salvar o parâmetro MV_CPLMON igual a sim, se o endereço WebService de monitoramento estiver preenchido.

04. DEMAIS INFORMAÇÕES

Tabelas Utilizadas



<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>