Introduction:-
In SAP ABAP, inbound delivery and outbound delivery proxies refer to the asynchronous communication interfaces used to exchange delivery data between SAP and external systems (like warehouses, logistics providers, or other SAP systems) using proxies (usually created from Enterprise Services or via SOA tools like SPROXY). Here's the breakdown:
What is a Proxy in SAP ABAP:-
A proxy is an ABAP object generated from an Enterprise Service Definition (WSDL/XML schema). It allows the SAP system to send or receive messages in XML format, typically used in SAP PI/PO, SAP Cloud Integration, or other middleware scenarios.
Outbound Delivery Proxy:-
Meaning:-
An outbound delivery proxy sends delivery data from SAP to an external system.
Use Case:-
- Notify a warehouse system about deliveries.
- Send outbound delivery details (items, quantities, shipping info).
Flow:-
- Delivery is created or changed (e.g., in VL01N, VL02N).
- ABAP program or output type triggers the proxy class.
The proxy sends XML data to the middleware or external system.
Inbound Delivery Proxy Meaning:-
Meaning:-
An inbound delivery proxy is used when SAP receives delivery data from an external system.
Use Case: -
- A 3PL (third-party logistics) system sends inbound delivery confirmation.
- ASN (Advanced Shipping Notification) integration.
Flow:-
- External system sends delivery data (in XML).
- Middleware routes it to SAP.
- SAP uses the inbound proxy class to receive and process the data (e.g., create/update delivery document in SAP).
Technical Tools Involved:-
- SPROXY: To view or generate proxy classes.
- SOAMANAGER: To configure endpoints (for web services).
- PI/PO / SAP Cloud Integration: Middleware for routing messages.
Summary:-
Difference Between Inbound and Outbound Delivery Proxy:-
In SAP ABAP, SPROXY is a transaction code used to manage and generate ABAP proxies, which are used for communication with other systems, particularly via SAP Process Integration (PI) or SAP Process Orchestration (PO). These proxies act as interfaces, enabling data exchange between SAP systems and external systems using standard protocols like SOAP and HTTP.
Debug and Test Inbound ABAP Proxy:-
There are two methods to debug ABAP inbound proxies in SAP:-
- Debugging using SPROXY test feature
- External Debugging
Each method has it’s own advantages, disadvantages, limitations and use cases. But, using these two methods you can fully debug and test an inbound ABAP proxy.
Use Cases – Troubleshoot using SPROXY:-
The internal SPROXY debugging method is useful if you need to debug variations of the same XML input message. This is a great way to test and debug SAP application processing without having to connect with the external system or PI/PO. Moreover, using this method ABAP developers can work independently to complete Developer Unit Testing (DUT) scenarios without integrating the interface end-to-end.
Use Cases – Troubleshoot using External Debugging:-
We can use the external debugging method if you need to debug the proxy logic when messages are triggered by the external system or PI/PO. This will allow us to troubleshoot connectivity related issues, issues due to proxy version inconsistencies, character set issues, etc. Or if proxy messages are sent with attachments, you can use external debugging methods to identify attachment related issues.
To use either method, you first need to identify the ABAP implementing proxy class. Additionally, you need proper authorization, proxy connectivity between ECC and SAP PI/PO completed, and proxy class generated/activated.
How to Find the ABAP Proxy Implementing Class:-
Before you can debug the ABAP inbound proxy, first you must find the ABAP proxy class. Then, you need to set a break-point in the appropriate method or ABAP code line in the ABAP implementing class. Break-point could be either a session break-point or an external break-point depending on the debugging method you choose.
You can find the ABAP Proxy class in two easy steps:-
- Step 1 – Find the Inbound Service Interface and Namespace
- Step 2 – Determine the ABAP Proxy class using SPROXY transaction
Determine the ABAP Proxy Class Using SPROXY Transaction:-
Now that you have identified the Inbound Service Interface details such as name, SWCV, and Namespace, go to transaction SPROXY in SAP back-end system and navigate to the interface using the navigation tree.
In the navigation tree select of SPROXY, select Source > ESR > SWCVs > SWCV > Namespaces > Namespace > Object Types > Service Providers > Service Interface Name.
Navigation menu of SPROXY in SAP back-end system.
Double click of the Service Interface Name under the Service Provider view, to find the SAP ABAP OO Implementing class of the interface in “Implementing Class” field.
Another approach --> click on OpenObject ->provide the proxy's name and click ok.
Set a Session Debugging Break-Point in the ABAP Proxy Method.
Session break-point assigned in ABAP code.
Select “Test Service Provider.
Go back to the main screen of the SPROXY transaction after setting the break-point.
To simulate the inbound proxy click on the “Execute” button on the main menu. This will trigger the “Test Service Provider” function of SPROXY.
Now we can see the display request in XML format.
Define and Edit Input XML message:-
In the next screen, you can define the input XML message you would like to simulate. If you selected the option “Generate Request Template” in the previous step, you can simply change the values of the XML nodes as required.
To change the XML message generated by the system, click on “XML Editor” option in the header menu.
Give the appropriate field name and execute, we can see this in debug screen:-
External Debugging Steps:-
Most of the steps to debug inbound proxies using external debugging method are the same as debugging using SPROXY. For example, finding the service interface, proxy class are the same for external debugging as SPROXY debugging. But, there are two very important distinctions between the two different methods.
To set up external debugging, additionally, you need to,
- Find HTTP system user.
- Configure User-Specific Debugging Setting in SAP Back-end.
- Set an external debugging break-point instead of a session breakpoint.
Step 1 – Find HTTP System Username:-
The first step is to find the HTTP system user used to connect the SAP system with SAP PI/PO. When the external system or PI/PO sends inbound Proxy messages to SAP, this user will authenticate the exchange of messages. We need this username to set the external debugging break-point in the next step.
Step 2 – Configure User-Specific Debugging Setting in SAP Back-end:-
To configure the user-specific debugging settings open any ABAP editor and go to Utilities > Setting > ABAP Editor > Debugging.
Then set the user of Debug External Requests (RFC, HTTP) with the HTTP user we determined from the HTTP destination in PI/PO.
Step 3 – Set External Debugging Point:-
Instead of a session debugging point, set an External Break-point in the Proxy ABAP code.
Conclusion:-
SAP proxies simplify integration by bridging SAP and external systems without handling low-level protocols. With a solid grasp of inbound/outbound proxies and the ability to debug using both session and external debugging, developers can design stable interfaces and resolve issues efficiently. This combination ensures smoother communication, faster troubleshooting, and more reliable end-to-end processes.
Thank You__
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.