cancel
Showing results for 
Search instead for 
Did you mean: 

Reading Header values (BPM loop end condition)

justin_santhanam
Active Contributor
0 Kudos

Hi friends,

I have doubt in configuring the end condition in BPM Loop step. My scenario works like this, I'm receiving a file in BPM and creating a loop, I have to give my end condition based on the Header values in the payload. I know its possible for us to give the end condition if its belong to payload elements , but I don't know <i><b>"how to use the header value to give the end condition for the loop"</b></i>. Kindly help me out to resolve this scenario.

Thanks & Reagrds,

J

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Before receiving your file into BPM, execute a mapping in that try to acces the header values and assign them to some fields of payload.

hope this helps,

Regards,

Datta.

Answers (3)

Answers (3)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

There are a few Header Fields that are not accessible inside the transformation of your BPM.

Eg : in this thread

1. First confirm if the Field is accessible inside the mapping.

2. If yes, then Go to the Condition Editor, --> Select Radio Button Interface Variable --> Radio button Context Object and here you can select the context object.

Regards

Bhavesh

Former Member
0 Kudos

HI,

If you look into this thread and read through the discussion you will get some insight on why a few parameters are not accessible inside the BPM.

We ran into the same issue and submitted an OSS Message about it. Here's the response from OSS:

it's a known issue.

when programming a mapping you must differenciate between two cases:

Will your mapping be executed on the BPE (business process engine) or

within an ordinary step on the integration server.

Due to the different functionality of the BPE (e.g. split/merge) some

parameters are not accessible and will not be evatuated there. This is a

behaviour that was designed that way.

if you are calling the mapping from the BPE engine, the MEssage ID

and other constants are not accessible. The BPE engine can

split/merge XI messages and then i makes no sense to correlate

the messages in the BPE engine to any Message ID.

If you are executing the mapping

within an ordinary step on the integration server

all Mapping Runtime Constants mentioned in the document under

http://help.sap.com/saphelp_nw04/helpdata/

en/84/4afc51f65c4e4fabfbbbd25f548ab7/frameset.htm

->Design -> Designing Mappings-> Imported Archives (XSLT/Java)

->java mapping

are accessible.

A possible solution for your problem would be to map the MESSAGE ID

into the Xi payload before the XI message is transferred to the

BPE engine. In the BPE engine you can then read the MessageID

from the XI payload.

See the below links..

Regards

Chilla..

<i>Points please if it is usefull...</i>

prateek
Active Contributor
0 Kudos

Hi,

U may use ASMA : ASMA (Adapter Specific Message Attributes/Dynamic Configuration) can be accessed in routing and mapping. This value then can even be modified.

For this u may use any of the mappings (message, xslt, java)

U may also refer to this link

Regards,

Prateek