UPDATE RM command

Use the UPDATE RM command to enable or disable Resource Manager (RM) to use the IMSRSC repository dynamically.

Environment

The UPDATE RM command is processed by the Common Service Layer (CSL) RM address space.

Syntax

Read syntax diagramSkip visual syntax diagram
>>-+-UPDATE-+--RM--TYPE(REPO)--REPOTYPE(IMSRSC)----------------->
   '-UPD----'                                     

>--SET(-+-REPO(Y)--+-------------------------------+-+-)-------><
        |          '-AUDITACCESS(-+-DEFAULT----+-)-' |     
        |                         +-NOAUDIT----+     |     
        |                         +-READ-------+     |     
        |                         +-SECURITY---+     |     
        |                         +-UPDATE-----+     |     
        |                         '-SYSTEMREAD-'     |     
        +-REPO(N)------------------------------------+     
        '-AUDITACCESS(-+-DEFAULT----+-)--------------'     
                       +-NOAUDIT----+                      
                       +-READ-------+                      
                       +-SECURITY---+                      
                       +-UPDATE-----+                      
                       '-SYSTEMREAD-'                      

Keywords

The following keywords are valid for the UPDATE RM command:

TYPE
Specifies the resource type to be updated. The only valid value is REPO.
REPOTYPE
Specifies the repository type to be updated. The only valid value is IMSRSC.
SET
Specifies the parameters to be modified.
AUDITACCESS
Specifies the repository audit access level for the specified repository. It can be specified with REPO(Y) to set a different AUDITACCESS value than the default or to change the AUDITACCESS level for the IMSplex.

If the SET(AUDITACCESS()) keyword is specified with REPO(Y) and the Repository Server (RS) does not have AUDIT LOG defined (AUDIT=YES is not specified in the FRPCFG PROCLIB member), the AUDITACCESS(x) value specified is ignored and the AUDITACCESS at RM is set to NOAUDIT. If the SET(AUDITACCESS()) keyword is specified without REPO(Y) and the RS does not have AUDIT LOG defined, the command results in an error reason code.

If the RS is defined with AUDIT LOG (AUDIT=YES), the specified AUDITACCESS value overrides the default audit access level set by the AUDIT_DEFAULT= keyword in the FRPCFG member of the IMS™ PROCLIB data set. The values that can be specified are:

DEFAULT
Sets the audit access level to the value specified with the AUDIT_DEFAULT parameter in the FRPCFG member.
NOAUDIT
No auditing of member access.
SECURITY
Audit security failures only.
UPDATE
Audit member access with update intent.
READ
Audit member access with read or update intent. Under an audit access rule of READ, system read requests do not cause a read audit record to be generated.
SYSTEMREAD
Audit member access with system-level read, read, or update intent. A read of the resource definition by the system before the update request is identified as a system read request. Under an audit access rule of SYSTEMREAD, all read requests, including system read requests, are audited.
REPO
Specifies the repository attribute to be modified.
Y
Updates RM to use the repository for the specified repository type.

The RM initialization PROCLIB member (CSLRIxxx), which is used during RM initialization and specified by the RM startup parameter RMINIT=, is to be reread to obtain the REPOSITORY= specifications for the TYPE(IMSRSC) repository.

The REPOSITORY section in the CSLRIxxx member, which is specified on the RM startup parameter RMINIT=, must be updated with any changes before the UPDATE RM command is issued.

The command master RM rereads the REPOSITORY section in the CSLRIxxx member for the TYPE(IMSRSC) repository. During command processing, RM registers to the Repository Server (RS) if RM is not already registered. RM connects to the repository whose name is specified in the REPOSITORY section of the CSLRIxxx member.

If the command is successful at the command master RM, the command master RM communicates the changes to other active RMs in the IMSplex. All RMs in the IMSplex will have the same repository settings.

CSL25xxx messages are displayed on the system console at both the command master and the non-master RMs. Any error messages such as CSL2510E or CSL2511E are also sent to the OM API that issued the UPDATE RM command.

If RM is defined to use the resource structure, the command master RM updates the resource structure with the repository name and repository type that it is connected to. Subsequent RMs that are restarted after the change ensure that they are connected to the same repository name and repository type as read from the resource structure.

N
Updates RM to not use the repository for the specified repository type. RM disconnects from the repository specified for the repository type.

If the command is successful at the command master RM, the command master RM communicates the changes to other active RMs in the IMSplex. All RMs in the IMSplex will have the same repository settings.

CSL25xxx messages are displayed on the system console at both the command master and the non-master RMs. Any error messages such as CSL2510E or CSL2511E are also sent to the OM API that issued the UPDATE RM command.

If RM is defined to use the resource structure, the command master RM updates the resource structure to remove the repository name and repository type. If RM is not connected to any repository, it deregisters from the Repository Server.

The RMINIT parameter or the CSLRIxxx member is not read during the UPDATE RM SET(REPO(N)) processing.

You must modify the CSLRIxxx member to remove the REPOSITORY= statement for the repository type before, or right after, the UPDATE RM SET(REPO(N)) command is issued. If the REPOSITORY= statement is not removed and an RM is started after the UPDATE RM SET(REPO(N)) command is issued, all RMs in the IMSplex will be reconnected to the repository during the RM startup.

Usage notes

The UPDATE RM command can be specified only through the Operations Manager (OM) API.

The UPDATE RM command is defined as ROUTE=ANY to OM. The command is processed by the command master RM that receives the command. The command specifies that the specified section within a PROCLIB member be reread and reprocessed.

Output fields

The following table shows the UPDATE RM output fields. The columns in the table are as follows:
Short label
Contains the short label generated in the XML output.
Long label
Contains the long label generated in the XML output.
Keyword
Identifies the keyword on the command that caused the field to be generated. N/A appears for output fields that are always returned.
Meaning
Provides a brief description of the output field.
Table 1. Output fields for UPDATE RM command
Short label Long label Keyword Meaning
CC CC N/A Completion code for the line of output. Completion code is always returned.
CCTXT CCText N/A Completion code text that briefly explains the meaning of the nonzero completion code.
MBR MbrName N/A Resource Manager name.
REPONM RepositoryName N/A Repository name.
REPOTYPE RepositoryType N/A Repository type.

Return, reason, and completion codes

An IMS return and reason code is returned to OM by the UPDATE RM command. The OM return and reason codes that might be returned as a result of the UPDATE RM command are standard for all commands entered through the OM API.

The following table includes the return and reason codes and a brief explanation of the codes. The return or reason code returned for the command might also indicate an error from a CSL request.

Table 2. Return and reason codes for the UPDATE RM command
Return code Reason code Meaning
X'00000000' X'00000000' The UPDATE RM command completed successfully. The command output contains a line for each resource, accompanied by its completion code. For details, see Table 3.
X'03000004' X'00001004' The UPDATE RM command is processed only by the command master; it is ignored by any other system.
X'03000008' X'0000203C' An invalid keyword parameter was specified on the UPDATE RM command.
X'03000008' X'00002522' The RM is unable to process the UPDATE RM command because audit log is not defined for RS, SET(AUDITACCESS(x)) is specified, and no REPO(Y) is specified.
X'0300000C' X'00003000' The UPDATE RM command was successful for some resources but failed for others. The command output contains a line for each resource, accompanied by its completion code. For details, see Table 3.
X'0300000C' X'00003004' The UPDATE RM command was not successful for any resource. The command output contains a line for each resource, accompanied by its completion code. For details, see Table 3.
X'03000010' X'00004504' RM is unable to process the UPDATE RM command because the repository is not defined to RM.
X'03000014' X'00005030' Storage for the command response could not be obtained.
X'03000014' X'00005108' CQSBRWSE buffer allocation failed.

The following table includes an explanation of the completion code.

