|  | 
 
  
    | RSS Feed - WebSphere MQ Support | RSS Feed - Message Broker Support |  
 
  
	|    |  |  
  
	| Dynamic RCD parsing. | « View previous topic :: View next topic » |  
  	| 
		
		
		  | Author | Message |  
		  | Jose_Manuel | 
			  
				|  Posted: Thu Apr 10, 2003 12:34 am    Post subject: Dynamic RCD parsing. |   |  |  
		  | Newbie
 
 
 Joined: 10 Apr 2003Posts: 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 |  |  
		  |  |  
		  | Jose_Manuel | 
			  
				|  Posted: Wed Apr 23, 2003 6:18 am    Post subject: A solution |   |  |  
		  | Newbie
 
 
 Joined: 10 Apr 2003Posts: 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 |  |  
		  |  |  
		  |  |  |  
  
	|    |  | 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
 
 |  |  |  |