Natural 用語でライブラリとは、Natural オブジェクトのためのコンテナです。 Natural アプリケーションは、環境のセットアップ方法に応じて、複数ライブラリのオブジェクトにアクセスすることができます。
ライブラリは、ライブラリワークスペース、またはライブラリワークスペースから開くことができるリストビューウィンドウで管理されます。
注意:
アプリケーションワークスペースのアプリケーションにも、ライブラリとオブジェクトが含まれています。 ただし、これらは、ライブラリワークスペースで通常使用できるライブラリおよびオブジェクトへのリンクとしてのみ含まれています。 詳細については、『SPoD を使用したリモート開発』ドキュメントの「アプリケーションの管理」を参照してください。
このドキュメントでは、次のトピックについて説明します。
次のタイプのライブラリを使用できます。
ライブラリタイプ | 説明 |
---|---|
システムライブラリ |
システムライブラリは、バージョンに依存する システムライブラリは Software AG 専用に確保されており、予告なしに変更されることがあります。 重要: 注意:
|
ユーザーライブラリ |
ユーザーライブラリは、 |
非アクティブライブラリ |
グローバルコンフィグレーションファイルに定義されているすべてのシステムファイルと、現在の Natural セッションの開始に使用したパラメータファイルに定義されていないシステムファイルは、非アクティブなシステムファイルです。 『コンフィグレーションユーティリティ』ドキュメントの「コンフィグレーションファイルのパラメータの概要」セクションで「システムファイル」も参照してください。 非アクティブライブラリ内の Natural オブジェクトを実行することはできません。 ただし、非アクティブライブラリ内のオブジェクトの削除、名前変更、アクティブライブラリと非アクティブライブラリ間でのオブジェクトのコピーおよび移動は可能です。 非アクティブライブラリを使用する場合は、対応する非アクティブシステムファイルがアクティブなシステムファイル( |
「ノードのアイコン」と「ライブラリの命名規則」も参照してください。
steplib は、Natural のユーザーライブラリまたはシステムライブラリで、現在のユーザーライブラリまたはシステムライブラリと連結されます。 これにより同一のオブジェクトを重複して保存することを防止できるので、アプリケーションを編成するのに役立ちます。 また、Natural Security をインストールしている場合は、steplib を使用して特定のオブジェクトへのアクセスを制限できます。
オブジェクトが現在のライブラリで見つからないと、steplib が検索されます(詳細については、「オブジェクト実行の検索順序」を参照してください)。 標準の steplib は、FUSER
および FNAT
システムファイルのライブラリ SYSTEM
です。
Natural Security がアクティブの場合は、各ライブラリのセキュリティプロファイルに steplib を追加定義できます。 ライブラリのセキュリティプロファイルにエントリを追加すると、Natural Security の外部で定義されたエントリは上書きされます。
Natural Security がアクティブでない場合は、コンフィグレーションユーティリティでプロファイルパラメータ STEPLIB
を使用して追加の steplib を指定できます。 また、steplib を定義するために Natural のシステムライブラリ SYSEXT
に用意されているアプリケーションプログラミングインターフェイスのいずれか(USR1025N
や USR3025N
など)を使用して、steplib をさらに定義できます。
標準の steplib SYSTEM
(FUSER
および FNAT
)より先に追加の steplib でオブジェクトが検索されます。
現在アクティブな steplib が[TECH]ダイアログボックスの[STEPLIB]ページに表示されます。 詳細については、「技術情報」を参照してください。
This section describes the sequence in which Natural libraries and system files are searched for a requested object that is to be executed from either a user library or a system library.
注意:
If the profile parameter BPSFI
is set to
"ON" (the default setting is
"OFF"), objects are searched
for in the buffer pool first.
The current library in the FUSER
system file as defined by the system
variable *LIBRARY-ID
.
The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.
The default steplib as defined by the system variable
*STEPLIB
.
The library SYSTEM
in the FUSER
system
file.
The library SYSTEM
in the FNAT
system
file.
The current "SYS" library in the
FNAT
system file as defined by the system variable
*LIBRARY-ID
.
The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.
The library SYSLIBS
in the FNAT
system
file, which contains objects shared by system commands and utilities.
The library SYSTEM
in the FNAT
system
file.
The library SYSTEM
in the FUSER
system
file.
Since the FUSER
system file is searched last, you
must provide an object that is used in both the FUSER
and
the FNAT
system files (for example, a
user-exit routine for a Natural utility) only in one location, namely in
FUSER
.
Natural ライブラリ内のオブジェクトを使用したり、特定のライブラリ内のアプリケーションを開始するためには、まず該当するライブラリにログオンする必要があります。
Natural スタジオでは、自動および手動の 2 通りの方法でライブラリにログオンできます。 ログオン先のライブラリの名前は、常にコマンド行に表示されます。
注意:
Natural Security がアクティブな場合は、使用を許可されていないライブラリはライブラリワークスペースに表示されません。
ライブラリワークスペースまたはリストビューウィンドウで目的のライブラリを選択します。
または:
ライブラリワークスペースまたはリストビューウィンドウでオブジェクトを選択します。
または:
開いているエディタウィンドウをアクティブにします。
注意:
ノードの前のプラス記号またはマイナス記号をクリックしてツリー内のライブラリのノードを展開または圧縮した場合は、このライブラリに自動的にログオンされることはありません。 ログオンは、ライブラリ名をクリックするなどの方法でライブラリを選択した場合にのみ実行されます。
コマンド行に次のシステムコマンドを入力します。
LOGON library-ID
library-ID は、アクセスするライブラリの ID(名前)です。
システムコマンド LOGON
の説明も参照してください。
新しいライブラリは、ローカルまたはリモート環境内部にあるシステムファイル(FNAT
または FUSER
)にのみ作成できます。 非アクティブライブラリは作成できません。これらは読み取り専用です。
一度に作成できるライブラリは 1 つです。
新しいライブラリを作成するには
ライブラリワークスペースで、新しいライブラリを入れるシステムファイルのノードを選択します(ローカル環境のノードの下か、以前に接続した開発サーバーのノードの下)。
システムファイルのノードは、現在のビューに応じて名前が異なります。 例えば、論理ビューでユーザーライブラリを作成する場合は、[User Libraries]という名前のノードを選択する必要があります。
メニューの を選択します。
または:
コンテキストメニューを表示し、 を選択します。
これで、新しいライブラリがデフォルト名 "USRNEW" でツリーに表示されます。 新しい名前をすぐに入力できるように、デフォルト名が選択されています。 テキストを入力すると、選択されている名前は自動的に削除されます。
ライブラリの名前を入力します。
「ライブラリの命名規則」も参照してください。
注意:
名前が編集モードのときは、コンテキストメニューを表示できます。 コンテキストメニューには、 や などの Windows 標準の編集コマンドの他に、Unicode 用の Windows コマンドが含まれていることもあります。 詳細については、Windows のドキュメントを参照してください。
Enter キーを押します。
または:
ライブラリワークスペース内の別の場所をクリックします。
これで、新しいライブラリがすべてのビューで使用可能になります(アルファベット順にソートされます)。 フィルタが現在アクティブな場合は、名前が別の文字で始まっているために新しいライブラリが表示されないことがあります。 詳細については、「ライブラリとオブジェクトのフィルタ」を参照してください。
フィルタを使用して、ライブラリワークスペース、アプリケーションワークスペース、およびこれらのワークスペースから開くリストビューウィンドウに表示される項目数を減らすことができます。
ライブラリワークスペースにフィルタを定義した場合は、同じフィルタがアプリケーションワークスペースにも適用されます。逆の場合も同じです。 もう片方のワークスペースの表示に変更内容が反映されるためには、そのワークスペースの表示を更新する必要がある場合もあります。
リモート環境では、フィルタは特定の開発サーバーに対して(つまり、ホスト名とサーバーポートに対して)定義され、この開発サーバー上で定義されているすべての環境とアプリケーションに使用されます。 例えば、"myserver" という名前とポート番号 "1234" を使用してマップされている環境でフィルタを定義すると、同じフィルタが、"myserver" という名前とポート番号 "1234"、およびセッションパラメータ PARM=myparm
を使用してマップされている別の環境にも適用されます。
適用されるフィルタのタイプは選択内容によって異なります。 システムファイルを選択した場合は、ライブラリフィルタが適用されます。 ライブラリを選択した場合は、オブジェクトフィルタが適用されます。このオブジェクトフィルタでは、リソースの定義も可能です。
フィルタにはコードページの文字を指定する必要があります。
フィルタが適用されている場合は、ツリーに表示されるアイコンにプラス記号が付きます。
アクティブなフィルタ(文字 "T" で始まるユーザーライブラリのみが表示される、など)を持つシステムファイル。 | |
アクティブなフィルタ(このライブラリ内の文字 "HE" で始まるオブジェクトとリソースのみが表示される、など)を持つライブラリ。 |
フィルタを定義するには
ライブラリにフィルタを定義する場合は、システムファイルを選択します。
または:
ライブラリ内のオブジェクトやリソースにフィルタを定義する場合は、ライブラリを選択します。
注意:
リストビューウィンドウで、複数のライブラリに同じフィルタを一度に定義することができます。
または:
アクティブなフィルタを無効にする場合は、システムファイルまたはライブラリを選択します。
メニューの を選択します。
定義済みのフィルタがある場合は、ダイアログボックスに表示されます。 定義済みのフィルタがない場合は、ダイアログボックスに空のテキストボックスが表示されます。
システムファイルを選択した場合は、次のダイアログボックスが表示されます。
ライブラリを選択した場合も同じダイアログボックスが表示されます。 異なるのはタイトルのみです。
テキストボックスの右にあるボタンを選択してから、[リストから選択]を選択します。 表示されたダイアログボックスで、必要なすべてのライブラリまたはオブジェクト/リソースを選択できます。
または:
ライブラリまたはオブジェクト/リソースの名前をテキストボックスに入力します。 すべての名前をセミコロンで区切ってください。
または:
名前を個別に入力しない場合は、ワイルドカード(* または ?)を使用します。 テキストボックスの右にあるボタンを選択して、リストからワイルドカードを選択することもできます。 この場合は、ワイルドカードについての短い説明も表示できます。
または:
名前の範囲を入力します。 範囲は次の形式で入力する必要があります。
name1 - name2
ハイフンの前後に、必ずスペースを入力してください。 スペースが必要なのは、名前にハイフンが含まれることがあるためです。 スペースがないと、name1-name2 は 1 つのライブラリまたはオブジェクト/リソースの名前として解釈されます。
name1 と name2 にはワイルドカード(? または *) が含まれることがあります。 疑問符(?)は、パターン内のいずれの位置に指定してもかまいません。 アスタリスク(*)は、各パターンの最後にのみ指定できます。 例:
AH* - AM?
A - AM*
または:
少なくとも 1 つのフィルタが定義されている場合は、テキストボックスの下のエリアをクリックしてテキストボックスを追加し、さらにライブラリ名を入力することもできます。
定義済みのすべてのフィルタを無効にする場合は、[フィルタのオフ]チェックボックスをオンにします。こうすると、ダイアログボックスですべてのエントリを削除する必要がありません。
現在選択しているテキストボックスのフィルタ定義を削除する場合は、 ボタンを選択します。
または:
すべてのフィルタ定義を削除する場合は、 ボタンを選択します。
ボタンを選択します。
ライブラリワークスペース、アプリケーションワークスペース、および対応するリストビューウィンドウの内容が変更されます。 これで、フィルタで定義したライブラリまたはオブジェクト/リソースのみが表示されます。 フィルタを無効にした場合は、すべてのライブラリまたはオブジェクト/リソースが表示されます。
例えば、特定のテキストを含むオブジェクトや特定のユーザー ID を持つオブジェクトを検索できます。 見つかったテキストを置き換えたり削除したりすることもできます。
見つかったオブジェクトは、結果ウィンドウに表示されます。 アクティブなフィルタは考慮されません。
システムコマンド SCAN
の説明も参照してください。
オブジェクトを検索するには
オプション。 ライブラリワークスペースまたはアプリケーションワークスペースでノードを選択するか、リストビューウィンドウで 1 つ以上のエントリを選択します。 この選択は、[オブジェクト検索]ダイアログボックスで考慮されます。
メニューの を選択します。
または:
コンテキストメニューを表示し、 を選択します。
または:
[ライブラリ]ツールバーが表示されている場合は、次のツールバーボタンを選択します。
[オブジェクト検索]ダイアログボックスが表示されます。 このダイアログボックスには、次のページがあります。
[オブジェクト検索]ダイアログボックスで考慮されます。
コマンドを呼び出す前にライブラリ、オブジェクト、または特定のオブジェクトタイプを選択した場合は、この選択が以下で説明するように、それぞれのページに応じて検索条件を指定します。
必要なすべての編集コントロールに入力してください。 例えば、特定のユーザーのオブジェクトを検索するときに[名前]および[ライブラリ]テキストボックスが空白であると、エラーが発生してオブジェクトは検索されません。 特定のオブジェクト名またはライブラリを指定しない場合は、該当するテキストボックスにアスタリスク(*)を入力します。
ボタンを選択します。
検索処理が開始されます。 ライブラリ数とライブラリ内のオブジェクト数によっては、この処理に時間がかかることがあります。
検索処理の実行中に限り、
ボタンが有効になります。 このコマンドボタンを使用して、検索処理を中止することができます。 それまでに見つかったすべてのオブジェクトが、結果ウィンドウに表示されます。検索処理が完了すると、見つかったすべてのオブジェクトが結果ウィンドウに表示されます。 前の検索結果は上書きされます。 詳細については、「結果ウィンドウ」を参照してください。
注意:
[ソース]と[カタログ]の両方のチェックボックスをオンにする場合、オブジェクトが検索されるためには、オブジェクトのソースと生成プログラムの両方が存在している必要があります。
オプション | 説明 |
---|---|
含まれる文字列 | 検索するテキスト。 このページの編集コントロールは、このテキストボックスにテキストを入力した場合にのみ使用可能になります。 |
完全に一致する単語のみ | オンにすると、完全に一致する語のみが検索されます。 |
大文字/小文字の区別 | オンにすると、大文字と小文字が区別されます。 |
最初のオカレンスのみ | オンにすると、指定したテキストを含むオブジェクトが結果ウィンドウに 1 回のみ表示されます。 |
置換文字列 | 見つかったテキストを置き換える場合は、このテキストボックスに新しいテキストを指定します。 |
置換の確認 | 置換テキストを指定しているか、[削除文字列]チェックボックスをオンにしている場合のみ使用可能です。 オンにすると、指定したテキストが見つかったときに[置換の確認]ダイアログボックスが表示されます。 置換または削除操作を個別に確認することも、すべての置換または削除操作を一括して確認することもできます。 |
削除文字列 | 置換テキストを指定していない場合のみ使用可能です。 見つかったテキストを削除する場合は、このチェックボックスをオンにします。 |
オプション | 説明 |
---|---|
ユーザー ID | オブジェクトを作成または変更したユーザーの ID。 指定すると、一致するユーザー ID を持つオブジェクトのみが検索されます。 複数のユーザー ID を指定する場合は、ID をセミコロンで区切ります。 ワイルドカード(* または ?)も使用できます。 |
すべてのファイル | 選択すると、指定したすべての Natural オブジェクトが検索されます。 |
ソース/カタログ日付で識別 | 選択すると、カタログ日付がソース日付と同じオブジェクトのみが検索されます。 |
日付指定 | 選択すると、指定した日付と時間の範囲内に最終変更が行われたオブジェクトのみが検索されます。 日付は、手動で指定することも、ドロップダウンリストボックスで選択することもできます。 日付のチェックボックスをオンにすると、その情報も考慮されます。 開始時刻、終了時刻、またはその両方を指定できます。 時刻は、手動で指定することも、スピンボックスを使用して指定することもできます。 |
通常、オブジェクトをファイルシステムに保存するときは、行番号がソースコードに書き込まれます。 ただし、これらの行番号が書き込まれないように定義することができます。 これは、オブジェクトをソース制御システムに保存する場合に重要です。 行番号の省略は、ライブラリのプロパティで定義します。 詳細については、「ノードのプロパティ」を参照してください。
ライブラリで行番号が省略される場合は、ツリーに表示されるライブラリアイコンが次のようになります。
ローカル環境に加えて、リモートの UNIX または OpenVMS 環境でも、ライブラリでの行番号の省略を定義できます。
注意:
行番号省略の状態は FILEDIR.SAG ファイルに保存されます。 この状態は FTOUCH
ユーティリティを使用して変更することもできます。
ライブラリは、ライブラリワークスペース内の他のオブジェクトと同じ方法で、コピーおよび移動できます(オブジェクトのコピーおよび移動に関する全般的な情報」を参照してください。
、 、 、またはドラッグ & ドロップを使用)。 詳細については、「ライブラリのコピー先または移動先のノードとして、ローカルまたはリモート環境の任意のシステムファイルノード(ユーザーライブラリ、システムライブラリ、非アクティブシステムファイル)を指定できます。 他のライブラリノードでもかまいません。この場合は、ソースライブラリのすべてのオブジェクトがコピーされます。
ライブラリをユーザーライブラリ(FUSER
)のシステムファイルノードにコピーまたは移動する場合は、新しいライブラリがライブラリの命名規則に従っている必要があります。 そのため、"SYS" で始まるシステムライブラリをユーザーライブラリにコピーまたは移動する場合は、ダイアログボックスが表示され、そこで別の名前を指定する必要があります。 このダイアログボックスで提供されるデフォルトのライブラリ名 "USRLIB" は上書き可能です。
ユーザーライブラリを、ライブラリ名が "SYS" で始まる必要があるシステムライブラリ(FNAT
)にコピーまたは移動する場合も同様です。 この場合、上記のダイアログボックスで提供されるデフォルト名は "SYSLIB" です。
上記以外のすべての場合、例えば、システムライブラリを非アクティブシステムファイルにコピーする場合は、ソースライブラリの名前がターゲットライブラリ名として使用されます。
ライブラリの名前は、Natural オブジェクトと同じ方法で変更できます。 詳細については、「オブジェクトの名前の変更」を参照してください。
ライブラリの名前を変更する場合は、必ずライブラリの命名規則に従ってください。 ライブラリ SYSTEM の名前は変更できません。
ライブラリは、Natural オブジェクトと同じ方法で削除できます。 詳細については、「オブジェクトの削除」を参照してください。
マルチユーザー環境で作業している場合に Natural ライブラリを削除するときは、削除対象のライブラリに排他アクセス可能な場合のみ削除してください。 ライブラリ SYSTEM
は削除できません。
初めて Natural スタジオにアクセスするときは、デフォルトでライブラリ SYSTEM
にログオンします。
起動時に別のライブラリにログオンするには
この説明は、Natural Security がアクティブでない場合にのみ適用されます。 Natural Security 環境で Natural にログオンする場合は、別のルールが適用されます。『Natural Security』ドキュメントの「ログオン」を参照してください。
コンフィグレーションユーティリティを使用して、独自の Natural パラメータファイルを作成します。
コンフィグレーションユーティリティで新しいパラメータファイルを選択します。
パラメータ INIT-LIB
を見つけます。
ヒント:
このパラメータを見つけるには、"INIT-LIB" を検索します。 詳細については、『コンフィグレーションユーティリティ』ドキュメントの「パラメータの検索」を参照してください。
INIT-LIB
パラメータを使用してスタートアップライブラリの名前を指定します。
スタートアップライブラリには、独自のライブラリ、または管理者がセットアップしたライブラリを指定できます。
パラメータ AUTO
(INIT-LIB
と同じページで定義)が "ON" に設定されていることを確認してください。 それ以外の場合は、INIT-LIB
は使用されません。
変更内容を保存します。
独自のパラメータファイルで Natural スタジオを呼び出します。 『コンフィグレーションユーティリティ』ドキュメントの「代替パラメータファイルによる Natural の呼び出し」を参照してください。
ライブラリ SYSEXV
には、さまざまな Natural バージョンの新機能の一部を示すいくつかのサンプルプログラムが含まれています。
サンプルプログラムにアクセスするには
ライブラリ SYSEXV
にログオンします。
論理ビューで、[Dialogs]グループノードの内容を表示します。
"VERSION" という名前のダイアログを実行します。
ダイアログが表示され、Natural バージョンとそのサンプルプログラムを選択できます。