Table 3. Completion code for the UPDATE RM command
Completion code Completion code text Meaning
0   The UPDATE RM command completed successfully for the resources.
38 CQS UNEXPECTED ERROR For SET(REPO(Y)), the query call to CQS failed for the query of CSLRPGBL.

A CSL2050E message with more details on the CQS error is included in the command output.

60 REPOSITORY ALREADY CONNECTED For SET(REPO(Y)), the repository is already connected.
61 CONFIGURATION FILE NOT FOUND For SET(REPO(Y)), the CSLRIxxx configuration file was not found.
62 REPOSITORY SECTION NOT FOUND For SET(REPO(Y)), there was no REPOSITORY section defined in CSLRIxxx.
63 PARSE ERROR IN CONFIGURATION For SET(REPO(Y)), the BPE parser returned an error when parsing the REPOSITORY section in CSLRIxxx.

A BPE0003E message with more details on the parse error is included in the command output.

64 DUPLICATE REPOSITORY DEFINED For SET(REPO(Y)), the repository type specified in the command was defined multiple times in CSLRIxxx.
65 INVALID CHARACTERS IN REPO NAME For SET(REPO(Y)), the repository name specified in the repository definition in CSLRIxxx included invalid characters.
66 INVALID REPOSITORY NAME For SET(REPO(Y)), an invalid repository name (CATALOG) was specified in the repository definition in CSLRIxxx.
67 INVALID CHARACTERS IN GROUP NAME For SET(REPO(Y)), the XCF group name specified in the repository definition in CSLRIxxx included invalid characters.
68 REPOSITORY DEFINITION NOT FOUND For SET(REPO(Y)), the repository type specified in the command is not found in CSLRIxxx or CSLRPGBL.
69 GROUP NAME MISMATCH IN REPO DEFN For SET(REPO(Y)), the XCF group name specified in the repository definition in CSLRIxxx did not match the XCF group name in CSLRPGBL.
6A REGISTER TO REPO SERVER FAILED For SET(REPO(Y)), RM attempted to register to the repository server, but the registration attempt failed.

A CSL2510E message with more details on the registration failure is included in the command output.

6B CONNECT TO REPOSITORY FAILED For SET(REPO(Y)), RM attempted to connect to the repository, but the attempt failed.

A CSL2511E message with more details on the connection failure is included in the command output.

6C UPDATE OF CSLRPGBL FAILED For SET(REPO(Y)), RM successfully connected to the repository, but the attempt to update the CSLRPGBL resource in the resource structure failed.

The operator must determine the status of CQS and the resource structure and reenter the command to complete the connection process.

6D REPOSITORY NOT CONNECTED For SET(REPO(N)), RM is not connected to the repository. Either the repository has never been connected, or it has been previously disconnected.
6E DISCONN FROM REPOSITORY FAILED For SET(REPO(N)), RM attempted to disconnect from the repository, but the attempt failed.

A CSL2511E message with more details on the disconnect failure is included in the command output.

6F DEREGISTER REPO SERVER FAILED For SET(REPO(N)), RM attempted to deregister from the Repository Server, but the deregistration attempt failed.

A CSL2510E message with more details on the deregistration failure is included in the command output.

70 REMOVE FROM CSLRPGBL FAILED For SET(REPO(N)), RM successfully disconnected from the repository, but the attempt to update the CSLRPGBL resource in the resource structure failed.

The operator must determine the status of CQS and the resource structure and reenter the command to complete the disconnect process.

71 READ OF PROCLIB MEMBER FAILED BPERDPDS failed to read the CSLRIxxx PROCLIB member.
72 UNABLE TO GET PSAN LATCH The command processor was unable to obtain the PSAN latch.
73 UNABLE TO GET PCAN LATCH The command processor was unable to obtain the PCAN latch.
74 UNABLE TO LOAD MODULES BPELOAD failed to load modules needed for the specified repository.
75 AUDIT ACCESS UPDATE FAILED For SET(AUDITACCESS()), RM attempted to update the audit access value in the repository, but the update attempt failed.
76 REFRESH OF CSLRPGBL FAILED For SET(AUDITACCESS()), RM successfully updated the audit access value in the repository, but the attempt to refresh the CSLRPGBL resource in the resource structure failed.

The operator must determine the status of CQS and the resource structure, and reenter the command to complete the refresh process.

77 DOWNLEVEL RM IN IMSPLEX For SET(REPO(Y)), RM detected an IMS Version 11 or earlier RM in the IMSplex, and is unable to connect to the repository. All RM systems in the IMSplex must be IMS Version 12 or later systems.
78 NO SCI ADDRESS SPACE For SET(REPO(Y)), RM attempted to query SCI to obtain IMSplex status, but SCI was not available.

A CSL2050E message with more details on the SCI error is included in the command output.

79 UNEXPECTED SCI ERROR For SET(REPO(Y)), RM attempted to query SCI to obtain IMSplex status, but the query failed with an unexpected return code.

A CSL2050E message with more details on the SCI error is included in the command output.

Examples

The following are examples of the UPDATE RM command:

Example 1 for UPDATE RM command

TSO SPOC input:
UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(Y))
TSO SPOC output:
RepositoryType MbrName    CC RepositoryName       
IMSRSC         RM3RM       0 IMSRSC_REPOSITORY          
OM API input:
CMD(UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(Y)) )
OM API output:
<imsout>                                                  
<ctl>                                                     
<omname>OM1OM   </omname>                                 
<omvsn>1.5.0</omvsn>                                      
<xmlvsn>20  </xmlvsn>                                     
<statime>2011.187 16:55:47.880310</statime>               
<stotime>2011.187 16:55:48.214072</stotime>               
<staseq>C8079C197D976B1A</staseq>                                              
<stoseq>C8079C19CF1383C8</stoseq>                                              
<rqsttkn1>USRT005 10095547</rqsttkn1>                                          
<rc>00000000</rc>                                                              
<rsn>00000000</rsn>                                                            
</ctl>                                                                         
<cmderr>                                                                       
<mbr name="RM2RM   ">                                                          
<typ>RM      </typ>                                                            
<styp>MULTRM  </styp>                                                          
<rc>02000004</rc>                                                              
<rsn>00001008</rsn>                                                            
<rsntxt>Command not routed to this command processing client.  Client          
 is not master.</rsntxt>                                                       
</mbr>                                                                         
<mbr name="RM1RM   ">                                                          
<typ>RM      </typ>                                                            
<styp>MULTRM  </styp>                                                          
<rc>02000004</rc>                                                              
<rsn>00001008</rsn>                                                            
<rsntxt>Command not routed to this command processing client.  Client          
 is not master.</rsntxt>                                                       
</mbr>                                                                         
</cmderr>                                                                      
<cmd>                                                                          
<master>RM3RM   </master>                                                      
<userid>USRT005 </userid>                                                      
<verb>UPD </verb>                                                              
<kwd>RM              </kwd>                                                    
<input>UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(Y)) </input>             
</cmd>                                                                         
<cmdrsphdr>                                                                    
<hdr slbl="REPOTYP" llbl="RepositoryType" scope="LCL" sort="a" key="1"         
 scroll="no" len="8" dtype="CHAR" align="left" skipb="no" />                   
<hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="a" key="2" scroll="no"        
 len="8" dtype="CHAR" align="left" skipb="no" />                               
<hdr slbl="CC" llbl="CC" scope="LCL" sort="n" key="0" scroll="yes"             
 len="4" dtype="INT" align="right" skipb="no" />                               
<hdr slbl="CCTXT" llbl="CCText" scope="LCL" sort="n" key="0"                   
 scroll="yes" len="8" dtype="CHAR" align="left" skipb="yes" />                 
<hdr slbl="REPONM" llbl="RepositoryName" scope="LCL" sort="n" key="0"          
 scroll="yes" len="44" dtype="CHAR" align="left" skipb="yes" />                
