The *REXX statement
The *REXX statement is used to invoke REXX code in a panel's )INIT, )REINIT, or )PROC section. The REXX can be coded within the panel source immediately after the *REXX statement, or the name of a member containing a REXX program can be supplied.
where:
- *
- Specifies that all the dialog variables defined in the panel )BODY section are to be passed to the REXX code for processing.
- value
- Specifies the names of dialog variables passed to the REXX code for processing.
- membname
- The name of a member (as a literal) in the standard search sequences used to load REXX programs. See Note 7.
- membname_var
- The name of a variable whose value is the name of a member in the standard search sequences used to load REXX programs. See Note 7.
- TSOENV
- Keyword that indicates that you want ISPF to use the current TSO environment. If your dialog does an IRXINIT to create its own REXX environment, but this keyword is not specified, that environment is not used to process the REXX code. The REXX code is instead invoked in ISPFs REXX environment.
Note:
- The string of values, including the parentheses, cannot exceed 255 characters. The string of values can be represented by the name of a dialog variable containing a list of variables being passed to the REXX code.
- The REXX code within a panel procedure is stored in an internal table which contains the statements for the )INIT, )REINIT, )AREA, and )PROC sections of the panel. The size of this table is limited to 64K, so a large number of REXX statements coded directly within a panel procedure could cause this table to overflow, resulting in error message ISPP321. If this error occurs, consider using the (member) option on the *REXX statement so the REXX is loaded from a member in the standard search sequences used for REXX programs.
- When the REXX program has been compiled into load module format, it needs to have been linked with the MVS™ stub.
- The REXX code cannot access any dialog variables except those specified on the *REXX statement.
- The REXX code cannot issue requests for any ISPF or SCLM services.
- REXX coded within the panel source must be terminated by a *ENDREXX statement.
- The member can contain interpreted REXX or compiled REXX. Compiled REXX can be either the output generated by the REXX compiler when using the CEXEC option or a load module generated when link-editing the output generated by the REXX compiler when using the OBJECT option.
- If your dialog does an IRXINIT to create its own REXX environment, that environment will not be used to process this REXX code. The REXX code is invoked in ISPFs REXX environment.
