Hacker News new | ask | show | jobs
by Smoosh 968 days ago
Part 2:

Not sure if I mentioned it, but files on the mainframe are usually called datasets. [lots of generalising and simplification follows]. There are different types, the most common are now sequential files, indexed sequential (VSAM) files and libraries (formerly partitioned datasets).

The datasets are mostly allocated on a per user basis. The name is made up of segments of up to 8 characters, for example, SMOOSH.USER.COBOL might be my COBOL library. And I would create a file SMOOSH.PROJECT1.INPUt.FILE to feed to a program which would output SMOOSH.PROJECT1.NEW.DATA. Apart from the first level, the naming is usually free-form, but there are site conventions. Access is controlled by the RACF system software.

Now to try to more directly answer your question. I open my terminal program. I would login to TSO and invoke ISPF where I will spend the rest of my day. I go top option 2 = edit. And put in the name of the file I wish to edit. In this case, SMOOSH.USER.JCL(MYJOB). The part in brackets is the member name - library datasets have members. I’m in edit mode where I make some minor changes to the JCL then from within edit I use the SUBMIT command to submit the current file for immediate batch execution. I then swap to another logical screen in ISPF and use the SDSF utility to check the job is on the input queue. It isn’t because it has already finished, so I check the output queue. The job listed there along with other recent jobs I have run. I select it and view the job log and output messages. Everything looks good, so I jump to ISPF option 1 (browse) and enter the name of the output file. I press enter and get a scrollable full-screen (text) viewer to check the file. Since it is good I want to run the job again tonight using a different input file. I jump to the scheduler system software option. This is IWS (IBM Workload Scheduler) but Control-M is popular too. Using the screens there I set up a schedule to have it submit the job at a specified time tonight - the equivalent of cron. There are many other options though for stringing together multiple Jon’s in one run, the have dependencies and waits and check return codes before proceeding.

I don’t know if this has helped or just confused you. I would make an instructional video, but my employer wouldn’t allow it. I’d better stop now and go to bed. I’ll not well, and the iPad is autocorrecting me so much that this probably doesn’t make sense.

1 comments

Whoa! That's way more information than I'd even hoped for! Thank you very much for a peek into a world I know next to nothing about.

I confess: my first impression is that it sounds painful. From a Unixy point of view, it seems like a heavy layer on top of some processes that just pipe information around in a needlessly complex way. I also admit this is due to my own ignorance of the matter. Lots of huge shops like what you're describing, so I'm sure there's something to it.

I know I'm not the first person to say this, but I really wish there were a way I could play with a modern system without investing lots of money or time into the experience. I don't know what I'm missing, and I'd like to find out.

Hope you feel better soon!