cancel
Showing results for 
Search instead for 
Did you mean: 

Bpm Pattern Collect Payload

Former Member
0 Kudos

I am trying to merge multiple inputs within a loop and then merge them in a transformation step and then send the merged output.

I am getting an error <i>"Expression must return a multiline value"</i> because I assigned a multiline container to the source message of the transformation step. I made sure that occurances for the messages are 0..unbounded.

Has anyone faced this issue before?

Accepted Solutions (1)

Accepted Solutions (1)

Shabarish_Nair
Active Contributor
0 Kudos

<i>"Expression must return a multiline value"</i>

>>>

Check the following;

1. In mapping - source is 0-unbounded

2. Interface mapping - is 0-unbounded

3. In BPM the abs intef. has been checked as multiline.

4. This multiline container is being used in your transformation step.

Former Member
0 Kudos

Vijayakumar,

Regarding your point #2 "2. Interface mapping - is 0-unbounded",

how and where I would specify the occurance for Interface mapping?

For mapping I specified the source as 0..unbounded and target as 1 (in the messages tab), when I go to interface mappping, it is giving an error

<i>"The number or frequencies of source or target messages for the message mapping are not identical to the number or frequencies of source or target interfaces."</i>

My data type is all 1.

Shabarish_Nair
Active Contributor
0 Kudos

in the int. mapping, in the source interface you will find a TAB called occurance after namespace and SC version. U can change it there.

Former Member
0 Kudos

That worked, phew!! I never relaized that I could specify occurance at interface mapping level.

Thanks guys.

Former Member
0 Kudos

One more issue related to this scenario. As per SAP's pattern for "stop collect based on payload", the initial loop needs a condition based on the payload element.

My condition is

<i>(PurchaseOrder./p1:MT_PurchasOrderReq/TotalNumberOfMessages &#8800; MsgCount)</i> similar to SAP BPM Pattern.

I don't get any error in IR or ID, but once the integration process is activated in ID, I see a return code of 99 for this integration process in SXI_CACHE. The Activation log error says <i>'TOTALNUMBEROFMESSAGES' is not a component of data object 'PAYLOAD'</i>

I get the same error if I import SAP's BpmPatternCollectPayload integration process in to ID and activate it.

If I change my condition to <i>(MsgCount &#8800; 3)</i> then it works. Am I missing some kind settings?

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

You need to have target as multiline and source as non multiline. Look into collection pattern in Software Component SAP BASIS 6.4 or verify it against documentation of the pattern:

http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm

Regards,

Wojtek