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 » IBM MQ API Support » CSQQTRMN

Post new topic  Reply to topic
 CSQQTRMN « View previous topic :: View next topic » 
Author Message
JagadishP
PostPosted: Fri Jul 09, 2004 3:14 am    Post subject: CSQQTRMN Reply with quote

Newbie

Joined: 21 Jun 2004
Posts: 6

Hi everybody,

Could anyone send me the source code of CSQQTRMN (Trigger Monitor) program. I could not be able to find it in MQM.* library.

Also, I have to write a message into my *.INITQ, which is read by trigger monitor program (CSQQTRMN) and triggers corresponding IMS MPP conversational program. Could anyone send me any sample program that writes a message into *.INITQ to trigger a MPP conversational program.

Thanks for your early help,
_________________
Thanks and Regards,
Jagadish P
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Fri Jul 09, 2004 3:01 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

YOU do not write to the INITQ. Your QMGR does!
Ex:
DEF QL(MYQ) TRIGGER TRIGTYPE(FIRST) TRIGDEPTH(1) +
INITQ(MYINITQ) PROCESS(MYPROCESS)
DEF QL(MYINITQ) usage(NORMAL)

You put a message onto MYQ.
When curdepth on MYQ moves from 0 to 1 AND
-- there is no process reading from MYQ
-- a trigger monitor is running and monitoring MYINITQ
a trigger message will be put to INITQ by the QMGR
It will then immediately be read by the trigger monitor which will remove it from the queue and start MYPROCESS

Enjoy
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Fri Jul 09, 2004 4:03 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

fjb_saper wrote:
YOU do not write to the INITQ. Your QMGR does!

unless you're using a trigger monitor as a low-cost remote program starter.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Jul 10, 2004 7:35 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Jeff,

What would be the advantage of directly writing to the INIT_Q vs setting up your triggered queue and a process and letting the queue manager do the triggering ?

Agreed you would have to set up one queue per process you need started.

And even then, I could think that in the java world, you'd be able to start nearly any process by having the relevant info in the message payload.

On the other hand if you are up to setting up your trigger structure right,
you might do the direct thing.

What I did not seem to get is why jaggadish wants to trigger an online type of process ?
Quote:
and triggers corresponding IMS MPP conversational program
Unless of course he would supply all the conversational information to this program for it to run like a background process and would this info not be on the triggering message ?... (CICS/IMS type process?)

I assumed (maybe my error ... assumption is the mother of all ...)
that MQ would be used here in an inapropriate way in order to trigger some kind of popup process or CICS/IMS process to run in background.

Sorry, and thanks for setting me strait...
F.J.
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Sat Jul 10, 2004 10:02 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I've no idea what JagadishP is actually trying to do. And you're correct (in my opinion) that you shouldn't be building messages using MQTRM2 structures and putting those on Initiation queues directly yourself.

But, one COULD use a client trigger monitor and an initiation queue as a component of a distributed scheduling system. And one might even get IBM support for at least some parts of it.

But there are much better ways to do this.

And JagadishP likely isn't trying to do this, and likely has a different reason for wanting to write to an initiation queue.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
JagadishP
PostPosted: Wed Jul 14, 2004 3:14 am    Post subject: Reply with quote

Newbie

Joined: 21 Jun 2004
Posts: 6

Hi FJ and Jeff,

Thanks to both of you for your responses.

I would agree with both of you. I would like to explain with an example of what I am doing.

We had setup the following:

1. DEF QL(DB.AIS.IN) TRIGGER TRIGTYPE(EVERY) TRIGDEPTH(1) +
INITIQ(IMS1.INITQ) PROCESS(IMS.START)

2. DEF QL(IMS1.INITQ) USAGE(NORMAL)

3. DEF QL(DB.AIS.OUT) USAGE(NORMAL)

4. DEF PROCESS(IMS.START) +
DESCR(‘IMS’) +
APPLTYPE(‘IMS’) +
APPLICID(‘BNK01’)

5. FJ said: You put a message onto MYQ. It means, I should have a program (E.g. PGM01) that writes a message into ‘DB.AIS.IN’? If yes, what should be the structure of the message. Is there any specific layout or is it the layout of the data I require for my triggered program.

