cancel
Showing results for 
Search instead for 
Did you mean: 

A POC in SAP PI

Former Member
0 Kudos

Hello All,

I have to do one POC in PI.

The requirment is....for ex if we have three different mapping ussed in a single scenario and the maaping is either XSLT or JAVA mapping. Then we have to dump the output of every mapping on the file system and then this output will send to other mapping.

I have found three method.

1) By using BPM and File adapter

2) By writing the Java code so that after calling every style sheet a java program runs and we can write the output.....but i donot know hoe to do this...

3) To find the table in SAP where all the payload get stored and from there picking the data and then writing on to the server....In this the problem is wat is the table name...where i can found it and on what basis i will pick up the data...

Plz help

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Not Answered

Former Member
0 Kudos

hi hemant,

I ll suggest to go with BPM...

for the 3rd option i dont think that this can be possible..

bez mapping is a java componenet and accessing abap table from java part is not possible.

if u go through u ll find that SXSPEMAS, SXMSPMAST, SXMSMSTATT, SMPPRE13 are tha main abap table which storing all the info regarding message flow in sxmb_moni.

but here u ll not find any of the table which storing message pay load. please make a note that XI stores the payload in a hexadecimal format and cant be retrieved just by accessing a table field. u have to fetch the message payload using the XI message MSG_ID. The class CL_XMS_PERSIST provides a method called READ_MSG_ALL which reads a message using the message GUID and version.but this all are not possible in java componenet .

may be using abap mapping this can be possible, i am not sure..

regards,

navneet

Former Member
0 Kudos

Hi Navneet,

Can you tell me how to retirve payload from PI tables.....If we can do the I can transform hexadecimle format into file.

Thanks and regards

Hemat Gupta

former_member206760
Active Contributor
0 Kudos

after each mapping specify a graphical mapping which wil have a UDF that will open the connection and transfer the file there

Former Member
0 Kudos

your requirement is not clear

first of all what you want to acheive..

1. if you want to perform sequential mappings then you can go for BPM transformations

2. What is your exact requirement ?

Rajesh

Former Member
0 Kudos

Hello,

Thanks for ur reply..

We can go for multiple transformation without using BPM.

THe scenario is like this..

We have differnt XSLT maps and we are using the output of one maps as the input of other map.

So if in the scenario we have 2 or more maps we want the output of every map should be dunp on file system while it will server as input to other maps....

Thanks and Regards

Hemant

Former Member
0 Kudos

I think this scenario can be acheived through BPM only

as you need mapping output to be dumped in to server so in this case you need receiver adapter for doing the same which BPM provides..

you can do transformation and can invoke the fork step in the BPM for invoking another mapping and for dumping the output too

Explore the possiblities like that

Rajesh

Former Member
0 Kudos

Hello Rajesh,

By BPM i m able to do that...but I need some automation so that for evry new scnario we will not incliude the BPM.

What about writing a java code and after execution of every XSLT MAP and before calling new map we acan dump the file.

Is that possible.

Thanks and Regards

Hemant

former_member206760
Active Contributor
0 Kudos

i think you neither require a BPM nor need to dump the output in the file server

sequential mappings can be specified in the interface mapping directly where output of one will become input of the other

Former Member
0 Kudos

looks like some interesting scenario you want

can you be bit more detail as i am not clever in understanding deeply like you ..

Rajesh

former_member181962
Active Contributor
0 Kudos

Hi Hemanth,

Did you see Tarang's reply? I think that is the way to go about your requirement.

YOu can include multiple mappings in the interface mapping with the condition that the output structure of the mapping1 should be the input structure for mapping2.

Regards,

Ravi

Former Member
0 Kudos

Hello Experts,

I see Tarangs reply I know wat he is saying....but my requirment is differnt.

My requirment is.....

There is a scenario in which we are using more than one mapping and the maps are either JAVA MAP or XSLT map. So first we take XSLT map. So If we are using three XSLT maps in one scenario( output of one map is input of other)..I want the output of every map should be dumped in the file system and in the same time it will serve as input of other map. We can do it by BPM but if i have 100 scenario then it will create overhead on the server using BPM. So i need some other way to do that..... Can anyone give me the solution for this....

Thanks and Regards

Hemant

former_member206760
Active Contributor
0 Kudos

this can be achieved uing BPM but if you do not want to use BPM:

1. specify say 3 mappings in 1 interface mapping

2. now in the second mapping if you can open a connection to the file server and put a file there ( this file would be output of the 1st mapping

3. same applies for other mapipngs..e.g in the 3rd mapping at the start open the connection and write a file whihc will be output of 2nd mapping....

but i dont think this would be a robust design

former_member206760
Active Contributor
0 Kudos

2nd solution could be if u dont want to use bpm then...

suppose if there are 3 mappings ...u will have to create 3 interfaces ..

1. interface 1 will pick up the file(from sourcce S1) mapping 1 executed and target file generated on target folder (t1)

2.now for the 2nd interface folder t1 which was target for 1st interface will become source and 2nd mapping will be executed and target file generated in folder(t2)

then t2 will become source....so on and so forth

Former Member
0 Kudos

Hello Tarang,

These options are not feasable....we have to devlop more then 1000 scenarios ...so we want some gud solution like u gave opeining the file server...but can you explain how can we open the file server evrytime we call the next map....

The BPM and INterface solution we already tried and they work but they are overburden for the server proficiency.

Thanks and Regards

Hemant

former_member206760
Active Contributor
0 Kudos

hey hemant,

chk this link for file lookup....here instead of some values ....u can read the whole file...

https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/file%252blookup%252bin%252budf

hope this will be helpful