cancel
Showing results for 
Search instead for 
Did you mean: 

Remove empty nodes in the target structure

jwalithtatikonda2
Participant
0 Kudos

Hi,

My scenario is IDoc-XI-JDBC.

For one IDoc I need to update data in 4 tables. But if idoc contains ATWRT node then it should update 4 tables if not only first two tables.

For the statement 3 and 4, i have done the following mapping.

[ATWRT][collapseContexts]-[exists]--[if then][statement3]

but in the target sturcture I am getting blank node as following:

<statement3/>.

And because of this blank statement JDBC Adapter is throwing an error.

Can anyone help me how to remove this blank node from target structure.

Accepted Solutions (1)

Accepted Solutions (1)

justin_santhanam
Active Contributor
0 Kudos

Jwalith,

I hope you must have kept the Statement node occurrence as 0..xxxx(1 or n), if that's the case you don't need to check anything. Just map the ATWRT directly to Statement 3 and Statement 4.

By the way what's the occurence of ATWRT node ? I gave the above suggestion, keeping in mind that ATWRT node occurrence is 0..1.

If the occurrence of ATWRT is not 0..Unbounded, then you can also use the below simple UDF.

ATWRT >UDF>Statement3

ATWRT >UDF>Statement4

UDF - Advanced(Queue), with one Parameter (


if( ATWRT.length >0)
 result.addValue("");
else
 result.addSuppress();

Thanks,

raj.

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

Try this,

ATWRTcollapseContexts-equals(with constant value BLANK)--Not-ifWithoutElse--statement3

Regards,

Rohit

Former Member
0 Kudos

Hi,

Try this

ATWRT--> Exists ---> RemoveContexts ---> createIf ---> statement3.

(or)

ATWRT--> Exists ---> RemoveContexts ---> If then statement ---> statement3.

Former Member
0 Kudos

Hi,

Use Remove Contexts after IF statement.

Regards,

Sukarna.Chirumamilla

Former Member
0 Kudos

Use createif instead of it then.

Thanks,

Beena.