Master the Mainframe – Last Final Challenge comment?

I’m sure that all theses details would be pretty tedious to anyone else. But again this isn’t really a blog meant to hold other peoples interest…it’s a log for me.

As I said in this post “I’ve technically finished the MTM course but as long as I still have access to z/OS I would still like to work on the final challenge using the zowe extensions in the VS Code editor”. To be honest I’m not even sure I really understood the goal of that project. So I set my own goals. Since there is no right answer, I’ll just have to satisfy myself.

To summarize some of the things said about the final challenge…

Good Luck! Remember, Part 3 is not a race. You have until December 31.

Your ch15(get) will be executed to view the various reports.

The final challenge has no correct or incorrect answer.

Quality can win over quantity

The system utility uses REXX and the SDSF interfaces to generate reports. Consider all SDSF Menu selections as the SDSF interfaces. [Below is the SDSF Menu]

System Information Utility

Information requested:

  1. Report specific message identifier found in SYSLOG
  2. Report from System Information, SYS
  3. Report string found in SYSLOG
  4. Report TSO logons
  5. Report specific ID successful TSO logon
  6. Report display command executions
  7. Report test Enter report number

Reports can be from any of the SDSF interfaces. [Note: “can be from any” NOT…do them all]

At least 1 report you write must demonstrate ability to parse SYSLOG records. [Confusing: are they implying I should do more than 1 report?]

Familiarity with z/OS Message Format is needed to demonstrate you ability to parse SYSLOG records and create a report. A review of Chapter 1. Introduction in the z/OS Messages and Codes professional manual is a description of the z/OS Message Format and the records found in the SYSLOG.

You have the freedom to do what you want. The judges are looking for technical acumen applied to z/OS. Impress the judges with your best reports that show your acquired z/OS knowledge.

I assume part of the challenge involved understanding it. And while the instructions may have seemed perfectly clear to them they might not be to everyone.

Or perhaps parts were purposely left ambiguous to see how a student might react and interpret the problem.

In any job I have had there are ALWAYS times I may need to talk to a boss to clarify unclear instructions, to me.

So basically the way I attacked the challenge was to display “undefined” to menu items 4-6.
The 1st three had some code behind them, #7 was left open…hence my added “test”

The Main thing I wanted out of the challenge was…
1) to be able to paste a large amount of code, generated by Python, into The REXX code.

I figured out how to paste one screen full, but that’s too tedious for 400+ lines. So my plan to use the ZOWE extension in VS Code worked very well. I had a few responses in the Slack group that implied I could paste, which like I said I already found I could, however I doubt that you could paste more than a screen full of data into the ISPF editor, because Linux’s clipboard mechanism isn’t the same as ISPF’s.

I got my program to do maybe 80% of what I wanted, the finishing touches is just basic coding/debugging. Which I know I could do but why bother with the last 20% for a project that I’ve already received credit for and no one will review? IMHO the final challenge was meant mostly for the original intent of the course…for younger students to finish off 2019.

For me it was a good learning experience using VS Code and the superior, at least for me, development tools on Linux, augmented with something I was more familiar with…Python.

Linux Mint Mate 19.3 problem

I installed on my mom’s older computer. It’s mostly been working fine. However have been having an annoying Window focus problem. I think I’m on a window but I’m not, I click the Windows top bar to get focus without success. Frequently I have to click it’s tab on the bottom bar to bring forward and cause it to get focus.

Burlington Coat Factory

Speaking of forward thinking, I frequently think of Burlington as a early Linux adopter. I must be the only one because I don’t think I’ve ever heard it mentioned through the years. Here’s an article from 1999 talking about Burlington getting Red Hat servers. I’d be interested if they continued through the years using it.

Munich and Linux

Many years ago it seems like Munich was forward thinking and was way ahead of the curve in their desire to adopt Linux. They even developed their own distro called LiMux, which might not have been the best idea. Then around 2017 they decided to go back to MS-Windows. Now it seems they’ve decided to go back to Linux again. So instead of appearing tech savvy, it almost sounds like the initial decision to go Linux was made by a fan-boy who didn’t fully describe the challenges to management, that were ahead. Today the decision seems much less risky and obvious.

Master the Mainframe…slight frustration.

While attempting to connect today I received a timeout. So I checked the Slack System_Status channel and nothing reported. I also checked connection_issues…nothing reported. I tried again…same problem. Finally rechecked connection_issues and someone reported the timeout. The response was something like it was Upgrade Sunday. Doesn’t Slack have a stick lead page feature (or whatever it’s called) like WordPress where things like this can be posted? And if not it should. For example my WordPress blog always begins with a About my blog page describing how it came to be. Even if it doesn’t have this feature is it really so hard to post System will be down for a few hours message? Like I said it’s just a slight frustration which has happened before. So I had already decided to wait at least an hour before trying again. If the problem still existed and no one reported a problem then I would have assumed it was an issue unique to me and reported it. Also and this is just me, but I would assume many people who work would find the weekend a good time to get things done. But this is coming from a guy who worked at a bank where downtime was frowned upon, especially during the day. So I usually had a small window in Sunday early AM to attempt upgrades.

In the grand scheme of things it’s a small price for me to pay for z/OS access.

Suprising?…No!

Microsoft-Connected CloudGuru Doesn’t Care About GNU/Linux and Now It’s Gradually Killing the BSD/Linux-Centric Jupiter Broadcasting (Bought by Linux Academy)

WTH? Does Microsoft think they change my computing philosophy and lure me back to them? Lol…Right! When I say me I mean people like me, because obviously I’m of no importance to them. These kind of things only go to show their true colors. IBM on the other hand seems to have genuinely embraced Linux. Having just joined the Linux Academy right before CloudGuru bought them, I have silently watched, wondering what would happen. Personally…for me the Linux in Linux Academy was important. That’s why I joined! While the Cloud is probably important, for me…the Cloud in CloudGuru is only important after Linux!

Master the Mainframe and Python

Well as I expected being able to edit my z/OS mainframe programs with VS Code makes things much easier. Don’t get me wrong doing it the traditional harder way on a 3270 screen is good to know. When I was punching cards, I would have killed for ISPF on a 3270. Anyhoo…

I didn’t want to manually type a similar set of many lines into REXX. My goal is to create a REXX, 2 dimensional table, so I’m generating many (400+) lines of REXX code from Python. Being able to paste these lines into my REXX program is a huge help. Add to the fact that there is still much about REXX syntax that I don’t know and you can see that pasting isn’t a one time thing. For example I needed to insert a long string into a variable. Not surprisingly I couldn’t do something like this

v=”1…….10……..20……..30……..40……..50……..60……..70…….80……..90…….100…….110…….120″

So I google and I read you need to continue lines with a comma. So I try…

v=”1…….10……..20……..30……..40……..50……..60 ,

……..70…….80……..90…….100…….110…….120″

Nope. How about…

v=”1…….10……..20……..30……..40……..50……..60″ ,

“……..70…….80……..90…….100…….110…….120”

Again…no! Followed by a few more tries. Until I see an example like this…

v=”1…….10……..20……..30……..40……..50……..60″ , ||
“……..70…….80……..90…….100…….110…….120”

In hindsight it makes sense. I’ve seen “||” used for concatenation before. So all these iterations required a change in my Python program followed by a rerun, followed by a paste/replace into my REXX code!

If I was better at REXX I could have generated REXX code with REXX. However the data was still coming from a web page in ASCII. So I still think Python was the better tool in this case!

enscript with greenbar output

The following commands are taken from a link Professor Rene’ Ferland’s pointed to on his website.

enscript –font=Courier-Bold@8 -l -H3 -r –margins=25:25:40:40 -p cobol01.ps cobol01.cob

ps2pdf cobol01.ps cobol01.pdf

The professor’s script used Ghostscript rather than ps2pdf.

The above 2 commands can be combined into one.

enscript –font=Courier-Bold@8 -l -H3 -r –margins=25:25:40:40 -p – cobol01.cob | ps2pdf – cobol01.pdf

For my use I used Python to execute the commands because I am more familiar with Python and found it easier and more straight forward to do what I wanted, that someone with more Bash experience probably could do. Specifically I wanted to do some string manipulation and it seemed like Bash would frequently use yet another utility to do the work to accomplish what I could easier in Python.


To get the colored bars you need to modify the “rgb setrgbcolor” line in the Highlight bars section in enscript’s enscript.pro file in it’s installed directory. In my case it’s in /usr/bin/enscript/.

A Comparison…

Enscript program
My program

Well my programs also has the holes. However being that enscript is a easily installed Linux program, I wouldn’t have gone through the trouble of writing my program if I was aware of this. The enscript method certainly conveys the mainframe feel. I believe the shade of green difference came from me scanning one of my old listings, then using the eyedropper in gimp to detect the color. One thing I especially like about my program is my easily added command line switch that will print bluebar instead of greenbar.

Greenbar and enscript

I asked a question about a YouTube video I watched “Using Cobol and VSAM on DOS/VSE – M174” concerning greenbar listings shown, and Professor René Ferland, the video author, responded that it was created using his script that uses enscript. I’ve never even heard about this program or the Adobe program it’s based on, and certainly want to check it out.