Document Type
|
:
|
BL
|
Record Number
|
:
|
730539
|
Doc. No
|
:
|
b550303
|
Main Entry
|
:
|
Anthony S. Rudd.
|
Title & Author
|
:
|
Practical usage of TSO REXX\ Anthony S. Rudd.
|
Edition Statement
|
:
|
3rd ed
|
Publication Statement
|
:
|
London ; New York: Springer-Verlag, 2000
|
Page. NO
|
:
|
xv, 342 pages ; 23 cm
|
ISBN
|
:
|
1852332611
|
|
:
|
: 9781852332617
|
Contents
|
:
|
1. Introduction.- 1.1 REXX background.- 1.2 REXX characteristics.- 1.3 REXX applications.- 1.4 REXX's future.- 2. REXX Facilities.- 2.1 Introduction.- 2.2 REXX structure.- 2.2.1 Token.- 2.2.2 Literal string.- 2.2.3 Hexadecimal literal string.- 2.2.4 Binary literal string.- 2.2.5 Symbol.- 2.2.6 Numeric symbol.- 2.2.7 Variables.- 2.2.8 Operator.- 2.2.9 Prefix operators.- 2.2.10 Arithmetic operators.- 2.2.11 Abuttal operator.- 2.2.12 Comparative operators.- 2.2.13 Logical operators.- 2.2.14 Implicit concatenation operators.- 2.2.15 Other syntax elements.- 2.3 REXX expressions.- 2.3.1 Arithmetic expression.- 2.3.2 Comparative expression.- 2.3.3 Logical (Boolean) expression.- 2.4 Statements.- 2.5 Invocation of a REXX exec.- 2.6 Comparison with CLISTs.- 3. REXX Processing Elements.- 3.1 Introduction.- 3.2 Statements.- 3.3 Routines.- 3.3.1 Subroutine.- 3.3.2 Procedure.- 3.3.3 Function.- 3.3.4 Search order.- 3.3.5 Invocation.- 3.3.6 Parameters (arguments).- 3.3.7 Return.- 3.3.8 Communication between execs.- 3.4 Types of instruction.- 3.4.1 Conditional control.- 3.4.2 Loop control.- 3.5 Control processing flow.- 3.6 Assignment.- 3.7 Stack (queue) processing.- 3.7.1 Stack as terminal input buffer.- 3.7.2 Stack used for general data storage.- 3.7.3 Stack used for passing data between execs.- 3.7.4 File buffer.- 3.8 Parsing.- 3.9 Debugging.- 3.10 Miscellaneous instructions.- 3.11 Commands.- 3.12 Special variables.- 3.12.1 RC - Return code.- 3.12.2 RESULT - Function result.- 3.12.3 SIGL - Source line number.- 4. REXX Instructions.- 4.1 Introduction.- 4.2 Instruction descriptions.- 4.2.1 ADDRESS - Set environment.- 4.2.2 ARG - Fetch argument.- 4.2.3 CALL - Invoke routine.- 4.2.4 DO - Define start of DO-block.- 4.2.5 DROP - Free variable.- 4.2.6 EXIT - Terminate exec.- 4.2.7 IF - Conditional execution.- 4.2.8 INTERPRET - Interpret statement.- 4.2.9 ITERATE - Terminate the current cycle in the DO-loop.- 4.2.10 LEAVE - Terminate DO-loop.- 4.2.11 NOP - No-operation.- 4.2.12 NUMERIC - Define numeric formats.- 4.2.13 OPTIONS - Pass special parameters to the language processor.- 4.2.14 PARSE - Assign data.- 4.2.15 PROCEDURE - Define internal procedure.- 4.2.16 PULL - Fetch data element from the head of the stack.- 4.2.17 PUSH - Set data element at the head of the stack.- 4.2.18 QUEUE - Set data element at the tail of the stack.- 4.2.19 RETURN - Return from routine.- 4.2.20 SAY - Display.- 4.2.21 SELECT - Select one condition from a series of conditions.- 4.2.22 SIGNAL - Enable (or disable) an exception condition, or cause control to be passed to a routine (or label).- 4.2.23 TRACE - Set debugging options.- 4.2.24 UPPER - Transform lowercase characters into uppercase.- 4.2.25 = - Assign.- 4.2.26 Command.- 4.3 Examples.- 5. Exception Handling.- 5.1 Introduction.- 5.2 Condition traps.- 5.2.1 ERROR condition.- 5.2.2 FAILURE condition.- 5.2.3 HALT condition.- 5.2.4 NOVALUE condition.- 5.2.5 SYNTAX condition.- 5.2.6 Stacked conditions.- 5.3 Explicit invocation.- 6. String Processing.- 6.1 Introduction.- 6.2 Word parsing.- 6.3 Delimiter parsing.- 6.4 Positional parsing.- 6.5 Dynamic parsing.- 6.6 Argument parsing.- 6.7 Worked examples.- 7. Numbers and Arithmetic.- 7.1 Introduction.- 7.2 Number.- 7.3 Arithmetic operators.- 7.3.1 Power (exponentiation).- 7.3.2 Multiplication.- 7.3.3 Division.- 7.3.4 Modulo (integer) division.- 7.3.5 Remainder division.- 7.3.6 Numeric comparison.- 7.4 Precision and representation.- 7.4.1 Computational base.- 7.4.2 Retention of significance.- 7.4.3 Arithmetic exceptions.- 7.5 Sequence of operations.- 7.6 Numeric formatting.- 8. Input/Output.- 8.1 Introduction.- 8.2 Data buffering.- 8.3 Opening and closing the data files.- 8.4 Terminal operations.- 8.5 File-mode operations.- 8.5.1 File positioning.- 8.5.2 Write operation.- 8.5.3 Delete data operation.- 8.5.4 Read operation.- 8.5.5 Update operation.- 9. Debugging.- 9.1 Introduction.- 9.2 Exception conditions.- 9.3 Tracing options.- 9.3.1 ALL - Display all expressions before execution.- 9.3.2 COMMANDS - Display all commands before execution.- 9.3.3 ERROR - Display all commands which return an error condition.- 9.3.4 FAILURE - Display all commands which return a negative error condition.- 9.3.5 INTERMEDIATE - Display all expressions (with intermediate results) before being executed.- 9.3.6 LABELS - Display all labels as they are reached.- 9.3.7 RESULTS - Display all expressions (with end results) before being executed.- 9.3.8 SYNTAX - Check syntax without processing the statements.- 9.3.9 n - Suppress trace intervention.- 9.4 Trace output.- 9.4.1 Trace data prefixes.- 9.4.2 Trace intermediate data prefixes.- 9.4.3 Trace output example.- 9.5 Interactive debug.- 9.5.1 Interactive debugging example.- 9.6 Parametric debug.- 9.7 Errors with host commands and functions.- 10.
|
|
:
|
REXX Built-in Functions.- 10.1 Introduction.- 10.1.1 Function-like (direct) invocation.- 10.1.2 Call invocation.- 10.1.3 Internal functions.- 10.1.4 Function side-effects.- 10.1.5 Invocation errors.- 10.1.6 Internal data format.- 10.2 Function definitions.- 10.2.1 ABBREV - Test whether string is an abbreviation.- 10.2.2 ABS - Return absolute value.- 10.2.3 ADDRESS - Return name of current environment.- 10.2.4 ARG - Return argument.- 10.2.5 BITAND - Logical And.- 10.2.6 BITOR - Logical Or.- 10.2.7 BITXOR - Logical Exclusive-Or.- 10.2.8 B2X - Convert binary data to hexadecimal.- 10.2.9 CENTRE (CENTER) - Centralise data.- 10.2.10 COMPARE - Compare.- 10.2.11 CONDITION - Return condition.- 10.2.12 COPIES - Replicate data.- 10.2.13 C2D - Convert character data to decimal.- 10.2.14 C2X - Convert character data to hexadecimal.- 10.2.15 DATATYPE - Determine data type.- 10.2.16 DATE - Return current date.- 10.2.17 DELSTR - Delete substring.- 10.2.18 DELWORD - Delete words.- 10.2.19 DIGITS -Return the NUMERIC DIGITS setting.- 10.2.20 D2C - Convert decimal to character.- 10.2.21 D2X - Convert decimal to hexadecimal.- 10.2.22 ERRORTEXT - Return message text.- 10.2.23 FIND - Search for word.- 10.2.24 FORM - Determine NUMERIC FORM setting.- 10.2.25 FORMAT - Format numeric value.- 10.2.26 FUZZ - Determine NUMERIC FUZZ setting.- 10.2.27 INDEX - Search for substring.- 10.2.28 INSERT - Insert substring.- 10.2.29 JUSTIFY - Justify string of words.- 10.2.30 LASTPOS - Determine last position of phrase.- 10.2.31 LEFT - Left-align string.- 10.2.32 LENGTH - Determine length of string.- 10.2.33 LINESIZE - Return the (maximum) width of a terminal line.- 10.2.34 MAX - Determine the maximum of a series of numeric values.- 10.2.35 MIN - Determine the minimum of a series of numeric values.- 10.2.36 OVERLAY - Overlay part of a string with a phrase.- 10.2.37 POS - Search for substring.- 10.2.38 QUEUED - Determine the number of entries in the queue.- 10.2.39 RANDOM - Generate a (pseudo-)random number.- 10.2.40 REVERSE - Reverse the sequence of data.- 10.2.41 RIGHT - Right-align string.- 10.2.42 SIGN - Determine numeric sign.- 10.2.43 SOURCELINE - Return "program line".- 10.2.44 SPACE - Insert fill-character between words.- 10.2.45 STRIP - Remove padding-characters at the start or end of a string.- 10.2.46 SUBSTR - Extract substring.- 10.2.47 SUBWORD - Extract series of words from word-string.- 10.2.48 SYMBOL - Determine the status of a symbol.- 10.2.49 TIME - Return the current time-of-day.- 10.2.50 TRACE - Return (and set) current trace mode.- 10.2.51 TRANSLATE - Translate characters.- 10.2.52 TRUNC - Truncate numeric value.- 10.2.53 USERID - Return Userid.- 10.2.54 VALUE - Return (and set) the contents of a symbol.- 10.2.55 VERIFY - Test whether only characters in a phrase are present in string.- 10.2.56 WORD - Fetch word.- 10.2.57 WORD INDEX - Determine the character position of a word in a string of words.- 10.2.58 WORDLENGTH - Determine word length.- 10.2.59 WORDPOS - Determine the word-number of word in a word-string.- 10.2.60 WORDS - Determine the number of words in a word-string.- 10.2.61 XRANGE - Define a range of hexadecimal values.- 10.2.62 X2B - Convert hexadecimal to binary.- 10.2.63 X2C - Convert hexadecimal to character.- 10.2.64 X2D - Convert hexadecimal to decimal.- 10.3 Examples.- 11. Host REXX Commands.- 11.1 Introduction.- 11.2 Host REXX command definitions.- 11.2.1 DELSTACK - Delete stack.- 11.2.2 DROPBUF - Release buffer.- 11.2.3 EXECIO - Perform input/output operation.- 11.2.4 EXECUTIL - Specify execution environment for REXX exec.- 11.2.5 HE - Halt execution.- 11.2.6 HI - Halt interpretation.- 11.2.7 HT -Halt typing.- 11.2.8 MAKEBUF - Create new buffer in the stack.- 11.2.9 NEWSTACK - Create a new stack.- 11.2.10 QBUF - Query buffer.- 11.2.11 QELEM - Query elements.- 11.2.12 QSTACK - Query stack.- 11.2.13 RT - Resume typing.- 11.2.14 SUBCOM - Confirm the host environment.- 11.2.15 TE - Trace end.- 11.2.16 TS - Trace start.- 11.3 Example.- 12. MVS Command Functions.- 12.1 Introduction.- 12.2 MVS command function calls.- 12.2.1 GETMSG - Retrieve a console session message.- 12.2.2 LISTDSI - List (obtain) dataset information.- 12.2.3 MSG - Set (interrogate) CLIST CONTROL MSG option.- 12.2.4 MVSVAR - Obtain information on MVS, TSO, and the current session.- 12.2.5 OUTTRAP - Trap TSO display output.- 12.2.6 PROMPT - Set (interrogate) CLIST CONTROL PROMPT option.- 12.2.7 SETLANG - Set (interrogate) current language.- 12.2.8 STORAGE - Set (interrogate) main-storage contents.- 12.2.9 SYSCPUS - Obtain CPU information.- 12.2.10 SYSDSN - Request dataset status.- 12.2.11 SYSVAR - Fetch TSO system variable.- 12.3 Invocation of other TSO commands.- 12.4 Example.- 13. REXX Invocation.- 13.1 Introduction.- 13.2 Invocation from TSO/ISPF.- 13.3 Invocation from batch TSO.- 13.4 Invocation from batch.- 13.5 Linkage to the host environment.- 13.6 Linkage to programs.- 13.6.1 LINK (ATTACH).- 13.6.2 LINKMVS (ATTACHMVS).- 13.6.3 LINKPGM (ATTACHPGM).- 13.7 Interface with ISPEXEC (ISPF Dialog Manager).- 13.8 Interface with ISREDIT (ISPF/PDF Edit macro).- 13.8.1 Macro example.- 13.9 Interface with DB2 (Database2).- 13.9.1 DB2 invocation example.- 13.10 Interface with QMF (Query Management Facility).- 13.10.1 DSQCIX - QMF Callable Interface.- 13.10.2 DSQCCI - QMF Command Interface.- 13.11 Interface from programs with REXX.- 14. System Interfaces.- 14.1 Introduction.- 14.2 General conditions.- 14.2.1 C, C++ restrictions.- 14.2.2 Other program language restrictions.- 14.3 Invocation of a REXX exec.- 14.3.1 Interface from programs to batch REXX (IRXJCL).- 14.3.2 Invocation of a REXX exec using the TSO Service Facility (IJKEFTSR).- 14.4 Interface from programs to REXX processor (IRXEXEC).- 14.4.1 Sample program.- 14.4.2 Invocation of an in-store exec.- 14.5 Program access to REXX variables (IRXEXCOM service).- 14.5.1 Sample programs.- 14.5.2 Sample retrieval program.- 14.6 Stack processing (IRXSTK service).- 14.6.1 Sample programs.- 14.7 Command interface.- 14.7.1 Entry conditions.- 14.7.2 Parameter list.- 14.7.3 Exit conditions.- 14.7.4 Examples.- 14.7.5 Command registration interface (IRXSUBCM).- 14.7.6 Command router.- 14.8 Function interface.- 14.8.1 Entry conditions.- 14.8.2 Exit conditions.- 14.8.3 Sample function program.- 14.9 Function package.- 14.9.1 Function directory.- 14.10 Load routine (IRXLOAD service).- 14.11 Initialisation routine (IRXINIT service).- 14.11.1 Sample initialisation program.- 14.12 Get result (IRXRLT service).- 14.12.1 Sample IRXRLT program.- 14.13 Control blocks.- 14.13.1 Argument List.- 14.13.2 EFPL (External Function Parameter List).- 14.13.3 ENVBLOCK (Environment Block).- 14.13.4 EVALBLOCK (Evaluation Block).- 14.13.5 EXECBLK (Exec Block).- 14.13.6 INSTBLK (In-storage Control Block).- 14.13.7 SHVBLOCK (Shared Variable (Request) Block).- 14.13.8 VEEP (Vector of External Entry Points).- 14.14 Examples.- 14.14.1 Assembler implementation.- 14.14.2 C implementation.- 14.14.3 COBOL implementation.- 14.14.4 PL/I implementation.- 15. Worked Examples.- 15.1 Introduction.- 15.2 Worked example.- 15.3 Worked example.- 15.4 Worked example.- 15.5 Worked example.- 15.6 Worked example.- 16. REXX Compiler.- 16.1 Introduction.- 16.2 JCL procedures.- 16.2.1 REXXC procedure.- 16.2.2 REXXCL procedure.- 16.2.3 REXXCLG procedure.- 16.2.4 REXXL procedure.- 16.3 Compiler options.- 16.4 Combining compiled objects.- 16.4.1 Produce a statically loaded program.- 16.5 Stubs.- 16.5.1 CALLCMD stub.- 16.5.2 CPPL stub.- 16.5.3 EFPL stub.- 16.5.4 CPPLEFPL stub.- 16.5.5 MVS stub.- 16.6 Performance.- 16.7 Compatibilty.- 16.7.1 Execution sequence.- 17. Other Environments.- 17.1 Introduction.- 17.2 REXX for CICS.- 17.3 REXX for UNIX Services.- 18.
|
|
:
|
Program Development.- 18.1 Introduction.- 18.2 Reusability.- 18.2.1 Productivity.- 18.2.2 Standardisation.- 18.3 Readability.- 18.4 Reliability.- 18.5 Maintainability.- 18.6 Compatibility.- 18.7 Performance.- 18.8 Expansibility.- 18.9 Stepwise refinement.- 18.10 Portability.- 18.11 Testing.- 18.12 Run-time debugging.- 18.13 Development with the REXX compiler.- Appendix A. Syntax Notation.- Appendix B. Glossary.
|
Subject
|
:
|
REXX (Computer program language)
|
Subject
|
:
|
Time-sharing computer systems.
|
LC Classification
|
:
|
QA76.73.R24A584 2000
|
Added Entry
|
:
|
Anthony S Rudd
|