DBCHINIは、CLI環境を設定します。 アプリケーションでは、DBCAREAを割り当てた後で、それを初期設定するためにDBCHINIを呼び出す必要があります。
どのように機能するか
- DBCAREAの初期設定
- DBCAREAのlengthフィールドの再設定
- すべてのオプションのデフォルト値(CLI2SPB)またはアプリケーション指定値(clispb.dat)への設定
- アプリケーションのためのMTDPの初期設定
パラメータ
DBCHINIパラメータは以下のとおりです。
Int32 | DBCHINI (ReturnCode, ContextArea, DBCAREA) |
Int32 | *ReturnCode; |
char | *ContextArea; |
struct | DBCAREA |
次のような場合に当てはまります。
Return Codeのアドレス | |
Length: | 4バイト |
入力: | 戻りコード変数(4バイトの整数)のアドレス |
出力: | 不変 |
DBCHINIから制御が戻ると、整数には、初期設定の成功または失敗を表わすコード値が入っています。 ゼロの戻りコードは、DBCAREAが初期設定されたことを示します。 ゼロ以外の戻りコードは、失敗を示すと同時にその値が失敗の理由を示します。
Context Areaのアドレス | |
Length: | 4バイト |
入力: | 0 |
出力: | 内部CLIの文脈領域のアドレス |
Context Areaは、メインフレーム接続システムでの呼び出しとの互換性を維持するために備えられています。
DBCAREAのアドレス | |
Length: | 4バイト |
入力: | DBCAREA構造体のアドレス |
出力: | 不変 |
アプリケーションとCLIは、DBCAREAを共有して、CLIへの値の入力およびCLIからの値の出力にDBCAREAを使用します。
使用上の注意
アプリケーションでは、CLIの関数を使用する前に、DBCAREAの宣言または割り当てを行ない、DBCHINIを呼び出して各フィールドを初期設定しなければなりません。 アプリケーションでは、DBCHINIを呼び出す前にTotal Lengthに値を入れる必要があります。
DBCHINIは、その時点でアプリケーションが使用できるSPBからデフォルト値を入手します。
アプリケーションでは、複数のすべてのリクエストに同じDBCAREAを使用できます。 その場合、DBCHINIの呼び出しは、アプリケーション プログラムで使用するセッション、要求などの数にかかわらず1回で十分です。 DBCAREAをこの方法で使用する場合には、Input Session Id、Input Request Id、およびToken(使用する場合)を毎回呼び出す前に調べて、それらの値がそのときの呼び出しに適切であることを確かめる必要があります。
ただし、アプリケーションは、セッションごとおよび各セッション内のリクエストごとに新しいDBCAREAを割り当てたあとで初期設定することができます。 この方法では、新しい領域を使用して別のDBCHINIを呼び出します。 複数のDBCAREAを使用する場合には、余分なDBCAREAのための追加の領域と余分なDBCAREAを割り当てて初期設定するための追加の時間が必要になります。 しかし、アプリケーション プログラムが進行したあとでは、CPU時間をいくらか節約することができます。
DBCAREAを初期設定するだけでなく、DBCHINIは、いくつかの内部データ構造体も割り当てて初期設定します。