</cmdrsphdr>                                                                   
<cmdrspdata>                                                                   
<rsp>REPOTYP(IMSRSC  ) MBR(RM3RM) CC(   0) REPONM(IMSRSC_REPOSITORY            
                       ) </rsp>                                                
</cmdrspdata> 
</imsout>     

Explanation: The UPDATE RM SET(REPO(Y)) command for the repository is processed by the command master RM RM3. The command response indicates that the repository is enabled successfully at the command master RM. Additionally, because RM is using the resource structure, the command response indicates that the resource structure is updated to indicate that the repository is enabled in the IMSplex and that a directive was sent to RM1 and RM2, the other RMs in the IMSplex, to have them enable the repository. You can issue the QUERY RM command to ensure that the repository is enabled at all RMs in the IMSplex.

Example 2 for UPDATE RM command

TSO SPOC input:
UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(AUDITACCESS(UPDATE))   
TSO SPOC output:
RepositoryType MbrName    CC RepositoryName      
IMSRSC         RM3RM       0 IMSRSC_REPOSITORY             
OM API input:
CMD(UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(AUDITACCESS(UPDATE)) )
OM API output:
<imsout>                                          
<ctl>                                             
<omname>OM1OM   </omname>                         
<omvsn>1.5.0</omvsn>                              
<xmlvsn>20  </xmlvsn>                             
<statime>2011.187 17:01:05.705662</statime>       
<stotime>2011.187 17:01:05.773423</stotime>       
<staseq>C8079D4897ABED80</staseq>                                            
<stoseq>C8079D48A836F750</stoseq>                                            
<rqsttkn1>USRT005 10100105</rqsttkn1>                                        
<rc>00000000</rc>                                                            
<rsn>00000000</rsn>                                                          
</ctl>                                                                       
<cmderr>                                                                     
<mbr name="RM2RM   ">                                                        
<typ>RM      </typ>                                                          
<styp>MULTRM  </styp>                                                        
<rc>02000004</rc>                                                            
<rsn>00001008</rsn>                                                          
<rsntxt>Command not routed to this command processing client.  Client        
 is not master.</rsntxt>                                                     
</mbr>                                                                       
<mbr name="RM1RM   ">                                                        
<typ>RM      </typ>                                                          
<styp>MULTRM  </styp>                                                        
<rc>02000004</rc>                                                            
<rsn>00001008</rsn>                                                          
<rsntxt>Command not routed to this command processing client.  Client        
 is not master.</rsntxt>                                                     
</mbr>                                                                       
</cmderr>                                                                     
<cmd>                                                                         
<master>RM3RM   </master>                                                     
<userid>USRT005 </userid>                                                     
<verb>UPD </verb>                                                             
<kwd>RM              </kwd>                                                   
<input>UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(AUDITACCESS(UPDATE))         
</input>                                                                      
</cmd>                                                                        
<cmdrsphdr>                                                                   
<hdr slbl="REPOTYP" llbl="RepositoryType" scope="LCL" sort="a" key="1"        
 scroll="no" len="8" dtype="CHAR" align="left" skipb="no" />                  
<hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="a" key="2" scroll="no"       
 len="8" dtype="CHAR" align="left" skipb="no" />                              
<hdr slbl="CC" llbl="CC" scope="LCL" sort="n" key="0" scroll="yes"            
 len="4" dtype="INT" align="right" skipb="no" />                              
<hdr slbl="CCTXT" llbl="CCText" scope="LCL" sort="n" key="0"                  
 scroll="yes" len="8" dtype="CHAR" align="left" skipb="yes" />                
<hdr slbl="REPONM" llbl="RepositoryName" scope="LCL" sort="n" key="0"         
 scroll="yes" len="44" dtype="CHAR" align="left" skipb="yes" />               
</cmdrsphdr>                                                                  
<cmdrspdata>                                                                  
<rsp>REPOTYP(IMSRSC  ) MBR(RM3RM) CC(   0) REPONM(IMSRSC_REPOSITORY           
                       ) </rsp>         
</cmdrspdata>                           
</imsout>                               

