cancel
Showing results for 
Search instead for 
Did you mean: 

How to get messageID in BPM

Former Member
0 Kudos

Hi all,

I am working on IDOC to JMS scenario . Here In Mapping I have to map the messsageID to one target field . I am using one UDF

[ java.util.Map param = container.getTransformationParameters();

String MSGID = (String) param.get (StreamTransformationConstants.MESSAGE_ID);

return MSGID; ]

and easliy achiving it . But the problem occurs if i have to collect mutiple IDOC ,for that I am using time base BPM and easily collectig the IDOC but the MessageID value is coming as NULL.

I have to mandatory provide one messageID value to my JMS target . Is it possible to get messageID when I am collectimg more than one message OR can I got any other unique vale insted of my messageID like correlation value or any other unique value ???

Regards,

Saurabh Sharma

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Wow... I still remember this problem... It is still fresh as it it were yesterday... I thought SAP would have resolved it by now....

Here is the workaround solution for that...

https://wiki.sdn.sap.com/wiki/display/XI/IntegrationProcess%28ccBPM%29inXI

BPM cannot fill the container variable like MessageId so how can we populate it..see the below blog to achieve this..

How to retrieve MESSAGE_ID from a BPM : /people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm

-Siva Maranani

Former Member
0 Kudos

I have faced a similar problem few days, back but no success.

Accessing Runtime Constants in BPM is not as easy

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi All ,

I got the solution . Michel blog stating to use additional message mapping solved my problem.The message mapping is a dummy one and the interface mapping is consits of same pair of interface which is being used in the Interface determination.

Thanks all for helping me to get the solution .

Regards,

Saurabh Sharma

Shabarish_Nair
Active Contributor
0 Kudos

Well the only option is to populate the message ID in a mapping outside of the BPM.

Store the message id in a field and then retrieve it inside the bpm via an abstract interface.

This is because of a technicality that some of those technical objects in this case the message id, are not available in the BPM

They can't be retrieved in a Transformation step.

Look into Mike's blog to help you understand.

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi ,

I think its not possible to retrive message ID in BPM.

Regards,

raj

former_member200962
Active Contributor
0 Kudos

where are you using the above mentioned UDF?

It needs to be included in the Interface Determination for Sender(IDOC)---> BPM flow.....you will get no value if the UDF is included in a Transformation Step in a BPM....

Regards,

Abhishek.