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 » Delayed mq put delivery from z/os stored procedure

Post new topic  Reply to topic
 Delayed mq put delivery from z/os stored procedure « View previous topic :: View next topic » 
Author Message
HMed
PostPosted: Thu May 12, 2022 11:52 am    Post subject: Delayed mq put delivery from z/os stored procedure Reply with quote

Novice

Joined: 17 Sep 2004
Posts: 17
Location: Camp Hill, PA. - USA

I haven't found anything on this issue within the usergroup. Maybe somebody can offer some advice.

We're developing a new DB2 z/os cobol stored procedure that puts a message to an MQ REQ queue. The entire process is part of a CICS unit of work. When the CICS transaction ends, the DB2 table updates are commited but the MQ message doesn't get committed to the queue until the DB2 WorkloadManager started task ends.

The return codes from the put are successful, and the puttime on the message is the time that the message was put to the queue, not the time that the DB2 WLM ends.

The PMOs are set as MQPMO-NO-SYNCPOINT by an enterprise module that we call.

I've tried to do a DB2 Commit after the MQ put but the delivery still only occurs after the DB2 WLM started task ends.

The SP is defined like this
Code:
CREATE PROCEDURE TSTE.IMGRETURNTRIGGER       
      (IN P1_REQUEST_ID INTEGER               
      ,IN P2_COLLECTION CHAR(40))             
       EXTERNAL NAME 'PIEPA051'               
       LANGUAGE            COBOL             
       PARAMETER STYLE     GENERAL           
       NOT DETERMINISTIC                     
       FENCED
       MODIFIES SQL DATA
       NO DBINFO
       COLLID              TSTE
       WLM ENVIRONMENT  DB2TAEE
       ASUTIME LIMIT       30000
       STAY RESIDENT YES
       PROGRAM TYPE SUB
       SECURITY   DB2
       RUN OPTIONS 'MSGFILE(SYSPRINT,,,,ENQ)'
       COMMIT ON RETURN NO
       CONTINUE AFTER FAILURE;   


Changing to COMMIT ON RETURN YES causes a -751.

Any thoughts on why the delivery could be delayed?

We are on z/os 2.4
IBM MQ for z/OS V9.2.0 LTSR
DB2 Rel : 1215
DB2 F.Lvl : V12R1M502
ApplCompat: V12R1M501

Thanks.
Back to top
View user's profile Send private message Send e-mail
HMed
PostPosted: Wed May 18, 2022 3:17 pm    Post subject: Reply with quote

Novice

Joined: 17 Sep 2004
Posts: 17
Location: Camp Hill, PA. - USA

fyi.. After discussion with our MQ Architect, it seems like the MQPMO-NO-SYNCPOINT wasn't taking effect within the DB2 WLM.

I'm not sure this is the correct solution, but I added an MQ COMMIT after the MQ PUT and the message is getting promptly delivered.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Delayed mq put delivery from z/os stored procedure
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.