バージョン 6.3.3
 —  Natural スタジオの使用  —

Natural ライブラリの使用

Natural 用語でライブラリとは、Natural オブジェクトのためのコンテナです。 Natural アプリケーションは、環境のセットアップ方法に応じて、複数ライブラリのオブジェクトにアクセスすることができます。

ライブラリは、ライブラリワークスペース、またはライブラリワークスペースから開くことができるリストビューウィンドウで管理されます。

注意:
アプリケーションワークスペースのアプリケーションにも、ライブラリとオブジェクトが含まれています。 ただし、これらは、ライブラリワークスペースで通常使用できるライブラリおよびオブジェクトへのリンクとしてのみ含まれています。 詳細については、『SPoD を使用したリモート開発』ドキュメントの「アプリケーションの管理」を参照してください。

このドキュメントでは、次のトピックについて説明します。


ライブラリタイプ

次のタイプのライブラリを使用できます。

ライブラリタイプ 説明
システムライブラリ

システムライブラリは、バージョンに依存する FNAT システムファイルです。 システムライブラリには、Software AG が提供する Natural ツールまたはユーティリティの実行に必要なすべての Natural オブジェクトが含まれます。 システムライブラリの例として、エラーメッセージのメンテナンスに使用されるシステムツールである SYSERR ライブラリがあります。 システムライブラリの名前は、必ず "SYS" で始まります。

システムライブラリは Software AG 専用に確保されており、予告なしに変更されることがあります。

重要:
ユーザー固有のオブジェクトは、Natural システムライブラリに保存しないでください。 Natural の新しいバージョンのインストール時に、ユーザー固有のオブジェクトが上書きされる場合があります。

注意:

  1. Natural には、デモ用のサンプルプログラムを含むサンプルライブラリが付属しています。 サンプルライブラリの名前は "SYSEX" で始まります。
  2. システムライブラリ SYSLIB および SYSLIBS は、Software AG による内部使用のために予約されています。
ユーザーライブラリ

ユーザーライブラリは、FUSER システムファイルとも呼ばれます。 ユーザーライブラリには、アプリケーションを構成するすべてのユーザー定義オブジェクト(プログラムやデータエリアなど)が含まれます。

非アクティブライブラリ

グローバルコンフィグレーションファイルに定義されているすべてのシステムファイルと、現在の Natural セッションの開始に使用したパラメータファイルに定義されていないシステムファイルは、非アクティブなシステムファイルです。 『コンフィグレーションユーティリティ』ドキュメントの「コンフィグレーションファイルのパラメータの概要」セクションで「システムファイル」も参照してください。

非アクティブライブラリ内の Natural オブジェクトを実行することはできません。 ただし、非アクティブライブラリ内のオブジェクトの削除、名前変更、アクティブライブラリと非アクティブライブラリ間でのオブジェクトのコピーおよび移動は可能です。

非アクティブライブラリを使用する場合は、対応する非アクティブシステムファイルがアクティブなシステムファイル(FUSER または FNAT)になる必要があります。 非アクティブなシステムファイルをアクティブにするには、そのシステムファイルを現在のパラメータファイルで定義する必要があります。 『コンフィグレーションユーティリティ』ドキュメントの「プロファイルパラメータの概要」セクションで「システムファイル」も参照してください。

ノードのアイコン」と「ライブラリの命名規則」も参照してください。

Top of page

STEPLIB

steplib は、Natural のユーザーライブラリまたはシステムライブラリで、現在のユーザーライブラリまたはシステムライブラリと連結されます。 これにより同一のオブジェクトを重複して保存することを防止できるので、アプリケーションを編成するのに役立ちます。 また、Natural Security をインストールしている場合は、steplib を使用して特定のオブジェクトへのアクセスを制限できます。

オブジェクトが現在のライブラリで見つからないと、steplib が検索されます(詳細については、「オブジェクト実行の検索順序」を参照してください)。 標準の steplib は、FUSER および FNAT システムファイルのライブラリ SYSTEM です。

Natural Security がアクティブの場合は、各ライブラリのセキュリティプロファイルに steplib を追加定義できます。 ライブラリのセキュリティプロファイルにエントリを追加すると、Natural Security の外部で定義されたエントリは上書きされます。

Natural Security がアクティブでない場合は、コンフィグレーションユーティリティでプロファイルパラメータ STEPLIB を使用して追加の steplib を指定できます。 また、steplib を定義するために Natural のシステムライブラリ SYSEXT に用意されているアプリケーションプログラミングインターフェイスのいずれか(USR1025NUSR3025N など)を使用して、steplib をさらに定義できます。

標準の steplib SYSTEMFUSER および FNAT)より先に追加の steplib でオブジェクトが検索されます。

現在アクティブな steplib が[TECH]ダイアログボックスの[STEPLIB]ページに表示されます。 詳細については、「技術情報」を参照してください。

Top of page

オブジェクト実行の検索順序

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 search sequence for a user-written object to be executed from a user library is as follows:

  1. The current library in the FUSER system file as defined by the system variable *LIBRARY-ID.

  2. The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.

  3. The default steplib as defined by the system variable *STEPLIB.

  4. The library SYSTEM in the FUSER system file.

  5. The library SYSTEM in the FNAT system file.

The search sequence for a Natural object to be executed from a system library is as follows:

  1. The current "SYS" library in the FNAT system file as defined by the system variable *LIBRARY-ID.

  2. The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.

  3. The library SYSLIBS in the FNAT system file, which contains objects shared by system commands and utilities.

  4. The library SYSTEM in the FNAT system file.

  5. 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.

Top of page

ライブラリへのログオン

Natural ライブラリ内のオブジェクトを使用したり、特定のライブラリ内のアプリケーションを開始するためには、まず該当するライブラリにログオンする必要があります。

Natural スタジオでは、自動および手動の 2 通りの方法でライブラリにログオンできます。 ログオン先のライブラリの名前は、常にコマンド行に表示されます。

注意:
Natural Security がアクティブな場合は、使用を許可されていないライブラリはライブラリワークスペースに表示されません。

Start of instruction set ライブラリへの自動ログオンを実行するには

注意:
ノードの前のプラス記号またはマイナス記号をクリックしてツリー内のライブラリのノードを展開または圧縮した場合は、このライブラリに自動的にログオンされることはありません。 ログオンは、ライブラリ名をクリックするなどの方法でライブラリを選択した場合にのみ実行されます。

Start of instruction set ライブラリへの手動ログオンを実行するには

Top of page

新しいライブラリの作成

新しいライブラリは、ローカルまたはリモート環境内部にあるシステムファイル(FNAT または FUSER)にのみ作成できます。 非アクティブライブラリは作成できません。これらは読み取り専用です。

一度に作成できるライブラリは 1 つです。

Start of instruction set新しいライブラリを作成するには

  1. ライブラリワークスペースで、新しいライブラリを入れるシステムファイルのノードを選択します(ローカル環境のノードの下か、以前に接続した開発サーバーのノードの下)。

    システムファイルのノードは、現在のビューに応じて名前が異なります。 例えば、論理ビューでユーザーライブラリを作成する場合は、[User Libraries]という名前のノードを選択する必要があります。

  2. [ライブラリ]メニューの[新規作成]を選択します。

    または:
    コンテキストメニューを表示し、[新規作成]を選択します。

    これで、新しいライブラリがデフォルト名 "USRNEW" でツリーに表示されます。 新しい名前をすぐに入力できるように、デフォルト名が選択されています。 テキストを入力すると、選択されている名前は自動的に削除されます。

  3. ライブラリの名前を入力します。

    ライブラリの命名規則」も参照してください。

    注意:
    名前が編集モードのときは、コンテキストメニューを表示できます。 コンテキストメニューには、[切り取り][貼り付け]などの Windows 標準の編集コマンドの他に、Unicode 用の Windows コマンドが含まれていることもあります。 詳細については、Windows のドキュメントを参照してください。

  4. Enter キーを押します。

    または:
    ライブラリワークスペース内の別の場所をクリックします。

    これで、新しいライブラリがすべてのビューで使用可能になります(アルファベット順にソートされます)。 フィルタが現在アクティブな場合は、名前が別の文字で始まっているために新しいライブラリが表示されないことがあります。 詳細については、「ライブラリとオブジェクトのフィルタ」を参照してください。

Top of page

ライブラリとオブジェクトのフィルタ

フィルタを使用して、ライブラリワークスペース、アプリケーションワークスペース、およびこれらのワークスペースから開くリストビューウィンドウに表示される項目数を減らすことができます。

ライブラリワークスペースにフィルタを定義した場合は、同じフィルタがアプリケーションワークスペースにも適用されます。逆の場合も同じです。 もう片方のワークスペースの表示に変更内容が反映されるためには、そのワークスペースの表示を更新する必要がある場合もあります。

リモート環境では、フィルタは特定の開発サーバーに対して(つまり、ホスト名とサーバーポートに対して)定義され、この開発サーバー上で定義されているすべての環境とアプリケーションに使用されます。 例えば、"myserver" という名前とポート番号 "1234" を使用してマップされている環境でフィルタを定義すると、同じフィルタが、"myserver" という名前とポート番号 "1234"、およびセッションパラメータ PARM=myparm を使用してマップされている別の環境にも適用されます。

適用されるフィルタのタイプは選択内容によって異なります。 システムファイルを選択した場合は、ライブラリフィルタが適用されます。 ライブラリを選択した場合は、オブジェクトフィルタが適用されます。このオブジェクトフィルタでは、リソースの定義も可能です。

フィルタにはコードページの文字を指定する必要があります。

フィルタが適用されている場合は、ツリーに表示されるアイコンにプラス記号が付きます。

Icon

アクティブなフィルタ(文字 "T" で始まるユーザーライブラリのみが表示される、など)を持つシステムファイル。

Icon

アクティブなフィルタ(このライブラリ内の文字 "HE" で始まるオブジェクトとリソースのみが表示される、など)を持つライブラリ。

Start of instruction setフィルタを定義するには

  1. ライブラリにフィルタを定義する場合は、システムファイルを選択します。

    または:
    ライブラリ内のオブジェクトやリソースにフィルタを定義する場合は、ライブラリを選択します。

    注意:
    リストビューウィンドウで、複数のライブラリに同じフィルタを一度に定義することができます。

    または:
    アクティブなフィルタを無効にする場合は、システムファイルまたはライブラリを選択します。

  2. [表示]メニューの[フィルタの表示]を選択します。

    定義済みのフィルタがある場合は、ダイアログボックスに表示されます。 定義済みのフィルタがない場合は、ダイアログボックスに空のテキストボックスが表示されます。

    システムファイルを選択した場合は、次のダイアログボックスが表示されます。

    Library filter

    ライブラリを選択した場合も同じダイアログボックスが表示されます。 異なるのはタイトルのみです。

    Object filter

  3. テキストボックスの右にあるボタンを選択してから、[リストから選択]を選択します。 表示されたダイアログボックスで、必要なすべてのライブラリまたはオブジェクト/リソースを選択できます。

    または:
    ライブラリまたはオブジェクト/リソースの名前をテキストボックスに入力します。 すべての名前をセミコロンで区切ってください。

    または:
    名前を個別に入力しない場合は、ワイルドカード(* または ?)を使用します。 テキストボックスの右にあるボタンを選択して、リストからワイルドカードを選択することもできます。 この場合は、ワイルドカードについての短い説明も表示できます。

    または:
    名前の範囲を入力します。 範囲は次の形式で入力する必要があります。

    name1 - name2

    ハイフンの前後に、必ずスペースを入力してください。 スペースが必要なのは、名前にハイフンが含まれることがあるためです。 スペースがないと、name1-name2 は 1 つのライブラリまたはオブジェクト/リソースの名前として解釈されます。

    name1name2 にはワイルドカード(? または *) が含まれることがあります。 疑問符(?)は、パターン内のいずれの位置に指定してもかまいません。 アスタリスク(*)は、各パターンの最後にのみ指定できます。 例:

    AH* - AM?
    A - AM*

    または:
    少なくとも 1 つのフィルタが定義されている場合は、テキストボックスの下のエリアをクリックしてテキストボックスを追加し、さらにライブラリ名を入力することもできます。

  4. 定義済みのすべてのフィルタを無効にする場合は、[フィルタのオフ]チェックボックスをオンにします。こうすると、ダイアログボックスですべてのエントリを削除する必要がありません。

  5. 現在選択しているテキストボックスのフィルタ定義を削除する場合は、[削除]ボタンを選択します。

    または:
    すべてのフィルタ定義を削除する場合は、[すべて削除]ボタンを選択します。

  6. [OK]ボタンを選択します。

    ライブラリワークスペース、アプリケーションワークスペース、および対応するリストビューウィンドウの内容が変更されます。 これで、フィルタで定義したライブラリまたはオブジェクト/リソースのみが表示されます。 フィルタを無効にした場合は、すべてのライブラリまたはオブジェクト/リソースが表示されます。

Top of page

ライブラリ内のオブジェクトの検索

例えば、特定のテキストを含むオブジェクトや特定のユーザー ID を持つオブジェクトを検索できます。 見つかったテキストを置き換えたり削除したりすることもできます。

見つかったオブジェクトは、結果ウィンドウに表示されます。 アクティブなフィルタは考慮されません。

システムコマンド SCAN の説明も参照してください。

Start of instruction setオブジェクトを検索するには

  1. オプション。 ライブラリワークスペースまたはアプリケーションワークスペースでノードを選択するか、リストビューウィンドウで 1 つ以上のエントリを選択します。 この選択は、[オブジェクト検索]ダイアログボックスで考慮されます。

  2. [ライブラリ]メニューの[オブジェクト検索]を選択します。

    または:
    コンテキストメニューを表示し、[オブジェクト検索]を選択します。

    または:
    [ライブラリ]ツールバーが表示されている場合は、次のツールバーボタンを選択します。

    Toolbar button

    [オブジェクト検索]ダイアログボックスが表示されます。 このダイアログボックスには、次のページがあります。

    [オブジェクト検索]コマンドを呼び出す前にライブラリ、オブジェクト、または特定のオブジェクトタイプを選択した場合は、この選択が[オブジェクト検索]ダイアログボックスで考慮されます。

  3. 以下で説明するように、それぞれのページに応じて検索条件を指定します。

    必要なすべての編集コントロールに入力してください。 例えば、特定のユーザーのオブジェクトを検索するときに[名前]および[ライブラリ]テキストボックスが空白であると、エラーが発生してオブジェクトは検索されません。 特定のオブジェクト名またはライブラリを指定しない場合は、該当するテキストボックスにアスタリスク(*)を入力します。

  4. [検索開始]ボタンを選択します。

    検索処理が開始されます。 ライブラリ数とライブラリ内のオブジェクト数によっては、この処理に時間がかかることがあります。

    検索処理の実行中に限り、[検索中止]ボタンが有効になります。 このコマンドボタンを使用して、検索処理を中止することができます。 それまでに見つかったすべてのオブジェクトが、結果ウィンドウに表示されます。

    検索処理が完了すると、見つかったすべてのオブジェクトが結果ウィンドウに表示されます。 前の検索結果は上書きされます。 詳細については、「結果ウィンドウ」を参照してください。

ロケーション

Find objects - location

オプション 説明
名前 検索するオブジェクトの名前。 このテキストボックスの内容は、前の選択内容によって異なります。 複数の名前を指定する場合は、名前をセミコロンで区切ります。 ワイルドカード(* または ?)も使用できます。
ライブラリ オブジェクトを検索するライブラリ。 このドロップダウンリストボックスの内容は、以前の選択内容に応じて異なります。 フィルタがアクティブの場合、ドロップダウンリストボックスで選択できるのは、フィルタ条件に一致するライブラリのみです。 ただし、別のライブラリの名前を指定することができます。 複数のライブラリを指定する場合は、ライブラリ名をセミコロンで区切ります。 すべてのライブラリを指定するには、ドロップダウンリストボックスでアスタリスクを選択します。 ライブラリ名にワイルドカード(* または ?)を使用することもできます。
システムファイル 検索に使用するシステムファイル。 このドロップダウンリストボックスの内容は、以前の選択内容に応じて異なります。 また、このドロップダウンリストボックス内の名前は、現在のビュー(論理ビュー、フラットビュー、またはファイルビュー)によって異なります。 このドロップダウンリストボックスで目的のシステムファイルを選択します。 複数のシステムファイルを指定する場合は、ドロップダウンリストボックスの右にあるボタンを選択し、表示されたダイアログボックスでシステムファイルを選択します。
タイプ 検索に含めるオブジェクト(Natural オブジェクトおよびリソース)のタイプ。 このドロップダウンリストボックスの内容は、以前の選択内容に応じて異なります。 このドロップダウンリストボックスで目的のタイプを選択します。 複数のタイプを指定する場合は、ドロップダウンリストボックスの右にあるボタンを選択し、表示されたダイアログボックスでタイプを選択します。 すべてのタイプを指定するには、ドロップダウンリストボックスでアスタリスクを選択します。
ソース 選択した場合は、Natural ソースのみが検索されます。
カタログ 選択した場合は、Natural 生成プログラムのみが検索されます。

注意:
[ソース][カタログ]の両方のチェックボックスをオンにする場合、オブジェクトが検索されるためには、オブジェクトのソースと生成プログラムの両方が存在している必要があります。

コンテンツ

Find objects - contents

オプション 説明
含まれる文字列 検索するテキスト。 このページの編集コントロールは、このテキストボックスにテキストを入力した場合にのみ使用可能になります。
完全に一致する単語のみ オンにすると、完全に一致する語のみが検索されます。
大文字/小文字の区別 オンにすると、大文字と小文字が区別されます。
最初のオカレンスのみ オンにすると、指定したテキストを含むオブジェクトが結果ウィンドウに 1 回のみ表示されます。
置換文字列 見つかったテキストを置き換える場合は、このテキストボックスに新しいテキストを指定します。
置換の確認 置換テキストを指定しているか、[削除文字列]チェックボックスをオンにしている場合のみ使用可能です。 オンにすると、指定したテキストが見つかったときに[置換の確認]ダイアログボックスが表示されます。 置換または削除操作を個別に確認することも、すべての置換または削除操作を一括して確認することもできます。
削除文字列 置換テキストを指定していない場合のみ使用可能です。 見つかったテキストを削除する場合は、このチェックボックスをオンにします。

拡張機能

Find objects - advanced

オプション 説明
ユーザー ID オブジェクトを作成または変更したユーザーの ID。 指定すると、一致するユーザー ID を持つオブジェクトのみが検索されます。 複数のユーザー ID を指定する場合は、ID をセミコロンで区切ります。 ワイルドカード(* または ?)も使用できます。
すべてのファイル 選択すると、指定したすべての Natural オブジェクトが検索されます。
ソース/カタログ日付で識別 選択すると、カタログ日付がソース日付と同じオブジェクトのみが検索されます。
日付指定 選択すると、指定した日付と時間の範囲内に最終変更が行われたオブジェクトのみが検索されます。 日付は、手動で指定することも、ドロップダウンリストボックスで選択することもできます。 日付のチェックボックスをオンにすると、その情報も考慮されます。 開始時刻、終了時刻、またはその両方を指定できます。 時刻は、手動で指定することも、スピンボックスを使用して指定することもできます。

Top of page

ソースコードの行番号の省略

通常、オブジェクトをファイルシステムに保存するときは、行番号がソースコードに書き込まれます。 ただし、これらの行番号が書き込まれないように定義することができます。 これは、オブジェクトをソース制御システムに保存する場合に重要です。 行番号の省略は、ライブラリのプロパティで定義します。 詳細については、「ノードのプロパティ」を参照してください。

ライブラリで行番号が省略される場合は、ツリーに表示されるライブラリアイコンが次のようになります。

Icon

ローカル環境に加えて、リモートの UNIX または OpenVMS 環境でも、ライブラリでの行番号の省略を定義できます。

注意:
行番号省略の状態は FILEDIR.SAG ファイルに保存されます。 この状態は FTOUCH ユーティリティを使用して変更することもできます。

Top of page

ライブラリのコピーと移動

ライブラリは、ライブラリワークスペース内の他のオブジェクトと同じ方法で、コピーおよび移動できます([切り取り][コピー][貼り付け]、またはドラッグ & ドロップを使用)。 詳細については、「オブジェクトのコピーおよび移動に関する全般的な情報」を参照してください。

ライブラリのコピー先または移動先のノードとして、ローカルまたはリモート環境の任意のシステムファイルノード(ユーザーライブラリ、システムライブラリ、非アクティブシステムファイル)を指定できます。 他のライブラリノードでもかまいません。この場合は、ソースライブラリのすべてのオブジェクトがコピーされます。

ライブラリをユーザーライブラリ(FUSER)のシステムファイルノードにコピーまたは移動する場合は、新しいライブラリがライブラリの命名規則に従っている必要があります。 そのため、"SYS" で始まるシステムライブラリをユーザーライブラリにコピーまたは移動する場合は、ダイアログボックスが表示され、そこで別の名前を指定する必要があります。 このダイアログボックスで提供されるデフォルトのライブラリ名 "USRLIB" は上書き可能です。

ユーザーライブラリを、ライブラリ名が "SYS" で始まる必要があるシステムライブラリ(FNAT)にコピーまたは移動する場合も同様です。 この場合、上記のダイアログボックスで提供されるデフォルト名は "SYSLIB" です。

上記以外のすべての場合、例えば、システムライブラリを非アクティブシステムファイルにコピーする場合は、ソースライブラリの名前がターゲットライブラリ名として使用されます。

Top of page

ライブラリの名前の変更

ライブラリの名前は、Natural オブジェクトと同じ方法で変更できます。 詳細については、「オブジェクトの名前の変更」を参照してください。

ライブラリの名前を変更する場合は、必ずライブラリの命名規則に従ってください。 ライブラリ SYSTEM の名前は変更できません。

Top of page

ライブラリの削除

ライブラリは、Natural オブジェクトと同じ方法で削除できます。 詳細については、「オブジェクトの削除」を参照してください。

マルチユーザー環境で作業している場合に Natural ライブラリを削除するときは、削除対象のライブラリに排他アクセス可能な場合のみ削除してください。 ライブラリ SYSTEM は削除できません。

Top of page

独自のスタートアップライブラリの定義

初めて Natural スタジオにアクセスするときは、デフォルトでライブラリ SYSTEM にログオンします。

Start of instruction set起動時に別のライブラリにログオンするには

この説明は、Natural Security がアクティブでない場合にのみ適用されます。 Natural Security 環境で Natural にログオンする場合は、別のルールが適用されます。『Natural Security』ドキュメントの「ログオン」を参照してください。

  1. コンフィグレーションユーティリティを使用して、独自の Natural パラメータファイルを作成します。

  2. コンフィグレーションユーティリティで新しいパラメータファイルを選択します。

  3. パラメータ INIT-LIB を見つけます。

    ヒント:
    このパラメータを見つけるには、"INIT-LIB" を検索します。 詳細については、『コンフィグレーションユーティリティ』ドキュメントの「パラメータの検索」を参照してください。

  4. INIT-LIB パラメータを使用してスタートアップライブラリの名前を指定します。

    スタートアップライブラリには、独自のライブラリ、または管理者がセットアップしたライブラリを指定できます。

  5. パラメータ AUTOINIT-LIB と同じページで定義)が "ON" に設定されていることを確認してください。 それ以外の場合は、INIT-LIB は使用されません。

  6. 変更内容を保存します。

  7. 独自のパラメータファイルで Natural スタジオを呼び出します。 『コンフィグレーションユーティリティ』ドキュメントの「代替パラメータファイルによる Natural の呼び出し」を参照してください。

Top of page

新機能のサンプルライブラリ

ライブラリ SYSEXV には、さまざまな Natural バージョンの新機能の一部を示すいくつかのサンプルプログラムが含まれています。

Start of instruction setサンプルプログラムにアクセスするには

  1. ライブラリ SYSEXV にログオンします。

  2. 論理ビューで、[Dialogs]グループノードの内容を表示します。

  3. "VERSION" という名前のダイアログを実行します。

    ダイアログが表示され、Natural バージョンとそのサンプルプログラムを選択できます。

Top of page