| Author | 
		  Message
		 | 
		
		  | Sudheer88 | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 5:16 am    Post subject: Using of CORRELATION ID | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 08 Aug 2002 Posts: 8
  
  | 
		  
		    
			  
				Hi 
 
I am trying to use CORREL-ID in my MQ series MQPUT application, so that I can select a particular message to be retrieved from the queue later using MQGET. 
 
I appreciate if you could let me know what options I need to use to make this possible. 
 
Currently I used MQCI-NONE to MQMD-CORRELID. 
 
Thanks | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqonnet | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 5:44 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand Master
 
 Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa. 
  | 
		  
		    
			  
				You need to add MQMO_MATCH_CORREL_ID in the matchoptions attribute.
 
 
Cheers.
 
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
 
IBM Certified WebSphere MQ V5.3 Solution Designer
 
IBM Certified WebSphere MQ V5.3 System Administrator | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Sudheer88 | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 6:06 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 08 Aug 2002 Posts: 8
  
  | 
		  
		    
			  
				Thanks a lot for the reply. 
 
But here I am not able to generate the CORREL-ID from the MQPUT call. When I see the CORREL-ID after a MQPUT call , it is zeros for all the messages. 
 
 
I am working on OS390 using COBOL.
 
 
Thanks | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqonnet | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 6:26 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand Master
 
 Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa. 
  | 
		  
		    
			  
				What are your put options.  Can you post your code here.
 
 
Try this... In the put app itself, after the put is completed, print the correlid.  
 
Is your put and get apps diff??? 
 
 
Cheers
 
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
 
IBM Certified WebSphere MQ V5.3 Solution Designer
 
IBM Certified WebSphere MQ V5.3 System Administrator | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Sudheer88 | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 6:40 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 08 Aug 2002 Posts: 8
  
  | 
		  
		    
			  
				Below is my code for MQPUT.
 
Both MQPUT and MQGET are different applications.
 
I printed the Correl-id and saw ZEROS in all.
 
Do I need to use any options to get QMGR generate the correl-id everytime it puts a mesg in the Queue........?
 
If yes ... I am missing that option, I guess..........
 
 
---------------------------------------------------------------------------
 
MOVE MQMI-NONE TO MQMD-MSGID.     
 
**These two are commented*******************                
 
MOVE MQCI-NONE TO MQMD-CORRELID.                  
 
MOVE MQCI-NEW-SESSION     TO MQMD-CORRELID.      
 
******************************************* 
 
                                                  
 
MOVE TRANS-FIELDS TO WS-OUTPUT-BUFFER.            
 
 
COMPUTE MQPMO-OPTIONS = MQPMO-NO-SYNCPOINT +      
 
                        MQPMO-FAIL-IF-QUIESCING.  
 
                                                  
 
MOVE MQMT-REPLY TO MQMD-MSGTYPE.                  
 
MOVE MQFMT-STRING TO MQMD-FORMAT.                 
 
                                                  
 
CALL 'MQPUT' USING CON-HANDLE                     
 
                               OPO-Q-HANDLE                   
 
                               MQMD                           
 
                               MQPMO                          
 
                               OUTPUT-BUFFER-LENGTH           
 
                               WS-OUTPUT-BUFFER               
 
                               COMP-CODE                      
 
                               REASON-CODE.      
 
-----------------------------------------------------------------------------         
 
 
 
Thanks | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqonnet | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 7:27 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand Master
 
 Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa. 
  | 
		  
		    
			  
				So you are missing MQPMO_NEW_CORREL_ID, from your pmo options.  This would allow the QM to generate a unique correl id for you.  If you wish you could as well pass one yourself "hardcoding" within your put app.  At that time you dont need to set the above option.
 
 
Cheers.
 
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
 
IBM Certified WebSphere MQ V5.3 Solution Designer
 
IBM Certified WebSphere MQ V5.3 System Administrator | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Sudheer88 | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 7:52 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 08 Aug 2002 Posts: 8
  
  | 
		  
		    
			  
				Thanks. I tried this option just now. But it gave the below error.
 
"MQPMO-NEW-CORREL-ID" WAS NOT DEFINED AS A DATA-NAME.
 
 
I didn't  find this option in any of my MQ copy books used below.(CMQgmoV,CMQmdV,CMQodV,CMQpmoV,CMQV)
 
 
Could you please explain me where can I find this.........?
 
 
Thanks | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqonnet | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 7:58 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand Master
 
 Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa. 
  | 
		  
		    
			  
				The definition is there in CMQV copy book.  
 
 
What version of MQ are you using???
 
Do you have the latest copy books.
 
        10 MQPMO-NEW-CORREL-ID            PIC S9(9) BINARY VALUE 128.
 
What platform???
 
 
Cheers.
 
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
 
IBM Certified WebSphere MQ V5.3 Solution Designer
 
IBM Certified WebSphere MQ V5.3 System Administrator | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Sudheer88 | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 8:14 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 08 Aug 2002 Posts: 8
  
  | 
		  
		    
			  
				Yes I am using the latest. Please see the below product info.
 
 
***********************************************                         **
 
**                  IBM MQSeries for OS/390                     
 
**                                                              
 
**  COPYBOOK NAME:  CMQV                                           **                                                              
 
**  DESCRIPTION:    Constants for Main MQI                     
 
**                                                              
 
***********************************************
 
**  @START_COPYRIGHT@                                           
 
**  Statement:     Licensed Materials - Property of IBM    
 
**                                                              
 
**                 5655-F10                                     
 
**                 5655-F10                                     
 
**                 (C) Copyright IBM Corporation. 1993, 2000    
 
**                                                              
 
**  Status:        Version 5 Release 2                          
 
**  @END_COPYRIGHT@                                            
 
*********************************************** | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqonnet | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 8:26 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand Master
 
 Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa. 
  | 
		  
		    
			  
				For the time being why dont you just initialize the correl id in your program while you figure out why the definition is not in your copy books.  
 
 
Abstract from the family manuals.
 
"This option is supported in the following environments: AIX, HP-UX, OS/2, AS/400, Sun Solaris, Windows NT, plus MQSeries clients connected to these systems. "
 
 
Which means probably it is not available on OS/390.
 
 
Check with your ibm rep for more info.
 
 
But the other alternative which i suggested should serve your purpose.
 
 
Cheers.
 
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
 
IBM Certified WebSphere MQ V5.3 Solution Designer
 
IBM Certified WebSphere MQ V5.3 System Administrator | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Sudheer88 | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 10:37 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 08 Aug 2002 Posts: 8
  
  | 
		  
		    
			  
				Thanks. I am in the process of checking with MQ admin/IBM rep to make sure are my copy books are from latest version or not............
 
 
And I was able to put messages by hardcoding the values in MQPUT call.
 
 
Now my next problem is ............
 
I have 8 messages in the below CID sequence. 
 
Correl-id
 
----------
 
1111111
 
1111111
 
1111111
 
2222222
 
1111111
 
1111111
 
1111111
 
2222222
 
 
 
Now I want to read all messages with match CIDs and process them and write into a file.
 
 
 
Options tried
 
---------------
 
 1)  MOVE MQMI-NONE TO MQMD-MSGID      
 
      MOVE MQCI-NONE TO MQMD-CORRELID   
 
      then got all, but same order as above...
 
 
 2)  MOVE MQMI-NONE TO MQMD-MSGID        
 
      commented this ****MOVE MQCI-NONE TO MQMD-CORRELID      
 
      then got only mesgs with CID 1111111.
 
 
3)   COMPUTE MQGMO-OPTIONS = MQGMO-NO-WAIT +              
 
                        MQGMO-ACCEPT-TRUNCATED-MSG + 
 
                        MQGMO-CONVERT +              
 
                        MQGMO-FAIL-IF-QUIESCING +    
 
                        MQMO-MATCH-CORREL-ID.        
 
     then also got only the CID 1111111.
 
 
   So do I need to write any logic to move the new CID when it changes or is there any option to get the new CID automatically.
 
 
Please let me know.....................
 
 
I really appreciate for all your help.
 
 
Thanks | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Shreyu | 
		  
		    
			  
				 Posted: Thu Dec 19, 2002 2:41 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Newbie
 
 Joined: 19 Dec 2002 Posts: 5 Location: Dallas TX. 
  | 
		  
		    
			  
				| I guess you need to write a logic to move the new Correl-id when it finishes, processing of match Correl-id messages | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |