| Author | 
		  Message
		 | 
		
		  | 72dolfan | 
		  
		    
			  
				 Posted: Tue Jul 15, 2008 6:10 am    Post subject: Change_Q PCF to change the Clstr Wkld Priority | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 02 May 2006 Posts: 53
  
  | 
		  
		    
			  
				Hi All, 
 
 
Not sure if this is the correct forum, but I'll give it a shot.  I've coded Cobol programs that issue Inquire_Q and Inquire_Q_Status PCF commands to pull back info on all local queues, and then parse through the responses to get what I need.
 
 
I'm trying to code a Change_Q command to alter the Cluster Workload Priority (MQIA_CLWL_Q_PRIORITY), but I'm not sure what to expect as far as messages returned via the command processor.  What will I need to parse through to determine if the command was successful?
 
 
Thanks!!!!!!
 
Bill | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | bruce2359 | 
		  
		    
			  
				 Posted: Tue Jul 15, 2008 6:45 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Poobah
 
 Joined: 05 Jan 2008 Posts: 9486 Location: US: west coast, almost. Otherwise, enroute. 
  | 
		  
		    
			  
				Take a look at the WebSphere MQ Programmable Command Formats and
 
Administration Interface manual  SC34-6598. _________________ I like deadlines. I like to wave as they pass by.
 
ב''ה
 
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Tue Jul 15, 2008 7:09 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 72dolfan | 
		  
		    
			  
				 Posted: Tue Jul 15, 2008 9:49 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 02 May 2006 Posts: 53
  
  | 
		  
		    
			  
				| Got it!  Thanks for all your help (Bruce and Jeff)! | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 72dolfan | 
		  
		    
			  
				 Posted: Mon Jul 21, 2008 11:47 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 02 May 2006 Posts: 53
  
  | 
		  
		    
			  
				Hi All,
 
 
I'm getting Reason Codes of 3228 and 3017 in my response messages to the following Change_Q I issued;
 
 
MOVE SPACES TO COMMAND-TEXT.                         
 
MOVE MQCFT-COMMAND-XR TO MQCFH-TYPE.                 
 
MOVE MQCFH-STRUC-LENGTH TO MQCFH-STRUCLENGTH.        
 
MOVE MQCFH-CURRENT-VERSION  TO MQCFH-VERSION.        
 
MOVE MQCMD-CHANGE-Q TO MQCFH-COMMAND.                
 
MOVE MQCFC-LAST TO MQCFH-MSGSEQNUMBER.               
 
MOVE MQCFC-LAST TO MQCFH-CONTROL.                    
 
MOVE 3 TO MQCFH-PARAMETERCOUNT                       
 
                                                     
 
MOVE MQCFT-STRING TO MQCFST-TYPE.                    
 
MOVE MQCFST-STRUC-LENGTH-FIXED TO MQCFST-STRUCLENGTH.
 
ADD 48 TO MQCFST-STRUCLENGTH.                        
 
MOVE MQCA-Q-NAME TO MQCFST-PARAMETER.                
 
MOVE MQCCSI-DEFAULT TO MQCFST-CODEDCHARSETID.        
 
MOVE 48 TO MQCFST-STRINGLENGTH.                      
 
 
MOVE MQCFT-INTEGER TO MQCFIN-TYPE.             
 
MOVE MQCFIN-STRUC-LENGTH TO MQCFIN-STRUCLENGTH.
 
MOVE MQIA-Q-TYPE TO MQCFIN-PARAMETER.          
 
MOVE MQQT-LOCAL TO MQCFIN-VALUE.               
 
                                               
 
MOVE MQCFT-INTEGER TO MQCFIN-TYPE.             
 
MOVE MQCFIN-STRUC-LENGTH TO MQCFIN-STRUCLENGTH.
 
MOVE MQIA-CLWL-Q-PRIORITY TO MQCFIN-PARAMETER. 
 
MOVE WS-CLSTR-PRRTY-VALUE TO MQCFIN-VALUE.     
 
                                               
 
MOVE +1 TO COMMAND-LENGTH.                     
 
STRING                                         
 
    MQ-PCF-HEADER                              
 
    MQ-PCF-STRING                              
 
    WORK-QUE-NAME                              
 
    MQ-PCF-INTEGER                             
 
    MQ-PCF-INTEGER                             
 
  DELIMITED BY SIZE                            
 
  INTO COMMAND-TEXT                            
 
  WITH POINTER COMMAND-LENGTH                  
 
END-STRING.                                    
 
 
 
