IBM MTM: Part Two – Challenge #03

Hello Hello Hello!

I’m running out of post banners to use, any recommendations? ISPF only has that much welcome screens, so I just took the #MTM logo. I’m also running out of witty intros and topics to talk about before I start writing about #MTM.

I have also noticed that the word count increases dramatically per blogpost… I’m not sure if I can top the 750 words from last time. But hey! It really doesn’t matter, the only thing that matters is that this blog stays interesting enough to read.

Accepting IBM Redbook’s cookies and watching another video

This time I need to watch lecture video 8 which happens to be less than 8 minutes. Guess it’s time to mute the Retro Arena Top 100 megamix I’m listening to and learn a few things about the ISPF Editor.

The most important thing this video told me is that there are two types of commands. Primary commands that are to be typed in the command input. Lastly, the line commands which are to be typed over the line numbers.

A summary of the ISPF commands can be found here.

Challenge #03 – Let’s go!

IBM Master the Mainframe Part Two – Challenge #03

I need to edit the previously created dataset SPF2.LIST.

When issuing the edit command I got this screen.

I don’t really need to use anything in this screen right now so I continue using enter to view the edit screen.

To get rid of the system messages and show a ruler I need to issue two primary commands. The first one being reset and the second command is cols.

Next up is to shift the text to the right by 29 columns by using right 29 as primary command. The text begins at column 30 in the display. This might not make sense as you’re seeing —-+—-1 and so on. But the lines are additions. When it’s a five it becomes a plus sign. Whenever it hits a multiple of ten it becomes that number. The next image will clarify what I’m talking about.

Now the display has just shifted itself to line 30. Whenever I use the left 29 primary command the screen returns to its original position. Now I’ll delete 10 lines and then I’ll delete 99 lines, which is more lines than the dataset has.

I deleted the first 10 lines. It might be hard to see but I prepared the d99 command at the same line where all the asterisks are. Normally it would say d99008, but to prevent it deleting more than I want I overwrite a zero using spacebar.

In the image above I’ll be shifting all the text to the left by 29 characters. Which results in all the spaces being removed. This is done by using the left parenthesis operator.

The outcome is correct. I’m almost there! Now I’ll replace and copy this data to member 3 of this dataset.

I’m not sure if I’m doing this right. Do I issue the primary command first or can I do both? Or do I need to do both to succeed? This should copy all lines to member #03 in dataset p2.output. Let’s see.

Truncation is allowed, let’s hit that enter button hard and see what happens! Please light a candle for me and hope!

Do you also see that yellow Member #03 created message? What a relief!

Edited! I did it Master Wayne! Now I’ll just hit that F3 button and challenge 3 should be done. That’s three challenges out of 15! I feel like doing part 4 already, too bad it’s bedtime 🙁

A sneak peak?

I really love using those bait titles to indicate the end of a blog post.

I just looked at part 4 and it looks a tad more difficult in comparison to what we’ve seen yet. Oh… and there’s also a new lecture video that I should watch before starting the challenge.

I’ve also spoken to Paul Newton from IBM about my blog and I’m not really allowed to show part 3 its solutions. So those blogs might be less in depth. But that’s a problem that the future will bring.

Well this is the end, for today. I didn’t lie to you when I said I won’t top that 750 word count from last blog. I’ll make it up to you next time 🙂

Also, don’t you think a blog without a spelling miskate is boring? I might include one in the next blog, it’s up to you to find it!

Share this:

IBM MTM: Part Two – Challenge #01-02

Oh hi there! You’re still here?

To my 5 loyal readers from last time, I deeply apologise about the notification mail that landed in your spambox! This time, I’ll send you about five straight to your so well organised inbox. If you’re new to this blog, well, then I advise you to start from the beginning 😉

I have to admit that sometimes writing this blog makes me feel like I’m writing my thesis. I can say what I want in five words but still make it twenty. Oh well…

Wait! No, nevermind.

Now back to the nerdy jibber-jabber

IBM Master the Mainframe Part Two – Challenge #01 & #02

I’m going to try and complete two challenges today. The first challenge is about the same as last time. I just need to prepare a dataset but this time it’s just a tad more advanced.

The screenshot above shows how I executed a job called part2. Then I allocated the P2.OUTPUT partitioned data set member #01 to a file called sysut2. After that I allocated the country data to file sysut1.

The DUMMY command indicates that no data should be allocated to the file sysin. IEBGENER is a utility to generate or copy a dataset. So this generated PAGE 0001.

Then all I have to do to get my hands on challenge #02 is to logoff, take a bathroom break and logon again.

They made me watch a lecture video…

And it was great! I rated it 10/10 on IBMDB. Seriously though… I watched lecture video 7 which explains the ISPF user interface in depth.

This video more or less explains what I had to do in part 1. If they offered the link to this video before then it might have answered a lot of my questions I had back then. It also showed a nice shortcut to navigate through the ISPF panel.

If you prefix your navigation command by an equal sign then you don’t longer need to navigate to the submenu of where you want to be. =3.4 would bring me right to utilities > Dslist.

Let’s start checking the dataset.

The dataset is there. The next objective is to copy the p2.output to a new list. I’ve issues the print command and I’ll terminate ISPF to see which list I’m copying to.

It looks like I’ll copy my data to Z30163.SPF2.LIST. I’ll exit this interface by choosing process option 4 which allows me to keep the new dataset.

I went back to my dataset utility and there it is! Z30163.SPF2.LIST! My baby! Welp. Now let us copy the data from p2.output to the SPF2.LIST. I’ll tab to SPF2.LIST and issue the co command which means copy. A new interface will pop-up, the copy entry panel.

Wait a minute! Am I copying the data from SPF2.LIST to p2.output? I’m kind of confused. Anyway, can’t complain, let’s perform the action Houston!

It appears I was wrong! Don’t worry… I’m used to it (sad smiley). Do it says senator Palpatine!

Aaand it’s copied! I’m now ready to complete challenge 3 of part 2. What I did might not look like much to you, but it actually took me two hours because I’m writing this blog and doing the challenge at the same time.

No idea why I’m making excuses, but I just did. If you’re angry or have mixed feelings about this then mail your complaints to

A word about bandwidth

Hey you! I bought the cheapest hosting package (about 99 cents a month) there is, so I’d appreciate it if you put your browser into data-saving mode when visiting my blog. KIDDING! No no, I’m very happy to have you here 🙂

If you got to this point then you’ll be the first to read about my next blogging idea. Ofcourse I’ll be blogging about challenge 3 and other challenges first but I’m in need of a new car and I’m broke.

So… I might build a crawler that complies to the site its robots.txt crawl-delay. The crawler will inform me whenever there is a new and interesting car available on the website. Maybe I could collaborate with my machine learning friends so they could apply NLP plus a classifier and detect when the listing is about a broken car, car parts or a new one.

If you’re interested, let me know!

PS: Guess I have something to fix every blog… hyperlinks now open in a new tab. Want to stay updated? Follow me on RSS or subscribe using your mail address.

Share this:

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: