バージョン 8.1.3

TP モニタを使用する場合の Adabas のインストール

このドキュメントでは、Adabas をバッチモードで、TP モニタとともにインストールするために必要な情報について説明します。 本書には、次のトピックが含まれています。


IBM プラットフォーム用の Adabas リンクルーチンの準備

このセクションでは、IBM プラットフォーム用の TP モニタの Adabas リンクルーチンの準備について説明します。 Adabas 8 リンクルーチンのソースモジュールは、Adabas 8 の基本ソースライブラリでは提供されません。 Adabas 8 リンクルーチンは、ZAP 経由またはリンクグローバルテーブルを使用してのみカスタマイズできます。

Adabas リンクルーチンのアドレッシングモードのアセンブリ指示

すべての Adabas 8 リンクルーチンには、AMODE および RMODE アセンブリ指示が含まれています。 これらのアセンブリ指示により、リンク JCL、JCS、または EXEC で、AMODE または RMODE リンケージエディタコントロールステートメントの競合が発生した場合、リンケージエディタは警告メッセージを生成します。

これらのアセンブリ指示は、各リンクルーチンに対して選択された AMODE および RMODE を記述するためにも使用されます。 リンクルーチン内外のこれらの指示が、実行中のリンクルーチンの実際のアドレッシングモードを変更しないことに注意してください。

Adabas 8 リンクルーチンの再リンク

特定の AMODERMODE の組み合わせで、Adabas 8 リンクルーチンを再リンクすると、リンケージエディタによって警告メッセージが生成されることがあります。 これは、リンクルーチンを構成するロードモジュールの ESD レコードの AMODE または RMODE の競合に関連している場合、かつ意図したアプリケーションプログラムのコールで結果のモジュールが実行される際に、モジュールに適切な AMODE および RMODE 属性が設定されている場合に限り、無視しても問題ありません。

注意が必要なのは、リンクルーチンの再リンク時に選択した属性でリンクルーチンを起動するときに、AMODE(24) アプリケーションが正常に動作するかどうかです。 これは、RMODE(ANY) 属性が関連付けられているリンクルーチンが、動的にロードされるにもかかわらず、AMODE(24) のプログラムによって起動される場合に特に重要です。 この場合、アドレスの例外によるアベンドを避けるため、リンクルーチンを AMODE(31)RMODE(24) で再リンクする必要があります。これは AMODE(24) アプリケーションはリンクルーチンが 16 MB 境界より上にある場合に、リンクルーチンを正常に起動できないためです。

Adabas 8 リンクルーチンはすべて、初期化後に AMODE(31) で実行されますが、コール元の AMODE でコール元に返されます。

注意:
CICS では、V8 リンクは AMODE(31) で実行されますが、実行中の CICS トランザクションの AMODERMODE は、Dataloc RDO パラメータによって決定されます。

バッチ/TSO 非リエントラントリンクルーチン ADALNKAMODE(31)RMODE(24) でアセンブルとリンクが行われています。これは AMODE(24) または RMODE(24) アプリケーションプログラムをサポートするための推奨コンフィグレーションです。 必要に応じて、AMODE(31)RMODE(ANY) で再リンクすることもできますが、すべてのコール元プログラムが AMODE(31) であることを確認できた場合のみにしてください。

ADALNKR バッチ TSO リエントラントリンクルーチンは、AMODE(31)RMODE(ANY) でリンクエディットされています。 このリンクルーチンが AMODE(24) のアプリケーションによってロードされる場合、AMODE(31)RMODE(24) で再リンクする必要があります。

ZOS Com-Plete モジュール ADALCO は、AMODE(31)RMODE(ANY) でアセンブルとリンクが行われています。 Com-plete TP モニタは、Com-plete Adabas インターフェイスルーチン TLOPADAB を通じて、ADALCO を起動する AMODE(24) または RMODE(24) プログラム間を切り替えるときに、適切な AMODE が選択されるようにします。

すべての V8 CICS リンクルーチンモジュール(ADACICSADACICTADACIC0ADACIRQ)は、AMODE(31)RMODE(ANY)でリンクエディットされています。 CICS はプログラムのロードと起動を、プログラムおよびトランザクション定義に関連付けられた DATALOC 値に基づいて管理します。

Adabas IMS インターフェイスリンクルーチン ADALNI は、AMODE(31)RMODE(ANY) でリンクエディットされています。 これは最近の IMS アプリケーション用に推奨されるコンフィグレーションです。インストール環境に AMODE(24) IMS アプリケーションが存在する場合は、ADALNIAMODE(31)RMODE(24) で再リンクすることもできます。

ADAUSER AMODE/RMODE について

Software AG では、すべてのバッチアプリケーションで ADAUSER モジュール経由で Adabas コールを起動することをお勧めしています。 このモジュールは、通常アプリケーションプログラムとリンクエディットされ、その後 ADARUN や ADAIOR/ADAIOS とともに適切なリンクルーチンをロードします。 ソースメンバには AMODE 31RMODE ANY としてコーディングされた AMODE 命令と RMODE 命令があります。 これはさまざまなアプリケーションプログラムに対して ADAUSER をアセンブルおよびリンクするための最も柔軟なコンフィグレーションです。 しかし、ADAUSER が動的にロードされる場合は、再アセンブルの前に RMODE アセンブラ指示を RMODE 24 に変更する必要があります。または、ADAUSER モジュールを AMODE(31)RMODE(24) で再リンクして、AMODE 24 アプリケーションが 16 MB 境界の下で適切に起動できるようにする必要があります。

UES 有効リンクルーチン

Adabas 8 バッチおよび TSO リンクルーチンのソースコードは Adabas 8 には含まれていません。 これらのモジュールは、LNKUES で、変換テーブル ASC2EBC および EBC2ASC とともに提供されます。 このバージョンの Adabas 8 では、これらの UES コンポーネントとともに実行してください。 バージョン 8 ターゲットデータベースが UES 有効データベースではない場合、リンクルーチンがそれを検出し、コールが UES 変換を必要とするクライアントからのものであった場合、Adabas レスポンス 228 を返します。

Adabas 8 Com-plete リンクルーチンは、LCOGBL モジュールの設定から、UES サポートが必要かどうかを判断します。LCOGBL モジュールの設定は、Com-plete を使用する Adabas のインストールで修正およびアセンブルします。 詳細については、「Com-plete を使用する場合の Adabas のインストール」を参照してください。

このセクションでは、次のトピックについて説明します。

デフォルトまたはカスタマイズした変換テーブル

デフォルトでは、Adabas 8 リンクルーチンのロードモジュールは、LNKUES およびデフォルト変換テーブルとリンクされています。

LNKUES は Adabas バッファのデータを変換し、コール元のアーキテクチャに応じて、必要な場合はバイトスワップを行います。

標準的な変換テーブルは次の 2 つです。

Adabas 変換テーブルペアについては、「変換テーブル」を参照してください。

ロードモジュールとリンクされたデフォルトの変換テーブルを使用する代わりに、独自のカスタマイズした変換テーブルを準備し、テーブルを再アセンブルして、配布された LNKUES または LNKUES7 モジュールとリンクすることもできます。

注意:

  1. ただし、変換テーブルの変更が必要になるのは、コントロールブロックのアディション 1(ユーザー ID)またはアディション 3 フィールドで、"A~Z、a~z、0~9" 以外の言語固有の文字を使用する必要のある特殊な場合のみです。
  2. LNKUES モジュールは機能的にはリエントラントですが、Adabas ロードライブラリでは、その方法でリンクされていません。
  3. LNKUES ロードモジュールと変換テーブルをリンクするときに、リンケージエディタは、リンクするモジュールのリエントラントまたは再利用可能ステータスに関する警告メッセージを生成することがあります。 これらの警告メッセージは無視できます。
  4. UES サポート用の Adabas 8 リンクルーチンを再リンクする場合、LNKUES を組み込む必要があります。 これにより、新しい Adabas 8 アプリケーションが確実に Adabas 8 ダイレクトコールとコントロールブロックをサポートするようになります。

LNKUES と LNKUES7 のコール

LNKUES は、Adabas リンクルーチン要求(X’1C’)コールおよび応答(X’20’)コールで、コミュニケーション ID の先頭バイトに X’01’ が含まれ、2 バイト目に EBCDIC(X’04’)ビットが設定されていない場合にのみ、呼び出されます。 Adabas 8 要求では、LNKUES は UEXIT1 の前に制御を受け取ります。 Adabas 8 応答では、LNKUES は UEXIT2 の後に制御を受け取ります。

z/OS 用の Adabas 8 ジョブのユニバーサルエンコーディングサポート

次のリストは、z/OS 環境の Adabas リンクルーチンでユニバーサルエンコーディングサポートを管理するためのサンプルジョブです。

サンプルジョブ 説明
LNKGCICS CICS グローバルテーブルをアセンブルし、LNKUES およびデフォルト変換テーブル ACS2EBC、EBC2ASC とリンクします。
LNKLCO8 Com-plete リンクグローバルテーブルを、LNKUES およびデフォルト変換テーブル ACS2EBC、EBC2ASC とリンクします。
LNKLNI8 IMS リンクルーチンを、LNIGBL リンクグローバルテーブル、LNKUES、およびデフォルト変換テーブル ACS2EBC、EBC2ASC とリンクします。
LNKLNK8 バッチリンクルーチンを、LNKGBLS リンクグローバルテーブル、LNKUES、およびデフォルト変換テーブル ACS2EBC、EBC2ASC とリンクします。
LNKLNKR8 リエントラントバッチリンクルーチンを、LNKRGBL リンクグローバルテーブル、LNKUES、およびデフォルト変換テーブル ACS2EBC、EBC2ASC とリンクします。

これらのジョブを使用する前に、編集して JOB カードを準備し、ロードライブラリ名を更新する必要があります。また、必要に応じて、環境に合わせたその他の変更を行うこともできます。 詳細については、ジョブ内に記述されているコメントを参照してください。

Adabas 8 ルーチンの UES サポートの無効化

このセクションでは、何らかの理由で必要になったときに、Adabas 8 の IMS/TM、Com-plete、およびバッチ/TSO リンクルーチンの UES サポートを無効化する方法について説明します。

Start of instruction setリンクルーチンの UES サポートを無効化するには、次の手順に従います。

  1. 関連するリンクルーチンのリンクグローバルテーブルを編集します。 UES パラメータを NO に設定します。

  2. 必要に応じて、ソースモジュールの EQU 文とその他の指示に必要な変更を加えた後、リンクグローバルテーブルをアセンブルします。

  3. Adabas リンクルーチンを新しくアセンブルされたリンクグローバルテーブルとリンクします。このとき、UES コンポーネント(LNKUES、ASC2EBC、EBC2ASC)を組み込まないでください。

特定のリンクルーチンの詳細については、「Adabas 8 配下での IMS/TM を使用する場合の Adabas のインストール」、「Adabas 8 配下での Com-plete を使用する場合の Adabas のインストール」、および「Adabas 8 配下での Batch/TSO を使用する場合の Adabas のインストール」を参照してください。

Top of page

Adabas 8 配下での IMS/TM を使用する場合の Adabas のインストール

このセクションでは、Adabas 8 で IMS/TM TP モニタを使用する場合の Adabas リンクルーチンのインストールについて説明します。

IMS が Adabas データベースとコミュニケートする場合は、Adabas リンクルーチンが必要になります。 Adabas バージョン 8 実行可能デフォルトリンクルーチンは、AIIvrs.LOAD ライブラリの メンバ ADALNI で提供されます(vrs はテープで提供される最新の Adabas バージョン番号)。 このリンクルーチンを変更する場合は、メンバ ADALNI8 を使用してください。 ADALNI8 は、準備したリンクグローバルモジュールとリンクする必要があります。また、アプリケーションが IMS メッセージ処理プログラム(MPP)リージョンをコールしたときに、IMS MPP によってロードされる、最終的な ADALNI ロードモジュールを作成するために必要なリンクルーチンもすべてリンクする必要があります。 メンバ ADALNI と ADALNI8 には一部デフォルトが設定されています。

このセクションでは、次のトピックについて説明します。

Adabas 8 の IMS/TM リンクルーチン

IMS/TM 用の Adabas 8 リンクルーチンを次に示します。

ADALNI および ADALNK は、デフォルトで CSECT 名および ENTRY 指示 ADABAS を使用します。

Adabas バージョン 8 の ADALNI と ADALNK は UES が有効な状態で提供されています。 詳細は、「UES 対応データベースの接続」セクションを参照してください。

このセクションでは、ADALNI と ADALNI8 の使い方についてのみ説明します。 ADALNK の使い方については、「バッチ/TSO を使用する場合の Adabas インストールの全般的な考慮事項」を参照してください。

Adabas ユーザー ID の取得

Adabas ユーザー ID は、ADALNI ロードモジュールの実行時に IOPCB の LTERM フィールド(先頭 8 バイト)から取得されます。 ユーザー ID は Adabas ユーザーブロックフィールド UBUID に格納され、Adabas コミュニケーション ID の末尾 8 バイトに使用されます。

SAF ID の取得

SAF ID は、IBM の RACF または CA の ACF2 などの外部セキュリティパッケージが存在する場合に、Adabas SAF Security(ADASAF)で使用するためにサポートされています。 SAF ID は、ADALNI ロードモジュールの実行時に、IOPCB のユーザー ID フィールド(33~40 バイト目)から取得されます。 有効な SAF ユーザー ID を取得するには、IMS インストール環境で SAF サインオンがアクティブになっている必要があります。また、ユーザーが IMS/SIGN コマンドを実行して、IMS 端末にログオンしている必要があります。

Adabas 8 配下でのインストール手順

Start of instruction setデフォルト設定を変更し、IMS 用の Adabas 8 リンクルーチンを準備するには、次の手順に従います。

  1. Adabas 8 AIIvrs.SRCE ライブラリに含まれているサンプルメンバ LNIGBL を変更可能な任意のユーザーソースライブラリにコピーします。 これらのモジュールには、リンクコンポーネントのデフォルト設定を作成するのに使用する LGBLSET パラメータが含まれています。 LGBLSET パラメータの詳細については、「バージョン 8 でのソースメンバデフォルトの修正(LGBLSET マクロ)」に記載されています。

  2. ユーザーソースライブラリの LNIGBL メンバを修正します。

    注意:
    OPSYS パラメータは ZOS に設定する必要があります。

  3. サンプルジョブ ASMGBLS を、ジョブの先頭で示されているとおりに修正および実行します。 ASMGBLS は Adabas 8 ADAvrs.JOBS ライブラリ内にあります。 完全に修正する場合、ジョブの SET ステートメントが前の手順で準備した LNIGBL メンバを参照し、NAME リンクエディットコントロールステートメントが LNIGBL メンバの GBLNAME パラメータによって指定される名前を参照している必要があります。

    修正したら、ASMGBLS ジョブを実行してリンクグローバルモジュールをアセンブルおよびリンクエディットします。

    新しいリンクグローバルモジュールが、ASMGBLS ジョブで指定されたユーザーロードライブラリに生成されます。モジュール名は LNIGBL の GBLNAME パラメータで指定された名前になります。

  4. サンプルジョブ LNKLNI8 をユーザーソースライブラリにコピーし、前の手順で作成した新しいリンクグローバルモジュールおよびその他の必要な出口が ADALNI8 基本モジュールとリンクするように修正します。 サンプルジョブの修正手順は、ジョブの先頭に記載されています。 このジョブの出力先を適切なユーザーロードライブラリに設定するようにしてください。 LNKLNI8 は Adabas 8 AIIvrs.SRCE ライブラリ内にあります。

    このジョブで生成されるモジュールは ADALNI です。

  5. IMS MPP リージョンで使用できるロードライブラリに ADALNI モジュールを配置します。

    これで Adabas 8 リンクルーチンの準備は完了です。

