IBM MTM: Part Two – Challenge #05

YES HELLO!

THIS CHALLENGE IS ABOUT JCL AND JCL IS UPPERCASE. I JUST READ THAT PEOPLE SHOULD BE ABLE TO COMPLETE PART 2 IN JUST ABOUT A WEEK… GULP! I’M ONLY AT PART 5 OUT OF 15…

I HAVE TO HURRY! ANYWAYS IT’S KIND OF IMPOSSIBLE AS THE POSTS ARE SCHEDULED PER 2 DAYS.

BY THE WAY, HOW HAVE YOU BEEN?

ON THE OTHERHAND, LET’S GO!

Challenge #05 – Job Control Language, JCL and the meaning of life inside a big iron

IBM Master the Mainframe Part Two – Challenge #05

Today marks the day that I first learnt something about JCL besides its existance. JCL is used to define jobs. I would like to explain JCL a bit more during this intro but I’m afraid IBM’s explanation will be a lot better than mine. If you’re interested you can view it at mybluemix.net. I will explain my actions throughout my blog though 🙂

First let’s get and select my partitioned data set with my ID as its name. This is done by issuing dslist ‘Z30163.jcl’.

Editing it will return a list of all available JCL documents. Now let’s select CH05JCL to view it.

Hmm, looks a bit messy! Let’s fix that! The reset primary commands hides the ==MSG> lines and hilite jcl, well… highlights the JCL code.

Execute order 66!

Now all the unwanted lines are removed and the code is highlighted. The challenge is to figure out what I should write instead of DDNAME. Let’s figure it out together shall we? Should be fairly easy!

First run the job and check what the error message is. That’s how I do it when I’m writing code at work 😉 Well… not exactly. I’m using a linter and can debug properly but hey, let’s continue.

submit, well submits the job. Then we state that we want it to jump to the SDSF status display.

Now where is JOB07618? Let’s select it…

Found it!

Now let’s check the STEP1 output to see what’s wrong.

Hmm, at the time of writing this I was well aware of the error. My javascript experience in undefined variables failed to notify me that SORTOUT should be defined. Instead of that I went looking for a data set name to replace DDNAME with.

My initial idea was to replace DDNAME with SPF2 as it was a data set. Lets try…

Executed…

SORTOUT still not defined. Holy cowboybelts! At this moment I realised what caused the issue of ‘SORTOUT NOT DEFINED’. It was not defined… Let’s define it!

I changed DDNAME to SORTOUT and executed the JCL job.

Let’s check JOB07698 its output.

YES! I DID IT! No more SORTOUT NOT DEFINED but a correct, wouldn’t say clean, job output.

Wow, this blogpost has a lot of screenshots… This challenge took me about 30 minutes and it would’ve been more if it weren’t for that sudden realisation.

Foot

That’s right, I just wrote ‘foot’. Not footer, not footnote… just foot. If you have an issue with this then express your feelings to idontlikefoot@kevindurant.be.

I AM STOKED! This challenge was really interesting and I feel like I’ve learnt a lot. I should’ve checked the IBM Knowledge Center about SORTOUT before analysing and digging for errors. Sometimes I forget about all the resources the internet offers… BAD!

It’s almost 11pm and I’m still writing a blog, I have to work tomorrow you know!

Take care and sleep tight!

Share this:

4 thoughts on “IBM MTM: Part Two – Challenge #05

  1. i’m also doing the challenge and was about ready to rip my hair out, but i found this blog and now i feel stupid. In all seriousness i enjoy this blog tho.

    1. Hello Anonymous

      I’m not sure to which issue you’re referring to.

      Yes, for (this) challenge #05 you have to replace ‘DDNAME‘ by ‘SORTOUT‘. See this image: https://kevindurant.be/wp-content/uploads/2018/09/p2-c5-12.png and observe the yellow text at line 000005.

      However if you’re talking about challenge #06, you have to change the member name to #06 and also change the SORT FIELDS its parameters. See https://kevindurant.be/2018/09/23/ibm-mtm-part-two-challenge-06/.

      Does this answer your question?
      -Kevin

Leave a Reply

Your email address will not be published.