IBM MTM: Part One – Challenge #01

Hello again!

You don’t even know how long I thought about using a clickbait title, certainly longer than 2 minutes. But, I don’t want to scare away my 3 loyal readers from last time.

I was also thinking about advertisements, might aswell grab those 3 cents my readers would bring in? But uhh… I decided not to as I honestly was too lazy to click on some buttons in WordPress.

For those out of the loop, this is a follow-up on my first post ‘It’s me Kevin, and I accept the IBM Master the Mainframe 2018 challenge!‘. I hope you don’t watch your Netflix shows from finish to start, right?

So… what’s for dinner?

IBM Master the Mainframe Part One – Challenge #01

This time I’m completing part one of IBM’s mainframe course. The Amuse Buche’ is some JCL (Job Control Language) to allocate the required dataset for part one and two. The following line of code will do the job.

tso submit 'zos.public.jcl(part1)'

Next up, submit the job.

Don’t worry, I also don’t know what’s behind that line of code. And what is JCL? Well, JCL is a scripting language used on IBM-mainframes to send intructions to the Job Entry System (JES2/3) where it can start a program, start a filter job or instruct when to skip a step.

Now all I need to do is verify that I successfully allocated the dataset. Inside the Data Set List utility I need to search for a dsname that matches my TSO userid. And voila!

The main course for this evening is creating files and directories inside the z/OS UNIX environment. I’m going to echo my credentials to a file called ‘me’. Then copy that file to my PDS.DATA dataset.

After that I’ll go and edit the dataset using the e command, then select the needed content member (ME) using s to look into its content.

It’s there! Although it’s not much I must say. Now let’s see if I have completed part 1…

Yes I did!

This was only a very short introduction and so far the course hasn’t really explained what zos.public.jcl does. Is it a premade class and function I’m calling that IBM provided for us beginners? What’s the dataset for? Besides that, I’m now much more familiar with the z/OS ISPF interface and feel like I can handle the next challenge.

Let me describe you how familiar I feel with the z/OS ISPF interface. Remember the first time you were holding someone else’s baby when you were a kid yourself? Well I’m no longer experiencing that level of fear when interacting with the interface.

A word to my readers and my mom

This blogpost was somewhat different, I started with the dinner idea and tried to include some courses but my creativity quit when I got to soup. Feel free to send your suggestions to!

print('As always have a great day!')

PS: Yes I heard you, from now on you can click on the images.

Summary, more or less my notes 😉

  1. I’ve submitted the tso job using “tso submit ‘zos.public.jcl(part1)'”, used to enter the job name characters and then proceeded.
  2. I verified the dataset using utilities 3.4, filtered Dsname by my TSO id and checked if there were results.
  3. Then did the same again but filtered Dsname by /z/<lowercase>TSO id. Then returned to the ISPF Option Menu using return command.
  4. After that I entered to open the Unix Shell Prompt to then enter the command who am i > me which created a file called me.
  5. Then I copied the file using the cp command cp me ‘//’. Exited back to the option menu using exit.
  6. Last but one I had to verify that me was inside PDS.DATA using the utilities. Narrow down to my TSO id and tab to Z######.PDS.DATA. Entered e to edit, then tabbed to ME and entered s to select and read.
  7. Latsly returned using return and ran tso scorep1 to check if I successfully completed the ‘challenge’.
Share this:

It’s me Kevin, and I accept the IBM Master the Mainframe 2018 challenge!


I know, I know. This is a rather unusual first blog post; but why introduce myself when you’ll be able to indulge yourself into my world of programming? Let your image of me be shaped by reading millions of my clunky for-loops and if/else statements and not by my geeky hobbies or low self-esteem.

I’ve been programming/scripting for a few years now. I know some .NET/Core but mainly script in PHP, modern JavaScript, NodeJS and some Angular. I can name the frameworks and libraries I’ve worked with on all 6 of my hands.

I don’t dislike scripting but I would like to learn something way different. I also admit that I kind of want to hear: ‘What the bubbleballs is COBOL/CICS/JCL?’ from my programmer friends at my favorite bar.

My other interest besides mainframes is Laravel. Easy Laravel 5 and Design patterns in PHP and Laravel are some books I am going to read. Another book I might pre-order next year is Laravel: Up and Running 2nd Edition. I guess you can also expect some posts about that too!

I just noticed that the first three paragraphs started with ‘I’, I need to fix that.

So… you’ve read the title, at least I hope so.

What the heck is IBM Master the Mainframe? Is it 2018 already? Can you eat that?

Shamelessly stolen from IBM: ‘Master the Mainframe is a fun way to learn, earn digital badges and experience hands-on mainframe technology with no prior knowledge required!’.

A mainframe is a high-performance computer used for large-scale computing purposes that require greater availability and security than a smaller-scale machine can offer. If you ever used an automated teller machine (ATM) to interact with your bank account, you used a mainframe.

COBOL and mainframes have been in my mind for quite some time now. Last wednesday I was browsing Amazon to check which books I would buy, maybe one of Murach’s books? Or maybe a more modern approach? A bit later when I was browsing through some forums I’ve stumbled on the IBM contest and the timing was perfect. Browsing Amazon on the 10th of September ’18. IBM opens up registrations on the 10th of September. You and me both know it’s a sign!

My first steps into the world of mainframes are setting up my own mainframe emulator using Hercules on Linux. As for the IBM contest, I’ve installed the Vista tn3270 terminal emulator and PuTTY to connect to the mainframe from IBM.

Now to just login on IBM’s mainframe…


Well that didn’t go so well! The introduction prompted me to connect using PuTTY first, guess that was a bad idea. Paul Newton from IBM quickly activated my account again (3 minutes after deactivation!) and clarified that a new password should be set using the TN3270 emulator first. Let’s go do that!

Changing the password.
Changing the password.

My mistake! The password was only allowed to be 8 characters and preferably lowercase. Let’s login!

ISPF 7.3 Dashboard
ISPF 7.3 Dashboard.

It’s alive. I can now finally begin my journey and work my way through all the challenges part 1 brings! However, that’s something for my next blogpost!

I hope I’ve sparked some interest in mainframes. If you’re interested you can always try IBM’s learning system.

By the way, this was my first experience with WordPress. Cool beans I say! Have a nice day!

Share this: