Lesson 1: Setting your first steps.

Chapter 1. Better use of CMS HELP.

  • Why this topic ?
  • What is HELP ?
  • Who provides helpfiles ?
  • What can you find in the online HELP file ?
  • HELP structure.
  • Where are the HELP files stored ?
  • More questions.
  • Chapter 2. REXX Coding Styles.

  • Use of comments.
  • Use mixed case.
  • Variable names.
  • Indentation and modularity.
  • DO blocks.
  • IF blocks.
  • SELECT blocks.
  • Line continuation.
  • Line/string composition.
  • Literals versus variables.
  • Good Use of DO Loops
  • Straight-forward Programming.
  • The LEAVE Statement.
  • The END Statement.
  • The ITERATE Statement.
  • Exits.
  • Chapter 3. The ADDRESS Statement.

  • Justification for t his Chapter.
  • CMS Command Search Order.
  • The CMS EXECs.
  • Default situation.< /a>
  • Using ADDRESS COMMA ND.
  • XEDIT macros.
  • Other environments, SUBCOMs.
  • And what about CMS Pipelines ?
  • What to use ? COMMAND, CMS or CP device drivers.
  • How to get the erro r messages ?
  • General Conclusio ns.
  • Lesson 1. Exercises.

    Lesson 2: REXX Tracing.

    Chapter 4. REXX Tracing.

  • Introduction to Tracing.
  • How does CMS handle commands ?&n bsp; What are immediate commands ?
  • Chapter 5. TRACE command and TRACE() Function.

  • Types of tracing
  • Command reference.
  • The TRACE() function
  • Format of TRACE Output
  • Scope of tracing.
  • Alphabetic Character (Word) Options for TRACE.
  • Trace options revisited by your ins tructors.
  • Tracing Results
  • Tracing Intermediate results.
  • Tracing Labels.
  • Tracing All.
  • Tracing with Scan option.
  • Tracing with the Command option.< /A>
  • Tracing with the Error option.
  • Normal, Negative or Failure Traci ng.
  • Prefix Options for TRACE.
  • Inhibiting Host commands via ' 3;' prefix.
  • Chapter 6. Interactive Program Debug.

  • Overview.
  • Examples of interactive tracing.
  • Chapter 7. Control Tracing.

  • Overview.
  • Back to our views : best use of interactive debugging
  • Structuring your procedures
  • Numeric TRACE Options
  • Overview.
  • Skipping trace output / tracing wit hout pause
  • Chapter 8. Other Hints and Tips.

  • Changing trace options in flight.
  • Recovering a looping procedure : the ATTENTION interrupt
  • How to generate an attention interr upt ?
  • Canceling, breaking or ending proce dures.
  • Breaking a VM READ loop.
  • Start tracing at VM READ.
  • Ending Interactive TRACE.
  • Ending a procedure prematurely.
  • Conclusions.
  • Lesson 2. Exercises.

    Lesson 3: Parsing and File I/O.

    Chapter 9. Parsing.

  • Introduction
  • Sources analyzed in more detail.
  • Templates analyzed in more detail.< /A>
  • Simple Templates for Parsing into W ords
  • The Period as a Placeholder
  • Templates Containing String Pattern s
  • Variable String Patterns
  • Templates Containing Positional (Nu meric) Patterns
  • Combining Patterns and Parsing Into Words
  • Parsing with Variable Patterns.
  • Parsing Instructions Summary
  • Advanced Topics in Parsing
  • Parsing Multiple Strings
  • Combining String and Positional P atterns : A Special Case
  • Chapter 10. Practical use of Parsing.

  • Initializing many variables at o nce
  • Parsing same source multiple tim es
  • A secret ?
  • Handling a list of words by eati ng the list
  • Parsing with variable patterns, another example.
  • Chapter 11. The EXECCOMM Interface.

    Chapter 12. File I/O with REXX.

  • Introduction.
  • File formats and access methods.
  • Data organizations.
  • Host versus personal systems.
  • Sequential file structures.
  • Summary of differences.
  • Chapter 13. File I/O Function and Commands for REXX.

  • Overview of methods for reading sequential files.
  • The EXECIO DISKR command
  • The LINEIN() function.
  • The CHARIN() function.
  • CMS Pipelines
  • Reading a file via XEDIT
  • File reading through CSL.
  • Reading files via NAMEFIND
  • Lesson 3. Exercises.

    Lesson 4: More on File I/O.

    Chapter 14. File handling, side information.

  • Stack manipulation (MAKEBUF/DROP BUF/DESBUF).
  • Usage notes.
  • Opening and closing files.
  • Opening your files.
  • Closing your files.
  • Why an explicit close is needed& #32; ?
  • CMS Low level I/O interface
  • Special file formats.
  • Empty files
  • SPARSE files
  • Chapter 15. Stream I/O.

  • The STREAM() function.
  • The LINES() function.
  • The CHARS() function.
  • The LINEIN() function.
  • The CHARIN() function.
  • Chapter 16. Additional Remarks when Reading Files

  • Direct Access to CMS files
  • Direct access on Personal System s.
  • Locating strings in files.
  • FIND or LOCATE ?
  • Extra notes for XEDIT.
  • Extra notes for EXECIO.
  • Chapter 17. File output.

  • The CHAROUT() function.
  • The LINEOUT() function.
  • Replacing records in a file
  • Updating file with XEDIT (and se lf contained EXECs).
  • And What about CMS Pipelines ; ?
  • Reading parts of a file with CMS Pipelines
  • EXECIO versus CMS Pipelines
  • Chapter 18. Conclusions for File I/O.

  • General rules.
  • What method to choose ?
  • Lesson 4. Exercises.

    Lesson 5: Control and Performance.

    Chapter 19. Use of SIGNAL ON

    Chapter 20. CMS Multitasking.

    Chapter 21. Performance options for R EXX.

  • Introduction.
  • Load procedures in storage.
  • EXECLOAD
  • Storing EXECs in Shared Segments
  • REXX Compiler

  • Appendix A.  Sample Procedure.

    Appendix B.  Syntax Diagrams.

    Appendix C.  REXX Goodies.

  • EXECCALL Goodie
  • CKRX Goodie
  • TSTREX Goodie
  • BENCH Goodie
  • Appendix D.  REXX SAA Level 2.

    Appendix E.  REXX Versions.

    Appendix F.  Host versus Personal Systems.

    Appendix G.  Performance Guidelines.