Top of page

CICS を使用する場合の Adabas インストールの全般的な考慮事項

マクロレベルリンクルーチン ADALNC は z/OS 配下で実行する CICS のすべてのレベルでサポートされなくなりました。 これらの環境では、現行バージョンの Adabas を実行し、提供されるコマンドレベルリンクコンポーネントを使用する必要があります。

Adabas コマンドレベルリンクルーチンは CICS トランザクションサーバー(CTS)環境をサポートしています。

注意:

  1. USERID フィールドに対する OPID オプションは CICS/TS 1.1 以上ではサポートされていません。したがって、コマンドレベルリンクルーチンも提供されていません。
  2. Adabas 8 SVC では、Adabas 7.4 以降の CICS コンポーネントが必要になります。

次のセクションでは、Adabas/CICS に固有のインストールと操作について、CICS 側の観点から説明します。

Adabas Bridge for VSAM の考慮事項

CICS 配下で Adabas Bridge for VSAM 4.2 もしくは 5.1 を実行している場合、CICS 3.3 以上および Adabas バージョン 7.1 以上のコマンドレベルリンクルーチンを実行しなければなりません。

CICS MRO 環境要件

Adabas CICS コマンドレベルリンクルーチンを CICS マルチプルリージョンオプション(MRO)で実行する場合、MRO パラメータを "YES" に設定し、NETOPT パラメータのデフォルト値を使用する必要があります。 Adabas 8 インストールでは、これらのパラメータは、LGBLSET マクロで指定します。詳細については、「バージョン 8 でのソースメンバデフォルトの修正(LGBLSET マクロ)」を参照してください。

Adabas をコールするアプリケーションが複数アプリケーションリージョン間に渡る場合、LGBLSET NTGPID パラメータを使用して、Adabas SVC によって使用される Adabas コミュニケーション ID に 4 バイトのリテラルを指定できます。

あるいは、次の処理を行うリンクルーチンのユーザー出口を作成することができます。

この出口はリンクユーザー出口 1(LUEXIT1)です。 この出口によって、複数リージョンでトランザクションが発生する場合でも、Adabas SVC は、Adabas コマンドキューエレメント(CQE)に適切な Adabas コミュニケーション ID を提供することができます。

CICS ストレージ保護の使用

ストレージ保護機構(STGPROT)は、CICS/ESA 3.3 で導入されました。 ストレージ保護は、ストレージプロテクションキーを使用することによって、CICS ストレージまたはユーザーストレージにアクセスする許可をリソースに与えます。

トランザクションアイソレーションは CICS/ESA 3.3 配下で導入されたストレージ保護メカニズムの拡張です。 CICS リソースをサブスペースに隔離することにより、さらに強力に CICS リソースを保護します。 これは、ユーザーキーリソースを相互に保護し、CICS のカーネルから CICS キーリソースを保護します。 トランザクションアイソレーションは CICS TRANISO システム初期化(SIT)パラメータを使用してグローバルに有効にできます。また、新しいリソース定義 ISOLATE キーワードで各 CICS トランザクションを有効にできます。 トランザクションアイソレーションによって、CICS システムの存続中および CICS システムで実行しているすべてのトランザクションに有効でなければならない CICS リソースが制限されます。

Adabas 8 インストールでは、CICS リンクルーチンはタスク関連のユーザー出口、モジュール ADACICT を常に使用するため、ストレージアイソレーションはデフォルトでサポートされています。

リソース定義のサンプル

z/OS および VSE 用の CICS/TS 1.1 以上の場合、CICS プログラムやトランザクションの定義およびインストールには、RDO(リソース定義オンライン)を使用することをお勧めします。 CICS ドキュメントでは、現在、リソースの定義に PPTと PCT エントリの再アセンブリを推奨していません。

メンバ DEFADA8 のサンプル DEFINE ステートメントを修正して、IBM DFHCSDUP への入力として使用し、Adabas CICS コマンドレベルコンポーネントを定義します。 DFHCSDUP ユーティリティに関する情報については、該当する IBM CICS ドキュメントを参照してください。 DEFADA8 メンバは Adabas 8 CICS コマンドレベルソースライブラリ(ACIvrn.SRCE)にあります。

Top of page

Adabas 8 配下での CICS を使用する場合の Adabas のインストール

提供されるモジュール

次の表に、Adabas 8 配下で CICS を使用する場合の Adabas のインストールをサポートするための、Adabas インストレーションで提供されるモジュールを示します。

モジュール 説明
ADACICS CICS コマンドレベルモジュール
ADACICT CICS タスク関連ユーザー出口(TRUE)モジュール

Adabas 8 配下でのインストール手順

Start of instruction setAdabas 8 CICS リンクルーチンコンポーネントをインストールするには、次の手順に従います。

  1. Adabas 配布ライブラリから Adabas 8 CICS ロードモジュールを CICS DFHRPL 連結内のロードライブラリにコピーします(Adabas 8 ADAvrn.JOBS ライブラリのサンプルメンバ CPYCICSM を参照)。

  2. Adabas 8 ACIvrn.SRCE ライブラリ内のサンプルメンバ CICSGBL を修正します。 このメンバには、デフォルトのインストールパラメータ(LGBLSET)設定のサンプルが含まれています。 このメンバの何を修正するかについては、「バージョン 8 でのソースメンバデフォルトの修正(LGBLSET マクロ)」を参照してください。

    注意:
    OPSYS パラメータは ZOS に設定する必要があります。

  3. 修正した CICSGBL メンバを固有の名前で適切なユーザーソースライブラリに保存します。

  4. サンプルジョブ ASMGBLS を、ジョブの先頭で示されているとおりに修正および実行します。 ASMGBLS は Adabas 8 ADAvrs.JOBS ライブラリ内にあります。 完全に修正する場合、ジョブの SET ステートメントが前の手順で準備した CICSGBL メンバを参照し、NAME リンクエディットコントロールステートメントが CICSGBL メンバの GBLNAME パラメータによって指定される名前を参照している必要があります。

  5. ACIvrn.SRCE ライブラリの LNKGCICS の内容を確認してから実行し、前の手順で新しくアセンブルしたグローバルテーブルを任意のユーザー出口または Software AG 製品出口とリンクします。 特定の Software AG 製品出口の詳細については、製品のインストールマニュアルを参照してください。LNKGCICS メンバは特定の命令を提供します。 グローバルテーブルをリンクするロードライブラリは、DFHRPL ライブラリ連結で CICS から利用可能にする必要がある点に注意してください。 任意のユーザー出口または Software AG リンクルーチン出口は、このモジュールとリンクエディットする必要があります。

  6. DEFADA8 メンバを修正して、前の手順(手順 4)で作成したリンクルーチングローバルデフォルトテーブルの正しい名前を指定します。 デフォルトのモジュール名は CICSGBL です。 必要に応じて、このメンバのその他の CICS インストール値を修正します。

    注意:
    リンクグローバルテーブルの名前以外の Adabas 8 CICS プログラム名は、事前に定義されており、変更できません(ADACICS、ADACICT、ADACIRQ、ADACIC0 など)。

  7. IBM DFHCSDUP ユーティリティを実行して、修正した DEFADA8 を入力として使用する CICS の CICS CSD ファイルを更新します。

  8. CICS PLTPI テーブルを修正して、Adabas CICS タスク関連ユーザー出口(TRUE)を有効にして開始するエントリを追加します。 レガシー Adabas TRUE および新しいバージョン 8 の TRUE を有効にして、PLT の第 2 フェーズで開始するには、Adabas 8 ACIvrn.SRCE ライブラリのメンバ ADAPLTXX をサンプルとして使用してください。

  9. 修正した PLTPI テーブルをアセンブルし、目的の CICS リージョンで利用可能なライブラリにリンクします。

  10. CICS 起動 JCL を修正して、手順 4 で準備したリンクグローバルテーブルの名前を指定する DDLINK DD ステートメントを追加します。 この作業の詳細については、「CICS 用の DDLINK 入力の準備」を参照してください。

  11. CICS を開始し、コンソールに表示される Adabas TRUE モジュールのインストールに関連するメッセージに注意します。

CICS 用の DDLINK 入力の準備

Adabas 8 CICS リンクルーチンの操作は、各 CICS アドレススペースごとにカスタマイズできます。リンクグローバルテーブルをアセンブルおよびリンクし、そのテーブルを実行時に CICS から利用できるようにします。 テーブルには規則に従った任意のロードモジュール名を付けることができます。CICS が識別可能で、CICS リージョンで使用されている既存のロードモジュール名と競合しないことが条件です。

グローバルテーブルは CICS にプログラムとして定義する必要があります。 Adabas 8 ACIvrn.SRCE ライブラリのサンプル DEFADA8 メンバの内容を確認して、CICSGBL というサンプルの定義を参考にしてください。 DEFADA8 メンバは、必要に応じて修正し、DFHCSDUP ユーティリティへの入力として使用します。このユーティリティで、CICS CSD の Adabas 8 コンポーネントを定義します。 この手順は、Adabas 8 配下のインストール手順でも説明されています。 DFHCSDUP ユーティリティの詳細については、適切な IBM CICS ドキュメントを参照してください。

CICS リージョンの各リンクルーチングローバルテーブルには固有の名前があります。 Adabas 8 CICS リンクルーチンは、外部の一時的なデータキューから、この名前を指定されます。 キュー名は ADAI です。この定義も DEFADA8 メンバに記述されています。

Adabas 8 タスク関連ユーザー出口(TRUE)を ADACIC0 プログラムから有効にすると、CICS の起動時または ADA0 トランザクション発生時に、ADACIRQ モジュールが起動され、ADAI 一時データキューが読み込まれます。 読み込まれたデータは、ファイルまたはパーティション分割されたデータセットメンバ内に提供されるか、DDLINK DD ステートメントによってシステムに入力されます。 CICS JCL を修正してこの DD ステートメントを指定する必要があります。修正しない場合は、デフォルトのリンクグローバルテーブル名 "CICSGBL" が使用されます。 リンクグローバルテーブルが見つからなかった場合、Adabas 8 TRUE は有効にならず、開始されません。

読み込まれる入力データのフォーマットは次のとおりです。

内容 説明
ADALINK このキーワードが 1~6 カラム目に存在する必要があります。
スペース 7 カラム目にスペース(空白)が必要です。
LGTNAME=

または

LGT=

7 カラム目のスペースの後、8 カラム目からキーワード LGTNAME または LGT とそれに続く等号(=)が必要です。
module-name LGTNAME または LGT キーワードに続く等号の後ろに、準備したグローバルテーブルのモジュール名が必要です。

例えば、CICS JCL に次のような文を追加します。

