Success is a matter of reading the instructions carefully!
Carefully read everything below, such as password reset handling, etc.
Part One objective is to logon to z/OS and complete a few simple tasks.
'No Experience Necessary' -- You will be shown exactly what to do.
Three pieces of software are required to participate in the contest:
TN3270 Emulator and SSH Client installation for
Windows, Mac, and Linux are described in
Preparation > Required Workstation Software
TN3270 Emulator and SSH Client configuration for
Windows, Mac, and Linux are described in
Preparation > Connection Instructions
In this challenge, you’ll get your first exposure to the mainframe, learn about the specialty processors it uses, and get connected to a live system for later challenges.
Click twisty to expand sections
Meet the Mainframe
Mainframes have a special place in the world of high-volume business processing. You may already be familiar with a lot of the concepts and technology that power the mainframe, including Linux, APIs, and containers. We'd like to show you what gives the mainframe key differentiations in these, and other important areas. Check out the "What is a Mainframe" page for a quick overview of the platform.
You may have used a computer with multiple processors before, and chances are you’ve leveraged a Graphics Processing Unit to accelerate image rendering. On a mainframe, you’ll find not only a large number of general purpose processors, but specialty engines as well, each with a specific role in maintaining high throughput. The video below has more information.
Down to the (Green) Metal
Let’s take a deeper look at not just the hardware that makes up a mainframe, but how it is leveraged to create virtual machines and resources. It’s important to realize that the mainframe is not just a cluster of typical machines, or a hot-rodded PC with special abilities. It’s literally engineered from the ground up, no compromises, to run valuable business transactions.
With all of those parts, you might think the mainframe is just one big computer, but that’s not the complete story. The real benefit of having all of those resources in one place comes in the form of virtualization; taking chunks of available resources, like processors and memory, and using them to create smaller, flexible, custom-sized virtual instances.
Virtualization is everywhere on the mainframe, from memory to storage, network to consoles. The video below goes into even greater detail.
Being able to run multiple operating systems on the same machine isn’t just a convenient way of having all your systems in one box. Consider 200 typical distributed servers, each with their own power supplies, CPUs, memory, and network adapters. When you consolidate all that down into one physical footprint, not only does complexity and area usage go down, there are tremendous energy savings as well.
In the Redbook “Practical Migration from x86 to Linux on IBM System z”, Section 1.1.2, titled “The IBM Big Green Server Consolidation” outlines the environmental impact of moving 3900 servers onto a mainframe running Linux, including some very interesting numbers. Read section 1.1.2 in the Redbook
One company that helps engineer electrical solutions for datacenters is Schneider Electric. They have a tool on their website that can help estimate the total resources needed to support modern computing resources, which you can check out here.
Spend some time exploring this tool, observing the Data Center IT Capacity Rating as you change the Server Quantity and Mainframe Quantity values. This information will be needed for one of the questions in the final section.
Of course, you don’t put all of that hardware together in one place just to look pretty. What runs on top of the hardware is an Operating System. You probably have a phone that runs a particular operating system, like iOS or Android, and you’ve probably used a computer that runs an operating system like Windows, Mac OS, or Linux.
The mainframe can run several different operating systems, each one with its own unique purpose. Learn more about the Operating Systems in this video With the Operating System running, the next step for most mainframe users is to start installing and configuring Middleware. On other platforms, these are sometimes called Services or Daemons. If the Operating System provides core functionality, the role of Middleware is to add additional functionality that could be used by someone writing a business application.
Middleware is what makes it possible to write complex applications that scale up to the demands of highly-demanding business situations.
But what does it do?
You’ve seen what a mainframe looks like, and heard a few of the things that people use it for. What we haven’t covered is how a mainframe user puts it all to use to make things happen.
Mainframe developers will often use a “best fit” approach to building applications. They’ll build APIs for cloud services, modern languages like Swift for applications that interact with mobile devices, and they’ll leverage middleware such as CICS and Db2 to handle transactions that deal with data. Next up, you’ll learn about an end-to-end solution that leverages all of the above to create a custom online shop for longboarding equipment.
Read this article: Longboarding their way to the mainframe
Make your first move!
A mainframe is a type of computer with a special place in the world of high-value mission-critical business transactions. Its hardware is purpose-built to support the highest level of availability, security, and scaleability. It's also incredibly flexible, open, and evolving, so you can develop solutions with open-source languages, tools and frameworks, scale out to hybrid and multi-cloud environments, and pioneer solutions in exciting new industries.
The mainframe runs a number of operating systems, including Linux, and integrates with a variety of cloud platforms. For these challenges, we wanted to make it interesting and bring you something you probably haven't had hands-on experience with before. Give your fingers a stretch and let's get ready to dive into the z/OS operating system.
There are many ways to connect to a mainframe. You can connect to REST APIs, application interfaces, web sockets and graphical user interfaces.
For example, one such interface is Zowe (pronounced like Zoe) which is the first z/OS open source project. It is an extensible framework to connect applications and tools to mainframe data and applications. For example, there is a Zowe CLI that enables cloud-like access to the mainframe. See it in action in this video created by one of our developers.
Feel free to further explore Zowe. For this competition, we’re going to use a text-based terminal connection. Many mainframe users prefer the terminal, retro looks and all, to be the most direct method of working on their systems, and for these challenges, it’ll be the easiest and clearest way of showing what is required for each step.The mainframe has its own flavor of terminal, called 3270. You should have already downloaded the TN3270 from the Preparation Section. There are other ways to connect to the mainframe, like using ZOWE (https://www.zowe.org), but for this contest we will use the 3270.
Today, we’re going to use a text-based terminal connection. Many mainframe users prefer the terminal, retro looks and all, to be the most direct method of working on their systems, and for these challenges, it’ll be the easiest and clearest way of showing what is required for each step.
The mainframe has its own flavor of terminal, called 3270. You should have already downloaded the TN3270 from the Preparation Section. There are other ways to connect to the mainframe, like using ZOWE (https://www.zowe.org), but for this contest we will use the 3270.
Video - Master the Mainframe 2019 Part 1 Walkthrough
Part 1 written instructions with screen captures exists Before completing the Part 1 challenge using the written instructions, an instruction video to learn the fundamentals of navigating the terminal is available. No need to follow along. You will do a different exercise below.
Connect to the Mainframe
If prerequisites are not met, then see the
Preparation drop down and review Connection Instructions.
The screen below will appear as a result of starting a successfully configured 3270 emulator session.
If the screen below fails to appear, see the Preparation 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 z#####
to be typed followed by enter key - lower right Ctrl key.
** Remember to replace Z##### with your ID.
Enter the password previously sent to you in the confirmation email.
*Remember: press right side Ctrl key which is the default
enter key in most TN3270 emulators
*Note: Mac TN3270 emulator enter key could be different
The following screen appears as a result of successfully entering password
Enter (right-side Ctrl) to proceed to next screen
A message CURRENT PASSWORD HAS EXPIRED is displayed.
-- Enter a new password (8 characters or less) in the New Password input field to continue.
Choose a new password that follows rules highlighted below
-- Pay attention to the directions on the screen.
-- z/OS requires new password twice.
-- What you type and enter is NOT visible on your screen.
If you receive an authorization error, retype the password again 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.
Observe cursor position is in the *New Password ===> data entry field.
Reenter the new password in the NEW PASSWORD field for verification.
When system accepts new password your selected, then logon to z/OS proceeds as follows:
If all goes well, then logon messages will appear
The above screen will appear momentarily.
Below - notice the three asterisks *** to the left of the cursor?
z/OS is waiting for enter key to continue.
Press the enter key (Ctrl) and you're on your way!
Mac enter key is an exception.
The screen below will appear with the ISPF Primary Option Menu.
Navigating Tips and Tricks:
In ISPF, you choose where you want to go based on a menu-based navigation. For example, to go to option 3: Utilities, from the first screen, type 3, followed by Enter. To go back, press F3. The F* keys (or Function keys) are a convenient way of issuing instructions to the system you’re logged into, but you may have to perform some additional tasks to set them up right depending on your computer. You may need to hold down a keyboard modifier (like the Fn button) or re-map the keys using the terminal emulator software.
You can use other F keys in ISPF to move around, such as:
From the home screen, navigate to Utilities (Option 2), then from the Utilities screen, jump to Data Set Utilities (Option 2). To get back to the home screen, we have two options:
One more trick, we can navigate directly to Data Set Utilities by typing 3.2, which indicates a 3 followed by a 2. This will put us directly into Data Set Utilities without requiring a stopover at the main Utilities screen.
By entering an = at the beginning of a command, we are telling the system “Regardless of where I am, enter this as if I am on the home screen”, so even if we are in option 6, we can type =3.2 and get to Data Set Utilities without needing to first go back to the home screen.
ISPF Primary Option Menu Settings option 0 worth exploring. Many Settings exist that you may prefer. Take a look at the settings and the drop downs.
ISPF Primary Option Menu Settings includes preference to place ISPF command line at bottom or top.
You’re logged in, you know how to drive this thing now let’s grab some data sets and get started.
You’ve probably run a program on your computer. Submitting a job in z/OS is like running a program on a desktop computer, except that z/OS needs to be able to handle multiple jobs running at the same time from multiple users. TSO, which stands for Time Sharing Option, allows for jobs to be submitted for execution, and provides feedback to the users when they are completed.
We don’t have to worry about a lot of those details for this specific challenge, as we will be running a pre-written job.
Now we are going to run a job that creates the data sets (we’ll learn about data sets later) that will be used throughout this contest.
**Big hint to avoid typing: Copy and Paste works -
copy from instructions and paste into TN3270
Ctrl-c (copy) and Ctrl-v (paste) works for many (but not all) workstations.
Enter tso submit 'zos.public.jcl(part1)' as shown
Note the spaces, single-quotes, and parenthesis. You can enter the text in upper or lower-case, either will work as long as everything else is correct.
Enter a as shown in response to ENTER JOBNAME CHARACTER(S) -
Remember -enter- is required to proceed when *** is displayed.
MAXCC message will appear once the job completes. Message is followed by three asterisk requiring ENTER to proceed.
About Condition Codes
If you’ve ever mis-typed a website, you’ve probably seen an Error 404: Page Not Found error.
The code 404 is just a simple way of representing a type of error with a number. z/OS has a series of condition codes to represent something similar.
If you get a condition code 0 (or 0000) that means that everything ran exactly as expected. There were no errors, no warnings, and as long as the program itself is doing what you expect it to, you’re in good shape. A condition code of 4 means that your job ran and finished, but some warnings were detected along the way, and you should check your job output to make sure it did what you think it should have.
Error codes 8, 12, and others typically mean that an error was detected, and the job did not complete. Common causes of these errors are missing commas or spaces in the job definitions, filesystems running out of space, incorrect permissions, or attempted use of unsupported functions. Either way, you’ll want to look into your job’s output to determine exactly what caused the program to stop, and what you can do to fix it.
Let's make sure the data sets were created.
ISPF Primary Option Menu selection 3 displays more options, then option 4 is the target Data Set List panel. 3.4 jumps directly to the Data Set List panel.
The ISPF Primary Option Menu is displayed, then type 3.4
-enter- as shown
The ISPF Data Set List Utility panel is displayed.
Type your assigned ID in the Dsname Level field, then -enter- as shown:
** Remember to replace z##### with your ID.
Data Sets Matching the type ID are displayed
z/OS stores data in both unix files and data sets. Now we are going to copy the data sets to unix files so we can play with Unix on Z in Part 2 of the contest.
Why is there Unix in z/OS?
The Unix operating system started as an internal project at Bell Labs, and has gone on to be the basis of Linux, Android, MacOS, and countless other computing platforms. It is in fact so prevalent in the world of IT that many users wished they could somehow combine the two so they didn’t have to have two sets of computers to work on both platforms.
Unix System Services (USS) was developed on IBM Z so that users familiar with Unix could have access to a Unix-style interface without having to leave the mainframe. Today, USS is used not only by developers and systems programmers, but leveraged by the core z/OS operating system to provide functionality and scripting ability.
You will learn about the differences between unix files and data sets in the contest challenges.
Press function key 3 (F3) or enter exit to return to previous panel.
On the Data Set List Utility panel, tab to the Dsname Level input field,
then overtype your ID with /z/z#####
(replacing ##### with your ID unique number)
Note: Unix file names are case sensitive
The result is z/OS UNIX Directory List for Pathname /z/z#### which is empty.
Your next step is to create a UNIX file in your directory.
Enter return to display the ISPF Primary Option Menu
Enter u on the Option command line as shown to bring up the Unix shell.
A z/OS UNIX shell prompt is displayed
Enter date as shown below so you can see the time and date. This output will be used in the next few steps.
The output of unix command date is displayed,
then enter date > p1 to redirect date command output to unix file p1
In Unix, the cat command is used to view the contents of a file. Enter cat p1 to view what we just wrote into p1.
The unix file, p1, consisting of date output is written to the display.
Copy unix file p1 into a partitioned data set name, pds.data, with member name p1 using the unix cp command.
Enter cp p1 '//pds.data(p1)'
Enter cat '//pds.data(p1)' to write the output of partitioned data set, pds.data, member name p1 to the display.
Data set name pds.data member name p1 is written to the display.
Enter exit to terminate the z/OS UNIX shell session
Session ended message is displayed. Press -enter- to proceed.
Let's make sure the P1 was copied to the partitioned data set.
On the ISPF Primary Option Menu, enter 3.4
The Data Set List Utility panel is displayed again.
Overtype Dsname Level field with your ID, then enter
Below - observe Command ===> line and a Command column
Commands are possible in both the Command line and the Command column
Tab to the left of Z#####.PDS.DATA, then enter e in the Command column as shown
Below - observe EDIT in the upper left corner indicating Z#####.PDS.DATA is in EDIT
Tab to the left of member named P1 and enter s to select member P1 as shown
Displayed is the content of member P1 in data set name
Enter return to terminate ISPF edit and return to ISPF Primary Option Menu
The quiz questions you will be prompted to answer are::
From the ISPF Primary Option Menu enter tso p1quiz
Example below is the first quiz question with multiple choice answers. Select the best answer.
A message You have successfully completed Part 1 is
Enter to proceed in response to ***
When you want to terminate ISPF session and logoff TSO, then -
From the ISPF Primary Option Menu, enter x to terminate the ISPF session.
If the Specify Disposition of Log Data Set panel appears as seen below, select
Process Option .... 2 to Delete data set without printing
The TSO 'READY' prompt is displayed.
Enter logoff to terminate TSO / TN3270 session.
While there are many ways to interact with z/OS, learning 3270 TSO/ISPF accelerates mastery of other web based z/OS interfaces.
Brag to your friends about completing Part 1 by posting a message to your social media networks.