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
------