今のご時世だからこそ、コマンドプロシジャを見直す(繰り返しパラメタを簡単に作成する手法)

By 岡田 - Posted: 2013/09/21 Last updated: 2013/10/05 - Leave a Comment
印刷用ページの表示 印刷用ページの表示
磁気ディスクの初期化など、繰り返し作業ではあるが、一部分だけが異なる
パラメタを作成する機会は多いです。

このような機会は昔からあったのです。
私がメインフレームの仕事を始めた時、TSS端末はDAM端末(”ダム端”と略された)と呼ばれ、キーボードの入力情報からでしかデータ入力が出来なかった。

大量のデータ入力をしたい場合、カード穿孔機(タイプライタのようなもの)を使って、1行1行データを紙カードに書き込み、カード読取機で入力をしていたのです

その後、端末型のワークステーションやパソコンが出現し、それぞれの機器でTSSが使えるようにするためのエミュレータの登場により、自席のパソコンで作ったデータをファイルアップロード出来るようになりました

しかし、それも昔の話となりました

近年、セキュリティ強化やコンプライアンス遵守のため、ホストデータの受け渡しが容易にできないサイトが増えてきています

その結果、事前に作業用パソコンでJCLやパラメタを作成しておいて、アップロードでホストに登録するという作業が出来なくなった

そこで、コマンドプロシジャを見直したいと考えたのです

コマンドプロシジャを使う事でTSSセションの中で短時間でパラメタを作成する事が可能となります

コマンドプロシジャを使うメリットを整理すると、
1)短時間で作業できる事
人間は繰り返し作業を行うことがコンピュータより苦手です。
繰り返し作業をしていると、疲れてきますので、品質も悪くなります

2)ユーザが変更する部分を極小化できるため、品質を保持できる
繰り返しパラメタの一部しかユーザの変更がされないため、品質の高いパラメタ作成ができるようになります

今回の一番のポイントは、”COPYコマンドのADDオペランドを使う”事です
ADDオペランドを使うことで、ファイルの追記が可能になります
(DISP=MODと考えていただければ良いです)

COPYコマンドはVOS3のTSDUTの機能です。
ADDオペランドがMVS互換か否かは各自で確認をお願いします

しかし、出力先のファイルは既存の順データセットまたはパラレルデータセットになります(区分メンバに直接出力できません)

ディスク初期化の制御文例(データ管理DMFVSS提供コマンド)
JCL例
xxxの部分を変えていく

今回作成したコマンドプロシジャ
DSN:PARM.PROC(VINIT)
コマプロ
上記のコマプロで意識したもう一つの理由は、追記したいパラメタを直接PARMMARG.JCLに書くのではなくて、一度DUMMYに書いたものを追記している点です
PARMMARG.JCLに直接書いていると、トラブルなどでコマプロが中断してしまった場合、せっかくの成果物を壊してしまう可能性があるためです

上記コマプロの実行方法
EXEC PARM.PROC(VINIT) ‘D00’

‘D00’が引数MNに代入されて処理されていくことになります

また、以下のように連続して実行すると、PARMMARG.JCLには以下の内容が書かれるはず
EXEC PARM.PROC(VINIT) ‘D00’
EXEC PARM.PROC(VINIT) ‘D01’
EXEC PARM.PROC(VINIT) ‘D02’

DSN:PARMMARG.JCL
出力例
Posted in 日立VOS3システム編 • • Top Of Page