Skip to Content
author's profile photo Former Member
Former Member

CALL Oracle-Procedure in BW over XI

Hi all,

I want to call an Oracle-Procedure in the BW over XI. Further the procedure should get a number parameter and also return a number.

Can anyone please tell me if this should work. And if yes, how I can get it.

Thanks in foreward

Peter

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Posted on Dec 19, 2008 at 12:33 PM

    Hey Peter,

    Not sure if this would work differently with BW,. but if you have access to the Oracle Database and XI needs to call the Stored Procedure syncrhously, then this is definitely possible using a receiver JDBC adapter.

    Check this blog for a understanding of how the XML in XI would look for making a call to JDBC adapter to call Stored Procedures.

    Calling stored procs in MaxDb using SAP Xi

    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

    Regards

    Bhavesh

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 19, 2008 at 12:50 PM

    Thanks for the information, but I thought i have to use a proxy.

    I have created a proxy and a proxy-class.

    The implementation of my test-program looks like follows.

    Is my way right or totally false?

    Thanks

    REPORT zproxy_test.

    DATA:

    • Reference variables for proxy and exception class

    lo_clientproxy TYPE REF TO zco_mi_pp_masterdata_loa,

    lo_sys_exception TYPE REF TO cx_ai_system_fault,

    lo_appl_exception TYPE REF TO cx_ai_application_fault,

    • Structures to set and get message content

    ls_request TYPE zmt_pp_masterdata_load_msg,

    ls_response TYPE zmt_pp_masterdata_loadres_msg.

    • ls_request-mt_pp_masterdata_loadrep-start = 't'.

    TRY.

    • create proxy client

    CREATE OBJECT lo_clientproxy.

    CALL METHOD lo_clientproxy->execute_synchronous

    EXPORTING

    output = ls_request

    IMPORTING

    input = ls_response.

    CATCH cx_ai_system_fault INTO lo_sys_exception.

    CATCH cx_ai_application_fault INTO lo_appl_exception.

    ENDTRY.

    Add a comment
    10|10000 characters needed characters exceeded

    • Is this your Scenario?

      BW - XI - MES (Oracle DB)

      If yes, then you are on the right target.

      BW will trigger the call to XI using the proxy and then you will call the Procedure from Oracle using the blog I have listed above.

      The response can then be mapped back to the proxy response and this will be sent back to your proxy where you can what is needed thereon.

      Regards

      Bhavesh

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.