3/5/2021 ABAP Outbound Proxy | SAP Blogs
Community
Ask a Question Write a Blog Post Login
Sathwik Reddy G K
December 7, 2015 13 minute read
ABAP Outbound Proxy
Follow RSS feed Like
14 Likes 39,081 Views 5 Comments
Introduc on
The Proxy is used as an Interface to transfer or receive from or to the ABAP system.
Depending on the direc on of flow of data Proxy can be divided as
1. Client Proxy:
Proxy used for transfer of data from ABAP end. The classes generated when we create proxy will be for Outbound.
We need to call the method of Proxy class to transfer the data from ABAP end.
2. Server Proxy:
Proxy for inbound interface is called Server Proxy.
This document briefly explains the step by step procedure needs to be followed to pass data available in an internal
table in SE38 executable program to PI using Proxy. This is for Client Proxy (Outbound).
[Link] 1/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Step By Step Procedure for Crea ng Proxy
Step1: The Proxy Service Interface has to be created by PI consultant from PI side. This will further reflect in ABAP side in T-Code
“SPROXY”.
Step2: Create the Proxy from T-Code “SPROXY”.
a. The Proxy created from PI side will be reflected with following details in SPROXY
(All details are for example please refer the screen shot 1 to check where it will be available)
So ware Component: “Example 1.0 of INV”
Namespace: h p://example/xyz/InvoiceDeltaLoad
Service Interfaces: “S168_InvoiceDeltaReplica on_XXX_IB” for Inbound
“S168_InvoiceDeltaReplica on_OB” for Outbound.
Fig1
b. Proxy Name will be available once we generate the Proxy.
[Link] 2/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
To generate proxy we need to right click on Service Interface “S168_InvoiceDeltaReplica on_XXX_IB”
for Inbound and “S168_InvoiceDeltaReplica on_OB” for Outbound and click on “Create Proxy”.
Fig 2
c. The following dialog will popup when we select “Create Proxy”.
We need to give the “Package” and “Transport Request” to which the Proxy needs to be saved.
A prefix needs to be given which will be used as prefix for all the Objects generated while crea ng proxy. If we click on
con nue and then select on finish the proxy will be generated. Then we need to save and Ac vate the Proxy.
Once the proxy is created for a service interface then that Interface will be marked as Green.
[Link] 3/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Fig 3
As you can see in “Fig 1” the outbound Proxy “S168_InvoiceDeltaReplica on_OB” was already
created so it is marked Green. In the Right hand side of the “Fig 1” we can find the Proxy Name when we
double click on the generated Service Interface. In this case since the Outbound Proxy was already
generated we can find the Proxy name of that.
Proxy Name: ZDL1CO_S168_INVOICE_DELTA_REPL
d. The objects created when we generate a Proxy is as follows
i. Data Type
“S168_InvoiceDeltaReplica on_DT”
ii. Message Type
“S168_InvoiceDeltaReplica on_MT”
iii. Proxy Class.
Proxy Class name and Proxy Name will be same.
(For example “ZDL1CO_S168_INVOICE_DELTA_REPL”)
[Link] 4/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Fig 4
Coding required in ABAP end
Step1: Code to be wri en in SE38 to pass the data from internal table to the Proxy.
a. Following Screen Shot shows the methods available in Proxy (ZDL1CO_S168_INVOICE_DELTA_REPL).
[Link] 5/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Fig 5
b. Call the Method “S168_INVOICE_DELTA_REPLICATION” and Pass the data to the Impor ng parameter
of the Method. Below Screen Shot shows the impor ng parameter of the Method.
Fig 6
[Link] 6/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
c. The Impor ng Parameter “OUTPUT” will be a Deep Structure.
Following Screen Shots show the deep structure of “OUTPUT”.
OUTPUT(Parameter) – ZDL1S168_INVOICE_DELTA_REPLIC2 (Associated Type)
Fig 7
Components of ZDL1S168_INVOICE_DELTA_REPLIC2
[Link] 7/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Fig 8
S168_INVOICE_DELTA_REPLICATION(Component) – ZDL1S168_INVOICE_DELTA_REPLICA(Component type)
Fig 9
Components of ZDL1S168_INVOICE_DELTA_REPLICA
Fig 10
[Link] 8/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
“ZDL1S168_INVOICE_DELTA_REP_TAB” will be the table type of line type
“ZDL1S168_INVOICE_DELTA_REPLIC1” the Structure of the Proxy table to which the data has to be
passed. This structure of Line type must be similar to the structure of internal table of the program
from which the data has to be passed.
The Structure of Line Type “ZDL1S168_INVOICE_DELTA_REPLIC1” in this case is
Fig 11
d. Now before passing the data to the Method we need to pass the en re data available in the Internal table
to the Internal table which is of type, table type “ZDL1S168_INVOICE_DELTA_REP_TAB” explained above.
e. Pass the data from step d to “OUTPUT-S168_INVOICE_DELTA_REPLICATION- INVOICE”
(Deep Structure) and then pass the “OUTPUT” to Method “S168_INVOICE_DELTA_REPLICATION”
of class “ZDL1CO_S168_INVOICE_DELTA_REPL”.
Sample ABAP code
[Link] 9/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Following is the Example code needs to be written in ABAP end.
Here it_fin_delta[] is internal table in which the data to be passed to Proxy will be available.
DATA: it_output TYPE zdl1s168_invoice_delta_replic2,
it_delta TYPE zdl1s168_invoice_delta_rep_tab,
wa_delta TYPE zdl1s168_invoice_delta_replic1,
z01_otc_delta_class TYPE REF TO zdl1co_s168_invoice_delta_repl,
z_otc_cl_exception TYPE REF TO cx_ai_system_fault,
l_error TYPE string.
IF it_fin_delta[] IS NOT INITIAL.
LOOP AT it_fin_delta INTO wa_final.
MOVE-CORRESPONDING wa_final TO wa_delta.
APPEND wa_delta TO it_delta.
CLEAR:wa_final,wa_delta.
ENDLOOP.
it_output–s168_invoice_delta_replication–invoice = it_delta.
CREATE OBJECT z01_otc_delta_class.
CREATE OBJECT z_otc_cl_exception.
CLEAR:l_error.
TRY.
CALL METHOD z01_otc_delta_class->s168_invoice_delta_replication
EXPORTING
output = it_output.
COMMIT WORK.
[Link] 10/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
CATCH cx_ai_system_fault INTO z_otc_cl_exception.
l_error = z_otc_cl_exception->errortext.
MESSAGE l_error TYPE c_e.
EXIT.
ENDTRY.
IF sy–subrc EQ 0.
MESSAGE text–i05 TYPE c_s.
ENDIF.
ELSE.
WRITE: text–i06.
ENDIF.
Issue which can be faced during development with solu on
Issue:
There was an issue experienced during the development for the Outbound Proxy. The issue was that the Data sent from ABAP side
was ge ng stuck in the Queue. If we open the T-Code SMQ2 we can see that the queue is ge ng stuck and if we open the queue
and process the data manually then the data was being sent to the PI side.
Solu on:
We have to register the name of queue which will be created and in which the data will be stuck when we try to pass data.
[Link] 11/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
For example consider the Queue name will be “XBTS1254”. Here you can check that whenever the data is passed it gets stuck in
queue which starts with “XBTS”. So we need to register queue with name XBTS*
1. Go to Transac on SMQR. This T-Code is used to Register the Queue.
Fig 12
2. Click on Registra on. The following POP up appears.
[Link] 12/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Alert Moderator
Assigned tags
ABAP Development | abap | proxy |
Fig 13
Related
3. Queue name: Blog Posts XBTS*(Example)
MODE: D (Preferable by SAP)
Consuming SAP HANA Procedures from ABAP [In Side Car Approach]
By Former Member , Sep 25, 2014
[Link] me: 60(Example)
Create dynamic proxy persistently in Java and ABAP
By Jerry Wang , Jan 28, 2017
Logical Des na on should be Empty. Else the data will s ll be stuck in Queue.
Error Handling of Outbound Proxy Calls
ByA Tobias
empts:Trapp , Feb 18, 2013
30(Example)
Pause: 300(Example)
Related Questions
Scheduler Monitoring: 0(Example)
Proxy out of date error. Please help!
By Gopalkrishna Baliga , Oct 12, 2011
4. Once
Abap the Queue
Proxy is registered
Generation with the name then the data will be passed directly to Proxy without ge ng stuck.
(Outbound)
By Former Member , Sep 01, 2006
Error in ABAP Proxy SERIALIZE_APPLICATION_DATA Conversion error ABAP => XML
By Satish Karemore , Oct 23, 2017
5 Comments
[Link] 13/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
You must be Logged on to comment or reply to a post.
Former Member
December 8, 2015 at 5:12 pm
Great work Sathwik! Really appreciate your understanding in Outbound Proxy.
Like(0)
Sathwik Reddy G K | Post author
December 8, 2015 at 5:45 pm
Thanks Gilbert 🙂
Like(0)
Former Member
December 11, 2015 at 9:59 am
I am new to proxy concept in abap. Your work helped me quite well in understanding the concept
Like(0)
AKIL SYED
May 22, 2019 at 8:41 am
I am from LTI. Nice document....
Like(0)
rajeswari CH
August 12, 2020 at 1:20 am
Simple and clear understanding [Link] you.
Like(0)
[Link] 14/15
3/5/2021 ABAP Outbound Proxy | SAP Blogs
Find us on
Privacy Terms of Use
Legal Disclosure Copyright
Trademark Cookie Preferences
Newsletter Support
[Link] 15/15