on 05-07-2008 10:09 AM
Hi,
I have the following condition :
Orders IDOC :
E1EDP01 ( standard node with 0....999999 occurnaces)
+ZORDERS ( custom segment ) 0 .... 999
++Qty
+E1EDP19 ( standard segment ) 0 .... 5
++QUALF (can hav 001,002,003,004,005 once in each occurance)
++IDTNR
Conditon : If E1EDP19-QUALF == 002 and ZORDERS-Qty > 0, then populate IDTNR
I have tried many ways, not getting proper output ( considering n occurances of E1EDP01 with Qty = 0.
help
regards,
nikhil.
Hi nikhil,
you have to change the context of the nodes
QUALF
Qty
by using right mouse to IDOC.
Regards Mario
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Oh yeah,
tried keeping the condition Rohit said, then tried using split by value, changed contexts, then to maintain same queue contexts, tried with UseOneAsMany. Its working if all E1EDP01 has Qty > 0
but If i have 6 E1EDP01 and only last 4 hav Qty > 0, then IDTNR of first 2 segments is shown with the target field, implies not working
Nikhil.
Here the complexity is ...
ZORDERS segment can have multiple number of occurances
E1EDP19 can have max of 5 occurances, of which, we have to pick up the QUALF value 002 ( which can be only once in one of 4 occurances ) and corresponding IDTNR must be populated accordingly to no of occurances of ZORDERS.
like eg of E1EDP01 Segment :
ZORDERS
+ Qty = 1
ZORDERS
+ Qty = 0
ZORDERS
+ Qty = 0
ZORDERS
+ Qty = 9
E1EDP19
+QUALF = 001
+IDTNR = abcd
E1EDP19
+QUALF = 002
+IDTNR = xyz
E1EDP19
+QUALF = 003
+IDTNR = pqr
E1EDP19
+QUALF = 004
+IDTNR = kjh
Like wise, there can be many E1EDP01 segement occurances
---
It should populate XYZ ( whose QUALF = 002 ) for ZORDERS in 2 cases, where Qty = 1 and Qty = 9.
The Queue of IF condition is shown below :
QUEUE : IN . . . >QUEUE : IN2
SUPPRESS. . . > SUPPRESS
idtnr1. . . . . . . . > SUPPRESS
Contextchange. > true
idtnr2. . . . . . . . > Contextchange
Contextchange. > true
idtnr3. . . . . . . . > Contextchange
=> The final output is coming as idtnr1 and idtnr3
I want to make it as idtnr2 and idtnr3.
Basically i wanna remove the SUPPRESS ( which is coming because of the False condition )
how do I do it?
regards,
Nikhil.
QUEUE: IN is from IF
so, if i do removeContext and SplityByValue, it wont make any change coz 3 idtnr values remain same
n if I place Remove contexts splitby value for the second queue, useoneasmany is generating error message coz, the second queue can have multiple values in the same context, if i use removcontx and splitbyvalue, each value is given a seperate context
thanks for ur reply
nikhil.
Hi,
This is context problem only,
1) try removeContext for E1EDP01 node as parent node
2) try SplitByValue for all other remaining nodes as child node of E1EDP01.
3) Did u make Keeps property from IfWithOutElse function True
4) This will also consider suppressed node other wise mismatch the data.
Regards,
Rohit.
Reward points if helpful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
1) By using Equals function(Text Category) check the condition for E1EDP19-QUALF == 002
2) ZORDERS-Qty > 0 for this Use EXISTS Function from Node category.
3) then use AND function then use IfWithOutElse Function (with right click Keeps True).
4) Then use SplitByValue.
This will help u.
Regards,
Rohit
Reward points if helpful
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.