Skip to Content

Many of our customers have been reaching out to us requesting for an option to create and release Third-Party(TPOP) Inbound delivery notification via web-service. This blog will explain how you will be able to create a TPOP or a standard IDN through web-service.

Pre-Requisite:

You should create a communication arrangement with the communication scenario “Input of Advanced Shipping Notification”. Make sure that the “Application Protocol” field has the value Web Service and not SAP NetWeaver XI 3.0. The value in this field would be SAP NetWeaver by default. You will have to change the value to Web-service by entering the value 5 in the Application Protocol field.

Once you hit enter the value will be update to Web Service as shown in the screen shot below.

Once the communication arrangement is created and is active, navigate to the  Edit Advanced Settings screen of the same communication arrangement to access the Service URL and the WSDL via which we will execute the scenario.

Third Party Inbound Delivery Notification:

Use the below XML format to create Inbound Delivery notification for your Third-Party Purchase order. Additional fields/tags can be added from the WSDL file that you have downloaded from the newly created communication arrangement

I have provided the above XML is text format so that it is possible to copy the payload from here.

<soap:Envelope xmlns:soap=”http://www.w3.org/2003/05/soap-envelope” xmlns:glob=”http://sap.com/xi/SAPGlobal20/Global”>
<soap:Header/>
<soap:Body>
<glob:DeliveryDespatchAdviceNotification>
<MessageHeader>
<CreationDateTime>2017-03-23T02:03:00.0000000Z</CreationDateTime>
<SenderParty>
<InternalID schemeID=”CommunicationPartyID” schemeAgencyID=”_LOCAL_SYSTEM_ALIAS_SAP_INTERNAL_CONSTANT_VALUE_”>Partner_ID</InternalID>
<!–Communication Partner Id(available from Communication Arrangement) :–>
</SenderParty>
<RecipientParty>
<InternalID schemeID=”CommunicationPartyID” schemeAgencyID=”_LOCAL_SYSTEM_ALIAS_SAP_INTERNAL_CONSTANT_VALUE_”>Company_ID</InternalID>
<!–Company ID :–>
</RecipientParty>
</MessageHeader>
<DeliveryDespatchAdvice reconciliationPeriodCounterValue=”1″ actionCode=”01″>
<ID>IDN_ID</ID> <!– Delivery Notification Id :–>
<TypeCode>TPDI</TypeCode> <!– Code Indicated the IDN should be created for Third Party Purchase Order :–>
<CancellationDocumentIndicator>false</CancellationDocumentIndicator>
<VendorParty>
<InternalID>Supplier_ID</InternalID>
<!–Supplier Id :–>
</VendorParty>
<ProductRecipientParty>
<InternalID>Ship_to_party_ID</InternalID>
<!–Ship-To Party :–>
</ProductRecipientParty>
<Item>
<CancellationDocumentIndicator>false</CancellationDocumentIndicator>
<ID>10</ID> <!– Line Item Id for IDN :–>
<TypeCode>14</TypeCode> <!– Do not Change :–>
<DeliveryQuantity unitCode=”EA”>10</DeliveryQuantity> <!– Quantity:–>
<DeliveryQuantityTypeCode>EA</DeliveryQuantityTypeCode> <!– UoM Code :–>
<Product>
<BuyerID>Product_ID</BuyerID> <!– Product Id :–>
<TypeCode>1</TypeCode>
</Product>
<OriginPurchaseOrderReference>
<ID>PO_ID</ID> <!– Purchase Order Id :–>
<TypeCode>001</TypeCode> <!– Do not Change :–>
<ItemID>1</ItemID> <!– corresponding line item id in purchase order :–>
</OriginPurchaseOrderReference>
</Item>
</DeliveryDespatchAdvice>
</glob:DeliveryDespatchAdviceNotification>
</soap:Body>
</soap:Envelope>

Once the above XML is executed you can see that the system would have created and released a TPOP Inbound delivery notification.

Standard Inbound Delivery Notification:

You can use the below XML code to create an inbound delivery notification for a standard Purchase Order.  The only difference you will find is for the value inside the tag <TypeCode>SD</TypeCode> . The rest of the values are identical to the above provided XML.

You can add the tags as per your requirement to the above XML. If there are any more queries on the same please do reach out to me in the comments section.

To report this post you need to login first.

9 Comments

You must be Logged on to comment or reply to a post.

  1. Charm M

    Great Blog .

    I think Input of Advanced Shipping Notification is a B2B service.

    A2X services are Synchronous services, in that the response is send back in the same call. Whereas B2B services are Asynchronous services, no response is send back in the same call, but response can only be viewed via business communication monitor.

    So, how can I know this process is successful or fail if the third party user don’t access to view business communication monitor.

    Best Regards,

    Pole

    (1) 
    1. Anand Deth. G Post author

      Dear Pole,

      You are right about the behavior of synchronous and asynchronous messages. Other than checking in the Business Communication Monitoring, the end user will not be able to identify the success of the message sent. We are currently working with one of our customers for exactly the same issue where they have used custom web-service exactly due to the above mentioned reason. We are currently in touch with the technical team to try and identify if any refinement can be done from our side to make sure the custom web-service from the customer end get the relevant response required. However, if you are using the above standard web-services you will not be getting a response once you trigger the web-service.

      I  hope this helps.

      Regards,

      Anand

      (1) 
    1. Anand Deth. G Post author

      Dear Pole,

      You are welcome.  Please feel free to discuss your issues in the ByD system in the community space and we will try and help you from our end.

      Regards,

      Anand

      (1) 
  2. Olli Paavola

    Very good post!

     

    Regarding passing logistics measurements with this webservice. It seems that you can pass with payload Gross kgs and Gross volume and the same in nets, but there are no fields visible in UI for net-measurements in delivery notifications. Do you happen to have an idea how these could be achieved without interfering with SDK?

    These are the payload tags:

    <GrossVolumeMeasure unitCode=”MTQ”>2</GrossVolumeMeasure>
    <!–Optional:–>
    <NetVolumeMeasure unitCode=”MTQ”>1</NetVolumeMeasure>
    <!–Optional:–>
    <NetWeightMeasure unitCode=”KGM”>10</NetWeightMeasure>
    <!–Optional:–>
    <GrossWeightMeasure unitCode=”KGM”>15</GrossWeightMeasure>

    (0) 
    1. Anand Deth. G Post author

      Dear Jimmy,

      I am not an expert in excel templates, however you can have an excel template created mapping the fields of the XML payload and invoke the above web-service. This can be done, but how this can be done needs to be further discussed with members who have had exposure in mapping the XML file to excel.

      Regards,

      Anand

      (0) 

Leave a Reply