Welcome to the Global Repository for Mainframe Developers!
Global Repository for Mainframe Developers (GRMD) is a hierarchy of repositories designed to help mainframe developers in their daily work. GRMD contains source codes, commands, and utilities with accompanying readme files.
GitHub Issues and GitHub Discussions
GitHub Issues and GitHub Discussions is a forum place where can ask questions, receive answers, add comments, get help, and speak up.
Contact us if you have questions, suggestions or just want to contact us!
- Email for direct communication: grmd@ibagroup.eu
- Contact Us form: https://ibagroupit.com/contact-us/
Navigation:
To navigate through the repository, use the sidebar with sections and wiki pages on the right side of the page. Alternatively, navigate through the GitHub repository with classic hierarchy of directories and files. There is also a list of content and related links at the bottom of this page.
License
GRMD repository is licensed under the Apache License, Version 2.0. Click LICENSE for the full license text.
Mainframe DevOps tutorial
Recently our team has been working closely on the processes of automating software development, testing and maintenance on mainframes. And we want to share the results with you. We hope they will help you to do DevOps on your mainframes.
Repository content:
Mainframe automation solutions and best practices (IN PROGRESS)
- Jenkins MF pipeline code example
- Jenkins plug-in solution (IBM z/OS Connector) for running JCL jobs and manage SCLM on mainframes
- Mainframe troubleshooting platform - APPULSE
- Jira
- Azure DevOps with MF (IN PROGRESS)
- Zigi
zOS DevOps scripts
- Shell script to run JCL jobs on the mainframe via ftp
- Shell script for datasets to transfer from UNIX to the mainframe via ftp
- Shell script to transfer changed sources in git to the mainframe via ftp
REXX scripts
- REXX script to change parameters values in a config file
- REXX script to replace substring in some members of the dataset
SMP/E
- How do I check if the APAR or the PTF installation?
- JCL job to create SMP/e zones environment and user datasets
- JCL job to customize SMP/e distribution zone environment
- JCL job to customize SMP/e global zone environment
- JCL job to customize SMP/e target zone environment
- JCL job to load PTF information into global zone and SMP/e datasets
- JCL job to install PTF in the SMP/e target libraries
- JCL job to install PTF in the SMP/e distribution libraries
- JCL job for rejecting PTF to clean up the global zone
- JCL job for restoring PTF to clean up the target zone
- Automated build PTF via JCL + REXX template (IN PROGRESS)
- What should I do if RECEIVE ends with RC=12?
HSM
- HSM dataset_level commands
- HSM system commands
- How do I restore datasets anywhere where HSM is working?
- How to migrate one or more data sets to migration volumes
RACF
ISPF
Batch jobs (JCLs)
- How to automate checking for normal completion of a job (counting the number of lines)?
- How do I create a Data Set or a Data Set member?
- How do I copy a Data Set or a Data Set member?
- How do I fill VSAM with records?
- How do I rename a Data Set in batch?
- How do I delete a Data Set or a Data Set member?
- How do I compress a Partitioned Data Set?
- How do I convert Partitioned Data Set PDS to Partitioned Data Set Extended PDSE and vice versa?
- How do I split a Sequential Data Set or PDS member?
- How do I copy first n records of Sequential Data Set or PDS member?
- How do I work with a Catalog?
- Replacing archaic JCL constructs
- Sample solution to transfer datasets from one system to another using XMIT and ADRDSSU
- JCL job template for evenly dividing the dataset into parts
Useful tricks
- How to transfer file from Windows to zOS with command line ftp
- How to include a library in the current LOGON session
- How to make IBM Java work for TEP file "tep.jnlp"
- How to pack or unpack a dataset with TERSE
- How do I automate the submission of a job at regular intervals?
- How do I dynamically authorize a library (APF)?
- How do I find out which data sets have used the most amount of space?
- How do I convert a hexadecimal date to a readable date on z/OS?
- How do I compare two data sets interactively?
- How do I use 3270 emulators with a larger screen size?
- How do I make some changes in each member of PDS?
- How do I copy data sets to other LPAR?
z/OS System operating
- z/OS network commands
- JES commands
- SDSF commands
- XMIT
- WLM (COMING SOON, STAY TUNED)
- IPL and its maintenance
- Omegamon for Storage
- Omegamon for DB2