Posted: Wed Jun 04, 2003 8:37 am Post subject: Message translation error
Newbie
Joined: 22 Sep 2002 Posts: 2
Hi ,
MQSI 2.02 csd 2
I have a very simple message set and flow to translate a message from a c application on a unix platform to mainframe via MQSI . The problem I am encountering can be summarised as follows;
input message definition ( MRM ,CWF ):
string 1 len = 3
string 2 len = 4
filler len = 13
output message message definition (MRM , CWF) ;
string 3 len = 2
string 4 len = 3
filler len = 15
input message data being passed = '12345678901234567890'
Within the debugger , following the compute node ( which moves string 1 to string 3 and string 2 to string 4 and sets filler to spaces ) the value
of string 3 is '123' .
subsequestly the output node throws the message to the error queue defined to the thow node .
I don't understand how if string 3 is defined with a length of 2 it can contain the value '123' .
Joined: 18 Jul 2002 Posts: 381 Location: Gurgaon, India
Garth,
I don't think MQSI validates what you move into a CWF defined MRM inside the ESQL nor does it do string truncation when you move a bigger field to a smaller one in the compute node.
This validation occurs after the compute node.
You will need to use the Substring function as :
String3 = Substring(String1 from 1 for 2);
String1 may very well be in the form InputRoot.MRM.String1
and simiarly for String3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum