Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
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) : | - |
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.
Localizado no método de envio da rotina OMSXCPLWS, antes da integração efetiva do XML com o TOTVS Otimização Logística.
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.
String com o novo conteúdo do corpo do XML de envio.
Protheus 12.
Não se aplica.
------
#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
------
<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> |