UPDATE RTC command

Use the UPDATE RTC command to update Fast Path routing codes. A Fast Path routing code can be used by the Fast Path Input Edit/Routing Exit Routine (DBFHAGU0) to route a transaction to a different application program for processing.

Environment

The following table lists the environments (DB/BC, DBCTL, and DCCTL) in which you can use the commands and keywords.

Table 1. Valid environments for the UPDATE RTC command and keywords
Command / Keywords DB/DC DBCTL DCCTL
UPDATE RTC X   X
NAME X   X
OPTION X   X
SET X   X
START X   X
STOP X   X

Syntax

Read syntax diagramSkip visual syntax diagram
                          .-,----.     
                          V      |     
>>-+-UPDATE-+--RTC--NAME(---name-+-)---------------------------->
   '-UPD----'                          

>--+-START(Q)--------------------+--+----------------+---------><
   +-STOP(Q)---------------------+  '-OPTION(ALLRSP)-'   
   |      .-,----------------.   |                       
   |      V                  |   |                       
   '-SET(---+-INQ(-+-N-+-)-+-+-)-'                       
            |      '-Y-'   |                             
            '-PGM(name)----'                             

Keywords

The following keywords are valid for the UPDATE RTC command:

NAME
Specifies the 1-8 character name of the routing code. Wildcards can be specified in the name. The name is a repeatable parameter. If the NAME parameter specified is a specific or wildcard name, command responses are returned for all the resource names that are processed. For NAME(*), command responses are returned only for the resource names that resulted in an error. OPTION(ALLRSP) can be specified with NAME(*) to obtain the command responses for all the resource names that are processed.
OPTION
Specifies additional functions to be performed along with the command.
ALLRSP
Indicates that the response lines are to be returned for all resources that are processed on the command. The default action is to return response lines only for the resources that resulted in an error. It is only valid with NAME(*). ALLRSP is ignored for other NAME values.
SET
Specifies the attribute values to be changed.
INQ
Specifies the inquiry option.
N
This is not an inquiry routing code.
Y
This is an inquiry routing code. Any message associated with the routing code is an inquiry transaction. This option should be specified only for programs that do not cause a change to a database. Programs are prohibited from issuing Insert, Delete, or Replace calls to a database when processing an inquiry transaction.

Updating this attribute quiesces the routing code for the duration of command processing.

PGM

The name of the application program associated with the routing code. The program must exist and be defined with a BMPTYPE of N.

Updating this attribute quiesces the routing code for the duration of command processing.

START
Specifies attributes that are to be started.
Q
Starts queuing of messages.
STOP
Specifies attributes that are to be stopped.
Q
Stops queuing of messages.

Usage notes

Resources exist for the life of the IMS™ unless they are deleted using a DELETE command. Resources are recoverable across an IMS warm start or emergency restart. Resources are lost if IMS is cold started, unless cold start imports definitions that were exported while IMS was up.

The UPDATE RTC command can be issued only through the OM API. Fast Path must be installed on the system. This command applies to DB/DC and DCCTL systems.

This command is not valid on the XRF alternate, RSR tracker, or FDBR region. The UPDATE RTC commands specified with SET() are not valid if online change for MODBLKS is enabled (DFSDFxxx or DFSCGxxx defined with MODBLKS=OLC, or MODBLKS not defined).

This command is recoverable.

The UPDATE RTC command changes a MODBLKS routing code to dynamic, if the INQ or PGM attribute is changed.

Each routing code is updated individually, unlike the online change process where either all routing codes are updated or no routing codes are updated. The runtime resource definition for a routing code can be updated only if the routing code is not in use. If the routing code is in use, the update fails. An exception to this rule is status. You can update the status of a routing code while it is in use. In a sysplex environment, the update might succeed on some IMS systems and fail on others. In order to maximize the likelihood that the update will succeed, perform the following steps before attempting the update:
  • Check for work in progress with a QRY RTC SHOW(WORK) command and either wait for the work to finish or address the work in progress. See the output fields for the QUERY RTC command for examples of work that might cause the delete to fail. Examples of work include a command in progress for the routing code or the routing code is active.
  • The routing code cannot be updated if the program is scheduled. If the program is scheduled, you must stop the region before you issue the UPDATE RTC command.

Runtime resource definition attributes include the following: INQ and PGM. If all the attributes specified by the UPDATE command are already defined for the resource, no update is actually made, no resources are quiesced, no log record is created, and a completion code of zero is returned.

