Submit Mainframe Programming Skills to Computer Education Techniques

Submit Mainframe Utilities and Development Tools Questions to Computer Education Techniques CETi

Submit Mainframe Programming Skills Questions


Submit Mainframe
Programming Skills Questions

Technology Update

Knowledge Base

Submit Mainframe Programming Skills Questions to Computer Education Techniques Advanced search

Interrelated Information Technology

Mainframe Questions Utilities and Development Tools Questions

The Computer Education Techniques knowledge base is a service for answering questions, inclusive of the research and validation of the accuracy of information in the public domain. Citation of source documentation and examples are used to provide answers to the questions. Utilization of the information of this service and reliance on the answers, information or other materials received through this web site is done at your own risk.

Q What are the differences between JES2 and JES3?
A JES3 allocates datasets for all the steps before the job is scheduled.

In JES2, allocation of datasets required by a step is done before the step executes.

In an installation with more than one processor, each processor's JES2 subsystem independently controls job input, scheduling, and output processing.

In an installation that has several loosely coupled processing units, the JES3 program manages processors in order that the global processor exercises centralized control over the local processors and distributes jobs using a common job queue.
Q Which TSO/ISPF command will change all members in a PDS: partitioned dataset.

For example:

If a PDS file has 20 members and it is necessary to change the 'abc' to 'def' in all members, can a command line be used to change each member?

The Compuware File-AID utility provides a straightforward capability for updating all the members in a PDS.

Perform the following steps:

  1. Go to File-AID, this option will be installation-specific.
  2. Invoke Option 3 - UTILITIES and Option 6 - SEARCH/UPDATE.
  3. Select option M - MEMBER
  4. Enter the PDS name.
  5. Press Enter twice.
  6. Enter the CHANGE command to update all or some of the members in the PDS.
C ‘ABC’ ‘DEF’ will change all occurrences of ABC to DEF for all members. A C can be entered with no option. A screen will then appear where options can be typed in. Follow the screens after the change command to confirm the change.
Q I have a requirement for joining two lines in the ISPF editor.

Initial Code:

000011 //         DD DISP=SHR,DSN=DBD1.DB2.SDSNLOAD 

Reformatted Code:

A1 Splitting Lines

The text split (TS) line command splits a line into two lines. This is useful when inserting additional text and the line becomes too long. In order to split a line, type TSn anywhere in the line command field; however do not invoke yet. Move the cursor to the location in the line where the split is to be performed and now invoke press. The new line will align with the left side of the paragraph. If lines are indented, the new line will align with the indent. The "n" specifies how many blank lines to insert between the split lines. If a line number is not specified, then one blank line will be inserted. In order not to have a blank line, press again.

A2 Aligning Paragraphs
The text flow (TF) line command restructures a paragraph following deletions, insertions, splitting, etc. When TF is entered in the line command area, the text is reflowed from the beginning of that line to the end of the paragraph. The end of a paragraph is denoted by a blank line, a change in indentation, or the special characters period (.), colon (:), or ampersand (&) in column 1. The special characters are Script/VS control word delimiters.

The TFn can also be used where n specifies the rightmost column position for text to flow. For example, TF50 adjusts a paragraph to 50 characters wide. The default is the right column in the current BOUNDS setting.

Q I work for a multinational bank. Can you recommend some text books for ISPF/TSO?
A1 The well written textbooks on TSO/ISPF have not been updated in several years. They can be ordered directly from Mike Murach and Associates.  MVS TSO, Part 1: Concepts and ISPF by Doug Lowe, ISBN-10: 0-911625-56-9; ISBN-13: 978-0-911625-56-1 and MVS TSO Part 2: Commands, CLIST, and REXX by Doug Lowe, ISBN-10: 0-911625-57-7; ISBN-13: 978-0-911625-57-8

In the 1980's, Doug Lowe attended SYS-ED courses as part of researching and refining the content to be included in the Murach industry standard textbooks.

In areas where there is a scarcity of up to date industry standard mainframe textbooks, Computer Education Techniques is extending its z/OS JCL and TSO/ISPF courseware for utilization as a self-study learning center and reference guide.
A2 There is a IBM Redbook - "ABCs of z/OS System Programming Volume 1" which contains a high level technical overview of TSO and ISPF. It is available at the Redbook site; this was the url as of 12/2/09.
A3 The TSO and ISPF manuals can be retrieved from

The IBM TSO manuals are:

SA22-7794-04 TSO/E User's Guide SA22-7788-03 TSO/E Programming Guide
SA22-7787-02 TSO/E Primer SA22-7782-11 TSO/E Command Reference

The IBM ISPF manuals are:

SC34-4820-09 ISPF Edit and Edit Macros SC34-4816-09 ISPF Reference Summary
SC34-4822-09 ISPF User's Guide Vol I SC34-4823-09 ISPF User's Guide Vol II
A4 SYS-ED provides technology updates and technology assessments on our categorized and software specific mainframe websites.

