z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


REQUEST=DEFINE option of CSVDYNL

z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
SA23-1372-00

REQUEST=DEFINE allows you to define a LNKLST set for the LNKLST concatenation.

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.DEFINE
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

When control returns to the caller, the GPRs contain:
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
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.

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=DEFINE  
   
  ,LNKLSTNAME=lnklstname lnklstname: RS-type address or address in register (2) - (12).
   
  ,COPYFROM=copyfrom copyfrom: RS-type address or address in register (2) - (12).
  ,COPYFROM=NO_COPY Default: COPYFROM=NO_COPY
   
  ,CHECKSYS1=YES Default: CHECKSYS1=YES
  ,CHECKSYS1=NO  
   
  ,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=DEFINE
A required parameter. REQUEST is required even when MF=(E,label,NOCHECK) is specified. REQUEST=DEFINE indicates to define a LNKLST set.
,LNKLSTNAME=lnklstname
A required input parameter that contains the name of the LNKLST set. For IBM-provided LNKLST sets, this name should begin with the letters SYS. The first character must not be X'00' or blank. It is recommended that the name use characters from among the set of alphanumerics, special (@#$), underscore, and period. There should be no imbedded blanks. Avoid using the names "CURRENT" and "IPL". The first is reserved to mean "the current LNKLST". The other is reserved to mean the LNKLST defined via the LNKLSTxx parmlib members and the LNK parameter of the IEASYSxx parmlib member.

To code: Specify the RS-type address, or address in register (2)-(12), of a 16-character field.

,COPYFROM=copyfrom
,COPYFROM=NO_COPY
An optional input parameter that contains the name of the LNKLST set to be copied in order to initialize the LNKLST set being defined. If "CURRENT" is specified, the current LNKLST set will be used. By default, the LNKLST set being defined will contain the LINKLIB, MIGLIB, CSSLIB, LINKLIBE and MIGLIBE data sets (SYS1.LINKLIB, SYS1.MIGLIB, SYS1.CSSLIB, SYS1.SIEALNKE, and SYS1.SIEAMIGE, unless overridden by the SYSLIB statement of PROGxx). The default is NO_COPY.

To code: Specify the RS-type address, or address in register (2)-(12), of a 16-character field.

,CHECKSYS1=YES
,CHECKSYS1=NO
An optional parameter that indicates whether the LNKLST set must contain SYS1.LINKLIB, SYS1.MIGLIB, SYS1.CSSLIB, SYS1.SIEALNKE, and SYS1.SIEAMIGE. The default is CHECKSYS1=YES.
,CHECKSYS1=YES
specifies that the LNKLST set must contain SYS1.LINKLIB, SYS1.MIGLIB, and SYS1.CSSLIB.
,CHECKSYS1=NO
specifies that the LNKLST set does not need to contain one or more of the following:
  • SYS1.LINKLIB
  • SYS1.MIGLIB
  • SYS1.CSSLIB
When CHECKSYS1=NO is specified, it is the customer's responsibility to have an alternate data set for each SYS1.xxxLIB data set that is not in the LNKLST set, and that data set must contain all of the information present in the SYS1.xxxLIB data set. Be aware that all LNKLST sets begin with the LINKLIB, MIGLIB, and CSSLIB data sets as defined by the SYSLIB statement of the PROGxx parmlib member. These data sets default to SYS1.xxxLIB. Thus the only way to create a LNKLST set without one or more of the SYS1.xxxLIB data sets is to have used the SYSLIB statement to provide a different name for those data sets.
This option should be used with care. It might be used, for instance, to allow for compressing of SYS1.LINKLIB after additional members have been added to it. Since compressing can only safely be done when the data set is not allocated, the data set must not be in use as an active LNKLST. The following protocol could be used, for instance:
  • Use the SYSLIB statement of the PROGxx parmlib member during IPL to define alternate names for the LINKLIB, MIGLIB, and CSSLIB data sets.
  • Create a data set that contains a copy of SYS1.LINKLIB.
  • DEFINE a LNKLST set that is the same as the current one, but has the new data set in place of SYS1.LINKLIB.
  • ACTIVATE that new LNKLST set.
  • Stop the library lookaside (LLA) facility.
  • UPDATE jobs to use the new LNKLST set. There are cautions associated with using the UPDATE function that you need to be aware of. After doing the UPDATE and stopping LLA, SYS1.LINKLIB should no longer be allocated.
  • Compress SYS1.LINKLIB.
  • ACTIVATE the previous LNKLST set.
  • UPDATE jobs to use that LNKLST set.
  • Start LLA.
,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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014