| Author | 
		  Message
		 | 
		
		  | brockneal | 
		  
		    
			  
				 Posted: Tue Feb 03, 2004 7:33 am    Post subject: Invalid GMO Combinations | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 03 Feb 2004 Posts: 5
  
  | 
		  
		    
			  
				| Does anyone know why I can't use the MQGMO_NO_SYNCPOINT option with the MQMO_MATCH_CORREL_ID option?  From a Windows application I need to keep up with the correlationIDs of the put and get messages, but I need to do a destructive get and remove the get message from the static queue when successful.  I am using the MQMO_MATCH_CORREL_ID option to insure my correlated gets, and the MQGMO_NO_SYNCPOINT option to do destructive gets and removal from the ReplyQueue.  When my application runs, the get fails with a 2046 : MQRC_OPTIONS_ERROR.  Is there any reason that I don't know of, that will keep me from using these two options together?  Any help will be greatly appreciated. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqonnet | 
		  
		    
			  
				 Posted: Tue Feb 03, 2004 7:53 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand Master
 
 Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa. 
  | 
		  
		    
			  
				UOW has nothing to do with the conditions you specify on a get, like in your case MQMO_MATCH_CORREL_ID.  Post your complete GMO options and MD values here.  
 
 
Also you could review "App programming reference" for any conflicts of this nature.
 
 
Cheers
 
Kumar | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | brockneal | 
		  
		    
			  
				 Posted: Tue Feb 03, 2004 8:02 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 03 Feb 2004 Posts: 5
  
  | 
		  
		    
			  
				Here are my options:
 
 
theGMO.Options := MQGMO_WAIT +
 
                            MQGMO_CONVERT +
 
                            MQGMO_NO_SYNCPOINT +
 
                            MQMO_MATCH_CORREL_ID;
 
 
And my Descriptor:
 
 
      getMQMD.MessageType := MQMT_REPLY;
 
      getMQMD.Persistence := MQPER_NOT_PERSISTENT;
 
      getMQMD.Format := 'MQSTR';
 
      getMQMD.CorrelationId := putMQMD.MessageId;
 
 
My application runs fine with MQGMO_NO_SYNCPOINT specified and without MQMO_MATCH_CORREL_ID.  Or vice-versa. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqonnet | 
		  
		    
			  
				 Posted: Tue Feb 03, 2004 8:17 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand Master
 
 Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa. 
  | 
		  
		    
			  
				Oops.. you got it at the wrong place.  Should have been something like this.
 
 
theGMO.MatchOptions := MQMO_MATCH_CORREL_ID;
 
 
It is match options and has its own attribute in the GMO structure.  It is NOT in the Options attribute.
 
 
Cheers
 
Kumar | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | brockneal | 
		  
		    
			  
				 Posted: Tue Feb 03, 2004 9:59 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 03 Feb 2004 Posts: 5
  
  | 
		  
		    
			  
				| That was the fix.  Thanks for the help.  At first I didn't think I had that method, but I realized that the 200 Interfaces do not have some of the methods and properties that the 500 Interfaces have.  I have switched to the 500 Interfaces and everything is working fine.  Thanks again. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |