UPDATE RM command
Use the UPDATE RM command to enable or disable Resource Manager (RM) to use the IMSRSC repository dynamically.
Subsections:
Environment
The UPDATE RM command is processed by the Common Service Layer (CSL) RM address space.
Syntax
>>-+-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
- 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.
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.
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.
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
UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(Y))
RepositoryType MbrName CC RepositoryName
IMSRSC RM3RM 0 IMSRSC_REPOSITORY
CMD(UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(Y)) )
<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
UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(AUDITACCESS(UPDATE))
RepositoryType MbrName CC RepositoryName
IMSRSC RM3RM 0 IMSRSC_REPOSITORY
CMD(UPDATE RM TYPE(REPO) REPOTYPE(IMSRSC) SET(AUDITACCESS(UPDATE)) )
<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
UPD RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(N))
RepositoryType MbrName CC RepositoryName
IMSRSC RM3RM 0 IMSRSC_REPOSITORY
CMD(UPD RM TYPE(REPO) REPOTYPE(IMSRSC) SET(REPO(N)) )
<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.