Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | SIGAOMS - Gestão de Distribuição |
Função: | OMSXCPLA - Recebimento de Viagem |
País: | Todos Países |
Ticket: | - |
Requisito/Story/Issue (informe o requisito relacionado) : | - |
Este Ponto de Entrada permite a manipulação das tabelas responsáveis por armazenar a viagem recebida pelo Cockpit Logístico, possibilitando assim a gravação de outras informações presentes no XML.
Exemplo
|
Localizado na função ProcViagem da rotina OMSXCPLA, logo após a gravação das tabelas de Viagem (DK0 e DK1).
Nome | Tipo | Descrição |
---|---|---|
oViagem | Objeto | Objeto contendo todos os atributos do XML referentes ao cabeçalho da viagem CPL. |
aStops | Array de Objetos | Array de objetos contendo todos os atributos do XML referentes às paradas da viagem CPL, mais especificamente os atributos da tag stops. |
aSubStops | Array de Objetos | Array de objetos contendo todos os atributos do XML referentes as subparadas da viagem CPL, mais especificamente os atributos da tag subStop. |
cConteudo | String | String contendo todo o conteúdo do XML recebido, permitindo assim acessar qualquer tag da Viagem recebida. |
Este Ponto de Entrada não possui retorno.
12.1.17 ou superiores
Todos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock / Customização.
#INCLUDE "PROTHEUS.CH" User Function OMSCPLAV() Local oSubStop := Nil Local oViagem := PARAMIXB[1] //Objeto com todos os atributos da viagem Local aStops := PARAMIXB[2] //Array com os objetos de todas as paradas, tag "stop" Local aSubStops := PARAMIXB[3] //Array com os objetos de todas as sub-paradas, tag "subStop" Local cConteudo := PARAMIXB[4] //String com todo o conteúdo do XML Local cRegional := Padr(oViagem:regionSourceId,TamSx3("DK0_REGID")[1]) Local cViagem := Padr(oViagem:identifier,TamSx3("DK0_VIAGID")[1]) Local cDateStart := "" //primeiro subStop oSubStop := aSubStops[1] cDateStart := SubStr(oSubStop:startServiceTime,9,2)+'/'+; SubStr(oSubStop:startServiceTime,6,2)+'/'+; SubStr(oSubStop:startServiceTime,1,4) DK0->(DbSetOrder(1)) If DK0->(DbSeek(xFilial('DK0')+cRegional+cViagem)) RecLock('DK0',.F.) DK0->DK0_XCPO := cDateStart //Campo customizado DK0->(MsUnlock()) EndIf //A função TmsLogMsg exibe mensagens no corpo do arquivo console.log If Empty(cConteudo) TmsLogMsg("WARN","[" + cValToChar(ThreadId()) + "-OMSCPLAV] Variável 'cConteudo' está vazia.") else TmsLogMsg("WARN","[" + cValToChar(ThreadId()) + "-OMSCPLAV] Variável 'cConteudo' está preenchida com " + cValToChar(Len(cConteudo)) + " bytes.") oXml := XmlParser(cConteudo, "NS1", @cError, @cWarning ) cViagem := oXml:_SOAP_ENVELOPE:_SOAP_BODY:_NS2_PUBLISHRELEASEDTRIP:_TRIPRELEASEREQUESTS:_TRIPRELEASEREQUEST:_IDENTIFIER:TEXT TmsLogMsg("WARN","[" + cValToChar(ThreadId()) + "-OMSCPLAV] Viagem " + cViagem + " recebida com sucesso.") Endif Return |
<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; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |