IBM MTM: Part Two – Challenge #04

Well hello there person!

It’s funny to think that this blog actually exposes who I really am more my Facebook profile does isn’t it? I think I’ve posted a total of 3 facebook statuses in the last three, maybe four, years. That’s great!

SDSF – System Display and Search Facility: the movie

IBM Master the Mainframe Part Two – Challenge #04

I have to admit, I had to watch the lecture 9 video a few times before being able to fully understand what SDSF can do and how to work with it.

In Challenge #04 I’ll learn how to submit some JCL to execute a job. Review its output and write that output to P2.OUTPUT. Now, let’s blast some Stephan Bodzin through my speakers and get on with the challenge!

First let’s open the SDSF by using the sd command in the main menu.

SDSF Editor

Now I’m about to apply a filter which only displays every item owned by my ID.

owner z30163 tells the system to limit the jobs by owner. prefix tells the system to filter jobs by name. st instructs to display the ST panel so we can view the statusses of all entries.

‘owner z30163; prefix; st’ result

Now IBM tells me to just submit a job, so let’s go ahead and do that.

Done! In the command line you can see the code to execute the job. Further down the screen I had to enter b as the jobname and pressed enter to execute the job. Those three asterisks means that the system is waiting for me to press enter so it could continue.

Oof, I pressed enter and it went wrong? Let’s see. Oh wait… nevermind! The interface just doesn’t refresh. I entered the owner z30163; prefix; st command again to refresh.

Oh, was reading the next instructions and they explicitly said that you will need to refresh. Sometimes I’m just too impatient, guilty as charged!

Job output.

I’ve typed 3 in the command bar so I can quit the output view and return back to the previous menu. Well I thought that would work and it didn’t. Used f3 and it put me straight back to the menu.

The challenge

I need to write this JESMSGLG output to my P2.OUPUT dataset. This process is almost trivial to the last challenge, it’s just a bit easier because of the SDSF.

First print the JESMSGLG output. xdc is used to store the spool information into a dataset. It will open a SDSF Open Print Data Set menu.

Now we get to see the Open Print Data Set menu.

Now we need to fill in to which data set we wish to print the output to and which member we want to use. The SHR disposition specifies that the data set exists before this step. Other jobs can share the dataset and use it at the same time, think of SHR as SHARE.

Let’s go ahead and initiate the copying.

It’s hard to spot but in the upper right corner it says PRINT CLOSED so that means the data is copied! Hooray! I’ve entered return to return to the ISPF primary menu.

Now I’m ready to continue to Challenge #05! I have to admit one thing. For what is was, the challenge looked a lot more scary than it was in reality.

I’ve just checked challenge #05 and again it looks more challenging that #04. I guess I’ll study it a bit first and then report back 🙂

Programming on a Sunday

It feels weird. Sometimes it feels like I’m at my job but actually doing my own thing. I’m as exhausted as I would be after a day of hard work.

I know, this blog is probably released on a wednesday but I wrote it on a sunday. Are you upset about this? Mail your opinion to!

What are you working on? Do you also code in your free time?

Share this:

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: