バージョン 8.1.3

z/OS 環境での Adabas のインストール


インストールチェックリスト

z/OS システムに Adabas をインストールする手順の概要について説明します。

重要:
提供されたすべての Adabas 8 のメンテナンスを提供時の状態のまま適用し、Adabas 8 パッチレベルライブラリ(L00n)を提供時の状態のまま連結したことを確認してください。 これにより、Adabas 8 のコードは最新に保たれ、すべての Adabas 8 の機能の拡張とメンテナンスがサポートされます。

手順 説明 追加情報
 
基本インストール手順
 
1 Adabas ライブラリ用に DASD スペースを割り当てます。

ライブラリはインストールテープからリストアします。 「ライブラリのディスクスペース要件」を参照してください。

2 Adabas データベース用に DASD スペースを割り当てます。

パフォーマンス向上のために、複数のデバイスおよびチャネルにデータベースファイルを分散します。 「データベースのディスクスペース要件」を参照してください。

3 Adabas ニュークリアスを実行するためのアドレススペースを指定します。

Adabas ニュークリアスのアドレススペース要件」を参照してください。

4 インストールテープから Adabas ライブラリをリストアします。

テープに添付されたテープ位置情報を使用します。 「リリーステープのインストール」を参照してください。

5 一時的または永続的に Adabas SVC をインストールします。

Adabas コミュニケーション環境の初期化」を参照してください。

 
データベースのインストール手順
手順 6~15 では、セットアップ定義の変更が必要になります。詳細については、「Adabas データベースのインストール」を参照してください。
6 ADAFRM ユーティリティジョブで Adabas データベースを割り当て、フォーマットします。
7 ADADEF ユーティリティジョブで、グローバルなデータベース属性を定義します。
8 ADALODE、ADALODV、および ADALODM ジョブで、デモンストレーションファイルをロードします。
9 製品ライセンスファイルをインストールします。
10 ADANUC ジョブで、Adabas ニュークリアスを開始し、Adabas コミュニケーションをテストします。
11 必要に応じて、CPEXLIST パラメータ付きの MULTI モードで ADAREP を実行し、Adabas アドレススペースコミュニケーションをテストします。
12 必要に応じて、AOSINPL ジョブを実行し、Natural システムファイルにAdabas Online System(AOS)アドオン製品をロードします。 または、AOS デモバージョンをインストールします(「AOS デモバージョンのインストール」参照)。
13 OS の MODIFY コマンド(F)で ADAEND オペレータコマンドを使用して Adabas ニュークリアスを終了させます。
14 ADASAV ユーティリティジョブを実行してデータベースをバックアップします。
15 DEFAULTS ジョブを実行して ADARUN デフォルトを挿入します。
 
TP モニタのインストール
 
16 Adabas に必要な TP リンクルーチンをインストールします。 TP モニタを使用する場合の Adabas のインストール」を参照してください。

Top of page

Adabas インストールの準備

Adabas インストール準備の主要な手順は次のとおりです。

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

ライブラリのディスクスペース要件

Adabas ライブラリに最低限必要な 3390 ディスクスペースの要件は次のとおりです。

ライブラリ 3390 シリンダ 3390 トラック ディレクトリブロック
ロード 8 120 40
ソース 3 45 20
JCL 1 15 20

注意:
ユーザープログラムを Adabas ロードライブラリから独立させるには、マルチユーザーモードでユーザープログラムを実行するために必要なモジュールと、ADAUSER でリンクされたモジュールだけを含むロードライブラリを別に作成します。 バージョン 8.1 の場合、ユーザープログラムで必要となるモジュールは、ADAIOR、ADAIOS、ADALNK、ADAMLF、ADAPRF、ADARUN です。

UES サポートに必要なデータセット

ユニバーサルエンコーディングサービス(UES)をサポートするためのデータベースを有効にする場合は、Software AG 内部製品ライブラリ(APS - 移植プラットフォーム)が必要になります。 これらのライブラリは、製品ライブラリとは独立して提供されます。

UES をサポートするには、次のライブラリをロードして、STEPLIB 連結に組み込む必要があります。ここで、 nn はロードライブラリレベル、vrs はテープで配布されるそのコードの最新バージョンの番号です。

APSvrs.LDnn
      

高いレベル番号を持つライブラリで下位レベルのロードライブラリ(複数の場合あり)を完全に差し替えられない場合は、より高いレベルのライブラリは、steplib 連結で下位番号のライブラリの前に指定する必要があります。

注意:
バージョン 7.2.2 より前の Adabas ロードライブラリを使用している場合、それは、下位バージョン番号の内部製品ライブラリを含んでいます。steplib 連結で、現在の内部製品ライブラリの下にこのライブラリを順序付ける必要があります。

さらに、UES サポートをするには、次のライブラリをロードして、セッション実行 JCL に組み込む必要もあります。

ADAvrs.ADAvrsCS

UES 対応データベースの接続のセットアップについては、「UES 対応データベースの接続」を参照してください。

内部製品データセットのディスクスペース要件

Adabas バージョン 8.1 で提供される内部製品ライブラリで必要な 3390 ディスクの最小ディスクスペースは次のとおりです(vrs はテープで提供されるコードの最新バージョンです)。

ライブラリ 3390 シリンダ 3390 トラック ディレクトリブロック
ADAvrs.ADAvrsCS 12 180 150
APSvrs.LDnn 5 75 55

データベースのディスクスペース要件

Adabas に必要な実際のデータベースのスペースはユーザーの要件によって異なります。 データベースに必要な最小の 3390 ディスクスペースは次のとおりです。

データベースコンポーネント 3390 シリンダ 3390 トラック
ASSOR1(アソシエータ) 20 300
DATAR1(データストレージ) 60 900
WORKR1(ワークスペース) 15 225
TEMPR1(テンポラリワークスペース) 15 225
SORTR1(ソートワークスペース) 15 225

Adabas ニュークリアスのアドレススペース要件

標準的な Adabas ニュークリアスでは、動作させるために最低 800~1024KB のアドレススペースが必要です。 ADARUN パラメータ設定によっては、必要なニュークリアスのアドレススペースのサイズが大きくなることがあります。 パラメータの設定はユーザーが決定します。

Top of page

リリーステープのインストール

このセクションでは、次の作業の方法について説明します。

変更されたデータセットを使用して、すべてのデータセットをテープからディスクにコピーすることができます。 その後、各コンポーネントに対して個別にインストール手順を実行する必要があります。

注意:
SMA を使用している場合、System Maintenance Aid のマニュアルの SMA を使用する場合の Software AG 製品のインストールに関する章を参照してください。 SMA を使用しない場合は、次の指示に従ってください。

手順 1a:データセット COPY.JOB をテープからディスクにコピーする(SMA ジョブ番号 Tnnn

データセット COPY.JOB(ラベル 2)には、その他すべての既存のデータセットをテープからディスクにアンロードするための JCL が含まれています。 COPY.JOB をアンロードするには、次のサンプル JCL を使用します。

//SAGTAPE JOB SAG,CLASS=1,MSGCLASS=X
//* - - - - - - - - - - - - - - - - -
//COPY EXEC PGM=IEBGENER
//SYSUT1 DD DSN=COPY.JOB,
// DISP=(OLD,PASS),
// UNIT=(CASS,,DEFER),
// VOL=(,RETAIN,SER=<Tnnnnn>),
// LABEL=(2,SL)
//SYSUT2 DD DSN=<hilev>.COPY.JOB,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,VOL=SER=<vvvvvv>,
// SPACE=(TRK,(1,1),RLSE),
// DCB=*.SYSUT1
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//

上記の意味は次のとおりです。

手順 1b:COPY.JOB をローカル命名規則に変更する

このジョブをサブミットする前に、3 つのパラメータの設定が必要です。

手順 1c:COPY.JOB をサブミットする

COPY.JOB をサブミットして、その他すべてのデータセットをテープからディスクにコピーします。

Top of page

Adabas コミュニケーション環境の初期化

ここでは Adabas ルーター(ADASVC)のインストールについて説明します。 ルーターは Adabas ニュークリアスと Adabas ユーザー間のコミュニケーションにクロスメモリサービスを使用します。

Adabas z/OS のクロスメモリコミュニケーションサービスは次の 2 つのモジュールから構成されています。

ADASIR(IPL 時または Adabas SVC インストールプログラム(ADASIP)によって実行される)はルーターの操作環境、特に ID テーブルを初期化します。

ADASVC 一時的または永続的のどちらでもインストールできます。

通常、最初は ADASIP を使用して Adabas SVC を一時的にインストールします。 これで、再度 IPL を実行しなくても、Adabas をすぐに使用できます。 その間、次の IPL での永続的インストールのために準備します。

Adabas リリース間の SVC の互換性の問題

Adabas 8 には、新しい Adabas SVC が含まれています。 この SVC は、下位互換性が完全に確保されています。 つまり、新しい Adabas 8 SVC は、Adabas 7、またはそれ以前のデータベースで使用することができます。

ただし、Adabas 8 データベースを使用している以前の Adabas リリースから Adabas SVC を使用することは、できません。 これを行おうとすると、Adabas 8 のデータベースは正常に初期化されません。

Adabas 8 SVC では、パフォーマンスが向上され、エラーリカバリルーチンが改善されています。 新しい SVC では効率的なオペレーティングシステムインターフェイスが使用されており、特にコマンド完了時のユーザーへの通知が改善されています。 これにより、SRB モードのルーチンから TCB モードのルーチンに、またユーザープログラムと Adabas ニュークリアスの間でワークが切り替えられます。 Adabas 8 SVC のパフォーマンスを分析する際は、この点を考慮に入れてください。 新しい SVC では、SRB モードのオーバーヘッドが大幅に削減され、TCB モードのオーバーヘッドが若干増加しましたが、結果的には全体的な SVC のパフォーマンスは向上しています。

APF 認可の要件

Adabas 8 SVC では、Adabas ニュークリアスおよびその他の MPM サーバー(Entire Net-Work、Natural グローバルバッファプールなど)が APF 認可されている必要があります。 この APF 認可により、ADASVC 0 コールの不正使用を防止します。 Software AG では、セキュリティリスクを軽減するため、APF 認可の実行を強くお勧めします。 ただし、Software AG では、ご要望に応じてこの要件を省略する ZAP(AY811031)を提供しています。

注意:
一部のアドオン製品では、制限付き z/OS サービスを使用するために APF 認可が必要となる場合があります。 このような場合でも、APF 認可が必要です。

SVC テーブルエントリの割り当て

選択したインストール手順に関係なく、有効な SVC テーブルエントリを Adabas ルーター(ADASVC)に割り当てる必要があります。 SVC テーブルエントリは SYS1.PARMLIB のメンバ IEASVCxx に定義します。

オペレーティングシステムの SVC テーブルエントリは、ADASVC に対応して次の情報を含んでいる必要があります。

オフセット ラベル 説明
0 SVCEP SVC エントリポイントアドレス。
4 SVCATTR1

タイプ 2 SVC(フラグビット SVCTP2 に X’80’ を設定)、もしくはタイプ 3 または 4 SVC(フラグビット SVCTP34 に X’C0’ を設定)を指定する必要があります。ADASIR は、タイプ 1、5、6 のいずれかの SVC をタイプ 2 に変更します。

この SVC に APF 認可が必要であることを設定できます(フラグビット SVCAPF に X’08’ を設定)。設定した場合、すべてのターゲットおよびユーザーの APF 認可が義務付けられます。

6 SVCLOCKS すべて 0 にする必要があります。 ADASIR によって SVCLOCKS がゼロに設定されます。

サブシステム名の条件

ADASVC のオフセット X'28' の 4 文字フィールド SUBSYS に含まれるサブシステム名(デフォルトは ADAB)は SYS1.PARMLIB のメンバ IEFSSNxx に指定された名前と必ず同じにする必要があります。 異なっていると、ADASIR は ADAS12 メッセージとコンディションコード 2 で終了し、Adabas は使用不可になります。

Adabas SVC のページ固定

Adabas SVC を固定 LPA に配置する場合、SYS1.PARMLIB のメンバ IEAFIXxx にエントリを追加してください。

Adabas SVC の初期化

Adabas の全ニュークリアスを完全に機能させるには、Adabas SVC を ADASIP または ADASIR によって初期設定しておく必要があります。

ルーターのインストール概要

一時ルーターのインストール(SMA ジョブ番号 I011)

Adabas インストールテープをリストアしてから、ローカルエディタを使用してジョブ JCLLINK(ADASIR、ADASIP、ADASVC のリンクに使用)を次のように修正してください。

Start of instruction set一時ルーターをインストールするには、次の手順に従います。

  1. ADASIP を認可モジュールとして APF 認可ライブラリにリンクします。

  2. ADASIR および ADASVC を APF 認可ライブラリにリンクします。

  3. ADASIP を実行して SVC をインストールします。

    IPL を行わずに Adabas SVC をダイナミックに追加するには、ADASIP ジョブを修正して実行します。

永続ルーターのインストール(SMA ジョブ番号 I010)

Start of instruction set永続ルーターをインストールするには、次の手順に従います。

  1. SVC ルーチンの名前変更規則(例:タイプ 3 SVC は IGC00nnn という名前にする。 nnn は符号付き 10 進数の SVC 番号)に従って名前を変更された Adabas SVC(ADASVC)を ADASIR に対する永続的なステップとして SYS1.LPALIB にリンクします。

  2. ADASIR を SYS1.LINKLIB にリンクします。または SYS1.PARMLIB の LNKLSTxx メンバで SYS1.LINKLIB に連結された APF 認可ライブラリにリンクします。

    注意:
    ADASIR はリエントラントではありません。したがって、SYS1.LPALIB にリンクしないでください。

  3. ジョブ JCLUPDT を修正して実行し、正しいフォーマットで新しいエントリを追加します。

  4. CLPA オプションを指定して z/OS の IPL を実行し、Adabas コミュニケーション環境をインストールして初期化します。

一時的インストールのための ADASIP の使用

ADASIP 機能

ADASIP は次の機能を実行します。

何らかのエラーが検出された場合、ADASIP は、完了したすべてのアクティビティをバックアウトし、そのエラーを示すユーザーアベンドで終了します。

現在 ADASVC によって使用されている SVC 番号を使用して、ADASVC のインスタンスを再インストールするときは、サブシステム名を現在使用中のものと同じにする必要があります。 これにより、正常に動作しないコンフィグレーションを避けることができます。 詳細については、「SVC 保全性」を参照してください。

バージョン 8 の ADASIP/ADASIR を使用して、バージョン 7 の Adabas SVC をインストールすることができますが、バージョン 8 の SVC をインストールするには、バージョン 8 の ADASIP/ADASIR が必要です。 バージョン 8 を使用して、すべてのサポートされる SVC のリリースをインストールすることをお勧めします。 以前のバージョンの ADASIP/ADASIR を使用して、後のバージョンの SVC を置き換えた場合、共通ストレージの一部のエリアが解放されない可能性があります。

次の JCL によって、ADABAS.Vvrs.LOAD の ADASIP が APF 認可ライブラリに認可モジュールとしてリンクされます。

//LNKSIP EXEC PGM=IEWL
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD SPACE=(CYL,(1,1)),UNIT=SYSDA
//ADALIB DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR
//SYSLMOD DD DSN=apflibname,DISP=SHR
//SYSLIN DD *
INCLUDE ADALIB(ADASIP)
SETCODE AC(1)
NAME ADASIP(R)

ADASIP パラメータ

ADASIP パラメータの構文は次のとおりです。

CONSNAME=c,IDTSPL=i,LEAVE=l,NRIDTES=n,REPLACE=r,SUBSYS=su,
SVCNR=svcn,SVCSPL=svcs

上記の意味は次のとおりです。

c オペレータメッセージが書き込まれるコンソールの名前です。 省略した場合、メッセージは、ROUTCDE=2、マスターコンソール情報を使用して発行されます。
i ID テーブルサブプールです。詳細については、ADASIR IDTSPL パラメータを参照してください。
l ADASIR がメッセージ ADAS11 または ADAS12 をオペレータコンソールに表示するかどうかを示します。詳細については、ADASIR LEAVE パラメータを参照してください。
n ID テーブルエントリの数です。詳細については、ADASIR NRIDTES パラメータを参照してください。
r 同じサブシステム名の既存の SSCT を置き換えるかどうかを示します。 Y(YES)または N(NO)を指定します(デフォルトは N)。 どのようなタイプの Adabas SVC の置換にもこのオプションを使用します(例:新規 SVC バージョンをインストール時)。
su サブシステム名。 このパラメータは必須です。 Adabas SVC の各インスタンスは固有のサブシステム名を持っている必要があります。
svcn Adabas SVC 番号です。詳細については、ADASIR SVCNR パラメータを参照してください。
svcs Adabas SVC および SSCT サブプールです。固定 CSA の場合は 228、ページング可能な CSA の場合は 241 です(デフォルトは 241)。

次の表に有効な ADASIP パラメータの省略形を示します。

パラメータ 省略形
CONSNAME= C=
IDTSPL= I=
LEAVE= L=
NRIDTES= N=
REPLACE= R=
SUBSYS= SU=
SVCNR= SVCN=
SVCSPL= SVCS=

SUBSYS と SVCNR 以外のパラメータはすべてオプションです。 指定した場合、パラメータ IDTSPL、LEAVE、NRIDTES、SUBSYS、SVCNR は検証されずに、ADASIR に渡されます。

ADASIP の実行

次のような JCL で ADASIP を実行します。

// EXEC PGM=ADASIP,PARM=parameters
//STEPLIB DD ...
//SVCLIB DD ...
//SIRLIB DD ...

STEPLIB DD ステートメントで定義するデータセットは、APF 認可プログラム ADASIP を含む APF 認可ライブラリにする必要があります。 ADASIP はリエントラントでもリフレッシュ属性でもないので、データセットを SYS1.LPALIB にすることはできません。

SVCLIB DD ステートメントで定義するデータセットには、Adabas SVC(その名前または別名 ADASVC)を含む APF 認可ライブラリを指定する必要があります。

SIRLIB DD ステートメントで定義するデータセットは ADASIR プログラムを含んでいる必要があります。 ADASIR はリエントラントでもリフレッシュ属性でもないので、データセットを SYS1.LPALIB にすることはできません。

パラメータの入力に誤りがある場合、ADA SIP は U0481 アベンドで終了します。

IBM ジョブコントロール規則では PARM パラメータの継続は次のように指定します。

// EXEC PGM=ADASIP,PARM=(’parameters ....’, X
// ’parameters’)

72 カラム目の X は継続文字です。 次の制限も、JCL ステートメントに適用されます。

ADASIR の使用

ADASIR 機能

ADASIR プログラムは次のいずれかによって起動されます。

ADASIR はマスタスケジューラの初期化中または ADASIP 実行中にコントロールを受け取ります。 ZAP またはアセンブルに無効な値があれば、確認メッセージが表示されます。(特定のメッセージについては『Adabas メッセージおよびコードマニュアル』を参照してください)。 IEFSSNxx メンバに指定されたパラメータまたは ADASIP によって渡されたパラメータの処理中にエラーが見つかった場合、オペレータはすべての値の確認メッセージが表示されます。

SVC テーブルエントリが無効な場合、ADASIR によってエントリの変更の承認を求めるメッセージが表示されます(SVCTAB=P(デフォルト)が指定された場合)。 エラーが見つかった場合、必ず修正し、Adabas SVC を使用する前に、IPL を実行するか、ADASIP を再実行する必要があります。

ADASIR の再リンク

ADASIR モジュールは APF 認可ライブラリにリンクする必要があります。

次の JCL は ADABAS.Vvrs.LOAD の ADASIR を SYS1.LINKLIB にリンクします。

//LNKSIR EXEC PGM=IEWL
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD SPACE=(CYL,(1,1)),UNIT=3350
//ADALIB DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR
//SYSLMOD DD DSN=SYS1.LINKLIB,DISP=SHR
//SYSLIN DD *
INCLUDE ADALIB(ADASIR)
NAME ADASIR(R)

ADASIR パラメータ

ADASIR パラメータの構文は次のとおりです。

IDTSPL=i,LEAVE=l,NRIDTES=n,SVCNR=svcn,SVCTAB=svct
変数 説明
i ID テーブルサブプールです。固定 CSA の場合は 228、ページング可能な CSA の場合は 241 です(デフォルトは 241)。
l メッセージ ADAS11 または ADAS12 をオペレータコンソールに表示するかどうかを示します。Y(YES)または N(NO)を指定します(デフォルトは N)。
n ID テーブルエントリカウントです。範囲は 1 から最大値の z/OS ニュークリアスの CSECT IEAVESVT のオフセット X’146’ で定義された値までです(「クロスメモリサービスの要件」参照)。
svcn Adabas SVC 番号(200~255)
svct オペレータに SVC テーブルエントリ更新の承認を要求するかどうかを指定します。 要求する場合は P(デフォルト)、要求しない場合は N を指定します。 SVC テーブルエントリが ADASIR の予期しないものになる可能性がある場合、P を指定してください。

次の表に有効な ADASIR パラメータの省略形を示します。

パラメータ 省略形
IDTSPL= I=
LEAVE= L=
NRIDTES= N=
SVCNR= SVCN=
SVCSPL= SVCS=

ADASIR の実行

注意:
ADASIR モジュールは APF 認可ライブラリにリンクする必要があります。

SVC の永続的インストール準備のため、SYS1.PARMLIB の新規メンバまたは既存のメンバ IEFSSNxx にエントリを作成する必要があります。 このエントリは 80 文字のレコードで、次のような形式です。

SUBSYS SUBNAME(cccc) CONSNAME(consname) INITRTN(ADASIR) INITPARM(’parameters’) comments

上記の意味は次のとおりです。

cccc 1~4 文字のサブシステム名。 この名前は Adabas SVCのオフセット X'28' に指定された名前と同じにする必要があります。 SVC に指定された名前は ADAB です。他の名前の場合、cccc を指定する前に最初に SVC に ZAP する必要があります。
consname ADASIR がメッセージを表示するコンソールの名前です。 省略した場合、メッセージは、ROUTCDE=2、マスターコンソール情報を使用して発行されます。
’parameters’ ADASIR パラメータ 複数のパラメータを指定する場合、一重の引用符で囲み、パラメータ間にコンマを挿入する必要があります。
comments コメントはオプションですが、前に最低 1 つの空白を挿入する必要があります。

サブシステム名が一致しない場合、ADASIR は ADAS12 メッセージとコンディションコード 2 でアベンドします。Adabas z/OS コミュニケーション環境は初期化されません。 必要に応じて、SSN=xx を指定して、z/OS の IPL を再実行します。 これがタイプ 3 または 4 の Adabas SVC で最初の IPL の場合、SET パラメータの 1 つとして CLPA を指定します。

IEFSSNxx から取得したパラメータまたは ADASIP から渡されたパラメータを処理しているときにエラーになった場合(メッセージ ADAS05)、オペレータはパラメータをすべて再入力するように要求されます。 そのとき、SVC テーブルエントリが誤っている場合(メッセージ ADAS09)、SVCTAB パラメータの値によって、オペレータは SVCTAB エントリ値を変更する許可を求められる(メッセージ ADAS10)か、単に変更されるます(メッセージ ADAS15)。

バージョン 8 のADASIR を使用して、バージョン 7 の Adabas SVC をインストールすることができますが、バージョン 8 の SVC をインストールするには、バージョン 8 の ADASIR が必要です。 バージョン 8 を使用して、すべてのサポートされる SVC のリリースをインストールすることをお勧めします。

ADASIR のメッセージおよびその意味については『Adabas メッセージおよびコードマニュアル』を参照してください。

一時インストール用の SVC の再リンク

Adabas SVC をその名前または別名 ADASVC で APF 認可ライブラリにリンクします。 ADASVC を AMODE=31 および RMODE=24(デフォルト)でリンクする必要があります。

次に、SVC をリンクする方法の例を示します。

// (job card)
//LKED EXEC PGM=IEWL,
// PARM=’XREF,LIST,NCAL,LET,MAP,RENT,REFR,REUS’
//SYSPRINT DD SYSOUT=X
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLMOD DD DSN=SYS1.LINKLIB,DISP=SHR <--Target loadlib
//ADALIB DD DSN=user.loadlib,DISP=SHR <--ADASVC loadlib
//SYSLIN DD *
MODE AMODE(31),RMODE(24)
INCLUDE ADALIB(ADASVC)
NAME ADASVC(R)
/*

注意:
永続的インストールの準備をしているときに、ADASVC 以外の名前で SVC をリンクする場合、SVC の別名は必ず ADASVC にします。 Adabas SVC をダイナミックにロードするとき、ADASIP は SVCLIB DD ステートメントに指定されたライブラリのモジュール名 ADASVC を検索します。

永続的インスールのための SVC 再リンク

Adabas SVC にタイプ 3 または 4 の SVC を使用することをお勧めします。

SVC タイプ 1 および 6 はサポートされていません。

タイプ 2 の SVC

Adabas SVC をタイプ 2 にする場合、システムニュークリアス IEANUC0x として SVC を SYS1.NUCLEUS にリンクします。

このニュークリアスには、有効にしたタイプ 2 SVC の SVC テーブルエントリが含まれている必要があります。これは SYSGEN 時に定義する必要があります。

ニュークリアスのリンクに必要なステートメントに次のようなリンケージエディタコントロールステートメントを追加します。

CHANGE ADASVC(IGCnnn) ---> nnn is the SVC number in decimal
INCLUDE ADALIB(ADASVC) ---> ADALIB contains the Adabas SVC

タイプ 3 または 4 の SVC

Adabas SVC をタイプ 3 または 4 としてインストールするには、Adabas SVC を適切な名前で SYS1.LPALIB にリンクします。 ADASVC は AMODE=31 および RMODE=24(デフォルト)でリンクする必要があります。

次に、SVC を再リンクする方法の例を示します。

// (job card)
//LKED EXEC PGM=IEWL,
// PARM=’XREF,LIST,NCAL,LET,MAP,RENT,REFR,REUS’
//SYSPRINT DD SYSOUT=X
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLMOD DD DSN=SYS1.LPALIB,DISP=SHR <--Target Loadlib
//ADALIB DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR <--ADASVC loadlib
//SYSLIN DD *
MODE AMODE(31),RMODE(24)
CHANGE ADASVC(IGC00nnp) <- where nn are the first two digits of the SVC in decimal and
INCLUDE ADALIB(ADASVC) p is the character corresponding to the x’Cn’
NAME IGC00nnp(R) ----> (n is the last digit of the SVC number in decimal)
*
/*

Top of page

Adabas データベースのインストール

Adabas インストールテープをリストアし、ADASVC をインストールした後に、次のいずれかを実行できます。

インストール中に発行されたメッセージやコードについては『Adabas メッセージおよびコードマニュアル』を参照してください。ユーティリティの詳細については、『Adabas ユーティリティマニュアル』を参照してください。

既存のデータベースの移行

既存のデータベースを Adabas の新しいリリースに移行するには、ADACNV ユーティリティを使用します(SMA ジョブ番号 I051)。 詳細については、『Adabas ユーティリティマニュアル』を参照してください。

データベースのインストール手順

手順 1:Adabas データベースの割り当てとフォーマット(SMA ジョブ番号 I030)。

ADAFRM ユーティリティジョブを修正して実行し、Adabas データベースの割り当てとフォーマットを行います。 次の項目を修正する必要があります。

手順 2:グローバルなデータベース属性の定義(SMA ジョブ番号 I030)

ADADEF ユーティリティジョブを修正して実行し、データベースのグローバルな属性を定義します。 次の項目を修正する必要があります。

手順 3:デモンストレーションファイルのロード(SMA ジョブ番号 I050)

次のジョブを修正し、実行します。

各ジョブについて、次の項目を修正する必要があります。

手順 4:製品ライセンスファイルのインストール (SMA ジョブ番号 I007)

製品ライセンスファイルは個別のカスタマインストールテープ、または別に送信される電子メールの添付ファイルで提供されます。 ライセンスファイルがインストールテープで提供されている場合は、この手順の最後あたりの指示に従ってライセンスファイルをインストールしてください。 ライセンスファイルが電子メールの添付ファイルとして提供されている場合、次の指示に従ってライセンスを z/OS に転送する必要があります。

ライセンスファイルの z/OS への転送

製品ライセンスファイルの電子メール添付ファイルを Windows から z/OS に転送するには、次の手順に従います。

  1. 製品ライセンスファイルの電子メール添付ファイルをハードドライブの任意の場所に保存します。

  2. [コマンドプロンプト]ウィンドウを開きます。

  3. [コマンドプロンプト]ウィンドウで、製品ライセンスファイルを保存したディレクトリに移動します。

  4. z/OS ホストとの間で FTP セッションを開始します。

    ftp host-name

    host-name は z/OS ホストの名前です。

  5. z/OS ホストのログイン ID とパスワードを入力します。

  6. FTP セッションが確立されたら、ライセンスファイルの z/OS ファイルシステムとデータセットの接頭辞("ADABAS" などの使いやすい接頭辞)を指定します。

    ftp>cd 'ADABAS'
  7. バイナリデータモードに切り替えます。転送中、ライセンスファイルのフォーマットは ASCII のまま保持される必要があります。

    ftp>binary
  8. ライセンスファイルのデータセットが RECFM=FB および LRECL=80 で書き込まれるように指定します。

    ftp>quote site RECFM=FB LRECL=80 BLKSIZE=4000

    製品ライセンスファイルでは RECFM=F もサポートされています。

  9. ライセンスをデータセットとして z/OS システムに書き込みます。 例えば、ライセンスファイル名が ada81.xml の場合、次のように入力します。

    ftp>put ada81.xml

    このコマンドによって、"prefix.ADA81.XML" という名前のデータセットが作成されます。prefix は手順 6 で指定したデータセット接頭辞です。 手順 6 で接頭辞として "Adabas" を指定した場合、データセット名は "ADABAS.ADA81.XML" になります。 データセットは RECFM=FB、LRECL=80 になり、ライセンス情報は ASCII フォーマットでそのデータセットに格納されます。

  10. FTP セッションを終了します。

    ftp>quit

ライセンスファイルのインストール

製品ライセンスファイルをインストールするには、次の手順に従います。

  1. ライセンスファイルは Adabas ソースライブラリ上に格納されていることを確認してください(RECFM=F または FB および LRECL=80)。また、フォーマットは ASCII が保持されるように注意してください。

  2. サンプルジョブ ASMLICAM を確認して、次のように変更します。

  3. サンプルジョブ ASMLICAM をサブミットします。 このジョブは、プログラム ADALICAM を実行し、ライセンステキストファイルを ADALIC という名前のロードモジュールに変換します。このモジュールは、指定されたユーザーロードライブラリに格納され、Adabas ニュークリアスによってロードされます。

または、製品ライセンスファイルをシーケンシャルファイルまたは PDS メンバから直接読み込むこともできます。 これを行うには、次の手順に従います。

  1. ライセンスファイルは Adabas ソースライブラリ上に格納されていることを確認してください(RECFM=F または FB および LRECL=80)。また、フォーマットは ASCII が保持されるように注意してください。

  2. 以前に作成した ADALIC ロードモジュールから、ニュークリアスジョブによって使用される Adabas ロードライブラリにアクセスできないことを確認します。 Adabas は最初に ADALIC のロードを試み、失敗すると DDLIC から読み込みます。

  3. すべての Adabas ニュークリアス起動ジョブに次の DD ステートメントを追加します。

    //DDLIC     DD  DISP=SHR,DSN=dsn

    dsn は ASCII フォーマットのライセンスファイルのデータセット名です。 dsn はパーティション分割されたデータセットのメンバを参照することがある点に注意してください。

手順 5:Adabas ニュークリアスの開始および Adabas コミュニケーションのテスト(SMA ジョブ番号 I040)

ジョブ ADANUC を修正して実行し、Adabas ニュークリアスを開始します。 次の項目を修正する必要があります。

手順 6:Adabas アドレススペースコミュニケーションのテスト(該当する場合)

ADAREP を修正し、CPEXLIST パラメータを使用して MULTI モードで実行し、Adabas アドレススペースコミュニケーションをテストします。 次の項目を修正する必要があります。

手順 7:Adabas Online System アドオン製品のロード(該当する場合)(SMA ジョブ番号 I061)

ジョブ AOSINPL を修正して実行し、バージョン Natural 3.1 以上のバッチを使用した Natural システムファイルに Adabas Online System(AOS)をロードします。 次の項目を修正する必要があります。

または、Adabas 付属の AOS デモバージョンをインストールします。「AOS デモバージョンのインストール」を参照してください。

手順 8:Adabas ニュークリアスの終了

次の OS MODIFY コマンドで ADAEND オペレータコマンドを使用して Adabas ニュークリアスとコミュニケートし、セッションを終了します。

F jobname,ADAEND

または次のコマンドで終了します。

P jobname

jobname は、開始したニュークリアスのジョブまたはタスク名です。

手順 9: データベースのバックアップ

データベースをバックアップするには、ADASAV ユーティリティを修正し、実行します。 次の項目を修正する必要があります。

手順 10:ADARUN デフォルトの挿入

Adabas JCL ライブラリのメンバ DEFAULTS を変更して、ADARUN デフォルトを設定できます。 次の項目を修正する必要があります。

DEFAULTS ジョブを修正して実行し、OS ZAP ユーティリティを使用して ADARUN デフォルトを設定します。

手順 11:Adabas に必要な TP リンクルーチンのインストール

TP リンクルーチンプロシージャの詳細については、「TP モニタを使用する場合の Adabas のインストール」を参照してください。

Top of page

SVC 保全性

かつては、同一のサブシステム ID が複数の SVC に存在すると、複数の SVC によって単一の ID テーブルが使用される結果になりました。 これは問題を引き起こし、場合によっては重大な問題(ニュークリアスの異常終了またはデータベースの破壊)が発生することもありました。

この危険性を避けるため、バージョン 8の SVC では、ID テーブルにアクセスする SVC が、ADASIP/ADASIR によってテーブルの初期化に使用された SVC と同じであるかチェックします。 SVC が同じでないとき、アベンド 650 が発生します。

アベンド 650 はニュークリアスの ADARUN パラメータに無効な SVC 番号が指定された場合に発生し、 Adabas 初期化中、ユーザープログラムから最初の Adabas コールを発行したとき、または Entire Net-Work のような他の Software AG 製品によって IDテーブルが要求されたときに発生することがあります。

ADASIP はこの問題が発生しないように機能が拡張されています。 現在他のサブシステムに関連付けられている SVC 番号を使用して ADASVC のインスタンスをインストールしようとすると、ADASIP は アベンド 435 で終了します。

Top of page

クロスメモリサービスの要件

z/OS におけるクロスメモリサービスの実装のため、MULTI モードで Adabas ニュークリアスを実行するときは次の点に注意してください。

このアドレススペースを表す ASID は次の IPL まで再び割り当てられることはありません。 したがって、SYS1.PARMLIB のアクティブ IEASYSxx メンバの MAXUSERS パラメータには十分大きい値を指定してください。または、システムがサポートする場合、同じメンバの RSVNONR パラメータを適宜調整できます。 また、Adabas ニュークリアスを理由もなく停止したり起動したりしないでください。

この点については、上記のマニュアルの「Recovery Considerations」および「Resource Management」を参照してください。 IBM APAR の OZ61154、OZ61741、OZ67637も参照してください。

クロスメモリサービスをシステム内のすべてのアドレススペースから利用できるようにするため、Adabas ニュークリアスはシステムリンケージインデックス(LX)を z/OSから取得します。 LX は全アドレススペースのリンケージスペースで予約済みのスロットで、システム全体の全アドレススペースへのリンケージを許可します。

コンフィグレーションで z/OS 1.6 以降を使用していて、ハードウェアがアドレススペースと LX の再利用機能(ALRF)を使用している場合、バージョン 8 の ADASVC は再利用可能なシステム LX を使用します。 ALRF を使用していない場合、前リリースと同様、再利用不可のシステム LX が使用されます。 再利用可能な LX では、再利用不可の LX による制限が解決されます。 次に、これらの制限について説明します。

システムで使用するために z/OS が確保できる再利用不可の LX の数はあまり多くありません(最大 2048、通常は 165)。

z/OS がクロスメモリサービスを使用する方法が原因で、Adabas が取得した再利用不可のシステム LX は、次回の IPL まで z/OS の制御に返すことができません。 しかし、LX を所有するシステムは、異なるアドレススペース用であっても LX を再利用することができます。 Adabas では、CSA 内のテーブルで使用中の LX を識別することにより、将来のニュークリアスで利用可能なときに、LX を再使用できるようにします。

再利用不可のシステム LX 数は SYS1.PARMLIB 内のメンバ IEASYSxx に NSYSLX パラメータを使用して指定できます。 この値を変更する場合、IPL を実行して変更を有効にする必要があります。

次の点を考慮して NSYSLX 値を決定してください。

同様に、Adabas セッションが FORCE オペレータコマンドで正常に終了した場合または ESTATE 処理中に異常終了した場合も(例:S222 オペレータキャンセルまたはスナップダンプ中の S722 スプール制限超過アベンドなど)、LX を次の IPL まで再使用できません。

これらのターゲットに送られたどのコマンドも S0D6 でアベンドします。 ニュークリアスを再スタートしようとすると、DUP ID(LOCAL) 付きの ADAM98 メッセージを受け取り、アベンドします。 この 2 つの問題を解決するには、ADARUN FORCE=YES および IGNDIB=YES パラメータでニュークリアスを再スタートします。

最初のターゲットがシステム LX を取得しようとしたときに、利用できる LX がなかった場合、アベンドコード S053 と理由コード 0112 で終了します。 ターゲットは次の IPL まで開始できません。

Top of page

Global Resource Serialization の要件

Adabasでは Adabas ニュークリアスとユーティリティ間の同期処理の実行に Global Resource Serialization(GRS)を使用します。 Adabas の GRS 要求が有効になるよう、システムで GRS が正しく設定されていることが重要です。

次の点を考慮して GRS を設定してください。

Top of page

EXCPVR の使用

Adabas では、EXCP の代わりに EXCPVR を使用することで、チャネルプログラム変換のオーバーヘッドが削減されるため、パフォーマンスとシステムスループットを向上できます。

Adabas で EXCPVR を起動するには、次の条件を満たしている必要があります。

現在では、APF 認可された Adabas ニュークリアスとユーティリティの実行が標準的になっています。 詳細については、「APF 認可の要件」を参照してください。

以前のバージョンの Adabas では、データベース I/O の EXCP または EXCPVR の使用と、ロードライブラリの APF 認可は相互に関連します。 APF 認可なしで実行している場合は常に EXCP が使用され、APF 認可ありで実行している場合には EXCPVR が常に使用されます。 APF 認可を実行している場合に EXCP を使用するには、特別な A$- zap または AY- zap の適用が必要です。

Adabas 8 では、z/OS 環境で使用できる新しい ADARUN パラメータ、EXCPVR が導入されています。 このパラメータを使用すると、APF 認可の実行時に EXCP または EXCPVR のどちらを使用するかを指定できます。 EXCPVR パラメータを "YES" に設定すると、EXCPVR が使用され、"NO" に設定すると、EXCP が使用されます。 APF 認可なしのロードライブラリから実行しているときに、EXCPVR パラメータを "YES" に設定すると、EXCPVR パラメータは無視されます。 このパラメータの詳細については、「EXCPVR:EXCP または EXCPVR の使用の制御」を参照してください。

EXCPVR パラメータに加え、別の ADARUN パラメータ PGFIX も EXCPVR の使用に影響します。 z/OS システムで EXCPVR が使用されている場合、PGFIX パラメータは I/O コントロールブロックを含むページが I/O 処理の完了後に解放されるか、ジョブ終了後に解放されるかを制御します。 このパラメータは、z/OS で EXCPVR を使用している場合のみ有効です。 PGFIX パラメータを NO に設定すると、I/O コントロールブロックを含むページは I/O 処理の間だけ固定され、YES に設定すると、I/O コントロールブロックを含むページは、ジョブが継続する間固定されます。 このパラメータの使用の詳細については、「PGFIX:EXCPVR ページ固定制御」を参照してください。

Top of page

共有可能な ADARUN の作成

Adabas ロードライブラリ内に提供される ADARUN モジュールは再利用できません。 共有可能な ADARUN が必要な場合、REUS=YES リンクエディット属性を付けて再リンクする必要があります。

再利用可能オプションを指定して ADARUN をリンクすると、同じアドレススペースで実行されている複数のプログラムが同一の ADARUN を共有し、最終的には ADALNK の同一のコピーを共有することができます。 異なるプログラムが 1つの Adabas ユーザー ID を共有する必要があるとき、また、ADALNK ユーザー出口の単一コピーが必要な場合にも、これは重要です。

共有可能な ADARUN を作成するには、JOBS ライブラリのサンプルジョブ JCLLINRR を使用して、REUS 属性で再リンクします。

再利用可能な ADARUN と再利用不可の ADARUN の両方が必要な場合は、どちらも ADARUN という名前でロードできるため、それぞれを異なるロードライブラリに置く必要があります。

Top of page

16MB を超えるストレージ

Adabas では、16MB のアドレス制限より上に必要なエリア(バッファスペースを含む)を取得し、バッファプールサイズを拡張できます。

逆にスペースを 16MB 制限より下に割り当てるには、次の例の MODE ステートメントにある AMODE の値を AMODE(24) に設定します。

//LINKRUN EXEC PGM=IEWL,PARM=’REUS’
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//ADALIB DD DSN=user.loadlib,DISP=SHR
//SYSLMOD DD DSN=user.loadlib,DISP=SHR <=APF-authorized library
//SYSLIN DD *
MODE AMODE(24),RMODE(24)
SETCODE AC(1)
INCLUDE ADALIB(ADARUN)
NAME ADARUN(R)

さらに、Adabas は JOB ステートメントまたは EXEC ステートメントで、あるいはインストールのデフォルトとして、十分な REGION を指定して実行する必要があります。 例としては、次のようなものがあります。

//BIG JOB ...,REGION=30M,...

Top of page

2GB を超えるストレージ(64 ビット)

実ストレージ

Adabas では 2GB 境界を超えるリアルページを利用することができます。 この機能により Adabas は 64 ビットのリアルアドレスを I/O エリアとして使用することができます。

Adabas が 64 ビットの実ストレージをサポートするには Adabas 実行時に APF 認可されている(EXCPVRを使用)か、されていない(EXCP を使用)かによって決まります。 実行モードは、ADAI65 メッセージに示されます。

ADAI65 EXCPVR IS {BEING | NOT BEING} USED FOR THIS RUN IN ESA64 MODE

64 ビットの実ストレージをサポートするには、次のいずれかが必要です。

これらは、実ストレージ割り当て用の 2 ギガバイト以上の LPAR を持つ IBM 2064 ファミリのプロセッサ上で動作している必要があります。

仮想ストレージ

IBMは 64 ビット仮想ストレージを z/OS V1 R2 以降でのみサポートしています。

Software AG では、Adabas Caching Facility(ACF)製品を使用する IBM の 64 ビット仮想ストレージのサポートを提供しています。 詳細については Software AG にお問い合わせください。

Adabas Caching Facility のデモが ADAvrs.ALLINPL ファイル(vrs はテープで配布される最新の Adabas バージョン)に含まれています。

Top of page

ZAP の適用

個々のオペレーティングシステムに ZAP を適用するには、z/OSの AMASPZAP ユーティリティを使用します。この方式はデータを検証(VER)し、置き換え(REP)ます。 次のサンプル JCL は、AMASPZAP を実行します。

//ADAZAP JOB
//STEP1 EXEC PGM=AMASPZAP
//SYSPRINT DD SYSOUT=X
//SYSLIB DD DSN=ADABAS.Vvrs.LOAD,DISP=SHR
//SYSIN DD *
(zap control statements)
/*
//

上記の場合の ZAP コントロールステートメントの例を次に示します。

NAME membername csectname
VER displacement data
REP displacement data
IDRDATA (up to eight bytes of user data)
* (comment)

注意:
VER ステートメントおよび REP ステートメントで、コマンド、displacement、data の区切りには必ずスペースを使用してください。 コンマをデータ区切りとしても問題ありませんが、コンマとスペースの同時使用またはスペースのみは受け入れられず、エラーが発生します。

Top of page

Adabas 7 ADALINK について

注意:
ユニバーサルエンコーディングサービス(UES)を使用したデータ変換が有効なデータベースの接続についての詳細は、「UES 対応データベースの接続」セクションを参照してください。

ユーザー出口 B(プレコマンド)およびユーザー出口 A(ポストコマンド)

1 つまたは 2 つのユーザー出口を ADALINK ルーチンとリンクできます(SMA ジョブ番号 I088)。

出口へのエントリで、レジスタの内容は次のようになっています。

レジスタ 内容
1 UB のアドレス。

フラグビット UBFINUB がリセットされると、Adabas+X'86' のハーフワードの内容は UBLUINFO に移されます。 この内容が 0 より大きい場合、UBINFO(UB+X'40')で開始する 2 バイトは 0 にセットされます。

UBFINUB がセットされると、UB または ACB(ACBRSP を除く)への変更は行われません。

2 16 ワードのセーブエリアのアドレス(ADALNC の場合だけ)
13 18 ワードのセーブエリアのアドレス(非 CICS ADALINK 出口用)
14 リターンアドレス
15 エントリポイントアドレス。UEXITB または UEXITA

ユーザー出口に変更されるレジスタ(レジスタ 15 以外)はどれも保存され、リストアされる必要があります。このためのセーブエリアのアドレスはレジスタ 13にあります(ADALNCの場合はレジスタ 2)。

UEXITB からの戻りでレジスタ 15 に 0 以外の値が含まれている場合、コマンドはターゲットに送られず、コール元に返されます。 ユーザー出口は、コール元プログラムにコマンドが抑制されたことを示すため、ACBRSP にゼロ以外の値を設定する必要があります。レスポンスコード 216 はこのために予約されています。

UEXITB 出口は UB フィールド UBLUINFO に小さい値(0 を含む)を設定することができます。ユーザー出口が UBLUINFO に大きい値を設定するとアベンドが発生します。 UBLUINFO 長は、他の出口(例:Adabas Review や Adabas Fastpath)が使用されているときは変更できません。

UEXITA 出口が受け取ったユーザー情報は変更されていることがあります。この変更には、ADALINK ユーザー出口のどれかによる長さの縮小(0 の場合もあり)などがあります。

ADALINK ルーチンが返す ACBRSP のゼロ以外のレスポンスコードを次に示します。

レスポンスコード 説明
213 ID テーブルがありません。
216 UEXITB はコマンドを抑制しました。
218 UB を使用することができません。

少なくとも次の 3つの EQU 文(ソースの先頭に記述)は、ADALINK ルーチンをアセンブルする前に変更できます。 ただし、いくつかの ADALINK ルーチンでは対応する情報を ZAP できます。

EQU 文 説明
LOGID デフォルトの論理 ID。1~65535。 デフォルトは 1 です。
LNUINFO ADALINK ユーザー出口に渡すユーザー情報の長さ。0~32767。 デフォルトは 0 です。
SVCNR Adabas SVC 番号。値の範囲やデフォルトはオペレーティングシステムに依存します。 この値は、次の ADALINK ルーチンのアセンブリで SYSPARM 値として指定することができます。
//EXEC PGM=ass,PARM=‘......,SYSPARM(svcnr)’

全 Adabas リンクルーチンの先頭 152(X'98')バイトは次の構造を保持する必要があります。

オフセット ラベル 内容 説明
00 ADABAS   エントリコード
12   CL6’ADALNx プログラム名
18   XL4’yyyymmdd アセンブリ日付
1C   A(ZAPTAB) ZAP テーブルのアドレス
20 PATCH XL96'00' パッチエリア
80 LNKLOGID AL2(LOGID) デフォルト論理 ID(デフォルト:1)
82   82 XL2’00’ 予約済み
84 LNKSVC SVC SVCNR Adabas SVC の実行可能 SVC 命令(デフォルト:オペレーティングシステム依存)
86 LUINFO Y(LNUINFO) ユーザー情報の長さ(デフォルト:0)
88 VUEXITA V(UEXITA) コール後のユーザー出口のアドレス(weak)
8C VUEXITB V(UEXITB) コール前のユーザー出口のアドレス(weak)
90 ADABAS51 CL8'ADABAS51' IDT ID

ADAUSER について

ADAUSER はユーザーを Adabas にリンクするプログラムです。 これはオペレーティングシステムに固有であり、リリースレベルやモードには依存しません。 バッチ環境やいくつかの TP 環境(TSO など)で使用できます。

ADAUSER は次のような方法で処理を行います。

Top of page

Adabas 8 ADALINK について

注意:
ユニバーサルエンコーディングサービス(UES)を使用したデータ変換が有効なデータベースの接続についての詳細は、「UES 対応データベースの接続」セクションを参照してください。

リンクルーチンユーザー出口 1(プレコマンド)およびユーザー出口 2(ポストコマンド)

1 つまたは 2 つのユーザー出口を ADALINK ルーチンとリンクできます。

出口へのエントリで、レジスタの内容は次のようになっています。

レジスタ 内容
1 UB のアドレス。

フラグビット UBFINUB がリセットされると、Adabas+X'86' のハーフワードの内容は UBLUINFO に移されます。 この内容が 0 より大きい場合、UBINFO(UB+X'40')で開始する 2 バイトは 0 にセットされます。

UBFINUB がセットされると、UB または ACB(ACBRSP を除く)への変更は行われません。

2 16 ワードのセーブエリアのアドレス(ADALNC の場合だけ)
13 18 ワードのセーブエリアのアドレス(非 CICS ADALINK 出口用)
14 リターンアドレス
15 エントリポイントアドレス。LUEXIT1 または LUEXIT2。

ユーザー出口によって修正されるレジスタ(レジスタ 15 以外)はどれも保存され、リストアされる必要があります。このためのセーブエリアのアドレスはレジスタ 13 にあります。

LUEXIT1 からの戻りでレジスタ 15 に 0 以外の値が含まれている場合、コマンドはターゲットに送られず、コール元に返されます。 ユーザー出口は、コール元プログラムにコマンドが抑制されたことを示すため、ACBXRSP にゼロ以外の値を設定する必要があります。レスポンスコード 216 はこのために予約されています。

LUEXIT1 出口は UB フィールド UBLUINFO に 0 より小さい値(0 を含む)を設定することができます。ユーザー出口が UBLUINFO に 0 より大きい値を設定するとアベンドが発生します。 その他の出口が使用されている場合、UBLUINFO の長さを変更することはできません。

LUEXIT2 出口が受け取ったユーザー情報は変更されていることがあります。この変更には、ADALINK ユーザー出口のどれかによる長さの縮小(0 の場合もあり)などがあります。

ADALINK ルーチンが返す ACBXRSP のゼロ以外のレスポンスコードを次に示します。

レスポンスコード 説明
213 ID テーブルがありません。
216 LUEXIT1 はコマンドを抑制しました。
218 UB を使用することができません。

ADAUSER について

ADAUSER はユーザーを Adabas にリンクするプログラムです。 これはオペレーティングシステムに固有であり、リリースレベルやモードには依存しません。 バッチ環境および一部の TP 環境で使用できます。

ADAUSER にはエントリポイント ADABAS が含まれているので、Adabas をコールするすべてのユーザープログラムとリンクしてください。 CSECT またはエントリポイント名 ADABAS を含んでいる他のプログラムをこれらのロードモジュールにリンクすることはできません。

Adabas への最初のコールで、ADAUSER は最新バージョンの ADARUN をロードします。 これにより、コール処理をリリースレベルに依存することなく使用できます。 後続の Adabas コールは ADARUN をバイパスします。

ADARUN はそのコントロールステートメントを処理します。 ADARUN の設定が PROGRAM=USER(デフォルト)の場合、ADARUN は非リエントラント ADALINK モジュールをロードします。 リエントラントバッチリンクルーチンをロードするには、ADARUN パラメータ PROGRAM=RENTUSER を使用します。 これにより、コール処理がモードに依存しなくなります。

Top of page