Wazi: OpenShift上でのメインフレーム開発環境構築 - (6)Sandboxインスタンスの確認

# はじめに
先の手順でSandboxインスタンスがPodとして稼働するところまで確認できましたが、ここではそれが具体的にどのような状況で稼働しているのかをもう少し細かく確認していきます。

## 関連記事
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (1)事前準備](https://qiita.com/tomotagwork/items/4f254440959ff0a97e4b)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (2)ライセンス・サーバーの構成](https://qiita.com/tomotagwork/items/2017ef0fbf8777a3c95e)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (3)イメージ・ストレージ・サーバーの構成](https://qiita.com/tomotagwork/items/1577193ca59eb2ae1fa5)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (4)OpenShiftクラスターの構成](https://qiita.com/tomotagwork/items/d0b358db6b0bfd819ffe)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (5)Sandboxインスタンスの作成](https://qiita.com/tomotagwork/items/74193fb90e3a3acd9c9b)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (6)Sandboxインスタンスの確認](https://qiita.com/tomotagwork/items/c8370878c0fd549b0a44)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (7)Sandboxインスタンスへの接続](https://qiita.com/tomotagwork/items/cfeec0ccab50d72a48e2)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (8)Sandboxのカスタマイズ](https://qiita.com/tomotagwork/items/52f66ab9c78b9d8b3131)
[Wazi: OpenShift上でのメインフレーム開発環境構築 - (9)Wazi Developer for Workspacesの作成](https://qiita.com/tomotagwork/items/7de6f979dabe160175e3)

# Podの稼働状況

## コンテナ内部の状況
<details><summary><font color="blue">コンテナに接続して状況確認してみる</font></summary><div>

```
[root@Test05 ~/openshift/Wazi]# oc exec wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp -c wazi-sandbox-system -it -- bash
[root@wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp ibmsys1]# whoami
root

[root@wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp ~]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.2 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.2"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.2 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.2:GA"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.2
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.2"

[root@wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 ~]# systemctl status haproxy
● haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-01-22 01:43:26 UTC; 1 weeks 3 days ago
 Main PID: 72 (haproxy)
    Tasks: 2 (limit: 204713)
   Memory: 52.0M
   CGroup: /kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod90cf7276_296c_44ac_9784_e36f371637ac.slice/crio-e97b38f8919d00886675341995b79cb311f43e3ae1e7b3b1b0ed27084874c226.scope/system.slice/haproxy.service
           tq 72 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
           mq174 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for backend 'port-group-02' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for frontend 'port-group-03' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for backend 'port-group-03' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for frontend 'port-group-04' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for backend 'port-group-04' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for frontend 'port-group-05' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for backend 'port-group-05' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for frontend 'port-group-06' as it requires HTTP mode.
Jan 22 01:43:24 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 haproxy[72]: [WARNING] 021/014324 (72) : config : 'option forwardfor' ignored for backend 'port-group-06' as it requires HTTP mode.
Jan 22 01:43:26 wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 systemd[1]: Started HAProxy Load Balancer.


[root@wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 ~]# cat /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#   https://www.haproxy.org/download/1.8/doc/configuration.txt
#
#---------------------------------------------------------------------

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #   file. A line like the following can be added to
    #   /etc/sysconfig/syslog
    #
    #    local2.*                       /var/log/haproxy.log
    #
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

    # utilize system-wide crypto-policies
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          2d
    timeout server          2d
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main
    bind *:5000
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js

    use_backend static          if url_static
    default_backend             app

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check

#---------------------------------------------------------------------
# zDT forwarding to zOS emulated environment
#---------------------------------------------------------------------
frontend port-group-01
   bind *:10-1946
   default_backend port-group-01
   mode tcp
   option tcplog

backend port-group-01
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-02
   bind *:1950-3269
   default_backend port-group-02
   mode tcp
   option tcplog

backend port-group-02
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-03
   bind *:3271-8440
   default_backend port-group-03
   mode tcp
   option tcplog

backend port-group-03
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-04
   bind *:8445-35000
   default_backend port-group-04
   mode tcp
   option tcplog

backend port-group-04
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-05
   bind *:45000-49999
   default_backend port-group-05
   mode tcp
   option tcplog

backend port-group-05
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-06
   bind *:55000-65000
   default_backend port-group-06
   mode tcp
   option tcplog

backend port-group-06
   balance source
   mode tcp
   server S0W1 172.26.1.2
```

※ping, netstat, ip, ifconfigあたりのコマンドはインストールされてない...

</div></details>

<details><summary><font color="blue">IPL時のzpdtのログ</font></summary><div>

```xxx:/home/ibmsys1/z1090/logs/log_console_p1410_t2021-01-15_11-30-53.txt
CMD : 011521 11:30:53: awsstart /zdt/zvolumes/devmap.txt --clean
LOG : 011521 11:30:53: AWSSTART:
z1091, version 1-10.55.05.01, build date - 09/15/20 for Linux on Redhat 64bit

LOG : 011521 11:30:53: AWSSTART: Intel-64 architecture
LOG : 011521 11:30:53: AWSSTART: Configuration File-/zdt/zvolumes/devmap.txt
INFO: 011521 11:30:53: STA: AWSSTA204I zPDT started in directory '/'.
INFO: 011521 11:30:53: STA: AWSSTA146I Starting independent 1090 instance 'ibmsys1'
CMD : 011521 11:30:53: awszpci -p 1410
CMD : 011521 11:30:53: awsap -p 1410
LOG : 011521 11:30:53: CPU: DEVMAP loaded for EMILY process, RC=69
LOG : 011521 11:30:53: CPU: Creating 3 CPUs
LOG : 011521 11:30:53: CPU: no_of_resources......0
LOG : 011521 11:30:53: CPU: config_tab_length....1E0
LOG : 011521 11:30:53: CPU: zpci_msg_q_name......AWSZPCI_message queue
LOG : 011521 11:30:53: CPU: zpci_sem_name........AWSZPCI_semaphore
LOG : 011521 11:30:53: CPU:
LOG : 011521 11:30:53: CPU: Starting CPUs.
LOG : 011521 11:30:53: CPU: ERAS: Starting RAS setup
CMD : 011521 11:30:53: sclp_process 0 0 valid
LOG : 011521 11:30:54: CPU: STP TIMING ALERT
LOG : 011521 11:30:54: CPU: IPR started for CPU 1
LOG : 011521 11:30:54: CPU: IPR started for CPU 2
LOG : 011521 11:30:54: CPU: CPU reset
LOG : 011521 11:30:54: CPU: CPU reset
LOG : 011521 11:30:54: CPU: IPR complete for CPU 1
LOG : 011521 11:30:54: CPU: IPR complete for CPU 2
LOG : 011521 11:30:54: CPU: IPR started for CPU 0
LOG : 011521 11:30:54: CPU: CPU reset
LOG : 011521 11:30:54: CPU: IPR complete for CPU 0
INFO: 011521 11:30:55: CPU:
LDK license obtained for CPU 1
LOG : 011521 11:30:55: EMILY_DEVMAP: Creating UIM service...
LOG : 011521 11:30:55: EMILY_DEVMAP: UIM service pid=1426...
INFO: 011521 11:30:55: CPU:
LDK license obtained for CPU 0
INFO: 011521 11:30:56: EMI: AWSEMI005I Waiting for 1090 license
LOG : 011521 11:30:56: EMILY_DEVMAP: UIM service created... 1426
LOG : 011521 11:30:56: CPU: ERAS: SIGCHLD from unknown PID
INFO: 011521 11:30:56: CPU:
LDK license obtained for CPU 2
INFO: 011521 11:30:57: OSA: OSA code level = 0x7617
INFO: 011521 11:30:58: DSA: AWSDSA010I AWSOSA is ready for chpid: 0xA0 device: 0x400
INFO: 011521 11:30:58: DSA: AWSDSA010I AWSOSA is ready for chpid: 0xA0 device: 0x401
INFO: 011521 11:30:58: DSA: AWSDSA010I AWSOSA is ready for chpid: 0xA0 device: 0x402
CMD : 011521 11:31:02: tnportl2 -r -l -n IBMSYS1
CMD : 011521 11:31:05: /usr/z1090/bin/ipl A80 parm 0A82NZ
LOG : 011521 11:31:08: CPU: CPU reset
LOG : 011521 11:31:08: CPU: Accepted code 7
LOG : 011521 11:31:08: CPU: CPU reset
LOG : 011521 11:31:08: CPU: Accepted code 7
LOG : 011521 11:31:08: CPU: CPU reset
LOG : 011521 11:31:08: CPU: Accepted code 7
INFO: 011521 11:31:09: MIP: AWSMIP008I zArchitecture IPL mode (ZARCH_ONLY=ON)
LOG : 011521 11:31:09: CPU: IPL started on CPU 0
LOG : 011521 11:31:09: CPU: IPR started for CPU 0
LOG : 011521 11:31:09: CPU: CPU reset
LOG : 011521 11:31:09: CPU: IPR complete for CPU 0
LOG : 011521 11:31:10: CPU: IPL bootstrap successful for device A80
LOG : 011521 11:31:10: CPU: Accepted code 0
LOG : 011521 11:31:10: CPU: Running CPU
LOG : 011521 11:31:10: CPU:  Short PSW Change 0008000080000652
INFO: 011521 11:31:11: STA: AWSSTA059I System initialization complete
INFO: 011521 11:31:11: STA: AWSSTA012I All configured subsystems started
LOG : 011521 11:31:15: DIAGNOSE: load device stored is 0A80 parm=F0C1F8F2D5E94040 F=80 VF=00
INFO: 011521 11:31:18:     : OPRMSG:   *IEA247I USING IEASYSNZ FOR z/OS 02.04.00 HBB77C0
INFO: 011521 11:31:18:     : OPRMSG: Beep!
INFO: 011521 11:31:18:     : OPRMSG:    ISG313I SYSTEM IS INITIALIZING IN GRS NONE MODE.  RING OR STAR CONFIGURATION KEYWORDS IN GRSCNF00 ARE IGNORED.
INFO: 011521 11:31:19:     : OPRMSG:    IAR040I REAL STORAGE AMOUNTS:
INFO: 011521 11:31:19:     : OPRMSG:      TOTAL AVAILABLE ONLINE: 8G
INFO: 011521 11:31:19:     : OPRMSG:        LFAREA LIMIT FOR xM, xG, OR xT      : 4505M
INFO: 011521 11:31:19:     : OPRMSG:        LFAREA LIMIT FOR SUM OF 1M= AND 2G= : 3276M
INFO: 011521 11:31:19:     : OPRMSG:        LFAREA LIMIT FOR 2GB PAGES FOR 2G=  : 1
INFO: 011521 11:31:19:     : OPRMSG:    IAR048I LFAREA=(1M=(15%,0%),NOPROMPT) WAS PROCESSED WHICH RESULTED IN 614 1MB PAGES AND 0 2GB PAGES.
INFO: 011521 11:32:03:     : OPRMSG:    IEA598I TIME ZONE = W.04.00.00
INFO: 011521 11:32:03:     : OPRMSG:    CNZ2600I AUTO-REPLY POLICY ACTIVATED.
INFO: 011521 11:32:04:     : OPRMSG:    IXC470I SYSTEM S0W1 EFFECTIVE VALUES: INTERVAL=165 OPNOTIFY=168
INFO: 011521 11:32:04:     : OPRMSG:    DEFAULT USER INTERVAL:    165
INFO: 011521 11:32:04:     : OPRMSG:    DERIVED SPIN INTERVAL:    165
INFO: 011521 11:32:04:     : OPRMSG:    DEFAULT USER OPNOTIFY: +    3
INFO: 011521 11:32:04:     : OPRMSG:    COMPUTED FOR:  XCF INITIALIZATION
INFO: 011521 11:32:05:     : OPRMSG:    IXC414I CANNOT JOIN SYSPLEX ADCDPL WHICH IS RUNNING IN MONOPLEX MODE: CONFIGURATION REQUIREMENT
INFO: 011521 11:32:05:     : OPRMSG:    IXC404I SYSTEM(S) ACTIVE OR IPLING: S0W1
INFO: 011521 11:32:05:     : OPRMSG:   *   IXC420D REPLY I TO INITIALIZE SYSPLEX ADCDPL, OR R TO REINITIALIZE XCF.  REPLYING I WILL IMPACT OTHER ACTIVE SYSTEMS.
INFO: 011521 11:32:05:     : OPRMSG: Beep!
INFO: 011521 11:32:05:     : OPRMSG: PROMPT:   R 00,
INFO: 011521 11:32:05:     : OPRMSG:    CNZ2602I REPLY TO 00 IS:I <- Auto replied
INFO: 011521 11:32:14:     : OPRMSG:    IXC413I MULTISYSTEM SYSPLEX CONFIGURATION PREVENTED BY SYSTEM COMPONENT
INFO: 011521 11:32:14:     : OPRMSG:    ISG150I GRS=NONE IS NOT SUPPORTED WHEN RUNNING IN A MULTISYSTEM SYSPLEX.
INFO: 011521 11:32:14:     : OPRMSG:    IXC418I SYSTEM S0W1 IS NOW ACTIVE IN SYSPLEX ADCDPL
INFO: 011521 11:32:42:     : OPRMSG:    IEE712I SET CNGRP PROCESSING COMPLETE
INFO: 011521 11:32:42:     : OPRMSG:    IEA549I SYSTEM CONSOLE FUNCTIONS AVAILABLE
INFO: 011521 11:32:42:     : OPRMSG:            SYSTEM CONSOLE NAME ASSIGNED HWCI
INFO: 011521 11:32:43:     : OPRMSG:    CEE3739I LANGUAGE ENVIRONMENT INITIALIZATION COMPLETE
LOG : 011521 11:32:46: CPU: IPR started for CPU 1
LOG : 011521 11:32:46: CPU: CPU reset
LOG : 011521 11:32:46: CPU: IPR complete for CPU 1
LOG : 011521 11:32:46: CPU: Accepted code 0
LOG : 011521 11:32:47: CPU: CPU restart
LOG : 011521 11:32:47: CPU: Restarting CPU 1
LOG : 011521 11:32:47: CPU: Accepted code 6
LOG : 011521 11:32:47: CPU: Running CPU
LOG : 011521 11:32:47: CPU: IPR started for CPU 2
LOG : 011521 11:32:47: CPU: CPU reset
LOG : 011521 11:32:47: CPU: IPR complete for CPU 2
LOG : 011521 11:32:47: CPU: Accepted code 0
LOG : 011521 11:32:48: CPU: CPU restart
LOG : 011521 11:32:48: CPU: Restarting CPU 2
LOG : 011521 11:32:48: CPU: Accepted code 6
LOG : 011521 11:32:48: CPU: Running CPU
LOG : 011521 11:32:48: CPU:  Returning from CPU 1 11
LOG : 011521 11:32:48: CPU: CPU 0 stop
LOG : 011521 11:32:48: CPU: Accepted code 1
LOG : 011521 11:32:49: CPU: IPR started for CPU 0
LOG : 011521 11:32:49: CPU: CPU reset
LOG : 011521 11:32:49: CPU: IPR complete for CPU 0
LOG : 011521 11:32:49: CPU: Accepted code 0
LOG : 011521 11:32:49: CPU: IPR started for CPU 0
LOG : 011521 11:32:49: CPU: CPU reset
LOG : 011521 11:32:49: CPU: IPR complete for CPU 0
LOG : 011521 11:32:49: CPU: Accepted code 0
LOG : 011521 11:32:50: CPU: CPU restart
LOG : 011521 11:32:50: CPU: Restarting CPU 0
LOG : 011521 11:32:50: CPU: Accepted code 6
LOG : 011521 11:32:50: CPU: Running CPU
INFO: 011521 11:32:58:     : OPRMSG:    IEE389I MVS COMMAND PROCESSING AVAILABLE
```

</div></details>


上のようにPodとして稼働しているコンテナに入って確認してみると、以下のような状況が確認できました。

- イメージはRHEL V8.2ベースで作成されている
- 起動コマンド: 
    - awsstart /zdt/zvolumes/devmap.txt --clean
    - /usr/z1090/bin/ipl A80 parm 0A82NZ
- haproxyにより、以下のポートはSandbox(z/OS)へフォワードされるよう構成されている (3270はnon-SNA端末接続用のポート、8443はSandbox用に予約されているポート。)
    - 10-1946
    - 1950-3269
    - 3271-8440
    - 8445-35000
    - 45000-49999
    - 55000-65000




参考:[Troubleshooting for IT operation](https://www.ibm.com/docs/en/wdfrhcw/1.2.0?topic=sandbox-troubleshooting-it-operation)

## コンテナ起動時の設定

### zpdt
コンテナとして稼働するLinux上では、systemdを使ってzpdtが起動するよう設定されていました。

```xxx:/etc/systemd/system/ipl-zOS.service
[Unit]
Description=Emulator z1090

[Service]
Type=forking

Environment=JAVA_HOME=/zdt/java/jre
Environment="PATH=/home/ibmsys1/bin:/usr/z1090/bin:/usr/sbin:/zdt/wlp/java/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/sbin:/zdt/bin"
Environment="LD_LIBRARY_PATH=/usr/z1090/bin"
Environment="MANPATH=/usr/z1090/man"

ExecStartPre=/bin/sleep 60
ExecStart=/zdt/bin/ipl_zOS.sh &
User=ibmsys1
Group=ibmsys
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target
```

```sh:/zdt/bin/ipl_zOS.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020 - All Rights Reserved.                    ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

source /home/ibmsys1/bashrc
/zdt/bin/decrypt_volumes.sh
if [ -f /zdt/zvolumes/devmap.txt ] && [ "$IPL_ZOS" != "manual" ]; then
   awsstart /zdt/zvolumes/devmap.txt --clean | tee -a /zdt/zvolumes/log.txt
else
   echo "Manual IPL required." | tee -a /zdt/zvolumes/log.txt
fi
```

systemdに登録されている`ipl-zOS.service`というサービスが自動起動するようになっており、そこから実行される`/zdt/bin/ipl_zOS.sh`から、zpdt起動コマンドである`awsstart`コマンドが実行されています。

### Sandbox Instance Controller
zpdt本体は上のサービスで起動されていますが、それとは別にInstance Controllerなるものがサービスとして登録されていました。

```xxx:/etc/systemd/system/zdt-ic.service
[Unit]
Description=ZDT Instance Controller
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/zdt/java/jre
Environment="PATH=/home/ibmsys1/bin:/usr/z1090/bin:/usr/sbin:/zdt/wlp/java/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/sbin:/zdt/bin"
Environment="LD_LIBRARY_PATH=/usr/z1090/bin"
Environment="MANPATH=/usr/z1090/man"

ExecStart=/zdt/bin/startup.sh start
ExecStop=/zdt/bin/shutdown.sh stop

User=ibmsys1
Group=ibmsys
RestartSec=15
Restart=always
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
```

```sh:/zdt/bin/startup.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020 - All Rights Reserved.                    ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

#Get JAVA_HOME from the docker container environment variables
eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep JAVA_HOME`
export JAVA_HOME=$JAVA_HOME
# Start zdt instance controller
/zdt/bin/gen_cert.sh
/zdt/wlp/bin/server start zdt-instance
```

```sh:/zdt/bin/shutdown.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020 - All Rights Reserved.                    ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

#Get JAVA_HOME from the docker container environment variables
eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep JAVA_HOME`
export JAVA_HOME=$JAVA_HOME
# Stop ZDT Instance controller
/zdt/wlp/bin/server stop zdt-instance
```

Sandboxインスタンスの稼働を確認する目的で、Linux上でLiberty Serverを起動しているようです。これが8443ポートを使用しています。
このLibertyサーバー稼働しているかどうかのチェックをするシェル・スクリプトも用意されています。

```sh:/zdt/bin/instcontroller_check.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020 - All Rights Reserved.                    ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

[ -z $zdtAuthId ] && zdtAuthId=zdt
[ -z $zdtAuthPassword ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep ZDT_BASIC_AUTH_PWD`
export zdtAuthId=$zdtAuthId
export zdtAuthPassword=$ZDT_BASIC_AUTH_PWD

zdt_return=`curl -u $zdtAuthId:$zdtAuthPassword -X GET -k -i --head --header 'Accept: application/json' 'https://127.0.0.1:8443/instcontroller/zdtrs/ic-services/is-alive/' | awk 'NR==1 {print $2}'`
[ "$zdt_return" == 200 ] && true || false
```

この稼働チェック用スクリプトは、PodのlivenessProbe, readinessProbeとして利用されています。

```
[root@Test05 ~/openshift/Wazi]# oc get pod wazi-sandbox01-wazi-sandbox-system-6679544c49-c8ww6 -o yaml
...
    livenessProbe:
      exec:
        command:
        - /zdt/bin/instcontroller_check.sh
      failureThreshold: 20
      initialDelaySeconds: 30
      periodSeconds: 30
      successThreshold: 1
      timeoutSeconds: 1
    name: wazi-sandbox-system
    readinessProbe:
      exec:
        command:
        - /zdt/bin/instcontroller_check.sh
      failureThreshold: 60
      initialDelaySeconds: 30
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
...
```

実際にzpdtが動いているかというのをチェックしている訳では無く、zpdtと一緒に横に起動したLibertyが動いているかをチェックして、Sandboxの稼働確認の代替としている、ということのようです。

livenessProbe, readinessProbeについてのおさらいはこちら。
参考: [コンテナ型仮想化技術 Study05 / Pod操作 - Podのヘルスチェック機能](https://qiita.com/tomotagwork/items/7b16bde0529c052a9540#pod%E3%81%AE%E3%83%98%E3%83%AB%E3%82%B9%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E6%A9%9F%E8%83%BD)

## Podの外部公開

デフォルトではNodePortタイプのServiceが作成され、いくつかのポートが公開されています。

```
[root@Test05 ~]# oc get svc
NAME                                 TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                                                                                                                               AGE
wazi-sandbox01-wazi-sandbox-system   NodePort   172.21.137.238   <none>        8443:30690/TCP,22:31175/TCP,2023:32103/TCP,7394:31125/TCP,7395:30146/TCP,7392:30837/TCP,4035:31510/TCP,4037:31771/TCP,7397:30884/TCP,9443:32443/TCP,10443:31917/TCP   2d15h
```

ネットワークの構成はデフォルトのまま特にカスタマイズしていません。デフォルトだと、以下のセキュアなポートがServiceとして公開されています。

ssh: 22
tn3270-secure: 2023
remote-debug-service: 7394
rse-api: 7395
debug-profile-service: 7392
rsed: 4035
rse-server: 4037
debug-manager: 7397
zosconnect: 9443
zosmf: 10443

事前の構成ではどのポートを公開するかというのは指定できますが、それぞれ何番のポートで公開するかというのは指定できません、インスタンス作成時に稼働しているWorkerノード上の空いているポート(30000-32767)が動的に割り当てられて公開されるようです。

# z/OS(ADCD)の稼働状況

## DeviceMapファイル
sftpサーバーに配置したdevicemap.txtがそのまま使われるようです。

<details><summary><font color="blue">DeviceMapファイル</font></summary><div>

```txt:/zdt/zvolumes/devmap.txt
# This file was generated at 20200413_123443 -0400

[system]
processors      3
memory          8192m
3270port        3270
system_name     null
ipl 0A80 0A82NZ

[adjunct-processors]

[manager]
name    aws3274 0002    #define a few 3270 terminals
device  0700    3279    3274    mstcon
device  0701    3279    3274    tso1
device  0702    3279    3274    tso2
device  0703    3279    3274    tso3
device  0704    3279    3274    tso4

[manager]
name    awsrdr  010C    #define a card reader for job submission
device  00C     2540    2821    /home/ibmsys1/zdt/cards//*

[manager]
name    awsprt  0005
device  00E     1403    2821    /home/ibmsys1/zdt/print/        #For ZD&T internal use only

[manager]
name    awsosa  0009    --path=A0       --pathtype=OSD  --tunnel_intf=y --tunnel_ip=172.26.1.1  #QDIO mode
device  400     osa     3274    --unitadd=0
device  401     osa     3274    --unitadd=1
device  402     osa     3274    --unitadd=2

[manager]
name    awsckd  0001
device 0A80 3390 3990 /zdt/zvolumes/B4RES1
device 0A81 3390 3990 /zdt/zvolumes/B4BLZ1
device 0A82 3390 3990 /zdt/zvolumes/B4SYS1
device 0A83 3390 3990 /zdt/zvolumes/B4C541
device 0A84 3390 3990 /zdt/zvolumes/B4C551
device 0A85 3390 3990 /zdt/zvolumes/B4CFG1
device 0A86 3390 3990 /zdt/zvolumes/B4DBAR
device 0A87 3390 3990 /zdt/zvolumes/B4DBB1
device 0A88 3390 3990 /zdt/zvolumes/B4DBB2
device 0A89 3390 3990 /zdt/zvolumes/B4DBC1
device 0A8A 3390 3990 /zdt/zvolumes/B4DBC2
device 0A8B 3390 3990 /zdt/zvolumes/B4DIS1
device 0A8C 3390 3990 /zdt/zvolumes/B4DIS2
device 0A8D 3390 3990 /zdt/zvolumes/B4DIS3
device 0A8E 3390 3990 /zdt/zvolumes/B4IME1
device 0A8F 3390 3990 /zdt/zvolumes/B4IMF1
device 0A90 3390 3990 /zdt/zvolumes/B4INM1
device 0A91 3390 3990 /zdt/zvolumes/B4KAN1
device 0A92 3390 3990 /zdt/zvolumes/B4PAGA
device 0A93 3390 3990 /zdt/zvolumes/B4PAGB
device 0A94 3390 3990 /zdt/zvolumes/B4PAGC
device 0A95 3390 3990 /zdt/zvolumes/B4PRD1
device 0A96 3390 3990 /zdt/zvolumes/B4PRD2
device 0A97 3390 3990 /zdt/zvolumes/B4PRD3
device 0A98 3390 3990 /zdt/zvolumes/B4PRD4
device 0A99 3390 3990 /zdt/zvolumes/B4RES2
device 0A9A 3390 3990 /zdt/zvolumes/B4USR1
device 0A9B 3390 3990 /zdt/zvolumes/B4USS1
device 0A9C 3390 3990 /zdt/zvolumes/B4USS2
device 0A9D 3390 3990 /zdt/zvolumes/B4W901
device 0A9E 3390 3990 /zdt/zvolumes/B4W902
device 0A9F 3390 3990 /zdt/zvolumes/B4ZCX1
device 0600 3390 3990 /zdt/zvolumes/B4ZWE1
device 0601 3390 3990 /zdt/zvolumes/SARES1
```

</div></details>

## IODF

<details><summary><font color="blue">IODF</font></summary><div>

```xxx:SYS1.IODF99
                              I/O Device List         Row 1 of 86 More:       >
 Command ===> ___________________________________________ Scroll ===> CSR      
                                                                               
 Select one or more devices, then press Enter. To add, use F11.                
                                                                               
   ----------Device------ --#--- --------Control Unit Numbers + --------       
 / Number   Type +        CSS OS 1--- 2--- 3--- 4--- 5--- 6--- 7--- 8---       
 _ 000C     2540                 ____ ____ ____ ____ ____ ____ ____ ____       
 _ 000C     2540R-1           1  ____ ____ ____ ____ ____ ____ ____ ____       
 _ 000E,2   1403-N1           1  ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0120     3380              1  0120 ____ ____ ____ ____ ____ ____ ____       
 _ 0121     3380              1  0121 ____ ____ ____ ____ ____ ____ ____       
 _ 0122     3380              1  0122 ____ ____ ____ ____ ____ ____ ____       
 _ 0123     3380              1  0123 ____ ____ ____ ____ ____ ____ ____       
 _ 0124     3380              1  0124 ____ ____ ____ ____ ____ ____ ____       
 _ 0125     3380              1  0125 ____ ____ ____ ____ ____ ____ ____       
 _ 0126     3380              1  0126 ____ ____ ____ ____ ____ ____ ____       
 _ 0127     3380              1  0127 ____ ____ ____ ____ ____ ____ ____       
 _ 0128,56  3380              1  ____ ____ ____ ____ ____ ____ ____ ____       
 _ 01C0,64  3390                 ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0240,32  3380                 ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0260,32  3390                 ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0300,25  3390              1  0300 ____ ____ ____ ____ ____ ____ ____       
 _ 0400,16  OSA               1  ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0550,16  3420-8            1  ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0560,16  3480              1  ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0580,16  3490              1  0580 ____ ____ ____ ____ ____ ____ ____       
 _ 0590,16  3590              1  0590 ____ ____ ____ ____ ____ ____ ____       
 _ 0600,16  3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
 _ 0700     3270-X            1  0700 ____ ____ ____ ____ ____ ____ ____       
 _ 0701     3270-X            1  0701 ____ ____ ____ ____ ____ ____ ____       
 _ 0702     3270-X            1  0702 ____ ____ ____ ____ ____ ____ ____       
 _ 0703     3270-X            1  0703 ____ ____ ____ ____ ____ ____ ____       
 _ 0704     3270-X            1  0704 ____ ____ ____ ____ ____ ____ ____       
 _ 0705     3270-X            1  0705 ____ ____ ____ ____ ____ ____ ____       
 _ 0706     3270-X            1  0706 ____ ____ ____ ____ ____ ____ ____       
 _ 0707     3270-X            1  0707 ____ ____ ____ ____ ____ ____ ____       
 _ 0708     3270-X            1  0708 ____ ____ ____ ____ ____ ____ ____       
_ 0709     3270-X            1  0709 ____ ____ ____ ____ ____ ____ ____ 
_ 070A     3270-X            1  070A ____ ____ ____ ____ ____ ____ ____ 
_ 070B     3270-X            1  070B ____ ____ ____ ____ ____ ____ ____ 
_ 070C     3270-X            1  070C ____ ____ ____ ____ ____ ____ ____ 
_ 070D     3270-X            1  070D ____ ____ ____ ____ ____ ____ ____ 
_ 070E     3270-X            1  070E ____ ____ ____ ____ ____ ____ ____ 
_ 070F     3270-X            1  070F ____ ____ ____ ____ ____ ____ ____ 
_ 0710,48  3270-X            1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 0900     3270-X            1  0900 ____ ____ ____ ____ ____ ____ ____ 
_ 0901     3270-X            1  0901 ____ ____ ____ ____ ____ ____ ____ 
_ 0902     3270-X            1  0902 ____ ____ ____ ____ ____ ____ ____ 
_ 0903     3270-X            1  0903 ____ ____ ____ ____ ____ ____ ____ 
_ 0904     3270-X            1  0904 ____ ____ ____ ____ ____ ____ ____ 
_ 0905     3270-X            1  0905 ____ ____ ____ ____ ____ ____ ____ 
_ 0906     3270-X            1  0906 ____ ____ ____ ____ ____ ____ ____ 
_ 0907     3270-X            1  0907 ____ ____ ____ ____ ____ ____ ____ 
_ 0908     3270-X            1  0908 ____ ____ ____ ____ ____ ____ ____ 
_ 0909     3270-X            1  0909 ____ ____ ____ ____ ____ ____ ____ 
_ 090A     3270-X            1  090A ____ ____ ____ ____ ____ ____ ____ 
_ 090B     3270-X            1  090B ____ ____ ____ ____ ____ ____ ____ 
_ 090C     3270-X            1  090C ____ ____ ____ ____ ____ ____ ____ 
_ 090E     3270-X            1  090E ____ ____ ____ ____ ____ ____ ____ 
_ 090F     3270-X            1  090F ____ ____ ____ ____ ____ ____ ____ 
_ 0910,16  3270-X            1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 0A80     3390              1  0A80 ____ ____ ____ ____ ____ ____ ____ 
_ 0A81     3390              1  0A81 ____ ____ ____ ____ ____ ____ ____ 
_ 0A82     3390              1  0A82 ____ ____ ____ ____ ____ ____ ____ 
_ 0A83     3390              1  0A83 ____ ____ ____ ____ ____ ____ ____ 
_ 0A84     3390              1  0A84 ____ ____ ____ ____ ____ ____ ____ 
_ 0A85     3390              1  0A85 ____ ____ ____ ____ ____ ____ ____ 
_ 0A86     3390              1  0A86 ____ ____ ____ ____ ____ ____ ____ 
_ 0A87     3390              1  0A87 ____ ____ ____ ____ ____ ____ ____ 
_ 0A88     3390              1  0A88 ____ ____ ____ ____ ____ ____ ____ 
_ 0A89     3390              1  0A89 ____ ____ ____ ____ ____ ____ ____ 
_ 0A8A     3390              1  0A8A ____ ____ ____ ____ ____ ____ ____ 
_ 0A8B     3390              1  0A8B ____ ____ ____ ____ ____ ____ ____ 
_ 0A8C     3390              1  0A8C ____ ____ ____ ____ ____ ____ ____ 
_ 0A8D     3390              1  0A8D ____ ____ ____ ____ ____ ____ ____ 
_ 0A8E     3390              1  0A8E ____ ____ ____ ____ ____ ____ ____ 
_ 0A8F     3390              1  0A8F ____ ____ ____ ____ ____ ____ ____ 
_ 0A90,19  3390              1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 0AA3     3390              1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 0AA4,76  3390              1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 0AF0,16  3390              1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 0E20     CTC               1  0E20 ____ ____ ____ ____ ____ ____ ____ 
_ 0E21     CTC               1  0E21 ____ ____ ____ ____ ____ ____ ____ 
_ 0E22     CTC               1  0E22 ____ ____ ____ ____ ____ ____ ____ 
_ 0E23     CTC               1  0E23 ____ ____ ____ ____ ____ ____ ____ 
_ 0E40     CTC               1  0E40 ____ ____ ____ ____ ____ ____ ____ 
_ 0E41     CTC               1  0E41 ____ ____ ____ ____ ____ ____ ____ 
_ 0E42     CTC               1  0E42 ____ ____ ____ ____ ____ ____ ____ 
_ 0E43     CTC               1  0E43 ____ ____ ____ ____ ____ ____ ____ 
_ 1A00,256 3390              1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 2A00,256 3390              1  ____ ____ ____ ____ ____ ____ ____ ____ 
_ 3A00,256 3390              1  ____ ____ ____ ____ ____ ____ ____ ____ 
```

</div></details>

## IPL情報

<details><summary><font color="blue">IPLINFO</font></summary><div>

```
D IPLINFO                                                  
IEE254I  20.58.26 IPLINFO DISPLAY 505                      
 SYSTEM IPLED AT 07.33.12 ON 01/15/2021                    
 RELEASE z/OS 02.04.00    LICENSE = z/OS                   
 USED LOADNZ IN SYS1.IPLPARM ON 00A82                      
 ARCHLVL = 2   MTLSHARE = N                                
 IEASYM LIST = NZ                                          
 IEASYS LIST = NZ (OP)                                     
 IODF DEVICE: ORIGINAL(00A82) CURRENT(00A82)               
 IPL DEVICE: ORIGINAL(00A80) CURRENT(00A80) VOLUME(B4RES1) 
```

</div></details>

<details><summary><font color="blue">LOADxx</font></summary><div>

```xxx:SYS1.IPLPARM(LOADNZ)
IODF     99 SYS1                                              
INITSQA  0000M 0008M                                          
SYSCAT   B4SYS1113CCATALOG.Z24B.MASTER                        
SYSPARM  NZ                                                   
IEASYM   NZ                                                   
NUCLST   00                                                   
PARMLIB  USER.Z24B.PARMLIB                            B4CFG1  
PARMLIB  FEU.Z24B.PARMLIB                             B4CFG1  
PARMLIB  ADCD.Z24B.PARMLIB                            B4SYS1  
PARMLIB  SYS1.PARMLIB                                 B4RES1  
NUCLEUS  1                                                    
SYSPLEX  ADCDPL                                               
```

</div></details>

### PARMLIB関連

<details><summary><font color="blue">IEASYMxx</font></summary><div>

```xxx:FEU.Z24B.PARMLIB(IEASYMNZ)
SYSDEF  SYSNAME(S0W1)
        SYSCLONE(1A)
        SYMDEF(&UNIXVER='Z24B')
        SYMDEF(&SYSVER='Z24B')
        SYMDEF(&ADCDLVL='ADCD24B')
        SYMDEF(&SYSP1.='B4PRD1')
        SYMDEF(&SYSP2.='B4PRD2')
        SYMDEF(&SYSP3.='B4PRD3')
        SYMDEF(&SYSP4.='B4PRD4')
        SYMDEF(&SYSR2.='B4RES2')
        SYMDEF(&SYSS1.='B4SYS1')
        SYMDEF(&SYSC1.='B4CFG1')
        SYMDEF(&HOMEIPADDRESS1.='172.26.1.2')
        SYMDEF(&DEFAULTROUTEADDR.='172.26.1.1')
        SYMDEF(&EPHEMERALPORTS.='10000 65534')
        SYMDEF(&GBLRESL.='GBLRESNZ')
        SYMDEF(&TCPPROF='PROF2')
        SYMDEF(&CNMDOMN='CNM01')
        SYMDEF(&CNMTCPN='TCPIP')
        SYMDEF(&CNMNETID='NETD')
        SYMDEF(&JES2STR_='(COLD,NOREQ)')
        SYMDEF(&DBGMGR='IPL')
        SYMDEF(&EQAPROF='IPL')
        SYMDEF(&EQARMTD='IPL')
        SYMDEF(&BLZBFA='IPL')
        SYMDEF(&BLZISPFD='IPL')
        SYMDEF(&BUZAGNT='IPL')
        SYMDEF(&CICSTS55='IPL')
        SYMDEF(&CICSTS54='NOS')
        SYMDEF(&CSQ9CHIN='NOS')
        SYMDEF(&CSQ9MSTR='NOS')
        SYMDEF(&DBBGMSTR='NOS')
        SYMDEF(&DBCGMSTR='IPL')
        SYMDEF(&HTTPD1='NOS')
        SYMDEF(&IMS14CR1='NOS')
        SYMDEF(&IMS14RL1='NOS')
        SYMDEF(&IMS15CR1='IPL')
        SYMDEF(&IMS15RL1='IPL')
        SYMDEF(&IZUANG1='IPL')
        SYMDEF(&IZUSVR1='IPL')
        SYMDEF(&JMON='IPL')
        SYMDEF(&NFSS='NOS')
        SYMDEF(&RSED='IPL')
        SYMDEF(&RSEAPI='IPL')
        SYMDEF(&DBB='IPL')
        SYMDEF(&DBBS='IPL')
        SYMDEF(&ZOSCSRV='IPL')

```

</div></details>

<details><summary><font color="blue">IEASYSxx</font></summary><div>

```xxx:FEU.Z24B.PARMLIB(IEASYSNZ)
CLOCK=00,                     SELECT CLOCK00
AUTOR=(00,NV),
CLPA,
IZU=AS,
CMB=(UNITR,COMM,GRAPH,CHRDR), ADDITIONAL CMB ENTRIES
CMD=AU,
CON=(00,NOJES3),              SELECT CONSOL00
COUPLE=00,                    RRS
CSA=(3000,400000),            CSA RANGE
DIAG=00,                      SELECT DIAG00, DIAGNOSTIC COMMANDS
DUMP=DASD,                    PLACE SVC DUMPS ON DASD DEVICES
FIX=00,                       SELECT IEAFIX00, FIX MODULES SPECIFIED
GRS=NONE,                     NO COORDINATION OF GRS REQUESTS
HZSPROC=*NONE,
ILMMODE=NONE,                 EXPLICITLY DISABLE LICENSE MANAGER
LFAREA=(1M=(15%,0%),NOPROMPT),
LNKAUTH=LNKLST,               AUTHORIZE LNKLST00, APFTAB IS ALTERNATE
LOGCLS=L,                     WILL NOT BE PRINTED BY DEFAULT
LOGLMT=999999,                MAX WTL MESSAGES QUEUED, MUST BE 6 DIGITS
LOGREC=SYS1.&SYSNAME..LOGREC, ERROR RECORDING
LPA=NZ,                       SELECT LPALSTCI
MAXUSER=250,                  SYS TASKS PLUS INITS PLUS TSOUSERS
MLPA=DI,                      DI FOR IMS
MSTRJCL=00,                   SELECT MSTJCLEX, MASTER JCL
OMVS=(00,01,BP,IZ,CI,DB,IM,W9,ZE,RT,BB,ZW), ALL
OPI=YES,                      ALLOW OPERATOR OVERRIDE
PAGE=(SYS1.&SYSNAME..PLPA.PAGE,
      SYS1.&SYSNAME..COMMON.PAGE,
      SYS1.&SYSNAME..LOCALA.PAGE,
      SYS1.&SYSNAME..LOCALB.PAGE,
      SYS1.&SYSNAME..LOCALC.PAGE,L),
PAK=00,                       SELECT IEAPAK00
PLEXCFG=ANY,                  RRS
PROG=(AB,A0,A1,A2,A3,AC,AD,AI,AM,ZW,  DYNAMIC APF LIST
      SY,LB,LM,L0,L1,L2,L3,LC,LD,LL), LL MUST BE LAST
REAL=128,                     ALLOWS 2 64K OR 1 128K JOB TO RUN V=R
RSU=0,                        NO RECONFIG STORAGE UNITS
RSVNONR=100,                  RESERVED ASVT ENTRIES
RSVSTRT=5,                    RESERVED ASVT ENTRIES
SCH=(WA,AL,ZW),                    SELECT SCHEDXX
SMF=00,                       SELECT SMFPRM00, SMF PARAMETERS
SQA=(15,64),                  SQA SIZE APPROX 640K
SSN=DB,                       SELECT IEFSSNDB FOR ALL PRODUCTS
PROD=(00,01,DB),                 PLEASE NOTE IFAPRD01
SVC=AL,                       SELECT IEASVC00, USER SVCS
VAL=00,                       SELECT VATLST00
VIODSN=SYS1.&SYSNAME..STGINDEX,   VIO DS
VRREGN=64                     DEFAULT REAL-STORAGE REGION SIZE
```

</div></details>

<details><summary><font color="blue">MSTJCLxx</font></summary><div>

```xxx:ADCD.Z24B.PARMLIB(MSTJCL00)
//MSTJCL00 JOB MSGLEVEL=(1,1),TIME=1440         
//         EXEC PGM=IEEMB860,DPRTY=(15,15)      
//STCINRDR DD SYSOUT=(A,INTRDR)                 
//TSOINRDR DD SYSOUT=(A,INTRDR)                 
//IEFPDSI  DD DSN=USER.&SYSVER..PROCLIB,DISP=SHR
//         DD DSN=FEU.&SYSVER..PROCLIB,DISP=SHR 
//         DD DSN=ADCD.&SYSVER..PROCLIB,DISP=SHR
//         DD DSN=SYS1.PROCLIB,DISP=SHR         
//SYSUADS  DD DSN=SYS1.UADS,DISP=SHR            
//SYSLBC   DD DSN=SYS1.BRODCAST,DISP=SHR        
```

</div></details>

<details><summary><font color="blue">BPXPRMxx</font></summary><div>

```xxx:ADCD.Z24B.PARMLIB(BPXPRM00)
MAXASSIZE(2147483647)
MAXPROCSYS(1200)
MAXPROCUSER(32767)
MAXUIDS(400)
MAXFILEPROC(65535)
MAXPTYS(800)
MAXTHREADTASKS(32768)
MAXTHREADS(20000)
MAXSHAREPAGES(32768000)
MAXCPUTIME(7200)
SUPERUSER(OMVSKERN)
CTRACE(CTIBPX00)
RESOLVER_PROC(RESOLVER)
IPCMSGQBYTES(20971520)

VERSION('&UNIXVER.')
SYSPLEX(YES)

FILESYSTYPE TYPE(HFS)
            ENTRYPOINT(GFUAINIT)
FILESYSTYPE TYPE(UDS) ENTRYPOINT(BPXTUINT)

 FILESYSTYPE TYPE(AUTOMNT) ENTRYPOINT(BPXTAMD)
 FILESYSTYPE TYPE(ZFS) ENTRYPOINT(IOEFSCM) ASNAME(ZFS)
 FILESYSTYPE TYPE(NFS)
           ENTRYPOINT(GFSCINIT)
           ASNAME(NFSC)

FILESYSTYPE TYPE(INET) ENTRYPOINT(EZBPFINI)

SUBFILESYSTYPE NAME(TCPIP)
       TYPE(INET)
       ENTRYPOINT(EZBPFINI)

NETWORK DOMAINNAME(AF_INET)
        DOMAINNUMBER(2)
        MAXSOCKETS(64000)
        TYPE(INET)
        INADDRANYPORT(5555)
        INADDRANYCOUNT(1000)

NETWORK DOMAINNAME(AF_UNIX)
        DOMAINNUMBER(1)
        MAXSOCKETS(2000)
        TYPE(UDS)
```

```xxx:ADCD.Z24B.PARMLIB(BPXPRM01)
  ROOT     FILESYSTEM('ZFS.&SYSPLEX..ROOT')
           TYPE(ZFS)
           MODE(RDWR)

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..SYSTEM')
           TYPE(ZFS)
           MODE(RDWR) UNMOUNT
           MOUNTPOINT('/&SYSNAME.')

  MOUNT    FILESYSTEM('ZFS.&SYSVER..VERSION')
           TYPE(ZFS)
           MODE(RDWR)
           MOUNTPOINT('/$VERSION')

  MOUNT    FILESYSTEM('ZFS.&SYSVER..CNJ')
           TYPE(ZFS)
           MODE(READ) NOAUTOMOVE
           MOUNTPOINT('/usr/lpp/IBM/cnj')

  MOUNT    FILESYSTEM('ZFS.&SYSVER..ZCX')
           TYPE(ZFS)
           MODE(READ) NOAUTOMOVE
           MOUNTPOINT('/usr/lpp/zcx_zos')

  MOUNT    FILESYSTEM('ZFS.&SYSVER..ZEDC')
           TYPE(ZFS)
           MODE(READ) NOAUTOMOVE
           MOUNTPOINT('/usr/lpp/encryptionfacility')

  MOUNT    FILESYSTEM('ZFS.&SYSVER..FONTS')
            TYPE(ZFS)
            MODE(READ) NOAUTOMOVE
            MOUNTPOINT('/usr/lpp/fonts')

  MOUNT    FILESYSTEM('ZFS.&SYSVER..WLP')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE
           MOUNTPOINT('/usr/lpp/liberty_zos')

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..DEV')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE
           MOUNTPOINT('/&SYSNAME./dev')

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..VAR')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE
           MOUNTPOINT('/&SYSNAME./var')

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..VARWBEM')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE       /* DFT=AUTOMOVE TO FIX HC MSG*/
           MOUNTPOINT('/&SYSNAME./var/wbem')

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..ETC')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE
           MOUNTPOINT('/&SYSNAME./etc')

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..TMP')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE
           MOUNTPOINT('/&SYSNAME./tmp')

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..USR.MAIL')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE
           MOUNTPOINT('/&SYSNAME./var/mail')

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..USERS')
           TYPE(ZFS)
           MODE(RDWR) NOAUTOMOVE
           MOUNTPOINT('/u')

  MOUNT    FILESYSTEM('ZFS.JAVA.CACHE')
           MOUNTPOINT('/javasc')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..WEB')
           MOUNTPOINT('/web')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('ZFS.&SYSNAME..WEB.CONFIG.ZFS')
           MOUNTPOINT('/web/httpd1')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('ZFS.S0W1.PYZ380')
           MOUNTPOINT('/usr/lpp/IBM/cyp')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('ZFS.ROCKET')
           MOUNTPOINT('/rsusr')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('RL2110.ZFS')
           MOUNTPOINT('/usr/lpp/Rocket/rsusr/ported')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('EQAF00.SEQAZFS')
           MOUNTPOINT('/usr/lpp/IBM/debug')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('BGY110.ZFS')
           MOUNTPOINT('/usr/lpp/IBM/zoautil')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('HUH100.ZFS')
           MOUNTPOINT('/usr/lpp/IBM/rseapi')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('AQT710.SAQTHFS')
           MOUNTPOINT('/usr/lpp/IBM/aqt/v7r1m0')
           TYPE(ZFS) MODE(RDWR)

  MOUNT    FILESYSTEM('AQT710.SCHCJAVA')
           MOUNTPOINT('/usr/lpp/chc/V10R2M1')
           TYPE(ZFS) MODE(RDWR)
```

</div></details>


<details><summary><font color="blue">COMMNDxx</font></summary><div>

```xxx:FEU.Z24B.PARMLIB(COMMNDAU)
COM='S CNMPSSI,SUB=MSTR'                       
COM='S CNMPROC,SUB=MSTR'                       
COM='S EZAZSSI,P=S0W1'                         
COM='DD ADD,VOL=B4SYS1'                        
COM='DD NAME=SYS1.&SYSNAME..&SYSVER..DMP&SEQ'  
COM='DD ALLOC=ACTIVE'                          
```

</div></details>

### PROCLIB関連

<details><summary><font color="blue">CNMPROC</font></summary><div>

```xxx:ADCD.Z24B.PROCLIB(CNMPROC)
//*********************************************************************
//*  Licensed Materials - Property of IBM                             *
//*  5697-NV6 ｩ Copyright IBM Corp. 2009, 2014                        *
//*  ALL RIGHTS RESERVED.                                             *
//*                                                                   *
//*  US GOVERNMENT USERS RESTRICTED RIGHTS                            *
//*  - USE, DUPLICATION OR  DISCLOSURE RESTRICTED BY                  *
//*    GSA ADP SCHEDULE CONTRACT WITH IBM CORPORATION.                *
//*********************************************************************
//*  NAME(CNMPROC)  SAMPLE(CNMSJ009)  RELATED-TO()                    *
//*  DESCRIPTION: Tivoli NETVIEW APPLICATION START UP PROC FOR z/OS   *
//*  CNMSJ009 CHANGED ACTIVITY:                                       *
//*  CHANGE CODE  DATE      DESCRIPTION                               *
//*  -----------  --------  ------------------------------------------*
//*********************************************************************
//* THE FOLLOWING SYMBOLICS ARE FOR USER DEFINED DATA SETS.
//CNMPROC  PROC Q1='NETVIEW',  ** USER DSN HIGH LEVEL QUALIFIER
//*
//       DOMAIN=CNM01,         ** NETVIEW DOMAIN NAME
//       DOMAINPW='',          ** NETVIEW DOMAIN PASSWORD
//       PROG=DSIMNT,          ** PGM USED TO START NETVIEW
//       SQ1='NET630',         ** SYSTEM DSN HIGH LEVEL QUALIFIER
//       REXX='FAN140',        ** REXX DSN HIGH LEVEL QUALIFIER
//*
//* THE FOLLOWING SYMBOLIC "VQ1" IS USED WITH "DOMAIN" TO BUILD
//* THE HIGH LEVEL INDEX FOR ALL VSAM DATA SETS THAT NETVIEW WRITES TO.
//       VQ1=NETVIEW,          ** HIGH LVL DSN QUALIFIER-VSAM DSNS
//*
//       TQ1=NETVIEW,          ** SEQUENTIAL DSN HIGH LEVEL QUALIFIER
//*
//* COMMENT OUT THE FOLLOWING SYMBOLIC IF STARTING NETVIEW BEFORE JES
//       SOUTA='*',            ** DEFAULT PRINTED OUTPUT CLASS
//*
//       REG=98304,            ** REGION SIZE(IN K) FOR NETVIEW
//*                            (16M-SYSTEM OVERHEAD) = 24-BIT REGION
//*                                              64M = 31-BIT REGION
//*                             NOTE: AVOID USING A REGION SIZE <16M.
//*                             SEE THE NETVIEW TUNING GUIDE AND HELP
//*                             FOR THE "RESOURCE" COMMAND.
//       BFSZ=24,              ** BUFFER SIZE(IN K)
//       SLSZ=200,             **
//*
//* THE FOLLOWING SYMBOLIC "ARM" IS USED TO BOTH ENABLE NETVIEW FOR
//* MVS AUTOMATIC RESTART MANAGEMENT (ARM) AND TO SUPPLY A NAME (UP TO
//* 16 CHARACTERS) BY WHICH THIS NETVIEW WILL BE KNOWN TO ARM
//       ARM='*NOARM',         ** NETVIEW AUTOMATIC RESTART (ARM) USAGE
//*                            ** *ARM = REGISTER WITH ARM USING A
//*                            **        NETVIEW-GENERATED ELEMENT
//*                            **        NAME, WHICH IS 'NETVIEW@'
//*                            **        CONCATENATED WITH THE VALUE
//*                            **        OF THE DOMAIN POSITIONAL
//*                            **        KEYWORD IN THE JCL EXEC PARMS.
//*                            **        IF NO VALUE IS PROVIDED FOR
//*                            **        THE DOMAIN KEYWORD, THEN
//*                            **        NETVIEW USES 'NETVIEW@' PADDED
//*                            **        WITH BLANKS
//*                            ** NAME = NETVIEW ARM ENABLEMENT BY NAME
//*                            ** *NOARM = NO NETVIEW ARM ENABLEMENT
//*                            ** DEFAULT OPTION = *NOARM
//*
//       SUBSYM='',            ** NETVIEW SYMBOLIC SUBSTITUTION SWITCH
//*                            ** *SUBSYM = ENABLE SYMBOLIC SUBSTITUTION
//*                            ** *NOSUBSYM = DISABLE SYMBOLIC
//*                            **             SUBSTITUTION
//*                            ** DEFAULT OPTION = *SUBSYM
//       NV2I='NM',
//*                            ** UNIQUE AID  A two character value
//*                            ** used to build a symbolic in NetView
//*                            ** It is used to create unique names
//*                            ** for the particular NetView.
//*                            ** If you specify a value, you MUST
//*                            ** rename/copy CNMSTYLE to CxxSTYLE
//*                            ** to match.
//       TRSIZE=4000
//*                            ** INTERNAL TRACE TABLE SIZE - Number
//*                            ** of pages to be allocated for the
//*                            ** NetView Internal Trace table. The
//*                            ** trace table is located in a data
//*                            ** space, so the value can be up to
//*                            ** 524286. If no value is specified,
//*                            ** the default of 4000 is used. If
//*                            ** a value of 0 is passed, internal
//*                            ** trace is not started early. Trace
//*                            ** options in CNMSTYLE take effect
//*                            ** even if trace is not started early.
//*
//**********************************************************************
//*
//NETVIEW  EXEC PGM=&PROG,TIME=1440,
//         REGION=&REG.K,
//         PARM=(&BFSZ.K,&SLSZ,
//           '&DOMAIN','&DOMAINPW','&ARM','&SUBSYM','&NV2I','&TRSIZE'),
//         DPRTY=(13,13)
//*
//* NOTE1: ALL STEPLIB DATA SETS HAVE TO BE APF AUTHORIZED.
//*
//* NOTE2: TO AVOID ANY POSSIBLE PROBLEMS MAINTAINING LIBRARIES,
//*        THE STEPLIB CODE LEVELS FOR NETVIEW BASE SHOULD MATCH
//*        THE STEPLIB DEFINITION IN THE NETVIEW Tivoli SUBSYSTEM
//*        PROC
//*
//* NOTE3: IF YOU ARE STARTING THE NETVIEW SUBSYSTEM BEFORE JES, YOU
//*        MUST CATALOG ANY STEPLIB PDS IN THE MVS MASTER CATALOG OR
//*        YOU MUST ADD VOLUME SPECIFIC REFERENCES TO ALL DD STATEMENTS
//*
//* NOTE4: USER DEFINED DATA SETS SHOULD BE THE FIRST IN THE
//*        CONCATENATION FOLLOWED BY THE MOST FREQUENTLY USED DATA
//*        SETS.
//*
//* NOTE5: IF YOU WISH TO RUN LE/370 PROGRAMS WITH Tivoli NETVIEW, AND
//*        HAVE NOT INSTALLED THE RUN-TIME LIBRARIES IN LNKLST, THEN
//*        BE SURE THE LIBRARY NAMES IN THE STEPLIB BELOW ARE
//*        CORRECT AND REMOVE THE ASTERISKS.
//*
//* IF YOU ARE RUNNING A JAPANESE SYSTEM, UNCOMMENT THE STEPLIB
//* STATEMENT FOR SCNMMJPN AND DELETE THE WORD "STEPLIB" FROM THE
//* LINE FOR THE CNMLINK DATA SET
//*STEPLIB  DD   DSN=&SQ1..SCNMMJPN,DISP=SHR
//STEPLIB  DD   DSN=&SQ1..SAQNLINK,DISP=SHR
//         DD   DSN=&SQ1..CNMLINK,DISP=SHR
//***************************************************************
//*
//* YOU WILL NEED ACCESS TO EITHER THE REXX/370 RUNTIME LIBRARY
//* OR THE REXX ALTERNATE LIBRARY AS FOLLOWS:
//*
//* - IF YOU HAVE THE REXX/370 LIBRARY ON YOUR SYSTEM BUT SEAGLPA
//*   IS NOT ACCESSIBLE FROM THE PAGEABLE LINK PACK AREA (PLPA),
//*   THEN YOU MUST UNCOMMENT THE "SEAGLPA" LINE BELOW.
//*
//*    OR
//*
//* - IF YOU HAVE THE REXX ALTERNATE LIBRARY ON YOUR SYSTEM,
//*   BUT SEAGALT IS NOT ACCESSIBLE FROM THE PLPA OR LINKLST,
//*   THEN YOU MUST UNCOMMENT THE "SEAGALT" LINE BELOW.
//*
//* WHEN YOU UNCOMMENT EITHER OF THE LINES BELOW, MAKE SURE
//* THAT THE DSN ACTUALLY MATCHES THE NAME ON YOUR SYSTEM.
//* IN ADDITION, MAKE SURE THAT THE DATA SET IS APF-AUTHORIZED.
//*
//         DD   DSN=&REXX..SEAGLPA,DISP=SHR
//*        DD   DSN=&REXX..SEAGALT,DISP=SHR
//*
//***************************************************************
//*
//* IF YOU ARE STARTING THE NETVIEW WEB SERVICES SERVER THEN
//* YOU WILL NEED ACCESS TO THE IBM XML TOOLKIT RUNTIME LIBRARY.
//*
//* - IF YOU HAVE THIS LIBRARY ON YOUR SYSTEM BUT IT IS NOT
//*   ACCESSIBLE FROM THE PLPA OR LINKLST, THEN YOU MUST
//*   UNCOMMENT THE LINE BELOW.
//*
//* WHEN YOU UNCOMMENT THE LINE BELOW, MAKE SURE THAT THE DSN
//* ACTUALLY MATCHES THE NAME ON YOUR SYSTEM.  IN ADDITION,
//* MAKE SURE THAT THE DATA SET IS APF-AUTHORIZED.
//*
//* FOR THE LINE BELOW, THE FOLLOWING JCL SYMBOLIC IS ASSUMED:
//*      QIXM='IXM.V1R8M0', ** IBM XML TOOLKIT RUNTIME LIB.
//*
//*        DD   DSN=&QIXM..SIXMLOD1,DISP=SHR
//*
//***************************************************************
//* UNCOMMENT THE FOLLOWING LINE IF YOU WILL BE USING LE/370 LIBRARIES
//*         DD   DSN=CEE.SCEERUN,DISP=SHR
//* UNCOMMENT THE FOLLOWING LINE IF YOU WILL BE USING DB2 LIBRARIES
//*         DD   DSN=DSN510.SDSNLOAD,DISP=SHR
//DSICLD   DD   DSN=&Q1..&DOMAIN..CNMCLST,DISP=SHR
//         DD   DSN=&SQ1..SAQNCLST,DISP=SHR
//         DD   DSN=&SQ1..CNMCLST,DISP=SHR
//         DD   DSN=&SQ1..CNMSAMP,DISP=SHR
//*        DD   DSN=SYS1.PROCLIB,DISP=SHR
//DSIOPEN  DD   DSN=&Q1..&DOMAIN..SDSIOPEN,DISP=SHR
//         DD   DSN=&SQ1..SDSIOPEN,DISP=SHR
//DSIPARM  DD   DSN=&Q1..&DOMAIN..DSIPARM,DISP=SHR
//         DD   DSN=&SQ1..SAQNPARM,DISP=SHR
//         DD   DSN=&SQ1..DSIPARM,DISP=SHR
//DSILIST  DD   DSN=&Q1..&DOMAIN..DSILIST,DISP=SHR
//DSIASRC  DD   DSN=&Q1..&DOMAIN..DSIASRC,DISP=SHR
//DSIARPT  DD   DSN=&Q1..&DOMAIN..DSIARPT,DISP=SHR
//DSIVTAM  DD   DSN=&Q1..&DOMAIN..VTAMLST,DISP=SHR
//*        DD   DSN=SYS1.VTAMLST,DISP=SHR
//DSIPRF   DD   DSN=&Q1..&DOMAIN..DSIPRF,DISP=SHR
//         DD   DSN=&SQ1..DSIPRF,DISP=SHR
//DSIMSG   DD   DSN=&SQ1..SDSIMSG1,DISP=SHR
//*
//* HARDWARE MONITOR U.S. ENGLISH PANEL DATA SET
//BNJPNL1  DD   DSN=&SQ1..BNJPNL1,DISP=SHR
//*
//* HARDWARE MONITOR JAPANESE PANEL DATA SET. IF RUNNING JAPANESE,
//* COMMENT OUT THE ABOVE BNJPNL1 DD LINE, AND UNCOMMENT THE
//* FOLLOWING LINE.
//*BNJPNL1  DD   DSN=&SQ1..SBNJPNL3,DISP=SHR
//*
//* HARDWARE MONITOR COLOR MAP DATA SET
//BNJPNL2  DD   DSN=&SQ1..BNJPNL2,DISP=SHR
//*
//* USER HELP DATA SET (PANELS)
//CNMPNL1  DD   DSN=&Q1..&DOMAIN..CNMPNL1,DISP=SHR
//*
//* JAPANESE ONLINE HELP DATA SET (PANELS). UNCOMMENT FOLLOWING LINE IF
//* RUNNING JAPANESE.
//*        DD   DSN=&SQ1..SCNMPNL2,DISP=SHR
//*
//* U.S. ENGLISH ONLINE HELP DATA SET (PANELS). REQUIRED FOR BOTH
//* ENGLISH AND JAPANESE.
//         DD   DSN=&SQ1..CNMPNL1,DISP=SHR
//*
//* SAMPLE I/O FILES FOR USE WITH PL/I AND/OR C PROGRAMS
//* MAY GO HERE. IF DESIRED, REMOVE ASTERISKS. MAKE SURE
//* YOU HAVE ALLOCATED THE DATA SETS BEFORE YOU RUN THE
//* PROC.
//*
//*PINFILE  DD   DSN=USER.HLL.INFILE,DISP=SHR
//*POUTFILE DD   DSN=USER.HLL.OUTFILE,DISP=SHR
//*CINFILE  DD   DSN=USER.HLL.INFILE,DISP=SHR
//*COUTFILE DD   DSN=USER.HLL.OUTFILE,DISP=SHR
//*
//* NETVIEW LOG DATA SETS
//*
//* BUFNI AND BUFND ARE SET TO 20 FOR IMPROVED RESPONSE
//* TIME WHEN BROWSING THE LOGS.  THESE MAY BE ADJUSTED
//* TO DIFFERENT VALUES FOR TUNING PURPOSES IF NECESSARY.
//* EACH BUFNI USES 1K OF NETVIEW VIRTUAL STORAGE, EACH
//* BUFND USES 4K OF NETVIEW VIRTUAL STORAGE.  REDUCING
//* THESE ALLOCATIONS WILL SAVE VIRTUAL STORAGE BUT MAY
//* DEGRADE LOG BROWSE RESPONSE TIME WHEN MANY RECORDS
//* ARE SEARCHED.
//*
//DSILOGP  DD   DSN=&VQ1..&DOMAIN..DSILOGP,
//         DISP=SHR,AMP='AMORG,BUFNI=20,BUFND=20'
//DSILOGS  DD   DSN=&VQ1..&DOMAIN..DSILOGS,
//         DISP=SHR,AMP='AMORG,BUFNI=20,BUFND=20'
//*
//* TRACE LOG DATA SETS
//*
//DSITRCP  DD   DSN=&VQ1..&DOMAIN..DSITRCP,
//         DISP=SHR,AMP=AMORG
//DSITRCS  DD   DSN=&VQ1..&DOMAIN..DSITRCS,
//         DISP=SHR,AMP=AMORG
//*
//* TCP CONNECTION VSAM DATA BASES
//*
//DSITCONP DD   DSN=&VQ1..&DOMAIN..DSITCONP,
//         DISP=SHR,AMP='AMORG'
//DSITCONS DD   DSN=&VQ1..&DOMAIN..DSITCONS,
//         DISP=SHR,AMP='AMORG'
//*
//* SAVED PACKET TRACE VSAM DATA BASE
//*
//FKXPKTS  DD   DSN=&VQ1..&DOMAIN..FKXPKTS,
//         DISP=SHR,AMP=AMORG
//*
//* SESSION MONITOR VSAM DATA BASES
//*
//AAUVSPL  DD   DSN=&VQ1..&DOMAIN..AAUVSPL,
//         DISP=SHR,AMP='AMORG'
//AAUVSSL  DD   DSN=&VQ1..&DOMAIN..AAUVSSL,
//         DISP=SHR,AMP='AMORG'
//*
//* HARDWARE MONITOR VSAM DATA BASES
//*
//BNJLGPR  DD   DSN=&VQ1..&DOMAIN..BNJLGPR,
//         DISP=SHR,AMP='AMORG'
//BNJLGSE  DD   DSN=&VQ1..&DOMAIN..BNJLGSE,
//         DISP=SHR,AMP='AMORG'
//*
//* CENTRAL SITE CONTROL FACILITY VSAM DATA BASE
//*
//DSIKPNL  DD   DSN=&VQ1..&DOMAIN..DSIKPNL,
//         DISP=SHR,AMP=AMORG
//*
//* SAVE/RESTORE FACILITY VSAM DATA BASE
//*
//DSISVRT  DD   DSN=&VQ1..&DOMAIN..DSISVRT,
//         DISP=SHR,AMP=AMORG
//**********************************************************************
//* THESE DATA SETS ARE REQUIRED IF YOU WANT TO COLLECT DISTRIBUTED
//* DVIPA WORKLOAD STATISTICS IN NETVIEW.
//**********************************************************************
//CNMDVIPP DD   DSN=&TQ1..&DOMAIN..CNMDVIPP,DISP=SHR
//CNMDVIPS DD   DSN=&TQ1..&DOMAIN..CNMDVIPS,DISP=SHR
//**********************************************************************
//*
//* UNCOMMENT THE FOLLOWING LINES IF YOU WILL BE USING AON AUTOMATION
//*
//**********************************************************************
//* AON AUTOMATION STATUS FILE
//*
//*EZLSTAT  DD   DSN=&VQ1..&DOMAIN..STATS,
//*         DISP=SHR,AMP='AMORG,BUFNI=10,BUFND=5'
//*
//* AON PASSWORD DATA SET - FOR GATEWAY SESSION PASSWORD MANAGEMENT
//*
//*EZLPSWD  DD   DSN=&VQ1..&DOMAIN..PASSWORD,
//*         DISP=SHR,AMP='AMORG,BUFNI=10,BUFND=5'
//*
//* AON AUTOMATION LOG DATA SETS
//*
//*EZLLOGP  DD   DSN=&VQ1..&DOMAIN..LOGP,
//*         DISP=SHR,AMP='AMORG,BUFNI=10,BUFND=5'
//*EZLLOGS  DD   DSN=&VQ1..&DOMAIN..LOGS,
//*         DISP=SHR,AMP='AMORG,BUFNI=10,BUFND=5'
//*
//**********************************************************************
//* NOTE: IF WRITING TO A SEQUENTIAL LOG USING BSAM IS DESIRED,
//*       DEFINE PRIMARY AND SECONDARY LOG DATA BASES BELOW USING
//*       DD STATEMENTS OR USE THE NETVIEW ALLOCATE COMMAND
//**********************************************************************
//* USE THE FOLLOWING CARD TO AVOID A SYSOUT REFERENCE IF YOU ARE
//* STARTING NETVIEW BEFORE STARTING JES
//*SYSPRINT DD   DUMMY
//SYSPRINT DD   SYSOUT=&SOUTA
//*
//*******************************************************************
//* If you are using TCP/IP, ensure that the following DD statement
//* specifies the correct data set and is uncommented.  This data,
//* TCPIP.DATA, is used to specify configuration information
//* required by TCP/IP client programs.
//*
//*SYSTCPD  DD DSN=TCPIP.DATA,DISP=SHR
//*
//* For more information please see your TCP/IP customization
//* and administration guide.
//*
//*******************************************************************
//* If you are using the TCP/IP translate data set TCPXLBIN,
//* specify the appropriate data set name and uncomment the
//* following DD statement to prevent dynamic allocation
//* messages from being issued each time the data set is needed.
//*
//*CNMXLBIN  DD  DISP=SHR,DSN=datasetprefix.STANDARD.TCPXLBIN
//*
//* For more information please see your IP Configuration Guide.
//*
//*******************************************************************
//*
//* SAMPLE STATEMENTS FOR IDCAMS COMMAND.
//* THESE JCL STATEMENTS ALLOW THE IDCAMS COMMAND TO BE USED TO
//* REORGANIZE THE SESSION MONITOR AND HARDWARE MONITOR PRIMARY VSAM
//* DATA BASES ONLINE USING THE NETVIEW IDCAMS COMMAND.  IN ORDER
//* TO USE THESE JCL STATEMENTS, CHANGE THE "//***" TO "//".
//*
//* TEMPORARY SEQUENTIAL VSAM BACKUP FILE
//*
//***VSAMSEQ  DD UNIT=SYSDA,SPACE=(CYL,(XX,XX)),
//***         DCB=(RECFM=VB,LRECL=4090,BLKSIZE=4094)
//*
//*
//* ACCESS METHODS SERVICES COMMAND FILE TO REORGANIZE SESSION
//* MONITOR VSAM DATA BASE.
//*
//***RORGNLDM DD DSN=&SQ1..CNMSAMP(CNMSJV03),DISP=SHR
//*
//*
//* ACCESS METHODS SERVICES COMMAND FILE TO REORGANIZE HARDWARE
//* MONITOR VSAM DATA BASE.
//*
//***RORGNPDA DD DSN=&SQ1..CNMSAMP(CNMSJV04),DISP=SHR
//*
//*******************************************************************
//*
//* NOTE: CHANGE THE "//***" TO "//" ON THE NEXT FOUR(4)
//*       STEPS IF YOU WOULD LIKE TO HAVE THE NETVIEW LOGS AND TRACE
//*       DATABASES AUTOMATICALLY PRINTED WHEN THE PROC IS BROUGHT
//*       DOWN.
//*
//* NOTE: DO NOT RUN THE REMAINING STEPS IN THIS PROC IF YOU START
//*       Tivoli NETVIEW WITH THE START COMMAND USING OPERAND
//*       SUB=MSTR, MOVE STEPS TO THEIR OWN PROC IN THIS CASE.
//*       YOUR NEW PROC STATEMENT WILL HAVE TO DEFINE ALL THE SYMBOLIC
//*       PARAMETERS REFERENCED IN THESE STEPS.
//*
//*     ***  PRINT PRIMARY NETVIEW LOG  ***
//*
//***PRNTLOGP EXEC PGM=DSIPRT,COND=EVEN
//***STEPLIB  DD   DSN=&SQ1..CNMLINK,DISP=SHR
//***DSILT    DD   DSN=&VQ1..&DOMAIN..DSILOGP,
//***         DISP=SHR,AMP=AMORG
//***SYSPRINT DD SYSOUT=&SOUTA
//***DSILST   DD SYSOUT=&SOUTA,DCB=(LRECL=121,RECFM=F,BLKSIZE=121)
//***DSIINP   DD DUMMY,DCB=(LRECL=80,RECFM=F,BLKSIZE=80)
//*
//*     ***  PRINT SECONDARY NETVIEW LOG  ***
//*
//***PRNTLOGS EXEC PGM=DSIPRT,COND=EVEN
//***STEPLIB  DD   DSN=&SQ1..CNMLINK,DISP=SHR
//***DSILT    DD   DSN=&VQ1..&DOMAIN..DSILOGS,
//***         DISP=SHR,AMP=AMORG
//***SYSPRINT DD SYSOUT=&SOUTA
//***DSILST   DD SYSOUT=&SOUTA,DCB=(LRECL=121,RECFM=F,BLKSIZE=121)
//***DSIINP   DD DUMMY,DCB=(LRECL=80,RECFM=F,BLKSIZE=80)
//*
//*     ***  PRINT PRIMARY TRACE LOG  ***
//*
//***PRNTTRCP EXEC PGM=DSIPRT,COND=EVEN
//***STEPLIB  DD   DSN=&SQ1..CNMLINK,DISP=SHR
//***DSILT    DD   DSN=&VQ1..&DOMAIN..DSITRCP,
//***         DISP=SHR,AMP=AMORG
//***SYSPRINT DD SYSOUT=&SOUTA
//***DSILST   DD SYSOUT=&SOUTA,DCB=(LRECL=121,RECFM=F,BLKSIZE=121)
//***DSIINP   DD DUMMY,DCB=(LRECL=80,RECFM=F,BLKSIZE=80)
//*
//*     ***  PRINT SECONDARY TRACE LOG  ***
//*
//***PRNTTRCS EXEC PGM=DSIPRT,COND=EVEN
//***STEPLIB  DD   DSN=&SQ1..CNMLINK,DISP=SHR
//***DSILT    DD   DSN=&VQ1..&DOMAIN..DSITRCS,
//***         DISP=SHR,AMP=AMORG
//***SYSPRINT DD SYSOUT=&SOUTA
//***DSILST   DD SYSOUT=&SOUTA,DCB=(LRECL=121,RECFM=F,BLKSIZE=121)
//***DSIINP   DD DUMMY,DCB=(LRECL=80,RECFM=F,BLKSIZE=80)
//*
//*        PEND
//*CNMPROC EXEC PROC=CNMAPROC
```

</div></details>


<details><summary><font color="blue">JES2</font></summary><div>

```xxx:FEU.Z24B.PROCLIB(JES2)
//JES2      PROC MEMBER=JES2PARM,ALTMEM=JES2BACK               
//IEFPROC   EXEC PGM=HASJES20,DPRTY=(15,15),TIME=1440,PERFORM=9
//ALTPARM   DD   DSN=ADCD.&SYSVER..PARMLIB(&ALTMEM),DISP=SHR   
//HASPPARM  DD   DSN=FEU.&SYSVER..PARMLIB(&MEMBER),DISP=SHR    
//PROC00    DD   DSN=USER.&SYSVER..PROCLIB,DISP=SHR            
//          DD   DSN=FEU.&SYSVER..PROCLIB,DISP=SHR             
//          DD   DSN=ADCD.&SYSVER..PROCLIB,DISP=SHR            
//          DD   DSN=SYS1.PROCLIB,DISP=SHR                     
//HASPLIST  DD   DDNAME=IEFRDER                                
```

</div></details>

<details><summary><font color="blue">TCPIP</font></summary><div>

```xxx:FEU.Z24B.PROCLIB(TCPIP)
//TCPIP    PROC PARMS='CTRACE(CTIEZB00)'                                00010000
//*                                                                     00020000
//*  z/OS CommunicationS Server                                         00030000
//*  SMP/E DiStribution Name: EZAEB01G                                  00040000
//*                                                                     00050000
//*  LicenSed MaterialS - Property of IBM                               00060000
//*  "ReStricted MaterialS of IBM"                                      00070000
//*  5694-A01                                                           00080000
//*  (C) Copyright IBM Corp. 1991, 2001                                 00090000
//*  StatuS = CSZ110                                                        00
//*                                                                     00110000
//TCPIP    EXEC PGM=EZBTCPIP,REGION=0M,TIME=1440,                       00120000
//             PARM='&PARMS'                                            00130000
//*            PARM=('&PARMS',                                          00140000
//*        'ENVAR("RESOLVER_CONFIG=//''TCPIP.TCPPARMS(TCPDATA)''")')    00150000
//*                                                                     00200000
//STEPLIB  DD DSN=USER.&SYSVER..VTAMLIB,DISP=SHR
//         DD DSN=ADCD.&SYSVER..VTAMLIB,DISP=SHR
//*                                                                     00220000
//SYSPRINT DD SYSOUT=H,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)             00410000
//ALGPRINT DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)             00420000
//CFGPRINT DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)             00430000
//SYSOUT   DD SYSOUT=H,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)             00440000
//CEEDUMP  DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)             00450000
//SYSERROR DD SYSOUT=*                                                  00460000
//*TNDBCSCN DD DSN=TCPIP.SEZAINST(TNDBCSCN),DISP=SHR                    00510000
//*                                                                     00520000
//*        TNDBCSXL containS binary DBCS tranSlation table codefileS    00530000
//*        uSed by TELNET DBCS TranSform mode.                          00540000
//*                                                                     00550000
//*TNDBCSXL DD DSN=TCPIP.SEZAXLD2,DISP=SHR                              00560000
//*                                                                     00570000
//*        TNDBCSER receiveS debug output from TELNET DBCS TranSform    00580000
//*        mode, when TRACE TELNET iS Specified in the PROFILE data Set.00590000
//*                                                                     00600000
//*TNDBCSER DD SYSOUT=*                                                 00610000
//*                                                                     00620000
//*     TCPIP readS the parameterS from a data Set with name            00630000
//*     TCPIP.nodename.TCPIP or with name TCPIP.PROFILE.TCPIP.          00640000
//*     See the chapter on "Configuring the TCPIP AddreSS Space" in     00650000
//*     the Configuration Guide for more information. A Sample of       00660000
//*     Such a profile iS included in member SAMOPROF of the            00670000
//*     SEZAINST data Set.                                              00680000
//*                                                                     00690000
//*PROFILE  DD DISP=SHR,DSN=USER.TCPPARMS(PROFILE)
//*PROFILE  DD DISP=SHR,DSN=FEU.&SYSVER..TCPPARMS(PROFILE)
//*PROFILE  DD DISP=SHR,DSN=ADCD.&SYSVER..TCPPARMS(PROF1)
//PROFILE  DD DISP=SHR,DSN=ADCD.&SYSVER..TCPPARMS(&TCPPROF)
//*PROFILE  DD DISP=SHR,DSN=TCPIP.PROFILE.TCPIP                         00710001
//*                                                                     00720000
//*     SYSTCPD explicitly identifieS which data Set iS to be           00730000
//*        uSed to obtain the parameterS defined by TCPIP.DATA.         00740000
//*        The SYSTCPD DD Statement Should be placed in the TSO logon   00750000
//*        procedure or in the JCL of any client or Server executed     00760000
//*        aS a background taSk.  The data Set can be any Sequential    00770000
//*        data Set or a member of a partitioned data Set (PDS).        00780000
//*                                                                     00790000
//*     For more information pleaSe See "UnderStanding TCP/IP Data      00800000
//*     Set NameS" in the Configuration Guide.                          00810000
//*                                                                     00820000
//*SYSTCPD  DD DSN=TCPIP.TCPIP.DATA,DISP=SHR                               008
//SYSTCPD  DD DSN=ADCD.&SYSVER..TCPPARMS(TCPDATA),DISP=SHR                 008
//*SYSTCPD  DD DSN=USER.TCPPARMS(TCPDATA),DISP=SHR
```

</div></details>


<details><summary><font color="blue">VTAM</font></summary><div>

```xxx:ADCD.Z24B.PROCLIB(VTAM)
//VTAM   PROC
//* DOC: THIS IS THE CATALOGED PROCEDURE USED FOR
//*      STARTING ACF/VTAM.
//*
//*      THE VTAMLST DD STATEMENT IDENTIFIES WHERE
//*      VTAM NETWORK DEFINITION STATEMENTS AND START
//*      OPTIONS ARE LOCATED.
//*
//*      THE VTAMLIB DD STATEMENT IDENTIFIES WHERE THE
//*      VTAM LOAD MODULES USED ONLY IN VTAM'S PRIVATE
//*      ADDRESS SPACE ARE TO BE FOUND.
//*
//*
//VTAM     EXEC PGM=ISTINM01,REGION=0M,
//         DPRTY=(15,15),TIME=1440,PERFORM=8
//VTAMLST  DD DISP=SHR,
//            DSN=USER.&SYSVER..VTAMLST
//         DD DISP=SHR,
//            DSN=FEU.&SYSVER..VTAMLST
//         DD DISP=SHR,
//            DSN=ADCD.&SYSVER..VTAMLST
//         DD DISP=SHR,
//            DSN=SYS1.VTAMLST
//VTAMLIB  DD DISP=SHR,
//            DSN=USER.&SYSVER..VTAMLIB
//         DD DISP=SHR,
//            DSN=FEU.&SYSVER..VTAMLIB
//         DD DISP=SHR,
//            DSN=ADCD.&SYSVER..VTAMLIB
//         DD DISP=SHR,
//            DSN=SYS1.VTAMLIB
//         DD DISP=SHR,
//            DSN=NET630.SCNMLNK1
//SISTCLIB DD DISP=SHR,
//            DSN=SYS1.SISTCLIB
//SYSABEND DD SYSOUT=*,HOLD=YES
//DSDBCTRL DD DSN=SYS1.DSDBCTRL,DISP=SHR
//DSDB1    DD DSN=SYS1.DSDB1,DISP=SHR
//DSDB2    DD DSN=SYS1.DSDB2,DISP=SHR
//TRSDB    DD DSN=SYS1.TRSDB,DISP=SHR
```

</div></details>


<details><summary><font color="blue">TN3270</font></summary><div>

```xxx:FEU.Z24B.PROCLIB(TN3270)
//TN3270   PROC PARMS='CTRACE(CTIEZBTN)'
//*TN3270   PROC PARMS='TRC=TN'
//*
//*  z/OS Communications Server
//*  SMP/E Distribution Name: EZBTNPRC
//*
//*  5694-A01 (C) Copyright IBM Corp. 1991, 2004
//*  Licensed Materials - Property of IBM
//*
//*  Function: Start TN3270 Telnet Server
//*
//* The PARM= field is used for CTRACE() or TRC= setup only.
//* No LE parms are passed to attached C processes.
//*
//TN3270   EXEC PGM=EZBTNINI,REGION=0M,PARM='&PARMS'
//*
//*******************************************************************
//*     The C runtime libraries should be in the system's link list
//*     or add them via a STEPLIB definition here.  If you add
//*     them via a STEPLIB, they must be APF authorized with DISP=SHR
//*
//* STEPLIB pointing to VTAM USS MSG10 TABLE
//*
//STEPLIB  DD DSN=USER.&SYSVER..VTAMLIB,DISP=SHR
//         DD DSN=ADCD.&SYSVER..VTAMLIB,DISP=SHR
//*
//*     SYSPRINT contains detailed trace output from 3270 Transform.
//*        It can be directed to SYSOUT or a data set.  We recommend
//*        directing the output to SYSOUT due to data set size
//*        constraints.
//*
//SYSPRINT DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
//SYSOUT   DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
//CEEDUMP  DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
//*
//*        TNDBCSCN is the configuration data set for DBCSTransform
//*        mode.
//*
//*TNDBCSCN DD DISP=SHR,DSN=TCPIP.SEZAINST(TNDBCSCN)
//*
//*        TNDBCSXL contains binary DBCS translation table codefiles
//*        used by DBCSTransform mode.
//*
//*TNDBCSXL DD DISP=SHR,DSN=TCPIP.SEZAXLD2
//*
//*        TNDBCSER receives debug output from TELNET DBCS Transform
//*        mode, when DBCSTRACE is specified in the PROFILE data set.
//*
//*TNDBCSER DD SYSOUT=*
//*
//*
//PROFILE  DD DSN=ADCD.&SYSVER..TCPPARMS(TN3270),DISP=SHR
//*     The PROFILE DD statement specifies the data set containing the
//*     Telnet configuration parameters.  If the PROFILE DD statement
//*     is not supplied, Telnet will not start any ports.  There is
//*     no default data set.  An Obeyfile command can be used later
//*     to start a Telnet port.
//*     A sample profile is included in member TNPROF of the SEZAINST
//*     data set.
//*SYSTCPD  DD ...
//*     The SYSTCPD DD statement specifies an optional data set containing
//*     parameters used by the Resolver to resolve client IP addresses
//*     into hostnames.  The parameters in this data set are used
//*     when no GLOBALTCPIPDATA statement is configured.
//*     The Resolver search order is likely the search order needed by
//*     Telnet.  Use of the SYSTCPD DD statement here is strongly
//*     discouraged.
//*     See the IP Configuration Guide for information on the
//*     the TCPIP.DATA search order in the native MVS environment and
//*     the TCPIP.DATA parameters needed by the Resolver.
//*     The data set can be any sequential data set or a member of
//*     a partitioned data set (PDS).
```

</div></details>

### ネットワーク関連

<details><summary><font color="blue">TCPIPプロファイル</font></summary><div>

```xxx:ADCD.Z24B.TCPPARMS(PROF2)
ARPAGE 5
DATASETPREFIX TCPIP
AUTOLOG 5
;   FTPD JOBNAME FTPD1   ; FTP Server
    PAGENT               ; Policy Agent Server
    PORTMAP              ; Portmap Server
ENDAUTOLOG
PORT
     7 UDP MISCSERV            ; Miscellaneous Server
     7 TCP MISCSERV
     9 UDP MISCSERV
     9 TCP MISCSERV
    19 UDP MISCSERV
    19 TCP MISCSERV
    20 TCP OMVS      NOAUTOLOG ; FTP Server
    21 TCP OMVS                ; FTP Server
    22 TCP SSHD*               ; port for sshd daemonrver
;   23 TCP TN3270              ; Telnet Server
; ADCD - Port  23 and 2023 for TN3270
    23 TCP TN3270              ; Telnet 3270 Server
  2023 TCP TN3270              ; Telnet 3270 Server SSL/TLS
    25 TCP SMTP                ; SMTP Server
    53 TCP NAMESRV             ; Domain Name Server
    53 UDP NAMESRV             ; Domain Name Server
    69 UDP OMVS                ; OE TFTP SERVER
    80 TCP OMVS                ; OE WEB SERVER
   111 TCP PORTMAP             ; Portmap Server
   111 UDP PORTMAP             ; Portmap Server
   135 UDP LLBD                ; NCS Location Broker
   161 UDP OSNMPD              ; SNMP Agent
   162 UDP SNMPQE              ; SNMP Query Engine
   433 TCP OMVS                ; OE WEB Server
   443 TCP OMVS                ; Secure Server
   512 TCP RXSERVE             ; Remote Execution Server
   513 UDP OMVS                ; OE RLOGIN SERVER
   514 UDP OMVS                ; OE syslog server
   514 TCP RXSERVE             ; Remote Execution Server
   515 TCP LPSERVE             ; LPD Server
   520 UDP OROUTED             ; RouteD Server
   580 UDP NCPROUT             ; NCPROUTE Server
   750 TCP MVSKERB             ; Kerberos
   750 UDP MVSKERB             ; Kerberos
   751 TCP ADM@SRV             ; Kerberos Admin Server
   751 UDP ADM@SRV             ; Kerberos Admin Server
;  1021 TCP OMVS                ; OE FTP SERVER
   1023 TCP OMVS                ; OE TELNET SERVER
   1023 UDP OMVS                ; OE TELNET SERVER
   1024 TCP OMVS                ; OE SERVICES
   1416 TCP CSQ9CHIN            ; CSQ9 MQ TCP Listener
   3000 TCP CICSTS53            ; CICS 5.3 Socket
   3001 TCP CICSTS52            ; CICS 5.2 Socket
   3002 TCP CICSTS51            ; CICS 5.1 Socket
   3003 TCP CICSTS42            ; CICS 4.2 Socket
   3004 TCP CICSTS41            ; CICS 4.1 Socket
   7320 TCP CICSTS54            ; Socket IP
   7350 TCP CICSTS54            ; DTCN
   7353 TCP CICSTS54            ; DTCN Secure
   7310 TCP CICSTS55            ; Socket IP
   7360 TCP CICSTS55            ; DTCN
   7363 TCP CICSTS55            ; DTCN Secure
   7390 TCP EQAPROF             ; http requests
   7391 TCP EQAPROF             ; shutdown port
   7392 TCP EQAPROF             ; https requests
   7393 TCP OMVS                ; EQARMTD http requests
   7394 TCP OMVS                ; EQARMTD internal
   7395 TCP OMVS                ; RSEAPI HTTP
   7396 TCP OMVS                ; RSEAPI Shutdown
   4040 TCP DBGMGR              ; host requests
   7397 TCP DBGMGR              ; client requests
   7380 TCP OMVS                ; DBB
   32200 TCP BBN7ACRS             ; Daemon IP port
   32201 TCP BBN7ACRS NODELAYACKS ; Daemon SSL port
   32202 TCP BBNS001            ; SOAP JMX Connector port
   32203 TCP BBNS001            ; ORB port
   32204 TCP BBNS001 NODELAYACKS ; ORB SSL port
   32205 TCP BBNS001             ; Administrative console port
   32206 TCP BBNS001 NODELAYACKS ; Administrative console secure port
   32207 TCP BBNS001             ; HTTP transport port
   32208 TCP BBNS001 NODELAYACKS ; HTTPS transport port
   32209 TCP BBNS001             ; Administrative Local Port
   32210 TCP BBNS001             ; High availability manager comm port
   32211 TCP BBNS001             ; Service Integration port
   32212 TCP BBNS001 NODELAYACKS ; Service Integration secure port
   32213 TCP BBNS001S            ; Service Integration MQ interoper
   32214 TCP BBNS001S NODELAYACKS ; Service Integration MQ inter secure
   32215 TCP BBNS001            ; Session Initiation Protocol (SIP)
   32216 TCP BBNS001 NODELAYACKS ; Session Init Protocol (SIP) secure
; ADCD - Port 16310 Policy Agent
  16310 TCP PAGENT NOAUTOLOG    ; Policy Agent server listener port
;
SACONFIG DISABLED
include adcd.Z24B.tcpparms(zconnect)
include adcd.Z24B.tcpparms(zcxdvipa)
include adcd.Z24B.zcloud(inc)
; -------------------------------------------------------------
; Support zPDT Linux Base to z/OS Tunnel (STAND ALONE)
; Used to access TCPIP applications from the zPDT Linux Base
; workstation.
; -------------------------------------------------------------
 include adcd.Z24B.tcpparms(zpdtdev1)
; -------------------------------------------------------------
; zPDT External   to z/OS Connections (OPTIONAL)
; Support zPDT External   to z/OS Connections via zPDT workstation
; Edit zpdtdev2 and follow the instructions to change assigned
; IP address and default route statements
; -------------------------------------------------------------
; include adcd.Z24B.tcpparms(zpdtdev2)
; include adcd.Z24B.tcpparms(zpdtdev)
;
include adcd.Z24B.tcpparms(prof3)
;
ITRACE OFF
IPCONFIG NODATAGRAMFWD
UDPCONFIG RESTRICTLOWPORTS
TCPCONFIG RESTRICTLOWPORTS
TCPCONFIG TTLS
```

</div></details>

<details><summary><font color="blue">TCPIPプロファイル(includeファイル)</font></summary><div>

```xxx:ADCD.Z24B.TCPPARMS(ZCONNECT)
; *********************************************************************
; Operating System    : zOSV2R01 and above
; System              : Any
; TCPIP definition DSN: VENDOR.TCPPARMS
; ---------------------------------------------------------------------
;  TCPIP
;  File                          Description
; ---------------------------------------------------------------------
; ZCONNECT - z/OS Connect Enterprise Edition (EE) Version 2.0
;
;             Base HTTP/S ports used by server1 and testsrv1
; *********************************************************************
; 1. Copy this file to VENDOR.TCPPARMS
; 2. Add to TCP Profile after ports:  include vendor.tcpparms(zconnect)
; *********************************************************************
  PORTRANGE 9080 3    TCP ZOSCSRV*
  PORTRANGE 9080 3    UDP ZOSCSRV*
  PORTRANGE 9443 3    TCP ZOSCSRV*
  PORTRANGE 9443 3    UDP ZOSCSRV*
```

```xxx:ADCD.Z24B.TCPPARMS(ZCXDVIPA)
; *********************************************************************
; Network Config      : DVIPA
; z/OS Version        : 2.4
; Copy of             : TCPIP.SEZAINST(SAMPPROF)
; This File           : ZCXDVIPA
; TCPIP definition DSN: ADCD.Z24B.TCPPARMS
; -------------------------------------------------------------------
;
  IPCONFIG DATAGRAMFWD SYSPLEXROUTING
; IPCONFIG GLOBALCONFIG SYSPLEXMONITOR RECOVERY
  IPCONFIG DYNAMICXCF 10.1.10.1  255.255.255.0 2
;
  VIPADYNAMIC
; ------------------------------------------------------------------
;  Define VIPA Range ONLY for ZCX
; ------------------------------------------------------------------
   VIPARANGE DEFINE 255.255.255.255 10.1.1.5 ZCX
;
  ENDVIPADYNAMIC
```

```xxx:ADCD.Z24B.ZCLOUD(INC)
;; Created by zCloud Network Resource Manager
;; Allocated VIPARANGE & VIPADEFINE IP Addresses
;; Allocated PORTs
```

```xxx:ADCD.Z24B.TCPPARMS(ZPDTDEV1)
; *******************************************************************
; Network Config      : zPDT Linux Base to z/OS Tunnel (STAND ALONE)
; z/OS Version        : 2.4
; This File           : ZPDTDEV1
; TCPIP definition DSN: ADCD.xxxx.TCPPARMS
; -------------------------------------------------------------------
; Device to support zPDT Linux Base to z/OS Tunnel Connections
;
; 1. Using the default zPDT Linux Base to z/OS Tunnel IP Address
;    10.1.1.2
;
; 2. Used to access TCPIP applications from the zPDT Linux Base
;    workstation.
;
; 3. Update GBLRESOL to use ZPDTIPN1
;
; *******************************************************************
; -------------------------------------------------------------------
; Device to support zPDT Linux Base to z/OS Tunnel
; -------------------------------------------------------------------
;
  DEVICE PORTA MPCIPA
   LINK ETH1 IPAQENET PORTA
; -------------------------------------------------------------------
; Home   to support zPDT Linux Base to z/OS Tunnel
; -------------------------------------------------------------------
;
  HOME &HOMEIPADDRESS1 ETH1
; -------------------------------------------------------------------
; Routes to support zPDT Linux Base to z/OS Tunnel
; -------------------------------------------------------------------
;
  BEGINRoutes
  ; Destination        SubnetMask    FirstHop       LinkName    Size
;  ROUTE 10.0.0.0       255.0.0.0        =            ETH1   MTU 1500
  ; Destination                      First Hop      LinkName    Size
  ROUTE DEFAULT         &DEFAULTROUTEADDR    ETH1   MTU 1500
  ENDRoutes
; -------------------------------------------------------------------
; Start  to support zPDT Linux Base to z/OS Tunnel
; -------------------------------------------------------------------
;
  START PORTA
```

```xxx:ADCD.Z24B.TCPPARMS(PROF3)
IBMUSER:/u/ibmuser: >cat "//'ADCD.Z24B.TCPPARMS(PROF3)'"
TCPCONFIG EPHEMERALPORTS &EPHEMERALPORTS
```

</div></details>


<details><summary><font color="blue">TCPDATA</font></summary><div>

```xxx:ADCD.Z24B.TCPPARMS(TCPDATA)
;***********************************************************************
;                                                                      *
;   Name of Data Set:     TCPIP.DATA                                   *
;                                                                      *
;   COPYRIGHT = NONE.                                                  *
;                                                                      *
;   This data, TCPIP.DATA, is used to specify configuration            *
;   information required by TCP/IP client and server programs.         *
;                                                                      *
;                                                                      *
;   Syntax Rules for the TCPIP.DATA configuration data set:            *
;                                                                      *
;   (a) All characters to the right of and including a ; or # will     *
;       be treated as a comment.                                       *
;                                                                      *
;   (b) Blanks and <end-of-line> are used to delimit tokens.           *
;                                                                      *
;   (c) The format for each configuration statement is:                *
;                                                                      *
;       <SystemName||':'>  keyword  value                              *
;                                                                      *
;       where <SystemName||':'> is an optional label that can be       *
;       specified before a keyword; if present, then the keyword-      *
;       value pair will only be recognized if the SystemName matches   *
;       the name of the MVS system.                                    *
;       SystemName is derived from the MVS image name. Its value should*
;       be the IEASYSxx parmlib member's SYSNAME= parameter value.     *
;       The SystemName can be specified by either restartable VMCF     *
;       or the subsystem definition of VMCF in the IEFSSNxx member of  *
;       PARMLIB.                                                       *
;                                                                      *
;       For SMTP usage use the NJENODENAME statement in the SMTP       *
;       configuration data set to specify the JES nodename for mail    *
;       delivery on the NJE network.                                   *
;                                                                      *
;***********************************************************************
;
; TCPIPJOBNAME statement
; ======================
; TCPIPJOBNAME specifies the name of the started procedure that was
; used to start the TCPIP address space.    TCPIP is the default for
; most cases.  However, for applications which use LE services, the
; lack of a TCPIPJOBNAME statement causes applications that issue
; __iptcpn() to receive a jobname of NULL, and some of these
; application will use INET instead of TCPIP.  Although this presents
; no problem when running in a single-stack environment, this can
; potentially cause errors in a multi-stack environment.
;
; If multiple TCPIP stacks are run on a single system, each stack will
; require its own copy of this file, each with a different value for
; TCPIPJOBNAME.
;
TCPIPJOBNAME TCPIP
;
;
; HOSTNAME statement
; ==================
; HOSTNAME specifies the TCP host name of this system as it is known
; in the IP network.  If not specified, the default HOSTNAME will be
; the name specified by either restartable VMCF or the subsystem
; definition of VMCF in the IEFSSNxx member of PARMLIB.
; If the VMCF name is not available then the IEASYSxx parmlib member's
; SYSNAME= parameter value will be used.
;
; For example, if this TCPIP.DATA data set is shared between 2
; systems, OURMVSNAME and YOURMVSNAME, then the following 2 lines
; will define the HOSTNAME correctly on each system.
;
; OURMVSNAME:    HOSTNAME  OURTCPNAME
; YOURMVSNAME:   HOSTNAME  YOURTCPNAME
;
; No prefix is required if the TCPIP.DATA file is not being shared.
;
S0W1:   HOSTNAME   S0W1
;
;
; NOTE - Use either DOMAINORIGIN/DOMAIN or SEARCH to specify your domain
;         origin value
;
; DOMAINORIGIN or DOMAIN statement
; ================================
; DOMAINORIGIN or DOMAIN specifies the domain origin that will be
; appended to host names passed to the resolver.  If a host name
; ends with a dot, then the domain origin will not be appended to the
; host name.
;
DOMAINORIGIN  DAL-EBIS.IHOST.COM
;
;
; SEARCH statement
; ================
; SEARCH specifies a list of 1 to 6 domain origin values that will be
; appended to host names passed to the resolver.  If a host name
; ends with a dot, then none of the domain origin values will be
; appended to the host name.
;  The first domain origin value specified by SEARCH will be used as the
; DOMAINORIGIN/DOMAIN value.
;
; SEARCH YOUR.DOMAIN.NAME my.domain.name domain.name
;
;
; DATASETPREFIX statement
; =======================
; DATASETPREFIX is used to set the high level qualifier for dynamic
; allocation of data sets in TCP/IP.
;
; The character string specified as a parameter on
; DATASETPREFIX takes precedence over the default prefix of "TCPIP".
;
; The DATASETPREFIX parameter can be up to 26 characters long
; and the parameter must NOT end with a period.
;
; For more information please see "Dynamic Data Set Allocation" in
; the IP Configuration Guide.
;
DATASETPREFIX TCPIP
;
;
; MESSAGECASE statement
; =====================
; MESSAGECASE MIXED indicates to some servers, such as FTPD, that
; messages should be displayed in mixed case.  MESSAGECASE UPPER
; indicates that all messages should be displayed in uppercase.  Mixed
; case strings that are inserted in messages will not be uppercased.
;
; If MESSAGECASE is not specified, mixed case messages will be used.
;
; MESSAGECASE MIXED
; MESSAGECASE UPPER
;
;
; NSINTERADDR or NAMESERVER statement
; ===================================
; NSINTERADDR or NAMESERVER specifies the IP address of the name server.
; LOOPBACK (127.0.0.1) specifies your local name server.  If a name
; server will not be used, then do not code an NSINTERADDR statement
; or NAMESERVER statement.
;
; The NSINTERADDR or NAMESERVER statement can be repeated up to sixteen
; times to specify alternate name servers.  The name server listed first
; will be the first one attempted.
;
;NSINTERADDR  9.38.128.3
;
;
; NSPORTADDR statement
; ====================
; NSPORTADDR specifies the foreign port of the name server.
; 53 is the default value.
;
NSPORTADDR 53
;
;
; RESOLVEVIA statement
; ====================
;
; RESOLVEVIA specifies how the resolver is to communicate with the
; name server.  TCP indicates use of TCP connections.  UDP indicates
; use of UDP datagrams.  The default is UDP.
;
RESOLVEVIA UDP
;
;
; RESOLVERTIMEOUT statement
; =========================
; RESOLVERTIMEOUT specifies the time in seconds that the resolver
; will wait for a response from the name server (either UDP or TCP).
; The default is 30 seconds.
;
RESOLVERTIMEOUT 30
;
;
; RESOLVERUDPRETRIES statement
; ============================
;
; RESOLVERUDPRETRIES specifies the number of times the resolver
; should try to connect to the name server when using UDP datagrams.
; The default is 1.
;
RESOLVERUDPRETRIES 1
;
;
; LOOKUP statement
; ================
; LOOKUP indicates the order of name and address resolution.  DNS means
; use the DNSs listed on the NSINTERADDR and NAMESERVER statements.
; LOCAL means use the local host tables as appropriate for the
; environment being used (UNIX System Services or Native MVS).
;
; LOOKUP DNS LOCAL
;
;
; LOADDBCSTABLES statement
; ========================
; LOADDBCSTABLES indicates to the FTP server and FTP client which DBCS
; translation tables should be loaded at initialization time. Remove
; from the list any tables that are not required. If LOADDBCSTABLES is
; not specified, no DBCS tables will be loaded.
;
; LOADDBCSTABLES JIS78KJ JIS83KJ SJISKANJI EUCKANJI HANGEUL KSC5601
; LOADDBCSTABLES TCHINESE BIG5 SCHINESE
;
;
; SOCKDEBUG statement
; ===================
; Use the SOCKDEBUG statement to turn on the tracing of TCP/IP C and
; REXX socket library calls.
; This command is for debugging purposes only.
;
; SOCKDEBUG
;
;
; SOCKNOTESTSTOR statement
; ========================
; SOCKTESTSTOR is used to check socket calls for storage access errors
; on the parameters to the call.  SOCKNOTESTSTOR stops this checking
; and is better for response time.  SOCKNOTESTSTOR is the default.
;
; SOCKTESTSTOR
; SOCKNOTESTSTOR
;
;
; TRACE RESOLVER statement
; ========================
; TRACE RESOLVER will cause a complete trace of all queries to and
; responses from the name server or site tables to be written to
; the user's joblog.  This command is for debugging purposes only.
;
; TRACE RESOLVER
;
;
; OPTIONS statement
; =================
; Use the OPTIONS statement to specify the following:
;  DEBUG
;   Causes resolver debug messages to be issued. This is equivalent to
;    TRACE RESOLVER
;  NDOTS:n
;   Indicates the number of periods (.) that need to be contained in a
;    domain name for it to be considered a fully qualified domain name
;
; OPTIONS NDOTS:1 DEBUG
;
;
; SORTLIST statement
; ==================
; Use the SORTLIST statement to specify the ordered list (maximum of 4)
; of network numbers (subnets or networks) for the resolver to prefer
; if it receives multiple addresses as the result of a name query.
;
; SORTLIST 128.32.42.0/24 128.32.42.0/255.255.0.0 9.0.0.0
;
;
; TRACE SOCKET statement
; ======================
; TRACE SOCKET will cause a complete trace of all calls to TCP/IP
; through the C socket library.
; This statement is for debugging purposes only.
;
; TRACE SOCKET
;
;
; ALWAYSWTO statement
; ===================
; ALWAYSWTO causes messages for some servers, such as SMTP and LPD,
; to be issued as WTOs. Specifying YES can cause excessive operator
; console messages to be issued.
;
ALWAYSWTO NO
; ALWAYSWTO YES
;
; Obsolete statements
; ===================
; The following statements no longer have any effect when included in
; this file:
;   SOCKBULKMODE
;   SOCKDEBUGBULKPERF0
;
; End of file.
;
```

</div></details>

<details><summary><font color="blue">VTAM ATCSTRxx</font></summary><div>

```xxx:ADCD.Z24B.VTAMLST(ATCSTR00)
CONFIG=00,SUPP=NOSUP,                                                  X
SSCPID=06,NOPROMPT,                                                    X
HOSTSA=6,MAXSUBA=31,                                                   X
SSCPNAME=ADCDSSCP,HOSTPU=ADCD$PUC,                                     X
NETID=NETD,                                                            X
NODETYPE=NN,                                                           X
DYNLU=YES,                                                             X
CRPLBUF=(208,,15,,1,16),                                               X
IOBUF=(400,508,19,,1,20),                                              X
LFBUF=(104,,0,,1,1),                                                   X
LPBUF=(64,,0,,1,1),                                                    X
SFBUF=(163,,0,,1,1)                                                     
*/*                                                                     
*/* LIB: SYS1.VTAMLST(ATCSTR00)                                         
*/* GDE: CBIPO COMMUNICATIONS                                           
*/* DOC: THIS MEMBER CONTAINS THE ACF/VTAM DEFAULT                      
*/*      START OPTIONS ON THE MODEL INSTALLATION SYSTEM.                
*/*                                                                     
```

</div></details>


<details><summary><font color="blue">VTAM ATCCONxx</font></summary><div>

```xxx:ADCD.Z24B.VTAMLST(ATCCON00)
A0600,NSNA70X,DYNMODEL,COSAPPN,                                        *
A0TCP,OSATRL2,TCP,A01APPLS,                                            *
IMS15APL,IMS14APL,CICSAPPL,DBCGLU,DBBGLU                                
```

</div></details>


<details><summary><font color="blue">VTAM TRL Major Node</font></summary><div>

```xxx:ADCD.Z24B.VTAMLST(OSATRL2)
OSATRL1 VBUILD TYPE=TRL                                                 
OSATRL1E TRLE LNCTL=MPC,READ=(0400),WRITE=(0401),DATAPATH=(0402),      X
               PORTNAME=PORTA,                                         X
               MPCLEVEL=QDIO                                            
OSATRL2E TRLE LNCTL=MPC,READ=(0404),WRITE=(0405),DATAPATH=(0406),      X
               PORTNAME=PORTB,                                         X
               MPCLEVEL=QDIO                                            
```

</div></details>

<details><summary><font color="blue">TN3270 Profile</font></summary><div>

```xxx:ADCD.Z24B.TCPPARMS(TN3270)
TelnetGlobals
  INACTIVE 28800
  SMFINIT STD
  SMFTERM STD
  TIMEMARK 14400       ; NO IP ACTIVITY FOR 4 HOURS, SEND TIMEMARK.
  ScanInterval 3600    ; Check for IP activity every 1 hour
  MAXRECEIVE  65535
  MAXVTAMSENDQ 50
  TCPIPJOBNAME TCPIP
  ; latest level of VTAM
  TELNETDEVICE 3278-2-E NSX32702 ; 24 line screen -
  TELNETDEVICE 3279-2-E NSX32702 ; 24 line screen -
  TELNETDEVICE 3278-3-E NSX32703 ; 32 line screen -
  TELNETDEVICE 3279-3-E NSX32703 ; 32 line screen -
  TELNETDEVICE 3278-4-E NSX32704 ; 48 line screen -
  TELNETDEVICE 3279-4-E NSX32704 ; 48 line screen -
  TELNETDEVICE 3278-5-E NSX32705 ; 132 column screen-
  TELNETDEVICE 3279-5-E NSX32705 ; 132 column screen -
  LUSESSIONPEND

  ; Inactive 10800     ; No SNA terminal activity for 3 hours, drop.
  ; KeepInactive 10800 ; No SNA session on KeepOpen ACB for 3 hours,
  ;                    ; drop.
  ; PrtInactive 10800  ; No SNA printer activity for 3 hours, drop.
  ; MaxReceive  10000  ; Limit input record length lower than 65K
  ; MaxReqSess     50  ; Allow up to 50 new sessions in 10 seconds
  ; MaxRuChain   1000  ; Allow for Printer chains but limit max
  ; MaxVTAMSendQ  100  ; Allow 100 RPLs to queue to VTAM
  ; SMFINIT TYPE119    ; SMF type 119 record subtype 20
  ; SMFTERM TYPE119    ; SMF type 119 record subtype 21
  ; Format Long        ; Ensure display format is always long
  ;                    ; Must be set at startup and can not be changed.
  ; TNSAConfig         ; Start up TN SNMP subagent
  ;    Enabled         ; Subagent must be enabled
  ;    Agent 161       ; Specify agent port to contact
  ;    Cachetime 30    ; Rebuild MIB info if older than 30 seconds
  ; CRLLDAPServer      ; Define CRL LDAP server for secureport
  ;   CRLLDAP.RALEIGH.IBM.COM 389
  ; ENDCRLLDAPSERVER
EndTelnetGlobals
 include adcd.z24b.tcpparms(port0023)  ; General Applications
 include adcd.z24b.tcpparms(port2023)  ; TLS Support AT-TLS
```


</div></details>

<details><summary><font color="blue">TN3270 Profile(includeファイル)</font></summary><div>

```xxx:ADCD.Z24B.TCPPARMS(PORT0023)
; ---------------------------------------------------------------------
; Required Port Configuration affects the specified port
; ---------------------------------------------------------------------

TelnetParms            ; Standard TN3270E Telnet server port
  Port 23
;   WLMClusterName     ; Define WLM name for this port
;     TN3270E          ; Must have TCPIPJOBNAME coded to use WLM
;   EndWLMClusterName
EndTelnetParms

 ;---------------------------------------------------------------------
 ; Required Mapping definitions
 ;---------------------------------------------------------------------

BeginVTAM              ; Mapping for basic and TTLS ports.
  Port 23  ;
  DEFAULTLUS           ; Define LUs to be used for general users.
    TCP00001..TCP00030
  ENDDEFAULTLUS
; DEFAULTAPPL TSO      ; Default application for all TN3270(E) clients
  LINEMODEAPPL TSO     ; Send all line-mode terminals directly to TSO.
  ALLOWAPPL TSO* DISCONNECTABLE
                       ; Allow all users access to TSO applications.
                       ; TSO uses unique applications for each session
                       ; which all begin with TSO.  Use TSO* to cover
                       ; all TSO sessions.
                       ; If a session is closed, disconnect the user
                       ; rather than log off the user.
  ALLOWAPPL *          ; Allow access to all applications.
  USSTCP USSN          ; Send out the default TN USS table

  LuMap LugDBCS DestIP,9.10.11.12 ; This DestIP uses LugDBCS

; BeginVTAM            ; Mapping statements for SecurePorts
;   Port 2023 992
;   DEFAULTLUS         ; Define LUs to be used for general users.
;     S000AA00..S111ZZFB..FNNNAAXB
;   ENDDEFAULTLUS
;   DefaultLUsSpec     ; Define LUs for clients that specify LU name.
;     SP500..SP999
;   EndDefaultLUsSpec
;   DEFAULTAPPL TSO  SNA1 ; Default application for all TN3270(E)
;                      ; clients connecting to SNA1 link.
;   LINEMODEAPPL TSO   ; Send all line-mode terminals directly to TSO.
;
;   ALLOWAPPL TSO* DISCONNECTABLE ; Allow all users access to TSO
;   ALLOWAPPL *        ; Allow access to all other applications.
;
 ; --------------------------------------------------------------------
 ; SuperSession Logon Manager may do CLSDST Pass to next appl
 ; Wait 5 seconds for the session manager bind.
 ; --------------------------------------------------------------------
;   ALLOWAPPL SuprSess QSESSION,5
;
 ; --------------------------------------------------------------------
 ; Restrict access to the IMS application.
 ; --------------------------------------------------------------------
;   LuGroup IMSUser2
;     IM000..IM499
;   EndLuGroup
;   RESTRICTAPPL IMS CertAuth AllowPrinter
;                      ; If the userid was derived from a certificate
;                      ; do not request a userid/password.
;                      ; Printers can not supply a userid/password
;                      ; so allow printers that request this appl.
;                      ; Only 3 users can use IMS.
;     USER USER1       ; Allow user1 access.
;       LU S111MSAQ    ; Assign USER1 LU TCPIMS01.
;     USER USER2*      ; Wildcard user2* accesses the defined LU pool.
;       LUG IMSUser2   ; Allow 500 LUs
;     USER USER3       ; Allow user3 access from 3 Telnet sessions,
;                      ; each with a different reserved LU.
;       LU S123AB3R LU S456CD9D LU S789EFC3
;
;   USSTCP EZBTPUST 9.10.11.24 ; Map USS table to ip address.
;   USSTCP EZBTPUST SNA1       ; Map USS table to linkname SNA1.
;   INTERPTCP EZBTPINT SNA1  ; Interpret table will be used with SNA1.
 ; --------------------------------------------------------------------
 ; The first USS table is a 3270 format table for TN3270 mode clients
 ; that can not accept SCS format data.
 ; The second table is an SCS format used by TN3270E mode clients.
 ; --------------------------------------------------------------------
;   USSTCP EZBTPUST,EZBTPSCS ; All other connections
;
 ; --------------------------------------------------------------------
 ; Optional ParmsGroup configuration statements affect mapped client
 ; identifiers.  The list below is not a complete list.
 ; Create new ParmsGroups as needed with selected statements and map
 ; to the appropriate client identifier.
 ; --------------------------------------------------------------------
;   ParmsGroup PGSample
;     BinaryLinemode   ; Do not translate linemode ascii.
;     ConnType Basic   ; Allow Basic (nonsecure) connections.
;     Debug Detail     ; Get detailed debug information.
;     ExpressLogon     ; Support the Express Logon function.
;     FullDataTrace    ; Trace all data.
;     KeepLU 120       ; Keep the LU associated with the client ID for
;                      ; 2 minutes.
;     OldSolicitor     ; Put the cursor on the userid request line.
;     NoRefreshMsg10   ; Do not refresh the MSG10 screen.  Leave blank.
;     NoSequentialLU   ; Get the first available LU in the group.
;     SimClientLU      ; Postpone LU assignment until Appl is chosen.
;     SingleAttn       ; Reduce double ATTN to a single ATTN to VTAM.
;     SNAExt           ; Support SNA extensions if client capable.
;     TKOGenLU 5       ; Allow Generic takeover of the connection
;                      ; after waiting 5 seconds.
;     TKOSpecLURecon 5 ; Allow Specific takeover of the connection and
;                      ; session after waiting 5 seconds.
;     NoTN3270E        ; Negotiate down from TN3270E to TN3270 mode.
;     UnlockKeyboard   ; Specify when to send unlock keyboard to client
;         AfterRead    ;  - After forwarding a Read command.
;         NoTN3270Bind ;  - Do not send clear screen or unlock keyboard
;                      ;    when the appl bind is received.
;   EndParmsGroup
;
 ; --------------------------------------------------------------------
 ; Set up Debug for a single client
 ; --------------------------------------------------------------------
;   ParmsGroup PGDebug
;     Debug Detail Console
;     FullDataTrace
;   EndParmsGroup
;   ParmsMap PGDebug 9.10.11.45 ; Get Debug info for this client.
;
 ; --------------------------------------------------------------------
 ; DefaultPrt will be used if the printer client does not specify an
 ; LU name.
 ; DefaultPrtSpec will be used when a printer does specify the LU name
 ; to be used.
 ; In either case the printer will immediately establish a session
 ; with IMS02.
 ; --------------------------------------------------------------------
;   DefaultPrt         ; Printer does not specify an LU name.
;     P500..P999
;   EndDefaultPrt
;   DEFAULTPRTSPEC     ; Printer specifies the LU name.
;     P001..P099
;   ENDDEFAULTPRTSPEC
;   PrtDefaultAppl  IMS02 ; Establish a session with IMS02.
;
 ; --------------------------------------------------------------------
 ; Define a printer LU group for printers connecting to IP address
 ; 9.10.11.65 and 9.10.11.66 and 9.10.11.67 and immediately establish
 ; a session with CICS02.
 ; --------------------------------------------------------------------
;   DestIPGroup  DIP6X
;     9.10.11.65..9.10.11.67
;   EndDestIPGroup
;   PrtGroup PrtGrp65
;     PRT6501..PRT6599
;   EndPrtGroup
;   PrtMap PrtGrp65 DIP6X DefAppl CICS02
;
 ; --------------------------------------------------------------------
 ; Associated Printer setup
 ; - The user must specify the LU name or LU group to use this LuMap
 ;   statement.
 ; - The printer group is associated with the terminal group.
 ; - The terminal logon will default to CICS01.
 ; - The printer logon will default to CICS01.  The PrtDefaultAppl
 ;   statement is necessary.  The LuMap-DefAppl applies only to the
 ;   terminal.
 ; - Both connections will be affected by the statements coded in
 ;   ParmsGroup PGDrop.
 ; --------------------------------------------------------------------
;   IPGroup  IPASCPRT
;     9.11.12.0:255.255.255.0
;   EndIPGroup
;   LuGroup  LUGRP1
;     TCPM0001..TCPM0999
;     TCPM1001
;   ENDLuGroup
;   PrtGroup PrtGRP1
;     PCPM0001..PCPM0999
;     PCPM1001
;   ENDPrtGroup
;   ParmsGroup PGDrop
;     DropAssocPrinter ; Drop printer when terminal dropped.
;   EndParmsGroup
;   LuMap LUGRP1 IPASCPRT Specific DefAppl CICS01 PMAP PGDrop PrtGRP1
;   PrtDefaultAppl CICS01 IPASCPRT
;
 ; --------------------------------------------------------------------
 ; Set up Performance monitoring based on the client hostname.
 ; --------------------------------------------------------------------
;   HNGroup HNGrpIBM
;     **.RALEIGH.IBM.COM
;   EndHNGroup
;
;   MonitorGroup MonGrp1
;     Average          ; Collect data for averages
;       Buckets        ; Collect transaction counts by time
;       Boundary1  25  ; Bucket times are smaller than defaults
;       Boundary2  50
;       Boundary3 100
;       Boundary4 250
;     EndMonitorGroup
;   MonitorMap MonGrp1 HNGrpIBM
;
  EndVTAM
```

```xxx:ADCD.Z24B.TCPPARMS(PORT2023)
; ******************************************************************** *
; TN3270 z/OS V1R23  Server Include File for AT-TLS Support            *
;                                                                      *
; Using PORT 2023                                                      *
; -------------------------------------------------------------------- *
; 1.                                                                   *
; 2. RACF ring needs to be added.                                      *
; 3. RACF CA Certificate needs to be defined.                          *
; 4. RACF Server Self-Signed Certificate needs to be defined and signed*
;    with the pre-defined CA Cerfificate.                              *
; 5. To use file ADD the following to the BASE TN3270 STARTUP file.    *
;        include vendor.tcpparms(port2023)                             *
;***********************************************************************
 TelnetParms         ; ATTLS defined secure port
  TTLSPort 2023      ;
  ConnType Any       ; Client chooses secure or nonsecure connection.
; NACUserid  User1   ; Set up Network Access based on User1
 EndTelnetParms

; ------------------------------------------------------------------
; Define the VTAM parameters required for the Telnet server.
; ------------------------------------------------------------------
 BeginVTAM
  Port 2023
  DEFAULTLUS
    TLS00001..TLS00030
  ENDDEFAULTLUS
  DEFAULTAPPL TSO   ; Set the default application for all TN3270(E)
  ALLOWAPPL TSO* DISCONNECTABLE ; Allow all users access to TSO
              ; applications.
              ; TSO is multiple applications all beginning with TSO,
              ; so use the * to get them all.  If a session is closed,
              ; disconnect the user rather than log off the user.
  ALLOWAPPL *      ; Allow all applications that have not been
                   ; previously specified to be accessed.
; --------------------------------------------------------------------
; SuperSession Logon Manager may do CLSDST Pass to next appl
; Wait 5 seconds for the session manager bind.
; --------------------------------------------------------------------
; ALLOWAPPL SuprSess QSESSION,5
;
; --------------------------------------------------------------------
; Restrict access to the IMS application.
; --------------------------------------------------------------------
; LuGroup IMSUser2
;  IM000..IM499
; EndLuGroup
; RESTRICTAPPL IMS CertAuth AllowPrinter
;                      ; If the userid was derived from a certificate
;                      ; do not request a userid/password.
;                      ; Printers can not supply a userid/password
;                      ; so allow printers that request this appl.
;                      ; Only 3 users can use IMS.
;   USER USER1         ; Allow user1 access.
;     LU S111MSAQ      ; Assign USER1 LU TCPIMS01.
;   USER USER2*        ; Wildcard user2* accesses the defined LU pool.
;     LUG IMSUser2     ; Allow 500 LUs
;   USER USER3         ; Allow user3 access from 3 Telnet sessions,
;                      ; each with a different reserved LU.
;     LU S123AB3R LU S456CD9D LU S789EFC3
;
;   USSTCP EZBTPUST 9.10.11.24 ; Map USS table to ip address.
;   USSTCP EZBTPUST SNA1       ; Map USS table to linkname SNA1.
;   INTERPTCP EZBTPINT SNA1  ; Interpret table will be used with SNA1.

  USSTCP USSN
; USSTCP SSLTAB2  OSDL
; --------------------------------------------------------------------
; Optional ParmsGroup configuration statements affect mapped client
; identifiers.  The list below is not a complete list.
; Create new ParmsGroups as needed with selected statements and map
; to the appropriate client identifier.
; --------------------------------------------------------------------
; ParmsGroup PGSample
;  BinaryLinemode   ; Do not translate linemode ascii.
;  ConnType Basic   ; Allow Basic (nonsecure) connections.
;  Debug Detail     ; Get detailed debug information.
;  ExpressLogon     ; Support the Express Logon function.
;  FullDataTrace    ; Trace all data.
;  KeepLU 120       ; Keep the LU associated with the client ID for
;                   ; 2 minutes.
;  OldSolicitor     ; Put the cursor on the userid request line.
;  NoRefreshMsg10   ; Do not refresh the MSG10 screen.  Leave blank.
;  NoSequentialLU   ; Get the first available LU in the group.
;  SimClientLU      ; Postpone LU assignment until Appl is chosen.
;  SingleAttn       ; Reduce double ATTN to a single ATTN to VTAM.
;  SNAExt           ; Support SNA extensions if client capable.
;  TKOGenLU 5       ; Allow Generic takeover of the connection
;                   ; after waiting 5 seconds.
;  TKOSpecLURecon 5 ; Allow Specific takeover of the connection and
;                   ; session after waiting 5 seconds.
;  NoTN3270E        ; Negotiate down from TN3270E to TN3270 mode.
;  UnlockKeyboard   ; Specify when to send unlock keyboard to client
;      AfterRead    ;  - After forwarding a Read command.
;      NoTN3270Bind ;  - Do not send clear screen or unlock keyboard
;                   ;    when the appl bind is received.
; EndParmsGroup
;
; --------------------------------------------------------------------
; Set up Debug for a single client
; --------------------------------------------------------------------
; ParmsGroup PGDebug
;  Debug Detail Console
;  FullDataTrace
; EndParmsGroup
; ParmsMap PGDebug 9.10.11.45 ; Get Debug info for this client.
;
 EndVTAM
;
```

</div></details>


### Netview関連

<details><summary><font color="blue">Netviewで最初に実行されるREXX</font></summary><div>

```xxx:NETVIEW.CNM01.CNMCLST(NTVINIT)
/* REXX */                                                                   
/* LICENSED MATERIAL - PROPERTY OF IBM                                     */
/*  C) COPYRIGHT IBM CORP. 2019,2020 - ALL RIGHTS RESERVED.                */
/*  US GOVERNMENT USERS RESTRICTED RIGHTS - USE, DUPLICATION OR DISCLOSURE */
/*  RESTRICTED BY GSA ADP SCHEDULE CONTRACT WITH IBM CORP.                 */
                                                                             
                                                                             
/* BELOW WILL PREVENT DB2 ETC FROM STARTING */                               
/*GLBVARS = "$GL"||DOMAIN() */                                               
                                                                             
  GLBVARS = "GLB"||DOMAIN()                                                  
                                                                             
  'WTO NETVIEW IS SETTING GLOBAL VARIABLES AND COMMENCING'                   
  'WTO POST IPL SUBSYSTEM STARTUPS.'                                         
  INTERPRET CALL GLBVARS IPL                                                 
  'MVS MN JOBNAMES,T'                                                        
  SYS_TYPE = MVSVAR("SYMDEF","NTVTYPE")                                      
  CALL STARTUPS                                                              
  CALL DSPSTAT                                                               
  CALL STARTSYS                                                              
  CALL $TIMERS                                                               
                                                                             
EXIT                                                                         
```

</div></details>

<details><summary><font color="blue">Netview管理のサブシステムの初期状態</font></summary><div>

```xxx:
/* REXX */                                                                    
/* LICENSED MATERIAL - PROPERTY OF IBM                                     */ 
/*  C) COPYRIGHT IBM CORP. 2019,2020 - ALL RIGHTS RESERVED.                */ 
/*  US GOVERNMENT USERS RESTRICTED RIGHTS - USE, DUPLICATION OR DISCLOSURE */ 
/*  RESTRICTED BY GSA ADP SCHEDULE CONTRACT WITH IBM CORP.                 */ 
                                                                              
TASK.1 = "BLZBFA "||MVSVAR('SYMDEF','BLZBFA')                                 
TASK.2 = "BLZISPFD "||MVSVAR('SYMDEF','BLZISPFD')                             
TASK.3 = "BUZAGNT "||MVSVAR('SYMDEF','BUZAGNT')                               
TASK.4 = "CICSTS55 "||MVSVAR('SYMDEF','CICSTS55')                             
TASK.5 = "CICSTS54 "||MVSVAR('SYMDEF','CICSTS54')                             
TASK.6 = "CSQ9CHIN "||MVSVAR('SYMDEF','CSQ9CHIN')                             
TASK.7 = "CSQ9MSTR "||MVSVAR('SYMDEF','CSQ9MSTR')                             
TASK.8 = "DBBGMSTR "||MVSVAR('SYMDEF','DBBGMSTR')                             
TASK.9 = "DBCGMSTR "||MVSVAR('SYMDEF','DBCGMSTR')                             
TASK.10 = "HTTPD1 "||MVSVAR('SYMDEF','HTTPD1')                                
TASK.11 = "IMS14CR1 "||MVSVAR('SYMDEF','IMS14CR1')                            
TASK.12 = "IMS14RL1 "||MVSVAR('SYMDEF','IMS14RL1')                            
TASK.13 = "IMS15CR1 "||MVSVAR('SYMDEF','IMS15CR1')                            
TASK.14 = "IMS15RL1 "||MVSVAR('SYMDEF','IMS15RL1')                            
TASK.15 = "IZUANG1 "||MVSVAR('SYMDEF','IZUANG1')                              
TASK.16 = "IZUSVR1 "||MVSVAR('SYMDEF','IZUSVR1')                              
TASK.17 = "JMON "||MVSVAR('SYMDEF','JMON')                                    
TASK.18 = "NFSS "||MVSVAR('SYMDEF','NFSS')                                    
TASK.19 = "RSED "||MVSVAR('SYMDEF','RSED')                                    
TASK.20 = "DBB "||MVSVAR('SYMDEF','DBB')                                      
TASK.21 = "ZOSCSRV "||MVSVAR('SYMDEF','ZOSCSRV')                              
TASK.22 = "RSEAPI "||MVSVAR('SYMDEF','RSEAPI')                                
TASK.23 = "DBGMGR "||MVSVAR('SYMDEF','DBGMGR')                                
TASK.24 = "EQAPROF "||MVSVAR('SYMDEF','EQAPROF')                              
TASK.25 = "EQARMTD "||MVSVAR('SYMDEF','EQARMTD')                              
TASK.0 = 25                                                                   
                                                                              
DO LP = 1 TO TASK.0       
                                                           
  PARSE VAR TASK.LP TASKNAME TASKSTAT JUNK                 
  IF TASKSTAT = "NOS" THEN TASKSTAT = "NOSTART"            
  CALL SETSTAT TASKNAME TASKSTAT                           
                                                           
END                                                        
                                                           
EXIT 
```

```xxx:FEU.Z24B.PARMLIB(IEASYMNZ)抜粋
...
        SYMDEF(&DBGMGR='IPL')     
        SYMDEF(&EQAPROF='IPL')    
        SYMDEF(&EQARMTD='IPL')    
        SYMDEF(&BLZBFA='IPL')     
        SYMDEF(&BLZISPFD='IPL')   
        SYMDEF(&BUZAGNT='IPL')    
        SYMDEF(&CICSTS55='IPL')   
        SYMDEF(&CICSTS54='NOS')   
        SYMDEF(&CSQ9CHIN='NOS')   
        SYMDEF(&CSQ9MSTR='NOS')   
        SYMDEF(&DBBGMSTR='NOS')   
        SYMDEF(&DBCGMSTR='IPL')   
        SYMDEF(&HTTPD1='NOS')     
        SYMDEF(&IMS14CR1='NOS')   
        SYMDEF(&IMS14RL1='NOS')   
        SYMDEF(&IMS15CR1='IPL')   
        SYMDEF(&IMS15RL1='IPL')   
        SYMDEF(&IZUANG1='IPL')    
        SYMDEF(&IZUSVR1='IPL')    
        SYMDEF(&JMON='IPL')       
        SYMDEF(&NFSS='NOS')       
        SYMDEF(&RSED='IPL')       
        SYMDEF(&RSEAPI='IPL')     
        SYMDEF(&DBB='IPL')        
        SYMDEF(&DBBS='IPL')       
        SYMDEF(&ZOSCSRV='IPL')    
```

※"IPL"と指定されるサブシステムがIPL時に起動される。

</div></details>

<details><summary><font color="blue">Netviewから起動されるサブシステムの起動コマンド</font></summary><div>

```xxx:NETVIEW.CNM01.CNMCLST(GLBCNM01)
/* REXX */
/* LICENSED MATERIAL - PROPERTY OF IBM                                     */
/*  C) COPYRIGHT IBM CORP. 2019,2020 - ALL RIGHTS RESERVED.                */
/*  US GOVERNMENT USERS RESTRICTED RIGHTS - USE, DUPLICATION OR DISCLOSURE */
/*  RESTRICTED BY GSA ADP SCHEDULE CONTRACT WITH IBM CORP.                 */

/* THIS EXEC WILL SET ALL THE INTERNAL */
/* GLOBAL VARIABLES USED TO CONTROL    */
/* SYSTEM STARTUP/SHUTDOWN/DISPLAY     */
/*                                     */
/* THIS EXEC IS GENERATED ..           */
/* DO NOT ALTER IT MANUALLY            */

ARG STATUS
SYSSTR = 'SY'||SUBSTR(DOMAIN(),LENGTH(DOMAIN()),1)
SYSCHR = SUBSTR(DOMAIN(),LENGTH(DOMAIN()),1)

X = 0
/*** ASCH START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "ASCH"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'ASCH'
ASCH = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S ASCH,SUB=MSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "APPC SCHEDULER"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C ASCH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "MVS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "2"'
'GLOBALV PUTC 'VARNAME

/*** ASCH END ***/



/*** BLZBFA START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "BLZBFA"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'BLZBFA'
BLZBFA = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S BLZBFA"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "RTC BUILD ABENT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C BLZBFA"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TN3270"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** BLZBFA END ***/



/*** DBB START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "DBB"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'DBB'
DBB = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S DBB"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "DBB Personal Build Manager"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C DBB"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** DBB END ***/


/*** DBBS START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "DBBS"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'DBBS'
DBBS = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S DBBS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "DBBS Build Manager"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C DBBS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** DBBS END ***/


/*** DBGMGR START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "DBGMGR"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'DBGMGR'
DBGMGR = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S DBGMGR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "DEBUG MGR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P DBGMGR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** DBGMGR END ***/


/*** EQAPROF START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "EQAPROF"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'EQAPROF'
EQAPROF = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S EQAPROF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "DEBUG PROFILE API"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P EQAPROF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "DBGMGR,RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** EQAPROF END ***/


/*** EQARMTD START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "EQARMTD"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'EQARMTD'
EQARMTD = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S EQARMTD"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Remote Debug Service"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C EQARMTD"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "DBGMGR,RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** EQARMTD END ***/



/*** BLZISPFD START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "BLZISPFD"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'BLZISPFD'
BLZISPFD = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "RTC ISPF DAEMON"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S BLZISPFD"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS S BLZISPFS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "BLZBFA"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** BLZISPFD END ***/



/*** BUZAGNT START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "BUZAGNT"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'BUZAGNT'
BUZAGNT = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "URBAN CODE AGENT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S BUZAGNT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C BUZAGNT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "BLZISPFD"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** BUZAGNT END ***/



/*** CFZCIM START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "CFZCIM"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'CFZCIM'
CFZCIM = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS CIM SERVER"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S CFZCIM"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P CFZCIM"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** CFZCIM END ***/



/*** CICSTS55 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "CICSTS55"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'CICSTS55'
CICSTS55 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "CICS VERSION 5.5"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S CICSTS55"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS F CICSTS55,CEMT P SHUT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** CICSTS55 END ***/



/*** CICSTS54 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "CICSTS54"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'CICSTS54'
CICSTS54 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "CICS VERSION 5.4"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S CICSTS54"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS F CICSTS54,CEMT P SHUT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** CICSTS54 END ***/



/*** CSF START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "CSF"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'CSF'
CSF = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "CRYPTOGRAPHIC SERVICES"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S CSF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P CSF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "JES2"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "4"'
'GLOBALV PUTC 'VARNAME

/*** CSF END ***/



/*** CSQ9CHIN START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "CSQ9CHIN"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'CSQ9CHIN'
CSQ9CHIN = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "MQSERIES CHANNEL INITIATOR"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS %CSQ9 START CHINIT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS %CSQ9 STOP CHINIT"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "CSQ9MSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** CSQ9CHIN END ***/



/*** CSQ9MSTR START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "CSQ9MSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'CSQ9MSTR'
CSQ9MSTR = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "MQSERIES MASTER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS %CSQ9 START QMGR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS %CSQ9 STOP QMGR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** CSQ9MSTR END ***/



/*** DBBGMSTR START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "DBBGMSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'DBBGMSTR'
DBBGMSTR = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "DB2 VERSION 11"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS -DBBG START DB2"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS -DBBG STOP DB2"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** DBBGMSTR END ***/



/*** DBCGMSTR START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "DBCGMSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'DBCGMSTR'
DBCGMSTR = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "DB2 VERSION 12"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS -DBCG START DB2"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS -DBCG STOP DB2"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** DBCGMSTR END ***/



/*** DLF START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "DLF"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'DLF'
DLF = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS DATA LOOKASIDE FACILITY"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S DLF,SUB=MSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P DLF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "MVS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "1"'
'GLOBALV PUTC 'VARNAME

/*** DLF END ***/



/*** HTTPD1 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "HTTPD1"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'HTTPD1'
HTTPD1 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS HTTP SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S HTTPD1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS S HTTPD1,ACTION=''stop''"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "4"'
'GLOBALV PUTC 'VARNAME

/*** HTTPD1 END ***/



/*** HZSPROC START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "HZSPROC"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'HZSPROC'
HZSPROC = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS HEALTH CHECKER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S HZSPROC"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P HZSPROC"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** HZSPROC END ***/



/*** IMS14CR1 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "IMS14CR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'IMS14CR1'
IMS14CR1 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "IMS VERSION 14"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S IMS14CR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "IMSSTOP IMS14CR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "IMS14RL1,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** IMS14CR1 END ***/



/*** IMS14RL1 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "IMS14RL1"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'IMS14RL1'
IMS14RL1 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "IMS VERSION 14 IRLM"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S IMS14RL1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P IMS14RL1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** IMS14RL1 END ***/



/*** IMS15CR1 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "IMS15CR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'IMS15CR1'
IMS15CR1 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "IMS VERSION 15"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S IMS15CR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "IMSSTOP IMS15CR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "IMS15RL1,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** IMS15CR1 END ***/



/*** IMS15RL1 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "IMS15RL1"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'IMS15RL1'
IMS15RL1 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "IMS VERSION 15 IRLM"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S IMS15RL1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P IMS15RL1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** IMS15RL1 END ***/



/*** IZUANG1 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "IZUANG1"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'IZUANG1'
IZUANG1 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OSMF ANGEL SERVICE"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S IZUANG1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P IZUANG1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** IZUANG1 END ***/



/*** IZUSVR1 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "IZUSVR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'IZUSVR1'
IZUSVR1 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OSMF SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S IZUSVR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P IZUSVR1"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "IZUANG1,RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** IZUSVR1 END ***/



/*** JES2 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "JES2"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'JES2'
JES2 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S JES2,SUB=MSTR,PARM=&JES2STR_"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS JOB ENTRY SUBSYSTEM"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "@STOPJES"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "MVS,LLA,VLF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "1"'
'GLOBALV PUTC 'VARNAME

/*** JES2 END ***/



/*** JMON START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "JMON"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'JMON'
JMON = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS EXPLOROR JES MONITOR"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S JMON"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P JMON"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** JMON END ***/



/*** LLA START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "LLA"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'LLA'
LLA = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS LIBRARY LOOKASIDE"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S LLA,SUB=MSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P LLA"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "VLF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "1"'
'GLOBALV PUTC 'VARNAME

/*** LLA END ***/



/*** MVS START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "MVS"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'MVS'
MVS = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = '
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "MVS DUMMY TASK"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "SHUTSYS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "NULL"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "UP"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "0"'
'GLOBALV PUTC 'VARNAME

/*** MVS END ***/



/*** NFSS START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "NFSS"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'NFSS'
NFSS = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S NFSS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS NFS SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P NFSS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "NOSTART"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "4"'
'GLOBALV PUTC 'VARNAME

/*** NFSS END ***/



/*** SSHD START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "SSHD"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'SSHD'
SSHD = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S SSHD"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "TCP/IP SSH SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C SSHD3"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "4"'
'GLOBALV PUTC 'VARNAME

/*** SSHD END ***/



/*** RESTCASH START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'RESTCASH'
RESTCASH = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S RESTCASH,SFW=ALL"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Java Cache Restore"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "4"'
'GLOBALV PUTC 'VARNAME

/*** RESTCASH END ***/



/*** OMVS START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "OMVS"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'OMVS'
OMVS = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = '
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS OPEN MVS SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "F OMVS,SHUTDOWN"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "JES2"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = "DOWN"'
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "2"'
'GLOBALV PUTC 'VARNAME

/*** OMVS END ***/



/*** RRS START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'RRS'
RRS = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS RECOVERY SERVICES"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S RRS,SUB=MSTR,GNAME=&SYSNAME"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS SETRRS SHUTDOWN"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "MVS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "2"'
'GLOBALV PUTC 'VARNAME

/*** RRS END ***/



/*** RSED START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "RSED"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'RSED'
RSED = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS EXPLORER SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S RSED"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P RSED"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP,RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** RSED END ***/


/*** RSEAPI START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "RSEAPI"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'RSEAPI'
RSEAPI = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS EXPLORER SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S RSEAPI"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS C RSEAPI"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "RSED"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** RSEAPI END ***/



/*** SDSF START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "SDSF"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'SDSF'
SDSF = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS SYSTEM DISPLAY/SEARCH"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S SDSF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P SDSF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "JES2"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** SDSF END ***/



/*** TCPIP START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'TCPIP'
TCPIP = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS TCPIP SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "VTAM"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "3"'
'GLOBALV PUTC 'VARNAME

/*** TCPIP END ***/



/*** TN3270 START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "TN3270"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'TN3270'
TN3270 = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "TELNET 3270 SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S TN3270"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P TN3270"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "4"'
'GLOBALV PUTC 'VARNAME

/*** TN3270 END ***/



/*** TSO START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "TSO"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'TSO'
TSO = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "TIME SHARING OPTION"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S TSO"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P TSO"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TN3270"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "5"'
'GLOBALV PUTC 'VARNAME

/*** TSO END ***/



/*** VLF START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "VLF"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'VLF'
VLF = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS VIRUTAL LOOKASIDE"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S VLF,SUB=MSTR"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P VLF"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "MVS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "1"'
'GLOBALV PUTC 'VARNAME

/*** VLF END ***/



/*** VTAM START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "VTAM"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'VTAM'
VTAM = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "VIRTUAL TELCOM ACCESS METHOD"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S VTAM"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS Z NET,QUICK"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "JES2,RRS"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = 'STATUS
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "2"'
'GLOBALV PUTC 'VARNAME

/*** VTAM END ***/



/*** ZOSCSRV START ***/

X = X + 1

VARNAME = SYSSTR||TASK.X
INTERPRET SYSSTR||TASK.X ' = "ZOSCSRV"'
'GLOBALV PUTC 'VARNAME

VARNAME = 'ZOSCSRV'
ZOSCSRV = X
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DESC.X
INTERPRET SYSSTR||DESC.X ' = "Z/OS CONNECT SERVER"'
'GLOBALV PUTC 'VARNAME X

VARNAME = SYSSTR||STRT.X
INTERPRET SYSSTR||STRT.X ' = "MVS S ZOSCSRV"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STOP.X
INTERPRET SYSSTR||STOP.X ' = "MVS P ZOSCSRV"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||PARN.X
INTERPRET SYSSTR||PARN.X ' = "TCPIP,RESTCASH"'
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||STAT.X
INTERPRET SYSSTR||STAT.X ' = '
IF STATUS <> '' THEN
'GLOBALV PUTC 'VARNAME

VARNAME = SYSSTR||DWNL.X
INTERPRET SYSSTR||DWNL.X ' = "6"'
'GLOBALV PUTC 'VARNAME

/*** ZOSCSRV END ***/



/***** TOTAL TASK COUNTER *****/
VARNAME = SYSSTR||'TASKS'
INTERPRET VARNAME '= X'
'GLOBALV PUTC 'VARNAME
```

</div></details>

<details><summary><font color="blue">Netview管理サブシステムのステータス</font></summary><div>

```
F CNMPROC,GETSTAT                                                    
                                                                     
TASKNAME   DESCRIPTION                               CURRENT STATUS  
-------------------------------------------------------------------  
    ASCH   APPC SCHEDULER                        STATUS   = NOSTART  
  BLZBFA   RTC BUILD ABENT                       STATUS   = COMPLETE 
     DBB   DBB Personal Build Manager            STATUS   = UP       
    DBBS   DBBS Build Manager                    STATUS   = UP       
  DBGMGR   DEBUG MGR                             STATUS   = UP       
 EQAPROF   DEBUG PROFILE API                     STATUS   = UP       
 EQARMTD   Remote Debug Service                  STATUS   = UP       
BLZISPFD   RTC ISPF DAEMON                       STATUS   = DOWN     
 BUZAGNT   URBAN CODE AGENT                      STATUS   = UP       
  CFZCIM   Z/OS CIM SERVER                       STATUS   = UP       
CICSTS55   CICS VERSION 5.5                      STATUS   = UP       
CICSTS54   CICS VERSION 5.4                      STATUS   = NOSTART  
     CSF   CRYPTOGRAPHIC SERVICES                STATUS   = UP       
CSQ9CHIN   MQSERIES CHANNEL INITIATOR            STATUS   = NOSTART  
CSQ9MSTR   MQSERIES MASTER                       STATUS   = NOSTART  
DBBGMSTR   DB2 VERSION 11                        STATUS   = NOSTART  
DBCGMSTR   DB2 VERSION 12                        STATUS   = UP       
     DLF   Z/OS DATA LOOKASIDE FACILITY          STATUS   = UP       
  HTTPD1   Z/OS HTTP SERVER                      STATUS   = NOSTART  
 HZSPROC   Z/OS HEALTH CHECKER                   STATUS   = NOSTART  
IMS14CR1   IMS VERSION 14                        STATUS   = NOSTART  
IMS14RL1   IMS VERSION 14 IRLM                   STATUS   = NOSTART  
IMS15CR1   IMS VERSION 15                        STATUS   = UP       
IMS15RL1   IMS VERSION 15 IRLM                   STATUS   = UP       
 IZUANG1   Z/OSMF ANGEL SERVICE                  STATUS   = UP       
 IZUSVR1   Z/OSMF SERVER                         STATUS   = UP       
    JES2   Z/OS JOB ENTRY SUBSYSTEM              STATUS   = UP       
    JMON   Z/OS EXPLOROR JES MONITOR             STATUS   = UP       
     LLA   Z/OS LIBRARY LOOKASIDE                STATUS   = UP       
     MVS   MVS DUMMY TASK                        STATUS   = UP       
    NFSS   Z/OS NFS SERVER                       STATUS   = NOSTART  
    SSHD   TCP/IP SSH SERVER                     STATUS   = COMPLETE 
RESTCASH   Java Cache Restore                    STATUS   = COMPLETE 
    OMVS   Z/OS OPEN MVS SERVER                  STATUS   = UP       
     RRS   Z/OS RECOVERY SERVICES                STATUS   = UP       
    RSED   Z/OS EXPLORER SERVER                  STATUS   = UP       
  RSEAPI   Z/OS EXPLORER SERVER                  STATUS   = UP       
    SDSF   Z/OS SYSTEM DISPLAY/SEARCH            STATUS   = UP       
   TCPIP   Z/OS TCPIP SERVER                     STATUS   = UP       
  TN3270   TELNET 3270 SERVER                    STATUS   = UP       
     TSO   TIME SHARING OPTION                   STATUS   = UP       
     VLF   Z/OS VIRUTAL LOOKASIDE                STATUS   = UP       
    VTAM   VIRTUAL TELCOM ACCESS METHOD          STATUS   = UP       
 ZOSCSRV   Z/OS CONNECT SERVER                   STATUS   = UP       
```

</div></details>

## SMS関連

```
D SMS                                                    
IGD002I 01:32:09 DISPLAY SMS 407                         
SCDS = SYS1.S0W1.DFSMS.SCDS                              
ACDS = SYS1.S0W1.ACDS                                    
COMMDS = SYS1.S0W1.COMMDS                                
ACDS LEVEL = z/OS V2.4                                   
DINTERVAL = 150                                          
REVERIFY = NO                                            
ACSDEFAULTS = NO                                         
    SYSTEM     CONFIGURATION LEVEL    INTERVAL SECONDS   
    S0W1       2021/01/18 01:31:55           15          
```

### ACS Rourtine

```
                              ACS OBJECT DISPLAY                               
                                                                               
CDS Name  : ACTIVE                                                             
                                                                               
ACS Rtn   Source Data Set ACS      Member    Last Trans  Last Date  Last Time  
Type      Routine Translated from  Name      Userid      Translated Translated 
--------  -----------------------  --------  ----------  ---------- ---------- 
DATACLAS  SYS1.S0W1.DFSMS.CNTL     DATACLAS  IBMUSER     2019/12/17  15:21     
                                                                               
                                                                               
MGMTCLAS  -----------------------  --------  --------    ----------  -----     
                                                                               
                                                                               
STORCLAS  SYS1.S0W1.DFSMS.CNTL     STORCLAS  IBMUSER     2019/12/17  15:22     
                                                                               
                                                                               
STORGRP   SYS1.S0W1.DFSMS.CNTL     STORGRP   IBMUSER     2020/08/27  13:13     
                                                                               
                                                                               
                                                                               
Use HELP Command for Help; Use END Command to Exit.                            
                                                                               
```

<details><summary><font color="blue">Data Class</font></summary><div>

```xxx:SYS1.S0W1.DFSMS.CNTL(DATACLAS)
PROC DATACLAS                           /* DATACLASS START */
FILTLIST DB2_DB INCLUDE(**.DSNDBC.**,
                        **.DSNDBD.**)

IF &SIZE > 4052MB THEN
     DO
        IF (&STORCLAS NE 'SCNOSMS') THEN
        DO
          SET &DATACLAS = 'DCEXTEAV'
          EXIT CODE(0)
        END
     END

IF &DSN = &DB2_DB THEN
     DO
        SET &DATACLAS = 'DCDB2EXT'
        EXIT CODE(0)
     END
IF &DSN(1) = 'ZCX' THEN
  DO
    IF &DSN(2) = 'VS' THEN
      DO
            SET &DATACLAS='CXDC'
          END
        END
IF &DSN(2) = 'ZCX' THEN
          DO
        IF &DSN(3) = 'FS' THEN
          DO
            SET &DATACLAS='CXDC'
          END
      END

END                                     /* DATACLASS END  */
```

</div></details>

<details><summary><font color="blue">Storage Class</font></summary><div>

```xxx:SYS1.S0W1.DFSMS.CNTL(STORCLAS)
PROC STORCLAS
/*                                                                           */
/*  To include other DB2, CICS, IMS, MQS or ARCH HLQs then you can           */
/*  modify the appropriate FILTLIST statement and include other HLQs         */
/*                                                                           */
/*                                                                           */
FILTLIST DB2_HLQ          INCLUDE(DSN*.**,
                                  DB2.**,
                                  DSN.**,
                                  DB2*.**)

FILTLIST CICS_HLQ         INCLUDE(DFH*.**,
                                  CICS.**,
                                  DFH.**,
                                  CICS*.**)

FILTLIST IMS_HLQ          INCLUDE(DFS*.**,
                                  DFS.**,
                                  IMS.**,
                                  IMS*.**)

FILTLIST MQS_HLQ          INCLUDE(CSQ*.**,
                                  CSQ.**,
                                  MQS.**,
                                  MQS*.**)

FILTLIST APPL_HLQ         INCLUDE(APPL.**,
                                  PROD.**,
                                  TEST.**)

FILTLIST ARCH_DSN         INCLUDE(DS*.*.ARC*.**,
                                  DB*.*.ARC*.**)

FILTLIST ZCX_VS           INCLUDE('ZCX.VS')

FILTLIST ZCX_FS           INCLUDE('ZCX.FS')

FILTLIST SORT_DD INCLUDE(SORTWK*,
                         SORTDK*)

SELECT

  WHEN (&STORCLAS = 'SCNOSMS')
    DO
      SET &STORCLAS = ''
      EXIT CODE(0)
    END

  WHEN (&STORCLAS = 'SCNOVIO')
    DO
      SET &STORCLAS = 'SCNOVIO'
      EXIT CODE(0)
    END

  WHEN (&DATACLAS = 'DCDB2EXT')
    DO
      SET &STORCLAS = 'SCDB2'
      EXIT CODE(0)
    END

  WHEN (&DATACLAS = 'DCEXTEAV')
    DO
      SET &STORCLAS = 'SCEXTEAV'
      EXIT CODE(0)
    END

  WHEN (&STORCLAS = 'SCAPPL')
    DO
      SET &STORCLAS = 'SCAPPL'
      EXIT CODE(0)
    END

  WHEN (&DSN = &APPL_HLQ)
    DO
      SET &STORCLAS = 'SCAPPL'
      EXIT CODE(0)
    END

  WHEN (&DSN = &ARCH_DSN)
    DO
      SET &STORCLAS = 'SCARCH'
      EXIT CODE(0)
    END

  WHEN (&DSN = &IMS_HLQ)
    DO
      SET &STORCLAS = 'SCIMS'
      EXIT CODE(0)
    END

  WHEN (&DSN = &CICS_HLQ)
    DO
      SET &STORCLAS = 'SCCICS'
      EXIT CODE(0)
    END

  WHEN (&DSN = &MQS_HLQ)
    DO
      SET &STORCLAS = 'SCMQS'
      EXIT CODE(0)
    END

  WHEN (&DSN = &ARCH_DSN)
    DO
      SET &STORCLAS = 'SCARCH'
      EXIT CODE(0)
    END

  WHEN (&HLQ = &DB2_HLQ)
    DO
      SET &STORCLAS = 'SCDB2'
      EXIT CODE(0)
    END
WHEN (&DSN(1) = 'ZCX')
  DO
   IF &DSN(2) = 'VS' THEN
      DO
        SET &STORCLAS='CXROOTSC'
      END
  END

WHEN (&DSN(1) = 'ZCX')
  DO
    IF &DSN(2) = 'FS' THEN
      DO
        SET &STORCLAS='CXROOTSC'
      END
  END

  WHEN (&DSTYPE = 'TEMP')
    DO
      SELECT
             WHEN (&DD = &SORT_DD) SET &STORCLAS = 'SCNOVIO'
             WHEN (&DSORG = 'VS')  SET &STORCLAS = 'SCNOVIO'
             OTHERWISE             SET &STORCLAS = 'SCBASE'
      END
      EXIT CODE(0)
    END

  OTHERWISE
    DO
      SET &STORCLAS = 'SCBASE'
      EXIT CODE(0)
    END
 END  /* END SELECT */
END  /* END oF STORAGE CLASS ROUTINE PROC */
```

</div></details>


<details><summary><font color="blue">Storage Group</font></summary><div>

```xxx:SYS1.S0W1.DFSMS.CNTL(STORGRP)
PROC STORGRP                                                            00010000
/*                                                                   */ 00080027
/* Storage group is set based on what Storage Class was              */ 00081027
/* assigned. All Storage Groups fall back to SGBASE                  */ 00082027
/* in case application specific Volumes are not there                */ 00082127
/*                                                                   */ 00083027
SELECT                                                                  00090000
                                                                        00112000
  WHEN (&STORCLAS = 'SCNOSMS')                                          00112120
  DO                                                                    00112220
    EXIT CODE(0)                                                        00112420
  END                                                                   00112520
                                                                        00112609
  WHEN (&DSTYPE = 'TEMP' && &STORCLAS = 'SCNOVIO')                      00112716
    DO                                                                  00112809
      SET &STORGRP = 'SGBASE','SGEXTEAV'                                00112931
      EXIT CODE(0)                                                      00113009
    END                                                                 00113109
                                                                        00113215
  WHEN (&DSTYPE = 'TEMP' && &SIZE < 2000001KB)                          00113318
    DO                                                                  00113415
      SET &STORGRP = 'SGVIO','SGBASE','SGEXTEAV'                        00113531
      EXIT CODE(0)                                                      00113615
    END                                                                 00113715
                                                                        00113815
  WHEN (&STORCLAS= 'SCAPPL')                                            00113925
    DO                                                                  00114015
      SET &STORGRP = 'SGAPPL','SGBASE','SGEXTEAV'                       00114131
      EXIT CODE(0)                                                      00114223
    END                                                                 00114305
                                                                        00114425
  WHEN (&STORCLAS= 'SCIMS')                                             00114525
    DO                                                                  00114625
      SET &STORGRP = 'SGIMS','SGBASE','SGEXTEAV'                        00114731
      EXIT CODE(0)                                                      00114825
    END                                                                 00114925
                                                                        00115025
  WHEN (&STORCLAS= 'SCMQS')                                             00115125
    DO                                                                  00115225
      SET &STORGRP = 'SGMQS','SGBASE','SGEXTEAV'                        00115331
      EXIT CODE(0)                                                      00115425
    END                                                                 00115525
                                                                        00115625
  WHEN (&STORCLAS= 'SCCICS')                                            00115725
    DO                                                                  00115825
      SET &STORGRP = 'SGCICS','SGBASE','SGEXTEAV'                       00115931
      EXIT CODE(0)                                                      00116025
    END                                                                 00116125
                                                                        00116225
  WHEN (&STORCLAS= 'SCARCH')                                            00116325
    DO                                                                  00116425
      SET &STORGRP = 'SGARCH'                                           00116533
      EXIT CODE(0)                                                      00116625
    END                                                                 00116725
                                                                        00116825
  WHEN (&STORCLAS= 'SCEXTEAV')                                          00116925
    DO                                                                  00117025
      SET &STORGRP = 'SGEXTEAV','SGBASE'                                00117125
      EXIT CODE(0)                                                      00117226
    END                                                                 00117425
                                                                        00117525
  WHEN (&STORCLAS = 'SCDB2')                                            00117625
    DO                                                                  00118000
      SET &STORGRP = 'SGDB2','SGBASE','SGEXTEAV'                        00119031
      EXIT CODE(0)                                                      00119126
    END                                                                 00130000
                                                                        00131005
                                                                        00200005
  WHEN (&STORCLAS= 'SCBASE')                                            00210008
    DO                                                                  00220005
      SET &STORGRP = 'SGBASE','SGEXTEAV'                                00230030
      EXIT CODE(0)                                                      00231026
    END                                                                 00250005
                                                                        00251032
  WHEN (&STORCLAS= 'CXROOTSC')                                          00252032
    SET &STORGRP = 'CXROOTSG'                                           00253032
                                                                        00260005
 END /* end select                                                      00272000
END  /* END OF STORAGE GROUP ROUTINE PROC */                            00273000
END  /* END OF STORAGE GROUP ROUTINE PROC */                            00274003
```

</div></details>

※上のACS Routineで明示的に指定されているHLQ以外は"SCBASE"というStorage Classが使われるようになっており、"SCBASE"の場合"SGBASE", "SGEXTEAV"というStorage Groupが選択されるようになっています。
"SGBASE"というStorage Groupの定義を見てみると、以下のようになっています。

```
                                 VOLUME LIST                  2021/01/28 17:13
                                                        Entries 1-30 of 183   
Enter Line Operators below:                             Data Columns 3-8 of 45
                                                                              
     LINE       VOLUME FREE       %     ALLOC      FRAG   LARGEST    FREE     
     OPERATOR   SERIAL SPACE      FREE  SPACE      INDEX  EXTENT     EXTENTS  
    ---(1)----  -(2)-- ---(3)---  (4)-  ---(5)---  -(6)-  ---(7)---  --(8)--  
                A4USR1 ---------   ---  ---------    ---  ---------  -------  
                B4USR1  2475232K    30   5839269K    222    969873K       59  
                D3USR1 ---------   ---  ---------    ---  ---------  -------  
                USER0A ---------   ---  ---------    ---  ---------  -------  
                USER0B ---------   ---  ---------    ---  ---------  -------  
                USER0C ---------   ---  ---------    ---  ---------  -------  
                USER0D ---------   ---  ---------    ---  ---------  -------  
                USER0E ---------   ---  ---------    ---  ---------  -------  
                USER0F ---------   ---  ---------    ---  ---------  -------  
                USER00 ---------   ---  ---------    ---  ---------  -------  
                USER01 ---------   ---  ---------    ---  ---------  -------  
                USER02 ---------   ---  ---------    ---  ---------  -------  
                USER03 ---------   ---  ---------    ---  ---------  -------  
                USER04 ---------   ---  ---------    ---  ---------  -------  
                USER05 ---------   ---  ---------    ---  ---------  -------  
                USER06 ---------   ---  ---------    ---  ---------  -------  
                USER07 ---------   ---  ---------    ---  ---------  -------  
                USER08 ---------   ---  ---------    ---  ---------  -------  
                USER09 ---------   ---  ---------    ---  ---------  -------  
                USER1A ---------   ---  ---------    ---  ---------  -------  
                USER1B ---------   ---  ---------    ---  ---------  -------  
                ...
```

B4USR1というボリュームのみがONLINEになっているので、基本的にこのボリュームが使われることになります。定義としては、USER00～USER4F(末尾2桁は16進数), ZDT000～ZDT099(末尾3桁は10進数)という名前のボリュームが登録されていますので、これらの名前でボリューム追加すれば、"SGBASE"のStorage Groupのサイズを増やすことができます。
また、SMS管理外のVOLを明示指定したい時のために、"SCNOSMS"というStorage Classが提供されています。Storage Classとして"SCNOSMS"を指定してVOLを明示指定すればSMS管理外のVOLを使用することもできます。
※その他、ユーザーデータなどHLQに応じて特定のVOLUMEを使用したい場合は必要に応じてACS Routineを編集する必要があります。


# その他

## ADCDパッケージ
OSイメージや各種製品がセットアップされたDASDイメージはADCDパッケージとして提供されます。ここに含まれるプロダクトは以下に記載されています。
[ADCD z/OS V2R4 December Edition of 2020](https://www.ibm.com/docs/en/wdfrhcw/1.2.0?topic=2020-adcd-zos-v2r4-december-edition#what's_new)
[Extended ADCD](https://www.ibm.com/docs/en/wdfrhcw/1.2.0?topic=2020-extended-adcd)


## TSOユーザー
ADCD提供の既存のTSOユーザーについてはこちら。
参考:[ADCD z/OS V2R4 December Edition of 2020 - USERIDS](https://www.ibm.com/docs/en/wdfrhcw/1.2.0?topic=2020-adcd-zos-v2r4-december-edition#userid)

## コンテナのネットワーク設定について

上の"コンテナに接続して状況確認してみる"の所でContainer(Linux)に入ってきたリクエストについてはhaproxyによりTAP経由でZPDTにフォワードしている構成が確認できましたが、並行してnftablesの構成もされていました。ただし、実質こちらの設定は効いていないのでご注意ください(disabledにしても接続に影響なし)。

<details><summary><font color="blue">コンテナに接続して状況確認してみる2</font></summary><div>

```
[root@Test05 ~/openshift/Wazi]# oc exec wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp -c wazi-sandbox-system -it -- bash

[root@wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp ~]# systemctl status nftables
● nftables.service - Netfilter Tables
   Loaded: loaded (/usr/lib/systemd/system/nftables.service; enabled; vendor preset: disabled)
   Active: active (exited) since Fri 2021-01-15 11:22:40 UTC; 2 days ago
     Docs: man:nft(8)
 Main PID: 42 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 204713)
   Memory: 0B
   CGroup: /kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod1dfaa445_45b6_4f01_8f67_e7060775aa8f.slice/crio-a246408fd84e0f3e50a2c6c70c1d80ff0f84050e7b0f9135575
5ce7032dd53b3.scope/system.slice/nftables.service

Jan 15 11:22:39 wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp systemd[1]: Starting Netfilter Tables...
Jan 15 11:22:40 wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp systemd[1]: Started Netfilter Tables.


[root@wazi-sandbox01-wazi-sandbox-system-6679544c49-9d8xp ~]# nft list ruleset
table ip nat {
        chain PREROUTING {
                type nat hook prerouting priority dstnat; policy accept;
                iifname "eth0" tcp dport 0-3269 counter packets 0 bytes 0 dnat to 172.26.1.2
                iifname "eth0" tcp dport 3271-8442 counter packets 0 bytes 0 dnat to 172.26.1.2
                iifname "eth0" tcp dport 8444-65535 counter packets 0 bytes 0 dnat to 172.26.1.2
        }

        chain INPUT {
                type nat hook input priority 100; policy accept;
        }

        chain OUTPUT {
                type nat hook output priority -100; policy accept;
        }

        chain POSTROUTING {
                type nat hook postrouting priority srcnat; policy accept;
                oifname "eth0" counter packets 0 bytes 0 masquerade
        }
}
table ip filter {
        chain INPUT {
                type filter hook input priority filter; policy accept;
        }

        chain FORWARD {
                type filter hook forward priority filter; policy accept;
                iifname "tap0" counter packets 0 bytes 0 accept
                ip daddr 172.26.1.2 tcp dport 0-3269 counter packets 0 bytes 0 accept
                ip daddr 172.26.1.2 tcp dport 3271-8442 counter packets 0 bytes 0 accept
                ip daddr 172.26.1.2 tcp dport 8444-65535 counter packets 0 bytes 0 accept
        }

        chain OUTPUT {
                type filter hook output priority filter; policy accept;
                ct state established,related counter packets 2032268 bytes 244893649 accept
        }
}

```

</div></details>

# 追記: Wazi V1.2のSandboxインスタンス情報
V1.2では起動/停止関連の仕組みが拡張されています。

## Pod定義

<details><summary><font color="blue">Pod定義のyaml出力結果抜粋</font></summary><div>

```
...
    lifecycle:
      postStart:
        exec:
          command:
          - /bin/sh
          - -c
          - /zdt/bin/postStart.sh
      preStop:
        exec:
          command:
          - /bin/sh
          - -c
          - /zdt/bin/preStop.sh
    livenessProbe:
      exec:
        command:
        - /zdt/bin/instcontroller_check.sh
      failureThreshold: 20
      initialDelaySeconds: 30
      periodSeconds: 30
      successThreshold: 1
      timeoutSeconds: 1
    name: wazi-sandbox-zpdt
    readinessProbe:
      exec:
        command:
        - /zdt/bin/instcontroller_check.sh
      failureThreshold: 60
      initialDelaySeconds: 30
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
...
```

</div></details>

## Linux上のsystemd

### サービス一覧
<details><summary><font color="blue">systemdのサービス一覧</font></summary><div>

```
# systemctl list-unit-files --type=service
UNIT FILE                              STATE
aksusbd.service                        enabled
autovt@.service                        enabled
console-getty.service                  masked
container-getty@.service               static
dbus-org.freedesktop.hostname1.service static
dbus-org.freedesktop.locale1.service   static
dbus-org.freedesktop.login1.service    masked
dbus-org.freedesktop.portable1.service static
dbus-org.freedesktop.timedate1.service static
dbus.service                           static
debug-shell.service                    disabled
dnf-makecache.service                  static
dracut-cmdline.service                 static
dracut-initqueue.service               static
dracut-mount.service                   static
dracut-pre-mount.service               static
dracut-pre-pivot.service               static
dracut-pre-trigger.service             static
dracut-pre-udev.service                static
dracut-shutdown.service                static
emergency.service                      static
fstrim.service                         static
getty@.service                         enabled
grub-boot-indeterminate.service        static
halt-local.service                     static
haproxy.service                        enabled
hasplmd.service                        enabled
initrd-cleanup.service                 static
initrd-parse-etc.service               static
initrd-switch-root.service             static
initrd-udevadm-cleanup-db.service      static
ipl-zOS.service                        enabled
kmod-static-nodes.service              static
ldconfig.service                       static
messagebus.service                     static
nftables.service                       enabled
quotaon.service                        static
rc-local.service                       static
rescue.service                         static
rhsm-facts.service                     disabled
rhsm.service                           disabled
rhsmcertd.service                      disabled
SafeNet_Keys_Server.service            generated
sentinel_shk_server.service            generated
serial-getty@.service                  disabled
shk_usb.service                        generated
syslog.service                         bad
system-update-cleanup.service          static
systemd-ask-password-console.service   static
systemd-ask-password-wall.service      static
systemd-backlight@.service             static
systemd-binfmt.service                 static
systemd-coredump@.service              static
systemd-exit.service                   static
systemd-firstboot.service              static
systemd-fsck-root.service              static
systemd-fsck@.service                  static
systemd-halt.service                   static
systemd-hibernate-resume@.service      static
systemd-hibernate.service              static
systemd-hostnamed.service              static
systemd-hwdb-update.service            static
systemd-hybrid-sleep.service           static
systemd-initctl.service                static
systemd-journal-catalog-update.service static
systemd-journal-flush.service          static
systemd-journald.service               static
systemd-kexec.service                  static
systemd-localed.service                static
systemd-logind.service                 masked
systemd-machine-id-commit.service      masked
systemd-modules-load.service           static
systemd-portabled.service              static
systemd-poweroff.service               static
systemd-quotacheck.service             static
systemd-random-seed.service            masked
systemd-reboot.service                 static
systemd-remount-fs.service             masked
systemd-resolved.service               disabled
systemd-rfkill.service                 static
systemd-suspend-then-hibernate.service static
systemd-suspend.service                static
systemd-sysctl.service                 static
systemd-sysusers.service               static
systemd-timedated.service              static
systemd-tmpfiles-clean.service         static
systemd-tmpfiles-setup-dev.service     static
systemd-tmpfiles-setup.service         static
systemd-udev-settle.service            static
systemd-udev-trigger.service           masked
systemd-udevd.service                  masked
systemd-update-done.service            static
systemd-update-utmp-runlevel.service   static
systemd-update-utmp.service            static
systemd-user-sessions.service          static
systemd-vconsole-setup.service         static
systemd-volatile-root.service          static
tcsd.service                           disabled
unbound-anchor.service                 static
user-runtime-dir@.service              static
user@.service                          static
zdt-ic.service                         enabled
zdt-start.service                      enabled

103 unit files listed.
```

</div></details>

### Wazi関連サービス

<details><summary><font color="blue">aksusbd</font></summary><div>

```/etc/systemd/system/aksusbd.service
[Unit]
Description=Sentinel LDK Runtime Environment (aksusbd daemon)
Before=hasplmd.service
Requires=hasplmd.service

[Service]
Type=forking
ExecStart=/usr/sbin/aksusbd

[Install]
WantedBy=multi-user.target
```

```status
# systemctl status aksusbd.service
● aksusbd.service - Sentinel LDK Runtime Environment (aksusbd daemon)
   Loaded: loaded (/etc/systemd/system/aksusbd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-04-16 11:09:33 UTC; 1 months 11 days ago
  Process: 229 ExecStart=/usr/sbin/aksusbd (code=exited, status=0/SUCCESS)
 Main PID: 230 (aksusbd)
    Tasks: 3 (limit: 204713)
   Memory: 136.0K
   CGroup: /kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod3e2eaeb3_b7d7_4d0b_a7da_79dc2c7abd4e.slice/crio-3e7277d056b499fa7423535c16b0ef64957db60e4bbdbb4e64360dd93578f406.scope/system.slice/aksusbd.service
           mq230 /usr/sbin/aksusbd

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
```

</div></details>

<details><summary><font color="blue">hasplmd</font></summary><div>

```/etc/systemd/system/hasplmd.service
[Unit]
Description=Sentinel LDK Runtime Environment (hasplmd daemon)
Requires=aksusbd.service
After=aksusbd.service

[Service]
Type=forking
ExecStart=/usr/sbin/hasplmd -s

[Install]
WantedBy=multi-user.target
```

```status
# systemctl status hasplmd.service
● hasplmd.service - Sentinel LDK Runtime Environment (hasplmd daemon)
   Loaded: loaded (/etc/systemd/system/hasplmd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-04-16 11:09:33 UTC; 1 months 11 days ago
  Process: 234 ExecStart=/usr/sbin/hasplmd -s (code=exited, status=0/SUCCESS)
 Main PID: 235 (hasplmd)
    Tasks: 7 (limit: 204713)
   Memory: 10.2M
   CGroup: /kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod3e2eaeb3_b7d7_4d0b_a7da_79dc2c7abd4e.slice/crio-3e7277d056b499fa7423535c16b0ef64957db60e4bbdbb4e64360dd93578f406.scope/system.slice/hasplmd.service
           mq235 /usr/sbin/hasplmd -s

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
```

</div></details>

<details><summary><font color="blue">haproxy</font></summary><div>

```/usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=network-online.target
Wants=network-online.target

[Service]
Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid"
EnvironmentFile=/etc/sysconfig/haproxy
ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $OPTIONS
ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $OPTIONS
ExecReload=/usr/sbin/haproxy -f $CONFIG -c -q $OPTIONS
ExecReload=/bin/kill -USR2 $MAINPID
SuccessExitStatus=143
KillMode=mixed
Type=notify

[Install]
WantedBy=multi-user.target
```

```status
# systemctl status haproxy.service
● haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-04-16 11:09:32 UTC; 1 months 14 days ago
 Main PID: 75 (haproxy)
    Tasks: 2 (limit: 204713)
   Memory: 51.1M
   CGroup: /kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod3e2eaeb3_b7d7_4d0b_a7da_79dc2c7abd4e.slice/crio-3e7277d056b499fa7423535c16b0ef64957db60e4bbdbb4e64360dd93
578f406.scope/system.slice/haproxy.service
           tq 75 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
           mq193 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
```

```/etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#   https://www.haproxy.org/download/1.8/doc/configuration.txt
#
#---------------------------------------------------------------------

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #   file. A line like the following can be added to
    #   /etc/sysconfig/syslog
    #
    #    local2.*                       /var/log/haproxy.log
    #
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

    # utilize system-wide crypto-policies
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          2d
    timeout server          2d
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main
    bind *:5000
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js

    use_backend static          if url_static
    default_backend             app

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check

#---------------------------------------------------------------------
# zDT forwarding to zOS emulated environment
#---------------------------------------------------------------------
frontend port-group-01
   bind *:10-1946
   default_backend port-group-01
   mode tcp
   option tcplog

backend port-group-01
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-02
   bind *:1950-3269
   default_backend port-group-02
   mode tcp
   option tcplog

backend port-group-02
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-03
   bind *:3271-8440
   default_backend port-group-03
   mode tcp
   option tcplog

backend port-group-03
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-04
   bind *:8445-35000
   default_backend port-group-04
   mode tcp
   option tcplog

backend port-group-04
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-05
   bind *:45000-49999
   default_backend port-group-05
   mode tcp
   option tcplog

backend port-group-05
   balance source
   mode tcp
   server S0W1 172.26.1.2

frontend port-group-06
   bind *:55000-65000
   default_backend port-group-06
   mode tcp
   option tcplog

backend port-group-06
   balance source
   mode tcp
   server S0W1 172.26.1.2
```


</div></details>

<details><summary><font color="blue">ipl-zOS</font></summary><div>

```/etc/systemd/system/ipl-zOS.service
[Unit]
Description=Emulator z1090

[Service]
Type=forking

Environment=JAVA_HOME=/zdt/java/jre
Environment="PATH=/home/ibmsys1/bin:/usr/z1090/bin:/usr/sbin:/zdt/wlp/bin:/zdt/java/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/sbin:/zdt/bin"
Environment="LD_LIBRARY_PATH=/usr/z1090/bin"
Environment="MANPATH=/usr/z1090/man"

ExecStartPre=/bin/sleep 60
ExecStart=/zdt/services/ipl_zOS.sh &
User=ibmsys1
Group=ibmsys
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target
```

```status
# systemctl status ipl-zOS.service
● ipl-zOS.service - Emulator z1090
   Loaded: loaded (/etc/systemd/system/ipl-zOS.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Fri 2021-04-16 11:10:52 UTC; 1 months 11 days ago
  Process: 465 ExecStart=/zdt/services/ipl_zOS.sh & (code=exited, status=0/SUCCESS)
  Process: 51 ExecStartPre=/bin/sleep 60 (code=exited, status=0/SUCCESS)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
```

</div></details>

<details><summary><font color="blue">zdt-ic</font></summary><div>

```/etc/systemd/system/zdt-ic.service
[Unit]
Description=ZDT Instance Controller
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/zdt/java/jre
Environment="PATH=/home/ibmsys1/bin:/usr/z1090/bin:/usr/sbin:/zdt/wlp/java/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/sbin:/zdt/bin"
Environment="LD_LIBRARY_PATH=/usr/z1090/bin"
Environment="MANPATH=/usr/z1090/man"

ExecStart=/zdt/services/startup.sh start
ExecStop=/zdt/services/shutdown.sh stop

User=ibmsys1
Group=ibmsys
RestartSec=15
Restart=always
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
```

```status
# systemctl status zdt-ic.service
● zdt-ic.service - ZDT Instance Controller
   Loaded: loaded (/etc/systemd/system/zdt-ic.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-04-16 11:10:02 UTC; 1 months 11 days ago
  Process: 50 ExecStart=/zdt/services/startup.sh start (code=exited, status=0/SUCCESS)
 Main PID: 221 (java)
    Tasks: 61 (limit: 204713)
   Memory: 245.7M
   CGroup: /kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod3e2eaeb3_b7d7_4d0b_a7da_79dc2c7abd4e.slice/crio-3e7277d056b499fa7423535c16b0ef64957db60e4bbdbb4e64360dd93578f406.scope/system.slice/zdt-ic.service
           mq221 /zdt/java//bin/java -javaagent:/zdt/wlp/bin/tools/ws-javaagent.jar -Djava.awt.headless=true -Djdk.attach.allowAttachSelf=true --add-exports java.base/sun.security.action=ALL-UNNAMED --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -
-add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.naming/javax.naming.spi=ALL-UNNAMED --add-opens jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED --add-opens java.naming/javax.naming=ALL-UNNAME
D --add-opens java.rmi/java.rmi=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.management/javax.management=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.desktop/java.awt.image=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add
-opens java.base/java.net=ALL-UNNAMED -jar /zdt/wlp/bin/tools/ws-server.jar zdt-instance

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
```

</div></details>

## 起動/停止関連シェル・スクリプト

<details><summary><font color="blue">/zdt/services/ipl_zOS.sh</font></summary><div>

```sh:/zdt/services/ipl_zOS.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020,2021 - All Rights Reserved.               ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

source /home/ibmsys1/.bashrc

#Decrypt zvolumes
[ -z $file_dir ] && file_dir=/zdt/zvolumes
[ -z $file_ext ] && file_ext=ZPD
files=`ls -1 $file_dir/*.$file_ext 2>/dev/null`
are_files=`ls -1 $file_dir/*.$file_ext 2>/dev/null | wc -l`
echo `date "+%b %d %H:%M:%S %Y"`" ------------------------------" | tee -a $file_dir"/log.txt"
echo `date "+%b %d %H:%M:%S %Y"`" Checking for encrypted volumes" | tee -a $file_dir"/log.txt"
[ -z $are_files ] && echo `date "+%b %d %H:%M:%S %Y"`" No encrypted files" | tee -a $file_dir"/log.txt"
for file in $files
    do
        #Decrypt file
        if [ ! -f $file_dir/`basename $file .$file_ext` ]; then
                echo `date "+%b %d %H:%M:%S %Y"`" Decrypting "$file  | tee -a $file_dir"/log.txt"
                echo Z1090_ADCD_install $file_dir/`basename $file` $file_dir/`basename $file .$file_ext` | tee -a $file_dir"/log.txt"
                Z1091_ADCD_install $file_dir/`basename $file` $file_dir/`basename $file .$file_ext` | tee -a $file_dir"/log.txt"
        elif [ -f $file_dir/`basename $file .$file_ext` ]; then
                echo `date "+%b %d %H:%M:%S %Y"`" File "$file" already decrypted as "$file_dir/`basename $file .$file_ext`", skipping decryption." | tee -a $file_dir"/log.txt"
        else
                echo `date "+%b %d %H:%M:%S %Y"`" No files to decrypt." | tee -a $file_dir"/log.txt"
        fi
        #Removing encrypted file after decryption to save space.
        if [ -f $file_dir/`basename $file` ]; then
                echo `date "+%b %d %H:%M:%S %Y"`" Removing encrypted file that was decrypted. "$file | tee -a $file_dir"/log.txt"
                rm -f $file_dir/`basename $file` | tee -a $file_dir"/log.txt"
        else
                echo `date "+%b %d %H:%M:%S %Y"`" Encrypted file already removed. "$file | tee -a $file_dir"/log.txt"
        fi
done
[ ! -z $are_files ] && echo `date "+%b %d %H:%M:%S %Y"`" All encrypted files decrypted" | tee -a $file_dir"/log.txt"
echo `date "+%b %d %H:%M:%S %Y"`" ------------------------------" | tee -a $file_dir"/log.txt"

#Set /zdt/zvolumes ownership
sudo chown ibmsys1:ibmsys /zdt/zvolumes/*

#Start the sandbox to start the emulator, or log manual start required
[ -z $WAZI_SANDBOX ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep WAZI_SANDBOX`
if [ "$WAZI_SANDBOX" = "true" ]; then
   /zdt/bin/sandbox_start.sh
else
   echo "Manual IPL required." | tee -a "$file_dir/log.txt"
fi
```

</div></details>

<details><summary><font color="blue">/zdt/bin/sandbox_start.sh</font></summary><div>

```sh:/zdt/bin/sandbox_start.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2021 - All Rights Reserved.                    ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

source /home/ibmsys1/.bashrc

log="/zdt/zvolumes/log.txt"

# Normalize IPL_ZOS to account for old values
[ -z $IPL_ZOS ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep IPL_ZOS`
case "$IPL_ZOS" in
""|default|1|[Tt][Rr][Uu][Ee]) IPL_ZOS="true" ;;
*) IPL_ZOS="false" ;;
esac

if [ "$IPL_ZOS" = "true" ]; then
   [ -z $IPL_ADDRESS ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep IPL_ADDRESS`
   [ -z $IPL_IODF_ADDRESS ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep IPL_IODF_ADDRESS`
   [ -z $IPL_LOAD_PARM ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep IPL_LOAD_PARM`
   [ -z $DEVMAP ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep DEVMAP`
   # Default to support old ConfigMaps
   : ${DEVMAP:=devmap.txt}
   case "$DEVMAP" in
   /*)   devmapPath="$DEVMAP" ;;
   *)    devmapPath="/zdt/zvolumes/$DEVMAP" ;;
   esac
   if [ -r "$devmapPath" ]; then
      ipl=`grep '^ipl ' "$devmapPath"`
      if [ -n "$ipl" ] ; then
         # devmap includes ipl statement, need to extract for defaults
         # and create non-IPL version of devmap
         f="${devmapPath}.generated"
         grep -v '^ipl ' "$devmapPath" > "$f"
         devmapPath="$f"
         set -- $ipl
         [ -z $IPL_ADDRESS ] && IPL_ADDRESS="$2"
         [ -z $IPL_IODF_ADDRESS ] && IPL_IODF_ADDRESS=`expr "$3" : '^\(.*\)..$'`
         [ -z $IPL_LOAD_PARM ] && IPL_LOAD_PARM=`expr "$3" : '.*\(..\)$'`
      fi
      (
         echo "Devmap: $devmapPath"
         echo "IPL address: $IPL_ADDRESS"
         echo "IODF address: $IPL_IODF_ADDRESS"
         echo "Load parm: $IPL_LOAD_PARM"
      ) | tee -a "$log"
      if [ -n "$IPL_ADDRESS" -a -n "$IPL_IODF_ADDRESS" -a -n "$IPL_LOAD_PARM" ]; then
         # Use instance controller to start and IPL
         [ -z $zdtAuthId ] && zdtAuthId=zdt
         [ -z $zdtAuthPassword ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep ZDT_BASIC_AUTH_PWD`
         auth="$zdtAuthId:${zdtAuthPassword:=$ZDT_BASIC_AUTH_PWD}"
         export zdtAuthId zdtAuthPassword
         /zdt/bin/instcontroller_check.sh
         while [ $? -ne 0 ]; do
            echo "Waiting for instance controller" | tee -a "$log"
            sleep 10
            /zdt/bin/instcontroller_check.sh
         done
         ctype='Content-Type: application/json'
         opts='-s -S -X POST -k -i'
         urlbase='https://127.0.0.1:8443/instcontroller/zdtrs'

         # Request instance controller start emulator
         ts=`date -Iseconds`
         reqlog="/zdt/zvolumes/start-emulator-${ts}.log"
         timeout=600
         request="{\"redirect-output-file\":\"${reqlog}\",\"timeout\":${timeout},\"devmap-path\": \"${devmapPath}\"}"
         result=`curl -u "$auth" -H "$ctype" $opts --data "$request" "$urlbase/emulator-services/start-emulator" | awk 'NR==1 {print $2}'`
         if [ "$result" = "200" ]; then
            # Request instance controller IPL
            ts=`date -Iseconds`
            reqlog="/zdt/zvolumes/ipl-zos-${ts}.log"
            timeout=600
            request="{\"redirect-output-file\":\"${reqlog}\",\"timeout\":${timeout},\"device-number\": \"${IPL_ADDRESS}\",\"iodf-address\": \"${IPL_IODF_ADDRESS}\",\"load-parm\": \"${IPL_LOAD_PARM}\"}"
            result=`curl -u "$auth" -H "$ctype" $opts --data "$request" "$urlbase/zos-services/ipl"| awk 'NR==1 {print $2}'`
            if [ "$result" != "200" ]; then
               echo "Manual IPL required, unable to IPL: HTTP $result" | tee -a "$log"
            fi
         else
            echo "Manual IPL required, unable to start emulator: HTTP $result" | tee -a "$log"
         fi
      else
         echo "Manual IPL required, missing IPL parameters." | tee -a "$log"
      fi
   else
      echo "Manual IPL required, do readable devmap at $devmapPath" | tee -a "$log"
   fi
else
   echo "Manual IPL requested." | tee -a "$log"
fi
```

</div></details>

<details><summary><font color="blue">/zdt/bin/instcontroller_check.sh</font></summary><div>

```sh:/zdt/bin/instcontroller_check.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020,2021 - All Rights Reserved.               ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

[ -z $zdtAuthId ] && zdtAuthId=zdt
[ -z $zdtAuthPassword ] && eval `sudo cat /proc/1/environ | tr "\000" "\n" | grep ZDT_BASIC_AUTH_PWD`
export zdtAuthId=$zdtAuthId
export zdtAuthPassword=${zdtAuthPassword:-$ZDT_BASIC_AUTH_PWD}

zdt_return=`curl -u $zdtAuthId:$zdtAuthPassword -X GET -k -i --head --header 'Accept: application/json' 'https://127.0.0.1:8443/instcontroller/zdtrs/ic-services/is-alive/' | awk 'NR==1 {print $2}'`
[ "$zdt_return" == 200 ] && true || false
```

</div></details>

<details><summary><font color="blue">/zdt/bin/zdt_start.sh</font></summary><div>

```sh:/zdt/bin/zdt_start.sh
#!/bin/bash

#-----------------------------------------------------------------------------
# Licensed materials - Property of IBM
# 5725-G39 Copyright IBM Corp. 2017, 2020
#
# All rights reserved
#
# US Government users restricted rights  -  Use, duplication or
# disclosure restricted by GSA ADP schedule contract with IBM Corp.
#
# IBM Z Development and Test Environment (ZD&T)
#-----------------------------------------------------------------------------

#Redirect the script output to its same name log
# exec > /var/log/zdt/$(basename $0).log 2>&1
echo "[`date '+%Y-%m-%d %H:%M:%S %Z'`] executing command: $0 $*"

DEVMAP=
export DISPLAY=:1.0
# To avoid AWSRAS168E, awsstart should be running from zpdt user home directory
USR=`whoami`
HOME_DIR=`eval echo ~$USR`
cd $HOME_DIR

echo "CURRENT USER: $USR, RUN IN DIRECTORY: `pwd`"

echo "ZDTSCRIPT: 1 --- start to get parameter"
while getopts ":d:" opt ; do
case $opt in
d)
DEVMAP=$OPTARG
;;
\?)
echo "Invalid paramater:" $OPTARG
echo "zdt_start [-d devmap]"
exit 21
;;
esac
done

echo "ZDTSCRIPT: 2 --- got parameter"

if [ -z "$DEVMAP" ]; then
        echo "Specify -d path to devmap"
        exit 22
fi
found_DEVMAP=`ls $DEVMAP  | rev | cut -d'/' -f2- | rev `
if [ ! -n "$found_DEVMAP" ] ; then
#if [ ! -e $DEVMAP ]; then
echo "Devmap file $DEVMAP does not exist"
exit 23
fi

PORT=`egrep "^3270port" $DEVMAP | awk '{print $2}'`
echo "ZDTSCRIPT: 3 --- Devmap: $DEVMAP, Port: $PORT"

#echo stopping previous instance
#awsstop
#killall -u $(id -un) x3270
#while ps -U $(id -un) |egrep "emily|aws.{3,5}" >/dev/null; do sleep 1;done

# start IBM Z Development & Test environment. --clean is optional
echo "ZDTSCRIPT: 4 --- awsstart $DEVMAP --clean"
awsstart $DEVMAP --clean

#look for messages AWSxxxnnnE or AWSxxxnnnS in the message log, if find any, that means awsstart was not successful
sleep 10
egrep "AWS[A-Z]{3}[0-9]{3}[ES]" `ls -t1 ~/z1090/logs/log_console_* | head -n 1` 1>/dev/null
if [ $? -ne 0 ]; then
        echo
        echo "ZDTSCRIPT: 5 --- IBM Z Development and Test Environment started."
        echo
        /usr/z1090/bin/token
        exit 0
else
        echo
        echo "No completed startup message was found."
        echo '***************************************'
        echo '*** runzpdt terminated with errors. ***'
        echo '***************************************'
        exit 27
fi
```
</div></details>


<details><summary><font color="blue">/zdt/bin/getpid.sh</font></summary><div>

```sh:/zdt/bin/getpid.sh
#!/bin/bash
#-----------------------------------------------------------------------------
# Licensed materials - Property of IBM
# xxxx-xxx Copyright IBM Corp. 2016, 2019
#
# All rights reserved
#
# US Government users restricted rights  -  Use, duplication or
# disclosure restricted by GSA ADP schedule contract with IBM Corp.
#
# IBM Z/OS as a Service (ZOSAAS)
#-----------------------------------------------------------------------------
dollar_sign='$'
ps_command="ps -Af|grep '$1'|grep -v 'grep'|grep -v 'bash'|awk '{print ${dollar_sign}2}'"
bash -c "$ps_command"
```
</div></details>

<details><summary><font color="blue">/zdt/bin/zdt_ipl.sh</font></summary><div>

```sh:/zdt/bin/zdt_ipl.sh
#!/bin/bash

#-----------------------------------------------------------------------------
# Licensed materials - Property of IBM
# 5725-G39 Copyright IBM Corp. 2017, 2020
#
# All rights reserved
#
# US Government users restricted rights  -  Use, duplication or
# disclosure restricted by GSA ADP schedule contract with IBM Corp.
#
# IBM Z Development and Test Environment (ZD&T)
#-----------------------------------------------------------------------------

#Redirect the script output to its same name log
# exec > /var/log/zdt/$(basename $0).log 2>&1
echo "[`date '+%Y-%m-%d %H:%M:%S %Z'`] executing command: $0 $*"

zOS_ip=172.26.1.2
LOADPARM=
IODF_ADDR=
SYSRES_DEVICE_NUM=
export DISPLAY=:1.0
VERSION=
DEPLOYMENTDIR=

echo "ZDTSCRIPT: 1 --- start to get parameter"
while getopts ":l:a:n:v:z:e:" opt ; do
case $opt in
l)
LOADPARM=$OPTARG
;;
a)
IODF_ADDR=$OPTARG
;;
n)
SYSRES_DEVICE_NUM=$OPTARG
;;
z)
zOS_ip=$OPTARG
;;
e)
DEPLOYMENTDIR=$OPTARG
;;
\?)

echo "Invalid paramater:" $OPTARG
echo "zdt_ipl [-a iodf address] [-n SYSRES device number] [-l load param] [-z zOS ip address] [-e deployment dir]"
exit 21
;;
esac
done

echo "ZDTSCRIPT: 2 --- got parameter"

if [ -z "$LOADPARM" ]; then
        echo "Specify -l load param"
        exit 24
fi

if [ -z "$IODF_ADDR" ]; then
        echo "Specify -a iodf address"
        exit 25
fi

if [ -z "$SYSRES_DEVICE_NUM" ]; then
        echo "Specify -n device number"
        exit 26
fi

if [ -z "$DEPLOYMENTDIR" ]; then
        echo "Specify -e deployment directory"
        exit 27
fi

echo "ZDTSCRIPT: 4 --- Load parm: $LOADPARM, iodf address: $IODF_ADDR, SYSRES Device number: $SYSRES_DEVICE_NUM"

#Perform the IPL of the system
iplCommand="ipl $SYSRES_DEVICE_NUM parm $IODF_ADDR$LOADPARM"
echo $iplCommand
$iplCommand

echo "ZDTSCRIPT: 6 --- IPL started"

LOGFILE=$(ls -t1 ~/z1090/logs/log_console_* | head -n 1)
echo "ZDTSCRIPT: 6.2 --- log file is " $LOGFILE

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo "ZDTSCRIPT: 6.3 --- script dir is " $DIR
tailCommand="tail -f $LOGFILE"
$tailCommand | "$DIR/zdt_ipl_handle_log.sh" "$iplCommand" "$zOS_ip"

exit $?
```
</div></details>


<details><summary><font color="blue">/zdt/bin/postStart.sh</font></summary><div>

```sh:/zdt/bin/postStart.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020 - All Rights Reserved.                    ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

echo `date "+%b %d %H:%M:%S %Y"`" Starting container"  >> /zdt/zvolumes/log.txt
```

</div></details>

<details><summary><font color="blue">/zdt/bin/preStop.sh</font></summary><div>

```sh:/zdt/bin/preStop.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2020,2021 - All Rights Reserved.               ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

echo `date "+%b %d %H:%M:%S %Y"`" Shutting Down" | tee -a /zdt/zvolumes/log.txt
/zdt/bin/sandbox_stop.sh
shutdown -h now
```

</div></details>


<details><summary><font color="blue">/zdt/bin/sandbox_stop.sh</font></summary><div>

```sh:/zdt/bin/sandbox_stop.sh
#!/bin/bash
##========================================================================##
##                                                                        ##
##  COPYRIGHT --                                                          ##
## Licensed Material - Property of IBM                                    ##
## (C) Copyright IBM Corp. 2021 - All Rights Reserved.                    ##
## US Government Users Restricted Rights - Use, duplication or disclosure ##
## restricted by GSA ADP Schedule Contract with IBM Corp.                 ##
##                                                                        ##
##========================================================================##

log="/zdt/zvolumes/log.txt"
echo `date "+%b %d %H:%M:%S %Y"`" Shutting Down" | tee -a "$log"

[ -z $zdtAuthId ] && zdtAuthId=zdt
[ -z $zdtAuthPassword ] && eval `cat /proc/1/environ | tr "\000" "\n" | grep ZDT_BASIC_AUTH_PWD`
auth="$zdtAuthId:${zdtAuthPassword:-$ZDT_BASIC_AUTH_PWD}"

[ -z $SHUTDOWN_COMMAND ] && eval `cat /proc/1/environ | tr "\000" "\n" | grep SHUTDOWN_COMMAND`
[ -z $SHUTDOWN_TIMEOUT ] && eval `cat /proc/1/environ | tr "\000" "\n" | grep SHUTDOWN_TIMEOUT`
cmd=${SHUTDOWN_COMMAND:-'%netv shutsys'}
timeout=${SHUTDOWN_TIMEOUT:-480}

ctype='Content-Type: application/json'
opts='-s -S -X POST -k -i'
urlbase='https://127.0.0.1:8443/instcontroller/zdtrs'

# Request instance controller shutdown z/OS, ignore response
echo `date "+%b %d %H:%M:%S %Y"` "Requesting z/OS shutdown with timeout ${timeout}s and command \"$cmd\"" | tee -a "$log"
ts=`date -Iseconds`
reqlog="/zdt/zvolumes/shutdown-zos-${ts}.log"
request="{\"redirect-output-file\":\"${reqlog}\",\"timeout\":${timeout},\"command\":\"${cmd}\"}"
curl -u "$auth" -H "$ctype" $opts --data "$request" "$urlbase/zos-services/shutdown" 2>&1 | tee -a "$log"

# Request instance controller stop emulator, ignore response
echo `date "+%b %d %H:%M:%S %Y"` "Requesting emulator shutdown" | tee -a "$log"
ts=`date -Iseconds`
reqlog="/zdt/zvolumes/shutdown-emulator-${ts}.log"
request="{\"redirect-output-file\":\"${reqlog}\",\"timeout\":60}"
curl -u "$auth" -H "$ctype" $opts --data "$request" "$urlbase/emulator-services/stop-emulator" 2>&1 | tee -a "$log"
```

</div></details>


## Instance Controller(Liberty)ログ

<details><summary><font color="blue">IPL時のログ</font></summary><div>

```/zdt/wlp/usr/servers/zdt-instance/logs/messages.log
[6/1/21, 3:10:19:826 UTC] 00000037 com.ibm.zdt.instance.web.services.BaseService                I [ZDT-LOG-INFO] [ZDT-LOG-INFO] Started to run OS command [zdt_start.sh, -d, /zdt/zvolumes/devmap.txt.generated]
[6/1/21, 3:10:19:828 UTC] 00000037 com.ibm.zdt.instance.util.OSCommand                          I [ZDT-LOG-INFO] Running:zdt_start.sh -d /zdt/zvolumes/devmap.txt.generated
[6/1/21, 3:10:59:336 UTC] 00000037 com.ibm.zdt.instance.web.services.BaseService                I [ZDT-LOG-INFO] [ZDT-LOG-INFO] Finished running OS command [zdt_start.sh, -d, /zdt/zvolumes/devmap.txt.generated]
[6/1/21, 3:10:59:340 UTC] 00000057 com.ibm.zdt.instance.util.OSCommand                          I [ZDT-LOG-INFO] Running:getpid.sh emily
[6/1/21, 3:10:59:368 UTC] 00000057 com.ibm.zdt.instance.util.OSCommand                          I [ZDT-LOG-INFO] 591
[6/1/21, 3:10:59:584 UTC] 00000058 com.ibm.zdt.instance.web.services.BaseService                I [ZDT-LOG-INFO] [ZDT-LOG-INFO] Started to run OS command [zdt_ipl.sh, -a, 0A82, -n, 0A80, -l, NZ, -z, 172.26.1.2, -e, /zdt]
[6/1/21, 3:10:59:588 UTC] 00000058 com.ibm.zdt.instance.util.OSCommand                          I [ZDT-LOG-INFO] Running:zdt_ipl.sh -a 0A82 -n 0A80 -l NZ -z 172.26.1.2 -e /zdt
[6/1/21, 3:18:37:755 UTC] 00000058 com.ibm.zdt.instance.web.services.BaseService                I [ZDT-LOG-INFO] [ZDT-LOG-INFO] Finished running OS command [zdt_ipl.sh, -a, 0A82, -n, 0A80, -l, NZ, -z, 172.26.1.2, -e, /zdt]
```

</div></details>