Transferring source files to/from MVS

Since I like to develop MVS programs locally (on Linux)…for my purposes I find it easier to use a IBM utilitiy to move PDS members to/from the mainframe. As a former VM/VSE systems programmer with no great desire to be a MVS systems programmer, this might be a good way to run jobs on a handicapped system as it doesn’t rely on FTP and hence networking to be up. You could still submit/run jobs if VTAM and/or TSO was down. You could retrieve important configuration files from MVS, make needed changes. then submit them to MVS.

Getting MVS PDS members to my local host

I use IEBPTPCH to punch PDS members to my local Hercules punch subdirectory, where I can retrieve them. Use the “MEMBER NAME=name” parameter of IEBPTPCH for a specific member…or omit it for ALL members. Hercules punches these files to /pch/pch00d.txt. If you request ALL members (by omitting the “MEMBER NAME=name” parameter) then each member is prefixed with MEMBER NAME name. Otherwise it punches a individual member without a leading, MEMBER NAME name.

In keeping with my Python parsejob program, I wrote a another PYTHON program that parses these members out individually. Unlike some text editors it doesn’t choke on “special characters”! Because it opens the punch file read only, using it also helps you avoid the possibility of inadvertently changing and hence corrupting the punch file

Copying my local host source files to a MVS PDS

I use IEBUPDTE to copy local source files to a MVS PDS…if desired The DD JCL statement defines the PDS, the IEBUPDTE parameters would look something like this:

//SYSPRINT DD SYSOUT=*
//SYSIN DD DATA
./ ADD LIST=ALL,NAME=SORT01
followed by the source file
and ending with…
./ ENDUP