ライブラリー・リスト

システムは、ライブラリー・リストを使用してオブジェクトを見つけます。

修飾名を指定することができるコマンドでは、 ライブラリー名の指定を省略することができます。 この指定を省略すると、次のいずれかの処理が行われます。

IBM® i オペレーティング・システムによって使用されるライブラリー・リストは、 次の 4 つの部分から成り立っています。

システム部分
ライブラリー・リストのシステム部分には、システムに必要なオブジェクトが入っています。
プロダクト (実行) ライブラリー
ライブラリー・リストには 2 つのプロダクト・ライブラリーを含めることができます。 システムはプロダクト・ライブラリーを使用して、 コマンドの処理を QSYS 以外のライブラリーに依存する言語およびユーティリティーをサポートします。

ユーザー・コマンドおよびユーザー・メニューの場合も、関連するオブジェクトが確実に見つかるように、 コマンド作成 (CRTCMD) コマンドおよびメニュー作成 (CRTMNU) コマンドの PRDLIB パラメーターでプロダクト・ライブラリーを指定することができます。

プロダクト・ライブラリー (例えば、QRPG など) はシステムにより管理され、 必要に応じてライブラリー・リスト内のプロダクト・ライブラリーとして確保されている位置に入れられます。 現行ライブラリー、 またはライブラリー・リストのユーザー部分にあるライブラリーと重複していても構いません。

例えば、プロダクト・ライブラリーを使用するコマンドまたはメニューを開始したときに、 プロダクト・ライブラリーがライブラリー・リストにあるとします。 新しいコマンドが終了するか、ユーザーが新しいメニューの使用を終えるまで、 システムはライブラリー・リスト内のプロダクト・ライブラリーを、 新しいプロダクト・ライブラリーに置き換えようとします。

現行ライブラリー
現行ライブラリーは、ライブラリー・リスト内の任意のライブラリーと重複していてもよく、 そうでなくても差し支えありません。 多くのコマンドで、現行ライブラリーを示す *CURLIB をライブラリーとして使用して、 ジョブの現行ライブラリーとして指定されているライブラリーを指定することができます。 ライブラリー・リストに現行ライブラリーが存在せず、 しかも *CURLIB がライブラリーとして指定されている場合には、QGPL が使用されます。 現行ライブラリー変更 (CHGCURLIB) コマンド またはライブラリー・リスト変更 (CHGLIBL) コマンドを使用して、 ジョブの現行ライブラリーを変更することができます。
ユーザー部分
ライブラリー・リストのユーザー部分には、 システムのユーザーおよびアプリケーションにより参照されるライブラリーが入っています。 ユーザー部分、プロダクト・ライブラリー、および現行ライブラリーは、 システムの各ジョブごとに異なっていても差し支えありません。 ライブラリーの数は、250 個までに制限されています。

次の図は、ライブラリー・リストの構成の一例です。

この図は、ライブラリー・リストの構成の一例です。

注: 原始ステートメント入力ユーティリティー (SEU) を使用する場合には、 システムはライブラリー QPDA をプロダクト・ライブラリー 1 に入れます。 SEU を使用してソースの構文検査を行う場合には、2 番目のプロダクト・ライブラリーがプロダクト・ライブラリー 2 に追加されます。 例えば、RPG ソースの構文を検査する場合には、QPDA がプロダクト・ライブラリー 1、QRPG がプロダクト・ライブラリー 2 になります。 これ以外のシステムでは多くの場合、プロダクト・ライブラリー 2 は使用されません。