z/OS TSO/E REXX Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


When environments are automatically initialized in TSO/E

z/OS TSO/E REXX Reference
SA32-0972-00

The initialization routine, IRXINIT, initializes a language processor environment. The system calls IRXINIT to automatically initialize a default environment when a user logs on to TSO/E and when a user invokes ISPF.

When a user logs on TSO/E, the system calls IRXINIT as part of the logon process to automatically initialize a language processor environment for the TSO/E session. The initialization of a language processor environment is transparent to the user. After users log on to TSO/E, they can simply invoke a REXX exec without performing any other tasks.

Note: If your installation uses a user-written terminal monitor program (TMP) instead of the TMP provided by TSO/E, the system does not automatically initialize a language processor environment. See Initializing environments for user-written TMPs for information about the tasks you must perform to initialize a language processor environment to run REXX execs.

Similarly, when a user invokes ISPF from TSO/E, the system calls the IRXINIT routine to automatically initialize a language processor environment for ISPF, that is, for the ISPF screen. The second language processor environment is separate from the environment that IRXINIT initialized for the TSO/E session. If the user enters split screen in ISPF, IRXINIT initializes a third language processor environment for the second ISPF screen. At this point, three separate language processor environments exist. If the user invokes a REXX exec from the second ISPF screen, the exec runs under the third language processor environment, that is, the environment IRXINIT initialized for the second ISPF screen. If the user invokes the exec from the first ISPF screen, the exec runs under the second language processor environment.

The termination routine, IRXTERM, terminates a language processor environment. Continuing the above example, when the user returns to one screen in ISPF, the system calls the IRXTERM routine. IRXTERM terminates the third language processor environment that the system initialized for the second ISPF screen. Similarly, when the user exits from ISPF and returns to TSO/E READY mode, IRXTERM terminates the language processor environment for the first ISPF screen. In TSO/E READY mode, the first language processor environment still exists. At this point, if the user invokes a REXX exec from READY mode, the exec runs under the environment that IRXINIT initialized during TSO/E logon. When the user logs off, IRXTERM terminates the language processor environment for the TSO/E session.

To summarize, the IRXINIT routine automatically initializes a language processor environment when a user logs on to TSO/E and whenever an ISPF screen is initialized. Each environment that IRXINIT initializes is separate from another environment. The IRXTERM routine automatically terminates the language processor environment for an ISPF screen when the screen session ends and terminates the environment created at TSO/E logon when the user logs off.

You can also invoke the IRXINIT routine to initialize a language processor environment. On the call to IRXINIT, you specify values you want defined for the new environment. Using IRXINIT gives you the ability to define a language processor environment and customize how REXX execs run and how the system accesses and uses system services. Using IRXINIT to initialize environments is particularly important in non-TSO/E address spaces where you may want to provide replaceable routines to handle system services. However, you may want to use IRXINIT in TSO/E to create an environment that is similar to a non-TSO/E address space to test any replaceable routines or REXX execs you have developed for non-TSO/E.

If you explicitly invoke IRXINIT to initialize a language processor environment, you must invoke the IRXTERM routine to terminate the environment. The system does not terminate language processor environments that you initialized by calling IRXINIT. Information about IRXINIT and IRXTERM is described later in this chapter. Initialization and termination routines provides reference information about the parameters and return codes for IRXINIT and IRXTERM.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014