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 » MQMD and RCD Problem

Post new topic  Reply to topic
 MQMD and RCD Problem « View previous topic :: View next topic » 
Author Message
migstr
PostPosted: Thu May 15, 2003 12:16 pm    Post subject: MQMD and RCD Problem Reply with quote

Apprentice

Joined: 05 Jun 2002
Posts: 34
Location: New York

I have run into an interesting problem running on CSD03 390 Broker. I have a warehouse replay message flow, that selects the MQMD and Message Data from a Db2 table where we stored each in a BLOB field. I stored the MQMD using ASBITSTREAM(InputRoot.MQMD) which is fine except that on 390 it leaves off the last 40 bytes of the MQMD because grouping is not supported.
My replay flow selects the MQMD and stores it in OutputRoot.BLOB.BLOB then I run a RCD using the MQMD MRM messageset supplied with WMQI which works like a charm on win2k broker, but fails on 390 broker because the last 40 bytes are missing. Anybody have any ideas how toget around this so it will work for both environments? I guess I could try concatenating 40 bytes to the blob if it's a version 1 MQMD but let me know if anyone else has a better idea. Thanks!
_________________
Thanks, Margaret
-------------------------------------------------------
IBM Certified Specialist - MQSeries, Websphere MQ Integrator
IBM Certified Solutions Expert - MQSeries, Websphere MQ Integrator
IBM Certified Developer - MQSeries
Back to top
View user's profile Send private message
shalabh1976
PostPosted: Mon Jun 09, 2003 6:06 pm    Post subject: Reply with quote

Partisan

Joined: 18 Jul 2002
Posts: 381
Location: Gurgaon, India

Can't you store the MQMD as a BLOB itself by not using the ASBITSTREAM function but instead use the RCD node to change the MQMD to BLOB.
This may introduce an additional 2-3 nodes in the code but if the code works on both platforms then its acceptable, isn't it ?
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
migstr
PostPosted: Tue Jun 10, 2003 6:57 am    Post subject: Reply with quote

Apprentice

Joined: 05 Jun 2002
Posts: 34
Location: New York

Thanks for your response! I guess I could do what you say, but I would really like to keep this logging function all within one node as I have now. I will fiddle around with it and see what I come up with...
_________________
Thanks, Margaret
-------------------------------------------------------
IBM Certified Specialist - MQSeries, Websphere MQ Integrator
IBM Certified Solutions Expert - MQSeries, Websphere MQ Integrator
IBM Certified Developer - MQSeries
Back to top
View user's profile Send private message
Craig B
PostPosted: Wed Jun 18, 2003 1:58 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

As you have noticed the MRM messageSet for the MQMD is based on the Version 2 MQMD which has the fields for message grouping and segmentation. Obviously a Version 1 MQMD which you would encounter on the zOS platform will not have these fields and therefore when the ASBITSTREAM function is executed on the MQMD folder then this bitstream will not match the messageSet definition. It should be possible to write ESQL to get this working regardless of MQMD version and will remove the need for the RCD node and the MRM MQMD messageSet. In your replay function when the MQ message is rebuilt using the stored MQMD then you can use the CREATE with PARSE clause to reparse the bitstream into the MQMD folder. This drives the MQMD parser which will react to the Version of the MQMD and parse the correct number of bytes according. The following is sample ESQL of how this could be achieved :

Code:

SET OutputRoot.Properties = InputRoot.Properties;
DECLARE myMQMDBlob BLOB;
SET myMQMDBlob = THE(SELECT( ITEM ..... ));
DECLARE myOutRef REFERENCE TO OutputRoot;
CREATE LASTCHILD OF OutputRoot DOMAIN('MQMD') PARSE(myMQMDBlob);


You may need to including the Encoding and CodedCharSetId parameters on the PARSE clause (as documented in the manuals) depending on what codepage your BLOB is stored in in the database.

Finally you would then need to build any other headers and message body as appropriate in the OutputRoot message tree.

Hope this helps
_________________
Regards
Craig
Back to top
View user's profile Send private message
migstr
PostPosted: Fri Jun 20, 2003 5:05 am    Post subject: Reply with quote

Apprentice

Joined: 05 Jun 2002
Posts: 34
Location: New York

Thanks so much. I will try this when I get back from vacation!! Will post final outcome...
_________________
Thanks, Margaret
-------------------------------------------------------
IBM Certified Specialist - MQSeries, Websphere MQ Integrator
IBM Certified Solutions Expert - MQSeries, Websphere MQ Integrator
IBM Certified Developer - MQSeries
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 » MQMD and RCD Problem
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.