REQUEST=UPDATE option of CSVDYNL
REQUEST=UPDATE updates jobs or address spaces to use the current LNKLST set. For further information, see the topic "Removing or Compressing a Dataset in an Active LNKLST Set” in z/OS MVS Initialization and Tuning Reference.
Environment
The requirements for the caller are:
| Environmental factor | Requirement |
|---|---|
| Minimum authorization: | SAF authority to the FACILITY class. If SAF is
not available, or has no pertinent information, then the caller must
be supervisor state or PKM 0-7, or PSW key 0-7, or APF-authorized.
The SAF entity name and authorization level applied is UPDATE authority to FACILITY class entity CSVDYNL.UPDATE.LNKLST |
| Dispatchable unit mode: | Task |
| Cross memory mode: | PASN=HASN=SASN |
| AMODE: | 31-bit |
| ASC mode: | Primary or access register (AR) |
| Interrupt status: | Enabled for I/O and external interrupts |
| Locks: | The caller must not be locked. |
| Control parameters: | Control parameters must be in the primary address space or, for AR-mode callers, must be in an address/data space that is addressable through a public entry on the caller's dispatchable unit access list (DU-AL). |
Programming requirements
The caller should include the CSVDLAA macro to get equate symbols for the return and reason codes.
Restrictions
The caller must not have functional recovery routines (FRRs) established.
Input register information
Before issuing the CSVDYNL macro, the caller does not have to place any information into any general purpose register (GPR) unless using it in register notation for a particular parameter, or using it as a base register.
Before issuing the CSVDYNL macro, the caller does not have to place any information into any access register (AR) unless using it in register notation for a particular parameter, or using it as a base register.
Output register information
- Register
- Contents
- 0
- Reason code if GPR15 is not 0
- 2-13
- Unchanged
- 14
- Used as a work register by the system
- 15
- Return code
- Register
- Contents
- 0-1
- Used as work registers by the system
- 2-13
- Unchanged
- 14-15
- Used as work registers by the system
Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.
Performance implications
None.
Syntax
The CSVDYNL macro is written as follows:
| Syntax | Description |
|---|---|
| name | name: symbol. Begin name in column 1. |
| ␢ | One or more blanks must precede CSVDYNL. |
| CSVDYNL | |
| ␢ | One or more blanks must follow CSVDYNL. |
| REQUEST=UPDATE | |
| ,WHICHAS=HOME | Default: WHICHAS=HOME |
| ,WHICHAS=SPECIFIED | |
| ,JOBNAME=jobname | jobname: RS-type address or address in register (2) - (12). |
| ,ASID=asid | asid: RS-type address or address in register (2) - (12). |
| ,DELAY=d | d: RS-type address or address in register (2) - (12). |
| ,DELAY=NO_DELAY | Default: DELAY=NO_DELAY |
| ,RETCODE=retcode | retcode: RS-type address or register (2) - (12). |
| ,RSNCODE=rsncode | rsncode: RS-type address or register (2) - (12). |
| ,PLISTVER=IMPLIED_VERSION | Default: PLISTVER=IMPLIED_VERSION |
| ,PLISTVER=MAX | |
| ,PLISTVER=0 | |
| ,MF=S | Default: MF=S |
| ,MF=(L,list addr) | list addr: RS-type address or register (1) - (12). |
| ,MF=(L,list addr,attr) | |
| ,MF=(L,list addr,0D) | |
| ,MF=(E,list addr) | |
| ,MF=(E,list addr,COMPLETE) | |
| ,MF=(E,list addr,NOCHECK) | |
| ,MF=(M,list addr) | |
| ,MF=(M,list addr,COMPLETE) | |
| ,MF=(M,list addr,NOCHECK) | |
Parameters
The parameters are explained as follows:
- name
- An optional symbol, starting in column 1, that is the name on the CSVDYNL macro invocation. The name must conform to the rules for an ordinary assembler language symbol.
- REQUEST=UPDATE
- A required parameter. REQUEST is required even when MF=(E,label,NOCHECK) is specified. REQUEST=UPDATE indicates to update the named address space so that subsequent operations will use the current LNKLST. Normally, a job continues to use the LNKLST set that was current when the job began. This function allows the job to use the current LNKLST set. Use this parameter with caution. Updating an address space while it is in the middle of fetching a module can cause the fetch to fail or to locate an incorrect copy of the module.
- ,WHICHAS=HOME
- ,WHICHAS=SPECIFIED
- An optional parameter that indicates what address space is to
be updated. The default is WHICHAS=HOME.
- ,WHICHAS=HOME
- indicates the home address space.
- ,WHICHAS=SPECIFIED
- indicates that the JOBNAME or ASID parameter specifies the address space. This option must be used with care, as modification of the LNKLST for any address space is dangerous unless the program knows that no program fetch processing is being done within that address space. IBM® recommends that you do not use this option. It is provided primarily so that a program can fully duplicate the functions of the SETPROG LNKLST,UPDATE command.
- ,JOBNAME=jobname
- ,ASID=asid
- When WHICHAS=SPECIFIED is specified, a required input parameter.
- ,JOBNAME=jobname
- A parameter that contains the name of the job that is to be updated.
All jobs of this name will be updated. If the jobname contains wildcard
characters (? or *), the LNKLST will be updated for all jobs that
match the provided pattern. The jobname used in performing the comparison
is the name of the job for an initiated job; otherwise, the name of
the address space.
To code: Specify the RS-type address, or address in register (2) - (12), of an 8-character field.
- ,ASID=asid
- A parameter that contains the ASID of the job.
To code: Specify the RS-type address, or address in register (2) - (12), of a halfword field.
- DELAY=d
- An optional input parameter that contains the value to delay the
completion of the UPDATE operation in seconds. It must be a value
in the range 0 to 255. The LNKLST will be updated immediately, but
the processing for closing LNKLST data sets no longer in use and unallocating
LNKLST data sets that are no longer in use is delayed by the given
amount.
To code: Specify the RS-type address, or address in register (2) - (12), of a one-byte field.
- ,RETCODE=retcode
- An optional output parameter into which the return code is to
be copied from GPR 15.
To code: Specify the RS-type address of a fullword field, or register (2) - (12).
- ,RSNCODE=rsncode
- An optional output parameter into which the reason code is to
be copied from GPR 0.
To code: Specify the RS-type address of a fullword field, or register (2) - (12).
- ,PLISTVER=IMPLIED_VERSION
- ,PLISTVER=MAX
- ,PLISTVER=0
- An optional input parameter that specifies the version of the
macro. PLISTVER determines which parameter list the system generates.
PLISTVER is an optional input parameter on all forms of the macro,
including the list form. When using PLISTVER, specify it on all macro
forms used for a request and with the same value on all of the macro
forms. The values are:
- IMPLIED_VERSION, which is the lowest version that allows all parameters specified on the request to be processed. If you omit the PLISTVER parameter, IMPLIED_VERSION is the default.
- MAX, if you want the parameter list to be the largest size
currently possible. This size might grow from release to release and
affect the amount of storage that your program needs.
If you can tolerate the size change, IBM recommends that you always specify PLISTVER=MAX on the list form of the macro. Specifying MAX ensures that the list-form parameter list is always long enough to hold all the parameters you might specify on the execute form, when both are assembled with the same level of the system. In this way, MAX ensures that the parameter list does not overwrite nearby storage.
- 0, if you use the currently available parameters.
To code: Specify one of the following:- IMPLIED_VERSION
- MAX
- A decimal value of 0
- ,MF=S
- ,MF=(L,list addr)
- ,MF=(L,list addr,attr)
- ,MF=(L,list addr,0D)
- ,MF=(E,list addr)
- ,MF=(E,list addr,COMPLETE)
- ,MF=(E,list addr,NOCHECK)
- ,MF=(M,list addr)
- ,MF=(M,list addr,COMPLETE)
- ,MF=(M,list addr,NOCHECK)
- An optional input parameter that specifies the macro form.
Use MF=S to specify the standard form of the macro, which builds an inline parameter list and generates the macro invocation to transfer control to the service. MF=S is the default.
Use MF=L to specify the list form of the macro. Use the list form together with the execute form of the macro for applications that require reentrant code. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter may be coded with the list form of the macro.
Use MF=E to specify the execute form of the macro. Use the execute form together with the list form of the macro for applications that require reentrant code. The execute form of the macro stores the parameters into the storage area defined by the list form, and generates the macro invocation to transfer control to the service.
Use MF=M together with the list and execute forms of the macro for service routines that need to provide different options according to user-provided input. Use the list form to define a storage area; use the modify form to set the appropriate options; then use the execute form to call the service.
IBM recommends that you use the modify and execute forms of CSVDYNL in the following order:- Use CSVDYNL ...MF=(M,list-addr,COMPLETE) specifying appropriate parameters, including all required ones.
- Use CSVDYNL ...MF=(M,list-addr,NOCHECK), specifying the parameters that you want to change.
- Use CSVDYNL ...MF=(E,list-addr,NOCHECK), to execute the macro.
- ,list addr
- The name of a storage area to contain the parameters. For MF=S, MF=E, and MF=M, this can be an RS-type address or an address in register (1) - (12).
- ,attr
- An optional 1- to 60-character input string that you use to force boundary alignment of the parameter list. Use a value of 0F to force the parameter list to a word boundary, or 0D to force the parameter list to a doubleword boundary. If you do not code attr, the system provides a value of 0D.
- ,COMPLETE
- Specifies that the system is to check for required parameters and supply defaults for omitted optional parameters.
- ,NOCHECK
- Specifies that the system is not to check for required parameters and is not to supply defaults for omitted optional parameters.
ABEND codes
None.
Return and reason codes
See Return and reason codes for the return and reason codes.
Examples
See Examples for an example.