The following routing code attributes cannot be updated if online change for MODBLKS is enabled: INQ, PGM.

Output fields

The following table shows the UPDATE RTC output fields. The columns in the table are as follows:
Short label
Contains the short label generated in the XML output.
Keyword
Identifies keyword on the command that caused the field to be generated. N/A appears for output fields that are always returned. error appears for output fields that are returned only in case of an error.
Meaning
Provides a brief description of the output field.
Table 2. Output fields for the UPDATE RTC command
Short label Keyword Meaning
CC N/A Completion code.
CCTXT error Completion code text that briefly explains the non-zero completion code.
ERRT error Error text with diagnostic information. Error text can be returned for a non-zero completion code and contains information that further explains the completion code.
MBR N/A IMSplex member that built the output line.
RTC RTC Routing code name.

Return, reason, and completion codes

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 3. Return and reason codes for the UPDATE RTC command
Return code Reason code Meaning
X'00000000' X'00000000' Command completed successfully. The command output contains a line for each resource, accompanied by its completion code. If NAME(*) is specified without OPTION(ALLRSP), no output lines are returned. See the completion code table for details.
X'00000008' X'00002008' Required keywords were not specified.
X'00000008' X'00002123' Invalid program name.
X'00000008' X'00002048' Invalid SET attribute.
X'0000000C' X'00003000' Command was successful for some resources but failed for others. The command output contains a line for each resource, accompanied by its completion code. If NAME(*) is specified without OPTION(ALLRSP), only resources with non-zero completion codes are returned. See the completion code table for details.
X'00000010' X'00003004' Command was not successful for any of the resources. The command output contains a line for each resource, accompanied by its completion code. See the completion code table for details.
X'00000010' X'0000400C' Command is not valid on the XRF alternate.
X'00000010' X'00004014' Command is not valid on the RSR tracker.
X'00000010' X'00004024' No Fast Path defined.
X'00000010' X'00004120' Online change phase is in progress.
X'00000010' X'00004300' Command is not allowed because online change for MODBLKS is enabled (DFSDFxxx or DFSCGxxx defined with MODBLKS=OLC, or MODBLKS not defined).
X'00000010' X'0000431C' Program is quiesced. Cannot quiesce program.
X'00000014' X'00005004' DFSOCMD response buffer could not be obtained.
X'00000014' X'00005008' DFSPOOL storage could not be obtained.
X'00000014' X'0000500C' AWE could not be obtained.

Errors unique to the processing of this command are returned as completion codes. The following table includes an explanation of the completion codes.

Table 4. Completion codes for the UPDATE RTC command
Completion code Completion code text Meaning
0   Command completed successfully for routing code.
10 NO RESOURCES FOUND Routing code name is invalid, or the wildcard parameter specified does not match any resource names.
17 ANOTHER CMD IN PROGRESS Another command (such as DELETE or UPDATE) is in progress for this routing code. This could also mean this command, if the resource is specified by more than one specific or wildcard parameter. Or, the routing code is updating the program name and another command is in progress for the program.
39 Start of changeFP=E TRAN FOR RTC EXISTSEnd of change The routing code was created by IMS for a Fast Path exclusive transaction and cannot be updated with the UPDATE RTC command. The attributes of the routing code can be updated only with the UPDATE TRAN command for the Fast Path exclusive transaction.
61 DFSBCB STORAGE ERROR DFSBCB storage error. Could not get storage for RCTE control block.
73 PROGRAM SCHEDULED Program is scheduled.
7A Start of changeRTC/FP=N PGM CONFLICTEnd of change Program specified is not Fast Path exclusive.
90 INTERNAL ERROR Internal error.
99 NOT INITIALIZED Routing code update failed because the routing code is not initialized. QUERY RTC STATUS(NOTINIT) displays the reason why the routing code is not initialized, for example, the associated program is not defined. Correct the definition error and issue the UPD RTC START(Q) command to initialize the routing code.
Start of change1D7End of change Start of changeIMPORT CHANGE LIST ERROREnd of change Start of changeThe resource is in the process of being imported from the change list in the IMSRSC repository or was not successfully imported from the change list. The resource cannot be updated until it is successfully imported from the repository.End of change

Examples

The following are examples of the UPDATE RTC command:

Example 1 for UPDATE RTC command

