cancel
Showing results for 
Search instead for 
Did you mean: 

PI JDBC select table from oracle database

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>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

Answers (1)

Answers (1)

ambrish_mishra
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Ambrish,

A variable date is being sent through the proxy which will be used to determine the "where" clause of the select statement. If I use the scenario you suggested, can I trigger it from ECC and how?

Thanks

ambrish_mishra
Active Contributor
0 Kudos

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