he 3228 says I have a parm missing, and the 3017 says I have duplicate parms.  From what I read, the required parms for the Change_Q are Queue, Queue Length, and Queue Type.  I obviously missed something along the way.  Can anyone help me out?    Thanks !!!! | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 72dolfan | 
		  
		    
			  
				 Posted: Wed Jul 23, 2008 6:42 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 02 May 2006 Posts: 53
  
  | 
		  
		    
			  
				Hi All,
 
 
I still haven't figured this out.  Any help you can provide would be greatly appreciated!
 
 
Thanks! | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Wed Jul 23, 2008 7:47 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				I don't see a MQCFIN-VALUE for MQCA-Q-NAME...
 
 
Not, of course, that you would set a MQCFIN value on that, but you don't appear to be setting *any* value.
 
 
Just the CCSID. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 72dolfan | 
		  
		    
			  
				 Posted: Wed Jul 23, 2008 9:46 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Acolyte
 
 Joined: 02 May 2006 Posts: 53
  
  | 
		  
		    
			  
				Hi Jeff, thanks for responding.
 
 
The value for the queue name is Work-Que-Name, which is being passed when I string the command into the Command-Text.
 
 
I just figured out the problem.  The following were using the same 01 level in my Working storage
 
 
MOVE MQCFT-INTEGER TO MQCFIN-TYPE. 
 
MOVE MQCFIN-STRUC-LENGTH TO MQCFIN-STRUCLENGTH. 
 
MOVE MQIA-Q-TYPE TO MQCFIN-PARAMETER. 
 
MOVE MQQT-LOCAL TO MQCFIN-VALUE. 
 
 
MOVE MQCFT-INTEGER TO MQCFIN-TYPE. 
 
MOVE MQCFIN-STRUC-LENGTH TO MQCFIN-STRUCLENGTH. 
 
MOVE MQIA-CLWL-Q-PRIORITY TO MQCFIN-PARAMETER. 
 
MOVE WS-CLSTR-PRRTY-VALUE TO MQCFIN-VALUE. 
 
 
 
 
I changed it to use two different copy books;
 
 
01  MQ-PCF-INTEGER-L 
 
COPY CMQCFINL.       
 
         
 
01  MQ-PCF-INTEGER-V 
 
COPY CMQCFINL.       
 
 
So building those pieces now looks like this;
 
 
MOVE MQCFT-INTEGER TO MQCFIN-TYPE             
 
                    OF MQ-PCF-INTEGER-L.      
 
MOVE MQCFIN-STRUC-LENGTH TO MQCFIN-STRUCLENGTH
 
                    OF MQ-PCF-INTEGER-L.      
 
MOVE MQIA-Q-TYPE TO MQCFIN-PARAMETER          
 
                    OF MQ-PCF-INTEGER-L.      
 
MOVE MQQT-LOCAL TO MQCFIN-VALUE               
 
                    OF MQ-PCF-INTEGER-L.      
 
                                              
 
MOVE MQCFT-INTEGER TO MQCFIN-TYPE             
 
                    OF MQ-PCF-INTEGER-V.      
 
MOVE MQCFIN-STRUC-LENGTH TO MQCFIN-STRUCLENGTH
 
                    OF MQ-PCF-INTEGER-V.      
 
MOVE MQIA-CLWL-Q-PRIORITY TO MQCFIN-PARAMETER 
 
                    OF MQ-PCF-INTEGER-V.      
 
MOVE WS-CLSTR-PRRTY-VALUE TO MQCFIN-VALUE     
 
                    OF MQ-PCF-INTEGER-V.      
 
 
 
And Stringing the Command in Command-Text is as follows;
 
 
STRING                        
 
    MQ-PCF-HEADER             
 
    MQ-PCF-STRING             
 
    WORK-QUE-NAME             
 
    MQ-PCF-INTEGER-L          
 
    MQ-PCF-INTEGER-V          
 
  DELIMITED BY SIZE           
 
  INTO COMMAND-TEXT           
 
  WITH POINTER COMMAND-LENGTH 
 
END-STRING.                   
 
 
 
Thanks for al your help. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Wed Jul 23, 2008 10:32 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				
   
	| 72dolfan wrote: | 
   
  
	| The value for the queue name is Work-Que-Name, which is being passed when I string the command into the Command-Text. | 
   
 
 
Or, how to tell I don't know COBOL.
 
 
   
	| 72dolfan wrote: | 
   
  
	| I just figured out the problem.  The following were using the same 01 level in my Working storage | 
   
 
 
Oh, yeah.  That makes sense.  You were overwriting your first Parameter with your second, and then including it twice.  So both your errors were correct - you did have a duplicate parameter and you were missing one. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |