EasyManua.ls Logo

IBM TSO/E REXX User Manual

IBM TSO/E REXX
242 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #92 background imageLoading...
Page #92 background image
Example Without the PROCEDURE Instruction
/******************************* REXX ******************************/
/* This exec does not use a PROCEDURE instruction to protect the */
/* variables within its subroutine. */
/*******************************************************************/
number1 = 10
CALL subroutine
SAY number1 number2 /* displays 7 5 */
EXIT
subroutine:
number1 = 7
number2 = 5
RETURN
Exposing Variables with PROCEDURE EXPOSE: To protect all but specific
variables, use the EXPOSE option with the PROCEDURE instruction, followed by
the variables that are to remain exposed to the subroutine.
Example Using PROCEDURE EXPOSE
/****************************** REXX *******************************/
/* This exec uses a PROCEDURE instruction with the EXPOSE option to*/
/* expose one variable, number1, in its subroutine. The other */
/* variable, number2, is set to null and displays its name in */
/* uppercase. */
/*******************************************************************/
number1 = 10
CALL subroutine
SAY number1 number2 /* displays 7 NUMBER2 */
EXIT
subroutine: PROCEDURE EXPOSE number1
number1 = 7
number2 = 5
RETURN
For more information about the PROCEDURE instruction, see z/OS TSO/E REXX
Reference.
Passing Information by Using Arguments
A way to pass information to either internal or external subroutines is through
arguments. You can pass up to 20 arguments separated by commas on the CALL
instruction as follows:
CALL subroutine_name argument1, argument2, argument3,......
Using the ARG Instruction: The subroutine can receive the arguments with the
ARG instruction. Arguments are also separated by commas in the ARG instruction.
ARG arg1, arg2, arg3, .....
The names of the arguments on the CALL and the ARG instructions do not have to
be the same because information is not passed by argument name but by position.
The first argument sent becomes the first argument received and so forth. You can
also set up a template in the CALL instruction, which is then used in the
corresponding ARG instruction. For information about parsing with templates, see
Parsing Data on page 87.
Writing a Subroutine;
74
z/OS V1R1.0 TSO/E REXX Users Guide

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the IBM TSO/E REXX and is the answer not in the manual?

IBM TSO/E REXX Specifications

General IconGeneral
BrandIBM
ModelTSO/E REXX
CategoryComputer Hardware
LanguageEnglish

Summary

Part 1. Learning the REXX Language

Chapter 1. Introduction

Explains the REXX programming language, its features, and suitability for various users.

Chapter 2. Writing and Running a REXX Exec

Details the process of writing, running, and understanding REXX execs, including syntax rules and common issues.

Chapter 3. Using Variables and Expressions

Covers REXX variables, expressions, operators, and tracing techniques for data manipulation and calculations.

Chapter 4. Controlling the Flow Within an Exec

Explains how to alter REXX exec execution using conditional, looping, and interrupt instructions.

Chapter 5. Using Functions

Describes REXX functions, including built-in, user-written, and packages, and how to use them.

Chapter 6. Writing Subroutines and Functions

Guides on writing, calling, and passing information to REXX subroutines and functions.

Chapter 7. Manipulating Data

Covers REXX data manipulation using compound variables, stems, and various parsing techniques.

Part 2. Using REXX

Chapter 8. Entering Commands from an Exec

Explains how REXX execs can interact with the operating system by issuing TSO/E and host commands.

Chapter 9. Diagnosing Problems Within an Exec

Details techniques for diagnosing and debugging REXX execs using tracing and special variables.

Chapter 10. Using TSO/E External Functions

Describes TSO/E external functions available for interacting with the system and performing specific tasks.

Chapter 11. Storing Information in the Data Stack

Explains how to use the REXX data stack for temporary storage, passing information, and managing buffers.

Chapter 12. Processing Data and Input/Output Processing

Covers dynamic REXX expression modification and processing data to/from data sets using EXECIO.

Chapter 13. Using REXX in TSO/E and Other MVS Address Spaces

Explains how to run REXX execs in TSO/E and non-TSO/E MVS address spaces and available services.

Part 3. Appendixes

Appendix A. Allocating Data Sets

Guides on creating and allocating data sets, including checklists for ISPF/PDF and ALLOCATE commands.

Appendix B. Specifying Alternate Libraries with the ALTLIB Command

Details using the ALTLIB command to specify and manage alternative libraries for implicit execution.

Appendix C. Comparisons Between CLIST and REXX

Compares REXX and CLIST languages, highlighting similarities and differences in features and capabilities.

Appendix D. Notices

Provides legal notices, warranty disclaimers, copyright, and trademark information.

Bibliography

TSO/E Publications

Lists IBM publications related to TSO/E, including administration, CLISTs, and general information.

Related Publications

Lists IBM publications related to z/OS MVS and ISPF, covering system programming and administration.

Index

Related product manuals