TSO SPOC input:
UPD  RTC NAME(BADNAME,FPTRN02,SMQFP7*,BAD*) SET(PGM(DBFSAMP3))
TSO SPOC output:
Response for: UPD  RTC NAME(BADNAME,FPTRN02,SMQFP7*,BAD*) SET(PGM(DBFSAMP3))  
RtcName  MbrName    CC CCText                                       
BAD*     IMS1       10 NO RESOURCES FOUND                           
BADNAME  IMS1       10 NO RESOURCES FOUND                           
FPTRN02  IMS1        0                                              
SMQFP7A  IMS1        0                                              
SMQFP7B  IMS1        0                                              
SMQFP7C  IMS1        0                                              
SMQFP71  IMS1        0                                              
SMQFP72  IMS1        0                                              
SMQFP73  IMS1        0       
OM API input:
CMD(UPDATE RTC NAME(BADNAME,FPTRN02,SMQFP7*,BAD*) SET(PGM(DBFSAMP3)))
OM API output:
<imsout>                                    
<ctl>                                       
<omname>OM1OM   </omname>                   
<omvsn>1.3.0</omvsn>                        
<xmlvsn>20  </xmlvsn>                       
<statime>2006.311 23:50:02.663055</statime> 
<stotime>2006.311 23:50:02.663790</stotime>
<staseq>BFAC125257C8FB80</staseq>                                    
<stoseq>BFAC125257F6E500</stoseq>                                    
<rqsttkn1>USRT011 10155002</rqsttkn1>                                
<rc>0200000C</rc>                                                    
<rsn>00003008</rsn>                                                  
<rsnmsg>CSLN054I</rsnmsg>                                            
<rsntxt>None of the clients were successful.</rsntxt>                
</ctl>                                                               
<cmderr>                                                             
<mbr name="IMS1    ">                                                
<typ>IMS     </typ>                                                  
<styp>DBDC    </styp>                                                
<rc>0000000C</rc>                                                    
<rsn>00003000</rsn>                                                  
<rsntxt>At least one request successful</rsntxt>                     
</mbr>                                                               
</cmderr>                                                            
<cmd>                                                                
<master>IMS1    </master>                                            
<userid>USRT011 </userid>                                            
<verb>UPD </verb>                                                    
<kwd>RTC             </kwd>                                          
<input>UPD  RTC NAME(BADNAME,FPTRN02,SMQFP7*,BAD*) SET(PGM(DBFSAMP3))
</input>                                                               
</cmd>                                                                 
<cmdrsphdr>                                                            
<hdr slbl="RTC" llbl="RtcName" scope="LCL" sort="a" key="1" scroll="no"
 len="8" dtype="CHAR" align="left" />                                  
<hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="a" key="2" scroll="no"
 len="8" dtype="CHAR" align="left" />                                  
<hdr slbl="CC" llbl="CC" scope="LCL" sort="n" key="0" scroll="yes"     
 len="4" dtype="INT" align="right" />                                  
<hdr slbl="CCTXT" llbl="CCText" scope="LCL" sort="n" key="0"           
 scroll="yes" len="32" dtype="CHAR" align="left" skipb="yes" />        
</cmdrsphdr>                                                           
<cmdrspdata>                                                           
<rsp>RTC(BADNAME ) MBR(IMS1) CC(  10) CCTXT(NO RESOURCES FOUND) </rsp> 
<rsp>RTC(FPTRN02 ) MBR(IMS1) CC(   0) </rsp>                           
<rsp>RTC(SMQFP7A ) MBR(IMS1) CC(   0) </rsp>                           
<rsp>RTC(BAD*    ) MBR(IMS1) CC(  10) CCTXT(NO RESOURCES FOUND) </rsp> 
<rsp>RTC(SMQFP7B ) MBR(IMS1) CC(   0) </rsp>                           
<rsp>RTC(SMQFP7C ) MBR(IMS1) CC(   0) </rsp>                           
<rsp>RTC(SMQFP71 ) MBR(IMS1) CC(   0) </rsp>                           
<rsp>RTC(SMQFP72 ) MBR(IMS1) CC(   0) </rsp>                           
<rsp>RTC(SMQFP73 ) MBR(IMS1) CC(   0) </rsp>                         
</cmdrspdata>                                                          
</imsout>

Explanation: The UPDATE RTC command is issued to update the program for several routing codes. The update completed successfully for most of the routing codes, as shown by completion code 0. The update fails for routing code BADNAME and for parameter BAD* with completion code 10 because routing code BADNAME does not exist and no routing code name starts with BAD.