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 » Mainframe, CICS, TXSeries » Getting error code 2033

Post new topic  Reply to topic
 Getting error code 2033 « View previous topic :: View next topic » 
Author Message
Sabapathi
PostPosted: Mon Aug 04, 2008 8:38 pm    Post subject: Getting error code 2033 Reply with quote

Newbie

Joined: 04 Aug 2008
Posts: 3

Hi,

I am facing one issue when testing with huge mass of transactions.
The problem is as per below.

I have two seperate programs to put and get messages from request Queue and Response Queue respectively....

In development it is working fine.....but users did strees test means my get program fails some times i am getting return code 2033.

for getq i am using msgid

In GetQ Program, I set following options

MOVE MSG-Q-GETID TO MQMD-MSGID.
MOVE MQCI-NONE TO MQMD-CORRELID
COMPUTE MQGMO-OPTIONS = MQGMO-WAIT +
MQGMO-ACCEPT-TRUNCATED-MSG +
MQGMO-SYNCPOINT +
MQGMO-CONVERT +
MQGMO-FAIL-IF-QUIESCING.

MOVE 90000 TO MQGMO-WAITINTERVAL.
MOVE MQFMT-STRING TO MQMD-FORMAT

CALL 'MQGET' USING QMGR-CON-HANDLE
RES-Q-HANDLE
MQMD
MQGMO
INPUT-BUFFER-LENGTH
WS-OUTPUT-BUFFER
RETURNED-LENGTH
COMP-CODE
REASON-CODE.


In PutQ Program, I set following options

COMPUTE MQPMO-OPTIONS = MQPMO-SYNCPOINT +
MQPMO-FAIL-IF-QUIESCING.
MOVE MQMI-NONE TO MQMD-MSGID.
MOVE MQCI-NONE TO MQMD-CORRELID.
MOVE MQMT-DATAGRAM TO MQMD-MSGTYPE

CALL 'MQPUT' USING QMGR-CON-HANDLE
REQ-Q-HANDLE
MQMD
MQPMO
MSG-LENGTH
MSG-DATA
COMP-CODE
REASON-CODE.
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Mon Aug 04, 2008 9:07 pm    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

and what is your question? when you get with a specific msgid, and get a 2033 returned (no msg available) then this means, that there is no message with that specific msgid on the queue.
_________________
Regards, Butcher
Back to top
View user's profile Send private message
Sabapathi
PostPosted: Mon Aug 04, 2008 9:15 pm    Post subject: Reply with quote

Newbie

Joined: 04 Aug 2008
Posts: 3

Mr Butcher wrote:
and what is your question? when you get with a specific msgid, and get a 2033 returned (no msg available) then this means, that there is no message with that specific msgid on the queue.



after i put the message i will get the msgid from MQMD-MSGID and stored into one variable and use that variable when i do the MQget.

CALL 'MQPUT' USING QMGR-CON-HANDLE
REQ-Q-HANDLE
MQMD
MQPMO
MSG-LENGTH
MSG-DATA
COMP-CODE
REASON-CODE.
IF COMP-CODE EQUAL MQCC-OK
MOVE MQMD-MSGID TO MQMD-CORRELID
MOVE MQMD-MSGID TO MSG-PUT-MID
MOVE MQMD-CORRELID TO MSG-PUT-CID
MOVE COMP-CODE TO MSG-PUT-RSP
DISPLAY ' MQMD-MSGID : ' MQMD-MSGID
DISPLAY ' MQMD-CORRELID : ' MQMD-CORRELID
Back to top
View user's profile Send private message
zpat
PostPosted: Mon Aug 04, 2008 11:28 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

I assume this is meant to be a client end request-reply design and some other program is the server end?

The client end would normally get the response message by correlid, have saved the value from the put message msgid.

The server end would normally copy the msg id of the request to the correlid of the reply message.

Incidentally set the MQMD.format before the put, not before the get.

Also you must COMMIT the put if you expect the message to be available for a get!
Back to top
View user's profile Send private message
Sabapathi
PostPosted: Tue Aug 05, 2008 1:34 am    Post subject: Reply with quote

Newbie

Joined: 04 Aug 2008
Posts: 3

zpat wrote:
I assume this is meant to be a client end request-reply design and some other program is the server end?

The client end would normally get the response message by correlid, have saved the value from the put message msgid.

The server end would normally copy the msg id of the request to the correlid of the reply message.

Incidentally set the MQMD.format before the put, not before the get.

Also you must COMMIT the put if you expect the message to be available for a get!



Dear Zpat,

Thanks for u r reply...

I have 2 cics region let say CICSUIBS AND CICSEAI

MQ Is in CICSEAI and my PutQ program and Getq program are in CICSEAI

I triger the transaction in CICSUIBS then my PutQ progame put the message into the ReqQ from there broker get the message and send to other application. This one is always succesful....

then the responce message also come from that application and broker also put the response message in to the ResponseQ ,

But my get program not able to get that response message. In Response Queue message depth is there.

pls let me know where how to commit my put message.
Back to top
View user's profile Send private message
zpat
PostPosted: Tue Aug 05, 2008 4:25 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

I really can't debug your code remotely.

The correct logic (basic MQI only shown) is like this

Client app:

Set format MQSTR etc
PUT request message (NO_SYNCPOINT) on REQUESTQ
save the msgid as correlid
GET reply message by CORRELID (NO_SYNCPOINT, CONVERT, WAIT) on REPLYQ

Server app:

GET request message (SYNCPOINT, CONVERT, WAIT) on REQUESTQ
Check MQMD.backout count and if > 3 COMMIT (discard request) and loop
set format MQSTR etc
set CORRELID from MSGID
PUT reply message (SYNCPOINT) on REPLYQ
COMMIT
loop
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Tue Aug 12, 2008 7:03 am    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Can we assume you have either a commit or a close after your MQPUT?
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 » Mainframe, CICS, TXSeries » Getting error code 2033
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.