cancel
Showing results for 
Search instead for 
Did you mean: 

Table in Application system while implementing outbound proxy

Former Member
0 Kudos

Hello Everyone,

I am working on Proxy - PI - JDBC scenario. Once outbound proxy is generated, it creates Class, Method , Data Type and Message Type in Tx SPROXY of the application system. I want to trigger the outbound proxy by executing a report using selection screen.

My querry is where does the value of the selection screen is stored. Should I have to create a table for this purpose? Hows the structure of this table?

Can any one guide how could be the data declaration in the executable program?

Thanks

RST

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi RST,

When ever you are dealing with outbound proxies(Proxy to PI to JDBC), you have to pass the data in the output parameter of the proxy method.

The method will created automatically when you generate the proxy.

Call this method in your Program. Now you can fill this output parameter. To do this before calling proxy method create one table/structure similar to output parameter and finally pass that structure when you call proxy method.

Your new table/structure will contain all the data which we want to send in PI. Also you can refer above code.

I hope it helps

Regards,

Shradha

Former Member
0 Kudos

Hi Shradha,

Also the receiver application should have a table which should have the same structure similar to response message type in case of asynchronous messages.

In case of synchronous message, the sender as well as the receiver system should have 2 table resembling request and response message type.

Regards

RST

Former Member
0 Kudos

Hi RST,

You don't have to create a new table to store the values from the selection screen. You just passed the values from the selection screen to the output parameters of the ABAP proxy method. Declaration can be something like this:

DATA:

lo_object TYPE REF TO prx_co_proxy_name, u201CABAP proxy name

lw_request TYPE prx_mt_request, u201CProxy for Request message type

lw_response TYPE prx_mt_response u201CProxy for Response message type

FIELD-SYMBOLS:

<lw_request> LIKE lw_request-messagetype. "request message type

TRY.

CREATE OBJECT lo_object.

CATCH cx_ai_system_fault INTO lo_fault.

MESSAGE e003.

RETURN.

ENDTRY.

ASSIGN: lw_request-messagetype TO <lw_request>.

<lw_request>-customer_id = imv_customer_id.

<lw_request>-customer_name = imv_customer_name.

TRY.

lo_object->me_methodname( u201Ccall abap proxy method

EXPORTING

output = lw_request

IMPORTING

input = lw_response ).

CATCH cx_sld_api_exception INTO lo_sldexc.

lv_error = lo_sldexc->get_text( ).

MESSAGE e000 WITH lv_error.

RETURN.

CATCH cx_ai_system_fault INTO lo_fault.

MESSAGE e000 WITH lo_fault->errortext.

RETURN.

CATCH cx_ai_application_fault INTO lo_appfault.

lv_error = lo_appfault->if_message~get_longtext( ).

MESSAGE e000 WITH lv_error.

RETURN.

CATCH cx_root INTO lo_root. "#EC CATCH_ALL

lv_error = lo_root->get_text( ).

MESSAGE e000 WITH lv_error.

RETURN.

ENDTRY.

Regards,

Jenny

Former Member
0 Kudos

Hi Jenny,

As per comment from Shradha, there should be a table which resembles the same structure of request message type in the sender application. Your code shown is informative.

Regards

Robinson Thomas