cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC synchrounous receiver adapter queries

former_member285898
Participant
0 Kudos

Hello Experts,

I have SAP PI/PO 7.5 , single stack version.

Requirement:

I need to implement, ABAP Proxy(XI-SOAP) to JDBC scenario with synchronous message transfer.

Once request is posted , i need to send response to ECC system that database updated or not, for particular each request only.

I have gone through with many blogs, but no where proper information provided to configure JDBC receiver channel. And some of the blogs are deleted.

Queries:

1) In below thread Mr. Ameet stated to use standard SAP modules like 'RequestResponseBean' & 'ResponseOneWayBean'.

     Thread :

     But after looking on SAP help for this two module, i found that this modules used for JMS adapter.

     So now my question is, it can be used in JDBC receiver adapter? and what sequence it need to be added to get response message?

2) In other below thread it is mentioned that use of Stored procedure can help.

     Thread : https://scn.sap.com/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures

     As shown in thread, i will define request and response structure, but how things need to be configured in Receiver JDBC adapter?

     Also stored procedure need to be define at Reciver database system, so how it should be executed in Remote system?

Kindly help for give queries.

Regards,

Karan Kholakiya

Accepted Solutions (0)

Answers (1)

Answers (1)

manoj_khavatkopp
Active Contributor
0 Kudos

Karan,

Is the outbound proxy sync or async ? if sync then no need of any modules just create a respsone mapping that's it no need of any special config at channel level . if async then you have to go for modules .

What operation you are doing ? Select /Update/Delete ?

Br,

Manoj

former_member285898
Participant
0 Kudos

Hello Manoj,

In my case vendor data will be moving from ECC to third party database.

Requirement:

There can be multiple action at runtime. It can be Insert or Update, action will be provided in sender message only. Once entry will be updated/inserted response should be gone to ECC system, that particular message is successful.

Currently i have one interface for vendor data transfer where ECC(RFC-asynch) to Third party (SOAP-asynch) running, so  i am thinking of message splitting at receiver side only using Asynch scenario.

Business is fine if i will create one more interface for synchrounous scenario.

So you can suggest me best option, should i create one asynch scenario for responser message or one synch scenario?

Also stored procedure structure need to create or normal JDBC structure created?

Regards,

Karan Kholakiya

manoj_khavatkopp
Active Contributor
0 Kudos

You can just create Proxy(sync)--->JDBC(sync) interface .

No need of any stored procedure you can use the action :UPDATE_INSERT .

Defining an UPDATE_INSERT Statement - Configuring the JDBC Adapter in the Integration Directory/PCK ...

you just have to create the response structure , once the data is inserted / updated the number of records which are successfully inserted / updated is sent back to PI system.


The response document has the following format, where one of the two values is 0 because either an UPDATE or an INSERT action is always executed:

<update_count>count</update_count>

<insert_count>count</insert_count>

Br,

Manoj

former_member285898
Participant
0 Kudos

Hello Manoj,

Thanks for information...

In my case they want which vendor number(which was in request) data is inserted or updated successfully in message response.

On ECC side ABAPer maintaining temporary Z table, once i will provide vendor numbers which are updated on database, they will compare vendor number and delete from table.

Please suggest for this.

Regards,

Karan Kholakiya

manoj_khavatkopp
Active Contributor
0 Kudos

Karan,

For getting the value from Request and Sending back the same in  response you can use below approaches :

using Dynamic Configuration :

Using Get/Put PayloadValue beans:

But note incase if you are sending 10 vendor numbers to insert/update in DB and due to some issue if any one of the updating/inserting fails then please note the whole request will be failed, you cant update only certain number of vendors the whole request has to be successfull.

Br,

Manoj