Part One

Part One objective is to logon to z/OS and complete some simple tasks.
This is the 'No Experience Necessary' portion of the contest.

Contest IDs: Challenges and instructional screen shots read Z99999. Substitute your ID. Each contestant has a unique numeric identifier following the Z. To repeat, wherever Z99999 is mentioned, please substitute your assigned ID or the challenges will not work as designed.

For example, if a challenge indicates Z99999 when your ID is Z00001, replace Z99999 with Z00001.

Attention Learning System IDs (AU0####) only: Challenges and instructional screen shots read Z99999. Substitute your ID. Each Learning System contestant has a unique numeric identifier following the AU. To repeat, wherever Z99999 is mentioned, please substitute your assigned ID or the challenges will not work as designed. A few challenges have special instructions for Learning System IDs (AU0####) which will be noted in the challenge.

For example, if a challenge indicates Z99999 when your ID is AU02001, replace Z99999 with AU02001.

Success is a matter of reading the instructions carefully!

If you are experiencing any problems with the contest,
please see the following resources for help.

Questions & Password Resets?
  • If you have questions about a specific challenge after carefully reading instructions:
      Send note to zskills@us.ibm.com.
      Please include Part #, Challenge # and ID in subject line.
  • If password reset needed:
      Please include Password Reset and ID in subject line.
      The ID is needed to validate against email address or name in body of note.
  • Frequently Asked Questions (FAQ) will be posted in a public Question and Answer Forum.
    Contest FAQ Forum     FAQ forum will exclude personal IDs, email addresses, names, etc. from any note sent to zskills@us.ibm.com.
  • Master the Mainframe Facebook Page
  • If your question is still unanswered, send an email to zskills@us.ibm.com.
Approximate time to completion for Part One: 1 hour

Next: Mainframe 101

Mainframe 101
Part One

The contest is running on unparalleled state-of-the-art server technology.

IBM's mainframe has gone through many name changes during the decades as the technology has advanced.
The word mainframe captures the technology-rich history of this best of breed enterprise server.
The latest generation of IBM's mainframe, the z14 from the IBM Z family, has a world class legacy of
50+ years of technological advancements resulting in today's state-of-the-art technology.

Next: Workstation Preparation

Hear the story from a high student that decided to buy a near 20 year old IBM mainframe, moved it to his parents basement, and made it work.
I Just Bought an IBM z890 - Now What?

Connor now works for IBM on IBM Z technology

Workstation Preparation
Part One

Three pieces of software required to participate in the contest:

  1. Telnet 3270 Emulator (TN3270) - access mainframe environment applications such as z/OS ISPF. TN3270 is a text only interface.
  2. SSH Client - access z/OS Unix System Serivces shell using VT100 or VT220 terminal emulation. A text only interface.
  3. Web Browser - Done, given you are reading this text.

Follow the steps in the Connectivity Guide for the workstation operating system you are using.
The installation and configurations of the 3270 emulator and SSH client for Windows, Linux, and Mac are described in the Master the Mainframe Contest Connectivity Guide.
Ensure that you can connect to both the TN3270 and the Unix servers before continuing.

Next: z/OS ISPF

Part One - Challenge #01

Log on to z/OS ISPF

3270 emulator software prerequisites:
  • installed
  • configured to access IP Address
  • session started

If prerequisites are not met, then see Connectivity Guide drop down.

The screen below will appear as a result of starting a successfully configured 3270 emulator session.
If the screen below fails to appear, see Connectivity Guide, Overview drop down.

Logon to the Time Sharing Option (TSO) environment using 3270 emulator software as instructed.

The input cursor is positioned in the lower left - waiting for logon z99999 to be typed followed by enter key.

** Don't forget to replace Z99999 with your unique ID.
3270 Emulator Enter Key: In most 3270 sessions, the default enter key is lower right side Ctrl key. If pressing Enter does not do anything, try pressing the lower right Ctrl key. If you want to change location of the 3270 emulator default enter key, the emulator software has a keyboard mapping function.

TSO/E LOGON screen should appear.
The cursor is placed at the Password input field.

The initial password is set to zbigdata.

Password ===> zbigdata
press enter key.

A message indicating that the current password expired is displayed.
Enter a new password of your choice in the New Password input field to continue.

Avoid using a password that you've used previously on this system or on any other system. Make sure your contest password is completely different than your Facebook, Google, Apple, Yahoo!, online banking, laptop/desktop, or other password.

Choose a new password that follows rules highlighted below
Pay attention to the directions that appear on the screen, as z/OS requires new password twice and what is typed is NOT visible.

Password Rules:
  • Be equal to or less than 8 characters in length.
  • Not be a password that you've used previously on this system.

If you receive an authorization error, retype the password zbigdata making sure that you are entering it correctly.

If a mistake is made during this process, system will prompt again for the correct password format until requirements are met.

Three bad attempts will result in the following messages:

If this happens, wait for 15 minutes, then attempt logon again with the following new initial password
Password ===> zpass4me

If all goes well, then logon messages will appear

The screen above will appear momentarily, then the screen below will appear

Notice the three asterisks *** to the left of the cursor?
z/OS is waiting for enter key to continue.
Press the enter key and you're on your way!

What to do when systems thinks you are already logged on?:
If the 3270 session is closed accidently without logging off, then the session remains active for approximately 30 minutes before timing out. Below is what might be experienced and what action to take.

Closing 3270 session without logoff will result in the following message when logon is attempted.

If this occurs, then type logon z99999 and press enter. Enter your password, then tab down to the left of Reconnect and enter (s) to select the Reconnect option as shown below.

Result of s - Reconnect, then enter will return the session to the active panel at the time session was lost.

The Interactive System Productivity Facility, ISPF Primary Option Menu is displayed.
Press enter key to clear the copyright dialog box.

ISPF is where the majority of the challenge interactions with z/OS occur.
ISPF consists of panels, options, selections, and an editor to accomplish tasks.

To navigate the ISPF panels, use any one of the following methods:

  • mouse point and click on desired screen location
  • tab to desired screen location - tab places cursor at next input area
  • arrow key to desired screen location
3270 Protected Fields: If attempt is made to input into a protected field (meaning input is prohibited), a stick man may appear in lower left control area of 3270 session and keyboard will be temporarily locked. The lower left Ctrl key unlocks the keyboard, then tab into an unprotected field.

From the ISPF Primary Option Menu, type 3 in option input field and press enter key to go to the Utilities panel.

On the Utility Selection Panel, select option 4 (Dslist) and press enter.

Several data sets were created for your ID.

A data set refers to a file that contains zero or more records. A record is the basic unit of information used by a program running on z/OS. There are multiple types of data sets. A basic description that can be read in about two minutes can be found at -
z/OS Data Set Basics

To list your data sets, type your ID in the "Dsname Level" field and press enter.

Another Reminder: Replace Z99999 with your ID. Z99999 is only an example ID

Dsname Level field is for listing data set names based upon data set name pattern matching.
A couple of data set names were pre-allocated for your ID.
Entering your ID lists data set names that match or begin with your ID.

Press F1 to get ISPF help tutorial

The ISPF help tutorial provides help about DISPLAYED LIST - LINE COMMANDS

Examples include:
  • V - View data set
  • B - Browse data set
  • E - Edit data set
  • D - Delete data set -- do not delete data sets unless instructed
F3 to exit and return to previous panel

Tab to the left of Z99999.PDS.DATA and enter e line command in the command column.

z/OS has several data set organizations.
One type of z/OS data set organization is a partitioned data set, (PDS).
A PDS has a directory of members where each member contains data, such as program or a text file.

A message appeared in the upper right area of display, "No members in data set".
Select welcome. The Select or S command selects a new or existing member of the PDS.
Enter the following on the command line:

s welcome

The new PDS member, welcome, is in edit mode below.
Enter the following edit primary command as shown:
copy 'zos.mtm2017.public.pds.data(welcome)'

F3 to save, end, and return to the PDS directory.

Some repetition now.
Enter the following on the command line.

s mbr1

A new PDS member, mbr1, is in edit mode below.
Enter the following on the edit primary command line.

copy 'zos.mtm2017.public.pds.data(mbr1)'

Read mbr1 and follow the instructions to learn more about ISPF editor line command processing.

After completing instructions in mbr1, enter the following command:
select mbr2.

s mbr2

Enter the following edit primary command:

copy 'zos.mtm2017.public.pds.data(mbr2)'

Primary commands are stacked in the panel that follows.
Primary command, reset, removes the ==MSG> lines,
followed by the command separator, semicolon (;),
then the ISPF editor primary command, change (c), is changing all occurrences of a string to a new string.

reset ; c 'mainframe is' 'z Systems are' all

Observe the lines with ==CHG> which identifies the lines changed.

F3 above panel to end, save, and return to PDS directory.

Select mbr3

s mbr3

Enter the following edit primary command:

copy 'zos.mtm2017.public.pds.data(mbr3)'

Read mbr3 and follow the instructions to learn about ISPF editor help tutorial

pfshow off/on
can be used anywhere in ISPF to turn function key line off and on.
When pfshow off, then more panel real estate is available

F3 to save, end, and return.

Refresh the display of the PDS directory using the following command:


F3 again in above panel to exit the PDS directory and return to data set list panel.

As mentioned, the Partitioned Data Set (PDS) organization type is one of several data set types.
Another data set type is Sequential (SEQ).
While PDS has a directory of members, SEQ data sets contain data records - similar to files in other operating systems.
Edit (e) Z99999.SEQ.DATA as shown in the DSLIST - Data Sets Matching Z99999 below.

The EDIT Entry Panel below provides an opportunity to specify preliminary actions.
Observe the Initial Macro field. An ISPF macro will be used in this edit session.
However, the macro will be executed during the edit session instead of here.
No actions are needed now. Therefore, enter to proceed with edit session.

This sequential data set, Z99999.SEQ.DATA, was pre-allocated with no data. Therefore, edit session shows area for entering data.
Data will be copied into this empty sequential data set as shown in panel below.
Observe copy command is followed by pfshow off command.

copy 'zos.mtm2017.public.seq.data'; pfshow off

Observe the following message:

-CAUTION- Data contains invalid (non-display) characters.
The non-display characters are simply NOT displayable EBCDIC characters.
More about EBCDIC vs. ASCII vs Packed Decimal character formats later in the contest should you elect to learn more in Part 2.

xname is NOT a valid ISPF editor primary command.
xname is a user written ISPF Editor Macro.
Instead of typing in a series of ISPF editor commands, xname contains the commands to be executed.
Enter the following on the primary command and observe changes.


The changed panel display was initially excluded from these instructions.
Execution of the ISPF Macro displayed the string changes.
Observe the strings that were changed.

The xname and xchg user written ISPF Editor Macro source code follows:

Enter the following in the editor primary command area and observe the changes.


Note: The screen shot was excluded from the instructions.
A text picture will appear as a result of executing the ISPF Edit Macro.

F3 to exit and return

Learn more about JCL, programming languages, data set organizations,
data formats (Hexadecimal, EBCDIC, ASCII, Packed Decimal) and
ISPF should you decide to participate in Part 2.

While you can proceed to the next Part 1 challenge, z/OS Unix,
consider taking a few moments to review the Useful and Optional
information below which may prove valuable moving forward in the contest.

Next: z/OS Unix

Useful and Optional Information

Review ISPF Editor Command Summary:
References drop down or click below
ISPF Edit Command Summary
Logoff TN3270 session

Enter =x to terminate ISPF

Interim panel might appear, just enter to delete session log data set

Enter logoff from the TSO READY prompt

A frequently asked question by new mainframers goes something like this:
“Is 3270 the only way to interact with z/OS?”
The answer is definitely no!
There are many ways to connect to the mainframe, including many with GUIs.
Learning 3270 TSO/ISPF will enable you to quickly master any Eclipsed Based, IDE, GUI.

Next: z/OS Unix
z/OS Unix
Part One - Challenge #02

z/OS includes Unix which enables an unparalleled state-of-the-art operating system to be open, flexible, and function rich. If you are familiar with Unix or Linux, then you are familiar with z/OS Unix Services.

The challenge uses 2 separate ways to interface with z/OS Unix shell prompt

  1. TN3270 TSO/ISPF
  2. SSH

From the ISPF Primary Option Menu, launch the Unix Services command shell
Enter the following option

The Unix shell prompt panel appears.
Enter Unix command
The command output lists the unix files in your personal directory already set up for you.

Output from Unix command ls is a list of files in the unix subdirectory.

The Unix shell prompt panel appears.
Enter the following Unix command string
echo 'write this line into a unix file named zfile' > zfile
The command output is writing the string in quotes to zfile.

Enter Unix command
who am i >> zfile
The command output is redirected and appended (>>) to the existing zfile file name.

Enter Unix command

Output from ls lists the files which now includes zfile.
Enter Unix command
cat zfile
The command output writes zfile content to display

Output from cat zfile writes the content of zfile to the display which is 2 lines,
one from the echo command and another from the who am i command.

Minimize the TN3270 session. You will return to this active session shortly.

PuTTY is used in the instructions below to demonstrate an SSH connect.
If you select to use a different SSH client, then expect screens to be slightly different

Use PuTTY to establish an SSH session with z/OS as shown below.

Session establishment requires Yes to trust server's key fingerprint

**Remember you must substitute your ID replacing z99999 in all instructions that follow.

Once presented with login as:, then authenticate with the same ID and password credentials used to access TSO/ISPF

Successful authentication will present the Unix shell prompt.

SSH key entry can be fussy.
  Example, backspace may not behave properly. So, if SSH key entry
  returns a strange message, please try again without any backspaces.

Enter the following Unix command to list files in the present working directory -
Only zfile is displayed as it was from the TN3270 Unix prompt

Enter the following to write zfile to the display.
cat zfile

**NOTE: In some cases, the output of the who am i is longer than 80 characters resulting in errors in this challenge. If this happens to you, ignore the problem and enter scorep1 now to get credit for completing part 1.

The zfile output is displayed below.

Enter the following command to append output about the SSH session to zfile.
who am i >> zfile

To make this next action work -
  Be sure to exit F3 any TN3270 edit session within your PDS.DATA data set
  If the copy continues to fail, then logoff your TN3270 session
  The copy command can only work when your PDS.DATA is free for an exclusive update by SSH session

**Remember you must substitute your ID replacing z99999 below

Enter the following to copy zfile to member zfile in z99999.pds.data.
cp zfile "//'z99999.pds.data(zfile)'"

Enter following command to terminate the SSH session.

Maximize the TN3270 session and enter following Unix services command.

A session has ended message is displayed.
Enter will return the session to ISPF panel.

From ISPF panel enter
= tells ISPF to behave as if on the Primary Option Menu.
3.4 will jump directly to the Utilities Data Set List Panel

=3.4 jumps directly to the Utilities Data Set List Panel regardless of which ISPF panel is currently displayed.

The point is that the ISPF panel does NOT need to be the Primary Option Menu to jump directly to a desired ISPF panel, the 3.4 panel in this case.

Enter the following in the Dsname Level field, substituting your ID for z99999.

Browse b your partitioned data set, pds.data as shown below

Select s member ZFILE to browse.

Content of member ZFILE is displayed.

F3 to exit and return to previous ISPF panel.

Next: Completing Part One
Completing Part One
Part One

Turning in Your Work

To let IBM know you are finished with Part One, you need to perform one final task inside ISPF.

From the 3270 emulator, ISPF session, =6 to enter ISFP Command Shell panel and run the scorep1 TSO command as follows:

When you see the message indicating you have successfully completed Part One, you are ready to move on to Part Two.

Reflect a moment on your experience thus far in the contest. You have successfully connected to and operated in two different environments on IBM's flagship operating system, z/OS; running on a state of the art, enterprise-class mainframe.

There are not many people in the world who can make this claim. It's quite the accomplishment, so well done! Consider putting participation in this contest on your résumé; hands-on mainframe experience distinguishes you from other job seekers and employers are always excited to meet young people who've learned something about the mainframe!

This is also a good time to brag to all your friends by posting a message to your social media networks.

For more background and information about mainframes and to see examples of how important the mainframe is, check out the following web sites:

You are now ready for the more difficult challenges in Part Two.

Thanks for participating, and good luck!

Next: Part Two - Challenge #01