├── .github ├── buildkitd.toml └── workflows │ ├── release.yml │ └── sysgen.yml ├── .gitignore ├── Docker ├── Dockerfile ├── Dockerfile.latest └── mvs.sh ├── README.md ├── SCRIPTS ├── SHUTDOWN.RC ├── pjes2 ├── poweroff ├── quiesce └── zeod ├── conf ├── herclogo.template ├── local.cnf ├── local │ └── custom.cnf └── mvsce.rc ├── dasd └── syscpk.3350 ├── documentation ├── GC26-3792-8_OS_VS2_System_Generation_Reference_Release_3.8_Oct80.pdf ├── SMP_Tutorial.pdf └── mvs38bas.pdf ├── gz ├── SYSCPK.tar.gz ├── mvsInstallationResources.tar.gz ├── readme.md ├── vs2DistributionTapes.tar.gz └── vs2StarterTapes.tar.gz ├── hercules.cnf ├── jcl ├── ZP60041.jcl ├── brexx.jcl ├── date.jcl ├── fdz1d02.jcl ├── finalize.jcl ├── ispf.jcl ├── mvs00.jcl ├── mvs01.jcl ├── mvs02.jcl ├── null.jcl ├── smp4p44.jcl ├── smpjob00.jcl ├── smpjob01.jcl ├── smpjob02.jcl ├── smpjob03.jcl ├── smpjob04.jcl ├── smpjob05.jcl ├── smpjob06.jcl ├── smpjob07.jcl ├── smpmount.jcl ├── stage2.jcl ├── sysgen00.jcl ├── sysgen01.jcl ├── sysgen02.jcl ├── sysgen03.jcl ├── sysgen04.jcl ├── sysgen05.jcl ├── sysgen05a.jcl.template ├── sysgen06.jcl └── vtoc.jcl ├── profiles.conf ├── sajobs ├── README.md ├── inspool0.sajob ├── instart1.sajob ├── rsspool0.sajob └── rsstart1.sajob ├── screenshots ├── 01_netsol.png ├── 02_wISPF.png ├── 03_batch.png ├── 04_MVP.png ├── 05_UTILITIES.png └── 06_ISRDDN_DALCDS.png ├── sysgen.conf ├── sysgen.py ├── tape ├── README.md ├── apvtmacs.het ├── dz1d02.het ├── j90009.het ├── ptfs.het ├── rpf184.het ├── smp4b.het ├── stage1.het ├── vs2DistributionTapes.md5sums ├── vs2spool.het ├── vs2start.het ├── vs2starter.md5sums └── zdlib1.het ├── usermods ├── AY12275.jcl ├── DYNPROC.jcl ├── JLM0001.jcl ├── JLM0002.jcl ├── JLM0003.jcl ├── JLM0004.jcl ├── SLB0002.jcl ├── SYZJ2001.jcl ├── SYZM001.jcl ├── TIST801.jcl ├── TJES801.jcl ├── TMVS804.jcl ├── TMVS816.jcl ├── TNIP800.jcl ├── TTSO801.jcl ├── UZ61025.jcl ├── VS49603.jcl ├── WM00017.jcl ├── ZP60001.jcl ├── ZP60002.jcl ├── ZP60003.jcl ├── ZP60004.jcl ├── ZP60005.jcl ├── ZP60006.jcl ├── ZP60007.jcl ├── ZP60008.jcl ├── ZP60009.jcl ├── ZP60011.jcl ├── ZP60012.jcl ├── ZP60013.jcl ├── ZP60014.jcl ├── ZP60015.jcl ├── ZP60016.jcl ├── ZP60017.jcl ├── ZP60018.jcl ├── ZP60019.jcl ├── ZP60020.jcl ├── ZP60021.jcl ├── ZP60022.jcl ├── ZP60025.jcl ├── ZP60026.jcl ├── ZP60027.jcl ├── ZP60028.jcl ├── ZP60029.jcl ├── ZP60030.jcl ├── ZP60031.jcl ├── ZP60032.jcl ├── ZP60033.jcl ├── ZP60034.jcl ├── ZP60035.jcl ├── ZP60036.jcl ├── ZP60037.jcl ├── ZP60038.jcl ├── ZP60039.jcl ├── ZP60041.jcl ├── ZUM0007.jcl └── ZUM0008.jcl ├── users.conf └── xmi ├── brexx.xmi └── readme.md /.github/buildkitd.toml: -------------------------------------------------------------------------------- 1 | # .github/buildkitd.toml 2 | [worker.oci] 3 | max-parallelism = 4 -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | 2 | name: MVS/CE Sysgen Release 3 | 4 | on: 5 | push: 6 | tags: 7 | - "v*" 8 | workflow_dispatch: 9 | jobs: 10 | # Sysgen 11 | mvsce-sysgen: 12 | name: MVS 3.8j System Generation Release 13 | runs-on: [ubuntu-latest] 14 | #timeout-minutes: 70 15 | container: 16 | image: mainframed767/hercules:4.7.0 17 | options: --user root 18 | steps: 19 | 20 | - name: Checkout 21 | uses: actions/checkout@v4 22 | 23 | - name: Move MVS/CE sysgen 24 | run: | 25 | mkdir -p /mvsce/ 26 | mv * /mvsce/ 27 | shell: bash 28 | 29 | - name: Set up Python 3 30 | run: | 31 | apt-get update 32 | apt-get -yq install --no-install-recommends python3 python3-pip git 33 | 34 | - name: Get git tag 35 | id: tag 36 | uses: dawidd6/action-get-tag@v1 37 | 38 | - name: Running sysgen.py 39 | id: sysgen 40 | working-directory: /mvsce 41 | run: until ./sysgen.py --release --timeout 500 --version ${{steps.tag.outputs.tag}} --CONTINUE; do echo "Failed, rerunning"; done 42 | 43 | - uses: "marvinpinto/action-automatic-releases@latest" 44 | with: 45 | repo_token: "${{ secrets.GITHUB_TOKEN }}" 46 | # automatic_release_tag: ${{ github.event.release.tag_name }} 47 | prerelease: false 48 | title: "MVS/CE Sysgen" 49 | files: | 50 | /mvsce/MVSCE/README.md 51 | /mvsce/MVSCE.release.*.tar 52 | 53 | - name: Move MVS/CE TAR file 54 | run: | 55 | mv /mvsce/MVSCE.release.*.tar /mvsce/MVSCE.release.tar 56 | shell: bash 57 | 58 | - name: Upload MVS/CE TAR file 59 | uses: actions/upload-artifact@v4 60 | with: 61 | name: MVSCE 62 | path: /mvsce/MVSCE.release.tar 63 | 64 | 65 | mvsce-docker: 66 | needs: mvsce-sysgen 67 | name: MVS/CE Cross Platform Docker Upload 68 | runs-on: [ubuntu-latest] 69 | steps: 70 | - name: Checkout 71 | uses: actions/checkout@v4 72 | with: 73 | sparse-checkout: | 74 | Docker 75 | - name: Download MVS/CE Tar File 76 | uses: actions/download-artifact@v4 77 | with: 78 | name: MVSCE 79 | path: . 80 | - name: Set up QEMU 81 | uses: docker/setup-qemu-action@v3 82 | - name: Set up Docker Buildx 83 | uses: docker/setup-buildx-action@v3 84 | - name: Login to Docker Hub 85 | uses: docker/login-action@v3 86 | with: 87 | username: ${{ secrets.DOCKERHUB_USERNAME }} 88 | password: ${{ secrets.DOCKERHUB_TOKEN }} 89 | - name: Update Release Version 90 | run: | 91 | VERSION=${GITHUB_REF_NAME#v} 92 | echo Version: $VERSION 93 | echo "VERSION=$VERSION" >> $GITHUB_ENV 94 | - name: Build and push 95 | uses: docker/build-push-action@v5 96 | with: 97 | file: Docker/Dockerfile 98 | context: . 99 | platforms: linux/amd64,linux/arm64 100 | push: true 101 | tags: mainframed767/mvsce:${{ env.VERSION }} 102 | -------------------------------------------------------------------------------- /.github/workflows/sysgen.yml: -------------------------------------------------------------------------------- 1 | 2 | name: MVS/CE Sysgen 3 | 4 | on: 5 | push: 6 | branches: 7 | - main 8 | pull_request: 9 | branches: 10 | - main 11 | workflow_dispatch: 12 | jobs: 13 | # Sysgen 14 | mvsce-sysgen: 15 | name: MVS 3.8j System Generation 16 | runs-on: [ubuntu-latest] 17 | #timeout-minutes: 70 18 | container: 19 | image: mainframed767/hercules:4.7.0 20 | options: --user root 21 | steps: 22 | 23 | - name: Checkout 24 | uses: actions/checkout@v4 25 | 26 | - name: Move MVS/CE sysgen 27 | run: | 28 | mkdir -p /mvsce/ 29 | mv * /mvsce/ 30 | touch /mvsce/MVSCE.release.tar 31 | shell: bash 32 | 33 | - name: Set up Python 3 34 | run: | 35 | apt-get update 36 | apt-get -yq install --no-install-recommends python3 python3-pip git 37 | 38 | - name: Building MVS/CE 39 | id: sysgen 40 | working-directory: /mvsce 41 | run: until ./sysgen.py --release --timeout 500 --version ${GITHUB_SHA} --CONTINUE; do echo "Failed, rerunning"; done 42 | 43 | - uses: "marvinpinto/action-automatic-releases@latest" 44 | with: 45 | repo_token: "${{ secrets.GITHUB_TOKEN }}" 46 | automatic_release_tag: "latest" 47 | prerelease: true 48 | title: "Latest MVS/CE Sysgen Build" 49 | files: | 50 | /mvsce/MVSCE/README.md 51 | /mvsce/MVSCE.release.*.tar 52 | - name: Move MVS/CE TAR file 53 | run: | 54 | mv /mvsce/MVSCE.release.*.tar /mvsce/MVSCE.release.tar 55 | shell: bash 56 | 57 | - name: Upload MVS/CE TAR file 58 | uses: actions/upload-artifact@v4 59 | with: 60 | name: MVSCE 61 | path: /mvsce/MVSCE.release.tar 62 | 63 | mvsce-docker: 64 | needs: mvsce-sysgen 65 | name: MVS/CE Cross Platform Docker Upload 66 | runs-on: [ubuntu-latest] 67 | steps: 68 | - name: Checkout 69 | uses: actions/checkout@v4 70 | with: 71 | sparse-checkout: | 72 | Docker 73 | - name: Download MVS/CE Tar File 74 | uses: actions/download-artifact@v4 75 | with: 76 | name: MVSCE 77 | path: . 78 | - name: Set up QEMU 79 | uses: docker/setup-qemu-action@v3 80 | - name: Set up Docker Buildx 81 | uses: docker/setup-buildx-action@v3 82 | - name: Login to Docker Hub 83 | uses: docker/login-action@v3 84 | with: 85 | username: ${{ secrets.DOCKERHUB_USERNAME }} 86 | password: ${{ secrets.DOCKERHUB_TOKEN }} 87 | - name: Build and push 88 | uses: docker/build-push-action@v5 89 | with: 90 | file: Docker/Dockerfile.latest 91 | context: . 92 | platforms: linux/amd64,linux/arm64,linux/s390x,linux/riscv64 93 | push: true 94 | tags: mainframed767/mvsce:latest 95 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | MVSCE/ 2 | *.tar 3 | backup/ 4 | temp/ 5 | start_mvs.sh 6 | release/ 7 | sysgen/herclogo.txt 8 | sysgen.log 9 | build/ 10 | .step 11 | MVP/ 12 | MVP 13 | p*.txt 14 | tape/stage1.het 15 | -------------------------------------------------------------------------------- /Docker/Dockerfile: -------------------------------------------------------------------------------- 1 | ## Docker File for MVS/CE 2 | # This docker file is for use in github actions 3 | # To build this container yourself use https://github.com/mvs-sysgen/docker-mvsce 4 | FROM mainframed767/hercules:4.7.0 5 | WORKDIR / 6 | USER root 7 | ADD MVSCE.release.tar / 8 | COPY Docker/mvs.sh / 9 | RUN apt-get update && apt-get -yq install --no-install-recommends socat ca-certificates openssl python3 netbase git && apt-get clean && chmod +x /mvs.sh 10 | VOLUME ["/config","/dasd","/printers","/punchcards","/logs", "/certs"] 11 | EXPOSE 3221 3223 3270 3505 3506 8888 12 | ENTRYPOINT ["./mvs.sh"] 13 | -------------------------------------------------------------------------------- /Docker/Dockerfile.latest: -------------------------------------------------------------------------------- 1 | ## Docker File for MVS/CE 2 | # This docker file is for use in github actions 3 | # To build this container yourself use https://github.com/mvs-sysgen/docker-mvsce 4 | FROM mainframed767/hercules:latest 5 | WORKDIR / 6 | USER root 7 | ADD MVSCE.release.tar / 8 | COPY Docker/mvs.sh / 9 | RUN apt-get update && apt-get -yq install --no-install-recommends socat ca-certificates openssl python3 netbase git && apt-get clean && chmod +x /mvs.sh 10 | VOLUME ["/config","/dasd","/printers","/punchcards","/logs", "/certs"] 11 | EXPOSE 3221 3223 3270 3505 3506 8888 12 | ENTRYPOINT ["./mvs.sh"] 13 | -------------------------------------------------------------------------------- /Docker/mvs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This script will copy the config file, edit it and move dasd 3 | # to the /config and /dasd volume if they don't already exist 4 | # Then it will boot MVS/CE 5 | 6 | # Does the hercules config file exist? 7 | # If not, copy the config from MVS/CE 8 | # and replace the folder location with 9 | # volume names 10 | if [ ! -f /config/local.cnf ]; then 11 | echo "[*] /config/local.cnf does not exist... generating" 12 | sed 's_DASD/_/dasd/_g' MVSCE/conf/local.cnf > /config/local.cnf 13 | sed -i 's_punchcards/_/punchcards/_g' /config/local.cnf 14 | sed -i 's_printers/_/printers/_g' /config/local.cnf 15 | sed -i 's_mvslog.txt_/logs/mvslog.txt_g' /config/local.cnf 16 | sed -i 's_localhost_0.0.0.0_g' /config/local.cnf 17 | sed -i 's_localhost_0.0.0.0_g' /config/local.cnf 18 | sed -i 's_conf/local/_/config/local/_g' /config/local.cnf 19 | echo "" >> /config/local.cnf 20 | echo "#################################" >> /config/local.cnf 21 | echo "# Adding HTTP server for Docker" >> /config/local.cnf 22 | echo 'HTTP PORT 8888 AUTH ${HUSER:=hercules} ${HPASS:=hercules}' >> /config/local.cnf 23 | echo "HTTP START" >> /config/local.cnf 24 | fi 25 | 26 | if [ ! -f /config/local/custom.cnf ]; then 27 | echo "[*] /config/local/custom.cnf does not exist... generating" 28 | mkdir -p /config/local/ 29 | sed 's_conf/local/_/config/local/_g' MVSCE/conf/local/custom.cnf > /config/local/custom.cnf 30 | fi 31 | 32 | for conf in MVSCE/conf/local/*; do 33 | if cmp -s "$conf" "/config/local/$(basename $conf)" ; then 34 | echo "[*] /config/local/$(basename $conf) no changes" 35 | else 36 | # Check which file is newer 37 | if [ "$conf" -nt "/config/local/$(basename $conf)" ]; then 38 | # backup the previous config if it exists 39 | cp "/config/local/$(basename $conf)" "/config/local/$(basename $conf).bak" 2>/dev/null 40 | cp "$conf" "/config/local/$(basename $conf)" 41 | sed 's_conf/local/_/config/local/_g' -i "/config/local/$(basename $conf)" 42 | # check to make sure the config exists in custom.cnf 43 | if $(grep -L "/config/local/$(basename $conf)" /config/local/custom.cnf) ; then 44 | # if not then we add it 45 | echo "INCLUDE /config/local/$(basename $conf)" >> /config/local/custom.cnf 46 | fi 47 | fi 48 | fi 49 | done 50 | 51 | 52 | 53 | for disk in MVSCE/DASD/*; do 54 | if [ ! -f /dasd/$(basename $disk) ]; then 55 | echo "[*] Copying $disk" 56 | cp -v $disk /dasd/ 57 | fi 58 | done 59 | 60 | if [ ! -f /certs/ftp.pem ]; then 61 | echo "[*] /certs/ftp.pem does not exist... generating" 62 | openssl req -x509 -nodes -days 365 \ 63 | -subj "/C=CA/ST=QC/O=FTPD Inc/CN=hercules.ftp" \ 64 | -newkey rsa:2048 -keyout /certs/ftp.key \ 65 | -out /certs/ftp.crt 66 | cat /certs/ftp.key /certs/ftp.crt > /certs/ftp.pem 67 | 68 | fi 69 | 70 | 71 | if [ ! -f /certs/3270.pem ]; then 72 | echo "[*] /certs/3270.pem does not exist... generating" 73 | openssl req -x509 -nodes -days 365 \ 74 | -subj "/C=CA/ST=QC/O=TN3270 Inc/CN=hercules.3270" \ 75 | -newkey rsa:2048 -keyout /certs/3270.key \ 76 | -out /certs/3270.crt 77 | cat /certs/3270.key /certs/3270.crt > /certs/3270.pem 78 | 79 | fi 80 | 81 | echo "[*] Starting encrypted FTP listener on port 3221" 82 | ( socat openssl-listen:3221,cert=/certs/ftp.pem,verify=0,reuseaddr,fork tcp4:127.0.0.1:2121 ) & 83 | echo "[*] Starting encrypted TN3270 listener on port 3223" 84 | ( socat openssl-listen:3223,cert=/certs/3270.pem,verify=0,reuseaddr,fork tcp4:127.0.0.1:3270 ) & 85 | 86 | cd MVSCE 87 | echo "[*] Starting Hercules" 88 | hercules -f /config/local.cnf -r conf/mvsce.rc --daemon > /logs/hercules.log -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MVS Community Edition Sysgen 2 | 3 | ![NETSOL](/screenshots/01_netsol.png) 4 | 5 | To use this version of MVS you can download the current release and run `bash start_mvs.sh`. 6 | 7 | Requirements: 8 | 9 | - Linux 10 | - hercules SDL >= 4.5 (see below how to build SDL Hercules) 11 | - python3 12 | - git 13 | - tar 14 | 15 | The following is also recommended: 16 | 17 | - c3270/x3270 18 | - ncat 19 | 20 | ## Running 21 | 22 | Go to https://github.com/MVS-sysgen/sysgen/releases and download the latest release. 23 | Tagged versions are official releases, latest is automatically built after every 24 | commit. The latest version has all the recent changes and might be unstable. 25 | 26 | ## Docker 27 | 28 | If you have docker you can run MVS/CE in a docker container. 29 | 30 | From the command line run: 31 | 32 | ``` 33 | docker run -d \ 34 | --name=mvsce \ 35 | -e HUSER=docker \ 36 | -e HPASS=docker \ 37 | -p 2121:21 \ 38 | -p 2323:23 \ 39 | -p 3270:3270 \ 40 | -p 3505:3505 \ 41 | -p 3506:3506 \ 42 | -p 8888:8888 \ 43 | -v /opt/docker/mvsce:/config \ 44 | -v /opt/docker/mvsce/printers:/printers \ 45 | -v /opt/docker/mvsce/punchcards:/punchcards \ 46 | -v /opt/docker/mvsce/logs:/logs \ 47 | -v /opt/docker/mvsce/dasd:/dasd \ 48 | -v /opt/docker/mvsce/certs:/certs \ 49 | --restart unless-stopped \ 50 | mainframed767/mvsce:latest 51 | ``` 52 | 53 | Make sure the directories are correct for your docker volumes and hit enter, 54 | this will download the latest MVS/CE release and deploy it. You can then 55 | connect with you 3270 client on port 3270 (or port 2323 for encrypted 56 | communication). 57 | 58 | 59 | More details are available here: https://hub.docker.com/r/mainframed767/mvsce 60 | 61 | If you wish to build this docker container yourself you can see the Dockerfile here: https://github.com/MVS-sysgen/docker-mvsce 62 | 63 | ## Screenshots 64 | 65 | **Wally ISPF with MVS/CE theme** 66 | 67 | 68 | ![ISPF](/screenshots/02_wISPF.png?raw=true "Wally ISPF MVS/CE Theme") 69 | 70 | ![ISPOPT5](/screenshots/05_UTILITIES.png "Wally ISPF MVS/CE Theme") 71 | 72 | ![ISPOPT5](/screenshots/03_batch.png "Larry Belmontes Jr ISPOPT5") 73 | 74 | ![ISPOPT5](/screenshots/06_ISRDDN_DALCDS.png "Larry Belmontes Jr DALCDS") 75 | 76 | 77 | **MVP** 78 | 79 | ![MVP](/screenshots/04_MVP.png "MVS Package Manager") 80 | 81 | 82 | # Building and Installing Hercules 83 | 84 | Please use https://github.com/wrljet/hercules-helper to build hercules 85 | 86 | ## Sysgen 87 | 88 | Currently only Debian/Ubuntu based systems are supported. If your system requires a password for sudo commands you may get prompted for your password to install needed software. 89 | 90 | :warning: **DO NOT** run this script as root, there is a bug in hercules which will cause it to eat up all your machine resources :warning: 91 | 92 | *depending on your system this could take upward of two hours.* If you want to follow along you can use `tail -F sysgen.log`. 93 | 94 | Running MVS/CE sysgen will: 95 | 96 | - Build a modified Jay Moseley sysgen MVS 3.8J 97 | - Install BREXX 98 | - Install RAKF 99 | - Install RFE 100 | - Install Wally ISPF 101 | - Create the folder MVSCE and store the completed sysgen there 102 | 103 | To build MVS/CE use `sysgen.py`. This python script can take many arguments: 104 | 105 | - `--version` This sets the version number displayed at logon and in `SYS1.PARMLIB(RELEASE)` 106 | - `--users` By default sysgen will use the users in the file `users.conf`, you can supply your own with this argument 107 | - `--profiles` By default sysgen will use the RAKF profiles in the file `profiles.conf`, you can supply your own with this argument 108 | - `--username`/`--password` These arguments add an admin user with the username/password supplied 109 | - `--timeout` Sometimes hercules will end up in a state which can deadlock sysgen, to prevent it from running forever a timeout has been set. The defaul it thirty minutes. Use this argument to change it to something shorter/longer, in seconds. 110 | - `--hercules` Path to a specific hercules binary 111 | - `--no-compress` By default this script will compress DASD files, that is not needed on some file systems, this will disable compression 112 | - `--keep-backup` This script backups after every step then removes the backups when completed, if you'd like to keep the backup DASD images use this flag 113 | - `--keep-temp` This script generates multiple temp files during sysgen and removes the folder when completed, if you wish to keep the temp files pass this flag 114 | 115 | Assuming you have all the prerequisites installed (git, tar, python3 and 116 | hercules) the recommended command used to build sysgen is: 117 | 118 | ```bash 119 | until ./sysgen.py --CONTINUE; do echo "Failed, rerunning"; done 120 | ``` 121 | 122 | This until loop will run until sysgen is complete. This is due to multiple 123 | bugs in hercules which may cause it to fail and which is typically fixed 124 | by rerunning the failed step. 125 | 126 | ### Automation control options 127 | 128 | The arguments below are for more granular control of where to start sysgen from. These can be used if a step has failed of if you make changes to a step and start the install from that step instead of starting over. Some steps are atomic, some have multiple sub steps. With the arguments below you can continue/restart from either. 129 | 130 | - `-l` or `--list` This will list all available steps and substeps. 131 | - `--step` Restart sysgen from this step. The install will continue from here. 132 | - `--substep` Restart sysgen from a steps substep. 133 | 134 | - `-C` or `--CONTINUE` If sysgen fails for any reason a file (`.step`) is created prior to exit, this argument reads that file and continues building MVS/CE from where it left off. This superscedes the `--step` and `--substep` arguments. 135 | 136 | :warning: By default sysgen will remove the temp and backup folders. If you're doing development work you can use the `--keep-backup` and `--keep-temp` arguments to keep those folders after systen completes allowing you to restart sysgen at any point. 137 | 138 | 139 | ## Usernames/Passwords 140 | 141 | **RAKF**/**TSO** 142 | 143 | | Username | Password | 144 | |:---------:|:--------:| 145 | | IBMUSER | SYS1 | 146 | | MVSCE01 | CUL8TR | 147 | | MVSCE02 | PASS4U | 148 | 149 | :warning: *IBMUSER* and *MVSCE01* are RAKF and TSO admins. 150 | 151 | You can add a admin user using the `--username` flag. To add more users edit the `users.conf` file. 152 | 153 | ## Changes From Jay Moseley Sysgen 154 | 155 | * Added multiple usermods 156 | * Added RAKF, BREXX, RFE, and ISPF 157 | * Installed usermod `DYNPROC` which allows for dynamic proclibs 158 | * Seperated out usermods to their own JCL for better automation control 159 | * Added `S NET` and changed JES2 startup parms in `sys1.parmlib(COMMND00)` 160 | * Automated startup using HAO hercules 161 | * Adds version to NETSOL 162 | * Added `SYS1.PARMLIB(RELEASE)` which contains release information 163 | 164 | And many more. See the branch `original` which tracked changes to the original sysgen and the git log 165 | to see the hundred of other changes since the initial release. 166 | 167 | ## Info 168 | 169 | This repo is heavily based on Jay Moseley sysgen. His writeup is a wonderful resource and you should read the site here: http://www.jaymoseley.com/hercules/installMVS/iMVSintroV7.htm 170 | 171 | A lot of the information contained on this repo is directly from his sysgen walkthrough. 172 | 173 | There are lots of files and folders. Each folder has a readme explaining from a high level what each file does. 174 | 175 | ## System Setup Information: 176 | 177 | From: http://www.jaymoseley.com/hercules/installMVS/iCUSTv7.htm 178 | 179 | Much of the operation of MVS is controlled by JES2 and the parameters that affect JES2 are contained in the member JES2PM00 in SYS1.PARMLIB. The three main functions are job entry (readers), job execution (job classes), and output (printers and punches). 180 | 181 | **Card Readers** 182 | 183 | There is one Hercules emulated card reader that is controlled by JES2 - the 2540R at address `x'00c'`. There are other card readers generated into the system and one of those is also defined in the Hercules configuration file - the 2540R at address `x'01c'`. 184 | 185 | **Printers** 186 | 187 | There are two emulated printers controlled by JES2 - the 1403 at address `x'00e'` and the 3211 at address `x'00f'`. The 1403 printer defined at address `x'015'` is a special case as it defined as, and dedicated to the hardcopy log; it is not controlled by JES2. There are other printers generated into the system, but they are not defined in the configuration file; they are simply 'extra' printers. 188 | 189 | **Card Punch** 190 | 191 | There is one emulated card punch that is controlled by JES2 - the 2540P at address `x'00d'`. There are other card punches generated into the system and one of those is also definied in the Hercules configuration file - the 2540P at address `x'01d'`. 192 | 193 | **CLASS** 194 | 195 | The `CLASS=` parameter on the JOB card determines the class that the job is intended to be run in. 196 | 197 | There are six initiators defined to JES2, three are not active when MVS is IPLed, but three of them are automatically started. The initiators select a job for execution when the `CLASS=` parameter on the JOB card matches one of the CLASSES the initiator is set to process. Currently the initiators are set to process these classes (listed in order by highest priority first): 198 | 199 | | Initiator 1 | Initiator 2 | Initiator 3 | Initiator 4 (not started) | Initiator 5 (not started) | Initiator 6 (not started) | 200 | |:-----------:|:-----------:|:-----------:|:-------------------------:|:-------------------------:|:-------------------------:| 201 | | A | B,A | S | D,C,B,A | E,C,B,A | F,E,C,B,A | 202 | 203 | 204 | Class **S** is intended for use for System Programming tasks, so some of the control has been loosened on that class, which is why you don't have to 'approve' embedded console commands. It is not a good idea to simply use S for all of your jobs, however, as there are good reasons for those controls being in place. 205 | 206 | The two printers controlled by JES2 are set to select non-held printer output in class **A** (the 1403 at x'00e') and class M (the 3211 at x'00f'). 207 | 208 | The card punch controlled by JES2 is set to select non-held punch output in class **B**. 209 | 210 | Some of the parameters for JES2 may be changed from the MVS console and the changes will only remain in effect until the next IPL. Some of the parameters must be changed by altering the JES2PM00 member in SYS1.PARMLIB, then stopping and restarting JES2. 211 | 212 | -------------------------------------------------------------------------------- /SCRIPTS/SHUTDOWN.RC: -------------------------------------------------------------------------------- 1 | * _____ _____ _____ _____ ____ _____ _ _ _ _____ 2 | * | __| | | | |_ _| \| | | | | | | 3 | * |__ | | | | | | | | | | | | | | | | | 4 | * |_____|__|__|_____| |_| |____/|_____|_____|_|___| 5 | * 6 | * setting up automated responses 7 | hao clear 8 | hao tgt HASP099 9 | hao cmd script SCRIPTS/pjes2 10 | hao tgt HASP085 11 | hao cmd script SCRIPTS/zeod 12 | hao tgt IEE334I 13 | hao cmd script SCRIPTS/quiesce 14 | hao tgt HHC00814I Processor CP00: SIGP Stop 15 | hao cmd script SCRIPTS/poweroff 16 | hao tgt HHC00814I Processor CP01: SIGP Stop 17 | hao cmd script SCRIPTS/poweroff 18 | hao tgt ([0-9]{2}) IKT010D 19 | hao cmd /R $1,FSTOP 20 | # For information see https://www.ibm.com/docs/en/zos/2.3.0?topic=commands-mvs-system-reference 21 | * Cancel the processing of all automatic commands. 22 | /$CA,ALL 23 | pause 2 24 | * Switching SMF 25 | /SWITCH SMF 26 | pause 2 27 | * Preventing users from logging on 28 | /MODIFY TSO,USERMAX=0 29 | pause 2 30 | * Stop JES2 Initiators 31 | /$PI 32 | pause 2 33 | * Stopping JES2 34 | /$P PRT1 35 | /$P PRT2 36 | /$P PRT3 37 | /$P PUNCH1 38 | /$P RDR1 39 | /$P RDR2 40 | pause 3 41 | * Shutting down TSO 42 | /STOP TSO 43 | pause 3 44 | * Shutting down VTAM 45 | /HALT net,quick 46 | pause 3 -------------------------------------------------------------------------------- /SCRIPTS/pjes2: -------------------------------------------------------------------------------- 1 | * Stopping JES2 2 | pause 3 3 | /$PJES2 -------------------------------------------------------------------------------- /SCRIPTS/poweroff: -------------------------------------------------------------------------------- 1 | pause 5 2 | stopall 3 | pause 5 4 | sysclear 5 | pause 5 6 | quit -------------------------------------------------------------------------------- /SCRIPTS/quiesce: -------------------------------------------------------------------------------- 1 | * quiesce the system 2 | pause 2 3 | /QUIESCE -------------------------------------------------------------------------------- /SCRIPTS/zeod: -------------------------------------------------------------------------------- 1 | * Running End Of Day processing 2 | pause 2 3 | /Z EOD -------------------------------------------------------------------------------- /conf/herclogo.template: -------------------------------------------------------------------------------- 1 | @ALIGN NONE 2 | @SBA 0,0 3 | @SF P 4 | Hercules Version : 5 | @SF HP 6 | $(VERSION) 7 | @NL 8 | @SF P 9 | Host OS : 10 | @SF HP 11 | $(HOSTOS)-$(HOSTOSREL) 12 | @NL 13 | @SF P 14 | Host OS Version : 15 | @SF HP 16 | $(HOSTOSVER) 17 | @NL 18 | @SF P 19 | MVS/CE GIT Rev : 20 | @SF HP 21 | @@@@@VERSION@@@@@ 22 | @NL 23 | @NL 24 | @SF P 25 | @ALIGN LEFT 26 | 888b d888 888 888 .d8888b. d88P .d8888b. 8888888888 27 | 8888b d8888 888 888 d88P Y88b d88P d88P Y88b 888 28 | 88888b.d88888 888 888 Y88b. d88P 888 888 888 29 | 888Y88888P888 Y88b d88P "Y888b. d88P 888 8888888 30 | 888 Y888P 888 Y88b d88P "Y88b. d88P 888 888 31 | 888 Y8P 888 Y88o88P "888 d88P 888 888 888 32 | 888 " 888 Y888P Y88b d88P d88P Y88b d88P 888 33 | 888 888 Y8P "Y8888P" d88P "Y8888P" 8888888888 34 | @NL 35 | @SF HP 36 | @ALIGN CENTER 37 | Welcome to MVS Community Edition 38 | Based on the Jay Moseley MVS3.8j Sysgen 39 | @NL 40 | @SF P 41 | CLEAR the screen or hit ENTER 42 | You can login with "logon username/password" 43 | -------------------------------------------------------------------------------- /conf/local.cnf: -------------------------------------------------------------------------------- 1 | # 2 | #################################################################### 3 | # HERCULES EMULATOR CONTROL FILE # 4 | #################################################################### 5 | # 6 | # use for running newly built MVS/CE 3.8j system 7 | # last modified for use with SDL Hercules Hyperion 4.3 on 18 AUG 2021 8 | # 9 | 10 | ARCHMODE S/370 11 | CPUSERIAL 134001 12 | CPUMODEL 0148 13 | MAINSIZE 16 14 | XPNDSIZE 0 15 | CNSLPORT 3270 16 | NUMCPU 2 17 | LOADPARM ........ 18 | SYSEPOCH 1900 19 | #YROFFSET -28 # offset for non-Y2k compliant OS 20 | #TZOFFSET -0100 # daylight savings time in effect 21 | OSTAILOR QUIET # controls number of error messages logged 22 | CODEPAGE 819/1047 # Uses the 1047 ASCII/EBCDIC codepage 23 | ## 24 | # SYSGEN AUTOMATION 25 | ## 26 | REXX MSGP ON 27 | SHCMDOPT ENABLE DIAG8 28 | DIAG8CMD ENABLE ECHO 29 | PANOPT MSGCOLOR=DARK RATE=250 30 | # .-----------------------------Device number 31 | # | .-----------------------Device type 32 | # | | .---------------File name 33 | # | | | 34 | # V V V 35 | #--- ---- --------------------------------- card readers 36 | 000C 3505 localhost:3505 sockdev autopad trunc ascii eof 37 | 001A 3505 localhost:3506 sockdev autopad trunc ebcdic eof 38 | 001C 3505 * 39 | # ----------------------------------------------- card punches & printers 40 | 000D 3525 punchcards/pch00d.txt ebcdic # JES2 41 | 000E 1403 printers/prt00e.txt # JES2 42 | 000F 3211 printers/prt00f.txt # JES2 43 | 001D 3525 punchcards/pch01d.txt ascii 44 | # ----------------------------------------------- 2401 on channel 1 45 | 0100.4 3420 * 46 | # ----------------------------------------------- 3420 on channel 3 47 | 0310.4 3420 * 48 | # ----------------------------------------------- 3350 on Channel 1 49 | 0150 3350 DASD/mvsres.3350 50 | 0151 3350 DASD/mvs000.3350 51 | 0152 3350 DASD/page00.3350 52 | 0153 3350 DASD/spool1.3350 53 | #------------------------------------------------ 3380 on Channel 1 54 | 0180 3380 DASD/pub000.3380 55 | #------------------------------------------------ 3390 on Channel 1 56 | 0190 3390 DASD/pub001.3390 cu=3880 57 | #------------------------------------------------ 2314 on Channel 2 58 | 0220 2314 DASD/sortw1.2314 59 | 0221 2314 DASD/sortw2.2314 60 | 0222 2314 DASD/sortw3.2314 61 | 0223 2314 DASD/sortw4.2314 62 | 0224 2314 DASD/sortw5.2314 63 | 0225 2314 DASD/sortw6.2314 64 | #------------------------------------------------ 3350 on Channel 2 65 | 0250 3350 DASD/smp000.3350 66 | 0251 3350 DASD/work00.3350 67 | 0252 3350 DASD/work01.3350 68 | 0253 3350 DASD/syscpk.3350 69 | # ----------------------------------------------- consoles 70 | 0010 3270 console # master console 71 | 0009 3215-C / # alternate console (required for automation) 72 | 0015 1403 mvslog.txt # hardcopy of master console 73 | # ----------------------------------------------- 3270's for TSO 74 | 0400.32 3270 75 | # ----------------------------------------------- Additional Custom Configs 76 | INCLUDE conf/local/custom.cnf -------------------------------------------------------------------------------- /conf/local/custom.cnf: -------------------------------------------------------------------------------- 1 | # This conf file can be used to add custom configs 2 | -------------------------------------------------------------------------------- /conf/mvsce.rc: -------------------------------------------------------------------------------- 1 | * Starting MVS/CE 2 | facility enable HERC_TCPIP_EXTENSION 3 | facility enable HERC_TCPIP_PROB_STATE 4 | facility enable herc_370_extension 5 | IPL 150 6 | hao tgt input for console 0:0009 7 | hao cmd / 8 | hao tgt $HASP426 SPECIFY OPTIONS - HASP-II, VERSION JES2 4.1 9 | hao cmd /r 0,noreq -------------------------------------------------------------------------------- /dasd/syscpk.3350: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/dasd/syscpk.3350 -------------------------------------------------------------------------------- /documentation/GC26-3792-8_OS_VS2_System_Generation_Reference_Release_3.8_Oct80.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/documentation/GC26-3792-8_OS_VS2_System_Generation_Reference_Release_3.8_Oct80.pdf -------------------------------------------------------------------------------- /documentation/SMP_Tutorial.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/documentation/SMP_Tutorial.pdf -------------------------------------------------------------------------------- /documentation/mvs38bas.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/documentation/mvs38bas.pdf -------------------------------------------------------------------------------- /gz/SYSCPK.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/gz/SYSCPK.tar.gz -------------------------------------------------------------------------------- /gz/mvsInstallationResources.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/gz/mvsInstallationResources.tar.gz -------------------------------------------------------------------------------- /gz/readme.md: -------------------------------------------------------------------------------- 1 | # Required Materials 2 | 3 | From: http://www.jaymoseley.com/hercules/installMVS/iPREREQv7.htm 4 | 5 | | Tar.gz file | Name | 6 | |---------------------------------|------------------------------| 7 | | vs2StarterTapes.tar.gz | MVS 3.7 starter system tapes | 8 | | vs2DistributionTapes.tar.gz | MVS 3.8j distribution tapes | 9 | | mvsInstallationResources.tar.gz | Jay Moseley objects (scripts, jobstreams, tapes, configuration files). You only need one of these, choose the one that is correct for your Operating System (Linux/Mac or Windows). | 10 | | SYSCPK.tar.gz | Language Compilers and Tools Volume | 11 | -------------------------------------------------------------------------------- /gz/vs2DistributionTapes.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/gz/vs2DistributionTapes.tar.gz -------------------------------------------------------------------------------- /gz/vs2StarterTapes.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/gz/vs2StarterTapes.tar.gz -------------------------------------------------------------------------------- /hercules.cnf: -------------------------------------------------------------------------------- 1 | # DUMMY CONFIG 2 | # Real configs are in sysgen.conf 3 | # This setting is to counteract a bug in 4.5 4 | ARCHMODE S/370 -------------------------------------------------------------------------------- /jcl/ZP60041.jcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/jcl/ZP60041.jcl -------------------------------------------------------------------------------- /jcl/brexx.jcl: -------------------------------------------------------------------------------- 1 | //BRXXINST JOB (TSO), 2 | // 'Install BREXX', 3 | // CLASS=A, 4 | // MSGCLASS=A, 5 | // MSGLEVEL=(1,1), 6 | // REGION=8192K 7 | //* ,USER=IBMUSER,PASSWORD=SYS1 8 | //* First step is to make an alias for BREXX 9 | //CLEANUP EXEC PGM=IDCAMS 10 | //SYSIN DD * 11 | DEFINE ALIAS(NAME(BREXX) RELATE(UCPUB001)) 12 | SET MAXCC=00 13 | //SYSPRINT DD SYSOUT=* 14 | //* RECV370 DDNAMEs: 15 | //* ---------------- 16 | //* 17 | //* RECVLOG RECV370 output messages (required) 18 | //* 19 | //* RECVDBUG Optional, specifies debugging options. 20 | //* 21 | //* XMITIN input XMIT file to be received (required) 22 | //* 23 | //* SYSPRINT IEBCOPY output messages (required for DSORG=PO 24 | //* input datasets on SYSUT1) 25 | //* 26 | //* SYSUT1 Work dataset for IEBCOPY (not needed for sequential 27 | //* XMITs; required for partitioned XMITs) 28 | //* 29 | //* SYSUT2 Output dataset - sequential or partitioned 30 | //* 31 | //* SYSIN IEBCOPY input dataset (required for DSORG=PO XMITs) 32 | //* A DUMMY dataset. 33 | //* 34 | //RECV370 EXEC PGM=RECV370 35 | //STEPLIB DD DISP=SHR,DSN=SYSC.LINKLIB 36 | //XMITIN DD UNIT=01C,DCB=(RECFM=FB,LRECL=80,BLKSIZE=80) 37 | //RECVLOG DD SYSOUT=* 38 | //RECVDBUG DD * 39 | DEFAULT 1 40 | U370DBUG 1 TURN ON DEBUG MSGS RIGHT AWAY 41 | RECV370 9 42 | RECVBLK 0 43 | RECVCTL 5 44 | RECVGCTL 3 45 | RECVGSEG 0 46 | RECVMSG 9 47 | RECVRCPY 2 48 | RECVUTIL 9 49 | U370ABND 0 50 | U370AP00 1 51 | U370AP99 1 52 | U370CHAR 0 53 | U370HERC 9 54 | U370HEX 0 55 | U370LOG 0 56 | U370PSR 0 57 | U370QENV 2 58 | U370QTCB 2 3=DUMP TCB, 8=ASCB, 9=ASXB 59 | U370QSS 2 3=DUMP SSCVT 4=DUMP SSVT 60 | U370SDWA 4 61 | U370SNAP 0 62 | U370STAE 9 4 6 8 63 | U370TIOT 0 64 | U370VADR 0 65 | U370WTO 0 66 | /* 67 | //SYSPRINT DD SYSOUT=* 68 | //SYSIN DD DUMMY 69 | //* Work temp dataset 70 | //SYSUT1 DD DSN=&&SYSUT1, 71 | // UNIT=3390,VOL=SER=PUB001, 72 | // SPACE=(CYL,(10,10)), 73 | // DISP=(NEW,DELETE,DELETE) 74 | //* Output dataset 75 | //SYSUT2 DD DSN=BREXX.V2R5M3.INSTALL, 76 | // UNIT=3390,VOL=SER=PUB001, 77 | // SPACE=(CYL,(10,10,20),RLSE), 78 | // DISP=(NEW,CATLG,DELETE) 79 | //* ------------------------------------------------------------------- 80 | //XMITLOAD PROC XMITLIB='BREXX.V2R5M3.INSTALL', 81 | // HLQ='BREXX.V2R5M3', <-- DO NOT CHANGE HLQ ---- 82 | // MEMBER= 83 | //* RECEIVE XMIT FILE AND CREATE TARGET FILE 84 | //XMILOADP EXEC PGM=RECV370,REGION=4096K 85 | //STEPLIB DD DISP=SHR,DSN=SYSC.LINKLIB 86 | //RECVLOG DD SYSOUT=* 87 | //XMITIN DD DSN=&XMITLIB(&MEMBER),DISP=SHR 88 | //SYSPRINT DD SYSOUT=* 89 | //SYSUT1 DD DSN=&&SYSUT1, 90 | // UNIT=3390,VOL=SER=PUB001, 91 | // SPACE=(TRK,(250,250)), 92 | // DISP=(NEW,DELETE,DELETE) 93 | //SYSUT2 DD DSN=&HLQ..&MEMBER, 94 | // UNIT=3390,VOL=SER=PUB001, 95 | // SPACE=(TRK,(250,250,25),RLSE), 96 | // DISP=(NEW,CATLG,DELETE) 97 | //SYSIN DD DUMMY 98 | // PEND 99 | //* ------------------------------------------------------------------ 100 | //* UNPACK XMIT FILES INTO INSTALL LIBRARIES 101 | //* SAVE XMIT IN BREXX.$RELEASE.XMIT(AS-MEMBER) 102 | //* ------------------------------------------------------------------ 103 | //UNPK10 EXEC XMITLOAD,MEMBER=LINKLIB 104 | //UNPK20 EXEC XMITLOAD,MEMBER=PROCLIB 105 | //UNPK30 EXEC XMITLOAD,MEMBER=JCL 106 | //UNPK40 EXEC XMITLOAD,MEMBER=SAMPLES 107 | //UNPK50 EXEC XMITLOAD,MEMBER=RXLIB 108 | //UNPK50 EXEC XMITLOAD,MEMBER=CMDLIB 109 | //UNPK60 EXEC XMITLOAD,MEMBER=APFLLIB 110 | //* ------------------------------------------------------------------ 111 | //* COPY BREXX MODULE(S) INTO SYS2.LINKLIB 112 | //* ------------------------------------------------------------------ 113 | //STEP10 EXEC PGM=IEBCOPY 114 | //SYSPRINT DD SYSOUT=* 115 | //DDIN DD DSN=BREXX.V2R5M3.APFLLIB,DISP=SHR 116 | //DDOUT DD DSN=SYS2.LINKLIB,DISP=SHR 117 | //SYSIN DD * 118 | COPY INDD=((DDIN,R)),OUTDD=DDOUT 119 | /* 120 | //* ------------------------------------------------------------------ 121 | //* COPY BREXX MODULE(S) INTO SYS2.PROCLIB 122 | //* ------------------------------------------------------------------ 123 | //STEP20 EXEC PGM=IEBCOPY 124 | //SYSPRINT DD SYSOUT=* 125 | //DDIN DD DSN=BREXX.V2R5M3.PROCLIB,DISP=SHR 126 | //DDOUT DD DSN=SYS2.PROCLIB,DISP=SHR 127 | //SYSIN DD * 128 | COPY INDD=((DDIN,R)),OUTDD=DDOUT 129 | /* 130 | //* ------------------------------------------------------------------ 131 | //STEP30 EXEC PGM=IKJEFT01,DYNAMNBR=64,REGION=4096K 132 | //SYSTSPRT DD SYSOUT=* 133 | //SYSTSIN DD * 134 | /* ----------------------------------------------- */ 135 | /* REMOVE CLIST MEMBERS, THEY ARE NO LONGER NEEDED */ 136 | /* IF ALLOC/DELETE FAIL THE CLISTS HAVE ALREADY */ 137 | /* BEEN REMOVED EARLIER. THIS IS NOT AN ERROR! */ 138 | /* ----------------------------------------------- */ 139 | /* ----------------------------------------------- */ 140 | /* COMPRESS UPDATE LIBRARIES */ 141 | /* ----------------------------------------------- */ 142 | COMPRESS 'SYS2.LINKLIB' 143 | COMPRESS 'SYS2.PROCLIB' 144 | /* ----------------------------------------------- */ 145 | /* CHECK EXISTENCE OF NEW BREXX LOAD MEMBER AND */ 146 | /* SET APPROPRIATE RC */ 147 | /* ----------------------------------------------- */ 148 | ALLOC DSN('SYS2.LINKLIB(BREXX)') SHR FILE(BREXX) 149 | /* 150 | //* 151 | //* Add SYS2.EXEC 152 | //* 153 | //SYS2EXEC EXEC PGM=IEFBR14 154 | //SYSEXEC DD DSN=SYS2.EXEC,DISP=(NEW,CATLG), 155 | // VOL=SER=MVS000, 156 | // UNIT=3350,SPACE=(TRK,(44,14,17)), 157 | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=19040) 158 | //* ------------------------------------------------------------------ 159 | //* EDIT LOGON PROC 160 | //* ------------------------------------------------------------------ 161 | //ALIASRXL EXEC PGM=IDCAMS 162 | //SYSIN DD * 163 | DEFINE ALIAS - 164 | (NAME(BREXX.CURRENT.RXLIB) - 165 | RELATE(BREXX.V2R5M3.RXLIB))- 166 | CATALOG(UCPUB001) 167 | //SYSPRINT DD SYSOUT=* 168 | -------------------------------------------------------------------------------- /jcl/date.jcl: -------------------------------------------------------------------------------- 1 | //DATE$ JOB (SYS),'INSTALL DATE',CLASS=S,MSGCLASS=A 2 | //*---------------------------------------------------------------* 3 | //* INSTALL OF 'DATE' TSO CMD * 4 | //*---------------------------------------------------------------* 5 | //ASM1 EXEC ASMFCL,PARM.ASM='LIST,RENT,OBJ,NODECK', 6 | // PARM.LKED='LIST,RENT,XREF' 7 | //ASM.SYSIN DD * 8 | TITLE 'D A T E --- D A T E / T I M E C O M M A N D' 9 | *********************************************************************** 10 | * * 11 | * THIS PROGRAM IS A TSO COMMAND PROCESSOR THAT WILL LIST ON THE * 12 | * TSO USER'S SCREEN THE CURRENT DATE AND TIME. * 13 | * * 14 | * WRITTEN AUGUST, 2003 BY JAY MOSELEY * 15 | * * 16 | *********************************************************************** 17 | * 18 | *********************************************************************** 19 | * INITIALIZE. * 20 | *********************************************************************** 21 | DATE CSECT 22 | STM R14,R12,12(R13) SAVE REGISTERS 23 | LR R12,R15 LOAD BASE REGISTER 24 | USING DATE,R12 25 | LR R2,R1 SAVE CPPL PTR 26 | LA R0,LOCALGM GET SIZE OF DSECT 27 | GETMAIN R,LV=(R0) 28 | LR R11,R1 LOAD DSECT BASE REGISTER 29 | USING LOCALSTG,R11 30 | ST R13,SAVEAREA+4 ESTABLISH SAVE 31 | ST R11,8(R13) AREA CHAINING 32 | LR R13,R11 PTR TO MY SAVE AREA INTO R13 33 | EJECT 34 | *********************************************************************** 35 | * RETRIEVE SYSTEM DATE AND TIME, FORMAT IN MESSAGE BUFFER, WRITE * 36 | * BUFFER TO TERMINAL. * 37 | *********************************************************************** 38 | * 39 | TIME DEC 40 | * 41 | STM R0,R1,SYSTWRK SAVE TIME/DATE 42 | AP SYSTWRK+4(4),CENTJUST +19 TO CENTURY BYTE 43 | UNPK SYSTIME,SYSTWRK UNPACK TIME/DATE FIELDS 44 | OI SYSTIME+15,X'F0' CLEAR SIGN 45 | MVC JDATEJ,SYSYEAR JULIAN DATE TO PARM LIST 46 | LA R1,JTOGPARM ADDR OF PARM LIST 47 | ST R1,PLIST STORE FOR CALL 48 | LA R1,PLIST ADDR OF PARAMETER LIST 49 | L R15,=V(Y2KJTOG) ADDR OF ROUTINE 50 | BALR R14,R15 CALL TO CONVERT 51 | MVC FDATEG,JDATEG GREGORIAN TO PARM LIST 52 | MVI FMAJOR,C'6' FORMAT TYPE TO PARM LIST 53 | MVI FMINOR,C'1' JUST HAS TO BE VALID 54 | LA R1,DFMTPARM ADDR OF PARM LIST 55 | ST R1,PLIST STORE FOR CALL 56 | LA R1,PLIST ADDR OF PARAMETER LIST 57 | L R15,=V(Y2KDFMT) ADDR OF ROUTINE 58 | BALR R14,R15 CALL TO CONVERT 59 | MVC DMSG(L'DLIT),DLIT MOVE DATE IDENT TO OUTPUT 60 | PACK DWORK,FSIZE CONVERT SIZE OF OUTPUT 61 | CVB R2,DWORK FIELD TO BINARY 62 | LR R1,R2 COPY IT FOR MOVE 63 | BCTR R1,0 DECREMENT FOR MOVE 64 | EX R1,MOVEDATE MOVE DATE TO OUTPUT 65 | MOVEDATE MVC DMDATE(*-*),FTEXT EXECUTED MOVE 66 | LA R1,DMDATE+1 ADDR FOR DATE OUTPUT 67 | AR R1,R2 INCREMENT PAST DATE 68 | MVI 0(R1),C'(' OPEN PAREN 69 | MVC 1(4,R1),SYSYEAR JULIAN YEAR 70 | MVI 5(R1),C'/' SLASH 71 | MVC 6(3,R1),SYSDAY JULIAN DAY 72 | MVI 9(R1),C')' CLOSE PAREN 73 | MVC TMSG(L'TLIT),TLIT MOVE TIME IDENT TO OUTPUT 74 | LA R1,TMTIME ADDR FOR TIME OUTPUT 75 | MVC 0(2,R1),SYSHOUR HOUR 76 | MVI 2(R1),C'.' PERIOD 77 | MVC 3(2,R1),SYSMIN MINUTE 78 | MVI 5(R1),C'.' PERIOD 79 | MVC 6(2,R1),SYSSEC SECOND 80 | * 81 | LA R7,DMLEN LENGTH OF MESSAGE BUFFER 82 | TPUT DMSG,(R7) WRITE MESSAGE TO TERMINAL 83 | LA R7,TMLEN LENGTH OF MESSAGE BUFFER 84 | TPUT TMSG,(R7) WRITE MESSAGE TO TERMINAL 85 | EJECT 86 | *********************************************************************** 87 | * RETURN TO THE SYSTEM AFTER FREEING WORK AREA * 88 | *********************************************************************** 89 | LR R1,R13 PTR TO GOTTEN AREA INTO R1 90 | L R13,SAVEAREA+4 RESTORE R13 91 | LA R0,LOCALGM GET SIZE OF DSECT 92 | FREEMAIN R,LV=(R0),A=(R1) 93 | LM R14,R12,12(R13) RESTORE R14-R12 94 | SR R15,R15 ZERO R15 FOR RETURN CODE 95 | BR R14 RETURN TO INVOKER 96 | EJECT 97 | *********************************************************************** 98 | * CONSTANTS. * 99 | *********************************************************************** 100 | DLIT DC C'DATE = ' IDENTIFY DATE IN OUTPUT 101 | TLIT DC C'TIME = ' IDENTIFY TIME IN OUTPUT 102 | CENTJUST DC PL4'1900000' ADJUST CENTURY CONSTANT 103 | EJECT 104 | *********************************************************************** 105 | * DSECT FOR LOCAL STORAGE. * 106 | *********************************************************************** 107 | LOCALSTG DSECT 108 | SAVEAREA DS 18F MY SAVE AREA 109 | SYSTIME DS CL16 TIME/DATE UNPACKED 110 | SYSTWRK DS D TIME/DATE FROM SYSTEM 111 | JTOGPARM DS 0H PARM LIST TO Y2KJTOG 112 | JDATEJ DS CL7 JULIAN DATE IN 113 | JRC DS CL1 RETURN CODE OUT 114 | JDATEG DS CL8 GREGORIAN DATE OUT 115 | DFMTPARM DS 0H PARM LIST TO Y2KDFMT 116 | FDATEG DS CL8 GREGORIAN DATE IN 117 | FMAJOR DS CL1 MAJOR FORMAT CODE IN 118 | FMINOR DS CL1 MINOR FORMAT CODE IN 119 | FRC DS CL1 RETURN CODE OUT 120 | FSIZE DS CL2 SIZE OF TEXT OUT 121 | FTEXT DS CL29 TEXT OUT 122 | PLIST DS A PARMLIST FOR SUB CALLS 123 | DWORK DS D TO CONVERT SIZE FIELD 124 | * 125 | DMSG DS 0C MESSAGE LINE FOR DATE 126 | DS CL(L'DLIT) IDENTIFY 127 | DMDATE DS CL41 FORMATTED DATE HERE 128 | DMLEN EQU *-DMSG LENGTH OF DATE LINE 129 | TMSG DS 0C MESSAGE LINE FOR TIME 130 | DS CL(L'TLIT) IDENTIFY 131 | TMTIME DS CL41 FORMATTED TIME HERE 132 | TMLEN EQU *-TMSG LENGTH OF TIME MESSAGE 133 | LOCALGM EQU *-LOCALSTG LENGTH OF LOCAL STORAGE 134 | EJECT 135 | *********************************************************************** 136 | * EQUATES FOR GENERAL REGISTERS AND LOCAL STORAGE OFFSETS * 137 | *********************************************************************** 138 | R0 EQU 0 139 | R1 EQU 1 140 | R2 EQU 2 141 | R3 EQU 3 142 | R4 EQU 4 143 | R5 EQU 5 144 | R6 EQU 6 145 | R7 EQU 7 146 | R8 EQU 8 147 | R9 EQU 9 148 | R10 EQU 10 149 | R11 EQU 11 150 | R12 EQU 12 151 | R13 EQU 13 152 | R14 EQU 14 153 | R15 EQU 15 154 | SYSHOUR EQU SYSTIME+1 UNPACKED HOUR FROM TIME/R0 155 | SYSMIN EQU SYSTIME+3 UNPACKED MINUTE FROM TIME/R0 156 | SYSSEC EQU SYSTIME+5 UNPACKED SECOND FROM TIME/R0 157 | SYSYEAR EQU SYSTIME+9 UNPACKED YEAR FROM TIME/R1 158 | SYSDAY EQU SYSTIME+13 UNPACKED DAY FROM TIME/R1 159 | END 160 | //LKED.SYSLMOD DD DSN=SYS2.CMDLIB,DISP=SHR 161 | //LKED.SYSLIB DD DSN=SYSC.LINKLIB,DISP=SHR 162 | //LKED.SYSIN DD * 163 | NAME DATE(R) 164 | //HELP EXEC PGM=IEBUPDTE,PARM=NEW,COND=(0,NE) 165 | //SYSPRINT DD SYSOUT=* 166 | //SYSUT2 DD DISP=SHR,DSN=SYS2.HELP 167 | //SYSIN DD * 168 | ./ ADD NAME=DATE 169 | )F DATE FUNCTION - 170 | DISPLAY THE SYSTEM DATE AND TIME AT THE TERMINAL IN THE FORMAT: 171 | 172 | DATE = TUESDAY, AUGUST 5, 1975 (1975/217) 173 | TIME = 18.58.21 174 | )X SYNTAX - 175 | DATE 176 | )O OPERANDS - 177 | NO OPERANDS ON DATE COMMAND. 178 | ./ ENDUP 179 | // 180 | -------------------------------------------------------------------------------- /jcl/fdz1d02.jcl: -------------------------------------------------------------------------------- 1 | //FDZ1D02 JOB (SYS),'INSTALL DSF R13',CLASS=A,MSGCLASS=A 2 | //* 3 | //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4 | //* INSTALL ICKDSF (DEVICE SUPPORT FACILITIES) RELEASE 13.0 FROM 5 | //* MVS3.8J DISTRIBUTION TAPE RENAMING LOAD MODULE TO RETAIN ORIGINAL 6 | //* ICKDSF FROM BASE INSTALLATION. 7 | //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 8 | //* 9 | //IEBCOPY EXEC PGM=IEBCOPY,REGION=1024K 10 | //SYSPRINT DD SYSOUT=* 11 | //LIBIN1 DD DSN=FDZ1D02.F1,UNIT=TAPE,DISP=(OLD,PASS), 12 | // LABEL=(79,SL),VOL=(PRIVATE,RETAIN,SER=MVS38J) 13 | //LIBOUT1 DD DSN=SYS1.FDZ1D02.F1,DISP=(,KEEP,DELETE), 14 | // UNIT=SYSDA,VOL=SER=WORK01,SPACE=(CYL,(1,1,5)) 15 | //LIBIN2 DD DSN=FDZ1D02.F2,UNIT=TAPE,DISP=OLD, 16 | // LABEL=(80,SL),VOL=(PRIVATE,RETAIN,SER=MVS38J) 17 | //LIBOUT2 DD DSN=SYS1.FDZ1D02.F2,DISP=(,KEEP,DELETE), 18 | // UNIT=SYSDA,VOL=SER=WORK01,SPACE=(CYL,(1,1,20)) 19 | //SYSUT3 DD UNIT=SYSDA,SPACE=(80,(60,45)),DISP=(NEW,DELETE) 20 | //SYSIN DD * 21 | COPY INDD=LIBIN1,OUTDD=LIBOUT1 22 | COPY INDD=LIBIN2,OUTDD=LIBOUT2 23 | //* 24 | //IDCAMS EXEC PGM=IDCAMS,REGION=1024K,COND=(0,NE) 25 | //SYSPRINT DD SYSOUT=* 26 | //JCLPART1 DD DATA,DLM='><' 27 | //FDZ1D02 JOB (SYS),'INSTALL DSF R13',CLASS=A,MSGCLASS=A 28 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 29 | //IEWL EXEC PGM=IEWL,REGION=512K,PARM='XREF,LIST,LET,RENT,REFR' 30 | //SYSPRINT DD SYSOUT=* 31 | //SYSUT1 DD SPACE=(CYL,(5,1)),UNIT=SYSDA 32 | //SYSLMOD DD DSN=SYS2.LINKLIB,DISP=MOD 33 | //AOSU0 DD DSN=SYS1.FDZ1D02.F2,DISP=SHR, 34 | // UNIT=SYSDA,VOL=SER=WORK01 35 | //SYSLIN DD * 36 | >< 37 | //JCLPART2 DD DISP=SHR,DSN=SYS1.FDZ1D02.F1(FDZ1D02), 38 | // UNIT=SYSDA,VOL=SER=WORK01 39 | //JCLPART3 DD DATA,DLM='><' 40 | NAME ICKDSF13(R) 41 | //IEHPROGM EXEC PGM=IEHPROGM 42 | //SYSPRINT DD SYSOUT=* 43 | //DD1 DD UNIT=SYSDA,VOL=SER=WORK01,DISP=OLD 44 | //SYSIN DD * 45 | SCRATCH DSNAME=SYS1.FDZ1D02.F1,VOL=SYSDA=WORK01,PURGE 46 | SCRATCH DSNAME=SYS1.FDZ1D02.F2,VOL=SYSDA=WORK01,PURGE 47 | >< 48 | //SYSIN DD * 49 | REPRO INFILE(JCLPART1) OUTFILE(TEMPDD) 50 | REPRO INFILE(JCLPART2) OUTFILE(TEMPDD) SKIP(4) COUNT(93) 51 | REPRO INFILE(JCLPART3) OUTFILE(TEMPDD) 52 | //TEMPDD DD DSN=&&TEMPDD,UNIT=SYSDA,DISP=(MOD,PASS),SPACE=(CYL,2), 53 | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80) 54 | //* 55 | //IEBGENER EXEC PGM=IEBGENER,COND=(0,NE) 56 | //SYSPRINT DD SYSOUT=* 57 | //SYSIN DD DUMMY 58 | //SYSUT1 DD DSN=&&TEMPDD,UNIT=SYSDA,DISP=(OLD,DELETE) 59 | //SYSUT2 DD SYSOUT=(A,INTRDR) 60 | // 61 | -------------------------------------------------------------------------------- /jcl/finalize.jcl: -------------------------------------------------------------------------------- 1 | //* 2 | //* JOBCARD REPLACED BY sysgen.py 3 | //* 4 | //*FINALIZE JOB (TSO), 5 | //* 'Finalize MVSCE', 6 | //* CLASS=A, 7 | //* MSGCLASS=A, 8 | //* MSGLEVEL=(1,1), 9 | //* USER=IBMUSER, 10 | //* PASSWORD=SYS1 11 | /*JOBPARM LINES=100 12 | //EDIT EXEC PGM=IKJEFT01,REGION=1024K,DYNAMNBR=50 13 | //SYSPRINT DD SYSOUT=* 14 | //SYSTSPRT DD SYSOUT=* 15 | //SYSTERM DD SYSOUT=* 16 | //SYSTSIN DD * 17 | EDIT 'SYS1.PARMLIB(COMMND00)' TEXT 18 | FIND JES2 19 | C * /JES2/JES2,,,PARM='WARM,NOREQ'/ 20 | LIST 21 | INSERT COM='START NET' 22 | SAVE 23 | END 24 | //* --------------------- Add shutdown JCL and scripts 25 | //* 26 | //* 27 | //* SYS2.EXEC: CREATE SHUTDOWN (USED TO SHUTDOWN MVSCE) 28 | //* 29 | //SHTDWNRX EXEC PGM=IEBUPDTE,PARM=NEW 30 | //SYSPRINT DD SYSOUT=* 31 | //SYSUT2 DD DSN=SYS2.EXEC,DISP=MOD 32 | //SYSIN DD DATA,DLM='><' 33 | ./ ADD NAME=SHUTFAST,LIST=ALL 34 | /* REXX SCRIPT TO INITIATE MVS/CE SHUTDOWN */ 35 | 36 | CALL ANNOUNCE "WARNING! MVS/CE WILL BE SHUTTING DOWN IN 10 SECONDS" 37 | CALL WAIT(10000) 38 | 39 | CALL WTO("SHUT002 - BEGINING SHUTDOWN SEQUENCE") 40 | 41 | ADDRESS COMMAND "CP SCRIPT SCRIPTS/SHUTDOWN.RC" 42 | 43 | EXIT 44 | 45 | ANNOUNCE: 46 | PARSE ARG WHAT_TO_SAY 47 | CALL WTO("SHUT001 - "|| WHAT_TO_SAY) 48 | CALL CONSOLE("SEND 'SHUT001 - "||WHAT_TO_SAY||"'") 49 | RETURN 50 | ./ ADD NAME=SHUTDOWN,LIST=ALL 51 | /* REXX SCRIPT TO INITIATE MVS/CE SHUTDOWN */ 52 | 53 | DO I = 5 TO 2 BY -1 54 | CALL ANNOUNCE "WARNING! MVS/CE WILL BE SHUTTING DOWN IN" I "MINUTES" 55 | CALL WAIT(60000) 56 | END 57 | 58 | CALL ANNOUNCE "WARNING! MVS/CE WILL BE SHUTTING DOWN IN 1 MINUTE" 59 | CALL WAIT(60000) 60 | 61 | CALL WTO("SHUT002 - BEGINING SHUTDOWN SEQUENCE") 62 | 63 | ADDRESS COMMAND "CP SCRIPT SCRIPTS/SHUTDOWN.RC" 64 | 65 | EXIT 66 | 67 | ANNOUNCE: 68 | PARSE ARG WHAT_TO_SAY 69 | CALL WTO("SHUT001 - "|| WHAT_TO_SAY) 70 | CALL CONSOLE("SEND 'SHUT001 - "||WHAT_TO_SAY||"'") 71 | RETURN 72 | >< 73 | //* 74 | //* SYS2.JCLLIB: CREATE SHUTDOWN (USED TO SHUTDOWN MVSCE) 75 | //* 76 | //SHTDWNJC EXEC PGM=IEBUPDTE,PARM=NEW 77 | //SYSPRINT DD SYSOUT=* 78 | //SYSUT2 DD DSN=SYS2.JCLLIB,DISP=MOD 79 | //SYSIN DD DATA,DLM='><' 80 | ./ ADD NAME=SHUTDOWN,LIST=ALL 81 | //SHUTDOWN JOB (JOB),'SHUTDOWN',CLASS=A,MSGCLASS=A 82 | //SHUTDOWN EXEC SHUTDOWN 83 | ./ ADD NAME=SHUTFAST,LIST=ALL 84 | //SHUTFAST JOB (JOB),'SHUTFAST',CLASS=A,MSGCLASS=A 85 | //SHUTFAST EXEC SHUTDOWN,TYPE='SHUTFAST' 86 | >< 87 | //* 88 | //* SYS1.CMDPROC: CREATE SHUTDOWN (USED TO SHUTDOWN MVSCE) 89 | //* 90 | //SHTDWNJC EXEC PGM=IEBUPDTE,PARM=NEW 91 | //SYSPRINT DD SYSOUT=* 92 | //SYSUT2 DD DSN=SYS1.CMDPROC,DISP=MOD 93 | //SYSIN DD DATA,DLM='><' 94 | ./ ADD NAME=SHUTDOWN,LIST=ALL 95 | PROC 0 96 | CONTROL NOFLUSH 97 | SUBMIT 'SYS2.JCLLIB(SHUTDOWN)' 98 | ./ ADD NAME=SHUTFAST,LIST=ALL 99 | PROC 0 100 | CONTROL NOFLUSH 101 | SUBMIT 'SYS2.JCLLIB(SHUTFAST)' 102 | >< 103 | //* --------------------- Add shutdown JCL and scripts -------------------------------------------------------------------------------- /jcl/ispf.jcl: -------------------------------------------------------------------------------- 1 | //* 2 | //* JOBCARD REPLACED BY sysgen.py 3 | //* 4 | //*MVPISPF JOB (SYSGEN),'MVP INSTALL', 5 | //* CLASS=A, 6 | //* MSGCLASS=A, 7 | //* MSGLEVEL=(1,1), 8 | //* USER=IBMUSER, 9 | //* PASSWORD=SYS1, 10 | //* REGION=8192K 11 | //* This JCL installs ISPF and REVIEW Front End 12 | //MVPINST EXEC MVP,INSTALL='ISPF -D' 13 | //MVPINST EXEC MVP,INSTALL='ISPTHEME -D' 14 | //MVPINST EXEC MVP,INSTALL='MINIZIP -D' 15 | //MVPINST EXEC MVP,INSTALL='NJE38 -D' 16 | //EDIT EXEC PGM=IKJEFT01,REGION=1024K,DYNAMNBR=50 17 | //SYSPRINT DD SYSOUT=* 18 | //SYSTSPRT DD SYSOUT=* 19 | //SYSTERM DD SYSOUT=* 20 | //SYSTSIN DD * 21 | EDIT 'SYS1.CMDPROC(STDLOGON)' TEXT 22 | LIST 23 | INSERT WRITE Use command ISPF to access ISPF 24 | SAVE 25 | END -------------------------------------------------------------------------------- /jcl/mvs01.jcl: -------------------------------------------------------------------------------- 1 | //MVS01 JOB (1),'SETUP USER CATS',CLASS=S,MSGLEVEL=(1,1), 2 | // MSGCLASS=A 3 | //* 4 | //IDCAMS01 EXEC PGM=IDCAMS,REGION=4096K 5 | //* ----------------------------------------------------------------- * 6 | //* This job creates User Catalogs and defines ALIASes to them. * 7 | //* * 8 | //* PUB000 will contain TSO User's NON-VSAM datasets; they will be * 9 | //* catalogued in a User Catalog defined on PUB000 volume. * 10 | //* PUB001 will contain a VSAM dataspace to hold suballocated VSAM * 11 | //* objects; they and NON-VSAM datasets defined on PUB001 will be * 12 | //* catalogued in a User Catalog defined on PUB001 volume. * 13 | //* MVS000 will contain a User Catalog for small 'operations' * 14 | //* related datasets, such as the SMF generation datasets. * 15 | //* ----------------------------------------------------------------- * 16 | //SYSPRINT DD SYSOUT=* 17 | //PUB000 DD UNIT=SYSDA,DISP=OLD,VOL=SER=PUB000 (3380) 18 | //PUB001 DD UNIT=SYSDA,DISP=OLD,VOL=SER=PUB001 (3390) 19 | //MVS000 DD UNIT=SYSDA,DISP=OLD,VOL=SER=MVS000 (3350) 20 | //* ----------------------------------------------------------------- * 21 | //* The DD statement below creates a model DSCB on volume MVS000 * 22 | //* for SMF generation datasets created when the SMF data collection * 23 | //* datasets fill. No space is taken by the model DSCB, it only * 24 | //* creates an entry in the VTOC to be used as a pattern when the * 25 | //* actual datasets are created. * 26 | //* ----------------------------------------------------------------- * 27 | //MODEL DD DSN=SYSO.SMF.DATA,DISP=(NEW,KEEP), 28 | // UNIT=3350,VOL=SER=MVS000,SPACE=(TRK,0), 29 | // DCB=(RECFM=VBS,LRECL=32756,BLKSIZE=32760) 30 | //SYSIN DD * 31 | 32 | /* PARM GRAPHICS(CHAIN(SN)) */ 33 | /* This User Catalog will contain NON-VSAM datasets that */ 34 | /* reside on volume PUB000. */ 35 | 36 | DEFINE USERCATALOG ( - 37 | NAME (UCPUB000) - 38 | VOLUME (PUB000) - 39 | CYLINDERS (20) - 40 | FOR (9999) - 41 | BUFFERSPACE (8192) ) 42 | 43 | /* An Alias is defined so that all datasets with a high- */ 44 | /* level qualifier of PUB000 will be catalogued in the */ 45 | /* User Catalog UCPUB000. */ 46 | 47 | DEFINE ALIAS ( - 48 | NAME (PUB000) - 49 | RELATE (UCPUB000) ) 50 | 51 | /* This User Catalog will contain NON-VSAM and VSAM objects */ 52 | /* that reside on volume PUB001. Half of the volume will be */ 53 | /* allocated at the same time for use as a VSAM Dataspace. */ 54 | /* The User Catalog is sub-allocated from that Dataspace. */ 55 | 56 | DEFINE USERCATALOG ( - 57 | NAME (UCPUB001) - 58 | VOLUME (PUB001) - 59 | CYLINDERS (556) - 60 | FOR (9999) - 61 | BUFFERSPACE (8192) ) - 62 | DATA (CYLINDERS (30) ) - 63 | INDEX (CYLINDERS (15) ) 64 | 65 | /* An Alias is defined so that all datasets and VSAM objects */ 66 | /* with the high-level qualifier of PUB000 will be */ 67 | /* catalogued in the User Catalog UCPUB001. */ 68 | 69 | DEFINE ALIAS ( - 70 | NAME (PUB001) - 71 | RELATE (UCPUB001) ) 72 | 73 | /* An Alias is defined so that all datasets and VSAM objects */ 74 | /* with the high-level qualifier of SYSGEN will be */ 75 | /* catalogued in the User Catalog UCPUB001. */ 76 | 77 | DEFINE ALIAS ( - 78 | NAME (SYSGEN) - 79 | RELATE (UCPUB001) ) 80 | 81 | /* This User Catalog will contain NON-VSAM objects that */ 82 | /* reside on volume MVS000. */ 83 | 84 | DEFINE USERCATALOG ( - 85 | NAME (UCMVS000) - 86 | VOLUME (MVS000) - 87 | TRACKS (030 0) - 88 | FOR (9999) ) 89 | 90 | /* An Alias is defined so that all datasets with the high- */ 91 | /* level qualifier of SYSO (operations related) will be */ 92 | /* catalogued in the User Catalog UCMVS000. */ 93 | 94 | DEFINE ALIAS ( - 95 | NAME (SYSO) - 96 | RELATE (UCMVS000) ) 97 | 98 | /* A generation data group is defined to contain the SMF */ 99 | /* data that is offloaded when the SMF data recording */ 100 | /* datasets are filled. */ 101 | 102 | DEFINE GENERATIONDATAGROUP ( - 103 | NAME(SYSO.SMF.DATA) - 104 | LIMIT(5) - 105 | SCRATCH ) 106 | 107 | /* The last major change has been made to the VSAM Master */ 108 | /* Catalog at this point, so we will add an Update password */ 109 | /* to make sure that any additions/deletions/changes to */ 110 | /* the Master Catalog require operator approval. */ 111 | 112 | /* DISABLED FOR MVSCE */ 113 | /* ALTER SYS1.VSAM.MASTER.CATALOG - 114 | UPDATEPW(SYSPROG) */ 115 | // 116 | -------------------------------------------------------------------------------- /jcl/mvs02.jcl: -------------------------------------------------------------------------------- 1 | //MVS02 JOB (1),'ADD TSO USERS',CLASS=S,MSGLEVEL=(1,1), 2 | // MSGCLASS=A 3 | //* 4 | //* ----------------------------------------------------------------- * 5 | //* This job adds a new TSO USER ID and allocates default datasets * 6 | //* for that user. You may change parameters for any USER ID to fit * 7 | //* your needs; however you should not change a parameter if you are * 8 | //* unsure of the results. 9 | //* ----------------------------------------------------------------- * 10 | // EXEC TSONUSER,ID=HMVS01, This will be the logon ID 11 | // PW='*', No password will be required to logon 12 | // OP='OPER', Allow operator authority 13 | // AC='ACCT' Allow ACCOUNT TSO COMMAND 14 | // EXEC TSONUSER,ID=HMVS02, This will be the logon ID 15 | // PW='*', No password will be required to logon 16 | // OP='OPER', Allow operator authority 17 | // AC='ACCT' Allow ACCOUNT TSO COMMAND 18 | //* ----------------------------------------------------------------- * 19 | //* ID specified must be no longer than 7 characters 20 | //* first character must be alphabetic or national ($,@,#) 21 | //* remaining characters may be alphabetic, numeric, or national 22 | //* PW asterisk (*) if no password is required 23 | //* if 'word' specified, may be no longer than 8 characters 24 | //* all characters must be alphabetic, numeric, or national ($,@,#) 25 | //* AN asterisk (*) or accounting number to be used for user 26 | //* will be stored in SMF records for user 27 | //* maximum length 40 characters 28 | //* any character except blank, comma, tab, semicolon, apostrophe 29 | //* PR name of logon procedure to be used (from SYS1.PROCLIB) 30 | //* MS limit region size operand at logon (numeric value or NOLIM) 31 | //* OP may be OPER or NOOPER 32 | //* if OPER specified, operator commands will be allowed from ID 33 | //* AC may be ACCT or NOACCT 34 | //* if ACCT specified, ACCOUNT TSO COMMAND will be allowed from ID 35 | //* JC may be JCL or NOJCL 36 | //* if JCL specified, SUBMIT, CANCEL, STATUS, and OUTPUT commands 37 | //* will be allowed from ID 38 | //* MT may be MOUNT or NOMOUNT 39 | //* if MOUNT specified, ID may request tape mounts 40 | //* SZ region size at logon 41 | //* UN dynamic allocation unit type 42 | //* 43 | //* >>>>>> if in doubt about parameter, omit to accept default <<<<<< 44 | // 45 | -------------------------------------------------------------------------------- /jcl/null.jcl: -------------------------------------------------------------------------------- 1 | // 2 | -------------------------------------------------------------------------------- /jcl/smpjob01.jcl: -------------------------------------------------------------------------------- 1 | //SMPJOB01 JOB (SYSGEN),'RECEIVE PRODUCT TAPE', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //* 5 | //* ***************************************************************** * 6 | //* RECEIVE MVS COMPONENTS FROM DISTRIBUTION TAPE INTO SMP DATASETS * 7 | //* ***************************************************************** * 8 | //* 9 | //DLBUCL EXEC DLBSMP,TIME.SMP=1439 10 | //SMPCNTL DD * 11 | RECEIVE 12 | . 13 | //SMPPTFIN DD UNIT=TAPE,VOL=SER=MVS38J,DISP=(OLD,PASS),DSN=SMPMCS, 14 | // LABEL=(1,SL) 15 | // 16 | -------------------------------------------------------------------------------- /jcl/smpjob02.jcl: -------------------------------------------------------------------------------- 1 | //SMPJOB02 JOB (SYSGEN),'RECEIVE ALL PTFS', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //* 5 | //* ***************************************************************** * 6 | //* RECEIVE ALL PTFS WE HAVE FOUND TO APPLY TO MVS ELEMENTS * 7 | //* ***************************************************************** * 8 | //* 9 | //DLBUCL EXEC DLBSMP 10 | //SMPCNTL DD * 11 | RECEIVE 12 | . 13 | /* 14 | //SMPPTFIN DD DSN=PTFS, 15 | // UNIT=(TAPE,,DEFER), 16 | // DISP=OLD, 17 | // LABEL=(,SL),VOL=SER=PTFS20 18 | // 19 | -------------------------------------------------------------------------------- /jcl/smpjob03.jcl: -------------------------------------------------------------------------------- 1 | //SMPJOB03 JOB (SYSGEN),'ACCEPT FMIDS/PTFS', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //* 5 | //* ***************************************************************** * 6 | //* ACCEPT ALL PRODUCTS PLUS REQUIRED PTFS * 7 | //* ***************************************************************** * 8 | //* 9 | //DLBUCL1 EXEC DLBSMP 10 | //SMPCNTL DD * 11 | ACCEPT S(EBT1102 /* BTAM */ 12 | ) 13 | DIS(WRITE) 14 | NOAPPLY 15 | . 16 | //* 17 | //SMPPTFIN DD DUMMY 18 | //* 19 | //DLBUCL2 EXEC DLBSMP 20 | //SMPCNTL DD * 21 | ACCEPT G(EAS1102 /* XF ASSEMBLER */ 22 | UZ52227 23 | EBB1102 /* BASE CONTROL PROGRAM */ 24 | EDE1102 /* DISPLAY EXCEPTION MONITORING FACILITY */ 25 | EER1400 /* ENVIRONMENT RECORDING EDITING & PRINTING */ 26 | EGA1102 /* GRAPHIC ACCESS METHOD */ 27 | EGS1102 /* GRAPHIC SUBROUTINE PACKAGE */ 28 | EIP1102 /* INTERACTIVE PROBLEM CONTROL SYSTEM */ 29 | EMF1102 /* MF/1 */ 30 | EMI1102 /* MICR/OCR */ 31 | EDM1102 /* DATA MANAGEMENT */ 32 | UZ72608 33 | EDS1102 /* DATA MANAGEMENT SUPPORT */ 34 | UZ68825 UZ71903 35 | EPM1102 /* PROGRAM MANAGEMENT */ 36 | EST1102 /* SYSTEM SUPPORT */ 37 | ESU1102 /* SU BIT STRING */ 38 | ESY1400 /* SYSTEM MODIFICATION PROGRAM 4 */ 39 | UR13349 UR15994 UR17644 UR19590 40 | ETV0108 /* TSO/VTAM */ 41 | EUT1102 /* UTILITIES */ 42 | EVT0108 /* VTAM */ 43 | EXW1102 /* EXTERNAL WRITER */ 44 | ) 45 | DIS(WRITE) 46 | NOAPPLY 47 | . 48 | //* 49 | //SMPPTFIN DD DUMMY 50 | //* 51 | //DLBUCL3 EXEC DLBSMP 52 | //SMPCNTL DD * 53 | ACCEPT G(EML1102 /* MULTI-LEAVING WORK STATION */ 54 | EMS1102 /* MASS STORAGE SYSTEM */ 55 | FDZ1610 /* DEVICE SUPPORT FACILITY */ 56 | ETI1106 /* TERMINAL I/O CONTROLLER */ 57 | ETC0108 /* TCAM */ 58 | ) 59 | DIS(WRITE) 60 | NOAPPLY 61 | . 62 | //* 63 | //SMPPTFIN DD DUMMY 64 | //* 65 | //DLBUCL4 EXEC DLBSMP 66 | //SMPCNTL DD * 67 | ACCEPT G(FBB1221 /* MVS PROCESSOR SUPPORT 2 */ 68 | UY10657 69 | UZ50553 70 | UZ64216 71 | UZ67485 72 | UZ69168 73 | UZ72152 74 | UZ72384 75 | FDS1122 /* MVS PROCESSOR SUPPORT 2 */ 76 | ) 77 | DIS(WRITE) 78 | NOAPPLY 79 | . 80 | //* 81 | //SMPPTFIN DD DUMMY 82 | //* 83 | //DLBUCL5 EXEC DLBSMP 84 | //SMPCNTL DD * 85 | ACCEPT G(EJE1103 /* JES2 WITH 3800 ENHANCEMENTS */ 86 | FDM1133 /* 3800 ENHANCEMENTS - DATA MANAGEMENT */ 87 | FDS1133 /* 3800 ENHANCEMENTS - DATA MANAGEMENT SUPPORT */ 88 | FUT1133 /* 3800 ENHANCEMENTS - UTILITIES */ 89 | ) 90 | DIS(WRITE) 91 | NOAPPLY 92 | COMPRESS(ALL) 93 | . 94 | // 95 | -------------------------------------------------------------------------------- /jcl/smpjob04.jcl: -------------------------------------------------------------------------------- 1 | //SMPJOB04 JOB (SYSGEN),'RECEIVE USERMODS', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //* 5 | //* ***************************************************************** * 6 | //* RECEIVE JIM MORRISON'S 3375+3380+3390 USERMODS * 7 | //* ***************************************************************** * 8 | //* 9 | //DLBUCL EXEC DLBSMP,TIME.SMP=1439 10 | //SMPCNTL DD * 11 | RECEIVE . 12 | //SMPPTFIN DD UNIT=TAPE,VOL=SER=J90009,DISP=(OLD,PASS),DSN=SMPMCS, 13 | // LABEL=(1,SL) 14 | // 15 | -------------------------------------------------------------------------------- /jcl/smpjob05.jcl: -------------------------------------------------------------------------------- 1 | //SMPJOB05 JOB (SYSGEN),'ACCEPT USERMODS', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //* 5 | //* ***************************************************************** * 6 | //* ACCEPT JIM MORRISON'S 3375+3380+3390 USERMODS * 7 | //* ***************************************************************** * 8 | //* 9 | //DLBUCL EXEC DLBSMP,TIME.SMP=1439 10 | //SMPCNTL DD * 11 | 12 | /* Use the following set of SMP4 control statements */ 13 | /* if you have NOT previously installed 3380 + 3390 support */ 14 | 15 | ACCEPT S(M023000 16 | M023100 17 | M023200 M023201 M023202 M023203 M023204 18 | M023300 M023301 M023302 19 | M023400 M023401 M023402 M023403 M023404 M023405 20 | M024001 21 | M024101 22 | M024205 M024206 M024207 23 | M024303 M024304 M024305 24 | M024406 M024407 M024408 25 | ) 26 | USERMODS 27 | NOAPPLY 28 | DIS(WRITE) 29 | COMPRESS(ALL) 30 | . 31 | //SMPPTFIN DD DUMMY 32 | // 33 | -------------------------------------------------------------------------------- /jcl/smpjob06.jcl: -------------------------------------------------------------------------------- 1 | //SMPJOB06 JOB 'REJECT-CLEANUP', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //* 5 | //* ***************************************************************** * 6 | //* REMOVE WORK DATASETS FROM WORK01 AND CLEAN UP AFTER SMP. EXPECT * 7 | //* RC=0004 FROM THIS JOB. * 8 | //* ***************************************************************** * 9 | //* 10 | //DLBUCL EXEC DLBSMP,TIME.SMP=1439 11 | //SMPCNTL DD * 12 | REJECT SELECT(EAS1102 EBB1102 EBT1102 EDE1102 EDM1102 EDS1102 13 | EER1400 EGA1102 EGS1102 EIP1102 EJE1103 EMF1102 14 | EMI1102 EML1102 EMS1102 EPM1102 EST1102 ESU1102 15 | ESY1400 ETC0108 ETI1106 ETV0108 EUT1102 EVT0108 16 | EXW1102 FBB1221 FDM1133 FDS1122 FDS1133 FDZ1610 17 | FUT1133 18 | M023000 19 | M023100 20 | M023200 M023201 M023202 M023203 M023204 21 | M023300 M023301 M023302 22 | M023400 M023401 M023402 M023403 M023404 M023405 23 | M024001 24 | M024101 25 | M024205 M024206 M024207 26 | M024303 M024304 M024305 27 | M024406 M024407 M024408 28 | ) 29 | . 30 | //* 31 | //SMPPTFIN DD DUMMY 32 | //* 33 | // 34 | -------------------------------------------------------------------------------- /jcl/smpjob07.jcl: -------------------------------------------------------------------------------- 1 | //SMPJOB07 JOB (SYSGEN),'GENERATE ICKDSF', 2 | // CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1) 3 | //* 4 | //********************************************************************* 5 | //* 6 | //* MVS 3.8 SYSGEN 7 | //* 8 | //* ICKDSF IS NOT PRESENT IN THE STARTER SYSTEM, BUT IS REQUIRED TO 9 | //* PLACE THE IPL RECORDS ONTO THE VOLUME WHICH WILL HOLD THE TARGET 10 | //* MVS 3.8 SYSTEM. THIS JOBSTREAM UTILIZES THE SYSGEN MACROS INSTALLED 11 | //* DURING THE BUILDING OF THE DISTRIBUTION LIBRARIES TO LINK EDIT 12 | //* ICKDSF FROM THE DISTRIBUTION LIBRARIES INTO SYS1.LINKLIB ON 13 | //* THE STARTER SYSTEM VOLUME - START1. 14 | //* 15 | //* !!! AN IPL IS REQUIRED AFTER THIS JOB COMPLETES !!! 16 | //* 17 | //********************************************************************* 18 | //* 19 | /*MESSAGE ************************************************************ 20 | /*MESSAGE * AN IPL IS REQUIRED AFTER THIS JOB HAS COMPLETED!!! * 21 | /*MESSAGE ************************************************************ 22 | //* 23 | //********************************************************************* 24 | //* USE SGIEH404 TO GENERATE LINK EDIT STATEMENTS FOR ICKDSF 25 | //********************************************************************* 26 | //* 27 | //ASM EXEC PGM=IEUASM,REGION=1024K,PARM='LIST,NOOBJECT,DECK' 28 | //SYSLIB DD DSN=SYS1.AGENLIB,DISP=SHR,UNIT=SYSDA,VOL=SER=SMP000 29 | //SYSUT1 DD UNIT=SYSDA,SPACE=(1700,(1400,50)) 30 | //SYSUT2 DD UNIT=SYSDA,SPACE=(1700,(1400,50)) 31 | //SYSUT3 DD UNIT=SYSDA,SPACE=(1700,(1400,50)) 32 | //SYSPRINT DD SYSOUT=A 33 | //SYSPUNCH DD UNIT=SYSDA,DISP=(,PASS),SPACE=(TRK,15),DCB=BLKSIZE=80 34 | //SYSIN DD * 35 | PRINT OFF 36 | SGIEH404 37 | END 38 | //* 39 | //********************************************************************* 40 | //* BUILD JOBSTREAM TO LINK EDIT IFOX00 and ICKDSF 41 | //********************************************************************* 42 | //* 43 | //IDCAMS EXEC PGM=IDCAMS,REGION=4096K,COND=(0,NE,ASM) 44 | //SYSPRINT DD DUMMY 45 | //DDIN1 DD DATA,DLM='><' 46 | //SMPJOB07 JOB (SYSGEN),'LINK IFOX00/ICKDSF', 47 | // CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1) 48 | //* ***************************************************************** * 49 | //* Re-link IFOX00 from the Distribution Libraries * 50 | //* ***************************************************************** * 51 | //LINK EXEC LINKS,PARM=(NCAL,LIST,XREF), 52 | // CLASS=A,OBJ=,UNIT=,SER=,N=' ',NAME=,P1=,MOD=,P2= 53 | //SYSPUNCH DD DUMMY 54 | //SYSLMOD DD DSN=SYS1.LINKLIB,DISP=SHR 55 | //AOS03 DD DISP=SHR,VOL=(,RETAIN),DSN=SYS1.AOS03 56 | //SYSLIN DD * 57 | INCLUDE AOS03(IFOX0A,IFOX0B) 58 | ENTRY IFOX0A01 59 | ALIAS ASMBLR,IEUASM 60 | NAME IFOX00(R) 61 | INCLUDE AOS03(IFOX0C) 62 | ENTRY IFOX0C01 63 | NAME IFOX01(R) 64 | INCLUDE AOS03(IFOX0D,IFOX0J) 65 | ENTRY IFOX0D01 66 | NAME IFOX02(R) 67 | INCLUDE AOS03(IFOX0E) 68 | ENTRY IFOX0E01 69 | NAME IFOX03(R) 70 | INCLUDE AOS03(IFOX0F) 71 | ENTRY IFOX0F01 72 | NAME IFOX04(R) 73 | INCLUDE AOS03(IFOX0G) 74 | ENTRY IFOX0G01 75 | NAME IFOX05(R) 76 | INCLUDE AOS03(IFOX0H) 77 | ENTRY IFOX0H01 78 | NAME IFOX06(R) 79 | INCLUDE AOS03(IFOX0I) 80 | ENTRY IFOX0I01 81 | NAME IFOX07(R) 82 | INCLUDE AOS03(IFNX1A,IFNX1J,IFNX1K,IFNX1S) 83 | ENTRY IFNX1A01 84 | NAME IFOX11(R) 85 | INCLUDE AOS03(IFNX2A) 86 | ENTRY IFNX2A01 87 | NAME IFOX21(R) 88 | INCLUDE AOS03(IFNX3A,IFNX3B,IFNX3K,IFNX3N) 89 | ENTRY IFNX3A01 90 | NAME IFOX31(R) 91 | INCLUDE AOS03(IFNX4D,IFNX4E,IFNX4M,IFNX4S,IFNX4V) 92 | ENTRY IFNX4M01 93 | NAME IFOX41(R) 94 | INCLUDE AOS03(IFNX4E,IFNX4N,IFNX4S,IFNX4T,IFNX4V) 95 | ENTRY IFNX4T01 96 | NAME IFOX42(R) 97 | INCLUDE AOS03(IFNX5A,IFNX5C,IFNX5D,IFNX5F) 98 | INCLUDE AOS03(IFNX5L,IFNX5M,IFNX5P,IFNX5V) 99 | ENTRY IFNX5C01 100 | NAME IFOX51(R) 101 | INCLUDE AOS03(IFNX6A) 102 | ENTRY IFNX6A01 103 | NAME IFOX61(R) 104 | INCLUDE AOS03(IFNX6B,IFNX6C) 105 | ENTRY IFNX6B01 106 | NAME IFOX62(R) 107 | //* 108 | //LINK EXEC LINKS,PARM='NCAL,LIST,XREF,LET,RENT,REFR', 109 | // CLASS=A,OBJ=,UNIT=,SER=,N=' ',NAME=,P1=,MOD=,P2= 110 | //SYSPUNCH DD DUMMY 111 | //SYSLMOD DD DSN=SYS1.LINKLIB,DISP=SHR 112 | >< 113 | //DDIN2 DD DSN=*.ASM.SYSPUNCH,DISP=(OLD,DELETE) 114 | //DDOUT DD UNIT=SYSDA,DISP=(MOD,PASS), 115 | // SPACE=(TRK,15),DCB=BLKSIZE=80 116 | //SYSIN DD * 117 | REPRO INFILE(DDIN1) OUTFILE(DDOUT) 118 | REPRO INFILE(DDIN2) OUTFILE(DDOUT) SKIP(4) 119 | //* 120 | //********************************************************************* 121 | //* WRITE JOBSTEAM TO INTERNAL READER TO LINK EDIT IFOX00/ICKDSF 122 | //********************************************************************* 123 | //* 124 | //IEBGENER EXEC PGM=IEBGENER,COND=(0,NE,ASM) 125 | //SYSIN DD DUMMY 126 | //SYSPRINT DD DUMMY 127 | //SYSUT1 DD DSN=*.IDCAMS.DDOUT,DISP=(OLD,DELETE) 128 | //SYSUT2 DD SYSOUT=(A,INTRDR) 129 | //* 130 | //********************************************************************* 131 | //* COPY SVC REQUIRED BY ICKDSF TO SVCLIB 132 | //********************************************************************* 133 | //* 134 | //IEBCOPY EXEC PGM=IEBCOPY,REGION=1024K,COND=(0,NE,ASM) 135 | //SYSPRINT DD SYSOUT=A 136 | //IN DD DSN=SYS1.AOSU0,DISP=SHR,UNIT=SYSDA,VOL=SER=SMP000 137 | //OUT DD DSN=SYS1.SVCLIB,DISP=OLD 138 | //SYSUT3 DD UNIT=SYSDA,SPACE=(80,(60,45)),DISP=(NEW,DELETE) 139 | //SYSIN DD * 140 | COPY INDD=IN,OUTDD=OUT 141 | SELECT MEMBER=(IGG019P2) 142 | // 143 | -------------------------------------------------------------------------------- /jcl/smpmount.jcl: -------------------------------------------------------------------------------- 1 | //SMPMOUNT JOB (SYSGEN),'ISSUE MOUNT COMMANDS',CLASS=A,MSGCLASS=A 2 | //********************************************************************* 3 | //* * 4 | //* This job presents a MOUNT command to the operator for confirma- * 5 | //* tion that sets the Storage Class to PRIVATE for the volume that * 6 | //* is to receive Distribution Library Datasets. * 7 | //* * 8 | //********************************************************************* 9 | // M 148,VOL=(SL,SMP000),USE=PRIVATE 10 | //S1 EXEC PGM=IEFBR14 11 | // 12 | -------------------------------------------------------------------------------- /jcl/sysgen03.jcl: -------------------------------------------------------------------------------- 1 | //SYSGEN03 JOB (SYSGEN),'LOAD SYS1.APVTMACS', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //* 5 | //********************************************************************* 6 | //* CREATE/LOAD SYS1.APVTMACS WHICH WAS CREATED FROM OPTIONAL MATERIALS 7 | //********************************************************************* 8 | //* 9 | //PVTMAC01 EXEC PGM=IEBUPDTE,REGION=1024K,PARM=NEW 10 | //STEPCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 11 | //SYSUT2 DD DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,VOL=SER=MVS000, 12 | // DSN=SYS1.APVTMACS, 13 | // SPACE=(TRK,(210,,20),RLSE), 14 | // DCB=(SYS1.MACLIB) 15 | //SYSPRINT DD SYSOUT=*,FREE=CLOSE 16 | //SYSIN DD UNIT=TAPE,DISP=OLD,DSN=APVTMACS.OFFLOAD, 17 | // VOL=SER=PVTMAC,LABEL=(1,SL) 18 | //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -PVTMAC01 19 | // 20 | -------------------------------------------------------------------------------- /jcl/sysgen06.jcl: -------------------------------------------------------------------------------- 1 | //SYSGEN06 JOB (SYSGEN),'APPLY NEEDED PTFS', 2 | // CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A 3 | /*JOBPARM LINES=100 4 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 5 | //* 6 | //* ***************************************************************** * 7 | //* APPLY ALL PTFS THAT ARE REQUIRED FOR USER MODS TO BE APPLIED NEXT * 8 | //* PLUS SEVERAL THAT WILL PRECLUDE THE NEED FOR A USERMOD (AZ58122) * 9 | //* ***************************************************************** * 10 | //* 11 | //SMPAPP EXEC SMPAPP 12 | //SMPCNTL DD * 13 | APPLY SELECT( 14 | UZ57911 UZ60375 UZ63374 UZ65742 /* TJES801 */ 15 | UZ68537 UZ71437 UZ76165 UZ77164 UY02859 16 | UZ45157 UZ45158 /* TMVS816 */ 17 | UZ56445 /* VS49603 */ 18 | UZ79531 /* WM00017 */ 19 | UY29953 /* ZP60002 */ 20 | UZ68196 /* ZP60005 */ 21 | UZ57385 UZ67122 UZ68882 /* ZP60006 */ 22 | UZ71054 UZ61025 23 | UY02947 UZ44177 UZ47575 UZ47871 UZ48384 /* ZP60012 */ 24 | UZ82014 UZ82941 UZ83396 /* ZP60012 */ 25 | UY01186 UY13091 UY16532 UY17021 UZ48765 /* ZP60014 */ 26 | UZ48744 /* ZP60016 */ 27 | UZ67391 /* ZP60019 */ 28 | UZ48373 UZ69717 /* ZP60020 */ 29 | UZ75398 /* ZP60027 */ 30 | UZ44753 /* ZP60032 */ 31 | UZ42622 /* ZP60035 */ 32 | UY01301 /* ZP60038 */ 33 | UZ62088 /* ZP60039 */ 34 | UY13810 /* ZP60040 */ 35 | UY07104 UY17588 UZ83530 /* ZUM0008 */ 36 | UZ54484 UZ56250 UZ56759 /* SUPERSEDES */ 37 | UZ57919 UZ61346 UZ61349 /* USERMOD */ 38 | UZ61367 /* AZ58122 */ 39 | ) 40 | DIS(WRITE) 41 | COMPRESS(ALL) 42 | . 43 | //* 44 | // 45 | -------------------------------------------------------------------------------- /profiles.conf: -------------------------------------------------------------------------------- 1 | DASDVOL * READ 2 | DASDVOL * ADMIN ALTER 3 | DASDVOL * STCGROUPALTER 4 | DATASET * READ 5 | DATASET * ADMIN ALTER 6 | DATASET * STCGROUPALTER 7 | DATASET RPF.V1R5M3.SRPFPROF UPDATE 8 | DATASET SYS1.BRODCAST UPDATE 9 | DATASET SYS1.DUPLEX NONE 10 | DATASET SYS1.PAGECSA NONE 11 | DATASET SYS1.PAGELPA NONE 12 | DATASET SYS1.PAGEL01 NONE 13 | DATASET SYS1.PAGEL02 NONE 14 | DATASET SYS1.PAGES01 NONE 15 | DATASET SYS1.SECURE.* NONE 16 | DATASET SYS1.SECURE.* ADMIN NONE 17 | DATASET SYS1.SECURE.* RAKFADM UPDATE 18 | DATASET SYS1.STGINDEX NONE 19 | DATASET SYS1.UCAT.TSO UPDATE 20 | DATASET UCPUB000 UPDATE 21 | FACILITYDIAG8CMD NONE 22 | FACILITYDIAG8CMD ADMIN READ 23 | FACILITYDIAG8CMD STCGROUPREAD 24 | FACILITYRAKFADM NONE 25 | FACILITYRAKFADM ADMIN NONE 26 | FACILITYRAKFADM RAKFADM READ 27 | FACILITYRAKFADM STCGROUPREAD 28 | FACILITYSVC244 NONE 29 | FACILITYSVC244 ADMIN READ 30 | FACILITYSVC244 STCGROUPREAD 31 | TAPEVOL * READ 32 | TAPEVOL * ADMIN ALTER 33 | TAPEVOL * STCGROUPALTER 34 | TERMINAL* READ 35 | FACILITYBRXALLAUTH NONE 36 | FACILITYBRXPRIVAUTH NONE 37 | FACILITYBRXPRIVAUTH ADMIN READ 38 | FACILITYBRXCONSAUTH NONE 39 | FACILITYBRXCONSAUTH ADMIN READ 40 | FACILITYBRXMTTAUTH NONE 41 | FACILITYBRXMTTAUTH ADMIN READ 42 | FACILITYBRXSMFAUTH NONE 43 | FACILITYBRXSMFAUTH ADMIN READ 44 | FACILITYBRXCPAUTH NONE 45 | FACILITYBRXCPAUTH ADMIN READ 46 | -------------------------------------------------------------------------------- /sajobs/README.md: -------------------------------------------------------------------------------- 1 | # SA JOBS 2 | 3 | Job card image decks 4 | 5 | * `inspool0.sajob` Directives to the stand-alone DASDI program for the SPOOL0 volume 6 | * `instart1.sajob` Directives to the stand-alone DASDI program for the START1 volume 7 | * `rsspool0.sajob` Directives to the stand-alone DUMP/RESTORE program for the SPOOL0 volume 8 | * `rsstart1.sajob` Directives to the stand-alone DUMP/RESTORE program for the START1 volume -------------------------------------------------------------------------------- /sajobs/inspool0.sajob: -------------------------------------------------------------------------------- 1 | SPOOL0 JOB 'INITIALIZE MVS STARTER SYSTEM SPOOL VOLUME' 2 | MSG TODEV=1052,TOADDR=009 3 | DADEF TODEV=3330,TOADDR=151,IPL=NO,VOLID=BBBBBB,BYPASS=YES 4 | VLD NEWVOLID=SPOOL0,OWNERID=HERCULES 5 | VTOCD STRTADR=1,EXTENT=5 6 | END 7 | -------------------------------------------------------------------------------- /sajobs/instart1.sajob: -------------------------------------------------------------------------------- 1 | START1 JOB 'INITIALIZE MVS STARTER SYSTEM RES VOLUME' 2 | MSG TODEV=1052,TOADDR=009 3 | DADEF TODEV=3330,TOADDR=150,IPL=NO,VOLID=AAAAAA,BYPASS=YES 4 | VLD NEWVOLID=START1,OWNERID=HERCULES 5 | VTOCD STRTADR=1,EXTENT=5 6 | END 7 | -------------------------------------------------------------------------------- /sajobs/rsspool0.sajob: -------------------------------------------------------------------------------- 1 | SPOOL0 JOB 'RESTORE MVS STARTER SYSTEM SPOOL VOLUME' 2 | MSG TODEV=1052,TOADDR=009 3 | RESTORE FROMDEV=3400,FROMADDR=281,TODEV=3330,TOADDR=151, 4 | VOLID=SPOOL0 5 | END 6 | -------------------------------------------------------------------------------- /sajobs/rsstart1.sajob: -------------------------------------------------------------------------------- 1 | START1 JOB 'RESTORE MVS STARTER SYSTEM RES VOLUME' 2 | MSG TODEV=1052,TOADDR=009 3 | RESTORE FROMDEV=3400,FROMADDR=280,TODEV=3330,TOADDR=150, 4 | VOLID=START1 5 | END 6 | -------------------------------------------------------------------------------- /screenshots/01_netsol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/screenshots/01_netsol.png -------------------------------------------------------------------------------- /screenshots/02_wISPF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/screenshots/02_wISPF.png -------------------------------------------------------------------------------- /screenshots/03_batch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/screenshots/03_batch.png -------------------------------------------------------------------------------- /screenshots/04_MVP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/screenshots/04_MVP.png -------------------------------------------------------------------------------- /screenshots/05_UTILITIES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/screenshots/05_UTILITIES.png -------------------------------------------------------------------------------- /screenshots/06_ISRDDN_DALCDS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/screenshots/06_ISRDDN_DALCDS.png -------------------------------------------------------------------------------- /sysgen.conf: -------------------------------------------------------------------------------- 1 | ## 2 | ## SECTION: generic 3 | ## 4 | ARCHMODE S/370 5 | CPUSERIAL 000611 6 | CPUMODEL 0148 7 | MAINSIZE 16 8 | XPNDSIZE 0 9 | CNSLPORT 3270 10 | NUMCPU 1 11 | LOADPARM ........ 12 | SYSEPOCH 1900 13 | # PANOPT RATE=250 14 | OSTAILOR QUIET 15 | CODEPAGE 819/1047 16 | # QUIT 17 | 18 | ## 19 | ## SECTION: build_starter 20 | ## ibcdmprs 21 | ## 22 | # .-----------------------------Device number 23 | # | .-----------------------Device type 24 | # | | .---------------File name 25 | # | | | 26 | # V V V 27 | #--- ---- -------------------- 28 | 0009 1052-C / 29 | 000C 1442 sajobs/instart1.sajob 30 | 000D 1442 sajobs/rsstart1.sajob 31 | 000E 1442 sajobs/inspool0.sajob 32 | 000F 1442 sajobs/rsspool0.sajob 33 | 0150 3330 MVSCE/DASD/start1.3330 34 | 0151 3330 MVSCE/DASD/spool0.3330 35 | 0280 3420 tape/vs2start.het 36 | 0281 3420 tape/vs2spool.het 37 | 38 | ## 39 | ## SECTION: smp1 40 | ## 41 | 42 | #YROFFSET -28 # offset for non-Y2k compliant OS 43 | #TZOFFSET -0100 # daylight savings time in effect 44 | # .-----------------------------Device number 45 | # | .-----------------------Device type 46 | # | | .---------------File name 47 | # | | | 48 | # V V V 49 | #--- ---- -------------------- 50 | 0170 3420 / 51 | 000E 1403 prt00e.txt 52 | 0012 3505 jcl/null.jcl eof 53 | 0013 3525 pch013.txt ascii 54 | 001F 3215-C / 55 | # mvs 3.7 "starter" system residence 56 | 0150 3330 MVSCE/DASD/start1.3330 57 | # mvs 3.7 jes2 spool volume 58 | 0151 3330 MVSCE/DASD/spool0.3330 59 | 60 | ## 61 | ## SECTION: smp2 62 | ## 63 | 64 | 0170 3420 * 65 | 000E 1403 prt00e.txt noclear 66 | #0012 3505 jcl/smpmount.jcl eof 67 | 0013 3525 pch013.txt ascii 68 | 001F 3215-C / 69 | # target for distribution libraries 70 | 0148 3350 MVSCE/DASD/smp000.3350 71 | # mvs 3.7 work volume 72 | 0149 3350 MVSCE/DASD/work00.3350 73 | # work volume during smp/sysgen & in mvs 3.8j system 74 | 014A 3350 MVSCE/DASD/work01.3350 75 | # mvs 3.7 "starter" system residence 76 | 0150 3330 MVSCE/DASD/start1.3330 77 | # mvs 3.7 jes2 spool volume 78 | 0151 3330 MVSCE/DASD/spool0.3330 79 | 80 | ## 81 | ## SECTION: sysgen 82 | ## 83 | 84 | # .-----------------------------Device number 85 | # | .-----------------------Device type 86 | # | | .---------------File name 87 | # | | | 88 | # V V V 89 | #--- ---- -------------------- 90 | #0170 3420 tape/stage1.het 91 | 000E 1403 prt00e.txt 92 | 0012 3505 jcl/null.jcl eof trunc ascii 93 | 0013 3525 pch013.txt ascii 94 | 001F 3215-C / 95 | # distribution libraries 96 | 0148 3350 MVSCE/DASD/smp000.3350 97 | # mvs 3.7 "starter" system residence 98 | 0150 3330 MVSCE/DASD/start1.3330 99 | # mvs 3.7 jes2 spool volume 100 | 0151 3330 MVSCE/DASD/spool0.3330 101 | # mvs 3.7 work volume 102 | 0248 3350 MVSCE/DASD/work00.3350 103 | # work volume during smp/sysgen & in mvs 3.8j system 104 | 0249 3350 MVSCE/DASD/work01.3350 105 | 106 | ## 107 | ## SECTION: sysgen2 108 | ## 109 | 110 | # .-----------------------------Device number 111 | # | .-----------------------Device type 112 | # | | .---------------File name 113 | # | | | 114 | # V V V 115 | #--- ---- -------------------- 116 | 0170 3420 tape/stage1.het 117 | 000E 1403 prt00e.txt 118 | 0012 3505 jcl/null.jcl eof trunc ascii 119 | 0013 3525 pch013.txt ascii 120 | 001F 3215-C / 121 | # distribution libraries 122 | 0148 3350 MVSCE/DASD/smp000.3350 123 | # mvs 3.7 "starter" system residence 124 | 0150 3330 MVSCE/DASD/start1.3330 125 | # mvs 3.7 jes2 spool volume 126 | 0151 3330 MVSCE/DASD/spool0.3330 127 | # mvs 3.7 work volume 128 | 0248 3350 MVSCE/DASD/work00.3350 129 | # work volume during smp/sysgen & in mvs 3.8j system 130 | 0249 3350 MVSCE/DASD/work01.3350 131 | # IPL volume of the target MVS 3.8j system 132 | 0149 3350 MVSCE/DASD/mvsres.3350 133 | # additional system datasets for MVS 3.8j 134 | 014a 3350 MVSCE/DASD/mvs000.3350 135 | # JES2 spool queues dataset 136 | 014b 3350 MVSCE/DASD/spool1.3350 137 | # Page datasets 138 | 014c 3350 MVSCE/DASD/page00.3350 139 | 140 | ## 141 | ## SECTION: customization 142 | ## 143 | 144 | CPUSERIAL 134001 145 | # .-----------------------------Device number 146 | # | .-----------------------Device type 147 | # | | .---------------File name 148 | # | | | 149 | # V V V 150 | #--- ---- --------------------------------- card readers 151 | 000C 3505 127.0.0.1:3505 sockdev autopad trunc ascii eof 152 | 001C 3505 jcl/null.jcl eof 153 | # ----------------------------------------------- card punches & printers 154 | 000D 3525 pch00d.txt ascii 155 | 000E 1403 prt00e.txt 156 | 000F 3211 prt00f.txt 157 | 001D 3525 pch01d.txt ascii 158 | # ----------------------------------------------- 2401 on channel 1 159 | 0100.4 3420 * 160 | # ----------------------------------------------- 3420 on channel 3 161 | 0310.4 3420 * 162 | # ----------------------------------------------- 3350 on Channel 1 163 | 0150 3350 MVSCE/DASD/mvsres.3350 164 | 0151 3350 MVSCE/DASD/mvs000.3350 165 | 0152 3350 MVSCE/DASD/page00.3350 166 | 0153 3350 MVSCE/DASD/spool1.3350 167 | 0250 3350 MVSCE/DASD/smp000.3350 168 | 0251 3350 MVSCE/DASD/work00.3350 169 | 0252 3350 MVSCE/DASD/work01.3350 170 | # ----------------------------------------------- consoles 171 | 0010 3270 console 172 | 0009 3215-C / 173 | 0015 1403 mvslog.txt 174 | # ----------------------------------------------- 3270's for TSO 175 | 0400.8 3270 tso 176 | 177 | ## 178 | ## SECTION: customization2 179 | ## 180 | 181 | DIAG8CMD ENABLE 182 | SHCMDOPT ENABLE DIAG8 183 | 184 | CPUSERIAL 134001 185 | # .-----------------------------Device number 186 | # | .-----------------------Device type 187 | # | | .---------------File name 188 | # | | | 189 | # V V V 190 | #--- ---- --------------------------------- card readers 191 | 000C 3505 127.0.0.1:3505 sockdev autopad trunc ascii eof 192 | 001A 3505 127.0.0.1:3506 sockdev autopad trunc ebcdic eof 193 | 001C 3505 jcl/null.jcl eof 194 | # ----------------------------------------------- card punches & printers 195 | 000D 3525 pch00d.txt ascii 196 | 000E 1403 prt00e.txt 197 | 000F 3211 prt00f.txt 198 | 001D 3525 pch01d.txt ascii 199 | # ----------------------------------------------- 2401 on channel 1 200 | 0100.4 3420 * 201 | # ----------------------------------------------- 3420 on channel 3 202 | 0310.4 3420 * 203 | # ----------------------------------------------- 3350 on Channel 1 204 | 0150 3350 MVSCE/DASD/mvsres.3350 205 | 0151 3350 MVSCE/DASD/mvs000.3350 206 | 0152 3350 MVSCE/DASD/page00.3350 207 | 0153 3350 MVSCE/DASD/spool1.3350 208 | 0250 3350 MVSCE/DASD/smp000.3350 209 | 0251 3350 MVSCE/DASD/work00.3350 210 | 0252 3350 MVSCE/DASD/work01.3350 211 | 0180 3380 MVSCE/DASD/pub000.3380 212 | 0190 3390 MVSCE/DASD/pub001.3390 cu=3880 213 | 0220 2314 MVSCE/DASD/sortw1.2314 214 | 0221 2314 MVSCE/DASD/sortw2.2314 215 | 0222 2314 MVSCE/DASD/sortw3.2314 216 | 0223 2314 MVSCE/DASD/sortw4.2314 217 | 0224 2314 MVSCE/DASD/sortw5.2314 218 | 0225 2314 MVSCE/DASD/sortw6.2314 219 | 0253 3350 MVSCE/DASD/syscpk.3350 220 | # ----------------------------------------------- consoles 221 | 0010 3270 console 222 | 0009 3215-C / 223 | 0015 1403 mvslog.txt 224 | # ----------------------------------------------- 3270's for TSO 225 | 0400.8 3270 tso -------------------------------------------------------------------------------- /tape/README.md: -------------------------------------------------------------------------------- 1 | # Tapes 2 | 3 | These files were downloaded from http://www.jaymoseley.com/hercules/installMVS/iPREREQv7.htm 4 | 5 | The following is modified from Jay Moseley: 6 | 7 | ### Starter System 8 | 9 | The MVS starter system is simply an MVS 3.7 system that is contained on two 3330 DASD volumes. The starter system is provided by IBM on two unlabeled tapes (`vs2start.het` and `vs2spool.het`), each of which contains three files: 10 | 11 | 1) a stand-alone program to initialize a DASD volume, 12 | 2) a stand-alone program to restore a tape dump to a DASD volume, and 13 | 3) a tape dump of the DASD volume. 14 | 15 | * **vs2start.het** Volume image for the START1 3330 DASD volume 16 | * **vs2spool.het** Volume image for the SPOOL0 3330 DASD volume 17 | 18 | ### Distribution Tapes 19 | 20 | The MVS 3.8j distribution tapes provided by IBM is a set of six tapes. Of these six tapes, only three are needed/provided here: 21 | 22 | 1) **smp4b.het** tape image containing SMP4 load modules and procedures 23 | * * Contains the **System Modification Program** (SMP) load modules and procedures. There is already a version of SMP on the starter system, but it is at a version level that is too early to correctly build the MVS 3.8j system, so you will need the version on this tape. You will also need the procedures from the tape to build the distribution libraries from which MVS 3.8j will be built. 24 | * * The System Modification Program was created by IBM to control the distribution and updating of their MVS Operating System installed in their customer's mainframe systems. Distributing a completely new copy of the entire Operating System code when changes (corrections) were made to a part of the code base would not work for even a small target customer base. So SMP was created to allow the management of MVS Operating System code on mainframe computers. During installation of a completely new system (which is what we are doing) SMP creates a substantial group of files into which it will collect and maintain everything known about the target MVS 3.8j system. SMP will load the elements of the MVS Operating System into these files from the distribution tape. Any modifications and patches we apply during this initial installation will also be placed into the files by SMP. After we complete the System Generation, a copy of the jobstream that was used to generate the system will also be read by SMP and the information about the choices made for how the Operating System will function will also be placed into the files. Then, whenever a change needs to be applied to the system SMP will be used to apply the change, ensuring that nothing is broken in the target Operating System. That is a very brief overview of SMP and the functions it provides. In 1988 Sam Golub wrote an article providing a very concise overview of SMP. A copy of that article is available at `documentation/SMP_Tutorial.pdf`. If you really want to learn more about the System Modification Program, you can read the 1980 version of the SMP Programmers Guide: `documentation/GC28-0673-6_SMP_SysPgmrGde_Sep80OCR.pdf`. 25 | 2) **zdlib1.het** tape image containing all product elements required to build the distribution libraries for MVS 3.8j 26 | 3) **dz1d02.het** tape image containing Device Support Facilities (release 13) components 27 | * * Contains a more recent version of the Device Support Facilities than the one that will be installed with the other components from the second tape. It is nice to have both versions of these programs, as the later version is required for managing the DASD types that were introduced after MVS 3.8j. As we will be installing user modifications to allow our target MVS 3.8j system to use those devices, we will need the services of the more updated utilities. 28 | 29 | The base program directory for MVS 3.8j is an interesting read, and it is available at: `documentation/mvs38bas.pdf`. This is the documentation that accompanies the product tapes distributed from IBM and contains detailed information about what is contained on the tapes. 30 | 31 | The origin of these tapes was a CD-ROM ordered from the CBT web site: *CBT MVS Utilitys Tape CD-ROM 5 dated 2000-12-6.* 32 | 33 | ### Instalation Tapes 34 | 35 | 1) **apvtmacs.het** Macros required for some user modifications 36 | 1) **j90009.het** Jim Morrison's 3375/3380/3390 modifications 37 | 1) **ptfs.het** A large collection (1,482!) of known PTFs (program Temporary Fixes) for MVS 3.8j 38 | 1) **rpf184.het** A collection of macros required for some Usermods 39 | 1) **stage1.het** A blank, initialized tape used to transfer stage1 output to host computer stage 2 jobstreams 40 | 41 | 42 | -------------------------------------------------------------------------------- /tape/apvtmacs.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/apvtmacs.het -------------------------------------------------------------------------------- /tape/dz1d02.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/dz1d02.het -------------------------------------------------------------------------------- /tape/j90009.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/j90009.het -------------------------------------------------------------------------------- /tape/ptfs.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/ptfs.het -------------------------------------------------------------------------------- /tape/rpf184.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/rpf184.het -------------------------------------------------------------------------------- /tape/smp4b.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/smp4b.het -------------------------------------------------------------------------------- /tape/stage1.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/stage1.het -------------------------------------------------------------------------------- /tape/vs2DistributionTapes.md5sums: -------------------------------------------------------------------------------- 1 | 68cb2ce9d27aecf26b3ca4f143cddb86 smp4b.het 2 | 71c587807a8caf90b02fe7f56ba47303 zdlib1.het 3 | cbe638d28d87ed329b2af500dc0d7596 dz1d02.het 4 | -------------------------------------------------------------------------------- /tape/vs2spool.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/vs2spool.het -------------------------------------------------------------------------------- /tape/vs2start.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/vs2start.het -------------------------------------------------------------------------------- /tape/vs2starter.md5sums: -------------------------------------------------------------------------------- 1 | d3f3a9a06dbb9d6ed1bcb5f7b807a164 vs2spool.het 2 | 4d8ed2f548e7c4da5bd96b33aba19378 vs2start.het 3 | -------------------------------------------------------------------------------- /tape/zdlib1.het: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/tape/zdlib1.het -------------------------------------------------------------------------------- /usermods/AY12275.jcl: -------------------------------------------------------------------------------- 1 | //AY12275 JOB (SYSGEN),'J01 M01: AY12275', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* 2002/02/25 @kl 10 | //* 11 | //* OY12275 - TCTRSZ INCORRECTLY REFLECTS SIZE OF PRIVATE AREA, 12 | //* RATHER THAN REGION SIZE REQUESTED. 13 | //* 14 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 15 | //SMPPTFIN DD DATA,DLM='??' 16 | ++USERMOD(AY12275). 17 | ++VER(Z038) FMID(EBB1102) PRE(UZ35042) 18 | /* 19 | PROBLEM DESCRIPTION(S): 20 | OY12275 - TCTRSZ INCORRECTLY REFLECTS SIZE OF PRIVATE AREA, 21 | RATHER THAN REGION SIZE REQUESTED. 22 | COMPONENT: 5752-SC1CH-EBB1102 23 | APARS FIXED: OY12275 24 | SPECIAL CONDITIONS: 25 | COMMENTS: NONE 26 | */. 27 | ++ZAP(IEAVPRT0) DISTLIB(AOSC5). 28 | NAME IEAVPRT0 29 | VER 032E 58D0,7014 L RWORK3,PQESIZE GET REGION SIZE FROM PQE 30 | REP 032E 58D0,45BC L RWORK3,VVREGSZ GET REGION SIZE FROM LDA 31 | IDRDATA AY12275 32 | ?? 33 | //SMPCNTL DD * 34 | RECEIVE 35 | SELECT(AY12275) 36 | . 37 | /* 38 | //* 39 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 40 | //NUCLEUS DD DISP=SHR,DSN=SYS1.NUCLEUS 41 | //SMPCNTL DD * 42 | APPLY 43 | SELECT(AY12275) 44 | BYPASS(ID) 45 | CHECK 46 | . 47 | /* 48 | //* 49 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 50 | //NUCLEUS DD DISP=SHR,DSN=SYS1.NUCLEUS 51 | //SMPCNTL DD * 52 | APPLY 53 | SELECT(AY12275) 54 | DIS(WRITE) 55 | . 56 | /* 57 | // 58 | -------------------------------------------------------------------------------- /usermods/JLM0003.jcl: -------------------------------------------------------------------------------- 1 | //JLM0003 JOB (SYSGEN),'J04 M04: JLM0003', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //********************************************************************* 10 | //* Install USERMOD JLM0003 - replace TSO Command Authorization Table * 11 | //* (IKJEFTE2) * 12 | //********************************************************************* 13 | //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 14 | //UPDATE01 EXEC PGM=IEBUPDTE,PARM=NEW 15 | //SYSPRINT DD SYSOUT=* 16 | //SYSUT2 DD DISP=SHR,DSN=SYS1.UMODSRC 17 | //SYSIN DD * 18 | ./ ADD NAME=IKJEFTE2 19 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 20 | * * 21 | * SOURCE -- MVS 3.8 OPTIONAL MATERIALS; SYM1-3 * 22 | * * 23 | * STATUS -- * 24 | * * 25 | * CHANGE LEVEL 040 000 * 26 | * * 27 | * FUNCTION -- * 28 | * * 29 | * THIS MODULE COMPRISES THE CSECT FOR THE COMMAND NAMES WHICH ARE * 30 | * TO BE ATTACHED BY THE TMP AS ELIGIBLE FOR AUTHORIZATION * 31 | * * 32 | * ENTRY POINTS -- * 33 | * * 34 | * NONE * 35 | * * 36 | * INPUT -- * 37 | * * 38 | * NONE * 39 | * * 40 | * OUTPUT -- * 41 | * * 42 | * NONE * 43 | * * 44 | * EXTERNAL REFERENCES -- * 45 | * * 46 | * NONE * 47 | * * 48 | * EXITS, NORMAL -- * 49 | * * 50 | * NONE * 51 | * * 52 | * EXITS, ERROR -- * 53 | * * 54 | * NONE * 55 | * * 56 | * TABLES/WORK AREA -- * 57 | * * 58 | * NONE * 59 | * * 60 | * ATTRIBUTE -- * 61 | * * 62 | * REFRESHABLE * 63 | * * 64 | * NOTES -- * 65 | * * 66 | * THIS MODULE IS CHARACTER CODE DEPENDENT UPON AN INTERNAL REPRE- * 67 | * SENTATION OF THE EXTERNAL CHARACTER SET EQUIVALENT TO THE ONE IN * 68 | * USE AT ASSEMBLY TIME * 69 | * * 70 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 71 | EJECT 72 | * /* START OF SPECIFICATIONS **** 73 | * 74 | *1MODULE-NAME = IKJEFTE2 75 | * 76 | *1DESCRIPTIVE-NAME = APF-ELIGIBLE-COMMAND-NAME TABLE 77 | * 78 | *1DESCRIPTION = CONTAINS THE COMMAND-NAMES WHICH ARE TO BE ATTACHED 79 | * BY THE TMP AS ELIGIBLE FOR AUTHORIZATION 80 | * 81 | *1MODULE TYPE = TABLE 82 | * 2FIELD = BLANKS 83 | * 3TYPE = CHARACTER STRING 84 | * 2FIELD = BLANKS 85 | * 3TYPE = CHARACTER STRING 86 | * 2FIELD = BLANKS 87 | * 3TYPE = CHARACTER STRING 88 | * 2FIELD = BLANKS 89 | * 3TYPE = CHARACTER STRING 90 | * 2FIELD = BLANKS 91 | * 3TYPE = CHARACTER STRING 92 | * 2FIELD = BLANKS 93 | * 3TYPE = CHARACTER STRING 94 | * 2FIELD = BLANKS 95 | * 3TYPE = CHARACTER STRING 96 | * 2FIELD = BLANKS 97 | * 3TYPE = CHARACTER STRING 98 | * 2FIELD = BLANKS 99 | * 3TYPE = CHARACTER STRING 100 | * 2FIELD = BLANKS 101 | * 3TYPE = CHARACTER STRING 102 | * 103 | **** END OF SPECIFICATIONS ***/ 104 | EJECT 105 | SPACE 3 106 | ENTRY APFCTABL 107 | SPACE 1 108 | IKJEFTE2 CSECT 109 | DC C'IKJEFTE2' MODULE NAME 110 | DC C'&SYSDATE' RELEASE LEVEL 111 | APFCTABL DS 0D ALIGNMENT 112 | SPACE 2 113 | DC C'# ' CMDSBSYS 114 | DC C'CMDSBSYS' CMDSBSYS 115 | DC C'IM ' IMON/370 116 | DC C'LISTD ' TSO LIST DATASET 117 | DC C'LISTDS ' TSO LIST DATASET 118 | DC C'IKJEHDS1' TSO LIST DATASET 119 | DC C'ISPF ' ISPF 120 | DC C'ISPFLINK' ISPF 121 | DC C'ISPFMAIN' ISPF 122 | DC C'PDS ' PDS UTILITY 123 | DC C'PDS86 ' PDS UTILITY 124 | DC C'QUEUE ' QUEUE 125 | DC C'QUE ' QUEUE 126 | DC C'Q ' QUEUE 127 | DC C'RFE ' REVIEW FRONT END 128 | DC C'RPF ' RPF 129 | DC C'RPFMAIN ' RPF 130 | DC C'SPY ' SPY CONSOLE MONITOR 131 | DC C'BREXX ' BREXX/370 132 | DC C'REXX ' BREXX/370 133 | DC C'RX ' BREXX/370 134 | DC C'CDSCB ' 135 | DC C' ' TERMINATOR 136 | SPACE 2 137 | END 138 | ./ ENDUP 139 | /* 140 | //* 141 | //SMPASM02 EXEC SMPASML,M=IKJEFTE2,COND=(0,NE) 142 | //* 143 | //RECV03 EXEC SMPAPP,COND=(0,NE),WORK=SYSALLDA 144 | //SMPPTFIN DD * 145 | ++USERMOD(JLM0003) 146 | . 147 | ++VER(Z038) 148 | FMID(EBB1102) 149 | . 150 | ++MOD(IKJEFTE2) 151 | DISTLIB(AOST4) 152 | LKLIB(UMODLIB) 153 | . 154 | /* 155 | //SMPCNTL DD * 156 | RECEIVE 157 | SELECT(JLM0003) 158 | . 159 | APPLY 160 | SELECT(JLM0003) 161 | DIS(WRITE) 162 | . 163 | // 164 | -------------------------------------------------------------------------------- /usermods/JLM0004.jcl: -------------------------------------------------------------------------------- 1 | //JLM0004 JOB (SYSGEN),'J05 M05: JLM0004', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //********************************************************************* 10 | //* Install USERMOD JLM0004 - replace TSO Command Authorization Table * 11 | //* (IKJEFTE8) * 12 | //********************************************************************* 13 | //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 14 | //UPDATE01 EXEC PGM=IEBUPDTE,PARM=NEW 15 | //SYSPRINT DD SYSOUT=* 16 | //SYSUT2 DD DISP=SHR,DSN=SYS1.UMODSRC 17 | //SYSIN DD * 18 | ./ ADD NAME=IKJEFTE8 19 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 20 | * * 21 | * SOURCE -- MVS 3.8 OPTIONAL MATERIALS; SYM1-3 * 22 | * * 23 | * STATUS -- * 24 | * * 25 | * CHANGE LEVEL 040 000 * 26 | * * 27 | * FUNCTION -- * 28 | * * 29 | * THIS MODULE COMPRISES THE CSECT FOR THE PROGRAM NAMES WHICH ARE * 30 | * TO BE ATTACHED BY TMP-CALL AS ELIGIBLE FOR AUTHORIZATION * 31 | * * 32 | * ENTRY POINTS -- * 33 | * * 34 | * NONE * 35 | * * 36 | * INPUT -- * 37 | * * 38 | * NONE * 39 | * * 40 | * OUTPUT -- * 41 | * * 42 | * NONE * 43 | * * 44 | * EXTERNAL REFERENCES -- * 45 | * * 46 | * NONE * 47 | * * 48 | * EXITS, NORMAL -- * 49 | * * 50 | * NONE * 51 | * * 52 | * EXITS, ERROR -- * 53 | * * 54 | * NONE * 55 | * * 56 | * TABLES/WORK AREA -- * 57 | * * 58 | * NONE * 59 | * * 60 | * ATTRIBUTE -- * 61 | * * 62 | * REFRESHABLE * 63 | * * 64 | * NOTES -- * 65 | * * 66 | * THIS MODULE IS CHARACTER CODE DEPENDENT UPON AN INTERNAL REPRE- * 67 | * SENTATION OF THE EXTERNAL CHARACTER SET EQUIVALENT TO THE ONE IN * 68 | * USE AT ASSEMBLY TIME * 69 | * * 70 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 71 | EJECT 72 | * /* START OF SPECIFICATIONS **** 73 | * 74 | *1MODULE-NAME = IKJEFTE8 75 | * 76 | *1DESCRIPTIVE-NAME = APF-ELIGIBLE-PROGRAM-NAME TABLE 77 | * 78 | *1DESCRIPTION = CONTAINS THE PROGRAM-NAMES WHICH ARE TO BE ATTACHED 79 | * BY TMP-CALL AS ELIGIBLE FOR AUTHORIZATION 80 | * 81 | *1MODULE TYPE = TABLE 82 | * 2FIELD = BLANKS 83 | * 3TYPE = CHARACTER STRING 84 | * 2FIELD = BLANKS 85 | * 3TYPE = CHARACTER STRING 86 | * 2FIELD = BLANKS 87 | * 3TYPE = CHARACTER STRING 88 | * 2FIELD = BLANKS 89 | * 3TYPE = CHARACTER STRING 90 | * 2FIELD = BLANKS 91 | * 3TYPE = CHARACTER STRING 92 | * 2FIELD = BLANKS 93 | * 3TYPE = CHARACTER STRING 94 | * 2FIELD = BLANKS 95 | * 3TYPE = CHARACTER STRING 96 | * 2FIELD = BLANKS 97 | * 3TYPE = CHARACTER STRING 98 | * 2FIELD = BLANKS 99 | * 3TYPE = CHARACTER STRING 100 | * 2FIELD = BLANKS 101 | * 3TYPE = CHARACTER STRING 102 | * 103 | **** END OF SPECIFICATIONS ***/ 104 | EJECT 105 | SPACE 3 106 | ENTRY APFPTABL 107 | SPACE 1 108 | IKJEFTE8 CSECT 109 | DC C'IKJEFTE8' MODULE NAME 110 | DC C'&SYSDATE' RELEASE LEVEL 111 | APFPTABL DS 0D ALIGNMENT 112 | SPACE 2 113 | DC C'IEBCOPY ' 114 | DC C'IKJEFF76' 115 | DC C'ISPF ' 116 | DC C'ISPLINK ' 117 | DC C'ISPMAIN ' 118 | DC C'RECV370 ' 119 | DC C'XMIT370 ' 120 | DC C'CDSCB ' 121 | DC C'BREXX ' 122 | DC C'REXX ' 123 | DC C'RX ' 124 | DC C' ' TERMINATOR 125 | END 126 | ./ ENDUP 127 | /* 128 | //* 129 | //SMPASM02 EXEC SMPASML,M=IKJEFTE8,COND=(0,NE) 130 | //* 131 | //RECV03 EXEC SMPAPP,COND=(0,NE),WORK=SYSALLDA 132 | //SMPPTFIN DD * 133 | ++USERMOD(JLM0004) 134 | . 135 | ++VER(Z038) 136 | FMID(EBB1102) 137 | PRE(UZ78841) 138 | . 139 | ++MOD(IKJEFTE8) 140 | DISTLIB(AOST4) 141 | LKLIB(UMODLIB) 142 | . 143 | /* 144 | //SMPCNTL DD * 145 | RECEIVE 146 | SELECT(JLM0004) 147 | . 148 | APPLY 149 | SELECT(JLM0004) 150 | DIS(WRITE) 151 | . 152 | // 153 | -------------------------------------------------------------------------------- /usermods/SLB0002.jcl: -------------------------------------------------------------------------------- 1 | //SLB0002 JOB (SYSGEN),'J06 M06: SLB0002', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //********************************************************************* 10 | //* Install USERMOD SLB0002 (source: Shelby Beach) allows use of * 11 | //* 'M' as the megabyte indicator for REGION in JCL * 12 | //********************************************************************* 13 | //* 14 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 15 | //SMPPTFIN DD * 16 | ++USERMOD(SLB0002) /* CONVERTER/INTERPRETER */ . 17 | ++VER(Z038) FMID(EBB1102) PRE(UZ36835,UZ39248) 18 | /* 19 | PROBLEM DESCRIPTION: 20 | THE JOB AND EXEC REGION PARAMETERS ONLY ALLOW REGION SIZE 21 | TO BE SPECIFIED AS KILOBYTES(K). THIS CHANGE, ALLOWS 22 | THOSE OF US USED TO CODING AN 'M' FOR THE REGION SIZE 23 | VALUE TO CONTINUE TO DO SO. 24 | 25 | SPECIAL CONDITIONS: 26 | ACTION: 27 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO 28 | BECOME ACTIVE. 29 | 30 | COMMENTS: 31 | THIS USERMOD WAS WRITTEN AND PUBLISHED BY SHELBY BEACH. 32 | 33 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 34 | MODULES: 35 | IEFVEA, IEFVJA 36 | */. 37 | ++ZAP(IEFVEA) DISTLIB(AOSB3). 38 | NAME IEFVEA 39 | IDRDATA SLB0002 40 | * 41 | * VALIDATE EXEC REGION VALUE 42 | * 43 | VER 0AEE 4770B56E BNE EAPGM10 NO. -FORMAT ERROR 44 | REP 0AEE 477084C6 BNE PATCH1 NO CHECK FOR 'M' 45 | VER 14C8 00000000 PATCH AREA 1 46 | REP 14C8 95D46000 CLI 0(R6),C'M' NOT 'K' & NOT 'M', 47 | REP 14CC 4770B56E BNE EAPGM10 SO IT'S AN ERROR 48 | REP 14D0 47F0BAF0 B BACK BACK TO MAIN 49 | * 50 | * ADJUST STORAGE IF MB 51 | * 52 | VER 0AFC 9180A0B4 TM EATEMP2,EAREGION FIRST PASS ? 53 | REP 0AFC 47F084D2 B PATCH2 GO TO PATCH AREA 54 | VER 14D4 00000000 PATCH AREA 2 55 | REP 14D4 95D26000 CLI 0(R6),C'K' REGION IN KB ? 56 | REP 14D8 478084E6 BE *+16 YES, SKIP MB CONV 57 | REP 14DC 4800A0B0 LH R0,EATEMP1 R0 =3D MEGABYTES 58 | REP 14E0 8900000A SLL R0,10 CONVERT TO KB 59 | REP 14E4 4000A0B0 STH R0,EATEMP1 AND SAVE IT 60 | REP 14E8 9180A0B4 TM EATEMP2,EAREGION FIRST PASS ? 61 | REP 14EC 47F0BAFE B BACK BACK TO MAIN 62 | ++ZAP(IEFVJA) DISTLIB(AOSB3). 63 | NAME IEFVJA 64 | IDRDATA SLB0002 65 | * 66 | * VALIDATE JOB REGION VALUE 67 | * 68 | VER 0310 4770B4FE BNE JAER1 NOT 'K' - ERROR 69 | REP 0310 4770B67E BNE PATCH1 NO CHECK FOR 'M' 70 | VER 0680 00000000 PATCH AREA 1 71 | REP 0680 95D46000 CLI 0(R6),C'M' NOT 'K' & NOT 'M', 72 | REP 0684 4770B4FE BNE JAER1 SO IT'S AN ERROR 73 | REP 0688 47F0B312 B BACK BACK TO MAIN 74 | * 75 | * ADJUST NORMAL STORAGE IF MB 76 | * 77 | VER 02C6 9640C22A OI SWD,JOBREGNS SET SW - JOB REGION 78 | REP 02C6 47F0B68A B PATCH2 GO TO PATCH AREA 79 | VER 068C 00000000 PATCH AREA 2 80 | REP 068C 9640C22A OI SWD,JOBREGNS SET SW - JOB REGION 81 | REP 0690 95D26000 CLI 0(R6),C'K' REGION IN KB ? 82 | REP 0694 4780B2C8 BE BACK YES, BACK TO MAIN 83 | REP 0698 4808005C LH R0,JAREGOFF(R8) R0 =3D MEGABYTES 84 | REP 069C 8900000A SLL R0,10 CONVERT TO KB 85 | REP 06A0 4008005C STH R0,JAREGOFF(R8) SAVE REQUESTED VALUE 86 | REP 06A4 47F0B2C8 B BACK BACK TO MAIN 87 | * 88 | * ADJUST BULK STORAGE IF MB 89 | * 90 | VER 02F2 4A48005C AH R4,JAREGOFF(R8) ADD H0 VALUE TO H1 91 | REP 02F2 47F0B6A6 B PATCH3 GO TO PATCH AREA 92 | VER 06A8 00000000 PATCH AREA 3 93 | REP 06A8 95D26000 CLI 0(R6),C'K' REGION IN KB ? 94 | REP 06AC 4780B6B2 BE *+8 YES 95 | REP 06B0 8940000A SLL R4,10 CONVERT MB TO KB 96 | REP 06B4 4A48005C AH R4,JAREGOFF(R8) ADD H0 VALUE TO H1 97 | REP 06B8 47F0B2F4 B BACK BACK TO MAIN 98 | /* 99 | //* 100 | //SMPCNTL DD * 101 | RECEIVE 102 | SELECT(SLB0002) 103 | . 104 | /* 105 | //* 106 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 107 | //SMPCNTL DD * 108 | APPLY 109 | SELECT(SLB0002) 110 | CHECK 111 | . 112 | /* 113 | //* 114 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 115 | //SMPCNTL DD * 116 | APPLY 117 | SELECT(SLB0002) 118 | DIS(WRITE) 119 | . 120 | /* 121 | // 122 | -------------------------------------------------------------------------------- /usermods/SYZM001.jcl: -------------------------------------------------------------------------------- 1 | //SYZM001 JOB (SYSGEN),'J07 M07: SYZM001', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //********************************************************************* 10 | //* Install USERMOD SYZM001 (source: Brian Westerman) suppress CN(00) * 11 | //* being appended to SEND operator command * 12 | //********************************************************************* 13 | //* 14 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 15 | //SMPPTFIN DD * 16 | ++USERMOD (SYZM001) /* SEND COMMAND IMPROVEMENT */. 17 | ++VER (Z038) FMID(EBB1102) /* 18 | THIS USER MOD FIXES THE SEND OPERATOR COMMAND TO NOT APPEND 19 | CN(00) TO THE MESSAGE WHEN SEND IS ISSUED BY A SYSTEM TASK. 20 | THIS IMPROVES THE APPEARANCE OF JES2 NOTIFY MESSAGES. */. 21 | ++ZAP (IEEVSND6). 22 | NAME IEEVSND6 23 | VER 0078 4350,A01D 24 | VER 058C 0000,0000 25 | REP 0078 47F0,B586 26 | REP 058C BF51,A01D,4770,B076 27 | REP 0594 D205,C16D,C16C,47F0,B098 28 | /* 29 | //* 30 | //SMPCNTL DD * 31 | RECEIVE 32 | SELECT(SYZM001) 33 | . 34 | /* 35 | //* 36 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 37 | //SMPCNTL DD * 38 | APPLY 39 | SELECT(SYZM001) 40 | CHECK 41 | . 42 | /* 43 | //* 44 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 45 | //SMPCNTL DD * 46 | APPLY 47 | SELECT(SYZM001) 48 | DIS(WRITE) 49 | . 50 | /* 51 | // 52 | -------------------------------------------------------------------------------- /usermods/TIST801.jcl: -------------------------------------------------------------------------------- 1 | //TIST801 JOB (SYSGEN),'J08 M08: TIST801', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* 2002/04/12 @KL TIST801 SKIP READING VTAMOBJ 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD DATA,DLM='??' 13 | ++ USERMOD(TIST801) /* REWORK(20020624) */ . 14 | ++ VER(Z038) 15 | FMID(EVT0108) 16 | /* 17 | PROBLEM DESCRIPTION(S): 18 | TIST801 19 | Bypass reading VTAMOBJ and always fetch resource 20 | definition from VTAMLST. 21 | 22 | COMPONENT: 5752-SC123-EVT0108 23 | 24 | SPECIAL CONDITIONS: 25 | ACTION: VTAM must be restarted after this user modification 26 | is installed. 27 | 28 | COMMENTS: 29 | LAST CHANGE: 2002/06/24 30 | 31 | The following modules are affected by this usermod: 32 | ISTSDCRC 33 | */. 34 | ++ ZAP (ISTSDCRC) DISTLIB(AOS26 ). 35 | NAME ISTSDCRC 36 | VER 0282 58F0,C6A0 L @15,@CV03189 Point to VTAMOBJ read rtn 37 | VER 0286 05EF BALR @14,@15 Go to it 38 | REP 0282 41F0,0004 LA @15,4 Simulate "VTAMOBJ member 39 | REP 0286 0700 NOPR 0 not found" error 40 | IDRDATA TIST801 41 | ?? 42 | /* 43 | //SMPCNTL DD * 44 | RECEIVE 45 | SELECT(TIST801) 46 | . 47 | /* 48 | //* 49 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 50 | //SMPCNTL DD * 51 | APPLY 52 | SELECT(TIST801) 53 | BYPASS(ID) 54 | CHECK 55 | . 56 | /* 57 | //* 58 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 59 | //SMPCNTL DD * 60 | APPLY 61 | SELECT(TIST801) 62 | DIS(WRITE) 63 | . 64 | /* 65 | // 66 | -------------------------------------------------------------------------------- /usermods/TJES801.jcl: -------------------------------------------------------------------------------- 1 | //TJES801 JOB (SYSGEN),'J09 M09: TJES801', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* 2005/08/11 @kl TJES801 set SSCTSSID and SSIBSSID to X'02' for JES2 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD DATA,DLM='??' 13 | ++ USERMOD(TJES801) /* REWORK(20050811) */ . 14 | ++ VER (Z038) 15 | FMID(EJE1103) 16 | PRE (UZ31176,UZ33158,UZ35334,UZ37263,UZ52543,UZ54837, 17 | UZ57911,UZ60375,UZ63374,UZ65742,UZ68537,UZ71437, 18 | UZ76165,UZ77164,UY02859) 19 | 20 | /* 21 | PROBLEM DESCRIPTION(S): 22 | TJES801 - 23 | (1) Set SSCTSSID to SSCTJES2 (X'02') during JES2 initialization 24 | to indicate that the SSCVT is for a JES2 subsystem. 25 | (2) Set SSIBSSID to SSIBJES2 (X'02') when a job is selected 26 | to indicate that the selecting subsystem is JES2. 27 | 28 | COMPONENT: 5752-SC1BH-EJE1103 29 | 30 | APARS FIXED: TJES801 31 | 32 | SPECIAL CONDITIONS: 33 | ACTION: An IPL with CLPA is required after installation of 34 | this user modification. 35 | 36 | COMMENTS: 37 | LAST CHANGE: 2005/08/11 38 | 39 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 40 | 41 | MACROS 42 | HASPINIT 43 | HASPSSSM 44 | */. 45 | ++ SRCUPD (HASPINIT) DISTLIB(HASPSRC ). 46 | ./ CHANGE NAME=HASPINIT 47 | MVI SSCTSSID-SSCT(WA),SSCTJES2 SHOW JES2 SSCVT @TJES801 M4892700 48 | ++ SRCUPD (HASPSSSM) DISTLIB(HASPSRC ). 49 | ./ CHANGE NAME=HASPSSSM 50 | MVI SSIBSSID,SSIBJES2 SET SUBSYSTEM ID TO JES2 @TJES801 T1802050 51 | MVI SSIBSSID,SSIBJES2 SET SUBSYSTEM ID TO JES2 @TJES801 T1834700 52 | ?? 53 | /* 54 | //SMPCNTL DD * 55 | RECEIVE 56 | SELECT(TJES801) 57 | . 58 | /* 59 | //* 60 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 61 | //SMPCNTL DD * 62 | APPLY 63 | SELECT(TJES801) 64 | CHECK 65 | BYPASS(ID) 66 | . 67 | /* 68 | //* 69 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 70 | //SYSUT1 DD SPACE=(1700,(3000,100)) 71 | //SYSUT2 DD SPACE=(1700,(3000,100)) 72 | //SYSUT3 DD SPACE=(1700,(3000,100)) 73 | //SMPWRK3 DD SPACE=(CYL,(30,10,84)) 74 | //SMPCNTL DD * 75 | APPLY 76 | SELECT(TJES801) 77 | DIS(WRITE) 78 | COMPRESS(ALL) 79 | . 80 | /* 81 | // 82 | -------------------------------------------------------------------------------- /usermods/TMVS804.jcl: -------------------------------------------------------------------------------- 1 | //TMVS804 JOB (SYSGEN),'J01 M10: TMVS804', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* 2002/03/29 @kl TMVS804 Don't autostart primary subsystem 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD DATA,DLM='??' 13 | ++ USERMOD(TMVS804) /* REWORK(20020624) */ . 14 | ++ VER (Z038) 15 | FMID(EBB1102) 16 | /* 17 | PROBLEM DESCRIPTION(S): 18 | TMVS804 - 19 | Delete autostart for primary subsystem from master 20 | scheduler JCL. 21 | 22 | COMPONENT: 5752-SC1B6-EBB1102 23 | 24 | SPECIAL CONDITIONS: 25 | ACTION: An IPL is required after installation of this user 26 | modification. 27 | 28 | COMMENTS: 29 | LAST CHANGE: 2002/06/24 30 | 31 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 32 | 33 | MODULES 34 | MSTRJCL 35 | 36 | MACROS 37 | SGIEE0MS 38 | */. 39 | ++ MACUPD (SGIEE0MS) DISTLIB(AMODGEN ). 40 | ./ CHANGE NAME=SGIEE0MS 41 | DC CL80'//*START &SSNAME' @TMVS804 04900002 42 | ?? 43 | /* 44 | //* 45 | //SMPCNTL DD * 46 | RECEIVE 47 | SELECT(TMVS804) 48 | . 49 | /* 50 | //* 51 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 52 | //SMPCNTL DD * 53 | APPLY 54 | SELECT(TMVS804) 55 | BYPASS(ID) 56 | CHECK 57 | . 58 | /* 59 | //* 60 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 61 | //SMPCNTL DD * 62 | APPLY 63 | SELECT(TMVS804) 64 | DIS(WRITE) 65 | . 66 | /* 67 | // 68 | -------------------------------------------------------------------------------- /usermods/TNIP800.jcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/usermods/TNIP800.jcl -------------------------------------------------------------------------------- /usermods/TTSO801.jcl: -------------------------------------------------------------------------------- 1 | //TTSO801 JOB (SYSGEN),'J03 M13: TTSO801', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* 2009/10/20 @kl TTSO801 eliminate msgikt012d after p tso 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD DATA,DLM='??' 13 | ++ USERMOD(TTSO801) /* REWORK(20091020) */ . 14 | ++ VER (Z038) 15 | FMID(ETV0108) 16 | /* 17 | PROBLEM DESCRIPTION(S): 18 | TTSO801 - 19 | Eliminate msgIKT012D after P TSO. 20 | 21 | COMPONENT: 5752-SC1T9-ETV0108 22 | 23 | APARS FIXED: TTSO801 24 | 25 | SPECIAL CONDITIONS: 26 | ACTION: TSO must be restarted after this user modification 27 | is installed. 28 | 29 | COMMENTS: 30 | LAST CHANGE: 2009/10/20 31 | 32 | REWORK HISTORY: 33 | 2009/10/20: Allow msgIKT012D to be issued in the case of 34 | HALT NET,CANCEL (previous logic resulted in 35 | abend0C4 in IKTCAS41 with TCAS hung if HALT 36 | NET,CANCEL issued). 37 | 38 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 39 | 40 | MODULES 41 | IKTCAS41 42 | 43 | NOTE: This was fixed in ACF/VTAM V3 for MVS/370 HVT3204 by 44 | OY24140 (UY41051) and in ACF/VTAM V3 for MVS/XA HVT3205 45 | by OY24473 (UY41052) 46 | 47 | LISTEND 48 | */. 49 | ++ ZAP (IKTCAS41) DISTLIB(AOST3 ). 50 | NAME IKTCAS41 51 | IDRDATA TTSO801 52 | EXPAND IKTCAS41(28) 53 | VER 000004 10 DC AL1(16) VERIFY LENGTH 54 | VER 000005 C9D2E3C3C1E2F4F1 DC C'IKTCAS41 78.045' VERIFY IDENTIFIER 55 | VER 00000D 4040F7F84BF0F4F5 56 | VER 000015 00 57 | VER 000016 90EC,D00C @PROLOG STM @14,@12,12(@13) 58 | VER 00001A 05C0 BALR @12,0 59 | VER 0001E6 9207,A009 MVI WERC2(@10),X'07' SET FUNCTION 60 | VER 0004D0 0000000000000000 DC (PATCHLEN)X'00' VERIFY PATCH AREA 61 | VER 0004D8 0000000000000000 62 | VER 0004E0 0000000000000000 63 | VER 0004E8 00000000 64 | REP 0001E6 45E0,C4B4 BAL @14,PATCH1 TO PATCH AREA 65 | REP 0004D0 9504,4000 PATCH1 CLI WECODE1T(@04),X'04' TEST HALT COMMAND 66 | REP 0004D4 4770,C4CA BNE PATCH1A NOT HALT 67 | REP 0004D8 9512,4001 CLI WECODE1F(@04),X'12' TEST FOR CANCEL 68 | REP 0004DC 4770,C4CA BNE PATCH1A NOT HALT CANCEL 69 | REP 0004E0 9207,A009 MVI WERC2(@10),X'07' TERM WITH WTOR 70 | REP 0004E4 07FE BR @14 RETURN TO MAIN 71 | REP 0004E6 9206,A009 PATCH1A MVI WERC2(@10),X'06' TERM WITHOUT WTOR 72 | REP 0004EA 07FE BR @14 RETURN TO MAIN 73 | ?? 74 | /* 75 | //* 76 | //SMPCNTL DD * 77 | RECEIVE 78 | SELECT(TTSO801) 79 | . 80 | /* 81 | //* 82 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 83 | //SMPCNTL DD * 84 | APPLY 85 | SELECT(TTSO801) 86 | BYPASS(ID) 87 | CHECK 88 | . 89 | /* 90 | //* 91 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 92 | //SMPCNTL DD * 93 | APPLY 94 | SELECT(TTSO801) 95 | DIS(WRITE) 96 | . 97 | /* 98 | // 99 | -------------------------------------------------------------------------------- /usermods/UZ61025.jcl: -------------------------------------------------------------------------------- 1 | //UZ61025 JOB (SYSGEN),'UZ61025', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //******************************************************************** 9 | //* * 10 | //* Name: CBT.MVS38J.CNTL(CMDSB1) * 11 | //* * 12 | //* Type: JCL to install a PTF * 13 | //* * 14 | //* Desc: This PTF updates the RESETPL macro. Without this PTF * 15 | //* the assembly of CSCSBMON will fail * 16 | //* * 17 | //* * 18 | //******************************************************************** 19 | //ACCCHCK EXEC SMPAPP 20 | //SMPCNTL DD * 21 | ACCEPT GROUP(UZ61025) 22 | DIS(WRITE) 23 | CHECK 24 | . 25 | //ACCEPT EXEC SMPAPP,COND=(0,NE) 26 | //SMPCNTL DD * 27 | ACCEPT GROUP(UZ61025) 28 | DIS(WRITE) 29 | . -------------------------------------------------------------------------------- /usermods/VS49603.jcl: -------------------------------------------------------------------------------- 1 | //VS49603 JOB (SYSGEN),'J04 M14: VS49603', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //********************************************************************* 10 | //* 11 | //* Desc: Install usermod VS49603 to fix excessive 12 | //* disabled spin loop conditions 13 | //* 14 | //* Source: Doug Wegscheid, Apr 2020 15 | //* Origin: Gerhard Postpischil and Juergen Winkelmann 16 | //* 17 | //********************************************************************* 18 | //* 19 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 20 | //SMPPTFIN DD * 21 | ++USERMOD(VS49603) . 22 | ++VER(Z038) FMID(FBB1221) 23 | PRE(UZ56445) 24 | /* 25 | Symptom: IEE331A EXCESSIVE DISABLED SPIN LOOP DETECTED 26 | Fix: Apply IBM ZAP VS49603, which fixes excessive disabled 27 | spin loop conditions when MVS is running under VM 28 | */ . 29 | ++ ZAP (IEEVEXSN) . 30 | NAME IEANUC01 IEEVEXSN 31 | VER 011A 47E0 BNO 32 | REP 011A 4700 NOP 33 | IDRDATA VS49603 34 | /* 35 | //SMPCNTL DD * 36 | RECEIVE 37 | SELECT(VS49603) 38 | . 39 | /* 40 | //* 41 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 42 | //SMPCNTL DD * 43 | APPLY 44 | SELECT(VS49603) 45 | CHECK 46 | . 47 | /* 48 | //* 49 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 50 | //SMPCNTL DD * 51 | APPLY 52 | SELECT(VS49603) 53 | DIS(WRITE) 54 | . 55 | /* 56 | // 57 | -------------------------------------------------------------------------------- /usermods/ZP60001.jcl: -------------------------------------------------------------------------------- 1 | //ZP60001 JOB (SYSGEN),'J06 M16: ZP60001', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* WTO EXIT TO AUTOMATICALLY START TSO AFTER VTAM INITIALIZATION. 10 | //* 11 | //GENER01 EXEC PGM=IEBGENER 12 | //SYSPRINT DD DUMMY 13 | //SYSUT1 DD * 14 | ++USERMOD(ZP60001) /* IEECVXIT WTO EXIT TO START TSO */ . 15 | ++VER(Z038) FMID(EBB1102) 16 | /* 17 | PROBLEM DESCRIPTION: 18 | TSO IS DIFFICULT TO START AUTOMATICALLY AFTER AN IPL. 19 | IF STARTED FROM A COMMNDXX MEMBER OF PARMLIB THEN TSO 20 | TRIES TO INITIALIZE BEFORE VTAM IS READY. THE OPERATOR 21 | MUST THEN REPLY TO RETRY AFTER VTAM IS INITIALIZED. IF 22 | TSO IS CONVERTED TO A TWO-STEP PROCEDURE WHERE THE FIRST 23 | STEP RUNS A PROGRAM TO WAIT FOR VTAM INITIALIZATION THEN 24 | IKTCAS00 LOSES THE "SYSTEM TASK" STATUS (WHICH REQUIRES 25 | THAT A STARTED TASK HAVE ONLY ONE STEP) WHICH SHOULD BE 26 | ASSIGNED AS PER THE PROGRAM PROPERTIES TABLE ENTRY. 27 | THE "PROBLEM PROGRAM ATTRIBUTES ASSIGNED" MESSAGE IS THEN 28 | ISSUED BY THE SYSTEM. 29 | 30 | THIS USERMOD CONTAINS AN IEECVXIT WTO EXIT WHICH WILL 31 | ISSUE THE "S TSO" OPERATOR COMMAND WHENEVER MESSAGE 32 | "IST02OI VTAM INITIALIZATION COMPLETE" IS ISSUED. 33 | ONCE IMPLEMENTED, THIS ACTION WILL OCCUR EVERY TIME 34 | VTAM INITIALIZES, NOT NECCESSARILY JUST AFTER AN IPL. 35 | TSO CAN THEN REMAIN A SINGLE-STEP TASK AS DISTRIBUTED 36 | AND BE AUTOMATICALLY AVAILABLE AFTER VTAM IS READY. 37 | 38 | SPECIAL CONDITIONS: 39 | ACTION: 40 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS EXIT TO 41 | BECOME ACTIVE. 42 | 43 | COMMENTS: 44 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NUMBER 1. 45 | 46 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 47 | MODULES: 48 | IEECVXIT 49 | */. 50 | ++MOD(IEECVXIT) DISTLIB(AOSC5). 51 | /* 52 | //SYSUT2 DD DSN=&&SMPMCS,DISP=(NEW,PASS),UNIT=SYSALLDA, 53 | // SPACE=(CYL,3), 54 | // DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=4080) 55 | //SYSIN DD DUMMY 56 | //* 57 | //IFOX00 EXEC PGM=IFOX00,PARM='OBJECT,NODECK,NOTERM,XREF(SHORT)' 58 | //SYSPRINT DD SYSOUT=* 59 | //SYSUT1 DD UNIT=SYSALLDA,SPACE=(CYL,10) 60 | //SYSUT2 DD UNIT=SYSALLDA,SPACE=(CYL,10) 61 | //SYSUT3 DD UNIT=SYSALLDA,SPACE=(CYL,10) 62 | //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR 63 | // DD DSN=SYS1.SMPMTS,DISP=SHR 64 | // DD DSN=SYS1.AMODGEN,DISP=SHR 65 | //SYSGO DD DSN=&&SMPMCS,DISP=(MOD,PASS) 66 | //SYSIN DD * 67 | IEECVXIT TITLE ' SINGLE LINE WTO/WTOR EXIT FOR MVS 3.8 ' 68 | *********************************************************************** 69 | * * 70 | * THIS EXIT RECEIVES CONTROL FROM IEAVVWTO BEFORE THE WQE (AND * 71 | * ORE IF IT IS A WTOR) ARE BUILT. THE EXIT CAN CHANGE THE * 72 | * ROUTING AND DESCRIPTOR CODES OF THE WTO (FIELDS USERRC AND * 73 | * USERDC RESPECTIVELY). (A WTOR WILL NOT YET HAVE A REPLY ID * 74 | * ASSIGNED.) * 75 | * * 76 | * THIS EXIT WILL LOOK FOR MESSAGE * 77 | * IST020I VTAM INITIALIZATION COMPLETE * 78 | * (ONLY THE MESSAGE ID WILL BE CHECKED) AND WILL THEN ISSUE THE * 79 | * S TSO * 80 | * OPERATOR COMMAND. * 81 | * * 82 | * THE INTENTION IS TO ALLOW FOR AN AUTOMATED IPL. VTAM CAN BE * 83 | * STARTED FROM THE COMMNDXX MEMBER OF PARMLIB, AND TSO WILL NOW * 84 | * BE AUTOMATICALLY STARTED WHENEVER VTAM INITIALIZES. THE TSO * 85 | * STARTED TASK WILL THEREFORE NOT HAVE TO BE CHANGED TO INCLUDE * 86 | * A FIRST STEP TO WAIT FOR VTAM TO COME UP, AND THE "PROBLEM * 87 | * PROGRAM ATTRIBUTES ASSIGNED" MESSAGE WILL NOT BE ISSUED. * 88 | * * 89 | * WRITTEN BY GREG PRICE 22 SEPTEMBER 2001 * 90 | * * 91 | *********************************************************************** 92 | EJECT 93 | IEECVXIT CSECT 94 | USING IEECVXIT,R15 95 | B $START 96 | DROP R15 IEECVXIT 97 | DC AL1(17),CL17'IEECVXIT &SYSDATE' 98 | USING IEECVXIT,R11 99 | $START STM R14,R12,12(R13) SAVE REGISTERS 100 | LR R11,R15 SET BASE REGISTER 101 | L R2,0(,R1) POINT TO PARAMETER 102 | USING USERPARM,R2 103 | CLC =C'IST020I ',USERTEXT 104 | BNE RETURN NOT THE MESSAGE TO BE ACTED UPON 105 | LA R1,STSO POINT TO COMMAND BUFFER 106 | SLR R0,R0 CLEAR CONSOLE ID FOR MASTER 107 | SVC 34 ISSUE OPERATOR COMMAND 108 | DROP R2 USERPARM 109 | RETURN LM R14,R12,12(R13) RESTORE REGISTERS 110 | BR R14 RETURN - R15 IS NOT CHECKED 111 | SPACE 112 | STSO DC H'10',H'0',CL6'S TSO ' 113 | LTORG 114 | DS 0D END OF CSECT 115 | TITLE ' EXIT PARAMETER STRUCTURE AND EQUATES ' 116 | USERPARM DSECT 117 | USERTEXT DS CL128 118 | USERROUT DS CL4 119 | USERRC EQU USERROUT,2 120 | USERDESC DS CL4 121 | USERDC EQU USERDESC,2 122 | * ORG USERPARM+136 123 | SPACE 2 124 | R0 EQU 0 125 | R1 EQU 1 126 | R2 EQU 2 127 | R3 EQU 3 128 | R4 EQU 4 129 | R5 EQU 5 130 | R6 EQU 6 131 | R7 EQU 7 132 | R8 EQU 8 133 | R9 EQU 9 134 | R10 EQU 10 135 | R11 EQU 11 136 | R12 EQU 12 137 | R13 EQU 13 138 | R14 EQU 14 139 | R15 EQU 15 140 | SPACE 2 141 | END IEECVXIT 142 | /* 143 | //* 144 | //GENER2 EXEC PGM=IEBGENER 145 | //SYSPRINT DD DUMMY 146 | //SYSUT1 DD * 147 | IDENTIFY IEECVXIT('ZP60001') 148 | //SYSUT2 DD DSN=&&SMPMCS,DISP=(MOD,PASS) 149 | //SYSIN DD DUMMY 150 | //* 151 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 152 | //SMPPTFIN DD DSN=&&SMPMCS,DISP=(OLD,DELETE) 153 | //SMPCNTL DD * 154 | RECEIVE 155 | SELECT(ZP60001) 156 | . 157 | /* 158 | //* 159 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 160 | //SMPCNTL DD * 161 | APPLY 162 | SELECT(ZP60001) 163 | CHECK 164 | . 165 | /* 166 | //* 167 | //APPLY EXEC SMPAPP,WORK='SYSALLDA' 168 | //SMPCNTL DD * 169 | APPLY 170 | SELECT(ZP60001) 171 | DIS(WRITE) 172 | . 173 | /* 174 | // 175 | -------------------------------------------------------------------------------- /usermods/ZP60002.jcl: -------------------------------------------------------------------------------- 1 | //ZP60002 JOB (SYSGEN),'J07 M17: ZP60002', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO STOP TSO TEST 'LIST .... I' STOPPING AT BAD OPCODE. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60002) /* TSO TEST (LIST SUBCOMMAND) */ . 14 | ++VER(Z038) FMID(EBB1102) PRE(UY29953) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | IN TSO TEST, A LIST OF INSTRUCTIONS STOPS AT A BAD OPCODE. 18 | WHEN LISTING INSTRUCTIONS IN TSO TEST, THE LIST STOPS 19 | WHENEVER AN INVALID OPCODE IS ENCOUNTERED. THIS CAN 20 | REDUCE THE EASE-OF-USE OF TSO TEST DURING DEBUGGING. 21 | 22 | THIS USERMOD CHANGES LIST INSTRUCTION PROCESSING TO 23 | DISPLAY THE HEXADECIMAL OF EACH HALFWORD ENCOUNTERED 24 | WITH AN INVALID OPCODE AS A "DC" INSTRUCTION. THIS 25 | CAN SIMPLIFY DEBUGGING PASSAGES OF CODE CONTAINING 26 | SMALL INLINE MACRO EXPANSIONS. 27 | 28 | SPECIAL CONDITIONS: 29 | NONE. 30 | 31 | COMMENTS: 32 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 2. 33 | THIS IS A COMPLETE REWORK FOR MVS 3.8J OF A MODIFICATION 34 | SHIPPED IN CBT FILE 300 AND DISCUSSED IN AN ARTICLE BY 35 | ALAN FIELD IN THE AUGUST 1990 ISSUE OF THE NASPA TECHNICAL 36 | SUPPORT MAGAZINE. THIS USERMOD ALSO ADDS SOME EXTRA 37 | CHARACTERS NOT SUPPORTED BY THE 3277 BUT WHICH ARE AVAILABLE 38 | ON LATER TERMINALS TO THE DISPLAYABLE CHARACTER TRANSLATE 39 | TABLE WHICH IS USED WHEN LISTING CHARACTERS. 40 | 41 | ORIGINALLY FOR UZ39425 (OCT 2001). 42 | THIS REWORK FOR UY29953 (NOV 2002). 43 | 44 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 45 | MODULES: 46 | IKJEGLSA 47 | */. 48 | ++ZAP(IKJEGLSA) DISTLIB(ACMDLIB). 49 | NAME IKJEGLSA 50 | IDRDATA ZP60002 51 | VER 0A44 12FF LTR R15,R15 52 | VER 0A46 4770,CB96 BNZ LSTI80 53 | VER 0A4A 43F2,0000 IC R15,CONLNTH(R2) 54 | VER 0A4E 06F0 BCTR R15,NULL 55 | VER 0ABA 5930,A038 LSTI70 C R3,A2 56 | VER 0EBC 0000,0004 FFOUR DC F'4' 57 | VER 0F20 E9E9,E9E9,E9E9,E9E9 PATCH AREA 58 | VER 0F28 E9E9,E9E9,E9E9,E9E9 PATCH AREA 59 | VER 0F30 E9E9,E9E9,E9E9,E9E9 PATCH AREA 60 | VER 0F38 E9E9 PATCH AREA 61 | VER 0FDA 4B4B7A7B DC C'..:#' 62 | VER 1002 4B4BA2A3 DC C'..ST' (LOWER CASE) 63 | VER 1022 4BC1C2C3 DC C'.ABC' 64 | VER 1032 4BD1D2D3 DC C'.JKL' 65 | VER 1042 4B4BE2E3 DC C'..ST' 66 | REP 0A46 47F0,CF20 B TO THE FOLLOWING CODE 67 | REP 0F20 41B0,0001 LA R11,1 68 | REP 0F24 41BB,CFFF LA R11,4095(R11,R12) 69 | REP 0F28 59F0,CEBC C R15,FFOUR 70 | REP 0F2C 4780,B07A BE XX 71 | REP 0F30 12FF LTR R15,R15 72 | REP 0F32 4770,CB96 BNZ LSTI80 73 | REP 0F36 47F0,CA4A B BACK TO WHERE WE CAME FROM 74 | REP 0FDA 4B797A7B DC C'.`:#' 75 | REP 1002 4BA1A2A3 DC C'.~ST' (LOWER CASE) 76 | REP 1022 C0C1C2C3 DC C'{ABC' 77 | REP 1032 D0D1D2D3 DC C'}JKL' 78 | REP 1042 E04BE2E3 DC C'\.ST' 79 | REP 1062 F0F1F2F3F4F5F6F7F8F9C1C2C3C4C5C6 HEXTAB DC C'0123...DEF' 80 | REP 1072 C4C340404040E77D DC DC C'DC X''' 81 | REP 107A D207,6004,B072 XX MVC 4(8,R6),DC 82 | REP 1080 58F0,A04C L R15,VPDEPT 83 | REP 1084 F342,600C,F000 UNPK 12(5,R6),0(3,R15) 84 | REP 108A DC03,600C,CF72 TR 12(4,R6),HEXTAB-240 85 | REP 1090 927D,6010 MVI 16(R6),C'''' 86 | REP 1094 41F0,F002 LA R15,2(,R15) 87 | REP 1098 4130,3002 LA R3,2(,R3) 88 | REP 109C 4160,6011 LA R6,17(,R6) 89 | REP 10A0 47F0,CABA B LSTI70 90 | /* 91 | //SMPCNTL DD * 92 | RECEIVE 93 | SELECT(ZP60002) 94 | . 95 | /* 96 | //* 97 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 98 | //SMPCNTL DD * 99 | APPLY 100 | SELECT(ZP60002) 101 | CHECK 102 | . 103 | /* 104 | //* 105 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 106 | //SMPCNTL DD * 107 | 108 | APPLY 109 | SELECT(ZP60002) 110 | DIS(WRITE) 111 | . 112 | /* 113 | // 114 | -------------------------------------------------------------------------------- /usermods/ZP60003.jcl: -------------------------------------------------------------------------------- 1 | //ZP60003 JOB (SYSGEN),'J08 M18: ZP60003', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO ALLOW IFOX00 ACCEPT BLANK RECORDS AS VALID INPUT. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60003) /* XF ASSEMBLER */ . 14 | ++VER(Z038) FMID(EAS1102) PRE(UZ32460) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | THE XF ASSEMBLER CANNOT ACCEPT BLANK INPUT SOURCE RECORDS. 18 | MUCH ASSEMBLER CODE WRITTEN FOR THE HIGH-LEVEL ASSEMBLER 19 | WHICH WOULD OTHERWISE BE FULLY PROCESSABLE BY PUBLICLY 20 | AVAILABLE ASSEMBLERS CANNOT BE PROCESSED BECAUSE OF 21 | CHANGES TO RULES FOR ALLOWABLE INPUT. ONE SUCH RULE IS 22 | THE REQUIREMENT FOR THE "SPACE" ASSEMBLER INSTRUCTION 23 | WHENEVER A BLANK LINE IS TO BE PRODUCED IN THE OUTPUT 24 | LISTING, WHEREAS THE HIGH-LEVEL ASSEMBLER (ASMA90) CAN 25 | ALSO ACCEPT BLANK INPUT RECORDS. 26 | 27 | THIS USERMOD UPDATES THE XF ASSEMBLER (IFOX00) TO 28 | ALLOW RECORDS WITH BLANKS IN THE FIRST 72 COLUMNS AS 29 | VALID INPUT. NEW LOGIC ADDS THE INTERNAL TEXT FOR THE 30 | "SPACE" INSTRUCTION IN COLUMN 10 BEFORE THE INPUT RECORD 31 | IS PARSED WHENEVER A RECORD IS FOUND TO START WITH 72 32 | BLANKS. 33 | 34 | SPECIAL CONDITIONS: 35 | NONE. 36 | 37 | COMMENTS: 38 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 3. 39 | 40 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 41 | MODULES: 42 | IF0X0F 43 | */. 44 | ++ZAP(IFOX0F) DISTLIB(AOS03). 45 | NAME IFOX0F00 46 | EXPAND IFOX0F00(35) 47 | IDRDATA ZP60003 48 | VER 0076 12B1 LTR R11,R1 49 | VER 0078 47F0,C02A B RETURN 50 | VER 0100 12BB LTR R11,R11 51 | VER 0102 47F0,C02A B RETURN 52 | REP 0078 47F0,C34E B NEWCODE 53 | REP 0102 47F0,C34E B NEWCODE 54 | REP 0351 1C190A0C0E SPACE DC C'SPACE' 55 | REP 0356 952F,B000 NEWCODE CLI 0(R11),C' ' 56 | REP 035A 4770,C366 BNE GOBACK 57 | REP 035E D546,B001,B000 CLC 1(71,R11),0(R11) 58 | REP 0364 4770,C366 BNE GOBACK 59 | REP 0368 D204,B009,C349 MVC 9(5,R11),SPACE 60 | REP 036E 12BB GOBACK LTR R11,R11 61 | REP 0370 47F0,C02A B RETURN 62 | /* 63 | //SMPCNTL DD * 64 | RECEIVE 65 | SELECT(ZP60003) 66 | . 67 | /* 68 | //* 69 | //APPLY EXEC SMPAPP,WORK='SYSALLDA' 70 | //SMPCNTL DD * 71 | APPLY 72 | SELECT(ZP60003) 73 | CHECK 74 | . 75 | /* 76 | //* 77 | //APPLYCK EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 78 | 79 | //SMPCNTL DD * 80 | APPLY 81 | SELECT(ZP60003) 82 | DIS(WRITE) 83 | . 84 | /* 85 | // 86 | -------------------------------------------------------------------------------- /usermods/ZP60004.jcl: -------------------------------------------------------------------------------- 1 | //ZP60004 JOB (SYSGEN),'J09 M19: ZP60004', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO SHOW ACTION CONSOLE MESSAGES IN HIGH INTENSITY. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60004) /* 3277 CONSOLE I/O */ . 14 | ++VER(Z038) FMID(EBB1102) PRE(UZ35462) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | 3270 HIGH INTENSITY IS NOT USED FOR IMMEDIATE ACTION MESSAGES. 18 | ALL CONSOLE MESSAGES DISPLAYED USING THE SHIPPED 3277 19 | CONSOLE SUPPORT ARE SHOWN IN LOW INTENSITY, WHEREAS THE 20 | EXPECTED BEHAVIOUR FOR 3270 OS CONSOLES IS THAT 3270 21 | DUAL INTENSITY IS EXPLOITED SO THAT IMMEDIATE MESSAGES 22 | INCLUDING WTORS ARE DISPLAYED IN HIGH INTENSITY UNTIL 23 | PROCESSED BY DOM. 24 | 25 | THIS USERMOD UPDATES THE 3277 CONSOLE WRITE MODULE TO 26 | UPDATE THE 3270 FIELD ATTRIBUTE BYTE FOR EACH IN-LINE 27 | MESSAGE LINE ACCORDING TO THE ACTION MESSAGE STATUS OF 28 | THE MESSAGE SHOWN ON THAT LINE BEFORE THE SCREEN IS 29 | WRITTEN. 30 | 31 | SPECIAL CONDITIONS: 32 | ACTION: 33 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO 34 | BECOME ACTIVE. 35 | 36 | COMMENTS: 37 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 4. 38 | 39 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 40 | MODULES: 41 | IEECVETV 42 | */. 43 | ++ZAP(IEECVETV) DISTLIB(AOSC5). 44 | NAME IEECVETV 45 | IDRDATA ZP60004 46 | VER 0000 05B0 BALR RBBASE,N0 47 | VER 0078 9110,A121 FULLWRT TM DCMIOCM1,DCMWRMSG 48 | VER 007C 47E0,B0A6 BNO PARTWRT 49 | VER 0524 5C5C PATCH AREA 50 | REP 0078 47F0,B522 FULLWRT B PATCH-AREA 51 | REP 0524 5850,A030 L R5KEEP,DCMASCRN 52 | REP 0528 4B50,B3D8 SH R5KEEP,H6 53 | REP 052C 92E4,5004 LINELOOP MVI N4(R5KEEP),LO 54 | REP 0530 915C,5009 TM N9(R5KEEP),ASTER 55 | REP 0534 47E0,B53A BNO NEXTLINE NOT * OR @ 56 | REP 0538 92E8,5004 MVI N4(R5KEEP),HI 57 | REP 053C 4A50,A104 NEXTLINE AH R5KEEP,DCMCORLN 58 | REP 0540 5950,A04C C R5KEEP,DCMPFKLN 59 | REP 0544 4740,B52A BL LINELOOP 60 | REP 0548 9110,A121 FULLWRT TM DCMIOCM1,DCMWRMSG 61 | REP 054C 47F0,B07A B AFTER-BRANCH-HERE 62 | /* 63 | //SMPCNTL DD * 64 | RECEIVE 65 | SELECT(ZP60004) 66 | . 67 | /* 68 | //* 69 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 70 | //SMPCNTL DD * 71 | APPLY 72 | SELECT(ZP60004) 73 | CHECK 74 | . 75 | /* 76 | //* 77 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 78 | //SMPCNTL DD * 79 | APPLY 80 | SELECT(ZP60004) 81 | DIS(WRITE) 82 | COMPRESS(ALL) 83 | . 84 | /* 85 | // 86 | -------------------------------------------------------------------------------- /usermods/ZP60005.jcl: -------------------------------------------------------------------------------- 1 | //ZP60005 JOB (SYSGEN),'J01 M20: ZP60005', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO ALWAYS MAINTAIN CHANNEL AND DEVICE SIO COUNTERS. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60005) /* IOS SIO COUNTERS */ . 14 | ++VER(Z038) FMID(FBB1221) PRE(UZ68196) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | IOS DOES NOT MAINTAIN CHANNEL AND DEVICE SIO COUNTS BY DEFAULT. 18 | THE HALFWORD WRAP-AROUND SIO COUNTERS FOR CHANNELS (IN 19 | THE CHANNEL AVAILABILITY TABLE) AND DEVICES (IN THE UNIT 20 | CONTROL BLOCK COMMON EXTENSION) ARE NOT MAINTAINED UNLESS 21 | MF/1 IS ACTIVE. MF/1 ACTIVATION AND DEACTIVATION OVERLAYS 22 | THE "HOOK" INSTRUCTION WITH AN APPROPRIATE INSTRUCTION. 23 | BY REPLACING THE DEACTIVATION INSTRUCTION WITH THE ACTIVATION 24 | INSTRUCTION, SIO COUNTS WILL BE MAINTAINED AS SOON AS NUCLEUS 25 | INITIALIZATION DISABLES I/O TRACE. FURTHER, BY REPLACING THE 26 | ASSEMBLED "HOOK" INSTRUCTION WITH THE ACTIVATION INSTRUCTION 27 | SIO COUNTS WILL BE MAINTAINED FROM THE START OF THE IPL. TO 28 | COVER ALL POSSIBILITIES, THE I/O TRACE HOOK IS ALSO CHANGED 29 | SO THAT THE SIO COUNTER CODE IS NOT BYPASSED IF AN I/O TRACE 30 | IS PERFORMED. 31 | 32 | THIS USERMOD UPDATES THE ASSEMBLED HOOK INSTRUCTION AND THE 33 | MF/1 DEACTIVATION INSTRUCTION IN IOS TO MATCH THE MF/1 IOS 34 | ACTIVATION INSTRUCTION. 35 | 36 | SPECIAL CONDITIONS: 37 | ACTION: 38 | AN IPL MUST BE PERFORMED FOR THIS SYSMOD TO BECOME ACTIVE. 39 | 40 | COMMENTS: 41 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 5. 42 | 43 | ORIGINALLY FOR UZ64419 (DEC 2001). 44 | THIS REWORK FOR UZ68196 (NOV 2002). 45 | 46 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 47 | MODULES: 48 | IECIOSAM 49 | */. 50 | ++ZAP(IECIOSAM) DISTLIB(AOSC5). 51 | NAME IECIOSCN 52 | IDRDATA ZP60005 53 | VER 0A24 47F0,5A92 ESIO3 B ISIO050 TRACE ON, MF/1 INACT 54 | VER 0A40 47F0,5A50 ESIO4 B ISIO030 MF/1 ACTIVE 55 | VER 0A44 58B0,32F0 ISIO41 L IOQR,IRTIOQ MF/1 INACTIVE 56 | VER 0A48 47F0,5A92 ISI042 B ISIO050 TRACE ON, MF/1 INACT 57 | REP 0A24 47F0,5A50 ESIO3 B ISIO030 58 | REP 0A44 47F0,5A50 ISIO41 B ISIO030 59 | REP 0A48 47F0,5A50 ISIO42 B ISIO030 60 | /* 61 | //SMPCNTL DD * 62 | RECEIVE 63 | SELECT(ZP60005) 64 | . 65 | /* 66 | //* 67 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 68 | //SMPCNTL DD * 69 | APPLY 70 | SELECT(ZP60005) 71 | CHECK 72 | . 73 | /* 74 | //* 75 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 76 | //SMPCNTL DD * 77 | APPLY 78 | SELECT(ZP60005) 79 | DIS(WRITE) 80 | . 81 | /* 82 | // 83 | -------------------------------------------------------------------------------- /usermods/ZP60006.jcl: -------------------------------------------------------------------------------- 1 | //ZP60006 JOB (SYSGEN),'J02 M21: ZP60006', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO SHOW EXCP COUNT ON DATA SET DISPOSITION MESSAGES. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60006) /* DATA SET DEALLOCATION MESSAGES */ . 14 | ++VER(Z038) FMID(EBB1102) PRE(UZ75723) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | THERE IS NO FEEDBACK IN JOB MESSAGES ABOUT EXCP ACTIVITY. 18 | STANDARD JOB MESSAGE OUTPUT DOES NOT CONTAIN ANY DATA 19 | ABOUT I/O ACTIVITY PERFORMED BY THE JOB. VERY USEFUL 20 | PERFORMANCE AND DEBUGGING INFORMATION CAN BE DEDUCED 21 | BY SHOWING THE NUMBER OF EXCPS TO EACH DATA SET. 22 | 23 | THIS USERMOD CHANGES THE SYSTEM GENERATED DATA SET 24 | DEALLOCATION MESSAGE IEF285I BY SHOWING THE EXCP COUNT 25 | AFTER THE DATA SET NAME. UP TO 9,999,999 CAN BE SHOWN 26 | CORRECTLY. 27 | 28 | SPECIAL CONDITIONS: 29 | ACTION: 30 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO 31 | BECOME ACTIVE. 32 | 33 | COMMENTS: 34 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 6. 35 | THIS IS MERELY A REPACKAGING FOR MVS 3.8J OF THE FAMOUS 36 | "I/O COUNT ZAP" DOCUMENTED IN DETAIL BY SAM GOLOB IN HIS 37 | "MVS TOOLS AND TRICKS OF THE TRADE" COLUMN IN THE JULY 1989 38 | ISSUE OF THE NASPA TECHNICAL SUPPORT MAGAZINE. THE ARTICLE 39 | IS SHIPPED IN MEMBER CL8907JL OF CBT FILE 120, AND THE USERMODS 40 | FOR VARIOUS LEVELS OF MVS ARE SHIPPED IN CBT FILE 369. 41 | 42 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 43 | MODULES: 44 | IEFAB4A2 (TO VERIFY DATA OFFSET) 45 | IEFAB4B0 46 | */. 47 | ++ZAP(IEFAB4A2) DISTLIB(AOSB3). 48 | NAME IEFAB4A2 49 | IDRDATA ZP60006 50 | VER 0005 C9C5C6C1C2F4C1F2 DC C'IEFAB4A2' 51 | VER 0086 D203,A138,8094 MVC DSABPTR(4),SIOTETIO(@08) 52 | REP 0005 C9C5C6C1C2F4C1F2 DC C'IEFAB4A2' 53 | ++ZAP(IEFAB4B0) DISTLIB(AOSB3). 54 | NAME IEFAB4B0 55 | EXPAND IEFAB4B0(128) 56 | IDRDATA ZP60006 57 | * ORG CLRKEY 58 | VER 0052 4220,B10B STC @02,@OLDKEY 59 | * ORG CLRTXT 60 | VER 0076 D248,B0C1,B0C0 MVC MSGBUFFR+1(73),MSGBUFFR BLANK ENTIRE BUFFER 61 | * ORG STEAL 62 | VER 0156 9240,B0F8 MVI MSGDISP+1,C' ' DISPLACED INSTRUCTION 63 | * ORG @EL00001 64 | VER 02EE 4320,B10B IC @02,@OLDKEY 65 | * ORG @SIZDATD 66 | VER 03E8 E600,010C DC AL1(230),AL3(@ENDATD-@DATD) 67 | * ORG PATCH 68 | VER 045C 0000,0000,0000,0000 DC 4F'0' 69 | VER 0464 0000,0000,0000,0000 70 | * ORG CLRKEY 71 | REP 0052 4220,B120 STC @02,@NEWKEY 72 | * ORG CLRTXT 73 | REP 0076 D24D,B0C1,B0C0 MVC MSGBUFFR+1(78),MSGBUFFR BLANK ENTIRE BUFFER 74 | * ORG STEAL 75 | REP 0156 47F0,C440 B PATCH 76 | * MAINLINE EQU * 77 | * ORG @EL00001 78 | REP 02EE 4320,B120 IC @02,@NEWKEY 79 | * ORG @SIZDATD 80 | REP 03E8 E600,0130 DC AL1(230),AL3(@NEWDATD-@DATD) 81 | * ORG PATCH 82 | * PATCHOUT EQU * 83 | REP 045C 924F,B0B7 MVI MSGLNGTH+3,79 SET MSGLNGTH TO 79 84 | REP 0460 58A0,B048 L @10,@PC00001 ADDR OF MSGID 85 | REP 0464 9101,A000 TM 0(@10),X'01' MSGID=1 ? 86 | REP 0468 47E0,C4C6 BNO PATEXIT NO ==> WE EXIT. 87 | REP 046C 58A0,D004 L @10,4(,@13) ADDR OF IEFAB4A2'S SAVE A 88 | REP 0470 58A0,A03C L @10,X'3C'(,@10) IEFAB4A2'S R10 89 | REP 0474 BFAF,A138 ICM @10,15,X'138'(@10) ADDR OF DSAB (IEFAB4A2 90 | * DSABPTR LEVEL JBB1329 RMID UZ75725 - SAME AS 91 | * DSABPTR LEVEL EBB1102 RMID UZ75723) 92 | REP 0478 4780,C4C6 BZ PATEXIT EXIT IF NO DSAB 93 | REP 047C 58A0,A010 L @10,DSABTIOT(,@10) ADDR OF TIOT ENTRY 94 | REP 0480 1F66 SLR @06,@06 CLEAR WORK REG 95 | REP 0482 4960,A012 CH @06,TIOPSTTB(,@10) IS THERE A UCB ENTRY IN T 96 | REP 0486 4780,C4C6 BZ PATEXIT NO ==> WE QUIT. 97 | REP 048A 5810,B058 L @01,@PC00001+16 ADDR OF JSCB PTR 98 | REP 048E 5810,1000 L @01,0(,@01) ADDR OF JSCB 99 | REP 0492 5840,10D0 L @04,JSCBTCBP(,@01) ADDR OF INIT'S TCB 100 | REP 0496 5810,114C L @01,JSCTMCOR(,@01) ADDR OF TIOT MGMT AREA 101 | REP 049A 5BA0,1018 S @10,X'18'(,@01) CALC TIOT ENTRY OFFSET 102 | REP 049E BF4F,40A4 ICM @04,15,TCBTCT(@04) ADDR OF TIMING CONTROL TA 103 | REP 04A2 4780,C4C6 BZ PATEXIT EXIT IF NONE 104 | REP 04A6 5840,400C L @04,TCTIOTBL(,@04) ADDR OF TCT I/O TABLE 105 | REP 04AA 4150,4008 LA @05,TCTDCBTD(,@04) ADDR OF 1ST DD LOOKUP TAB 106 | * PATDDLOP EQU * 107 | REP 04AE 4960,5000 CH @06,0(,@05) LAST ENTRY IS ZERO 108 | * 109 | REP 04B2 4780,C4C6 BZ PATEXIT EXIT IF ZERO. 110 | REP 04B6 49A0,5000 CH @10,0(,@05) DO THE TIOT DISPLACEMENTS 111 | REP 04BA 4780,C4AA BE PATPRINT YES ==> PRINT I/O CO 112 | REP 04BE 4150,5004 LA @05,4(,@05) BUMP TO NEXT DD TABLE ENT 113 | REP 04C2 47F0,C492 B PATDDLOP 114 | * PATPRINT EQU * 115 | REP 04C6 4A40,5002 AH @04,TCTIOTSD(,@05) OFFSET TO THE DEVICE ENTR 116 | * (TCTDDENT OR TCBUCBP) 117 | REP 04CA 5860,4004 L @06,TCTDCTR(,@04) GET THE I/O COUNT 118 | REP 04CE 4E60,B0F8 CVD @06,MSGDISP+1 INTO PACKED FORMAT 119 | REP 04D2 D209,B105,C4CE MVC MSGCOUNT(L'EDMSK1),EDMSK1 PREPARE TO EDIT 120 | REP 04D8 DE09,B105,B0FC ED MSGCOUNT(L'EDMSK1),MSGDISP+5 STICK IN SOME CO 121 | REP 04DE 925C,B105 MVI MSGCOUNT,C'*' MARK WITH A SPLAT 122 | * PATEXIT EQU * 123 | REP 04E2 9240,B0F8 MVI MSGDISP+1,C' ' DISPLACED INSTRUCTION 124 | REP 04E6 47F0,C13E B MAINLINE 125 | * 126 | * EDMSK1 EQU * 127 | REP 04EA 6020,6B20,2020,6B20 DC X'60206B2020206B202120' 128 | REP 04F2 2120 129 | * DECK PRODUCED BY THE ASMTOZAP UTILITY 85/12/16 165820 130 | /* 131 | //SMPCNTL DD * 132 | RECEIVE 133 | SELECT(ZP60006) 134 | . 135 | /* 136 | //* 137 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 138 | //SMPCNTL DD * 139 | APPLY 140 | SELECT(ZP60006) 141 | CHECK 142 | . 143 | /* 144 | //* 145 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 146 | //SMPCNTL DD * 147 | APPLY 148 | SELECT(ZP60006) 149 | DIS(WRITE) 150 | . 151 | /* 152 | // 153 | -------------------------------------------------------------------------------- /usermods/ZP60012.jcl: -------------------------------------------------------------------------------- 1 | //ZP60012 JOB (SYSGEN),'J07 M26: ZP60012', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO REPORT INTERRUPT CODE OF ABEND IN A TSO SESSION. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60012) /* REPORT PIC FOR S0CX OR SODX ABEND */ . 14 | ++VER(Z038) FMID(EBB1102) PRE(UZ83396,UY02947) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | THE CONTENTS OF GPR15 IS REPORTED AS THE REASON CODE. 18 | IN THE ABSENCE OF A "REASON" PARAMETER OF THE ABEND MACRO 19 | THE VALUE STORED IN GENERAL PURPOSE REGISTER 15 IS INSPECTED 20 | AND IF (LOGICALLY) LESS THAN 4096 IS THEN ARBITRARILY 21 | REPORTED AS THE REASON CODE OF THE ABEND. THIS IS NOT 22 | APPROPRIATE FOR PROGRAM CHECK ABENDS WHERE IT CAN BE MORE 23 | USEFUL TO REPORT THE PROGRAM INTERRUPT CODE (PIC). 24 | 25 | THIS USERMOD CHANGES THE TSO TMP ESTAI EXIT ROUTINE IKJEFT04 26 | AND THE TSO TMP ESTAE EXIT ROUTINE IKJEFT05 SO THAT THE PIC 27 | IS REPORTED AS THE REASON CODE IN MESSAGE IKJ56641I. AS A 28 | RESULT, THE DETERMINATION OF WHETHER THE PSW POINTS TO THE 29 | FAILING INSTRUCTION (AS FOR PIC10, PIC11 AND PIC12) OR THE 30 | NEXT INSTRUCTION WILL BE EASIER TO MAKE. 31 | 32 | SPECIAL CONDITIONS: 33 | ACTION: 34 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO 35 | BECOME ACTIVE. 36 | 37 | COMMENTS: 38 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 12. 39 | 40 | A TYPICAL USAGE SCENARIO MIGHT CONSIST OF THE FOLLOWING STEPS: 41 | 1) A PROGRAM OR COMMAND ABENDS RESULTING IN: 42 | IKJ56641I PGM-NAME ENDED DUE TO ERROR+ 43 | READY 44 | 2) THE USER ENTERS A QUESTION MARK RESULTING IN: 45 | IKJ56641I SYSTEM ABEND CODE 0C4 REASON CODE 011 46 | READY 47 | 3) THE USER INITIATES THE TEST COMMAND TO COMMENCE DEBUGGING 48 | KNOWING THAT THE CURRENT LOCATION CONTAINS THE INSTRUCTION 49 | CAUSING THE PROGRAM CHECK. 50 | 51 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 52 | MODULES: 53 | IKJEFT04 54 | IKJEFT05 55 | */. 56 | ++ZAP(IKJEFT04) DISTLIB(AOST4). 57 | NAME IKJEFT04 58 | IDRDATA ZP60012 59 | VER 0190 58E0,D004 L R14,SAVRBAK 60 | VER 0194 D503,E014,B94C CLC REG0,=F'12' SDWA PROVIDED? 61 | VER 019A 4780,B1EC BE L1 NO 62 | VER 019E 58E0,E018 L R14,REG1 SDWA ADDRESS 63 | VER 01A2 D503,E054,B980 L5 CLC SDWAGR15,=F'4095' 64 | VER 01A8 47D0,B1B6 BNH L2 65 | VER 01AC 1FEE L4 SLR R14,R14 NO REASON CODE 66 | VER 01AE 50E0,A01C L6 ST R14,SUBCDRS 67 | VER 01B2 47F0,B1F2 B L3 68 | VER 01B6 58E0,D004 L2 L R14,SAVRBAK 69 | VER 01BA 58E0,E018 L R14,REG1 SDWA ADDRESS 70 | VER 01BE 58E0,E054 L R14,SDWAGR15 71 | VER 01C2 50E0,A01C ST R14,SUBCDRS 72 | VER 08C4 B8C4,B8C6 PA DC 2S(*) 73 | VER 08C8 B8C8,B8CA DC 2S(*) 74 | VER 08CC B8CC,B8CE DC 2S(*) 75 | VER 08D0 B8D0,B8D2 DC 2S(*) 76 | VER 08D4 B8D4,B8D6 DC 2S(*) 77 | VER 08D8 B8D8,B8DA DC 2S(*) 78 | VER 08DC B8DC,B8DE DC 2S(*) 79 | REP 019E 47F0,B8C4 B PA 80 | REP 08C4 58E0,E018 L R14,REG1 SDWA ADDRESS 81 | REP 08C8 950C,E005 CLI SDWACMPC,X'0C' 82 | REP 08CC 4740,B1A2 BL L5 NOT PROGRAM CHECK 83 | REP 08D0 950D,E005 CLI SDWACMPC,X'0D' 84 | REP 08D4 4720,B1A2 BH L5 NOT PROGRAM CHECK 85 | REP 08D8 48E0,E00A LH R14,SDWAINTA GET INTERRUPT CODE 86 | REP 08DC 47F0,B1AE B L6 GO USE IT AS REASON 87 | ++ZAP(IKJEFT05) DISTLIB(AOST4). 88 | NAME IKJEFT05 89 | IDRDATA ZP60012 90 | VER 0032 05B0 BALR R11,0 BASE REGISTERS 1 91 | VER 0034 4140,BFFF LA R4,4095(,R11) AND 2 92 | VER 00F2 D503,3054,42ED CLC SDWAGR15,=F'4095' 93 | VER 00F8 47D0,B0D2 BNH LBL1 94 | VER 00FC 1F77 SLR R7,R7 NO REASON CODE 95 | VER 00FE 5070,A01C ST R7,SUBCDRS 96 | VER 0102 47F0,B0E6 B LBL2 97 | VER 0106 5830,8008 LBL1 L R3,8(,R8) 98 | VER 010A 5870,304C L R7,76(,R3) 99 | VER 010E 5830,7018 L R3,24(,R7) 100 | VER 0112 5830,3054 L R3,SDWAGR15 101 | VER 0116 5030,A01C ST R3,SUBCDRS 102 | VER 011A 5060,A00C LBL2 ST R6,ABNDCD 103 | VER 011E 8960,0008 SLL R6,8 104 | VER 0122 8C60,0014 LBL3 SRDL R6,20 105 | VER 11F6 41C3,41C5 PATCH DC 2S(*) 106 | VER 11FA 41C7,41C9 DC 2S(*) 107 | VER 11FE 41CB,41CD DC 2S(*) 108 | VER 1202 41CF,41D1 DC 2S(*) 109 | VER 1206 41D3,41D5 DC 2S(*) 110 | VER 120A 41D7,41D9 DC 2S(*) 111 | VER 120E 41DB,41DD DC 2S(*) 112 | VER 1212 41DF,41E1 DC 2S(*) 113 | REP 0112 5870,3054 L R7,SDWAGR15 KEEP R3 AS 114 | REP 0116 5070,A01C ST R7,SUBCDRS SDWA ADDRESS 115 | REP 011E 47F0,41C3 B PATCH OVERLAYS SLL 116 | REP 11F6 8960,0008 PATCH SLL R6,8 DISPLACED BY BRANCH 117 | REP 11FA 950C,3005 CLI SDWACMPC,X'0C' 118 | REP 11FE 4740,B0EE BL LBL3 NOT PROGRAM CHECK 119 | REP 1202 950D,3005 CLI SDWACMPC,X'0D' 120 | REP 1206 4720,B0EE BH LBL3 NOT PROGRAM CHECK 121 | REP 120A BF73,300A ICM R7,3,SDWAINTA TOP HALF OF R7 IS 0 122 | REP 120E 5070,A01C ST R7,SUBCDRS 123 | REP 1212 47F0,B0EE B LBL3 124 | /* 125 | //SMPCNTL DD * 126 | RECEIVE 127 | SELECT(ZP60012) 128 | . 129 | /* 130 | //* 131 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 132 | //SMPCNTL DD * 133 | APPLY 134 | SELECT(ZP60012) 135 | CHECK 136 | . 137 | /* 138 | //* 139 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 140 | //SMPCNTL DD * 141 | APPLY 142 | SELECT(ZP60012) 143 | DIS(WRITE) 144 | . 145 | /* 146 | // 147 | -------------------------------------------------------------------------------- /usermods/ZP60015.jcl: -------------------------------------------------------------------------------- 1 | //ZP60015 JOB (SYSGEN),'J01 M29: ZP60015', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* EXTEND THE JOB SEARCH BY JES2 FOR TSO STATUS WITHOUT OPERANDS. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60015) /* EXTEND JES2 TSO STATUS SEARCH */ . 14 | ++VER(Z038) FMID(EJE1103) 15 | PRE(UZ31176,UZ33158,UZ35334,UZ37263,UZ52543,UZ54837,UZ57911, 16 | UZ63374,UZ65742,UZ68537,UZ71437,UZ76165) 17 | /* 18 | PROBLEM DESCRIPTION: 19 | TSO STATUS ONLY LOOKS FOR JOB NAMES OF USERID PLUS ONE CHARACTER. 20 | WHEN THE TSO STATUS COMMAND IS ISSUED WITHOUT ANY OPERAND 21 | THE SYSTEM LOOKS FOR ALL JOBS WITH NAMES BEGINNING WITH THE 22 | USERID PLUS ONE CHARACTER. IF THE USERID IS SHORTER THAN 23 | SEVEN CHARACTERS THEN OTHER JOBS WITH NAMES BEGINNING WITH 24 | THE USERID BUT HAVING MORE THAN ONE EXTRA CHARACTER ARE NOT 25 | REPORTED BY THE STATUS COMMAND. 26 | 27 | THIS USERMOD ALTERS JES2 SO THAT ANY JOB WITH A NAME WHICH 28 | STARTS WITH THE REQUESTING USERID IS REPORTED. 29 | 30 | SPECIAL CONDITIONS: 31 | ACTION: 32 | JES2 MUST BE RESTARTED FOR THIS ZAP TO BECOME ACTIVE. 33 | A HOT START IS SUFFICIENT. 34 | 35 | COMMENTS: 36 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 15. 37 | 38 | USERMODS ZP60015 AND ZP60016 ARE INTENDED TO BE OPERATIONAL 39 | CONCURRENTLY. NOTE THE FOLLOWING BEHAVIOUR TABLE: 40 | 41 | WHICH USERMODS ACTIVE I STATUS DEFAULT SEARCH 42 | ========================================================== 43 | NEITHER 15 NOR 16 APPLIED I FIND USERID+1 ONLY 44 | ---------------------------------------------------------- 45 | 15 APPLIED BUT NOT 16 I FIND USERID+0,1,2,3 BUT 46 | I NAME REPORTED AS USERID+1 47 | ---------------------------------------------------------- 48 | 16 APPLIED BUT NOT 15 I FIND USERID+1 ONLY BUT 49 | I MESSAGE HAS NULLS AFTER NAME 50 | ---------------------------------------------------------- 51 | BOTH 15 AND 16 APPLIED I FIND USERID+0,1,2,3 52 | ---------------------------------------------------------- 53 | 54 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 55 | MODULES: 56 | HASPXEQ 57 | */. 58 | ++ SRCUPD (HASPXEQ) DISTLIB(HASPSRC ). 59 | ./ CHANGE NAME=HASPXEQ 60 | CLM WD,1,=AL1(L'JQEJNAME-2) TEST FOR FULL NAME SCAN ZP60015 U5596000 61 | SLR R15,R15 CLEAR FOR INSERT ZP60015 U5599000 62 | IC R15,SJBTULEN GET USER NAME LENGTH ZP60015 U5599500 63 | LA R15,JQEJNAME(R15) POINT TO LAST CHARACTER + 1 ZP60015 U5600000 64 | CLM WD,1,=AL1(L'JQEJNAME-5) NEED TRAILER CHECK? ZP60015 U5602000 65 | BH XTJSCNA NO, NAME LONG ENOUGH TO NOT ZP60015 U5603000 66 | CLI 3(R15),C' ' INSURE NAME NOT >3 LONGER ZP60015 U5604000 67 | NOP XTJSCN (BE) LOOP IF NOT (TSO ID OKAY) ZP60015 U5612000 68 | ICM WD,14,0(R15) PICK UP CHARACTER(S) ZP60015 U5614000 69 | STCM WD,14,SSCSUJOB SET LAST CHARS IF PRESENT ZP60015 U5684000 70 | /* 71 | //SMPCNTL DD * 72 | RECEIVE 73 | SELECT(ZP60015) 74 | . 75 | /* 76 | //* 77 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 78 | //SYSUT1 DD SPACE=(1700,(1200,100)) 79 | //SYSUT2 DD SPACE=(1700,(1200,100)) 80 | //SYSUT3 DD SPACE=(1700,(1200,100)) 81 | //SMPWRK3 DD UNIT=&WORK,SPACE=(CYL,(80,20,84)),DCB=(BLKSIZE=3120, 82 | // LRECL=80) 83 | //SMPCNTL DD * 84 | APPLY 85 | SELECT(ZP60015) 86 | CHECK 87 | . 88 | /* 89 | //* 90 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 91 | //SYSUT1 DD SPACE=(1700,(1200,100)) 92 | //SYSUT2 DD SPACE=(1700,(1200,100)) 93 | //SYSUT3 DD SPACE=(1700,(1200,100)) 94 | //SMPWRK3 DD UNIT=&WORK,SPACE=(CYL,(80,20,84)),DCB=(BLKSIZE=3120, 95 | // LRECL=80) 96 | //SMPCNTL DD * 97 | APPLY 98 | SELECT(ZP60015) 99 | . 100 | /* 101 | // 102 | -------------------------------------------------------------------------------- /usermods/ZP60016.jcl: -------------------------------------------------------------------------------- 1 | //ZP60016 JOB (SYSGEN),'J02 M30: ZP60016', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* REPORT EXTENDED RESULTS FROM JES2 TSO STATUS DEFAULT SEARCH. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60016) /* REPORT JES2 STATUS SEARCH RESULTS */ . 14 | ++VER(Z038) FMID(EBB1102) PRE(UZ48744) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | TSO STATUS ONLY LOOKS FOR JOB NAMES OF USERID PLUS ONE CHARACTER. 18 | WHEN THE TSO STATUS COMMAND IS ISSUED WITHOUT ANY OPERAND 19 | THE SYSTEM LOOKS FOR ALL JOBS WITH NAMES BEGINNING WITH THE 20 | USERID PLUS ONE CHARACTER. IF THE USERID IS SHORTER THAN 21 | SEVEN CHARACTERS THEN OTHER JOBS WITH NAMES BEGINNING WITH 22 | THE USERID BUT HAVING MORE THAN ONE EXTRA CHARACTER ARE NOT 23 | REPORTED BY THE STATUS COMMAND. 24 | 25 | THIS USERMOD ALTERS THE STATUS COMMAND TO REPORT UP TO 26 | THREE EXTRA CHARACTERS AFTER THE USERID IN THE JOB NAME. 27 | THESE JOBS WILL HAVE BEEN RETURNED BY JES2 PROCESSING AFTER 28 | THE ACTIVATION OF ZP60015. WITHOUT THIS SYSMOD SUCH JOBS 29 | WILL BE REPORTED WITHOUT THE UP TO TWO EXTRA CHARACTERS 30 | IN THE JOB NAME. 31 | 32 | SPECIAL CONDITIONS: 33 | NONE. 34 | 35 | COMMENTS: 36 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 16. 37 | 38 | USERMODS ZP60015 AND ZP60016 ARE INTENDED TO BE OPERATIONAL 39 | CONCURRENTLY. NOTE THE FOLLOWING BEHAVIOUR TABLE: 40 | 41 | WHICH USERMODS ACTIVE I STATUS DEFAULT SEARCH 42 | ========================================================== 43 | NEITHER 15 NOR 16 APPLIED I FIND USERID+1 ONLY 44 | ---------------------------------------------------------- 45 | 15 APPLIED BUT NOT 16 I FIND USERID+0,1,2,3 BUT 46 | I NAME REPORTED AS USERID+1 47 | ---------------------------------------------------------- 48 | 16 APPLIED BUT NOT 15 I FIND USERID+1 ONLY BUT 49 | I MESSAGE HAS NULLS AFTER NAME 50 | ---------------------------------------------------------- 51 | BOTH 15 AND 16 APPLIED I FIND USERID+0,1,2,3 52 | ---------------------------------------------------------- 53 | 54 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 55 | MODULES: 56 | IKJEFF52 57 | */. 58 | ++ZAP(IKJEFF52) DISTLIB(AOST4). 59 | NAME IKJEFF52 60 | IDRDATA ZP60016 61 | VER 0348 9180,3002 TM SSCSFLGS,SSCSUSID 62 | VER 034C 47E0,C344 BO JBNAMEOK 63 | VER 0350 1F22 SLR R2,R2 64 | VER 0352 4320,3003 IC R2,SSCSULEN 65 | VER 0356 4132,B320 LA R3,JOBNINST(R2) 66 | VER 035A D200,3000,4021 MVC 0(1,R3),SSCSUJOB 67 | VER 068A E9C1,D7E9,C1D7 DC C'ZAPZAP' 68 | REP 0356 41E2,B320 LA R14,JOBNINST(R2) 69 | REP 035A 47F0,C66E,0700 B PATCH 70 | REP 068A D200,E000,4021 PATCH MVC 0(1,R14),SSCSUJOB 71 | REP 0690 9506,3003 CLI SSCSULEN,6 72 | REP 0694 4720,C344 BH JBNAMEOK 73 | REP 0698 D200,E001,4022 MVC 1(1,R14),SSCSUJOB+1 74 | REP 069E 4780,C344 BE JBNAMEOK 75 | REP 06A2 D200,E002,4023 MVC 2(1,R14),SSCSUJOB+2 76 | REP 06A8 47F0,C344 B JBNAMEOK 77 | /* 78 | //SMPCNTL DD * 79 | RECEIVE 80 | SELECT(ZP60016) 81 | . 82 | /* 83 | //* 84 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 85 | //SMPCNTL DD * 86 | APPLY 87 | SELECT(ZP60016) 88 | CHECK 89 | . 90 | /* 91 | //* 92 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 93 | //SMPCNTL DD * 94 | APPLY 95 | SELECT(ZP60016) 96 | DIS(WRITE) 97 | . 98 | /* 99 | // 100 | -------------------------------------------------------------------------------- /usermods/ZP60017.jcl: -------------------------------------------------------------------------------- 1 | //ZP60017 JOB (SYSGEN),'J03 M31: ZP60017', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO MOVE THE MASTER TRACE TABLE TO CSA. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60017) /* MASTER TRACE TABLE SUBPOOL */ . 14 | ++VER(Z038) FMID(FBB1221) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | IT IS DIFFICULT TO ACCESS THE MASTER TRACE TABLE CONTENTS. 18 | THE MASTER TRACE TABLE IS A WRAP-AROUND BUFFER CONTAINING 19 | THE MOST RECENT WTO MESSAGES PROCESSED BY COMMTASK, EVEN 20 | INCLUDING MESSAGES WHICH WERE NOT LOGGED OR DISPLAYED 21 | ANYWHERE ELSE. BEING ABLE TO BROWSE THE MASTER TRACE TABLE 22 | CONTENTS WITHOUT TAKING A DUMP INCLUDING ASID 1 AND WITHOUT 23 | THE NEED FOR ASYNCHRONOUS CROSS-MEMORY COMMUNICATION IS A 24 | USEFUL DIAGNOSIS TOOL AND OPERATIONAL AID. 25 | 26 | THIS USERMOD UPDATES THE NIP INITIALIZATION ROUTINE WHICH 27 | SETS THE MASTER TRACE TABLE SUBPOOL VALUE INTO THE MASTER 28 | SCHEDULER RESIDENT DATA AREA. THE ORIGINAL SUBPOOL OF 29 | 229 IS CHANGED TO 231 WHICH IS A CSA SUBPOOL WITH SIMILAR 30 | ATTRIBUTES. 31 | 32 | SPECIAL CONDITIONS: 33 | ACTION: 34 | AN IPL MUST BE PERFORMED FOR THIS SYSMOD TO BECOME ACTIVE. 35 | 36 | COMMENTS: 37 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 17. 38 | 39 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 40 | MODULES: 41 | IEAVNP13 42 | */. 43 | ++ZAP(IEAVNP13) DISTLIB(AOSC5). 44 | NAME IEAVNP13 45 | IDRDATA ZP60017 46 | VER 0076 92E5,A028 MVI BAMTINSP,229 47 | REP 0076 92E7,A028 MVI BAMTINSP,231 48 | /* 49 | //SMPCNTL DD * 50 | RECEIVE 51 | SELECT(ZP60017) 52 | . 53 | /* 54 | //* 55 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 56 | //SMPCNTL DD * 57 | APPLY 58 | SELECT(ZP60017) 59 | CHECK 60 | . 61 | /* 62 | //* 63 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 64 | //SMPCNTL DD * 65 | APPLY 66 | SELECT(ZP60017) 67 | DIS(WRITE) 68 | . 69 | /* 70 | // 71 | -------------------------------------------------------------------------------- /usermods/ZP60019.jcl: -------------------------------------------------------------------------------- 1 | //ZP60019 JOB (SYSGEN),'J05 M33: ZP60019', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO RECORD CPU TIME USED BY JOBS WITH TIME=1440 IN JCL. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60019) /* RECORD CPU TIME WHEN TIME=1440 */ . 14 | ++VER(Z038) FMID(FBB1221) PRE(UZ67391) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | NO RECORD IS KEPT OF THE CPU TIME USED WHEN TIME=1440 IS USED. 18 | SPECIFYING TIME=1440 ON THE JOB OR EXEC JCL STATEMENT IS 19 | A METHOD OF INDICATING TO THE SYSTEM THAT THERE IS NO LIMIT 20 | TO BE APPLIED BY THE SYSTEM TO THE STEP'S ACCUMULATION OF 21 | CPU TIME OR WAIT TIME. THIS FACILITY WAS CONCEPTUALLY 22 | EXTENDED TO MEAN THAT SUCH JOBS WERE NOT TO BE SUBJECT TO 23 | CHARGEBACK, AND SO CPU TIME USED BY SUCH JOBS WAS "FREE". 24 | AS A RESULT, THE CPU TIME USED BY JOB STEPS WHEN TIME=1440 25 | IN EFFECT IS NOT RECORDED, AND ZERO TIME IS REPORTED IN THE 26 | STEP (IEF374I) AND JOB (IEF376I) END MESSAGES, AND IN SMF 27 | (RECORD TYPES 4, 5, 34 AND 35) THUS EFFECTIVELY FAILING TO 28 | CAPTURE SIGNIFICANT JOB AND SYSTEM PERFORMANCE DATA. 29 | 30 | THIS USERMOD UPDATES THE INITIATOR ATTACH ROUTINE TO MOVE 31 | THE TEST TO SEE IF JOB/STEP TIMING LIMITS ARE IN EFFECT 32 | UNTIL AFTER THE TCB AND SRB CPU TIMES USED BY THE STEP HAVE 33 | BEEN SAVED. 34 | 35 | SPECIAL CONDITIONS: 36 | ACTION: 37 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO 38 | BECOME ACTIVE. 39 | 40 | COMMENTS: 41 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 19. 42 | 43 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 44 | MODULES: 45 | IEFSD263 46 | */. 47 | ++ZAP(IEFSD263) DISTLIB(AOSB3). 48 | NAME IEFSD263 49 | IDRDATA ZP60019 50 | VER 062A 1277 LTR R7,R7 51 | VER 062C 4720,C692 BC 2,NOTEST 52 | VER 0630 9823,A040 LM R2,R3,ASCBEJST 53 | VER 0634 8C20,000C SRDL R2,12 54 | VER 0638 5D20,C90A D R2,TEN1000 55 | VER 063C 5920,C916 C R2,FIVE1000 56 | VER 0640 4740,C646 BL NOROUND2 57 | VER 0644 5A30,C912 A R3,ROUNDUP 58 | VER 0648 5030,405C NOROUND2 ST R3,LCTTSTU4 59 | VER 064C 9823,A0C8 LM R2,R3,ASCBSRBT 60 | VER 0650 8C20,000C SRDL R2,12 61 | VER 0654 5D20,C90A D R2,TEN1000 62 | VER 0658 5920,C916 C R2,FIVE1000 63 | VER 065C 4740,C662 BL NOROUND3 64 | VER 0660 5A30,C912 A R3,ROUNDUP 65 | VER 0664 5030,415C NOROUND3 ST R3,LCTTSRB4 66 | REP 062A 9823,A040 LM R2,R3,ASCBEJST 67 | REP 062E 8C20,000C SRDL R2,12 68 | REP 0632 5D20,C90A D R2,TEN1000 69 | REP 0636 5920,C916 C R2,FIVE1000 70 | REP 063A 4740,C640 BL NOROUND2 71 | REP 063E 5A30,C912 A R3,ROUNDUP 72 | REP 0642 5030,405C NOROUND2 ST R3,LCTTSTU4 73 | REP 0646 9823,A0C8 LM R2,R3,ASCBSRBT 74 | REP 064A 8C20,000C SRDL R2,12 75 | REP 064E 5D20,C90A D R2,TEN1000 76 | REP 0652 5920,C916 C R2,FIVE1000 77 | REP 0656 4740,C65C BL NOROUND3 78 | REP 065A 5A30,C912 A R3,ROUNDUP 79 | REP 065E 5030,415C NOROUND3 ST R3,LCTTSRB4 80 | REP 0662 1277 LTR R7,R7 81 | REP 0664 4720,C692 BC 2,NOTEST 82 | /* 83 | //SMPCNTL DD * 84 | RECEIVE 85 | SELECT(ZP60019) 86 | . 87 | /* 88 | //* 89 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 90 | //SMPCNTL DD * 91 | APPLY 92 | SELECT(ZP60019) 93 | CHECK 94 | . 95 | /* 96 | //* 97 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 98 | //SMPCNTL DD * 99 | APPLY 100 | SELECT(ZP60019) 101 | DIS(WRITE) 102 | . 103 | /* 104 | // 105 | -------------------------------------------------------------------------------- /usermods/ZP60020.jcl: -------------------------------------------------------------------------------- 1 | //ZP60020 JOB (SYSGEN),'J06 M34: ZP60020', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO REMOVE THE LINKAGE EDITOR SYSLIN BLKSIZE LIMIT OF 3200. 10 | //* 11 | //RECEIVE EXEC SMPREC 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60020) /* REMOVE SYSLIN BLKSIZE 3200 LIMIT */ . 14 | ++VER(Z038) FMID(EPM1102) PRE(UZ48373,UZ69717) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | THE LINKAGE EDITOR HAS A BLOCK SIZE LIMIT OF 3200 FOR SYSLIN. 18 | WHEN READING CONTROL STATEMENTS AND OBJECT DECKS FROM 19 | THE SYSLIN FILE THE LINKAGE EDITOR CANNOT PROCESS 80-BYTE 20 | RECORDS WITH A BLOCKING FACTOR OF MORE THAN FORTY. 21 | 22 | THIS USERMOD INCREASES THE LIMIT TO 32720 OR A BLOCKING 23 | FACTOR OF 409 WHICH IS THE MAXIMUM SUPPORTED BY MVS 24 | ACCESS METHODS. 25 | 26 | SPECIAL CONDITIONS: 27 | NONE. 28 | 29 | COMMENTS: 30 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 20. 31 | 32 | THIS USERMOD IS A REFIT OF THE USERMOD PUBLISHED IN SAM 33 | GOLOB'S MVS TOOLS AND TRICKS OF THE TRADE COLUMN IN NASPA'S 34 | TECHNICAL SUPPORT MAGAZINE IN SEPTEMBER 1996 AND SEPTEMBER 35 | 1998. THIS REFIT, INCLUDING THE ALTERATION OF THE DEFAULT 36 | SIZE SETTING, WAS DEVELOPED BY ENRICO SORICHETTI. 37 | 38 | 39 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 40 | MODULES: 41 | HEWLFINT 42 | HEWLFAPT 43 | */. 44 | ++ZAP(HEWLFINT) DISTLIB(AOS04). 45 | NAME HEWLFINT 46 | IDRDATA ZP60020 47 | VER 0910 0C80 LINMAX DC H'3200' 48 | VER 0D4E 0028 M40 DC H'40' 49 | REP 0910 7FD0 LINMAX DC H'32720' 50 | REP 0D4E 0199 M40 DC H'409' 51 | ++ZAP(HEWLFAPT) DISTLIB(AOS04). 52 | NAME HEWLFAPT 53 | IDRDATA ZP60020 54 | VER 0216 0028 MAXBF DC H'40' MAXIMUM BLOCKING FACTOR 55 | REP 0216 0199 MAXBF DC H'409' MAXIMUM BLOCKING FACTOR 56 | NAME HEWLFDEF 57 | IDRDATA ZP60020 58 | VER 0008 00030000 SIZE=192K 59 | REP 0008 00040000 SIZE=256K 60 | /* 61 | //SMPCNTL DD * 62 | RECEIVE 63 | SELECT(ZP60020) 64 | . 65 | /* 66 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 67 | //SMPCNTL DD * 68 | APPLY 69 | SELECT(ZP60020) 70 | CHECK 71 | . 72 | /* 73 | //* 74 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 75 | //SMPCNTL DD * 76 | APPLY 77 | SELECT(ZP60020) 78 | DIS(WRITE) 79 | . 80 | /* 81 | // 82 | -------------------------------------------------------------------------------- /usermods/ZP60021.jcl: -------------------------------------------------------------------------------- 1 | //ZP60021 JOB (SYSGEN),'J07 M35: ZP60021', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO DISPLAY KEYBOARD CHARACTERS IN A PRINTED DUMP. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60021) /* SHOW KEYBOARD CHARACTERS IN DUMP */ . 14 | ++VER(Z038) FMID(EBB1102) PRE(UZ61115) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | DUMPS SHOW PERIODS OBSCURING LOWER CASE AND OTHER CHARACTERS. 18 | WHEN A DUMP SUCH AS A SYSUDUMP FORMATS STORAGE CONTENTS 19 | INTO HEXADECIMAL AND CHARACTER DATA, THE CHARACTER DATA 20 | WRITTEN IS ALL PERIODS EXCEPT FOR SPACES, UPPER CASE 21 | ALPHABETIC AND NUMERIC EBCDIC CHARACTERS. 22 | 23 | THIS USERMOD REPLACES THE PERIODS TO BE USED FOR THE OTHER 24 | US KEYBOARD CHARACTERS IN THE RELEVANT TRANSLATE TABLE 25 | WITH THE CODE POINTS THEMSELVES SO THAT THESE CHARACTERS 26 | CAN APPEAR IN STORAGE DUMP. 27 | 28 | SPECIAL CONDITIONS: 29 | ACTION: 30 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO 31 | BECOME ACTIVE. 32 | 33 | COMMENTS: 34 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 21. 35 | 36 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 37 | MODULES: 38 | IEAVAD51 39 | */. 40 | ++ZAP(IEAVAD51) DISTLIB(AOSC5). 41 | NAME IEAVAD51 42 | IDRDATA ZP60021 43 | VER 01E6 4B4B4B4B4B4B4B4B ........ HEX 00 -> 07 44 | VER 0226 404B4B4B4B4B4B4B ....... HEX 40 -> 47 45 | VER 02D6 F0F1F2F3F4F5F6F7 01234567 HEX F0 -> F7 46 | VER 02DE F8F94B4B4B4B4B4B 89...... HEX F8 -> FF 47 | REP 022E 4B4B4A4B4C4D4E4F ..¢.<(+| HEX 48 -> 4F 48 | REP 0236 504B4B4B4B4B4B4B &....... HEX 50 -> 57 49 | REP 023E 4B4B5A5B5C5D5E5F ..!$*);¬ HEX 58 -> 5F 50 | REP 0246 60614B4B4B4B4B4B -/...... HEX 60 -> 67 51 | REP 024E 4B4B6A6B6C6D6E6F ..Š,%_>? HEX 68 -> 6F 52 | REP 025E 4B797A7B7C7D7E7F .`:#@'=" HEX 78 -> 7F 53 | REP 0266 4B81828384858687 .abcdefg HEX 80 -> 87 54 | REP 026E 88894B4B4B4B4B4B hi...... HEX 88 -> 8F 55 | REP 0276 4B91929394959697 .jklmnop HEX 90 -> 97 56 | REP 027E 98994B4B4B4B4B4B qr...... HEX 98 -> 9F 57 | REP 0286 4BA1A2A3A4A5A6A7 .~stuvwx HEX A0 -> A7 58 | REP 028E A8A94B4B4BAD4B4B yz...[.. HEX A8 -> AF 59 | REP 029E 4B4B4B4B4BBD4B4B .....].. HEX B8 -> BF 60 | REP 02A6 C0C1C2C3C4C5C6C7 {ABCDEFG HEX C0 -> C7 61 | REP 02AE C8C94B4B4B4B4B4B HI...... HEX C8 -> CF 62 | REP 02B6 D0D1D2D3D4D5D6D7 }JKLMNOP HEX D0 -> D7 63 | REP 02BE D8D94B4B4B4B4B4B QR...... HEX D8 -> DF 64 | REP 02C6 E04BE2E3E4E5E6E7 \.STUVWX HEX E0 -> E7 65 | REP 02CE E8E94B4B4B4B4B4B YZ...... HEX E8 -> EF 66 | /* 67 | //SMPCNTL DD * 68 | RECEIVE 69 | SELECT(ZP60021) 70 | . 71 | /* 72 | //* 73 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 74 | //SMPCNTL DD * 75 | APPLY 76 | SELECT(ZP60021) 77 | CHECK 78 | . 79 | /* 80 | //* 81 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 82 | //SMPCNTL DD * 83 | APPLY 84 | SELECT(ZP60021) 85 | DIS(WRITE) 86 | . 87 | /* 88 | // 89 | -------------------------------------------------------------------------------- /usermods/ZP60022.jcl: -------------------------------------------------------------------------------- 1 | //ZP60022 JOB (SYSGEN),'J08 M36: ZP60022', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ZAP TO ALLOW FORMAT 1 STAX PARAMETER LIST TO FUNCTION CORRECTLY. 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60022) /* SUPPORT FORMAT 1 STAX PLIST */ . 14 | ++VER(Z038) FMID(EBB1102) PRE(UZ51847) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | STAX MACROS FROM LATER MVS VERSIONS CAUSE ABENDS UNDER MVS/370. 18 | WHEN PROGRAMS WITH STAX MACROS ASSEMBLED WITH MACLIB FROM 19 | MVS/XA OR LATER WITHOUT SPLEVEL SET TO 1 RUN ON MVS/370, 20 | THE SVC PARAMETER LIST HAS A DIFFERENT FORMAT WHICH IS NOT 21 | CORRECTLY PROCESSED, AND WHICH CAN CAUSE ABENDS SUCH AS 22 | S0C4. 23 | 24 | THIS USERMOD CHANGES THE STAX SVC SERVICE ROUTINE TO CHECK 25 | FOR A FORMAT 1 STAX PARAMETER LIST DURING PARAMETER VALIDITY 26 | TESTING AND WHEN THE PARAMETER LIST IS COPIED FOR PROCESSING. 27 | 28 | SPECIAL CONDITIONS: 29 | ACTION: 30 | A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO 31 | BECOME ACTIVE. 32 | 33 | COMMENTS: 34 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 22. 35 | 36 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 37 | IEAVAX00 38 | */. 39 | ++ZAP(IEAVAX00) DISTLIB(AOSC5). 40 | NAME IGC0009F 41 | IDRDATA ZP60022 42 | VER 00A4 BFD7B011 ICM R13,7,STXUSER(R11) 43 | VER 00A8 B20A0000 A MODESET EXTKEY=ZERO 44 | VER 00B0 D2131000B000 MVC STXLIST(20,STXPARM),STXLIST(R11) 45 | VER 00B6 50B01014 ST R11,STXSAVE(,STXPARM) 46 | VER 00BA 910C1010 B TM STXOPTS(STXPARM),STXATTON 47 | VER 07FC 00000000 PATCH AREA 48 | REP 00A4 47F067FC B C 49 | REP 00B6 47F06810 B D 50 | REP 07FC BFD7B011 C ICM R13,7,STXUSER(R11) 51 | REP 0800 9102B010 TM STXOPTS(R11),X'02' FORMAT # PRESENT? 52 | REP 0804 47E060A8 BNO A NO 53 | REP 0808 58D0B014 L R13,STXUSER1(,R11) TEST EXTRA WORD 54 | REP 080C 47F060A8 B A TESTING DONE 55 | REP 0810 50B01014 D ST R11,STXSAVE(,STXPARM) 56 | REP 0814 9102B010 TM STXOPTS(R11),X'02' FORMAT # PRESENT? 57 | REP 0818 47E060BA BNO B NO 58 | REP 081C 9501B011 CLI STXUSER(R11),1 FORMAT 1? 59 | REP 0820 477060BA BNE B NO 60 | REP 0824 D2021011B015 MVC STXUSER(3,STXPARM),STXUSER1+1(R11) 61 | REP 082A 47F060BA B B GOT RIGHT PARM 62 | /* 63 | //SMPCNTL DD * 64 | RECEIVE 65 | SELECT(ZP60022) 66 | . 67 | /* 68 | //* 69 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 70 | //SMPCNTL DD * 71 | APPLY 72 | SELECT(ZP60022) 73 | CHECK 74 | . 75 | /* 76 | //* 77 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 78 | //SMPCNTL DD * 79 | APPLY 80 | SELECT(ZP60022) 81 | DIS(WRITE) 82 | . 83 | /* 84 | // 85 | -------------------------------------------------------------------------------- /usermods/ZP60025.jcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/usermods/ZP60025.jcl -------------------------------------------------------------------------------- /usermods/ZP60027.jcl: -------------------------------------------------------------------------------- 1 | //ZP60027 JOB (SYSGEN),'J01 M38: ZP60027', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ADD TIMESTAMP SUPPORT FOR LINK EDIT IDENTIFICATION RECORD 10 | //* 11 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60027) /* ADD TIME OF DAY TO LINK EDIT IDR */ . 14 | ++VER(Z038) FMID(EPM1102) PRE(UZ52497,UZ75398) 15 | /* 16 | PROBLEM DESCRIPTION: 17 | THE IDR CREATED BY THE LINKAGE EDITOR DOES NOT CONTAIN A TIME. 18 | THE ORIGINAL IDENTIFICATION RECORD (IDR) CREATED BY THE 19 | LINKAGE EDITOR CONTAINS THE DATE OF THE LINK EDIT BUT NOT 20 | THE TIME. WITH APAR OW29593 IBM EXTENDED THE IDR CREATED 21 | BY THE PROGRAM BINDER TO INCLUDE THE TIME. 22 | 23 | THIS USERMOD UPDATES THE LINKAGE EDITOR INTERMEDIATE 24 | OUTPUT PROCESSOR HEWLFOUT TO EXTEND THE IDR BY FOUR BYTES 25 | TO APPEND THE TIME-OF-DAY IN PACKED DECIMAL FORMAT. 26 | 27 | FURTHER, THE IDR LISTING PROCESSOR HMBLKIDR OF THE AMBLIST 28 | SERVICE AID IS ALSO UPDATED TO PRINT THIS TIME IN ITS 29 | LISTIDR REPORT. 30 | 31 | SPECIAL CONDITIONS: 32 | NONE. 33 | 34 | COMMENTS: 35 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NUMBER 27. 36 | THIS USERMOD WAS CONTRIBUTED BY TOM ARMSTRONG. 37 | 38 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 39 | MODULES: 40 | HEWLFOUT 41 | AMBLKIDR 42 | */. 43 | ++ZAP(HEWLFOUT) DISTLIB(AOS04). 44 | NAME HEWLFOUT 45 | IDRDATA ZP60027 46 | VER 0832 4100,0012 LA WRITECT,LKRECLEN SET REC LEN 47 | VER 085E 5010,CD1E ST DATE,DATESAVE STORE DATE 48 | VER 0862 D202,CAEE,CD1F MVC LKDATE(DATELEN),DATESAV 49 | VER 0868 5800,CD1A L TIME,TIMESAVE RESTORE R0 50 | VER 0AC8 8011,02F5,F7F5,F2E2 LKED IDR HEADER AND COMP ID 51 | VER 0DC0 0000 PATCH AREA 52 | VER 0DC2 0000,0000,0000,0000 PATCH AREA 53 | * 54 | * MAKE CHANGES 55 | * 56 | REP 0832 4100,0016 LA WRITECT,LKRECLEN+4 FOR TIME STAMP 57 | REP 085E BE17,CAEE STCM R1,B'0111',LKDATE STORE YYDDDF 58 | REP 0862 47F0,CDC0 B PATCH 59 | REP 0866 0700 NOPR R0 NULL OUT REST OF MVC INST 60 | REP 0AC8 8015,02F5,F7F5,F2E2 LKED IDR HEADER AND COMP ID 61 | REP 0DC2 8800,0004 SRL R0,4 INSERT HIORDER 0 NIBBLE 62 | REP 0DC6 5000,CAF1 ST R0,LKDATE+3 STORE 0HHMMSSS 63 | REP 0DCA 960F,CAF4 OI LKDATE+6,X'0F' MAKE PACKED FMT 64 | REP 0DCE 47F0,C866 B RETURN TO CODE, EXIT PATCH 65 | ++ZAP(HMBLKIDR) DISTLIB(AOS12). 66 | NAME HMBLKIDR 67 | IDRDATA ZP60027 68 | VER 0D48 924B,A069 MVI 105(R10),C'.' END MSG WITH FULL STOP 69 | VER 18C0 4040,4040 MAINT AREA 70 | VER 18C4 4040,4040 MAINT AREA 71 | VER 18C8 4040,4040 MAINT AREA 72 | VER 18CC 4040,4040 MAINT AREA 73 | VER 18D0 4040,4040,4040 MAINT AREA 74 | VER 18D6 4040,4040,4040 MAINT AREA 75 | * 76 | * ADRESSABILITY 77 | * R9 - HMBLKIDR+X'18' 78 | * R11 - HMBLKIDR+X'1017' 79 | * R8 -> INPUT IDR RECORD 80 | * R10 -> PRINT LINE 81 | * 82 | * MAKE CHANGES 83 | * 84 | REP 0D48 47F0,B899 BRANCH TO MODULE MAINT AREA 85 | REP 18B0 9515,8001 L'LKEDRECORD >= X'15' 86 | REP 18B4 47B0,B8A9 YES, BRANCH. TIME IN RECORD 87 | * NO, LKED TIME NOT PRESENT 88 | REP 18B8 924B,A069 END MSG WITH FULL STOP 89 | REP 18BC 47F0,9D34 RETURN TO MAINLINE CODE 90 | REP 18C0 91F0,8012 LKED TIME HAVE LEADING ZERO NIBBLE? 91 | REP 18C4 4770,B8A1 NO, DO NOT FORMAT TIME OF LKED 92 | REP 18C8 910F,8015 LKED TIME HAVE X'F' IN RH NIBBLE ? 93 | REP 18CC 47E0,B8A1 NO, DO NOT FORMAT TIME OF LKED 94 | REP 18D0 D20C,A069,B8CD MOVE PATTERN TO PRINT LINE 95 | REP 18D6 DE0C,A069,8012 FORMAT TIME OF LKED FOR PRINTING 96 | REP 18DC 924B,A076 END MSG WITH FULL STOP 97 | REP 18E0 47F0,9D34 RETURN TO MAINLINE CODE 98 | REP 18E4 4021,C1E3,4020,207A,2020,7A20,2040 PATTERN FOR EDIT 99 | /* 100 | //SMPCNTL DD * 101 | RECEIVE 102 | SELECT(ZP60027) 103 | . 104 | /* 105 | //* 106 | //APPLYCK EXEC SMPAPP 107 | //SMPCNTL DD * 108 | APPLY 109 | SELECT(ZP60027) 110 | CHECK 111 | . 112 | /* 113 | //* 114 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 115 | //SMPCNTL DD * 116 | APPLY 117 | SELECT(ZP60027) 118 | DIS(WRITE) 119 | . 120 | /* 121 | // 122 | -------------------------------------------------------------------------------- /usermods/ZP60031.jcl: -------------------------------------------------------------------------------- 1 | //ZP60031 JOB (SYSGEN),'J05 M42: ZP60031', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //* ALLOW TYPE 6 AND TYPE 26 SMF RECORDS FOR STARTED TASKS. 10 | //* 11 | //RECEIVE EXEC SMPREC 12 | //SMPPTFIN DD * 13 | ++USERMOD(ZP60031) /* ALLOW STC SMF TYPE 6 AND 26 */ . 14 | ++VER(Z038) FMID(EJE1103) 15 | PRE(UZ31176,UZ33158,UZ35334,UZ37263,UZ52543,UZ54837,UZ57911, 16 | UZ60375,UZ63374,UZ65742,UZ68537,UZ71437,UZ76165,TJES801) 17 | /* 18 | PROBLEM DESCRIPTION: 19 | NO SMF TYPE 6 AND TYPE 26 RECORDS ARE WRITTEN FOR STARTED TASKS. 20 | SMF CANNOT BE USED TO MONITOR ALL PRINTER AND PUNCH ACTIVITY 21 | BECAUSE NO TYPE 6 SMF RECORDS CAN BE CREATED TO TRACK STARTED 22 | TASK OUTPUT. JES2 PHASE ANALYSIS FROM SMF TYPE 26 RECORD DATA 23 | CANNOT INCLUDE STARTED TASKS BECAUSE NO CORRESPONDING TYPE 26 24 | RECORDS CAN BE CREATED. 25 | 26 | THIS USERMOD ALTERS JES2 SO THAT SETTINGS FROM JES2 PARAMETERS 27 | WHICH CAN REQUEST TYPE 6 AND TYPE 26 SMF RECORDS ARE NOT 28 | OVERLAID BY HARD-CODED LOGIC. SPECIFICALLY, NOTYPE6 AND 29 | NOTYPE26 ARE NO LONGER FORCED ON THE &STC JOB CLASS PARAMETER. 30 | ALSO, THE NOUSO AND NOUJP SETTINGS ARE NO LONGER FORCED, 31 | THEREBY ALLOWING AN INSTALLATION TO USE THE IEFUSO AND IEFUJP 32 | SMF EXITS FOR STARTED TASKS. 33 | 34 | NOTE THAT JOB CLASS SETTINGS SUCH AS THESE ARE ASSIGNED AT 35 | JCL CONVERSION TIME AND NOT DURING LATER PHASES SUCH AS 36 | OUTPUT, PRINT AND PURGE. 37 | 38 | 39 | SPECIAL CONDITIONS: 40 | ACTION: 41 | JES2 MUST BE WARM STARTED FOR THIS CHANGE TO BECOME ACTIVE. 42 | 43 | COMMENTS: 44 | PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NO. 31. 45 | 46 | THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: 47 | MODULES: 48 | HASPINIT 49 | */. 50 | ++ SRCUPD (HASPINIT) DISTLIB(HASPSRC ). 51 | ./ CHANGE NAME=HASPINIT 52 | OI CATSMFLG,0 DO NOT FORBID SMF EXITS AND RECORDS ZP60031 M4793500 53 | /* 54 | //SMPCNTL DD * 55 | RECEIVE 56 | SELECT(ZP60031) 57 | . 58 | /* 59 | //* 60 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 61 | //SMPCNTL DD * 62 | APPLY 63 | SELECT(ZP60031) 64 | CHECK 65 | . 66 | /* 67 | //* 68 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 69 | //SMPCNTL DD * 70 | APPLY 71 | SELECT(ZP60031) 72 | DIS(WRITE) 73 | . 74 | /* 75 | // 76 | -------------------------------------------------------------------------------- /usermods/ZP60041.jcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/usermods/ZP60041.jcl -------------------------------------------------------------------------------- /usermods/ZUM0007.jcl: -------------------------------------------------------------------------------- 1 | //ZUM0007 JOB (SYSGEN),'J05 M52: ZUM0007', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //********************************************************************* 10 | //* Install USERMOD ZUM0007 (source: Michael Koehne) to update TSO to * 11 | //* display dates correctly post Y2k * 12 | //********************************************************************* 13 | //* 14 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 15 | //SMPPTFIN DD * 16 | ++USERMOD (ZUM0007) . 17 | ++VER (Z038) FMID(EBB1102) 18 | PRE(UY17588 UZ27405) 19 | /* 20 | Update date offsets for post Y2k 21 | */ . 22 | ++ ZAP (IKJEFLA) . 23 | NAME IKJEFLPB 24 | VER 0000 197A6B40 from 19 25 | REP 0000 207A6B40 to 20 26 | IDRDATA ZUM0007 27 | ++ ZAP (IKJEFT25) . 28 | NAME IKJEFT25 29 | VER 06C4 4040F1F9 from ' 19' 30 | REP 06C4 4040F2F0 to ' 20' 31 | IDRDATA ZUM0007 32 | /* 33 | //SMPCNTL DD * 34 | RECEIVE 35 | SELECT(ZUM0007) 36 | . 37 | /* 38 | //* 39 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 40 | //SMPCNTL DD * 41 | APPLY 42 | SELECT(ZUM0007) 43 | CHECK 44 | . 45 | /* 46 | //* 47 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 48 | //SMPCNTL DD * 49 | APPLY 50 | SELECT(ZUM0007) 51 | DIS(WRITE) 52 | . 53 | /* 54 | // 55 | -------------------------------------------------------------------------------- /usermods/ZUM0008.jcl: -------------------------------------------------------------------------------- 1 | //ZUM0008 JOB (SYSGEN),'J06 M53: ZUM0008', 2 | // CLASS=A, 3 | // MSGCLASS=A, 4 | // MSGLEVEL=(1,1), 5 | // REGION=4096K 6 | /*JOBPARM LINES=100 7 | //JOBCAT DD DSN=SYS1.VSAM.MASTER.CATALOG,DISP=SHR 8 | //* 9 | //********************************************************************* 10 | //* Install USERMOD ZUM0008 (source: Juergin Winkelmann) to complete * 11 | //* TSO date display post Y2k during logon and logoff. * 12 | //********************************************************************* 13 | //* 14 | //RECEIVE EXEC SMPREC,WORK='SYSALLDA' 15 | //SMPPTFIN DD * 16 | ++USERMOD (ZUM0008) . 17 | ++VER (Z038) FMID(EBB1102) 18 | PRE(UY17588 UZ27405 ZUM0007) 19 | /* 20 | completion of Michael Koehne's Y2K patch ZUM0007 21 | */ . 22 | ++ ZAP (IKJEFLA) . 23 | NAME IKJEFLPA 24 | VER 0318 6B40F1F9 from 19 25 | REP 0318 6B40F2F0 to 20 26 | IDRDATA ZUM0008 27 | /* 28 | //SMPCNTL DD * 29 | RECEIVE SELECT(ZUM0008). 30 | /* 31 | //* 32 | //APPLYCK EXEC SMPAPP,WORK='SYSALLDA' 33 | //SMPCNTL DD * 34 | APPLY 35 | SELECT(ZUM0008) 36 | CHECK 37 | . 38 | /* 39 | //* 40 | //APPLY EXEC SMPAPP,COND=(0,NE),WORK='SYSALLDA' 41 | //SMPCNTL DD * 42 | APPLY 43 | SELECT(ZUM0008) 44 | DIS(WRITE) 45 | COMPRESS(ALL) 46 | . 47 | /* 48 | // 49 | -------------------------------------------------------------------------------- /users.conf: -------------------------------------------------------------------------------- 1 | # This file contains the users to be added to the system 2 | # the format is: 3 | # username (max 7 chars) 4 | # password (8 chars) 5 | # LOGON procedure in SYS1.PROCLIB 6 | # OPERATOR CMNDS: OPER/NOOPER 7 | # JOB CONTROL: JCL/NOJCL 8 | # TAPE MOUNT: MOUNT/NOMOUNT 9 | # RAKF admin or regular user: ADMIN/NOADMIN 10 | IBMUSER SYS1 IKJACCNT OPER ACCT JCL MOUNT ADMIN 11 | MVSCE01 CUL8TR IKJACCNT OPER ACCT JCL NOMOUNT ADMIN 12 | MVSCE02 PASS4U IKJACCNT NOOPER NOACCT JCL NOMOUNT NOADMIN -------------------------------------------------------------------------------- /xmi/brexx.xmi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MVS-sysgen/sysgen/40314ecea260c274592e033f3bf48f00a42ddf42/xmi/brexx.xmi -------------------------------------------------------------------------------- /xmi/readme.md: -------------------------------------------------------------------------------- 1 | # XMI files 2 | 3 | These files are used to install software 4 | 5 | - `brexx.xmi` is the XMI file used to install brexx, current version V2R5M2 https://github.com/mvslovers/brexx370 --------------------------------------------------------------------------------