//DDLINK DD  *
ADALNK LGTNAME=CICSGBL
/*

この例では、"CICSGBL" という名前のリンクデフォルトグローバルテーブルを準備し、アセンブルおよびリンクエディットして、この CICS に定義する必要があります。

Top of page

Adabas 8 用 CICS ハイパフォーマンススタブルーチンのインストール

このセクションでは、Adabas 8 で使用する CICS ハイパフォーマンススタブルーチンのインストールについて説明します。 ここで説明するモジュールとインストール手順は、既存の Adabas 8 アプリケーションを引き続き使用できるように構成されています。

Adabas ハイパフォーマンススタブルーチンは、Natural バージョン以外の言語(アセンブラ、COBOL、PL/I など)で書かれたアプリケーションに対する Adabas CICS コマンドレベルリンクコンポーネントで利用可能なダイレクトコールインターフェイス(DCI)機能を拡張します。

注意:
スタブルーチンは Adabas CICS コマンドレベルリンクコンポーネントで使用する必要があります。 スタブルーチンは Adabas CICS/VSE マクロレベルリンクコンポーネントで正常に機能しません。 Adabas バージョン 8 ライブラリで提供される LNCSTUB モジュールは、Adabas バージョン 7.4 CICS リンクルーチンを使用しても正常に動作します。

DCI によって CICS/TS アプリケーションから、Adabas コマンドレベルリンクルーチン経由での Adabas コールが可能になります。 そのため、EXEC CICS LINKと EXEC CICS RETURN コマンドセットを使用してプログラムコントロールを転送するときのオーバーヘッドが回避されます。 ハイパフォーマンススタブまたは Natural 3.1 以上からのイニシャルコール(IC)コマンドで正しい環境が設定されると、DCI によって BALR インターフェースの使用が許可されます。

ハイパフォーマンススタブルーチンはアセンブラ言語で記述されています。 アプリケーションプログラムとリンクすると、アプリケーションと Adabas CICS コマンドレベルリンクコンポーネントの間のインターフェースとして使用できます。 また、Adabas コマンドを実行するときに、アプリケーションプログラムから CALL ステートメントを発行して、スタブルーチンにアクセスできます。

CICS/TS 1.1 以上のアプリケーションは、ハイパフォーマンススタブから次のような効果を得られます。

このセクションでは、次のトピックについて説明します。

制限と必要条件

次の制限と必要条件がハイパフォーマンススタブルーチンに適用されます。

  1. CICS/TS 1.1 以上

    Adabas ハイパフォーマンススタブルーチンは CICS/TS 1.1 以上でサポートされます。

    アプリケーションがハイパフォーマンススタブルーチンを正常に実行するには、少なくとも 24 バイトの CICS トランザクションワークエリア(TWA)、または少なくとも 32 バイトの CICS COMMAREA が必要です。 Adabas 8 LNCSTUB モジュールおよび Adabas 8 インストール確認プログラムは、IVP プログラム、LNCSTUB、および CICS の間のデータ受け渡しに、CICS TWA ではなく、CICS COMMAREA を使用するようになりました。 CICS COMMAREA の使用により、CICS TWA の場合に比べて、次のような利点があります。

  2. CICS コマンドレベルリンク

    アプリケーションプログラムは CICS コマンドレベルインターフェイスと命令を使用して書かれる必要があり、CICS マクロレベルコマンドは発行できません。

  3. サポートされるプログラミング言語

    アプリケーションプログラムは ALC(アセンブラ言語)、VS/COBOL、COBOL II、COBOL/LE、PL/I、または C で作成できます。 インストール確認プログラム(IVP)は、Adabas ソースライブラリに ALC および COBOL で提供されます。

特定のプログラミング言語に必要な追加条件については、この章の各言語に関連するセクションを参照してください。

スタブコンポーネント

タイプ メンバ 説明
ソース

ADAGSET
ALCSIVP
COBSIVP
LNCSTUB

LNCSTUB と ALCSIVP のアセンブルに必要なマクロ
ALC インストール確認用のソース
COBOL インストール確認用のソース
ハイパフォーマンススタブ用ソース

ジョブ制御

JCLALCI
JCLCOBI
JCLLNCS

ACL インストール確認用のサンプル JCL
COBOL インストール確認用のサンプル JCL
LNCSTUB(ハイパフォーマンススタブ)用のサンプル JCL

インストールの概要

Adabas CICS ハイパフォーマンススタブルーチンをインストールするには、次の手順に従います。

  1. LNCSTUB モジュールを編集、プリプロセス、アセンブル、リンクします。

  2. RDO または DFHCSDUP ユーティリティを使用して、アプリケーションプログラム、オプションの IVP、CICS リンクコンポーネントを CICS に定義します。

  3. (オプション)適切なインストール確認プログラム(IVP)を修正、プリプロセス、コンパイルまたはアセンブル、リンクし、実行します。

  4. アプリケーションプログラムを修正、プリプロセス、コンパイルまたはアセンブル、リンクし、実行します。

詳細については、次の手順を参照してください。

手順 1:LNCSTUB モジュールのインストール

Adabas CICS ハイパフォーマンススタブルーチンはアセンブラ言語のモジュールで、配布テープのメンバ LNCSTUB にソース形式で提供されます。

手順 1 では、次の作業を行います。

ADAGSET マクロの編集

注意:
ADAGSET マクロの編集については、「ソースメンバデフォルトの修正(ADAGSET マクロ)」を参照してください。

ライブラリ内の ADAGSET マクロを編集します。これは、LNCSTUB をアセンブルするときに、SYSLIB 連結で使用できます。

LNCSTUB と ALCSIVP IVP モジュールは両方とも次の ADAGSET キーワードから値を取得するようになります。

(オプション)LNCSTUB エントリポイントの別名を設定します。

Adabas 8 LNCSTUB モジュールには、アセンブラの GBLC 変数(&STBNAME)があります。この変数にはエントリポイントの別名を設定し、コール元プログラムで使用できます。 必要に応じて、LNCSTUB ソースメンバの先頭近くにある SETC ステートメントを修正し、別名を設定します。 アプリケーションプログラムは、"LNCSTUB"、または SETC ステートメントで設定したエントリポイントの別名を使用して、コールを発行することができます。

メンバ JCLLNCS の修正

メンバ JCLLNCS を使用して LNCSTUB モジュールをプリプロセス、アセンブル、リンクします。 この JCL を環境に合わせて修正するには、メンバの JOB カードと次の表に示す記号の値を変更します。

説明
&SUFFIX CICS トランスレータに使用する接尾値。 デフォルト値は 1$。
&ASMBLR LNCSTUB ソースコードをアセンブルするために使用されるアセンブラプログラムの名前(ASMA90)。
&M 処理するメンバ名。LNCSTUB または ALCSIVP を指定します。
&STUBLIB LNCSTUB ロードモジュールを挿入するためのロードライブラリの名前。 このライブラリはアプリケーションプログラムをリンクするとき、使用可能である必要があります。
&INDEX アセンブラ用の SYSLIB DD ステートメントで使用する CICS マクロライブラリに対するハイレベル修飾子。
&INDEX2 トランスレータ STEPLIB DD ステートメントおよびリンクステップの SYSLIB に使用する CICS ロードライブラリに対するハイレベル修飾子。
&ADACOML ADACB、ADAGDEF、ADAGSET、および LNCDS コピーコードとマクロが存在する Adabas コマンドレベルソースライブラリの名前。
&ADASRCE 追加コピーコードまたはマクロ展開に使用する Adabas ソースライブラリの名前。
&STBSRCE 配布した Adabas CICS ハイパフォーマンススタブ LNCSTUB が存在するソースライブラリの名前。
&MAC1 プライマリシステムマクロライブラリ(通常は SYS1.MACLIB)。
&OUTC SYSPRINT、SYSOUT メッセージの出力クラス。
&REG ステップリージョンサイズ。
&NCAL リンケージエディタ NCAL パラメータの値。 推奨値は NCAL です。
&LSIZE リンケージエディタに使用されるプライマリおよびセカンダリテーブルサイズ。
&WORK テンポラリデータセットとユーティリティデータセットに使用する DASD デバイスタイプ。
LNCSTUB モジュールのプリプロセス、アセンブル、リンク

31 ビット命令が使用されているため、CICS プリプロセスの後、LNCSTUB モジュールをアセンブルするときに、ハイレベルアセンブラ(ASMA90)を使用する必要があります。

注意:
LNCSTUB モジュールは、リエントラントまたは再利用可能としてリンクできます。 リエントラントでリンクした場合、自動的に再利用可能になります。再利用可能でリンクした場合、自動的にリエントラントにはなりません。

CICS マクロライブラリの他に、Adabas CICS コマンドレベルソースライブラリと標準 Adabas ソースライブラリをアセンブリステップの SYSLIB DD ステートメントに指定する必要があります。

LNCSTUB をアプリケーションプログラムから利用可能にします。

LNCSTUB モジュールにはエントリ名 ADABAS があります。このエントリ名は、アプリケーションプログラムがパラメータリスト付きで LNCSTUB に制御を渡すときに CALL ステートメントのオブジェクトとして使用できます。 LNCSTUB に対する言語固有のコール規則については、このセクションで後述します。

LNCSTUB モジュールには、&STBNAME の値を設定するための、エントリ名 LNCSTUB または SETC ステートメントで記述したエントリ名の別名があります。 どちらの値も、アプリケーションプログラムからパラメータリスト付きで LNCSTUB に制御を渡すときに、CALL ステートメントのオブジェクトとして使用できます。 LNCSTUB に対する言語固有のコール規則については、このセクションで後述します。

LNCSTUB ロードモジュールは DCI 機能を使用するためにアプリケーションプログラムのリンクステップで有効にする必要があります。

注意:
同じステップで、CICS ロードライブラリを有効にしてください。そうでないと、CICS スタブモジュールに対する外部参照が未解決になります。

LNCSTUB ロードモジュールはアプリケーションプログラムをリンクするとき組み込まれるので、アプリケーション言語のアセンブラやコンパイラから利用できるライブラリに設置してください。

手順 2:(オプション)IVP のインストールと実行

2 つのインストール確認プログラム(IVP)がソース形式で 提供されています。1 つはアセンブラ言語用、もう 1 つは COBOL/VS 用です。 これらのプログラムはユーザーアプリケーションに Adabas ハイパフォーマンススタブルーチンを実装するためのサンプルです。 また、LNCSTUB モジュールの適切なインストールを確認する方法も提供します。

このセクションでは、これらの IVP について 1 つずつ説明します。

注意:
2 つのインストール確認プログラム ALCSIVP と COBSIVP は、Software AG が提供するデモンストレーションファイル EMPLOYEES のフィールド AA と AE のみを使用します。 Software AG が提供するデモンストレーションファイルについての詳細は、 z/OS インストレーション指示の「デモンストレーションファイルのロード」を参照してください。

アセンブラ IVP(ACLSIVP)のインストールと実行

LNCSTUB モジュールを使用する Adabas DCI のデモと確認のために、ソースメンバ ALCSIVP が提供されています。 このプログラムは、従来の CICS LINK/RETURN メカニズムを使用して一連の Adabas コマンドを発行し、出力データの一部を表示します。次に Adabas DCIと LNCSTUB サブプログラムを使用して同じコール順序を再実行します。

Start of instruction setアセンブラ IVP(ACLSIVP)をインストールして実行するには、次の手順に従います。

  1. ソースメンバ ALCSIVP の修正

  2. サンプルジョブストリーム JCLALCI の修正

  3. 修正したサンプル JCLALCI メンバを使用して ALCSIVP をプリプロセス、アセンブル、リンクします。

  4. CICS システムに次の RDO エントリを追加するか、RDO 機能を使用して ALCSIVPプログラムを実行するための STB1 トランザクションを追加します。

    DEFINE PROGRAM(ALCSIVP) GROUP(ADABAS)
    DESCRIPTION(ADABAS s ASSEMBLER IVP FOR HIGH-PERFORMANCE STUB)
    LANGUAGE(ASSEMBLER) RELOAD(NO) RESIDENT(NO) USAGE(NORMAL)
    USELPACOPY(NO) STATUS(ENABLED) CEDF(YES) DATALOCATION(ANY)
    EXECKEY(USER) EXECUTIONSET(FULLAPI)
    
    DEFINE TRANSACTION(STB1) GROUP(ADABAS)
    DESCRIPTION(TRANSACTION TO EXECUTE THE ASSEMBLER IVP FOR HIGH-PERFORMANCE STUB)
    PROGRAM(ALCSIVP) TWASIZE(32) PROFILE(DFHCICST) STATUS(ENABLED)
    TASKDATALOC(ANY) TASKDATAKEY(USER) STORAGECLEAR(NO)
    RUNAWAY(SYSTEM) SHUTDOWN(DISABLED) ISOLATE(YES) DYNAMIC(NO)
    PRIORITY(1) TRANCLASS(DFHTCL00) DTIMOUT(NO) INDOUBT(BACKOUT)
    RESTART(NO) SPURGE(NO) TPURGE(NO) DUMP(YES) TRACE(YES)
    RESSEC(NO) CMDSEC(NO)
  5. STB1 トランザクションを起動して ALCSIVP を実行します。 ALCSIVP を実行すると LNCSTUB モジュールが確認されます。

COBOL IVP(COBSIVP)のインストールと実行

メンバ COBSIVP は Adabas DCI と COBOL プログラムの使用例です。 CICS LINK/RETURN 機能から実行した一連の Adabas コールによって出力行が作成され、COBIVP がこれを画面に表示します。続いて、DCI を使用してこれらの Adabas コマンドを再実行します。

Start of instruction setCOBOL IVP(COBSIVP)をインストールして実行するには、次の手順に従います。

  1. ソースメンバ COBSIVP の修正

  2. サンプルジョブストリーム JCLCOBI の修正

  3. COBSIVP のプリプロセス、コンパイル、リンク

  4. CICS システムに次の RDOエントリを追加するか、RDO 機能を使用して COBSIVP プログラムを実行する STB2 トランザクションを追加します。

    DEFINE PROGRAM(COBSIVP) GROUP(ADABAS)
    DESCRIPTION(ADABAS s COBOL IVP FOR HIGH-PERFORMANCE STUB)
    LANGUAGE(COBOL) RELOAD(NO) RESIDENT(NO) USAGE(NORMAL)
    USELPACOPY(NO) STATUS(ENABLED) CEDF(YES) DATALOCATION(ANY)
    EXECKEY(USER) EXECUTIONSET(FULLAPI)
    
    DEFINE TRANSACTION(STB2) GROUP(ADABAS)
    DESCRIPTION(TRANSACTION TO EXECUTE THE COBOL IVP FOR HIGH-PERFORMANCE STUB)
    PROGRAM(COBSIVP) TWASIZE(32) PROFILE(DFHCICST) STATUS(ENABLED)
    TASKDATALOC(ANY) TASKDATAKEY(USER) STORAGECLEAR(NO)
    RUNAWAY(SYSTEM) SHUTDOWN(DISABLED) ISOLATE(YES) DYNAMIC(NO)
    PRIORITY(1) TRANCLASS(DFHTCL00) DTIMOUT(NO) INDOUBT(BACKOUT)
    RESTART(NO) SPURGE(NO) TPURGE(NO) DUMP(YES) TRACE(YES)
    RESSEC(NO) CMDSEC(NO)
  5. STB2 トランザクションを起動して COBSIVP を実行します。 COBSIVP を実行すると LNCSTUB モジュールが確認されます。

手順 3:アプリケーションプログラムのリンクと実行

IVP プログラムが正常に実行されると、Adabas DCI で実際のアプリケーションプログラムを使用できる状態になります。 手順 3では、LNCSTUB サブプログラムを利用するためのアプリケーションプログラムインターフェイス(API)を作成します。

手順 3 では、次の作業を行います。

アプリケーションプログラムを修正するためのガイドライン

LNCSTUB ロードモジュールをアプリケーションプログラムにリンクする必要があります。 アプリケーションプログラムは標準のバッチ的なコールメカニズムを使用して DCI インターフェースを起動します。 LNCSTUB モジュールはデータを Adabas CICS コマンドレベルリンクコンポーネントに渡すために必要な追加の CICS 要求を行います。

LNCSTUB モジュールを組み込むためのアプリケーションプログラムのリンク

LNCSTUB モジュールをアプリケーションプログラムと正しくリンクするには、アプリケーションをリンクして LNCSTUB モジュールと CICS スタブモジュールを組み込みます。 これを行うための方式はアプリケーションに使用するプログラミング言語によって異なります。

DFHEAI0 モジュールへの二重の参照を回避するために、リンケージエディタ REPLACE DFHEAI0 コントロールステートメントを SYSLIN データの先頭に指定します。

Start of instruction setアセンブラ言語プログラムをリンクする場合

  1. アセンブラプログラムの場合、SYSLIN 入力は次のようになります。

    INCLUDE DFHEAI

    アセンブラオブジェクト入力は次のようになります。

    REPLACE DFHEAI0
    INCLUDE SYSLIB(LNCSTUB)
    INCLUDE SYSLIB(DFHEAI0)
    NAME ALCSIVP(R)

    リンケージエディタからクロスリファレンスを検査するとき、シンボル entry-name はリンクマップの LNCSTUB モジュールと同じ開始位置にする必要があります。

Start of instruction setCOBOL 言語プログラムをリンクする場合

  1. COBOL プログラムの場合、SYSLIN 入力は次のようになります。

    REPLACE DFHEAI0
    INCLUDE SYSLIB(DFHECI)

    COBOL オブジェクト入力は次のようになります。

    INCLUDE SYSLIB(LNCSTUB)
    INCLUDE SYSLIB(DFHEAI0)
    NAME COBSIVP(R)
    

    リンケージエディタからクロスリファレンスを検査するとき、シンボル entry-name はリンクマップの LNCSTUB モジュールと同じ開始位置にする必要があります。

Start of instruction setPL/I および C 言語プログラムをリンクする場合

  1. CICS 配下の PL/I と C アプリケーションのリンクについての情報は IBM マニュアル『CICS System DefinItion Guide』を参照してください。

LNCSTUB を使用した場合のパフォーマンス

Adabas DCI を使用するアプリケーションから最高のパフォーマンスを得るには、DCI インターフェースの動作を論理レベルで確認します。

Adabas リンクルーチンへのアクセスに標準 LINK/RETURN メカニズムを使用する CICSアプリケーションは、すべての Adabas からのリンクルーチンに対する要求で CICS プログラムコントロールサービスをコールします。 LNCSTUB モジュールによって BALR インターフェースの使用が許可されます。 BALR インターフェースは、アプリケーションプログラムから Adabas CICS コマンドレベルリンクコンポーネントに制御を渡すときに発生する CICS オーバーヘッドを減らします。

LNCSTUB モジュールは、Adabas CICS コマンドレベルリンクルーチンへのイニシャルコール(IC)を行うための標準 EXEC CICS LINK/RETURN を使用してこれを実行します。 リンクルーチンはこのコールを認識し、DCI サブルーチンのエントリポイントアドレスを LNCSTUB に返します。 次に、LNCSTUB はこのアドレスを、呼び出したタスクの存続中に確実に存在する場所に保存する必要があります。 これはコール元プログラムが DCI エントリポイントアドレスを保持する 4 バイトフィールドを提供しなければならないためです。 DCI アドレスを取得した後で、このアドレスを後続の Adabas コールで渡される最初のパラメータとして受け取ると、LNCSTUB は BALR インターフェースを利用して、Adabas CICS コマンドレベルリンクコンポーネントプログラムに制御を渡します。

このロジックによって、IC 間の Adabas 要求が多くなった場合に、CICS 配下の Adabas とアプリケーション間のデータの受け渡しに関してアプリケーションが効率的になります。 実際、タスクが呼び出されるたびに 1つの Adabas コールを発行する擬似会話型アプリケーションでは、DCI を使用しないでください。なぜなら、コール元プログラムが Adabas コマンドを発行するたびに IC 要求が発生するからです。

Adabas CICS コマンドレベルリンクコンポーネントプログラムを常駐するように CICS に定義することによって、さらにパフォーマンス向上を実現できます。 これにより、DCI エントリポイントを CICS タスク全体に保存でき、さまざまなプログラムから有効な DCI エントリポイント付きの LNCSTUB モジュールをコールできるようになります。 これにより、各プログラム開始時の IC は回避されます。 ただし、この手順を使用した場合には、エントリポイントアドレスを無効にする CICS 環境への変更(NEWCOPY など)は、予期しない結果や損害をもたらすことがあります。

CICS サービスを使用する Adabas CICS コマンドレベルリンクコンポーネントプログラムには、1 つ以上の IC を作成することが必須です。 このコールは Adabas ユーザーブロック(UB)およびレジスタセーブエリアの配列に対する共通ストレージの取得をトリガするために使用されます。 IC 要求を行わない場合、Adabas コールは、ワーキングストレージが不足しているため、またリンクルーチンで使用する重要なコントロールブロックや Adabas SVC エントリが作成されていないために実行されません。

ソースメンバデフォルトの修正(ADAGSET マクロ)

注意:
Adabas 8 では、Adabas 8 ACIvrn.SRCE ライブラリの ADAGSET マクロは、Adabas 8 CICS ハイパフォーマンススタブルーチンのデフォルト値を生成するためだけに使用してください。

Adabas CICS ハイパフォーマンススタブルーチンのアセンブリを容易にするために、環境に特有のデフォルト値を持つ ADAGSET マクロをプログラミングし、アセンブリ時にそれを SYSLIB 連結に有効なソースライブラリに入れることを推奨します。

ADAGSET パラメータオプションとそのデフォルト値(下線付き)の説明は次のとおりです。

AVB:Adabas VSAM Bridge のサポート

パラメータ 説明 構文
AVB

このコマンドレベルリンクルーチンで Software AG の Adabas Bridge for VSAM をサポートするかどうかを示します。

  • AVB=YES の場合、Adabas VSAM Bridge はサポートされます。

  • AVB=NO の場合、Adabas VSAM Bridge はサポートされません。

AVB={ NO  | YES }
           

ENABNM:Adabas TRUE を有効にするプログラムのエントリポイント名

パラメータ 説明 構文
ENABNM

CICS PLTPI 処理中に Adabas TRUE を有効にするために実行されるプログラムに対するエントリポイント名。 値は、使用環境の DFHPLT テーブルに指定されたモジュール名と一致している有効なプログラム名でなければなりません。 デフォルト値は ADAENAB です。

TRUE=NO を指定する場合、このパラメータは無視されます。

ENABNM={'ADAENAB' | 'name' }

ENTPT:Adabas CICS コマンドレベルリンクルーチンの名前

パラメータ 説明 構文
ENTPT

Adabas CICS ハイパフォーマンススタブリンクルーチンの名前。 この名前を EXEC CICS LINK コマンドに使用して CICS アプリケーションプログラムから Adabas サービスを呼び出します。

インストール手順の注 1 と注 2 も参照してください。

ENTPT={'ADACICS' | 'name' }

LOGID:デフォルトの論理データベース ID

パラメータ 説明 構文
LOGID

デフォルトの論理データベース ID の値。 有効な ID 番号は 1~65535 です。

LOGID= nnn

LRINFO:Adabas Review データエリアの長さ

パラメータ 説明 構文
LRINFO

REVEXITB プログラムに使用される Adabas Review データエリアの長さ(バイト)。 指定しない場合は 0(デフォルト)になります(Adabas Review は使用されません)。 最小(および推奨)値は 256 です。この値は、REVEXITB プログラムが呼び出されたときに Adabas Review で必要になるサイズです。 詳細については、Adabas Review のドキュメントを参照してください。

LRINFO={ 0 | 256}

LUINFO:Adabas UEXITA および UEXITB に渡されるユーザーデータの長さ

パラメータ 説明 構文
LUINFO

CICS リンクルーチンから Adabas UEXITA と UEXITB に渡されるユーザーデータの長さ。

LUINFO を指定しない場合、0(デフォルト)になり、ユーザーセーブエリアは渡されません。

LUINFO={ 0 | length}

LUSAVE:Adabas UEXITA および UEXITB のユーザーセーブエリアのサイズ

パラメータ 説明 構文
LUSAVE

Adabas ユーザー出口 UEXITA と UEXITB に使用されるユーザーセーブエリアのサイズ。 LUSAVE を指定する場合は、72 以上の値を指定する必要があります。

LUSAVE を指定しない場合、0(デフォルト)になり、ユーザーデータは渡されません。

LUSAVE={ 0 | size}

LXITAA:UEXITA に提供するワークエリアの長さ

パラメータ 説明 構文
LXITAA

UEXITA ユーザー出口プログラムに提供するワークエリアの長さ。

指定できる値は 0(デフォルト)~32767 です。 0 は、UEXITA プログラムが Adabas コマンドレベルリンクルーチンにリンクされていないため、UEXITA にデータが渡されないことを示します。

注意:
このパラメータはまだ完全にインプリメントされていません。 LNKOLM とリンクされた CICS ユーザー出口 A プログラムでの将来の使用のために提供されています。

LXITAA={ 0 | nn}

LXITBA:UEXITB のワークエリアの長さ

パラメータ 説明 構文
LXITBA

UEXITB ユーザー出口プログラムに提供するワークエリアの長さ。

指定できる値は 0(デフォルト)~32767 です。 0 は、UEXITB プログラムが Adabas コマンドレベルリンクルーチンにリンクされていないため、UEXITB にデータが渡されないことを示します。

注意:
このパラメータはまだ完全にインプリメントされていません。 LNKOLM とリンクされた CICS ユーザー出口 A プログラムでの将来の使用のために提供されています。

LXITBA={ 0 | nn}

MRO:マルチプルリージョンオプション

パラメータ 説明 構文
MRO

MRO パラメータは、CICS マルチプルリージョンオプションを使用するかどうかを指定します。

CICS マルチプルリージョンオプション(MRO)とともに CICS コマンドレベルリンクを実行する場合、MRO=YES をセットします。そうでないと、デフォルト値 MRO=NO を使用します。

MRO=YES の場合、NETOPT に NETOPT=NO(デフォルト)をセットし、マルチプルアプリケーションリージョンからユニークでない LU 名を回避しなければなりません。

NETOPT=YES および MRO=YES のとき、アセンブラ MNOTE およびリターンコード 16 がアセンブリステップから出力されます。

MRO={ NO | YES }

NETOPT:ユーザー ID の作成に使用されたメソッド

パラメータ 説明 構文
NETOPT

NETOPT=YES が指定されている場合は、8 バイトのユーザー ID が VTAM LU 名から構成されます。 NETOPT=NO が指定されている場合、ユーザー ID は定数 CICS に端末タスク用の 4 バイトの CICS 端末 ID(TCTTETI)で作られます。 非端末タスクの場合、ユーザー ID は定数 CIC と CICS タスク番号で構成されます。

CICS マルチプルリージョンオプション(MRO)付きで実行する場合、このオプションに対してデフォルト値を使用する必要があります。 NETOPT=YES および MRO=YES のとき、アセンブラ MNOTE およびリターンコード 16 がアセンブリステップから出力されます。

NETOPT={ NO | YES }

NTGPID:Natural グループ ID

パラメータ 説明 構文
NTGPID

このパラメータは、必要に応じて、Natural バージョン 2.2.8 以降を使用して、固有の Adabas ユーザー ID を CICSplex 環境で生成するために 4 バイトの Natural グループ ID の指定に使用します。 値は、指定値でアセンブルされた Adabas コマンドレベルリンクルーチンをコールするすべてのユーザーに関連します。

デフォルト値はありません。 値が指定されない場合、従来どおり Adabas 内部ユーザー ID が作成されます。

4 バイトの英数字の値を指定することもできますが、CICSplex または z/OS イメージで実行している Adabas コマンドレベルリンクルーチンごとに固有である必要があります。 複数の NTGPID が必要なとき(テストと本番の Natural 2.2.8 など)、TRUE に関連する複数の Adabas コマンドレベルリンクルーチンを生成する必要があります。

CICS マルチプルリージョンオプション(MRO)付きで実行する場合、NTGPID を使用して、マルチプルアプリケーションリージョンが Adabas をコールするとき、Adabas SVC に使用される Adabas コミュニケーション ID 用の 4 バイトリテラルを指定します。

NTGPID=4-byte-value

NUBS:CICS リンクルーチンに作成されるユーザーブロック数

パラメータ 説明 構文
NUBS

CICS リンクルーチンで作成されるユーザーブロック(UB)数。 ブロック数は同時に発生することが予想される最大 Adabas 要求数を処理可能な大きさにする必要があります。

注意:
Adabas 6.2 以上のコマンドレベルリンクルーチンは、16 MB 境界より上にユーザーブロック(UB プール)用のストレージを取得します。

NUBS={ 50 | blocks }

PARMTYP:Adabas パラメータリストのエリア

パラメータ 説明 構文
PARMTYP

Adabas パラメータリストを取得するためのエリア。 TWA は、トランザクションワークエリア(TWA)の先頭の 6 フルワードのパラメータリストを取得します。 PARMTYP=COM の場合、Adabas パラメータが EXEC CICS LINK コマンドを伴ったコール元プログラムからコールされた CICS COMMAREA に指定されます。 ACB コールの COMMAREA リストは最低 32 バイト必要で、ラベル "ADABAS52" で始まります。 PARMTYP=ALL(デフォルト)は COMMAREA と TWA の両方を使用して Adabas パラメータを渡します。この場合、COMMAREA が最初にチェックされます。

TRUE=YES オプションが指定されている場合は、PARMTYP=ALL または PARMTYP=COM を使用する必要があります。

PARMTYP={ ALL | COM | TWA }

PURGE:トランザクションの削除

パラメータ 説明 構文
PURGE

CICS 3.2 以上でアセンブルするとき、PURGE パラメータが使用されます。 PURGE=YES を指定すると、CICS WAIT EXTERNAL はそのパラメータの 1 つとして PURGEABLE を含むので、DTIMOUT 値を超えたときに PURGE が指定されると、CICS はトランザクションを削除できるようになります。

PURGE=NO(デフォルト)が指定されている場合は、NONPURGEABLE オプションが生成されます。

PURGE={ NO | YES }

RMI:リソースマネージャインターフェイス

パラメータ 説明 構文
RMI

RMI パラメータは、CICS リソースマネージャインターフェイスを使用するかどうかを示すために使用します。

RMI=YES が指定されている場合は、CICS リソースマネージャインターフェイス(RMI)を使用して、Adabas タスク関連ユーザー出口(TRUE)がリソースマネージャ(RM)として実行されます。

RMI=YES は、Adabas Transaction Manager がインストールされ、有効で、CICS 環境で実行しているユーザーに利用可能なときにだけ有効です。 Adabas TRUE のインストレーションと関連する付加的な手順については Adabas Transaction Manager のドキュメントを参照してください。

RMI={ NO | YES }

SAF:Adabas SAF Security

パラメータ 説明 構文
SAF

Adabas SAF Security(ADASAF)を使用するかどうかを示します。 ADASAF を使用している場合は、SAF=YES を設定する必要があります。

  • YES の場合、Adabas SAF Security を使用します。

  • NO の場合、Adabas SAF Security は使用しません。

CICS/TS 1.1 以上で実行するとき、ADASAF は Adabas タスク関連ユーザー出口(TRUE)を必要とします。 SAF=YES で TRUE=YES のとき、タスク関連ユーザー出口はユーザーの外部セキュリティ ID(サインオン)を Adabas に渡します。

この場合 TRUE=YES を指定しないと、ADAGSET マクロは LNKOLSC、LNKTRUE、または LNKENAB アセンブリ処理を MNOTE で終了し、コード 16 を返します。

CICS/ESA 3.3 以下で ADASAF を実行している場合、TRUE=YES は必要ありません。 この場合、SAF=YES と TRUE=NO の組み合わせは有効です。

SAF={ NO | YES }

SAP:SAP アプリケーションのサポート

パラメータ 説明 構文
SAP

SAP パラメータは、SAP アプリケーションシステムに Adabas サポートが必要かどうかを指定するために使用されます。

SAP=YES を指定すると、LNKOLSC プログラムは SAP 初期化コールを検出し、初期化コールに提供された定数にフィールド ACBADD2 を合わせて SAP アプリケーションのためのユーザー ID をセットします。

詳細については、SAP アプリケーションシステムを使用するお客様のために提供されている補足情報を参照してください。

SAP={ NO | YES }

SVCNO:Adabas SVC 番号

パラメータ 説明 構文
SVCNO

SVCNO パラメータは、Adabas SVC 番号の値を指定するために使用します。

SVCNO={ 0 | nnn}

TRUE:Adabas タスク関連ユーザー出口

パラメータ 説明 構文
TRUE

TRUE パラメータは、Adabas タスク関連ユーザー出口を使用するかどうかを示すために使用します。

TRUE=YES を指定する場合、LNKOLSC は Adabas タスク関連ユーザー出口 LNKTRUE を使用します。

TRUE=YES を指定する場合、PARMTYP={ALL | COM} と TRUENM='name' のパラメータ設定も指定する必要があります。

TRUE={ NO | YES }

TRUENM:Adabas タスク関連ユーザー出口の名前

パラメータ 説明 構文
TRUENM

TRUENM パラメータは、Adabas タスク関連ユーザー出口の名前を指定するために使用します。

TRUE=YES を指定する場合、このパラメータが必要です。

インストール手順の注 1 と注 2 も参照してください。

TRUENM= {'name' | 'ADATRUE' }

UBPLOC:ユーザーブロックプールの割り当て

パラメータ 説明 構文
UBPLOC

UBPLOC パラメータは、ユーザーブロック(UB)プールを CICS の 16 MB 境界より上(デフォルト)に取得するか、または下に取得するかを指定します。

EXEC CICS WAIT WAITCICS または EXEC CICS WAIT EXTERNAL によって使用される ECB を UP プールに組み込みます。

UBPLOC=BELOW を設定すると、ECB を 16 MB 境界より上に許可しない CICS バージョン、つまり、CICS/ESA 3.2 以下をサポートします。

詳細については、IBM マニュアル『CICS Application Programming Reference』を参照してください。

UBPLOC= { ABOVE | BELOW}

XWAIT:CICS の XWAIT 設定

パラメータ 説明 構文
XWAIT

XWAIT パラメータは、LNKOLSC モジュールのアセンブラ処理によってコマンドレベルリンクコンポーネントに、標準 EXEC CICS WAITCICS(XWAIT=NO)または WAIT EVENTS EXTERNAL(XWAIT=YES)のどちらを生成するかを指定するために使用します。 XWAIT=YES がデフォルトです。

CICS/TS 1.1 以上では CICS WAIT EVENTS EXTERNAL(XWAIT=YES)が望ましいインターフェイスです。

CICS WAITCICS ステートメント(XWAIT=NO)は、CICS/MVS 2.1.2 および CICS/VSE 2.1~2.3 での使用のために提供されています。 これは、CICS/TS 1.1 以上でも使用できますが、CICS トランザクションのパフォーマンスを低下させるか、またはビジーな CICS 環境では予期しない結果を招くことがあります。

注意:
CICS/ESA 3.3 配下で XWAIT=NO を指定する場合、IBM APAR PN39579 を CICS/ESA 3.3 システムに適用しなければなりません。 CICS/TS 1.1 以上では、この APAR は必要ありません。

XWAIT={ NO | YES }

注意:

  1. IBM 仕様と一致させるため、XWAIT パラメータのデフォルトは XWAIT=YES になります。
  2. XWAIT=NO を指定すると、LNKOLSC モジュールは、EXEC CICS WAIT EVENT コマンドの代わりに EXEC CICS WAITCICS コマンドを発行します。 この指定を行うと、CICS/TS バージョン 1.1 以上を搭載した高トランザクション処理の CICS システムにおける WAIT リストと ECB リストの使用方法が、推奨される IBM 仕様と同じになります。
  3. EXEC CICS コマンドはすべて CICS プリプロセッサによって処理されます。ADAGSET パラメータにより、後続のアセンブリステップはいくつかのステートメントをスキップします。

XWAIT ポスティングメカニズム

CICS WAITCICS(XWAIT=NO)は、指定された ECB のソフトポストをサポートすることができます。 これには、ハンドポスタブルワークは全ワークサイクル上で CICS に処理されないため、優先度の低い CICS/TS 環境のディスパッチ可能なワークユニットになるという短所があります。

これに反して、EXEC CICS WAIT EXTERNAL(XWAIT=YES)により、CICS がその特別ポスト出口コードを使用できるようにし、全 CICS ワークサイクル上でチェックと処理(ポストされた場合)を常に行います。

各種の CICS WAIT コマンドとそのハードおよびソフトポスティングメカニズムの関係の違いの詳細については、IBM の『CICS/ESA Application Programming Reference Guide』および添付テキストの IBM APAR PN39579 または IBM InfoLink サービスの Item RTA000043874 を参照してください。

XWAIT および Adabas SVC/ルーター

Adabas SVC は XWAIT=YES 設定と完全な互換性があります。 SVC は、Adabas 6 コマンドレベルリンクルーチンを使用する CICS/TS 配下の Adabas コール元に対して必要なハードポストを実行します。 ハードポストを必要としないバッチコール元に対しては、同じ SVC がソフトポストを実行します。

Top of page

Adabas 8 配下での Com-plete を使用する場合の Adabas のインストール

Adabas をインストールするとき、Com-Plete(Software AG提供の TP モニタ)には一定のパラメータが必要です。 詳しくは『Com-plete System Programming』を参照してください。

Software AG の TP モニタ Com-plete が Adabas データベースとコミュニケートする場合は、Adabas リンクルーチンが必要です。Software AG の Entire Net-Work 製品を使用するか、Com-plete 配下で動作する Entire System Server のような製品を使用してください。 現在のところ Com-plete は Adabas 7 と Adabas 8 のリンクルーチンの混在をサポートしていないため、Com-plete は、Adabas 7 リンクルーチンか Adabas 8 リンクルーチンのどちらか一方で実行する必要があります。

Adabas バージョン 8 リンクルーチンは、Adabas 8 z/OS ロードライブラリのメンバ ADALCO で提供されています。 このメンバは、準備したリンクグローバルモジュールとリンクする必要があります。また、Com-plete の初期化時に Com-plete によってロードされる最終的な ADALCO ロードモジュールを作成するために必要なすべてのリンクルーチン出口とリンクする必要があります。 リンクする最終的な ADALCO ロードモジュールと出口はリエントラントである必要があります。

次の表に、Adabas 8 配下で Com-plete を使用する場合の Adabas のインストールをサポートするための、Adabas インストレーションで提供されるモジュールを示します。

モジュール 説明
ADALCO8 基本モジュール
ADALCO 実行可能なデフォルトのモジュール

Start of instruction setAdabas リンクルーチンを準備するには、次の手順に従います。

  1. Adabas 8 ADAvrs.SRCE に含まれているサンプルメンバ LCOGBL ライブラリを修正可能な任意のユーザーソースライブラリにコピーします(vrs はテープで提供される Adabas の最新バージョン番号)。 LCOGBL は、LGBLSET パラメータを含むモジュールです。このパラメータはコマンドレベルリンクコンポーネントのデフォルト設定を作成するために使用します。 LGBLSET パラメータの詳細については、「バージョン 8 でのソースメンバデフォルトの修正(LGBLSET マクロ)」に記載されています。

  2. ユーザーソースライブラリの LCOGBL メンバを修正します。

    LCOGBL では、少なくとも次の LGBLSET パラメータの値を指定する必要があります。

    パラメータ 指定する内容
    LOGID デフォルトデータベースまたはターゲット ID。 "1"~"65535" の範囲の数値で指定します。 デフォルト値は "1" です。

    注意:
    Com-plete で LOGID および SVCNO のデフォルト値を指定する場合、ドキュメンテーションのみが対象になります。 ADASVC Com-plete ランタイムコントロールステートメントでは、実行中の Com-plete で使用される、サポートされるデータベース ID と Adabas SVC を組み合わせることができます。 詳細については、Com-plete のドキュメントを参照してください。

    SVCNO デフォルトの Adabas SVC 番号。 z/OS の場合、この番号の範囲は "200"~"255" です。

    注意:
    Com-plete で LOGID および SVCNO のデフォルト値を指定する場合、ドキュメンテーションのみが対象になります。 ADASVC Com-plete ランタイムコントロールステートメントでは、実行中の Com-plete で使用される、サポートされるデータベース ID と Adabas SVC を組み合わせることができます。 詳細については、Com-plete のドキュメントを参照してください。

    OPSYS Com-plete が実行されるオペレーティングシステムの 3 文字の省略形。 有効な値は "ZOS" や "VSE" などです。

    注意:
    OPSYS パラメータは ZOS に設定する必要があります。

    TPMON COM。 このキーワードは、3 文字の TP モニタの省略形を指定します。 Com-plete の場合、この値は "COM" にする必要があります。
    RENT YES。 このキーワードは、モジュールが連続的にリエントラントかどうかを示します。 Com-plete の場合、この値は "YES" にする必要があります。
    GEN CSECT。 このキーワードは、CSECT と DSECT のどちらを生成するかを指定します。 リンクルーチングローバルロードモジュールとしてリンク可能なオブジェクトモジュールを生成するには、CSECT を指定する必要があります。
    UES Adabas ユニバーサルエンコーディングサポート(UES)を有効にするかどうかを指定します。 デフォルトは YES です。 詳細については、「UES 対応データベースの接続」を参照してください。
    出口パラメータ その他の出口をアクティブにするかどうか、ユーザー出口を使用する場合は、ユーザー出口モジュール名を指定します。 この情報を LGBLCOM の他のパラメータで指定する方法については、「バージョン 8 でのソースメンバデフォルトの修正(LGBLSET マクロ)」を参照してください。
  3. サンプルジョブ ASMGBLS を、ジョブの先頭で示されているとおりに修正および実行します。 ASMGBLS は Adabas 8 ADAvrs.JOBS ライブラリ内にあります。 完全に修正する場合、ジョブの SET ステートメントが前の手順で準備した LCOGBL メンバを参照し、NAME リンクエディットコントロールステートメントが LCOGBL メンバの GBLNAME パラメータによって指定される名前を参照している必要があります。

    修正したら、ASMGBLS ジョブを実行してリンクグローバルモジュールをアセンブルおよびリンクエディットします。

    新しいリンクグローバルモジュールが、ASMGBLS ジョブで指定されたユーザーロードライブラリに生成されます。モジュール名は LCOGBL の GBLNAME パラメータで指定された名前になります。

  4. サンプルジョブ LNKLCO8 をユーザーソースライブラリにコピーし、前の手順で作成した新しいリンクグローバルモジュールおよびその他の必要な出口が ADALCO8 基本モジュールとリンクするように修正します。 サンプルジョブの修正手順は、ジョブの先頭に記載されています。 このジョブの出力先を適切なユーザーロードライブラリに設定するようにしてください。 LNKLCO8 は Adabas 8 ADAvrs.SRCE ライブラリ内にあります。

    このジョブで生成されるモジュールは ADALCO と呼ばれます。

  5. Com-plete を開始するジョブステップで使用できるロードライブラリに ADALCO モジュールを配置します。

    これで Adabas 8 リンクルーチンの準備は完了です。

Top of page

バッチ/TSO を使用する場合の Adabas インストールの全般的な考慮事項

TSO システムに Adabas 8 をインストールする場合、Adabas-TSO 間のコミュニケーションは、バッチリンクルーチン ADALNK8(非リエントラント)および ADALNKR8(リエントラント)によって行われます。

Adabas バージョン8.1 の ADALNK は配布時のままで UES に対応しています。 詳細は、「UES 対応データベースの接続」セクションを参照してください。

ただし、ADAUSER とリンクしたユーザープログラムも ADARUN をロードすることに注意してください。 また、ADARUN は他のモジュールをロードします。

ADAUSER とリンクしたユーザープログラムを起動するには、次のモジュールが、特定の TSO ユーザーに対して定義されたロードライブラリから実行時にすべて使用できるようにする必要があります。

ADAIOR ADAMLF
ADAIOS ADAPRF
ADALNK ADARUN

このセクションでは、次のトピックについて説明します。

非リエントラント ADALNK バッチルーチンの動作

Adabas 8 ロードライブラリの ADALNK モジュールは、次の条件を満たす場合に、Adabas 7 互換の方法で動作します。

これら 3 つの条件をすべて満たす場合、デフォルトデータベース ID と Adabas SVC 番号は、DD ステートメント入力で指定された値によって上書きされ、ADARUN によってリンクルーチンに渡されます。

この方法で動作させる場合、データベース管理者(DBA)とアプリケーションプログラマによる改変が最小限で済みます。 Adabas ユーティリティを実行する場合にも、この動作モードをお勧めします。

ADALNKR:リエントラントバッチリンクルーチン

Software AG のいくつかの製品では、リエントラントバッチリンクルーチンを使用する必要があります。これらの製品をサポートするために、Adabas ロードライブラリで ADALNKR ロードモジュールが提供されています。 Adabas 8 ADALNKR ソースモジュールは提供されません。

これらのリエントラントバッチリンクルーチンのデフォルト値を変更できます。 詳細については、次のセクションを参照してください。

バッチアプリケーションプログラムには ADALNK や ADALNKR ではなく ADAUSER モジュールをリンクすることをお勧めします。 ADAUSER ロードモジュールはリエントラントではありませんが、アプリケーションプログラムが「バッチ/TSO リエントラント ADALNKR8 モジュールのワークエリア」で解説されているコール要件を満たし、DDCARD 入力でキーワードパラメータ PROG=USER の代わりに PROG=RENTUSER ADARUN パラメータが指定されている場合に限り、リエントラントリンクルーチンモジュールとリンクすることができます。

最新の Adabas 8 ADALNKR モジュールを使用して、バッチまたは TSO でリエントラント操作を実行するには、事前に ADALNKR モジュールを準備する必要があります。 データベース ID、Adabas SVC 番号、およびその他の要件のデフォルトを指定する、修正したリンクグローバルテーブルとリンクする必要があります。 リエントラント出口もすべてリンクが必要です。

Top of page

Adabas 8 配下での Batch/TSO を使用する場合の Adabas のインストール

Adabas 8 を TSO システムにインストールする場合、Adabas/TSO コミュニケーションには標準 Adabas 8 バッチリンクルーチン(ADALNK)が使用されます(SMA ジョブ番号 I056)。

このセクションでは、次のトピックについて説明します。

提供されるモジュール

次の表は、Adabas 8 配下でバッチ/TSO 使用の Adabas インストールをサポートするための、Adabas インストレーションで提供されるモジュールのリストです。

モジュール 説明
ADALNK8 基本モジュール
ADALNKR8 基本リエントラントモジュール
ADALINK 実行可能なデフォルトのモジュール
ADALNKR 実行可能なデフォルトのリエントラントモジュール

Adabas 8 ADALNK または ADALNKR モジュールのデフォルト値の変更

Adabas 8 ADALNK および ADALNKR モジュールで使用されるさまざまなリンクルーチンパラメータのデフォルト値を変更できます。

Start of instruction setデフォルト値を変更するには、次の手順に従います。

  1. Adabas 8 ADAvrs.SRCE ライブラリ(vrs はテープで配布される最新の Adabas バージョン番号)において提供されるサンプルメンバ LNKGBLS(非リエントラントリンクの場合)または LNKRGBL(リエントラントリンクの場合)メンバを、修正可能な任意のユーザーソースライブラリにコピーします。 これらのモジュールには、リンクコンポーネントのデフォルト設定を作成するのに使用する LGBLSET パラメータが含まれています。 LGBLSET パラメータの詳細については、「バージョン 8 でのソースメンバデフォルトの修正(LGBLSET マクロ)」に記載されています。

  2. ユーザーソースライブラリの LNKGBLS または LNKRGBL メンバを修正します。 インストール要件に合わせて、LOGID、SVC、その他のキーワードの値を指定します。

    注意:
    OPSYS パラメータは ZOS に設定する必要があります。

  3. サンプルジョブ ASMGBLS を、ジョブの先頭で示されているとおりに修正および実行します。 ASMGBLS は Adabas 8 ADAvrs.JOBS ライブラリ内にあります。 完全に修正する場合、ジョブの SET ステートメントが、前の手順で準備した LNKGBLS または LNKRGBL メンバを参照し、NAME リンクエディットコントロールステートメントが LNKGBLS または LNKRGBL メンバの GBLNAME パラメータによって指定される名前を参照している必要があります。

    修正したら、ASMGBLS ジョブを実行してリンクグローバルモジュールをアセンブルおよびリンクエディットします。

    新しいリンクグローバルモジュールが、ASMGBLS ジョブで指定されたユーザーロードライブラリに生成されます。モジュール名は、LNKGBLS または LNKRGBL メンバの GBLNAME パラメータで指定された名前になります。

  4. サンプルジョブ LNKLNK8 または LNKLNKR8(リエントラント)をユーザーソースライブラリにコピーし、前の手順で作成した新しいグローバルモジュールおよび必要なすべての出口が 適切な ADALNK8 または ADALNKR8(リエントラント)基本モジュールとリンクするように修正します。 サンプルジョブの修正手順は、ジョブの先頭に記載されています。 ジョブの出力先を適切なユーザーロードライブラリに設定するようにしてください。 LNKLNK8 と LNKLNKR8 は Adabas 8 ADAvrs.SRCE ライブラリ内にあります。

    このジョブから生成されるモジュールは、ADALNK または ADALNKR のいずれか適切な名前になります。

  5. Adabas 8 バッチ/TSO リンクルーチンを使用するジョブステップの ADARUN DDCARD 入力を修正します。 DDCARD 入力に次の更新を含める必要があります。

  6. ジョブステップから適切なロードライブラリが利用できることを確認します。 これらのロードライブラリは、STEPLIB、TASKLIB、JOBLIB、リエントラントモジュールの場合は、LPA または LINKLIB になります。

Adabas 8 ADALNK または ADALNKR モジュールのデフォルト値の ZAP

Adabas 8 ADALNK および ADALNKR モジュールで使用されるさまざまなリンクルーチンパラメータのデフォルト値を変更できます。

Adabas 8 バッチ/TSO リンクルーチン、ADALNK、および ADALNKR の一部のデフォルト値は、ADALNK または ADALNKR モジュールの ZAP で変更されます。 例えば、データベース ID や Adabas SVC 番号のデフォルト値などがあります。 その他すべてのデフォルト値は、リンクグローバルテーブルを使用して設定する必要があります。詳細については、「Adabas 8 ADALNK または ADALNKR モジュールのデフォルト値の変更」を参照してください。

次の IMASPZAP コントロールステートメントを使用して、ADALNK または ADALNKR(適切な方)のデフォルト値を変更します。

NAME ADALNK ADALNK8
VER 0080 0001                Default DBID
REP 0080 ####                Site-specific DBID
VER 0084 0AF9                Default Adabas SVC number
REP 0084 0A##                Site-specific Adabas SVC number
*
NAME ADALNKR ADALNKR8
VER 0080 0001                Default DBID
REP 0080 ####                Site-specific DBID
VER 0084 0AF9                Default Adabas SVC number
REP 0084 0A##                Site-specific Adabas SVC number

Top of page

Adabas データベース ID による Adabas SVC ルーティングの確立

z/OS 環境で Adabas リンクルーチンを使用するアプリケーションは、コールで使用されるデータベース ID に基づき、特定の Adabas SVC を通じてデータベースコールをルーティングすることができます。 SVC のルーティングは、ユーザーが設定する DBID/SVC ルーティングテーブルによって管理されます。 テーブルで最大 1000 個のデータベース ID を指定し、z/OS システムにインストールされている任意の数の有効な SVC 番号と関連付けることができます。 DBID/SVC ルーティングテーブルは、MDBSVC マクロを使用して作成します。

データベース ID の重複は DBID/SVC ルーティングテーブルでは許可されていません。これは、複数のデータベース ID がリストされていると、あるデータベース ID にどの SVC を使用すべきかをリンクルーチンが決定する際の信頼性がなくなるからです。 テーブルのアセンブル中に重複するデータベース ID が見つかった場合、アセンブラ MNOTE のフラグが設定され、アセンブルの試行に対してリターンコード 16 が返されます。

注意:

  1. クライアントベースの機能を動作させるには、すべてのセッションにおいて複数のルーターを通さずに、単一のルーターを通して経路を決定する必要があるため、Adabas Transaction Manager などのクライアントベースの Adabas アドオンには、この機能との互換性がありません。
  2. ADASVCTB とリンクした ADALNK は、アプリケーションプログラムのみにより使用される必要があります。また、Adabas ニュークリアスまたは Entire Net-Work に使用させることはできません。

注意:
この機能の使用には注意が必要です。 トランザクションの完全性は保証されません。 あるアプリケーションが、複数の Adabas SVC にルーティングされる複数のデータベースにコールを行う場合、1 つのデータベースのトランザクションに影響する可能性がある ET、BT、OP、CL、RC、またはその他の Adabas コマンドの発行が可能ですが、それ以前にアクセスされた、異なる Adabas SVC 上で実行している他のデータベースに対しては発行できません。 したがって、複数の Adabas SVC が使用されている複数のデータベース間で、トランザクションの整合性を確実にするために必要なロジックがすべてアプリケーションプログラムに含まれている必要があります。

このセクションでは、次のトピックについて説明します。

Adabas DBID/SVC ルーティング機能のインストール

Adabas DBID/SVC ルーティング機能の一般的なインストール手順は次のとおりです。

  1. MDBSVC マクロステートメントを使用して、ライブラリメンバに DBID/SVC ルーティングテーブルを定義します。 DBID/SVC ルーティングテーブルと MDBSVC マクロの詳細については、「MDBSVC マクロの使用」を参照してください。

  2. DBID/SVC ルーティングメンバをアセンブルおよびリンクエディットし、SVC ルーティング機能を使用する操作環境で利用できるロードモジュールを作成します。

  3. 操作環境のリンクグローバルテーブルを修正し、LGBLSET キーワード DYNDBSVC=YES および DBSVCTN=name を指定します。name はリンクルーチンによって使用される DBID/SVC ルーティングテーブルロードモジュールの名前です。 操作環境で必要な場合は、更新したリンクグローバルテーブルをアセンブルおよびリンクエディットします。 リンクグローバルテーブルと LGBLSET マクロの詳細については、「バージョン 8 でのソースメンバデフォルトの修正(LGBLSET マクロ)」を参照してください。 テーブル更新後のリンクグローバルテーブルのアセンブルとリンクエディットについては、このセクションの各 z/OS TP モニタリング環境に関する指示を参照してください。

  4. 準備した DBID/SVC ルーティングテーブルを、アプリケーションプログラムのジョブステップからアクセスできるロードライブラリで利用できるようにします。これにより、実行時にリンクルーチンがロードできます。

このセクションでは、次のトピックについて説明します。

バッチ、TSO、および IMS 配下での DBID/SVC ルーティング機能のインストール

バッチ、TSO、および IMS 配下での Adabas SVC ルーティング機能のインストール手順はどれも同じです。

Start of instruction setバッチ、TSO、または IMS 配下で Adabas DBID/SVC ルーティング機能をインストールするには、次の手順に従います。

  1. ライブラリメンバの一連の MDBCSVC マクロをコーディングして、DBID/SVC ルーティングテーブルを定義または修正します。 サンプルの ADASVCTB メンバは、このメンバの準備用のテンプレートとして ADAvrs.MVSSRCE ライブラリで提供されています。 MDBSVC マクロの使用についての詳細は、「MDBSVC マクロの使用」を参照してください。

  2. DBID/SVC ルーティングテーブルメンバをアセンブルおよびリンクエディットし、アプリケーション実行ジョブステップから利用できるロードモジュールを作成します。 同一の Adabas SVC にアクセスする複数のコマンドの処理オーバーヘッドを削減するために、リンクルーチンサブプログラム LNKDSL は DBID/SVC モジュールに Adabas SVC IDT ヘッダーのアドレスを格納する必要があるため、ロードモジュールは再利用不可および非リエントラントとしてリンクされる必要があります。

  3. 実行環境のリンクグローバルテーブルを定義または修正します。 Adabas SVC ルーティング機能をサポートするには、次の LGBLSET キーワードが必要です。

    LGBLSET キーワード設定 説明
    DYNDBSVC=YES このキーワードおよび設定は、Adabas SVC ルーティングがこのジョブステップでアクティブであることを示します。
    DBSVCTN=name このキーワードは、このジョブステップの DBID/SVC テーブル名を指定します。 この名前は、リンクルーチンの実行時に適切なテーブルがロードされるように、作成されたロードモジュールの名前と一致する必要があります。
  4. TP モニタ別の指示に従って、更新したリンクグローバルテーブルのアセンブルおよびリンクエディットします。 バッチ/TSO の場合は、「Adabas 8 配下での Batch/TSO を使用する場合の Adabas のインストール」を参照してください。IMS の場合は、「Adabas 8 配下での IMS/TM を使用する場合の Adabas のインストール」を参照してください。

CICS 配下での DBID/SVC ルーティング機能のインストール

Start of instruction setCICS 配下で Adabas DBID/SVC ルーティング機能をインストールするには、次の手順に従います。

  1. ライブラリメンバの一連の MDBCSVC マクロをコーディングして、DBID/SVC ルーティングテーブルを定義または修正します。 サンプルの ADASVCTB メンバは、このメンバの準備用のテンプレートとして ADAvrs.MVSSRCE ライブラリで提供されています。 MDBSVC マクロの使用についての詳細は、「MDBSVC マクロの使用」を参照してください。

  2. DBID/SVC ルーティングテーブルメンバをアセンブルおよびリンクエディットし、テーブルをロードモジュールとして作成し、CICS DFHRPL 連結の一部となるライブラリに配置します。 同一の Adabas SVC にアクセスする複数のコマンドの処理オーバーヘッドを削減するために、リンクルーチンサブプログラム LNKDSL は DBID/SVC モジュールに Adabas SVC IDT ヘッダーのアドレスを格納する必要があるため、ロードモジュールは再利用不可および非リエントラントとしてリンクされる必要があります。

  3. RDO または DFHCSDUP ユーティリティを使用して、ロードモジュールをプログラムとして CICS に定義します。 サンプル DFHCSDUP 定義ステートメントについては、ACIvrs.MVSSRCE ライブラリのメンバ DEFADA8 を参照してください。 プログラム属性は、Reload(No)、Resident(Yes)、Dataloc(Any)、Execkey(CICS) にする必要があります。

  4. 実行環境のリンクグローバルテーブルを定義または修正します。 Adabas SVC ルーティング機能をサポートするには、次の LGBLSET キーワードが必要です。

    LGBLSET キーワード設定 説明
    DYNDBSVC=YES このキーワードおよび設定は、Adabas SVC ルーティングがこのジョブステップでアクティブであることを示します。
    DBSVCTN=name このキーワードは、このジョブステップの DBID/SVC テーブル名を指定します。 この名前は、リンクルーチンの実行時に適切なテーブルがロードされるように、作成されたロードモジュールの名前と一致する必要があります。
  5. Adabas 8 配下での CICS を使用する場合の Adabas のインストール」の説明に従って、更新したグローバルテーブルをアセンブルおよびリンクエディットします。

全般的な動作

このセクションで前述したAdabas SVC ルーティング機能をインストールすると、次のようにロードされます。

アプリケーションコールが実行されると、DBID/SVC ルーティングテーブルは、各操作環境の適切なリンクルーチンにリンクされた LNKDSL サブルーチンによって検索されます。 Adabas 以前のコールのユーザー出口がその後の処理用にコマンドのデータベース ID を変更している可能性があるため、LNKDSL は LUEXIT1(リンクルーチンユーザー出口 1)の起動後に呼び出されます。 Adabas Review、Adabas Fastpath、Adabas Transaction Manager などのモニタリング製品が、DBID/SVC ルーティングテーブルにある適切な Adabas SVC に基づいて処理を行えるように、LNKDSL へのコールは何らかのモニタリングまたは Adabas Fastpath 出口が呼び出される前に実行されます。

特定のコールに関連付けられているデータベース Id が DBID/SVC ルーティングテーブルで見つからなかった場合、MDBSVC マクロの TYPE=INIT パラメータで指定された、Adabas SVC のデフォルト値が使用されます。 特定された SVC が Adabas SVC でない場合、または z/OS システムにインストールされていない場合、Adabas レスポンスコード 213、サブコード 16 または 20 がアプリケーションに返されます。 コール元のデータベースが SVC 番号に対してアクティブでない場合、Adabas レスポンスコード 148 がアプリケーションに返されます。

データベース ID の重複は DBID/SVC ルーティングテーブルでは許可されていません。これは、複数のデータベース ID がリストされていると、あるデータベース ID にどの SVC を使用すべきかをリンクルーチンが決定する際の信頼性がなくなるからです。 テーブルのアセンブル中に重複するデータベース ID が見つかった場合、アセンブラ MNOTE のフラグが設定され、アセンブルの試行に対してリターンコード 16 が返されます。

MDBSVC マクロの使用

MDBSVC マクロを使用して、Adabas DBID/SVC ルーティングテーブルのさまざまな定義を行います。 複数の MDBSVC マクロ を TYPE=INIT、TYPE=GEN、TYPE=FINAL キーワードを使用してまとめてコーディングすることで、1 つのソースモジュールまたはメンバを構成します。 このソースモジュールまたはメンバをアセンブルおよびリンクエディットし、DBID/SVC ルーティングテーブルロードモジュールを作成します。 ADAvrs.MVSSRCE のサンプルメンバ ADASVCTB をテンプレートとして使用して、各環境に合わせた DBID/SVC ルーティングテーブルソースモジュールを作成できます。 次に CSECT 名 TESTDBT を使用した DBID/SVC ルーティングテーブルソースメンバの例を示します。テーブルをアセンブルすると、ロードモジュール名は TESTDBT になります。

TESTDBT CSECT
        MDBSVC TYPE=INIT,SVC=249,DBID=001
        MDBSVC TYPE=GEN,SVC=237,DBID=(2,10,21,33,175,1149),           X
               DBID2=(100,101,102,13500)
        MDBSVC TYPE=GEN,SVC=231,DBID=(226,899)
        MDBSVC TYPE=GEN,SVC=206,DBID=(15,16,69,99,500,12144)
        MDBSVC TYPE=GEN,SVC=248,DBID=(14,54,111,177,1213,5775)
        MDBSVC TYPE=GEN,SVC=249,DBID=(17,19,25,35,42,44,61,76)
        MDBSVC TYPE=FINAL
        END

MDBSVC マクロステートメントのキーワード値をコーディングする場合、行の継続、リストの識別、およびキーワード値の指定に関するアセンブラの規則に従わないと、アセンブリエラーが発生するため注意してください。 キーワードのオブジェクトとしてコーディングされたリストを含むキーワードと値は、コンマで区切る必要があります。 MDBSVC マクロでは位置パラメータは使用されません。

MDBSVC マクロには、次の表に示す 4 種類のステートメントを含めることができます。

MDBSVC ステートメントタイプ 説明 使用可能な数
TYPE=INIT DBID/SVC ルーティングテーブルソースメンバに含めることのできる MDBSVC TYPE=INIT ステートメントは 1 つだけです。また、メンバ内の最初の MDBSVC ステートメントにする必要があります。 このステートメントは、DBID/SVC ルーティングテーブルの先頭を識別します。 MDBSVC TYPE=INIT ステートメントでは、コールに使用されるデフォルトの データベース ID と Adabas SVC 番号を指定することもできます。 1
TYPE=GEN DBID/SVC ルーティングテーブルソースメンバには、任意の数の MDBSVC TYPE=GEN ステートメントを含めることができます。 このステートメントによって、特定の有効な Adabas SVC 番号に関連付けられた Adabas データベース ID を指定します。 必要に応じた任意の数
TYPE=FINAL DBID/SVC ルーティングテーブルソースメンバに含めることのできる MDBSVC TYPE=FINAL ステートメントは 1 つだけです。また、メンバ内の最後の MDBSVC ステートメント(アセンブラ END ステートメントの直前)にする必要があります。 このステートメントは、DBID/SVC ルーティングテーブルの末尾を識別します。 1
TYPE=DSECT このステートメントタイプは、Software AG が内部で使用するため、予約されています。 このステートメントタイプを使用しないでください。 0

MDBSVC TYPE=INIT ステートメントの前に、名前付きの CSECT、AMODE および RMODE ステートメントを配置することができます。 CSECT、AMODE、または RMODE ステートメントを含める場合、使用する名前が DBID/SVC ルーティングテーブルの名前と一致している必要があります。つまり、MDBSVC TYPE=INIT ステートメントの TABNAME パラメータでコーディングされた名前と、リンクグローバルテーブルを作成するときに、LGBLSET マクロの DBSVCTN キーワードで指定された名前です。

このセクションでは、次のトピックについて説明します。

MDBSVC TYPE=INIT の構文

MDBSVC TYPE=INIT ステートメントの構文は次のとおりです。

MDBSVC TYPE=INIT [,SVC=svcno] [,DBID=dbid] [,TABNAME={name|ADBSVCT}] [,OPSYS={ZOS|VSE}]

MDBSVC TYPE=INIT ステートメントでコーディングできるパラメータについては、「MDBSVC パラメータ」を参照してください。

MDBSVC TYPE=GEN の構文

MDBSVC TYPE=GEN ステートメントの構文は次のとおりです。

MDBSVC TYPE=GEN [,SVC=svcno] [,DBID=id[, id]...][,DBID2=id[, id]...]

MDBSVC TYPE=GEN ステートメントでコーディングできるパラメータについては、「MDBSVC パラメータ」を参照してください。

MDBSVC TYPE=FINAL の構文

MDBSVC TYPE=FINAL ステートメントの構文は次のとおりです。

MDBSVC TYPE=FINAL

MDBSVC TYPE=FINAL ステートメントではパラメータを使用することはできません。

MDBSVC パラメータ

MDBSVC ステートメントで指定できるパラメータには次のようなものがあります。

DBID

DBID パラメータは、MDBSVC TYPE=INIT ステートメントと MDBSVC TYPE=GEN ステートメントの両方で使用できます。

DBID パラメータでリストするデータベース ID は、インストールした Adabas データベースの ID に対応する数値にする必要があります。 z/OS 環境では、データベース ID は 1 から 65535 の範囲である必要があります。 同一のデータベース ID を複数の MDBSVC ステートメントに指定することはできません。データベース ID は、DBID/SVC ルーティングテーブルのすべての DBID および DBID2 ステートメントにおいてユニークでなければなりません。 重複した値には MNOTE のフラグが設定されます。これにより DBID/SVC ルーティングテーブルのアセンブルが停止してリターンコード 16 が返されます。

MDBSVC ステートメントに対する DBID パラメータの設定例を次に示します。 SVC 237 に関連付けられているデータベース ID をリストしている MDBSVC ステートメントが 2 つあることに注意してください。 これにより、同一の SVC 番号に対して、より多くのデータベース ID をコーディングすることができます。 この方法で記述した内容と同じものを DBID2 パラメータを使用して記述した例と比べてみてください。 どちらのコーティングも、結果は同じになります。

MDBSVC TYPE=INIT,SVC=249,DBID=1
MDBSVC TYPE=GEN,SVC=237,DBID=(2,4,10,16,21,33)
MDBSVC TYPE=GEN,SVC=237,DBID=(175,1149,1221)
MDBSVC TYPE=GEN,SVC=242,DBID=(3,18)
MDBSVC TYPE=FINAL
END
DBID2

DBID2 パラメータは、MDBSVC TYPE=GEN ステートメントでのみ使用できます。 SVC パラメータで指定した Adabas SVC に関連付けるデータベース ID のリストを追加することができます。 DBID2 パラメータはオプションですが、指定する場合は、DBID パラメータの直後に指定する必要があります。

DBID2 パラメータでリストするデータベース ID は、インストールした Adabas データベースの ID に対応する数値にする必要があります。 z/OS 環境では、データベース ID は 1 から 65535 の範囲である必要があります。 同一のデータベース ID を複数の MDBSVC ステートメントに指定することはできません。データベース ID は、DBID/SVC ルーティングテーブルのすべての DBID および DBID2 ステートメントにおいてユニークでなければなりません。 重複した値には MNOTE のフラグが設定されます。これにより DBID/SVC ルーティングテーブルのアセンブルが停止してリターンコード 16 が返されます。

DBID2 パラメータを含む MDBSVC ステートメントの例を次に示します。 この方法で記述した内容と同じものを DBID パラメータを使用して記述した例と比べてみてください。 どちらのコーティングも、結果は同じになります。

MDBSVC TYPE=INIT,SVC=249,DBID=1
MDBSVC TYPE=GEN,SVC=237,DBID=(2,4,10,16,21,33),                        X 
       DBID2=(175,1149,1221)
MDBSVC TYPE=GEN,SVC=242,DBID=(3,18)
MDBSVC TYPE=FINAL
END
OPSYS

OPSYS パラメータは、MDBSVC TYPE=INIT ステートメントでのみ使用できるオプションのパラメータです。 このパラメータは、DBID/SVC ルーティングテーブルがアセンブリされるオペレーティングシステムを識別します。 OPSYS パラメータに有効な値としては "ZOS" と "VSE" があり、"ZOS" がデフォルトです。

PREFIX

PREFIX パラメータは、MDBSVC TYPE=DSECT ステートメントでのみ使用できます。このパラメータは Software AG が内部で使用するために予約されています。 このパラメータは使用しないでください。

SVC

SVC パラメータは、MDBSVC TYPE=INIT ステートメントと MDBSVC TYPE=GEN ステートメントの両方で使用できます。

SVC パラメータで指定する SVC 番号は、数値であり、かつインストールした Adabas SVC の SVC 番号に対応している必要があります。 z/OS 環境では、SVC 番号の範囲は 200~255 です。 複数の MDBSVC ステートメントで SVC 値を重複して使用できます。これにより、データベース ID の長いリストを記述し、それらを同一の Adabas SVC に関連付けることができます。

次の例で、2 つの MDBSVC ステートメントで SVC 249 が指定されている点に注意してください。 この SVC は、リンクルーチンのデフォルト SVC であるとともに、データベース 1、2、18 でも使用されます。 また、SVC 237 に対しても 2 つの MDBSVC ステートメントがあります。2 つのステートメントで、SVC 237 に関連付ける 9 つのデータベースがリストされています(2、4、10、16、21、33、175、1149、1221)。

MDBSVC TYPE=INIT,SVC=249,DBID=1
MDBSVC TYPE=GEN,SVC=237,DBID=(2,4,10,16,21,33)
MDBSVC TYPE=GEN,SVC=237,DBID=(175,1149,1221)
MDBSVC TYPE=GEN,SVC=249,DBID=(3,18)
MDBSVC TYPE=FINAL
END
TABNAME

TABNAME パラメータは、MDBSVC TYPE=INIT ステートメントでのみ使用できるオプションのパラメータです。 このパラメータには、ソースメンバに独立した(かつ以前にコーディングされた)CSECT ステートメントが含まれていない場合に、DBID/SVC ルーティングテーブルの名前を指定します。 この場合、TABNAME パラメータで指定した名前が、名前付き CSECT ステートメントおよび、名前付き AMODE、RMODE 指示の生成に使用されます。

指定する DBID/SVC ルーティングテーブル名は、1~8 文字の英数字にする必要があります。 次の例では、TESTDBT という名前の DBID/SVC ルーティングテーブルがコーディングされています。

MDBSVC TYPE=INIT,SVC=249,DBID=1,TABNAME=TESTDBT
MDBSVC TYPE=GEN,SVC=237,DBID=(2,4,10,16,21,33)
MDBSVC TYPE=GEN,SVC=237,DBID=(175,1149,1221)
MDBSVC TYPE=GEN,SVC=249,DBID=(3,18)
MDBSVC TYPE=FINAL
END

Top of page

バージョン 8 のソースメンバのデフォルト(LGBLSET マクロ)の変更点

Adabas 8 LGBLSET マクロは、Adabas リンクルーチンのデフォルトのインストール値の設定に使用します。 このマクロは、Adabas 8 リンクルーチンとリンクエディットされているか、リンクルーチンを実行しているジョブステップのリンクルーチンに提供されるオブジェクトモジュールを準備するために使用します。 Adabas ライブラリには、各環境の各種 TP モニタをサポートするために提供されたサンプルメンバが含まれています。 これらのサンプルメンバは適切なライブラリにコピーされ、指定した環境で実行するリンクルーチンに必要なカスタマイズを行うために変更されます。

LGBLSET パラメータオプションとそのデフォルト値(下線付き)については、このセクションの後半を参照してください。

ADL:Adabas Bridge for DL/I のサポート

パラメータ 説明 構文
ADL

このコマンドレベルリンクルーチンにより Software AG の Adabas Bridge for DL/I の Consistency Interface がサポートされるかどうかを示します。

  • ADL=YES の場合、Adabas Bridge for DL/I の Consistency Interface はサポートされます。

  • ADL=NO の場合、Adabas Bridge for DL/I の Consistency Interface はサポートされません

ADL={NO|YES}

AVB:Adabas Bridge for VSAM のサポート

パラメータ 説明 構文
AVB

このコマンドレベルリンクルーチンにより Software AG の Adabas Bridge for VSAM がサポートされるかどうかを示します。

  • AVB=YES の場合、Adabas Bridge for VSAM はサポートされます。

  • AVB=NO の場合、Adabas Bridge for VSAM はサポートされません

AVB={NO|YES}

CITSNM:Adabas CICS TS のキュー名

パラメータ 説明 構文
CITSNM

Adabas の CICS TS キュー名を表す 16 バイトの文字列を指定します。 デフォルトは "ADACICS" です。

CITSNM={ADACICS|qname}

COR:SYSCOR 出口のサポート

パラメータ 説明 構文
COR

Adabas System Coordinator(SYSCOR)、Adabas Transaction Manager、および Adabas Fastpath の出口がインストールされアクティブになっているかどうかを示します。

  • COR=YES の場合、出口はインストールされておりアクティブになっています。

  • COR=NO の場合、出口はインストールされておらず、アクティブになっていません

COR={NO|YES}

DBSVCTN:DBID/SVC ルーティングテーブル

パラメータ 説明 構文
DBSVCTN

実行中にリンクルーチンに使用される DBID/SVC ルーティングテーブルの名前を指定します(存在する場合)。

ルーティングテーブル名は z/OS 標準ロードモジュールの名前に従う必要があります。 このテーブル名は、バッチ、TSO、または IMS 操作の実行中は z/OS LOAD マクロ/SVC に、CICS 操作の実行中は EXEC CICS LOAD PROGRAM コマンドにより使用されます。

リストされたロードモジュールが見つからない場合、またはも無効なヘッダー情報を含んでいる場合は、バッチ、TSO、または IMS 環境でユーザーアベンド U657 が発行されます。

ロードモジュールが CICS に定義されていない場合、または CICS DFHRPL 連結に見つからない場合は、Adabas CICS リンクルーチン環境は初期化されません。

注意:
DYNDBSVC パラメータが NO に設定されている場合、このパラメータ設定は無視されます。

z/OS 環境のデータベース ID ごとの SVC ルーチンの詳細については「Establishing Adabas SVC Routing by Adabas Database ID」を参照してください。

DBSVCTN={name|ADASVCTB}

DYNDBSVC:DBID/SVC ルーティングテーブル

パラメータ 説明 構文
DYNDBSVC

リンクルーチンに対して、データベース ID による Adabas SVC ルーティングを有効にするかどうかを示します。 DYNDBSVC=YES を指定すると、データベース ID による Adabas SVC ルーティングが有効になりますが、DYNDBSVC により無効になります。 デフォルトは NO です。

z/OS 環境のデータベース ID ごとの SVC ルーチンの詳細については「Establishing Adabas SVC Routing by Adabas Database ID」を参照してください。

DYNDBSVC={YES|NO}

ENTPT:Adabas CICS コマンドレベルリンクルーチンの名前

パラメータ 説明 構文
ENTPT

Adabas CICS コマンドレベルリンクルーチン名。 この名前を EXEC CICS LINK コマンドに使用して CICS アプリケーションプログラムから Adabas サービスを呼び出します。

インストール手順の注 1 と注 2 も参照してください。

ENTPT={ADACICS|name}

GBLNAME:リンクグローバルモジュール名

パラメータ 説明 構文
GBLNAME

リンクグローバルモジュール名。

GBLNAME={LNKGBLS|name}

GEN:CSECT または DSECT の生成

パラメータ 説明 構文
GEN

CSECT または DSECT が生成されているかどうかを示します。

GEN={CSECT|DSECT}

IDTNAME:BS2000 IDT 共通メモリ名

パラメータ 説明 構文
IDTNAME

BS2000 IDT の共通メモリプール名。

IDTNAME=name

IDTUGRP:BS2000 メモリプールのユーザー連結

パラメータ 説明 構文
IDTUGRP

メモリプールがユーザー連結かどうかを示します(BS2000)。

IDTUGRP={NO|YES}

LOGID:デフォルトの論理データベース ID

パラメータ 説明 構文
LOGID

デフォルトのターゲットデータベース ID の値。 有効な ID 番号は 1~65535 です。 デフォルトは "1" です。

LOGID={nnn | 1}

LUEXIT1A:LUEXIT1 の長さ

パラメータ 説明 構文
LUEXIT1A

リンクユーザー出口 1 のワークエリアの長さ。 有効な値は 0~32,767 の数値です。 デフォルトは "0" です。

LUEXIT1A={nnn|0}

LUEXIT2A:LUEXIT2 の長さ

パラメータ 説明 構文
LUEXIT2A

リンクユーザー出口 2 のワークエリアの長さ。 有効な値は 0(ゼロ)~32,767 の数値です。デフォルトは "0" です。

LUEXIT2A={nnn|0}

LUINFO:Adabas LUEXIT1 および LUEXIT2 に渡されたユーザーデータの長さ

パラメータ 説明 構文
LUINFO

ターゲットユーザー出口 4 に渡されるユーザーデータの長さ。 有効な値は 0~32,767 の数値です。

LUINFO を指定しない場合、0(デフォルト)になり、ユーザーセーブエリアは渡されません。

LUINFO={0|length}

LUSAVE:Adabas LUEXIT1 および LUEXIT2 のユーザーセーブエリアのサイズ

パラメータ 説明 構文
LUSAVE

Adabas ユーザー出口 LUEXIT1 と LUEXIT2 に使用されるユーザーセーブエリアのサイズ。 有効な値の範囲は 0(ゼロ)~256 です。 デフォルトは "72" です。

LUSAVE を指定しない場合、0(デフォルト)になり、ユーザーデータは渡されません。

LUSAVE={72|size}

LX1NAME:ユーザー出口 1 のモジュール名

パラメータ 説明 構文
LX1NAME

リンクユーザー出口 1 のモジュール名

LX1NAME={LUEXIT1|name}

LX2NAME:ユーザー出口 2 のモジュール名

パラメータ 説明 構文
LX2NAME

リンクユーザー出口 2 のモジュール名

LX2NAME={LUEXIT2|name}

MRO:マルチプルリージョンオプション

パラメータ 説明 構文
MRO

CICS マルチプルリージョンオプション(MRO)のサポートが必要かどうかを示します。

CICS MRO とともに CICS コマンドレベルリンクを実行する場合、MRO=YES をセットします。それ以外の場合は、デフォルト値 MRO=NO を使用します。

MRO=YES の場合、NETOPT に NETOPT=NO(デフォルト)をセットし、マルチプルアプリケーションリージョンからユニークでない LU 名を回避しなければなりません。

NETOPT=YES および MRO=YES のとき、アセンブラ MNOTE およびリターンコード 16 がアセンブリステップから出力されます。

MRO={NO|YES}

NETOPT:ユーザー ID の作成に使用されたメソッド

パラメータ 説明 構文
NETOPT

NETOPT=YES が指定されている場合は、8 バイトのユーザー ID が VTAM LU 名から構成されます。 NETOPT=NO が指定されている場合、ユーザー ID は定数 CICS に端末タスク用の 4 バイトの CICS 端末 ID(TCTTETI)で作られます。 非端末タスクの場合、ユーザー ID は定数 CIC と CICS タスク番号で構成されます。

CICS マルチプルリージョンオプション(MRO)付きで実行する場合、このオプションに対してデフォルト値を使用する必要があります。 NETOPT=YES および MRO=YES のとき、アセンブラ MNOTE およびリターンコード 16 がアセンブリステップから出力されます。

NETOPT={NO|YES}

NTGPID:Natural グループ ID

パラメータ 説明 構文
NTGPID

Natural バージョン 2.2.8 以上の CICSplex 環境でユニークな Adabas ユーザー ID を生成する必要がある場合には、4 バイトの Natural グループ ID を指定します。 値は、指定値でアセンブルされた Adabas コマンドレベルリンクルーチンをコールするすべてのユーザーに関連します。

デフォルト値はありません。 値が指定されない場合、従来どおり Adabas 内部ユーザー ID が作成されます。

4 バイトの英数字の値を指定することもできますが、CICSplex または z/OS イメージで実行している Adabas コマンドレベルリンクルーチンごとに固有である必要があります。 複数の NTGPID が必要なとき(テストと本番の Natural 2.2.8 など)、TRUE に関連する複数の Adabas コマンドレベルリンクルーチンを生成する必要があります。

CICS マルチプルリージョンオプション(MRO)付きで実行する場合、NTGPID を使用して、マルチプルアプリケーションリージョンが Adabas をコールするとき、Adabas SVC に使用される Adabas コミュニケーション ID 用の 4 バイトリテラルを指定します。

NTGPID=4-byte-value

NUBS:CICS リンクルーチンに作成されるユーザーブロック数

パラメータ 説明 構文
NUBS

CICS リンクルーチンでユーザーブロックプールに作成されるユーザーブロック(UB)数。 ブロック数は同時に発生することが予想される最大 Adabas 要求数を処理可能な大きさにする必要があります。

注意:
Adabas 6.2 以上のコマンドレベルリンクルーチンは、16 MB 境界より上にユーザーブロック(UB プール)用のストレージを取得します。

NUBS={100|blocks}

OPSYS:オペレーティングシステム

パラメータ 説明 構文
OPSYS

使用しているオペレーティングシステム。

OPSYS={ZOS|VSE|CMS|BS2}

PARMTYP:Adabas パラメータリストのエリア

パラメータ 説明 構文
PARMTYP

Adabas パラメータリストを取得するための CICS エリア。 "TWA" は、トランザクションワークエリア(TWA)の先頭の 6 フルワードのパラメータリストを取得します。

PARMTYP=COM の場合、Adabas パラメータが EXEC CICS LINK コマンドを伴ったコール元プログラムからコールされた CICS COMMAREA に指定されます。 ACB コールの COMMAREA リストは最低 32 バイト必要で、ラベル "ADABAS52" で始まります。 ACBX コールの COMMAREA リストは最低 24 バイト必要で、ラベル "ADABAS8X" で始まります。 また、ACBX コールの COMMAREA リストの最後の ABD を指定するために、VL ビットを設定する必要があり、アドレスの上位ビットを(X'80')にします。

PARMTYP=ALL(デフォルト)は COMMAREA と TWA の両方を使用して Adabas パラメータを渡します。この場合、COMMAREA が最初にチェックされます。

CICS TWA を Adabas 8 ACBX ダイレクトコールにマッピングすることはお勧めしません。 これは、TWA はトランザクションごとにサイズが限定されていることと、CICS 起動時に TWA は使用できないことが理由です。 そのため、Adabas 8 CICS リンクルーチンを使用する CICS プログラムでは、データを渡すときだけ COMMAREA を使用することをお勧めします。

PARMTYP={ALL|COM |TWA}

PRE:DSECT データ接頭辞

パラメータ 説明 構文
PRE

DSECT データ接頭辞として、2 バイトの文字列が使用されます。 デフォルトは "LG" です。

PRE={LG|prefix}

PURGE:トランザクションの削除

パラメータ 説明 構文
PURGE

CICS 3.2 以上でアセンブルするとき、PURGE パラメータが使用されます。 PURGE=YES を指定すると、CICS WAIT EXTERNAL はそのパラメータの 1 つとして PURGEABLE を含むので、DTIMOUT 値を超えたときに PURGE が指定されると、CICS はトランザクションを削除できるようになります。

PURGE=NO(デフォルト)が指定されている場合は、NONPURGEABLE オプションが生成されます。

PURGE={NO|YES}

RENT:リエントラントモジュールフラグ

パラメータ 説明 構文
RENT

グローバルモジュールがリエントラントかどうかを示します。

RENT={NO|YES}

RETRYX:再試行コマンド出口フラグ

パラメータ 説明 構文
RETRYX

再試行コマンド出口がアクティブになっているかどうかを示します。

RETRYX={NO|YES}

REVIEW:Adabas Review のサポート

パラメータ 説明 構文
REVIEW

Software AG の Review パフォーマンスモニタがインストールされアクティブになっているかどうかを示します。

REVIEW={NO|YES}

RMI:リソースマネージャインターフェイス

パラメータ 説明 構文
RMI

CICS リソースマネージャインターフェイスが使用されているかどうかを示すために、RMI パラメータが使用されます。

RMI=YES が指定されている場合は、CICS リソースマネージャインターフェイス(RMI)を使用して、Adabas タスク関連ユーザー出口(TRUE)がリソースマネージャ(RM)として実行されます。

RMI=YES は、Adabas Transaction Manager がインストールされ、有効で、CICS 環境で実行しているユーザーに利用可能なときにだけ有効です。 Adabas TRUE のインストレーションと関連する付加的な手順については Adabas Transaction Manager のドキュメントを参照してください。

RMI={NO|YES}

RTXNAME:コマンド再試行出口名

パラメータ 説明 構文
RTXNAME

コマンド再試行出口モジュールの名前。

RTXNAME={LUEXRTR|name}

SAF:Adabas Security インターフェイスフラグ

パラメータ 説明 構文
SAF

Software AG の Adabas SAF Security サポートが必要かどうかを示します。

SAF={NO|YES}

SAP:SAP アプリケーションのサポート

パラメータ 説明 構文
SAP

SAP ユーザー ID の生成がサポートされているかどうかを示します。

SAP=YES を指定すると、プログラムは SAP 初期化コールを検出し、初期化コールに提供された定数にフィールド ACBADD2 を合わせて SAP アプリケーションのためのユーザー ID をセットします。

詳細については、SAP アプリケーションシステムを使用するお客様のために提供されている補足情報を参照してください。

SAP={NO|YES}

SAPSTR:SAP ID 文字列

パラメータ 説明 構文
SAPSTR

使用する 4 バイトの SAP ID 文字列。

SAPSTR={'SAP*'|string}

SVCNO:Adabas SVC 番号

パラメータ 説明 構文
SVCNO

Adabas SVC 番号の値。

z/OS システムでは、有効な値の範囲は 200~255 です。デフォルトは "249" です。

z/VSE システムでは、有効な値の範囲は 32~128 です。デフォルトは "45" です。

SVCNO=nnn

TPMON:オペレーティング環境

パラメータ 説明 構文
TPMON

TP モニタのオペレーティング環境。 有効な値は次のように指定してください。

  • バッチを使用するには、"BAT" を指定します。

  • CICS を使用するには、"CICS" を指定します。

  • Com-Plete を使用するには、"COM" を指定します。

  • IMS を使用するには、"IMS" を指定します。

  • TSO を使用するには、"TSO" を指定します。

  • UTM を使用するには、"UTM" を指定します。

注意:
OPSYS パラメータで選択したオペレーティングシステムでサポートされている TP モニタオペレーティング環境を指定するようにしてください。
TPMON={BAT|CICS|COM|IMS}

TRUENM:CICS TRUE 名

パラメータ 説明 構文
TRUENM

Adabas CICS タスク関連ユーザー出口(TRUE)のモジュール名を指定します。 デフォルトは ADACICT です。

TRUENM={ADACICT|name}

UBPLOC:ユーザーブロックプールの割り当て

パラメータ 説明 構文
UBPLOC

ユーザーブロック(UB)プールを CICS の 16 MB 境界より上(デフォルト)に取得するか、または下に取得するかを指定します。

EXEC CICS WAIT WAITCICS または EXEC CICS WAIT EXTERNAL によって使用される ECB を UP プールに組み込みます。

UBPLOC=BELOW を設定すると、ECB を 16 MB 境界より上に許可しない CICS バージョン、つまり、CICS/ESA 3.2 以下をサポートします。

詳細については、IBM マニュアル『CICS Application Programming Reference』を参照してください。

UBPLOC={ABOVE|BELOW}

UES:ユニバーサルエンコーディングサポート

パラメータ 説明 構文
UES

ユニバーサルエンコーディングサポート(UES)が必要かどうかを示します。

UES={NO|YES}

USERX1:ユーザー出口 1 フラグ

パラメータ 説明 構文
USERX1

ユーザー出口 1 がアクティブになっているかどうかを示します。

USERX1={NO|YES}

USERX2:ユーザー出口 2 フラグ

パラメータ 説明 構文
USERX2

ユーザー出口 2 がアクティブになっているかどうかを示します。

USERX2={NO|YES}

XWAIT:CICS の XWAIT 設定

パラメータ 説明 構文
XWAIT

標準 EXEC CICS WAITCICS(XWAIT=NO)または WAIT EVENTS EXTERNAL(XWAIT=YES)が Adabas 8 タスク関連ユーザー出口(TRUE)によって実行されるかどうかを示します。 XWAIT=YES がデフォルトです。

CICS/TS 1.1 以上では CICS WAIT EVENTS EXTERNAL(XWAIT=YES)が望ましいインターフェイスです。

CICS WAITCICS ステートメント(XWAIT=NO)は、CICS/MVS 2.1.2 および CICS/VSE 2.1~2.3 での使用のために提供されています。 これは、CICS/TS 1.1 以上でも使用できますが、CICS トランザクションのパフォーマンスを低下させるか、またはビジーな CICS 環境では予期しない結果を招くことがあります。

注意:
CICS/ESA 3.3 配下で XWAIT=NO を指定する場合、IBM APAR PN39579 を CICS/ESA 3.3 システムに適用しなければなりません。 CICS/TS 1.1 以上では、この APAR は必要ありません。

XWAIT={NO|YES}

注意:

  1. XWAIT=NO が指定されている場合、ADACICT(Adabas 8 TRUE)モジュールは EXEC CICS WAIT EVENT コマンドの代わりに EXEC CICS WAITCICS コマンドを発行します。 XWAIT=YES が指定されている場合、CICS/TS バージョン 1.1 以上を搭載した高トランザクション処理の CICS システムにおける WAIT リストと ECB リストの使用方法が、推奨される IBM 仕様と同じになります。
  2. EXEC CICS コマンドはすべて CICS プリプロセッサによって処理されます。LGBLSET パラメータにより、後続のアセンブリステップはいくつかのステートメントをスキップします。

XWAIT ポスティングメカニズム

CICS WAITCICS(XWAIT=NO)は、指定された ECB のソフトポストをサポートすることができます。 これには、ハードポストワークは全ワークサイクル上で CICS に処理されないため、優先度の低い CICS 環境のディスパッチ可能なワークユニットになるという短所があります。

これに反して、EXEC CICS WAIT EXTERNAL(XWAIT=YES)により、CICS がその特別ポスト出口コードを使用できるようにし、全 CICS ワークサイクル上でチェックと処理(ポストされた場合)を常に行います。

各種の CICS WAIT コマンドとそのハードおよびソフトポスティングメカニズムの関係の違いの詳細については、IBM の『CICS Application Programming Reference Guide』および添付テキストの IBM APAR PN39579 または IBM InfoLink サービスの Item RTA000043874 を参照してください。

XWAIT および Adabas SVC/ルーター

Adabas SVC は XWAIT=YES 設定と完全な互換性があります。 SVC は、Adabas コマンドレベルリンクルーチンを使用する CICS 配下の Adabas コール元に対して必要なハードポストを実行します。 ハードポストを必要としないバッチコール元に対しては、同じ SVC がソフトポストを実行します。

Top of page