on 09-21-2011 4:35 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.