Author |
Message
|
sahilsaid |
Posted: Mon May 21, 2018 5:17 am Post subject: InputRoot.Properties.CodedCharSetId being set to NULL |
|
|
Newbie
Joined: 21 May 2018 Posts: 5
|
I am currently struggling with the "InputRoot.Properties.CodedCharSetId" which is being set to NULL somewhere. I believe it is due to PROPAGATE statement in the previous sub-flow.
I tried adding "DELETE NONE" to propagate statement but still having issues and NullPointer is being thrown on "InputRoot.Properties.CodedCharSetId".
I read various forum topics and tried all the suggestions but haven't had any luck so far.
Can anyone suggest something? |
|
Back to top |
|
 |
abhi_thri |
Posted: Mon May 21, 2018 5:39 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
At the previous node try verifying whether the Properties tree (including the CCSID one) is getting copied across from Input to Output as expected in the first place.
If the CCSID field is not getting copied across it will end up as NULL in the next node. |
|
Back to top |
|
 |
sahilsaid |
Posted: Mon May 21, 2018 5:52 am Post subject: |
|
|
Newbie
Joined: 21 May 2018 Posts: 5
|
abhi_thri wrote: |
At the previous node try verifying whether the Properties tree (including the CCSID one) is getting copied across from Input to Output as expected in the first place.
If the CCSID field is not getting copied across it will end up as NULL in the next node. |
You are right the properties tree is not being copied across. The node before the output node of sub-flow has that property set to NULL. Do I have to force it to copy somehow? |
|
Back to top |
|
 |
abhi_thri |
Posted: Mon May 21, 2018 6:22 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
Yes, it is the responsibility of the transformation node (Compute in this side) to ensure that it maps/populates all the expected Output trees including the header ones.
Some simply use the CopyMessageHeaders to copy the header tree (this includes Properties, MQMD etc) but it is preferable to copy only the fields you require in the Output tree. For eg:- if you copy the whole header some of the input header fields may not be applicable for the output message, eg:- if the messages is a Tag delimited on parsed by MRM and Output is an Idoc, the input MRM details in the Properties tree is not relevant to the Output message. You can use explicit ESQL set statements to copy the require fields across from input to output header. |
|
Back to top |
|
 |
sahilsaid |
Posted: Mon May 21, 2018 6:49 am Post subject: |
|
|
Newbie
Joined: 21 May 2018 Posts: 5
|
abhi_thri wrote: |
Yes, it is the responsibility of the transformation node (Compute in this side) to ensure that it maps/populates all the expected Output trees including the header ones.
|
Great, thanks a lot. Didn't know that the message tree needs copying manually.
It works as expected after copying the message headers on the last node of the sub-flow. All the properties of message tree is now populated. |
|
Back to top |
|
 |
|