Skip to Content
avatar image
Former Member

PI JDBC select table from oracle database

Hi all,

I am new to the JDBC adapter and have been able to make interfaces to insert and update tables in an oracle database. I'm not sure if it is possible, but what I would like to do is execute a proxy from ECC to PI. The proxy would execute a message map designed to do a select on a table via the JDBC adapter to an oracle database. The selection would be passed back to PI and than through the proxy to ECC.

Is this possible? What is the workflow of how this works? Do I need anther map to receive the selection?

Thanks for your help.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Jul 26, 2013 at 12:19 AM

    >Is this possible? What is the workflow of how this works? Do I need anther map to receive the selection?

    Yes. This is possible.  You need to do Proxy to JDBC synchronous scenario.

    Proxy to JDBC request  (First Mapping)

    JDBC response to Proxy (second mapping)

    Basically you do sender proxy and receiver JDBC.  JDBC  receiver works as sync.  So create the structure as follows.

    Request message name    example  TestReceiver

    Response message name  example TestReceiver_response

    Please search scn for proxy sender scenarios and JDBC Receiver scenarios. There are plenty of documents, blogs available on this topic.

    Also use sap help document for JDBC  receiver structure for reference

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

    Follow the statement1 format... for creating receiver Data type structure...

    Hope that helps

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 26, 2013 at 01:24 AM

    Hi Shaun,

    You can design the interface like described by Baskar in his response.

    However, you can also explore doing a pull from the database directly.

    What are you sending from proxy to JDBC in the first leg. If you can avoid it, just select the data from JDBC into PI to ECC. this way you can avoid a synchronous call. You can simply make a select and mark the records as read. I assume you would be updating ECC in the return leg which is any ways achieved if it is simply a pull from the database.

    Give it a thought!

    Cheers,

    Ambrish

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Shaun,

      For trigger from ECC, you need an interface 2 way. trigger from ECC -> PI -> DB

                                                                                                  DB -> PI ->ECC

      I suggested you just do DB -> PI -> ECC

      which effectively means pull from database based on the where condition (Can be done by a stored procedure) or by scheduling the JDBC adapter to run as per a defined schedule.

      What is the variable date you want to send over to the database. Is it related to the frequency of interface run ?

      Ambrish