Q Is there any way to look for a string in a bunch of files, the same way along the lines that grep does in UNIX? For example, if we are looking for a string such as "6.1" in the current working directory, we would use: grep '6.1' ./* .

Is there something similar in mainframe?

A When in the member selection list the FINDTEXT command can be used. For example, ft strg will search all the members for the string and indicate which members have the string.

In addition, by invoking option 3.12/3.13 in ISPF there will be a Search-for utility which can be used for searching datasets for one or more strings of data. This utility is similar to the ISPF "find" function; however, it is for multiple files. There is no grep in the ISPF system but IBM does have UNIX subsystems.

Q There seems to be some confusion regarding how to most efficiently toggle between screens on a 3270 ISPF type terminal. Is there more than one way to implement and manage a split screen? Can it be done using a command or is there a split screen method? Do you have any recommendations?

These commands may be useful:

START To start a new screen.
SWAP n To swap to a specific screen.
SWAP LIST To list the active screens. Typing a screen number and pressing the F9 function key will also perform the SWAP.

TSO/ISPF provides a split screen mode which divides the terminal screen horizontally into two logical screens. This mode is initiated by positioning the cursor at the location where the split is to occur and pressing the F2 screen. Once the screen has been split, the main menu appears on the new portion of the screen. ISPF treats each logical screen as an independent session; only one session can be active at a time. The arrow keys or the PF9 keys are used to alternate the cursor between screens while maintaining is position in each of the split screens. To end the split screen invoke the PF3 END key in one split screen or the other and then log of in the standard way by navigating through the hierarchy of menus. A more efficient method is to place an =x on the command line and invoke ENTER to log off directly. A single remaining screen now will be available.

Split screen mode is useful for examining compilation errors and the correction of source code. This can make it easier to identify and resolve program errors without awaiting printouts. However, it is not possible to simultaneously edit the same portioned data set member with both portions of the screen.

Q I am a business analyst. Management has made the decision that I need to learn IBM programming skills software such as Job Control Language. It is really necessary? I never considered myself to be an IT professional.
A There is an immense amount of data on IBM mainframe systems. JCL: Job Control Language is independent of a specific programming language; although there are differences in terms of how it is applied with different programming languages: COBOL, Assembler Language, PL/1, etc. It is increasingly important that business professionals acquire the knowledge and skillset to access data and effectively interact/work with IT professionals. IBM mainframe system software is to a large degree still based upon the foundation and architecture of the late 1970’ s and early 1980’s. Both its underlying logic and look and feel are non – intuitive and unlike microcomputer software can not readily be practiced on or mastered. Be grateful that your company has decided to invest in professional training!

Q I am a recent college graduate and have been using a computer, both Macintosh and IBM PC’s since kindergarten. I got my first job in IT with a Fortune 1000 company and the initial assignment is doing maintenance coding in a z/OS mainframe environment: ISPF, navigating panels, submitting jobs, performing file manipulation and compiling/testing programs I was able to pick up TSO/ISPF easily; however the JCL is quite different from anything that I have ever worked with. How can SYS-ED courses help me?
A Our JCL courses provide insights and guidance as to how the hardware and systems work together and build on earlier versions of the operating systems. The sheer number of JCL options and nuances associated with parameters can be challenging even for a seasoned mainframe programmer. Our courses provide hands-on training with the JCL that will be used in running programs that process disk, tape, and print files. Our instructors will be prepared to teach JCL specific to your installation or that you have questions on.

Q I am relatively new to the mainframe environment. I have been told that our shop has z/OS and VM/VSE operating systems. Which common set of courses do I need to take in order to be prepared to do my job.
A z/OS and VM/VSE are completely different operating system environments. Accordingly, we have separate and distinct courses: z/OS JCL, DOS/VSE for Programmers, and VM/CMS Workshop (there is no JCL equivalent). The commonality among these three operating systems is the ability to use common programming languages. FYI, SYS-ED courses will demonstrate the differences in their utilization of VSAM: Virtual Storagel Access Method. We also teach how to use UNIX System Services for accessing and processing files designed for UNIX systems.

Q I work for a multi national Fortune 1000 company and our stated strategy is to acquire other businesses in related industries. We have multiple z/OS operating systems and are in the process of making a major investment in IBM Rational and WebSphere technology: WAS and WebSphere MQ. DB2 is our major database. Most of my experience is in developing Java applications in a Oracle WebLogic environment. What courses will put me on the fast-track for acquiring the knowledge and skillset to operate efficiently both in our mainframe environment and the IT environments of the companies that we will be acquiring.
A We have a comprehensive z/OS mainframe training program. However, our initial recommendation would be to be take the following hands-on courses on a la carte basis: TSO/ISPF, DB2 Administration, and WebSphere Application Server Administration - WAS. Prior to enrolling in any any course, visit these SYS-ED websites:,, and Many web SYS-ED websites have learning paths and self assessment questions; review the information in relation to your specific training needs. If you contact one of our training consultants, we also will recommend textbooks. FYI, several of our courses have been used as prototypes for industry leading textbooks.