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 » First use of MQGet - having issues

Post new topic  Reply to topic
 First use of MQGet - having issues « View previous topic :: View next topic » 
Author Message
wraymore
PostPosted: Thu Jul 05, 2007 1:53 pm    Post subject: First use of MQGet - having issues Reply with quote

Centurion

Joined: 16 Aug 2005
Posts: 114
Location: Burlington, NC USA

Broker is WMB v6.0.0.3 on AIX

Input is coming from Z/OS once daily batch process and data looks like (each line is separate message and grouping is turned on):
DATE2007-06-29 (Occurs once)
ACCTData String
SPECData String
TESTData String
RFLXData String
CPTSData String - end of group
etc
NACTCount of Accouts (nbr of groups sent; occurs once and is end of final group)

Business Rule in Message Flow is to each group of messages as a single message in XML format (xmlns).

Message Flow consists of these nodes:

MQInput
Transaction mode: Yes
Order Mode: By Queue Order
Catch Terminal wired for error handling
Out Terminal wired to

ResetContentDescriptor
MessageDomain: MRM (Reset Message Domain checked)
MessageSet: TRD_LCBSReflexMsgSet (GT0A8MS002001)
(Reset Message Set checked)
MessageType: TRDLCBSReflexData (Reset Message Type checked)
MessageFormatCWF1 (Reset Message Format checked)
Out Terminal Wired to

ComputeNode 1
Input data saved to local environment
Variables set to either 0 or 1 depending upon value of DataType (DATE, ACCT, NACT)
Variables set to either 0 or 1 depending upon MQMD.MsgFlags value
Compute Mode Properties set to ALL
Out Terminal wired to

Filter Node
If DataType IS NOT DATE Set RETURN to FALSE ELSE Set to TRUE
True Terminal wired to MQGet
False Terminal wired to Compute Node 2

MQGet Node
Basic Tab
Queue Name: TRD.IBD_LCBS_INT.QL
Advanced Tab
No changes to Default Settings
Out Terminal wired to

Compute Node 2
Based upon value of DataType (DATE, ACCT, etc)
output XML (XMLNS) message is created
Out Terminal wired to

Filter Node
If Local Environment Variable for write interim message = 1 Set Return to TRUE ELSE Set to FALSE
True Terminal wired to MQOutput Node
False Terminal wired to Filter Node

MQOutput Node for interim Message
Basic Tab
Queue Name: TRD.IBD_LCBS_INT.QL

Filter Node
If DataType is NACT (end of messages) Set to TRUE ELSE Set to FALSE
True Terminal wired to MQOutput Node
False Terminal wired to Flow Order Node

MQOutput Node for Completed Message
Basic Tab
Queue Name: TRD.IBD_RESULTS.QL

Flow Order Node
First wired to Compute Node 3
Second wired to MQOutput Node for Completed Message

Compute Node 3
Interim XML message built with only the DATE Element
Out Terminal wired to

MQOutput Node for interim Message
Basic Tab
Queue Name: TRD.IBD_LCBS_INT.QL

MQOutput Node for Completed Message
Basic Tab
Queue Name: TRD.IBD_RESULTS.QL

End of Message Flow

The issue I am encountering is that when I drop a collection of messages (whether one group or multiple groups) the message flow has to be stopped and started for the Input node to recognize that there is a new group of messages on the queue. The messages are then processed and the message(s) per account are constructed correctly.

In addition to the property settings on the MQInput Node listed above, I have tried all combinations of settings and when I have any of the others checked the messages will not process even without a message flow restart; like it does not recognize the grouping coming from the Z/OS System.

Any assistance will be appreciated.

I have read Bill Matthews response in item http://www.mqseries.net/phpBB2/viewtopic.php?t=37131&highlight=mqget
but since I am not doing any conversion with the MQGet am not sure that I need to incorporate any of that code.
Back to top
View user's profile Send private message
wbi_telecom
PostPosted: Thu Jul 05, 2007 2:02 pm    Post subject: Reply with quote

Disciple

Joined: 15 Feb 2006
Posts: 188
Location: Harrisburg, PA

Can you please tell me what exactly is the flow of events for which you have designed this message flow? As far as i can understand
1) You get a batch of n records from mainframe
2)You need to combine these and send it as XMLNS message?

if this is the case what exactly is the role played by MQGet node? How does the message coming from mainframe match with the message MQGet picking up from TRD.IBD_LCBS_INT.QL ?

Cheers,
Back to top
View user's profile Send private message
wraymore
PostPosted: Fri Jul 06, 2007 4:51 am    Post subject: Reply with quote

Centurion

Joined: 16 Aug 2005
Posts: 114
Location: Burlington, NC USA

Flow of events
Mainframe generates a file that a MQ utility program reads and generates a message for each record within the file. The messages are grouped by a unique identifier (1 to many groups). We have an existing service in WAS that stores report data by a unique identifier (ex. report as a BLOB with its identifying metadata).

Within the broker there are existing message flows that route data between systems based upon data within a MQRFH2 header (usr folder).

The message flow in question is utilized as an adapter between the mainframe generated messages and the routing message flows. Its objective is to combine the message data for each group and release the XML message to the router. The MQGet is the means for inputing the interim accumulation of the detail messages while processing a message group.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Jul 06, 2007 4:55 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

It sounds like, maybe, the MQ utility program is sending messages in a logical group but not properly ending the logical group.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wbi_telecom
PostPosted: Fri Jul 06, 2007 7:16 am    Post subject: Reply with quote

Disciple

Joined: 15 Feb 2006
Posts: 188
Location: Harrisburg, PA

Have you tried changing the setting of Transaction Mode in MQGet? May be the Unit of Work for a batch is not ending if you have unpicked messages in the interim queue so the second batch is not getting picked up unless you stop and start the flow (which ends the earlier unit of work)

Cheers,
Back to top
View user's profile Send private message
wraymore
PostPosted: Fri Jul 06, 2007 10:00 am    Post subject: Resolved -- First use of MQGet - having issues Reply with quote

Centurion

Joined: 16 Aug 2005
Posts: 114
Location: Burlington, NC USA

Jeff was right. When I went back and checked the groups coming from the mainframe the last group did not have the last in group flag set.
Back to top
View user's profile Send private message
EddieA
PostPosted: Mon Jul 09, 2007 1:30 pm    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

You don't actually mention, but just in case, you cannot use the MQGet node to read the same Queue as the MQInput node. Things will break.

Cheers,
_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
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 » First use of MQGet - having issues
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.