The IEFPRMLB macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede IEFPRMLB. |
IEFPRMLB | |
␢ | One or more blanks must follow IEFPRMLB. |
REQUEST=ALLOCATE | |
,S99RB=NO | Default: S99RB=NO |
,S99RB=YES | |
,WAITDSN=NO | Default: WAITDSN=NO |
,WAITDSN=YES | |
,MOUNT=YES | Default: MOUNT=YES |
,MOUNT=NO | |
,RETMSG=NO | Default: RETMSG=NO |
,RETMSG=YES | |
,CONSOLID=consolid | consolid: RS-type address or register (2) - (12). |
,CONSOLID=NOCONSID | Default: CONSOLID=NOCONSID |
,CART=cart | cart: RS-type address or register (2) - (12). |
,CART=NOCART | Default: CART=NOCART |
,MSGBUF=msgbuf | msgbuf: RS-type address or register (2) - (12). |
,MSGBUF=NOMSGBUF | Default: MSGBUF=NOMSGBUF |
,S99RBPTR=s99rbptr | s99rbptr: RS-type address or register (2) - (12). |
,ALLOCDDNAME=allocddname | allocddname: RS-type address or register (2) - (12). |
,READ=NO | Default: READ=NO |
,READ=YES | |
,MEMNAME=memname | memname: RS-type address or register (2) - (12). |
,READBUF=readbuf | readbuf: RS-type address or register (2) - (12). |
,BLANK72=YES | Default: BLANK72=YES |
,BLANK72=NO | |
,STARCOMMENT=NO | Default: STARCOMMENT=NO |
,STARCOMMENT=YES | |
,MEMNOTFOUND=MSGOK | Default: MEMNOTFOUND=MSGOK |
,MEMNOTFOUND=NOMSG | |
,FREECLOSE=NO | Default: FREECLOSE=NO |
,FREECLOSE=YES | |
,CALLERNAME=callername | callername: RS-type address or 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=plistver | |
,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) | |
The parameters are explained as follows:
To code: Specify the RS-type address, or address in register (2)-(12), of a 4-character field.
To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.
To code: Specify the RS-type address, or address in register (2)-(12), of a character field.
To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.
If a blank or zero DDname is input, the service will allocate the logical parmlib data set concatenation and return the system-generated DDname to the caller.
To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.
To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.
For each record read, columns 73 - 80 will be blanked. Unless requested by the Blank72 parameter, column 72 will also be blanked. Symbolic substitution will be performed.
To code: Specify the RS-type address, or address in register (2)-(12), of a character field.
The suggested callername definition is 'ProgramName || ServiceLevel'
IEF761I jjobname [procstep] stepname ddname callername
DD IS ALREADY ALLOCATED AND WILL BE USED BY
THIS TASK
To code: Specify the RS-type address, or address in register (2)-(12), of a 16-character field.
To code: Specify the RS-type address of a fullword field, or register (2)-(12).
To code: Specify the RS-type address of a fullword field, or register (2)-(12).
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; in this way, MAX ensures that the parameter list does not overwrite nearby storage.
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.
None.
Return and reason code constants are defined in macro IEFZPRC.
The following table identifies the hexadecimal return and reason codes and the equate symbol associated with each reason code.
Return Code | Reason Code | Equate Symbol Meaning and Action |
---|---|---|
X'00' | — | Equate Symbol: PRMLB_Success Meaning: Return Code - function completed successfully Action: None required. |
X'04' | — | Equate Symbol: PRMLB_Warning Meaning: Return Code - Warning |
X'04' | X'01' | Equate Symbol: PRMLB_DD_Already_ALLOC Meaning: The specified DDname is already allocated to this task. Action: None required. |
X'08' | — | Equate Symbol: PRMLB_Locks_Held Meaning: Return Code - the caller of IEFPRMLB holds a lock. Action: Change the caller's code to release locks prior to invoking IEFPRMLB. |
X'0C' | — | Equate Symbol: PRMLB_Request_Failed Meaning: Return Code - request failed. |
X'0C' | X'01' | Equate Symbol: PRMLB_Member_Not_Found Meaning: The specified member name was not found. Action: Ensure the specified member name exists. If so, contact the system programmer. |
X'0C' | X'02' | Equate Symbol: PRMLB_Read_IO_Error Meaning: An I/O error was encountered while attempting to read the specified member. Action: Contact the system programmer. |
X'0C' | X'03' | Equate Symbol: PRMLB_Open_Error Meaning: An error was encountered while attempting to open the logical parmlib. Action: Contact the system programmer. |
X'0C' | X'04' | Equate Symbol: PRMLB_ALLOC_Failed Meaning: Allocation of one of the logical parmlib data sets failed Action: Contact the system programmer. |
X'0C' | X'05' | Equate Symbol: PRMLB_CONCAT_Failed Meaning: Concatenation of the logical parmlib data sets failed Action: Contact the system programmer. |
X'0C' | X'06' | Equate Symbol: PRMLB_Reader_Load_Failed Meaning: Load of the parmlib read routine failed. Action: Contact the system programmer. |
X'0C' | X'07' | Equate Symbol: PRMLB_Unable_To_Access_DS Meaning: The parmlib read routine was unable to access the logical parmlib Action: Contact the system programmer. |
X'0C' | X'08' | Equate Symbol: PRMLB_Parmlib_Still_Open Meaning: REQUEST=FREE was requested but the logical parmlib is still open. Action: Close the data set prior to issuing the REQUEST=FREE. |
X'0C' | X'09' | Equate Symbol: PRMLB_UNALLOC_Failed Meaning: Unallocation of the logical parmlib data sets failed. Action: Contact the system programmer. |
X'0C' | X'0A' | Equate Symbol: PRMLB_Read_Buffer_Full Meaning: The input READ buffer is full and READ processing could not continue Action: The caller may obtain a buffer large enough to contain the entire member contents (PRM_Buff_Size_Needed in DSECT PRM_Read_Buffer which is mapped by IEFZPMAP contains the required size) and re-invoke IEFPRMLB to begin reading the specified member again. |
X'0C' | X'0B' | Equate Symbol: PRMLB_Putline_Error Meaning: Putline processing abended. This could be due to an error in the user-provided CPPL (pointed to by S99ECPPL when the user provides an S99RB). Action: Verify that the CPPL is valid. |
X'10' | — | Equate Symbol: PRMLB_Internal_Error Meaning: Return Code - an internal error occurred. |
X'10' | X'01' | Equate Symbol: PRMLB_Bad_Parameter Meaning: A bad parameter list was passed to the parmlib read routine. Action: Contact the system programmer. |
X'10' | X'02' | Equate Symbol: PRMLB_Unknown_Reason Meaning: Return Code - Reason for failure is unknown. Action: Contact the system programmer. |
X'14' | — | Equate Symbol: PRMLB_Not_Task_Mode Meaning: Return Code - the caller is not in Task mode. Action: Contact the system programmer. |
X'1C' | — | Equate Symbol: PRMLB_Invalid_Parameter_List Meaning: Return Code - the input parameter list is invalid. |
X'1C' | X'01' | Equate Symbol: PRMLB_Plist_Unaccessible Meaning: The IEFPRMLB service was unable to access the input parameter list. Action: Ensure the parameter list resides in storage belonging to the caller. If so, contact the system programmer. |
X'1C' | X'02' | Equate Symbol: PRMLB_ListBuff_Unaccessible Meaning: The IEFPRMLB service was unable to access the input LIST buffer. Action: Ensure the list buffer resides in storage belonging to the caller. If so, contact the system programmer. |
X'1C' | X'03' | Equate Symbol: PRMLB_MsgBuff_Unaccessible Meaning: The IEFPRMLB service was unable to access the input message buffer. Action: Ensure the message buffer resides in storage belonging to the caller. If so, contact the system programmer. |
X'1C' | X'04' | Equate Symbol: PRMLB_ReadBuff_Unaccessible Meaning: The IEFPRMLB service was unable to access the input read buffer. Action: Ensure the read buffer resides in storage belonging to the caller. If so, contact the system programmer. |
X'1C' | X'05' | Equate Symbol: PRMLB_Plist_S99TXTPP_NOT0 Meaning: The S99RB provided to the IEFPRMLB service contains a non-zero S99TXTPP field. Action: Change the caller's code to zero the S99TXTPP prior to the call to IEFPRMLB. |
X'1C' | X'06' | Equate Symbol: PRMLB_MsgBuff_Format_Error Meaning: The format of the message buffer provided to the IEFPRMLB service is invalid. Action: Correct the message buffer format. |
X'1C' | X'07' | Equate Symbol: PRMLB_ReadBuff_Format_Error Meaning: The format of the read buffer provided to the IEFPRMLB service is invalid. Action: Correct the read buffer format. |
X'1C' | X'08' | Equate Symbol: PRMLB_ListBuff_Format_Error Meaning: The format of the list buffer provided to the IEFPRMLB service is invalid. Action: Correct the list buffer format. |
X'1C' | X'09' | Equate Symbol: PRMLB_S99RB_Unaccessible Meaning: The IEFPRMLB service was unable to access the input read buffer. Action: Ensure the S99RB resides in storage belonging to the caller. If so, contact the system programmer. |
X'20' | — | Equate Symbol: PRMLB_Cross_Memory Meaning: Return Code - the caller is in cross memory mode. Action: Change the caller's code so it is not in cross memory mode when invoking IEFPRMLB. |
X'24' | — | Equate Symbol: PRMLB_ESTAE_Setup_Failed Meaning: Return Code - a failure occurred when IEFPRMLB processing attempted to set up an ESTAE environment. Action: Contact the system programmer. |
X'28' | — | Equate Symbol: PRMLB_Notauth_To_Subpool Meaning: Return Code - an unauthorized caller requested messages in an authorized subpool. Action: Only specify subpools to which the program is authorized. |