Return and reason codes from the TSO/E Environment Service
IKJTSOEV uses the return code parameter to provide general information about the completion status of TSO/E environment initialization. IKJTSOEV uses the reason code parameter to indicate a specific condition that caused the return code condition. Table 1 lists return codes from the initialization routines in IKJTSOEV. Table 2 and Table 3 contain reason codes for the unsuccessful initialization of the REXX and TSO/E environments, respectively. The following table describes the return codes that are issued by the IKJTSOEV initialization routines:
| Return code | Description |
|---|---|
| 0 | TSO/E environment initialization successful. Parameter 5 contains the address of the CPPL. |
| 8 | TSO/E environment initialized, but could not initialize a REXX Language Processor Environment. Parameter 5 contains the address of the CPPL. Parameter 3 contains the IKJTSOEV reason code for the REXX initialization failure. You can still use all of the TSO/E services listed in Table 1. REXX services may be limited or unavailable, depending on whether a REXX Language Processor Environment was present in the calling program's address space before the invocation of the TSO/E Environment Service. For more information on REXX service availability for this return code, see Table 2. |
| 16 | The request for initialization was ignored because a TSO/E environment is being initialized or has been initialized already at the request of another task in the same address space as the calling program. |
| 20 | The request for initialization was ignored because the address space of the calling program contains multiple job step control blocks (JSCB's). An application cannot use the TSO/E Environment Service if it attached multiple job step tasks in its address space. |
| 24 | The request for initialization was ignored because the TSO/E Environment Service was invoked from a TSO/E TMP and Service Routines environment. |
| 32 | The request for initialization was ignored because the caller is in cross-memory mode or holding a lock. See Requirements and restrictions for invoking the TSO/E Environment Service for addressability and resource allocation requirements for the TSO/E Environment Service. |
| 36 | TSO/E environment initialization unsuccessful. The reason code (parameter 3) indicates the specific cause of the failure. See Table 3 for more information. |
| 40 | TSO/E environment initialization unsuccessful.
The TCB key of the caller's TCB does not match the TCB key of the
first non-system jobstep TCB in the address space. Parameter 3 contains
a reason code that is formed as follows:
|
| 44 |
Invalid parameters were passed to IKJTSOEV. Either the parameter list is bad, or at least one of the parameters pointed to by an address in the parameter list is bad. IKJTSOEV might be called with 0, or 1 to some maximum number of parameters. The parameter list is invalid if it contains more than the maximum allowed number of parameters. The high-order bit of the last address in the parameter list must be turned on to indicate the end of the parameter list. If more than the maximum number of parameters are passed, the parameter list is bad. (Currently the maximum number is 5.) Also, if any parameter pointed to by one of the addresses in the parameter list is not read/write accessible in the key of the caller, it is considered invalid. If a bad parameter is found, IKJTSOEV returns normally to its caller with RC=44 (Bad_Parms) in R15, and with a reason code 600 (Abend_Happened) in R0 to indicate that an abend occurred during parameter validation. No other information is returned in any parameters, since some parameters are not valid. |
If the return code is 8, parameter 3 contains the reason code for a failure to initialize a REXX Language Processor Environment. The reason codes are as follows:
| Reason code | Description |
|---|---|
| 40 | A previous REXX Language Processor Environment exists in the calling program's address space. A Language Processor Environment cannot be initialized. |
| 60 | IKJTSOEV failed to load the REXX initialization routine (IRXINIT). Make sure that REXX is properly installed and your JCL specifies enough region space to load and execute the IRXINIT module. |
| 80 | IRXINIT failed. Parameter 4 contains the reason code from IRXINIT. For more information on reason codes from IRXINIT, see z/OS TSO/E REXX Reference. |
If the return code is 36, parameter 3 contains the reason code for an unsuccessful TSO/E environment initialization. Parameter 4 contains an MVS service routine code or abend code corresponding to an error condition.
| Reason code | Description |
|---|---|
| 100 | Request for virtual storage failed. Parameter 4 contains the return code from GETMAIN. For information about GETMAIN return codes, see z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG. |
| 200 | Global serialization of the PARMLIB resource failed. Parameter 4 contains the return code from ENQ. For information about ENQ return codes, see z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG. |
| 300 | Dynamic allocation for SYSTSIN failed. Parameter 4 contains the error reason code (S99ERROR) from SVC 99. For information about SVC 99 error reason codes, see z/OS MVS Programming: Authorized Assembler Services Guide. |
| 400 | Dynamic allocation for SYSTSPRT failed. Parameter 4 contains the error reason code (S99ERROR) from SVC 99. For information about SVC 99 error reason codes, see z/OS MVS Programming: Authorized Assembler Services Guide. |
| 500 | TSO/E I/O stack creation failed. Parameter 4 contains the return code from the STACK service routine. For information about STACK return codes, see Using the STAX service routine to handle attention interrupts. |
| 600 | An abend occurred in a macro or service called by the TSO/E Environment Service. The TSO/E Environment Service returned control to the calling program with the system completion (abend) code in parameter 4. For information about MVS abend codes, see z/OS MVS System Codes. |