|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Urgent help needed:Referring NEON fields in compute node |
« View previous topic :: View next topic » |
Author |
Message
|
samimohd |
Posted: Wed Apr 17, 2002 5:51 am Post subject: |
|
|
Novice
Joined: 25 Mar 2002 Posts: 21
|
I am referring an NEON input format field in a compute node. I have to look at a field value and based on the value, I have to route my messages to different queues.This is my message flow:
Input Node-->TryCatch-->ResetContent to NEON input format-->
Compute Node-->Reset to BLOB-->Output Node.
This is the code I have in my compute node:
IF RTRIM(InputBody.JDE.SAP.IFF.JDE.SAP.FLD.CC) = '620' THEN
SET OutputDestinationList.Destination.MQDestinationList.DestinationData[0].queueName = 'IN.3';
ELSE
SET OutputDestinationList.Destination.MQDestinationList.DestinationData[1].queueName = 'IN.4';
END IF;
I have 'Copy entire message' checked'. In the advanced tab I changed the Compute Mode to 'All'.
I tried with 'Copy message header' checked and the output message is zero bytes.
When I process a message, the result of comparison in the compute node returns NULL and the message propagates to IN.4, where as I am expecting a TRUE and the message should go to IN.3.
|
|
Back to top |
|
 |
Ward |
Posted: Thu Apr 18, 2002 12:25 am Post subject: |
|
|
 Voyager
Joined: 27 Jun 2001 Posts: 98 Location: Europe
|
Hi,
What's the structure of your MRM ? Do you really have a nesting that deep (JDE.SAP.IFF.JDE.SAP.FLD.CC) or are the fieldnames containing dots ? In the later case you should use double quotes around your field names... something like "JDE.SAP.IFF"."JDE.SAP.FLD.CC" or whatever depending what the actual field names are.
Regards,
Ward |
|
Back to top |
|
 |
kirani |
Posted: Thu Apr 18, 2002 10:48 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
In addition to what ward said I would like to add few more things here. I am assuming that you have listed down the field names correctly.
If you want to route your message to different destinations you should use the same index in DestinationData[]. So your ESQL would be,
IF RTRIM(NEON Field ....) = '620' THEN
SET OutputDestinationList.Destination.MQDestinationList.DestinationData[0].queueName = 'IN.3';
ELSE
SET OutputDestinationList.Destination.MQDestinationList.DestinationData[0].queueName = 'IN.4';
END IF;
If you are not modifying your input message at all in your compute node then you need not select anything (Copy message headers or Copy complete message) in your compute node. In this case set Compute mode to 'DestinationList' only. Your message will propagate without any change to output terminal.
Now in MQOutput mode, under Advanced tab, set DestinationMode to 'List'.
_________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
samimohd |
Posted: Thu Apr 18, 2002 4:34 pm Post subject: |
|
|
Novice
Joined: 25 Mar 2002 Posts: 21
|
Kiran and Ward, Thanks a lot. I fixed the problem. Thanks again. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|