REQUEST=ADD allows you to add a data set to a LNKLST set.
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.lnklstname.ADD
|
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). The user-provided data set name via the
DSNAME parameter has the same requirements and restrictions as the
control parameters.
The user-provided data set name via the
AFTERDSNAME parameter has the same requirements and restrictions as
the control parameters.
The user-provided data set name via
the PROBDSNAME parameter has the same requirements and restrictions
as the control parameters.
|
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
When control returns to the caller, the GPRs contain: - Register
- Contents
- 0
- Reason code if GPR15 is not 0
- 1
- Used as a work register by the system
- 2-13
- Unchanged
- 14
- Used as a work register by the system
- 15
- Return code
When control returns to the caller, the ARs contain: - 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.
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=ADD |
|
|
|
,LNKLSTNAME=lnklstname |
lnklstname: RS-type address
or address in register (2) - (12). |
|
|
,DSNAME=dsname |
dsname: RS-type address or
address in register (2) - (12). |
|
|
,VOLUME=volume |
volume: RS-type address or
address in register (2) - (12). |
,VOLUME=CATALOG |
Default: VOLUME=CATALOG |
|
|
,POS=BOTTOM |
Default: POS=BOTTOM |
,POS=TOP |
|
,POS=AFTER |
|
|
|
,AFTERDSNAME=afterdsname |
afterdsname: RS-type address
or address in register (2) - (12). |
|
|
,CHECKCONCAT=NO |
Default: CHECKCONCAT=NO |
,CHECKCONCAT=YES |
|
|
|
,PROBDSNAME=probdsname |
probdsname: RS-type address
or address in register (2) - (12). |
|
|
,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=ADD
- A required parameter. REQUEST is required even when MF=(E,label,NOCHECK)
is specified. REQUEST=ADD indicates to add a data set to a LNKLST
set. You cannot add a data set to any active LNKLST set (either the
current set, or prior sets that are still in use). You cannot add
a data set to LNKLST sets "CURRENT" and "IPL."
Note that if any
data set in the LNKLST set is migrated, the issuer's unit of work
will wait until the data set is retrieved before continuing.
The
system keeps track of the volume on which the data set resides as
well as whether or not the data set is managed by the storage management
subsystem (SMS). Once the system has determined these values for a
data set within a LNKLST set, any of the following will result in
an error when the system attempts to allocate the LNKLST set: - A data set has changed from not SMS-managed to SMS-managed, or
vice versa;
- A data set that is not SMS-managed is deleted and then reallocated
on another volume
The system flags these cases as errors because they might
indicate that the LNKLST set is not what the user expects, and in
particular, the APF authorization of the data set might not be as
expected. In both cases, if you do want the new data set, you must
delete the data set from the LNKLST set and then re-add it.
- ,LNKLSTNAME=lnklstname
- A required input parameter that contains the name of the LNKLST
set.
To code: Specify the RS-type address, or address in
register (2) - (12), of a 16-character field.
- ,DSNAME=dsname
- A required input parameter that contains the name of the data
set or library to be added to the LNKLST set. The data set must be
cataloged. It may be allocated as a PDS or as a PDSE.
Note that
if the data set is migrated, the issuer's unit of work will wait until
the data set is retrieved before continuing.
To code: Specify
the RS-type address, or address in register (2) - (12), of a 44-character
field.
- ,VOLUME=volume
- ,VOLUME=CATALOG
- An optional input parameter that contains the name of the volume
on which the data set resides. Be aware that even when this option
is specified, the data set must reside on the volume indicated by
the "normal" catalog. If used during IPL when only the master catalog
is available, the volume ID will be checked once the "normal" catalog
is available. The ADD will be rejected if the specified volume did
not match the volume indicated by the catalog. You can use a value
of "******" to indicate that the data set is located on the current
SYSRES volume. You can use a value of "*MCAT*" to indicate that
the data set is located on the volume containing the master catalog.
The default is CATALOG.
To code: Specify the RS-type address,
or address in register (2) - (12), of a 6-character field.
- ,POS=BOTTOM
- ,POS=TOP
- ,POS=AFTER
- An optional parameter that indicates where in the list to place
the data set. The default is POS=BOTTOM.
- ,POS=BOTTOM
- specifies to place the data set at the bottom or end of the list.
- ,POS=TOP
- specifies to place the data set at the top or start of the list.
Note that the system always places the LINKLIB, MIGLIB, CSSLIB, SIEALNKE,
and SIEAMIGE data sets at the top of the list. Thus POS=TOP would
indicate to place the data set immediately after the CSSLIB data set.
- ,POS=AFTER
- specifies to place the data set after the data set named by the
AFTERDSNAME parameter. Note that you cannot place the data set in
between two of the system libraries that are always present in the
LNKLST. Thus you cannot specify the LINKLIB or MIGLIB data set via
the AFTERDSNAME parameter. You also cannot specify the CSSLIB data
set via "AFTER=xx". Use POS=TOP if you want the data set to be placed
into the LNKLST immediately after the CSSLIB data set.
- ,AFTERDSNAME=afterdsname
- When POS=AFTER is specified, a required input parameter that contains
the name of the data set or library after which the data set named
by the DSNAME parameter is to be placed within the LNKLST set. The
data set must be cataloged.
To code: Specify the RS-type
address, or address in register (2) - (12), of a 44-character field.
- ,CHECKCONCAT=NO
- ,CHECKCONCAT=YES
- An optional parameter that indicates whether to check if the concatenation
defined by the LNKLST set is full. The default is CHECKCONCAT=NO.
- ,CHECKCONCAT=NO
- specifies not to check if the concatenation is full. If the concatenation
actually is full, the situation will be caught when the LNKLST set
is activated.
- ,CHECKCONCAT=YES
- specifies to check if the concatenation is full. This implies
that all the data sets in the LNKLST set must be allocated and concatenated
together. The system processing for this option will be longer than
when CHECKCONCAT=NO is specified.
- ,PROBDSNAME=probdsname
- An optional output parameter that is to contain the name of the
"problem" data set or library for which processing failed. The library
either could not be allocated, opened, or caused the extent limit
to be exceeded.
To code: Specify the RS-type address, or
address in register (2) - (12), of a 44-character 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.
|