cancel
Showing results for 
Search instead for 
Did you mean: 

Splitting Message using BPM

Former Member
0 Kudos

hi,

I am not able to see the split in BPM when using SWITCH.

Scenario: IDOC->XI->Multiple Receivers with error handling using BPM

In BPM SWITCH i have 2 steps.

1st branch step has Transformation0, Receiver Determination0 and Send0

2nd branch step has Transformation1, Receiver Determination1 and Send1

Receivers will be differnt. Container elements have 2 receivers for Receiver0 and Receiver1

When the IDOC is triggered i can see only one message in SXMB_MONI.

I don't see any failure steps in SXMB_MONI_BPE.

In the ID, i have 2 receivers configured.

Why aren't the messages being processed?

Thanks,

Tirumal

Accepted Solutions (0)

Answers (1)

Answers (1)

moorthy
Active Contributor
0 Kudos

Hi Tirumal,

Switch is condtional step. It is not for Split. It is like If-Else condition. If you want to split the messages in the same time, then go for Fork step.

http://help.sap.com/saphelp_nw2004s/helpdata/en/24/e2283f2bbad036e10000000a114084/frameset.htm

http://help.sap.com/saphelp_nw2004s/helpdata/en/6a/db283fd0ca8443e10000000a114084/frameset.htm

http://help.sap.com/saphelp_nw2004s/helpdata/en/14/d5283fd0ca8443e10000000a114084/frameset.htm

Hope this helps,

regards,

Moorthy

Former Member
0 Kudos

Moorthy -

Well, i think i used the wrong statement here by using "SPLIT" but i meant conditional branching and determining the receiver using SWITCH.

I want to send an IDOC based on its PARVW and PARTN to a specific receiver using BPM.

I have to implement some error handling logic so i have to use BPM.

I have the PARVW as 'LF' with single quotes and PARTN='0000007691'.

and the other branch in the switch condition as 'LF' and PARTN='0000007692'.

SWITCH fails. Workflow doesn't show the message being processed by the SWITCH.

Any tips would be greatful.

Thanks,

Tirumal

moorthy
Active Contributor
0 Kudos

So, you need to execute either of one branch at a time right ? If so, try to check the condition given in the Switch . Data Type used , Quotes etc. Also make sure that your input message to the switch containes namepspace.

Hope this helps

Regards,

Moorthy

Former Member
0 Kudos

Moorthy -

Right. One branch based on a condition in IDOC and send it to that specific receiver.

I checked the condition in the Switch and also the data type, quotes etc. Looks good. Input message has the namespace too.

I have not used the Receiver Determination Steps here just only the Sender Steps also without any Receiver Steps as described in my first question in the thread.

What else could be the problem.

Thanks,

Tirumal

Former Member
0 Kudos

Moorthy -

I checked the SXI_CACHE and displayed a status of 99. So activated it there and sent the message.

Now the message goes to OTHERWISE in the SWITCH statement though the condition satisfies in the IF Statement.

Any tips why this is happening.

Thanks,

Tirumal

moorthy
Active Contributor
0 Kudos

Is there mulitple messages are coming ? Check the Multiline option in the condition editor check,

And also change the condition in the Otherwise branch and If Branch(i.e vice-versa). Also check the values in the SXMB_MONI->PE->Technical Details

Thanks,

Moorthy

Former Member
0 Kudos

No. Multiline is unchecked.

Should i have to check this option?

Reversed the logic in IF and OTHERWISE. It still goes to the OTHERWISE.

Though i send a value of '000007692' which is in the IF condition, goes through OTHERWISE.

Any tips.

Thanks,

Tirumal

moorthy
Active Contributor
0 Kudos

Just try with Multiline and check .

Also check the Input Field Data Type and and the condition Data Type should be of same type.

Try this

First check with one message , try without giving quote if the input field is of type string.

-Moorthy

shailesh_mane
Participant
0 Kudos

Hello Triumal,

There is a bug in the coding for the SWITCH statement. I have faced this several times before. You may have to log in a CSN to get the fix. I had trouble with the SWITCH in different support packs for XI 3.0. Hope this helps.

Regards,

Shailesh

Former Member
0 Kudos

Multiline is checked still goes to Otherwise.

Checked both the input types. Both are strings.

Will check with one message.

I have set the Send context in both the Send0 and Send1 to 2 different values and using these Send context values in the ID in the ProcessStep(Contextpath) - receiver determination.

hope this helps

Thanks,

Tirumal

Former Member
0 Kudos

Moorthy -

Multiline was the problem. Once i checked the multiline started working.

Also tested with another message and another receiver.

Works now. Awarded you points.

This thread can be closed now.

Thanks.

Tirumal

moorthy
Active Contributor
0 Kudos

It is very nice to hear from you , that it is working.

Thank you,

Take care,

Moorthy

Former Member
0 Kudos

I couldn't find the option to award you points.

Also, everyone's points in this particular thread shows 0.

Once the option is available then will award you points.

Until then,

Thanks,

Tirumal