cancel
Showing results for 
Search instead for 
Did you mean: 

unmapped nodes duplicates in target

Former Member
0 Kudos

Hi,

below is my source and target mesg

source

header 0--ub

A 0--1

B 0--1

C 0--1

D 0---1

target

header1

A 0--1

B 0--1

Header2

C 0--1

D 0--1

Header3

E--const

F--Const

my source header is mapped to header1 and header2.

so in target, i see header1, A,B have values as mapped and empty C,D . which i wnt remove.

same behavior in hedaer2, A,B empty but C,D has value.

in header3 i see empty A,B,C,D(as no maped nodes) nad const.

i don wan unmapped fields,

i m trying to use standard functions but nothing i clicking,occurences of items are not fixed.

hav gone thru the use of functn like copyvalue,removecontext etc

pls help me resolving this

thanks,

Accepted Solutions (0)

Answers (2)

Answers (2)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

Have you tried this:

1. right-clicking on the nodes C, D and clicking the disable field option for Header 1

2. right-clicking on the nodes A, B and clicking the disable field option for Header 2

3. right-clicking on the nodes A, B, C, D and clickng the disable field option for Header 3?

Regards,

Former Member
0 Kudos

can you post your sample message here for us to exam ?

Thanks

Liang

Former Member
0 Kudos

i am sorry but i cant as PI is onto different system altogether where i cant use cut-copy-paste etc.

but its excatly what i mentioned.

header items are replicated in target even unmapped ones

thanks

Former Member
0 Kudos

In your message, how many occurence of 'header' show up in your source message ?

just one like this:

header

A

B

C

D

OR

header

A

B

C

D

header

A

B

C

D

....

Liang

Former Member
0 Kudos

hi,

it is header in source is 0--unbounded,

it has to be that way.i cant change that neither can i seggregate items of that in another header

thanks

Former Member
0 Kudos

sorry to reply late but its like this

header 0--ub

A

B

C

D

Former Member
0 Kudos

source target

header 0ub header1 0ub

A (value a) 0ub A (value a) 0ub

B (value b) 0ub B (value b) 0ub

C (value c) 0--ub C

D (value d) 0--ub D

header2 0--ub

A

B

C (value c)

D (value d)

but i don wan thses CD in header 1 and A,B in header2 be in.

hope i m clear

Former Member
0 Kudos

I think now I understand your problem:

You will need two UDF for your mapping:

UDF1 for node A and B:


 for (int i=0; i<a.length; i++)
  {
    result.addValue(a<i>);
  }
 for (i=0; i<a.length; i++)
  {
    result.addValue(ResultList.SUPPRESS);
  }

Node A --> RemoveContext --> UDF1 ---> SplitByValue (each value) --> Node A

Node B --> RemoveContext --> UDF1 ---> SplitByValue (each value) --> Node B

UDF1 for node C and 😧


 for (int i=0; i<a.length; i++)
  {
    result.addValue(ResultList.SUPPRESS);
  }
 for (i=0; i<a.length; i++)
  {
    result.addValue(a<i>);
  }

Node C --> RemoveContext --> UDF2 ---> SplitByValue (each value) --> Node C

Node D --> RemoveContext --> UDF2 ---> SplitByValue (each value) --> Node D

Let me how it works.

Liang

Edited by: Liang Ji on Feb 27, 2009 5:05 AM