IMSDB-プログラミング

DL / I呼び出しを含むアプリケーションプログラムは直接実行できません。代わりに、IMS DL / IバッチモジュールをトリガーするためにJCLが必要です。IMSのバッチ初期化モジュールはDFSRRC00です。アプリケーションプログラムとDL / Iモジュールは一緒に実行されます。次の図は、データベースにアクセスするためのDL / I呼び出しを含むアプリケーションプログラムの構造を示しています。

アプリケーションプログラムは、次のプログラム要素を介してIMS DL / Iモジュールとインターフェイスします。

  • ENTRYステートメントは、PCBがプログラムによって使用されることを指定します。

  • PCBマスクは、IMSから戻り情報を受け取る事前に構築されたPCBに保存されている情報と相互に関連しています。

  • 入出力域は、IMSデータベースとの間でデータセグメントをやり取りするために使用されます。

  • DL / Iの呼び出しは、フェッチ、挿入、削除、置換などの処理機能を指定します。

  • Check Status Codesは、操作が成功したかどうかを通知するために指定された処理オプションのSQL戻りコードをチェックするために使用されます。

  • Terminateステートメントは、DL / Iを含むアプリケーションプログラムの処理を終了するために使用されます。

セグメントレイアウト

現在、IMSは、データにアクセスするために高級プログラミング言語で使用されるセグメントで構成されていることを学びました。以前に見たライブラリの次のIMSデータベース構造を考えてみましょう。ここでは、COBOLでのセグメントのレイアウトを確認します。

01 LIBRARY-SEGMENT.
   05 BOOK-ID        PIC X(5).
   05 ISSUE-DATE     PIC X(10).
   05 RETURN-DATE    PIC X(10).
   05 STUDENT-ID     PIC A(25).
	
01 BOOK-SEGMENT.
   05 BOOK-ID        PIC X(5).
   05 BOOK-NAME      PIC A(30).
   05 AUTHOR         PIC A(25).
	
01 STUDENT-SEGMENT.
   05 STUDENT-ID     PIC X(5).
   05 STUDENT-NAME   PIC A(25).
   05 DIVISION       PIC X(10).

アプリケーションプログラムの概要

IMSアプリケーションプログラムの構造は、非IMSアプリケーションプログラムの構造とは異なります。IMSプログラムを直接実行することはできません。むしろ、それは常にサブルーチンとして呼び出されます。IMSアプリケーションプログラムは、IMSデータベースのビューを提供するプログラム仕様ブロックで構成されています。

アプリケーションプログラムとそのプログラムにリンクされているPSBは、IMS DL / Iモジュールを含むアプリケーションプログラムを実行するときにロードされます。次に、アプリケーション・プログラムによってトリガーされたCALL要求は、IMSモジュールによって実行されます。

IMSサービス

以下のIMSサービスは、アプリケーション・プログラムによって使用されます-

  • データベースレコードへのアクセス
  • IMSコマンドの発行
  • IMSサービス呼び出しの発行
  • チェックポイントコール
  • 通話を同期する
  • オンラインユーザー端末からのメッセージの送受信