IBM MTM 2019: Part Three – Challenge #01


Let’s begin solving part three its challenges.

But first, I’ll give you a heads-up on what I’m going to do. Last year I wasn’t allowed to release the answers to part three. I asked the new manager (Misty Decker) about any rules regarding blogs but I have yet to get a reply. So, I’ll just give clear instructions on the easy challenges and no answers to the harder challenges. If there’s anything IBM wishes me to censor then please contact me using an official IBM mail address or via Slack.

Getting Started

IBM Master the Mainframe Part Three – Challenge #01

How to get started

For starters we’ll issue the primary command tso sub ‘zos.public.jcl(part3)’ from the ISPF Primary Option menu to allocate the part 3 data sets.

I have submitted the command and chose the jobname character ‘a’.

Exposure to REXX, the z/OS all purpose scripting language

REXX is cool. Seriously. Our first assignment is to edit Z#####.REXX and create a new member hello using the primary command s. After that we’ll copy ‘zos.mtm2019.public.rexx(hello)’ into our new member.

Now I have this.

I have copied it. The script displays basic capabilities of string concatenation at line 16 (in comment), basic usage of arrays from line 9 to line 11, disk read and write and finally some say commands to display information to the screen.

Execute modified REXX

First we need to modify the REXX script.

  1. Change lines 9, 10, and 11 to be comments
  2. Change lines 13, 14, 15, and 16 to execute – remove comment markers

Now all that’s left to do is execute this script. We can do so by going back to the dslist and entering line command ex from execute next to the member name hello.

I pressed enter and in the lower part of my screen it said hello. The script works!

Normally this output should now be in P3.OUTPUT(#01). Let’s check to see if we completed challenge 01 of part 3.

AHA! I have it! We have completed the challenge!

10 thoughts on “IBM MTM 2019: Part Three – Challenge #01

  1. Hi Kevin, I just started on Challenge 1, and I’m on the part where you have to delete the SOURCE, LOAD, P3OUTPUT, and REXX data sets, and recreate them again, and I was wondering if recreating them is necessary or not since you skipped that portion??

    I’ve never had to create a data set from scratch before as far as I can remember (the sets in the previous challenges were pre-made from what I can tell), so I’m wondering if this is the right way to create one from scratch: click on the U of the Utilities at the top of the screen, type in and enter 2 to go to the data set utility screen, type in A on the command line, and then tab to name and type in a name for the data set. Is that the right way to create a data set??

    Sorry for the giant wall of text, but any help is much appreciated.

    1. Hi Shirley

      No worries regarding the wall of text, I’ve sent you the invoice by mail.

      Maybe you are confused about the part with the command: tso sub ‘zos.public.jcl(part3)’? This command deletes LOAD, P3.OUTPUT, REXX and SOURCE if present. And the same command creates them if they aren’t there.

      You’re probably mistaking the explanation of the command as a task? Instead of just a piece of information.

      It’s not you who needs to create or delete these, it’s the command. And you only need to run this once, else you lose all progress of part 3.

      Kind regards,
      – Kevin

      1. Thanks for the reply Kevin, I was originally reading from the Master the Mainframe instructions before coming here, and I just realized that the tso command would indeed delete and recreate those four data sets; definitely an error on my part, but thanks again for reply. Much appreciated.

  2. hi kevin,

    while submitting the challenge 1 tso sub ‘zos.public.jcl(part3)’ it is giving that jcl error.
    could you please resolve that.

    thank you.

    1. Hi Mig

      I hope to start blogging soon again! Part 3 will release slower because of work and other obligations. Goodluck with the rest of the challenges 🙂

      Kind regards,
      – Kevin

  3. No Kevin. You got the wrong answer! Please click the last twisty.
    The objective is to write userid, date, and time on a single line!!! Please read carefully.
    Its tricky. You missed the last instruction.

Leave a Reply to kevindurant Cancel reply

Your email address will not be published. Name, email and website not required.