Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagecpp
titleExemplo
linenumberstrue
collapsetrue
#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

...