6. BNK01 is a MPP Conversational transaction. If I invoke this transaction in the IMS DC region a screen is displayed and the user enters data and the program processes and displays the remaining information on the screen. Now in this new scenario, I will get this user entered data from the MQ (presume it was inserted by PGM01in MYQ), the MPP Conversation program would be invoked by the IMS.START process (and is it run in the background?) and this program fetches the remaining information and writes into a DB.AIS.OUT queue.

Also
FJ said:

On the other hand if you are up to setting up your trigger structure right, you might do the direct thing.

Here what is the trigger structure? Is there any standard layout. If yes, what are the values needs to be populated?

Unless of course he would supply all the conversational information to this program for it to run like a background process and would this info not be on the triggering message ?... (CICS/IMS type process?)

I assumed (maybe my error ... assumption is the mother of all ...)
that MQ would be used here in an inappropriate way in order to trigger some kind of popup process or CICS/IMS process to run in background.


Can you explain the above two statements little more clear like what is the conversational information contains, to where it should be supplied and also explain would this info not be on the triggering message statement.

Thanks for your help,
_________________
Thanks and Regards,
Jagadish P
Back to top
View user's profile Send private message Yahoo Messenger
EddieA
PostPosted: Wed Jul 14, 2004 8:32 am    Post subject: Reply with quote

Jedi

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

5) Yes. The message should be the structure that the triggered application expects.

However, I would suggest you read through the manuals and look at the IMS Bridge sections. Instead of trying to "roll your own".

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
fjb_saper
PostPosted: Wed Jul 14, 2004 8:37 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

In your case forget the "on the other hand section"

Yes the message on the triggered queue will contain the "Payload"
The structure is dependant on the IMS bridge.

Now if you do not have the IMS bridge you will need to specify a different program in your process.

This program needs to read the message, start the IMS process, retrieve the information from the IMS process and put it into the "reply" message.
The reply message should then be given as correlation ID the Message ID of the message read from the triggered queue which contained your "payload".

Enjoy
Back to top
View user's profile Send private message Send e-mail
JagadishP
PostPosted: Mon Jul 19, 2004 2:25 am    Post subject: Reply with quote

Newbie

Joined: 21 Jun 2004
Posts: 6

Thanks for your responses.

Apart from the earlier definitions I mentioned, I have two more here.

1. NSR01 defined as a non-conversational transaction in IMS.
2. BNK02 defined as conversational transaction in IMS.

I have 2 application queue, 2 process objects defined one each for each transaction and an initiation queue for both. Now when I insert a message into the application queue my non-conversational transaction is getting triggered and I could be able to display the queue name, queue manager name etc. on the console. But, when I insert a message into 2nd application queue (associated process triggers BNK02 transaction) no console messages are getting displayed. Could you please let me know what could be the reason and also what extra I need to do for my conversational program to get triggered? The layout of the message I am inserting is same for both queues.

FJ said: This program needs to read the message, start the IMS process, retrieve the information from the IMS process and put it into the "reply" message. The reply message should then be given as correlation ID the Message ID of the message read from the triggered queue which contained your "payload".

Could you please elobarate the above with one sample/example code whenever you have time?

Thanks for your help,
_________________
Thanks and Regards,
Jagadish P
Back to top
View user's profile Send private message Yahoo Messenger
fjb_saper
PostPosted: Mon Jul 19, 2004 10:57 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Jaggadishp

Look at the samples on this site (repository) for the request / reply model.

Have fun.
F.J.
Back to top
View user's profile Send private message Send e-mail
JagadishP
PostPosted: Tue Jul 20, 2004 3:44 am    Post subject: Reply with quote

Newbie

Joined: 21 Jun 2004
Posts: 6

When IMS trigger monitor trying to kick off an IMS MPP conversational program the following error is getting displayed in CSQTRMN job log and a message is getting inserted into dead-letter queue, but not able to invoke IMS MPP conversational program.

"CSQQ102E CSQQTRMN An IMS ISRT call returned X2"

Environment - Websphere MQ 5.3, IMS 7.1, Z/os 1.4

Could anyone let mek now hos to overcome this error.

Thanks for your help,
_________________
Thanks and Regards,
Jagadish P
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » CSQQTRMN
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.