cancel
Showing results for 
Search instead for 
Did you mean: 

Store PI Payload data on a database Table

former_member210091
Participant
0 Kudos

Hey Guys,

We are on PI 7.1 and have a business need in which we need to store some data of the PI Message payload in a Database table (SQL server table). We have synchronous as well as async scenarios, the need is that when any message comes in PI , it should go to the intended target but at the same time, some attributes of the payload should be written to a database.

Below are some of the options i can think of:

Configure multiple receivers: The drawback is that if the scenario is sync, we need to use BPM for multiple receivers.

JDBC Lookup: In the Message mapping, have a JDBC lookup which will write the data to Database table, as given in blog. /people/arpil.gupta/blog/2008/11/03/workaround-for-jdbc-scenarios (i have read the comments section of it too)

ABAP mapping: Add an extra ABAP mapping step in Operations Mapping, this Mapping will write certain attributes to a table on PI system, we can configure another interface to get the table from this table and write to the Database.

Configure TREX: This is the easiest option but requires separate installation (and probably separate license).

Has anyone implemented this kind of scenario? what was the approach? is there any other way to achieve this functionality.

Thanks

Saif

Edited by: Saif Manzar on Jun 15, 2011 7:48 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

>Configure TREX

Need to maintain in each environment & it takes time & installation whn compare to other option

>Configure multiple receivers

Yep, no need to use BPM, we can configure in Receiver determination.

use JDBC lookup....

Answers (3)

Answers (3)

Former Member
0 Kudos

hi

if you can write Java program, you ll make module processor.

you can realize your sinario to use module processor.

before reciever adapter move, the module is move.

and module can use payload, so you can easy to insert to DB.

Naoki

Former Member
0 Kudos

Hi Saif,

I recon you to go for 1st option: Configure multiple receivers.

Asynchronous: Map Source Message to multiple target messages one for SQL Server and another for actual Receiver. This will take obviously less processing time than the other options mentioned. Then configure the multiple receivers based on the target messages.

Synchronous: I guess you can't reuse the Operation Mapping used for Asynh scenario for this Sync scenario. So you need to go for another Operation Mapping with Synch Service Interfaces. So in this case use BPM. BPM is used only in this synch case.

Regards

Praveen K

agasthuri_doss
Active Contributor
0 Kudos

Saif,

>Configure TREX

Need to maintain in each environment & it takes time & installation whn compare to other option

>Configure multiple receivers

Yep, Need to use BPM, If the data is less than 10 mb you can go for it

>JDBC Lookup

I prefer this option , You can nail down easily if any error

>ABAP mapping:

More work involved whn compare to JDBC option

Cheers

Agasthuri