cancel
Showing results for 
Search instead for 
Did you mean: 

BPM Condition editor QUALF issue

Former Member
0 Kudos

Hi Gurus,

we are using a switch step to define different processing branches. If the "ORGID" in the second E1EDK14 segment is "S1" and the "QUALF" is "015", we can process the message. Otherwise the message hast to be stopped.

<E1EDK14 SEGMENT="1">

<QUALF>006</QUALF>

<ORGID>01</ORGID>

</E1EDK14>

<E1EDK14 SEGMENT="1">

<QUALF>015</QUALF>

<ORGID>S1</ORGID>

</E1EDK14>

<E1EDK14 SEGMENT="1">

<QUALF>008</QUALF>

<ORGID>1000</ORGID>

</E1EDK14>

We have been defined two simple variables (ORGID and QUALF) in switch step.

My guess was the following: (ORGID = "S1" & QUALF ="015") but it doesn't worked.

Is there any other solution?

Kind Regards,

Peter

Accepted Solutions (1)

Accepted Solutions (1)

former_member200962
Active Contributor
0 Kudos
If the "ORGID" in the second E1EDK14 segment is "S1"

i am highly doubtful if there is anything available in the condition editor of BPM which will check for second segment (a counter function)....may be you will have to make use of mapping in the receiver determination (source --> BPM) and then select the BPM as a receiver if second node has the desired value

Or use a mapping within the BPM which will have IDOC as source and one custom DT as target....populate Y/ N in one field of the custom-target message......then make a check in the Switch block if Node = Y/ N

Transformation (Y/ N) --> Switch.....

Answers (3)

Answers (3)

Shabarish_Nair
Active Contributor
0 Kudos
If the "ORGID" in the second E1EDK14 segment is "S1" and the "QUALF" is "015", we can process the message.

doubtful. the conditional editor dont seem to have that high an intelligence. You might want to do a mapping and based on a flag Y or N take your logic forward.

Former Member
0 Kudos

Hi,

Solved with mapping. Thanks a lot for your help points given.

Peter

former_member463616
Contributor
0 Kudos

Hi Peter,

Please see the below threads, it might be useful to you.

Edited by: Rajesh_1113 on Jul 12, 2011 12:30 PM

baskar_gopalakrishnan2
Active Contributor
0 Kudos

My guess was the following: (ORGID = "S1" & QUALF ="015") but it doesn't worked.

Is there any other solution?

Use AND instead of &

Former Member
0 Kudos

it seems not to be work.

Any suggestion?

former_member854360
Active Contributor
0 Kudos

Hi Peter,

Please check the Variable type.

for ORGID and QUALF

Define it as string not Integer.

If variable is an integer then in Condition you dont need to put any quotation

!(variable_2< 531) | EX variable_3

Also For and condition you need to use (& sign)

And for Or( | sign).

give it a try.

/*/*Conditions must have the following syntax: [<Not>][<Parenthesis>]<Variable><Operator><Variable> [<Parenthesis>]<Operator>

Declare condition variables in the Condition Variables view and assign values in the Bindings view.
For input assistance when defining a condition, press CTRL + SPACEBAR. Below is an example of a valid condition:*/
!(variable_1 = "abc") &
/*Conditions can also contain comments and formatting*/
!(variable_2< 531) | EX variable_3