Á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:OMSXCPL - Regras de Integração OMS x TOL
País:Todos Países
Ticket:-
Requisito/Story/Issue (informe o requisito relacionado) :-


02. DESCRIÇÃO

Este Ponto de Entrada pode ser utilizado para qualquer mensagem de integração com o TOTVS Otimização Logística.

Portanto, pode ser utilizado por customizações que envolvam envio de cadastros, ou então, envio de pedidos de venda, a diferenciação pode ser realizada pelo  parâmetro cTabela, que será preenchida conforme o tipo de mensagem que está sendo enviada.

O objetivo é permitir a substituição do "corpo" do XML de envio, de qualquer registro de inclusão ou alteração que se queira integrar com o TOTVS Otimização Logística.

03. LOCALIZAÇÃO

Localizado no método de envio da rotina OMSXCPLWS, antes da integração efetiva do XML com o TOTVS Otimização Logística.

04. PARÂMETROS

Este Ponto de Entrada recebe como parâmetro a string com o conteúdo do corpo (body) do XML e a string com a tabela que será enviada.

05. RETORNO

String com o novo conteúdo do corpo do XML de envio.

06. VERSÕES

Protheus 12.

07. OBSERVAÇÃO

Não se aplica.

08. EXEMPLO

------

#INCLUDE "PROTHEUS.CH"

User Function OMSXCPL0 ()
Local cBodyXML := PARAMIXB[1]
Local cTabela := PARAMIXB[2]
Local nPosInicio := 0
Local nPosFim := 0
Local nQtdCaract := 0
Local cTag := "" Local cNovaTag := ""

If cTabela == "SB1"
     nPosInicio := At( "<shape>", cBodyXML) //Posição início da tag
     nPosFim := At( "</shape>", cBodyXML) //Posição fim da tag
     nQtdCaract := (nPosFim - nPosInicio) + Len("</shape>") //Calcula quantidade de caracteres que a tag completa ocupa
     cTag := SubStr(cBodyXML,nPosInicio,nQtdCaract) //Retorna a string contendo a tag que será substituída, exemplo: "<shape>0</shape>"
     cNovaTag := "<shape>1</shape>" //Nova tag para a substituição
     cBodyXML := StrTran(cBodyXML,cTag,cNovaTag) //Efetiva a substituição da tag no XML
EndIf

Return cBodyXML

------