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 #184 background imageLoading...
Page #184 background image
EXECIO Example 5
/**************************** REXX *********************************/
/* This exec illustrates the use of "EXECIO 0 ..." to open, empty, */
/* or close a file. It reads records from file indd, allocated */
/* to 'sams.input.dataset', and writes selected records to file */
/* outdd, allocated to 'sams.output.dataset'. In this example, the */
/* data set 'smas.input.dataset' contains variable-length records */
/* (RECFM = VB). */
/*******************************************************************/
"FREE FI(outdd)"
"FREE FI(indd)"
"ALLOC FI(outdd) DA('sams.output.dataset') OLD REUSE"
"ALLOC FI(indd) DA('sams.input.dataset') SHR REUSE"
eofflag = 2 /* Return code to indicate end-of-file */
return_code = 0 /* Initialize return code */
in_ctr = 0 /* Initialize # of lines read */
out_ctr = 0 /* Initialize # of lines written */
/*******************************************************************/
/* Open the indd file, but do not read any records yet. All */
/* records will be read and processed within the loop body. */
/*******************************************************************/
"EXECIO 0 DISKR indd (OPEN" /* Open indd */
/*******************************************************************/
/* Now read all lines from indd, starting at line 1, and copy */
/* selected lines to outdd. */
/*******************************************************************/
DO WHILE (return_code ¬ = eofflag) /* Loop while not end-of-file */
'EXECIO 1 DISKR indd' /* Read 1 line to the data stack */
return_code = rc /* Save execio rc */
IF return_code = 0 THEN /* Get a line ok? */
DO /* Yes */
in_ctr = in_ctr + 1 /* Increment input line ctr */
PARSE PULL line.1 /* Pull line just read from stack*/
IF LENGTH(line.1) > 10 then /* If line linger than 10 chars */
DO
"EXECIO 1 DISKW outdd (STEM line." /* Write it to outdd */
out_ctr = out_ctr + 1 /* Increment output line ctr */
END
END
END "EXECIO 0 DISKR indd (FINIS" /* Close the input file, indd */
IF out_ctr > 0 THEN /* Were any lines written to outdd?*/
DO /* Yes. So outdd is now open */
Figure 5. EXECIO Example 5
Using EXECIO to Process Information ...
166
z/OS V1R1.0 TSO/E REXX User’s 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