Explanation: The UPDATE RM SET(AUDITACCESS()) command is processed by the command master RM RM3. The command response indicates that the auditaccess value was updated in the repository to be used for subsequent audit requests. Additionally, because RM is using the resource structure, the command response indicates that the audit access value was updated in the resource structure and that a directive was sent by RM3 to RM1 and RM2, the other active RMs in the IMSplex, to update their audit access values.

Example 3 for UPDATE RM command

TSO SPOC input:
UPD RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(N))
TSO SPOC output:
RepositoryType MbrName    CC RepositoryName          
IMSRSC         RM3RM       0 IMSRSC_REPOSITORY            
OM API input:
CMD(UPD RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(N)) )
OM API output:
<imsout>                                             
<ctl>                                                
<omname>OM1OM   </omname>                            
<omvsn>1.5.0</omvsn>                                 
<xmlvsn>20  </xmlvsn>                                
<statime>2011.187 16:36:18.444602</statime>          
<stotime>2011.187 16:36:18.542958</stotime>          
<staseq>C80797BE3AD3A85E</staseq>                                       
<stoseq>C80797BE52D6ED15</stoseq>                                       
<rqsttkn1>USRT005 10093618</rqsttkn1>                                   
<rc>00000000</rc>                                                       
<rsn>00000000</rsn>                                                     
</ctl>                                                                  
<cmderr>                                                                
<mbr name="RM2RM   ">                                                   
<typ>RM      </typ>                                                     
<styp>MULTRM  </styp>                                                   
<rc>02000004</rc>                                                       
<rsn>00001008</rsn>                                                     
<rsntxt>Command not routed to this command processing client.  Client   
 is not master.</rsntxt>                                                
</mbr>                                                                  
<mbr name="RM1RM   ">                                                   
<typ>RM      </typ>                                                     
<styp>MULTRM  </styp>                                                   
<rc>02000004</rc>                                                       
<rsn>00001008</rsn>                                                     
<rsntxt>Command not routed to this command processing client.  Client   
 is not master.</rsntxt>                                                
</mbr>                                                                  
</cmderr>                                                                    
<cmd>                                                                        
<master>RM3RM   </master>                                                    
<userid>USRT005 </userid>                                                    
<verb>UPD </verb>                                                            
<kwd>RM              </kwd>                                                  
<input>UPD RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(N)) </input>              
</cmd>                                                                       
<cmdrsphdr>                                                                  
<hdr slbl="REPOTYP" llbl="RepositoryType" scope="LCL" sort="a" key="1"       
 scroll="no" len="8" dtype="CHAR" align="left" skipb="no" />                 
<hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="a" key="2" scroll="no"      
 len="8" dtype="CHAR" align="left" skipb="no" />                             
<hdr slbl="CC" llbl="CC" scope="LCL" sort="n" key="0" scroll="yes"           
 len="4" dtype="INT" align="right" skipb="no" />                             
<hdr slbl="CCTXT" llbl="CCText" scope="LCL" sort="n" key="0"                 
 scroll="yes" len="8" dtype="CHAR" align="left" skipb="yes" />               
<hdr slbl="REPONM" llbl="RepositoryName" scope="LCL" sort="n" key="0"        
 scroll="yes" len="44" dtype="CHAR" align="left" skipb="yes" />              
</cmdrsphdr>                                                                 
<cmdrspdata>                                                                 
<rsp>REPOTYP(IMSRSC  ) MBR(RM3RM) CC(   0) REPONM(IMSRSC_REPOSITORY          
                       ) </rsp>                                              
</cmdrspdata> 
</imsout>                

Explanation: The UPDATE RM SET(REPO(N)) command for the repository is processed by the command master RM RM3. The command response indicates that the repository is no longer enabled at the command master RM. Additionally, because RM is using the resource structure, the command response indicates that the resource structure is updated to indicate that the repository is not enabled in the IMSplex and that a directive was sent to the other RMs to have them disable their usage of the repository.