ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Dynamic RCD parsing.

Post new topic  Reply to topic
 Dynamic RCD parsing. « View previous topic :: View next topic » 
Author Message
Jose_Manuel
PostPosted: Thu Apr 10, 2003 12:34 am    Post subject: Dynamic RCD parsing. Reply with quote

Newbie

Joined: 10 Apr 2003
Posts: 2

Hi All:

I have to parse and format/route multiple message types arriving on a single queue
(like http://www.mqseries.net/phpBB2/viewtopic.php?t=8312).

I have a general MRM-CWF that can read all messages (all messages
have the same header, so this MRM-CWF just read the fields of the
header and store the rest as a Binary field).

From the fields in the header I know (asking a database), the particular
MRM-CWF (MessageSet & MessageType) of the message, and I want to
dinamically parse this message (without modifing the Message Flow).

I have tried to use:

MQInput (Generic Message) -> Compute (Change MessageType
and MessageSet) -> RCD -> Compute (Generic Transform
Concrete Message) -> MQOutput

...but I can't parse the message (I get an empty message).

(the ESQL code in the compute node (copy message headers selected) is:

SET OutputRoot.Properties.MessageDomain = 'MRM';
SET OutputRoot.Properties.MessageFormat = 'CWF';
SET OutputRoot.Properties.MessageSet = 'XXXXXX';
SET OutputRoot.Properties.MessageType = 'XXXXXXX';
)

Anybody knows if it can be done? (dinamically parsing a MRM Message
in a RCD or Compute node)

I don't want to include any information about the MessageType and
MessageSet in the Message Flow.

Any ideas welcome.
Back to top
View user's profile Send private message
Jose_Manuel
PostPosted: Wed Apr 23, 2003 6:18 am    Post subject: A solution Reply with quote

Newbie

Joined: 10 Apr 2003
Posts: 2



A working solution without RCS nodes (thanks to JMML from
IBM Business Consulting Services - Spain):

MQInput (MRM-General) -> Compute (Copy message headers)->
-> (MRM-Concrete).

ESQL Code in the Compute node:

DECLARE newMessageSet CHAR;
DECLARE newMessageType CHAR;
DECLARE msgBLOB BLOB;
...
code that gets from a DataBase and the 'header message fields'
the 'MessageSet' and 'MessageType' of the concrete message
and puts it in newMessageSet and newMessageType.
...

set msgBLOB=BITSTREAM(InputRoot.MRM);
SET OutputRoot.Properties.MessageDomain='MRM';
SET OutputRoot.Properties.MessageFormat='CWF';
SET OutputRoot.Properties.MessageSet=newMessageSet;
SET OutputRoot.Properties.MessageType=newMessageType;
CREATE LASTCHILD OF OutputRoot DOMAIN ('MRM')
PARSE(msgBLOB, 546, 437, newMessageSet, newMessageType,
'CWF');
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Dynamic RCD parsing.
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.