Description
CSVDYLPA allows you to request dynamic LPA services. Be aware, however, that changes to LPA itself are not actually done. This set of services truly only lets you add modules to, and delete modules from, common storage. When searching by module name, the system will locate the copy of a module added by dynamic LPA services even if it was present in PLPA, MLPA, or FLPA.
- Add one or more modules to common storage (REQUEST=ADD).
- Delete one or more modules that were previously added using dynamic LPA services (REQUEST=DELETE).
- Request that your program wait until processing of LPA statements in the IPL-time PROGxx parmlib members complete (REQUEST=DEFLPAWAIT).
- Query information about support for LPA services (REQUEST=QUERYDYN).
- Query whether processing of LPA statements in the IPL-time PROGxx parmlib members is complete (REQUEST=QUERYDEFLPA).
- The return and reason codes, Return and reason codes
- Examples of using CSVDYLPA, Example 1
Return and reason codes
- GPR 15 (and retcode, when you code RETCODE) contains a return code.
- When the value in GPR 15 is not zero, GPR 0 (and rsncode, when you code RSNCODE) contains a reason code.
Macro CSVLPRET provides equate symbols for the return and reason codes.
The following table identifies the hexadecimal return and reason codes and the equate symbol associated with each reason code. IBM® support personnel may request the entire reason code, including the xxxx value.
Return Code | Reason Code | Equate Symbol
Meaning and Action |
---|---|---|
0 | — | Equate Symbol: CsvdylpaRc_OK Meaning: CSVDYLPA request successful. Action: None required.
|
4 | — | Equate Symbol: CsvdylpaRc_Warn Meaning: Warning Action: Refer to the action provided with the specific reason code. |
4 | xxxx0401 | Equate Symbol: CsvdylpaRsnNotAllSuccessful Meaning: For ADD and DELETE request, at least one input module could not be processed successfully. Information about the problem is contained within the MODINFO entry for that module, in field LpmeaOutputFlags (for ADD) or field LpmedOutputFlags (for DELETE). The system continued to process entries after the one for which the problem occurred. Action: Fix the problem before requesting the function again. |
8 | — | Equate Symbol: CsvdylpaRc_InvParm Meaning: CSVDYLPA request specifies parameters that are not valid. For ADD and DELETE, when the problem occurred while processing a particular MODINFO entry, the system will not process any additional MODINFO entries. Action: Refer to the action provided with the specific reason code. |
8 | xxxx0801 | Equate Symbol: CsvdylpaRsnBadParmlist Meaning: Unable to access parameter list. Action: Check for possible storage overlay. |
8 | xxxx0802 | Equate Symbol: CsvdylpaRsnSrbMode Meaning: SRB mode. Action: Avoid requesting this function in SRB mode. |
8 | xxxx0803 | Equate Symbol: CsvdylpaRsnNotEnabled Meaning: Not Enabled. Action: Avoid requesting this function while not enabled. |
8 | xxxx0805 | Equate Symbol: CsvdylpaRsnHomeNotPrimary Meaning: Home address space different from primary address space. Action: Avoid requesting this function in this environment. |
8 | xxxx0809 | Equate Symbol: CsvdylpaRsnBadRequestType Meaning: Request type is not valid. Action: Check for possible storage overlay of the parameter list. |
8 | xxxx080A | Equate Symbol: CsvdylpaRsnBadEstaex Meaning: Unable to establish ESTAEX. "xxxx" contains the ESTAEX return code. There could be an FRR established. Action: Refer to documentation for ESTAEX return code "xxxx". |
8 | xxxx080B | Equate Symbol: CsvdylpaRsnReservedNot0 Meaning: Reserved field not 0. Action: Check for possible storage overlay of the parameter list. |
8 | xxxx080D | Equate Symbol: CsvdylpaRsnBadParmlistALET Meaning: Unable to use ALET of parameter list. Action: Make sure that the ALET of the parameter list is valid. The access register might not have been set up correctly. |
8 | xxxx080E | Equate Symbol: CsvdylpaRsnBadVersion Meaning: Bad version number. Action: Check for possible storage overlay of the parameter list. |
8 | xxxx080F | Equate Symbol: CsvdylpaRsnLocked Meaning: Locked Action: Avoid requesting this function in this environment. |
8 | xxxx0815 | Equate Symbol: CsvdylpaRsnBadDsnameArea Meaning: Unable to access data set name. Action: Make sure that the DSNAME area is valid. |
8 | xxxx0816 | Equate Symbol: CsvdylpaRsnBadModinfoArea Meaning: Unable to access MODINFO area. Action: Make sure that the MODINFO area is valid. |
8 | xxxx0817 | Equate Symbol: CsvdylpaRsnBadModinfoALET Meaning: Unable to use ALET of MODINFO area. Action: Make sure that the ALET of the MODINFO area is valid. The access register might not have been set up correctly. |
8 | xxxx0818 | Equate Symbol: CsvdylpaRsnBadOpen Meaning: Unable to open specified data set. Action: Make sure that you specified the proper data set, that it is a PDS or PDSE program library, and that it can be located by the system. |
8 | xxxx081D | Equate Symbol: CsvdylpaRsnBadNumMod Meaning: The value provided by the NUMMOD parameter is 0 or exceeds 256. Action: Specify a non-zero NUMMOD parameter value. Instead of providing more than 256 entries in a single call, use multiple calls each of which provides no more than 256 entries. |
8 | xxxx0820 | Equate Symbol: CsvdylpaRsnBadDsnameALET Meaning: Bad dsname ALET. Action: Make sure that the ALET of the DSNAME area is valid. The access register might not have been set up correctly. |
8 | xxxx0822 | Equate Symbol: CsvdylpaRsnBadModuleName Meaning: Bad modulename - first character is 0 or blank. Action: Provide a valid module name. |
8 | xxxx0823 | Equate Symbol: CsvdylpaRsnBadDsname Meaning: Bad DSNAME - first character is 0 or blank. Action: Provide a valid data set name. |
8 | xxxx0829 | Equate Symbol: CsvdylpaRsnBadAlloc Meaning: Unable to allocate data set. Action: Make sure that you specified the proper data set, that it is a PDS or PDSE program library, and that it can be located by the system. |
8 | xxxx082B | Equate Symbol: CsvdylpaRsnFunctionNotAvailable Meaning: Required DFSMS function or dynamic allocation is not available. Action: Make sure that the required DFSMS support is installed. Avoid requesting the function in an environment where dynamic allocation is not available. |
8 | xxxx082C | Equate Symbol: CsvdylpaRsnNotAuthDCB Meaning: Not authorized to use DCB option. Must be supervisor state, PKM allowing key 0-7, PSW key 0-7, or APF authorized. Action: Avoid using the DCB option unless you have the required authorization. |
8 | xxxx082D | Equate Symbol: CsvdylpaRsnNotAuthConcat Meaning: If not supervisor state, PKM allowing key 0-7, PSW key 0-7, or APF authorized, or if APFREQUIRED=YES is specified or defaulted, the concatenation represented by the input DDNAME or DCB must be APF authorized. Action: Avoid using a non-APF authorized concatenation unless you have the required authorization. |
8 | xxxx082E | Equate Symbol: CsvdylpaRsnNotAuthMemberMask Meaning: Not authorized to use MemberMask option. Must be supervisor state, PKM allowing key 0-7, PSW key 0-7, or APF authorized. Action: Avoid using the MODINFOTYPE=MEMBERMASK function unless you have the required authorization. |
8 | xxxx0830 | Equate Symbol: CsvdylpaRsnBadModinfoxArea Meaning: Unable to access MODINFOX area. Action: Make sure that the MODINFOX area is valid. |
8 | xxxx0831 | Equate Symbol: CsvdylpaRsnBadModinfoxALET Meaning: Unable to use ALET of MODINFOX area. Action: Make sure that the ALET of the MODINFOX area is valid. The access register might not have been set up correctly. |
8 | xxxx0833 | Equate Symbol: CsvdylpaRsnNotESVC Meaning: An extended SVC was selected, but the specified SVC number is not an extended SVC. Action: Correct the SVC number. |
8 | xxxx0834 | Equate Symbol: CsvdylpaRsnBadESvcrnum Meaning: The routing number for the selected extended SVC exceeded the number of entries for that extended SVC that were defined at IPL Action: Correct the extended SVC routine number. |
8 | xxxx083C | Equate Symbol: CsvdylpaRsnNotPartitioned Meaning: For ADD request, the data set is not partitioned. Action: Make sure that you specified the proper data set and that it is a PDS or PDSE program library. |
8 | xxxx083D | Equate Symbol: CsvdylpaRsnBadByaddrInfo Meaning: For ADD request with BYADDR=YES, the module information is incorrect. Action: Make sure that the entry point and load point addresses represent common area storage. Make sure that the entry point lies within the primary load segment. |
8 | xxxx083E | Equate Symbol: CsvdylpaRsnNotAuthByaddr Meaning: Not authorized to use BYADDR=YES option. Must be supervisor state, PKM allowing key 0-7, PSW key 0-7, or APF authorized. Action: Avoid using BYADDR=YES unless you have the required authorization. |
8 | xxxx083F | Equate Symbol: CsvdylpaRsnBadDcbArea Meaning: Unable to access the opened DCB. Action: Make sure that the DCB has been opened. |
8 | xxxx0840 | Equate Symbol: CsvdylpaRsnEnqHeldShared Meaning: The ENQ resource with QNAME SYSZCSV and RNAME CSVDYLPA was held in the shared state on entry to dynamic LPA services. Action: Avoid holding the ENQ shared when using dynamic LPA services. |
8 | xxxx0841 | Equate Symbol: CsvdylpaRsnBadLPMEAQArea Meaning: Unable to access LPMEAQ area. Action: Make sure that the LPMEAQ area is valid. |
8 | xxxx0842 | Equate Symbol: CsvdylpaRsnBadLPMEAQALET Meaning: Unable to use ALET of LPMEAQ area. Action: Make sure that the ALET of the LPMEAQ area is valid. The access register might not have been set up correctly. |
8 | xxxx0843 | Equate Symbol: CsvdylpaRsnNotAuthAddAlias Meaning: Not authorized to use the ADDALIAS=YES function. Must be supervisor state, PKM allowing key 0-7, PSW key 0-7, or APF authorized. Action: Do not use the ADDALIAS=YES function unless you have the required authorization. |
8 | xxxx0844 | Equate Symbol: CsvdylpaRsnBadPathnameLen Meaning: The PATHNAMELEN parameter value is not in the range 1-1023. Action: Provide a valid PATHNAMELEN parameter value. |
8 | xxxx0845 | Equate Symbol: CsvdylpaRsnBadPathnameArea Meaning: Unable to access the path name. Action: Make sure that the PATHNAME area is valid. |
8 | xxxx0846 | Equate Symbol: CsvdylpaRsnBadPathnameALET
Meaning: Unable to use ALET of PATHNAME area. Action: Make sure that the ALET of the PATHNAME area is valid. The access register might not have been set up correctly. |
8 | xxxx0847 | Equate Symbol: CsvdylpaRsnBadPathnameNumMod
Meaning: PATHNAME was specified and the value provided by the NUMMOD parameter is not 1. Action: Provide only one entry for each call. |
8 | xxxx0848 | Equate Symbol: CsvdylpaRsnNotAuthDEFLPAWAIT
Meaning: Not authorized to use REQUEST=DEFLPAWAIT. Must be supervisor state, PKM allowing key 0-7, PSW key 0-7, or APF authorized. Action: Do not use the REQUEST=DEFLPAWAIT function unless you have the required authorization. |
C | — | Equate Symbol: CsvdylpaRc_Env Meaning: Environmental error Action: Refer to the action provided with the specific reason code. |
C | xxxx0C02 | Equate Symbol: CsvdylpaRsnNoStorage Meaning: There is not sufficient storage to complete the request. Action: Contact your system programmer. There is a shortage of common storage. |
C | xxxx0C04 | Equate Symbol: CsvdylpaRsnBadDirectory Meaning: When using the MemberMask option, the data set directory was in error. Either an I/O error occurred accessing the directory, or the format of a directory entry was incorrect. Action: Fix the data set directory. Make sure that the data set is a PDS or PDSE program library. |
C | xxxx0C05 | Equate Symbol: CsvdylpaRsnStoragelimExceeded Meaning: For ADD request, the amount of module storage needed for the request would have caused the amount of CSA or ECSA remaining to fall below the threshold specified by the system programmer using the LPA CSAMIN statement of PROGxx, the SETPROG LPA,CSAMIN system command, or CSA/ECSA specified in IEASYSxx. Action: Specify that fewer modules be added, or have the system programmer reduce the CSAMIN amounts. |
10 | — | Equate Symbol: CsvdylpaRC_CompError Meaning: Unexpected failure. Action: Refer to the action provided with the specific reason code. |
10 | xxxx1001 | Equate Symbol: CsvdylpaRsnCompError Meaning: Unexpected failure. The state of the request is unpredictable. Action: Contact your system programmer. |
Examples
Example 1
Operation 1:
- Add a module to LPA
- Delete a module from LPA
*************************************************************
* Set up MODINFO area, for module "MYMODULE", indicating *
* that the module is to be page-fixed. *
* Add the module to LPA, locating the module using *
* data set 'SYS1.MYDS'. *
*************************************************************
LA 2,ADDINFO
USING LPMEA,2
XC ADDINFO(LPMEA_LEN),ADDINFO
MVC LPMEANAME,=CL8'MYMODULE'
OI LPMEAINPUTFLAGS0,LPMEAFIXED
DROP 2
CSVDYLPA REQUEST=ADD,MODINFOTYPE=MEMBERLIST, *
MODINFO=(2),NUMMOD=LMODN, *
DSNAME=LDS1, *
REQUESTOR=LREQ, *
RETCODE=LRETCODE,RSNCODE=LRSNCODE, *
MF=(E,DYLPAL)
*
* Place code to check return/reason codes here
*
... processing code here ...
*
*************************************************************
* Set up MODINFO area, for module "MYMODULE", using the *
* token returned on REQUEST=ADD. *
* Delete the module from LPA. *
*************************************************************
LA 3,ADDINFO
USING LPMEA,3
LA 2,DELINFO
USING LPMED,2
XC DELINFO(LPMED_LEN),DELINFO
MVC LPMEDNAME,LPMEANAME
MVC LPMEDDELETETOKEN,LPMEADELETETOKEN
DROP 2,3
CSVDYLPA REQUEST=DELETE,MODINFO=(2),NUMMOD=LMODN, *
RETCODE=LRETCODE,RSNCODE=LRSNCODE, *
MF=(E,DYLPAL)
*
* Place code to check return/reason codes here.
*
LMODN DC F'1'
LDS1 DC CL44'SYS1.MYDS'
LREQ DC CL16'CSVDYLPA EXAMPLE'
CSVLPRET Return code information
DYNAREA DSECT
ADDINFO DS 0D
ORG ADDINFO+LPMEA_LEN
DELINFO DS 0D
ORG DELINFO+LPMED_LEN
LRETCODE DS F
LRSNCODE DS F
CSVDYLPA MF=(L,DYLPAL)
Example 2
Operation 2:
- Determine if deferred LPA processing is complete.
- Wait for the completion of deferred LPA processing, if needed.
CSVDYLPA REQUEST=QUERYDEFLPA, *
DEFLPASTATE=LDEFLPASTATE
CLI LDEFLPASTATE,CsvdylpaDefLPAState_Complete
JE DEFLPA_COMPLETE
CSVDYLPA REQUEST=DEFLPAWAIT, *
RETCODE=LRETCODE,RSNCODE=LRSNCODE, *
MF=(E,DYLPAL)
*
* Place code to check return/reason codes here
*
DEFLPA_COMPLETE DS 0H
... processing code here ...
DYNAREA DSECT
LRETCODE DS F
LRSNCODE DS F
CSVDYLPA MF=(L,DYLPAL)
LDEFLPASTATE DS X
CSVLPRET