I am new to REXX..new to mainframes too...I am interested in learning REXX and to develop some tool using REXX. I know there is a manual out there but I would like to learn it practically. Could someone let me know where to start and how to start. I need to know where exactly to write the code and how to start executing it. Some commands to help me walk around screens as well as guidance and advise on some books would be highly appreciated
Joined: 26 Apr 2004 Posts: 4650 Location: Raleigh, NC, USA
Could someone let me know where to start and how to start.
The best way is to look at the other existing REXX exec's at your site and pick them apart to see how they work. Take a look at the REXX exec's posted here.
Otherwise, I'd start by writing a simple file copy exec (copy all input records to output). Then, modify the records a bit. Add some parameter input to change the output further. Write the output in reverse order. Setup some looping structures. Create a formatted report.
Delve into using REXX in other environments (TSO, ISPF, Netview, Automation, etc.).
This is a quote from another Forum that is quite nice:
This is a common problem for new users; they don't understand the difference between Rexx and ISPF or TSO and ISPF. You absolutely need to understand those differences before you can use the services of ISPF within a Rexx exec or any other kind of program.
In a nutshell:
* Rexx is a scripting language available on many, many platforms. One of the places it can run is z/OS (MVS). Within z/OS it can run in many environments such as batch, CICS, USS and TSO. If you want to use TSO services, you must be running under TSO (not IRXJCL).
* TSO is the underlying foundation to the user 3270 and command interfaces for MVS. When you sign on to a terminal with your TSO id, you are using TSO. Similarly, when you run IKJEFT01 (or IKJEFT1A, etc) in batch you are also running TSO. Rexx can run outside of TSO but if you want to use TSO commands like ALLOC, FREE, DELETE, etc. you need to be running in a TSO address space and invoke the Rexx exec from TSO.
* ISPF is an add-on that runs under TSO. It has its own set of services for doing things like editing files, displaying panels and the like. It requires TSO but has its own programmable services accessed in Rexx via Address ISPEXEC. ISPF services can also be accessed through most other programming languages (COBOL, Assembler, C, APL, etc) but ISPF, and hence TSO must be there too.
It is very common to see questions phrased as "I am new to Rexx... how do I do "? They are not the same thing (though you can usually use Rexx to tell ISPF to do . It may seem like a picky detail, but if you want to find out where to look for answers, you need to know what component does what you are looking for.
One other misconception about ISPF is that it is driven only by CLISTs or Rexx. I often see people say 'look for the CLIST that drives option X" and that is often good advice, but very rarely is IBM or other vendor code written in Rexx. Usually it is a compiled program in COBOL or Assembler so looking for source is not helpful.