Archive for '.基礎編' Category
11.1カタログの探索とデータセット情報の取得(LOCATEとOBTAIN)
一般のデータセットへのアクセスだけでなく、カタログやDASDボリュームのVTOC(索引)にアクセスするためのサービスも提供されています。現在ではわざわざプログラムなどを作らなくても、ISPFやユーティリティ、ISVソフト […]
10.1データセットを割り振る(DYNALLOC)
MVSではプログラムがアクセスするデータセットは、ジョブを実行するJCLのDD文で、あらかじめ定義しておくのが一般的です。バッチ処理においては、ほとんどのジョブがDD文による事前の定義を行っています。しかしオンライン処理 […]
10.2DD文定義情報を得る(DEVTYPEとRDJFCB)
プログラムを実行するには、JCLを作成し、使用するデータセットに対応したDD文を定義します。DD文にどのようなパラメーターが定義されているかによってプログラムの動きを変えたり、アクセスするデータセットの情報を得たりするこ […]
08.1TSO端末との通信(TPUTとTGET)
MVSにおけるアプリケーション・プログラムの基本はバッチ処理ですが、端末と直接会話できるオンライン処理もポピュラーな利用方法です。基幹業務システムに使うプログラムはCICSやIMSなどを使って動かしますが、簡単な処理や非 […]
07.1非同期事象の待ち合わせと通知(WAITとPOST)
システムプログラムでは「いつ来るかわからない」「いつ終わるかわからない」と言った事象(イベント)を待ち合わせることは多々あります。メインフレームでもイベントが発生・終了するまで、来たか?来たか?、終わったか?終わったか? […]
06.1プログラムのローディングと実行(LOAD,LINKとXCTL)
プログラムのローディングと実行は、一般のプログラムでも身近な機能です。規模の大きなプログラムでは複数のモジュールに分割して開発・管理・保守が行われます。複数のモジュールで構成されるプログラムの処理に関するMVSの機能を解 […]
05.2ダンプの書き出しとトレースの記録(SNAPとGTRACE)
プログラム(リージョン)のダンプを取得するにはDUMPオプション指定のABENDマクロを発行する方法があります。しかしABENDマクロではプログラムの実行はそこで終わってしまいます。プログラムを終わらせずにダンプを取るに […]
05.1プログラムをABENDさせる(ABEND)
実行中にデータやパラメーターの誤りを見つけた時、自ら論理の矛盾やデータの不整合がわかった時、プログラム自ら途中で処理を止めて実行を中止することがあります。原因や理由が明確ならばメッセージやログデータによってそれを指摘した […]
02.2インターバルタイマー(STIMER)
時間に関する機能には、日付と時刻の取得の他にインターバルタイマーがあります。間隔計時機構とも呼ばれ、一定時間おきに行う処理を作る際や一定時間プログラムの実行を止める場合などに利用されます。 10秒間プログラムの実行を停止 […]
04.1コンソールまたはSYSLOGにメッセージを出す(WTOとWTL)
プログラムで起きていることを状況に応じてメッセージで伝えることは重要です。特にエラーが起きてオペレーターの操作や判断を必要する場合、適切なメッセージはシステムの運用面で大きな利益をもたらします。どのような時にどのようなメ […]
03.1資源の逐次化(排他制御)を行う(ENQとDEQ)
MVSではあらゆるデータを資源(Resource)として扱うことができます。CPU自身、1つのDASDボリューム、1つのデータセット、データセット内の1つのレコード、実行するプログラム・モジュール、仮想記憶上の領域、など […]
02.1日付と時刻を得る(TIMEとTOD時計)
現在の日付と時刻を得る —-+—-1—-+—-2—-+—-3—-+—-4—-+—-5—-+—-6—-+—-7– TIME DEC GET CURRENT DATE […]
01.1仮想記憶域を獲得する(GETMAINとFREEMAIN)
プログラムで使うデータ領域には、あらかじめその大きさを固定できないものもあります。例えばデータセットを読み込む処理で、レコードを読み込む領域の大きさを実際のデータセットのレコード長に合わせるような場合です。考え得る最大の […]