automate the delivery process using the standard SOAP API (SDELIVERY object)

We are trying to automate the creation of deliveries linked to pick tickets using the SDELIVERY object (via soap webservices). The problem we have is that the reference to the linked sales order gets lost when we create the delivery and the sales order remains open. This does not happen when you click the delivery button in the UI. We tried contacting support with no answer

This is our payload:

<soapenv:Envelope xmlns:xsi="">www.w3.org/.../XMLSchema-instance" xmlns:xsd="">www.w3.org/.../XMLSchema" xmlns:soapenv="">schemas.xmlsoap.org/.../" xmlns:wss="">http://www.adonix.com/WSS">
<soapenv:Header/>
<soapenv:Body>
<wss:save soapenv:encodingStyle="">schemas.xmlsoap.org/.../">
<callContext xsi:type="wss:CAdxCallContext">
<codeLang xsi:type="xsd:string">ENG</codeLang>
<poolAlias xsi:type="xsd:string">POOLALIASTEST</poolAlias>
<poolId xsi:type="xsd:string"></poolId>
<requestConfig xsi:type="xsd:string">adxwss.optreturn=JSON&adxwss.beautify=true&adxwss.trace.on=off</requestConfig>
</callContext>
<publicName xsi:type="xsd:string">FPOPDEL</publicName>
<objectXml xsi:type="xsd:string">
<![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<PARAM>
<GRP ID="SDH0_1">
<FLD NAME="SDHNUM" TYPE="Char"></FLD>
<FLD NAME="SOHNUM" TYPE="Char">EXD0123EDI000000123</FLD>
<FLD NAME="BPCORD" TYPE="Char">C-000009</FLD>
</GRP>
<GRP ID="SDH2_2">
<FLD MENULAB="N/A" MENULOCAL="409" NAME="DRN" TYPE="Integer">1</FLD>
<FLD NAME="BPTNUM" TYPE="Char">S-000255</FLD>
<FLD NAME="ZBPTNUM" TYPE="Char"></FLD>
<FLD NAME="YTRACKINGNO" TYPE="Char">1zTr45681655655</FLD>
</GRP>    
<TAB DIM="30" ID="SDH2_5" SIZE="3">
<LIN NUM="1">
<FLD NAME="INVDTAAMT" TYPE="Decimal">12.50</FLD>            
</LIN>
</TAB>    
<TAB DIM="300" ID="SDH1_4" SIZE="1">
<LIN NUM="1">
<FLD NAME="ITMREF" TYPE="Char">FF5138</FLD>
<FLD NAME="QTY" TYPE="Integer">6</FLD>
<FLD NAME="CCE1" TYPE="Char">EXD001</FLD>
<FLD NAME="CCE2" TYPE="Char">OPS</FLD>
<FLD NAME="CCE3" TYPE="Char">AICG</FLD>
<FLD NAME="CCE4" TYPE="Char">LUBR</FLD>    
<FLD NAME="XSOHNUM" TYPE="Char">EXD0123EDI000000123</FLD>
<FLD NAME="VCRNUMORI" TYPE="Char">EXD0123EDI000000123</FLD>
<FLD NAME="PRHNUM" TYPE="Char">PIC000100</FLD>
<FLD NAME="PRELIN" TYPE="Integer">1</FLD>
</LIN>
</TAB>    
</PARAM>]]>         
</objectXml>

 

      </wss:save>
</soapenv:Body>
</soapenv:Envelope>

  • 0

    Since those fields are hidden and therefore can't be acted upon. Clicking the button or picking lines goes through additional processing logic.

    You could consider putting a custom field in the line screen (SDH1) that you can only access in web service mode (entry condition: GWEBSERV) and add a AM_* action to this custom field and tell it to fill the other hidden sales order number fields in.