Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS OMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:SIGAOMS - Gestão de Distribuição
Função:TMSXWS - Processamento de integrações
País:Todos Países
Ticket:14791141
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-14378


02. DESCRIÇÃO

Ponto de Entrada para não incluir e alterar os dados relacionados com a integração de liberação de viagens do TOTVS Otimização Logística (TOL).

Com a ativação e retorno do valor verdadeiro (.T.) do Ponto de Entrada, ao liberar uma viagem no TOL os processos relacionados a liberação de viagem no Protheus não serão processados. Mesmo que a viagem não seja não processada no Protheus, será enviado "S" para o TOL, para responder como recebida e liberada.

Se o Ponto de Entrada retornar Falso (.F.), o processamento da viagem ocorrerá de forma padrão. Da mesma forma, será necessário finalizar toda a regra de negócio no Protheus para devolver "N" ou "S" ao TOL.

03. LOCALIZAÇÃO

Localizado após o recebimento do XML de liberação de viagens.

Funções chamadoras do Ponto de entrada:

    • ReprogramService;

    • CancelService;

    • PublishReleasedTrip.


04. PARÂMETROS

Nome 

Tipo

Descrição

oXmlBody

Objeto

Objeto da integração.

cConteudoObjetoXML em formato Caractere.
cNameFuncCaracterNome da Função Chamadora do PE ("PublishReleasedTrip", "ReprogramService" e  "CancelService")

05. RETORNO

Nome TipoDescrição
aRetArray

aRet [1] - Retorno Logico (boolean) ".T." ou ".F.".

Retorne ".T." para não realizar o processamento padrão.

aRet [2] - Retorno Logico (boolean) ".T." ou ".F.".

Retorne ".T." para indicar se executa ou ".F." para não o Nó XML.

aRet [3] - Objeto de Retorno a ser executado no Nó XML.

aRet [4] - Retorno Logico (boolean) ".T." ou ".F.".

Indica para o TOL, se a Viagem será ".T." recebida e liberada ou ".F." não recebida.

06. VERSÕES

Protheus 12.1.33 ou superiores.

07. OBSERVAÇÃO

É importante reforçar que não haverá desbloqueio de viagem automático (MV_CPLLVA) e a geração automática de carga (MV_CPLAUT), caso o Ponto de Entrada retorne Verdadeiro (.T.). O processo será direcionado para resposta ao TOL, sobre o recebimento da integração pelo Protheus.

Se o Ponto de Entrada retornar Verdadeiro (.T) e caso seja necessário gravar o XML de recebimento de liberação de viagem do TOL em disco, execute dentro do PE o seguinte comando, passando o ID da mensagem:

OMSXGRVXML("PublishReleasedTrip",@cConteudo,"DK0",cValToChar("NUMERO DA MENSAGEM QUE VEIO NO XML NO ELEMENTO messageId"))

08. EXEMPLO

O Ponto de Entrada recebe o XML para que sejam executadas regras customizadas ao processar ou realizar o retorno, conforme necessidade.

O ponto de entrada é executado em três funções diferentes por essa razão informamos no terceiro parâmetro "cNameFunc" a função que está executando o PE no momento.


PE OMSTOL01

#Include "PROTHEUS.CH"
#Include "FWMVCDEF.CH"

User Function OMSTOL01()

    Local oXmlBody  := PARAMIXB[1]
    Local cConteudo := PARAMIXB[2]
    Local cOrigem   := PARAMIXB[3]
    Local lRet      := .T.
    Local oResponse := Nil
    Local aRet      := {}

    Private XMLREC := oXmlBody

    If cOrigem == "ReprogramService"
	 	oResponse := RepTrip(oXmlBody,@cConteudo)
    ElseIf cOrigem == "CancelService"
		oResponse := CanTrip(oXmlBody,@cConteudo)
    ElseIf cOrigem == "PublishReleasedTrip"
		lRet := RecTrip(oXmlBody,@cConteudo)
    EndIf
    
    aRet := {	lRet,;   	//Protheus executa processo padrão? Sim = Retornar .F., Não = Retornar .T.
				.T.,;		//Retorno Logico (boolean) ".T." ou ".F.". Retorne .T. para indicar se executa ou não o Nó XML.
				oResponse,;	//Objeto de Retorno a ser executado no Nó XML.
				.T. }		//Retorno Logico (boolean) ".T." ou ".F.". Indica para o TOL, se a Viagem será ".T." recebida e liberada ou ".F." não recebida.
    
Return aRet   //Regra de negocio