バージョン 4.2.5
 —  Natural の使用  —

Natural ライブラリの使用

Natural システムファイルの FNAT と FUSER に保存される Natural オブジェクトは、ライブラリと呼ばれる論理的な構造にグループ化されます。 Natural ライブラリは、機能の基準に従ってオブジェクトを整理するために利用されます。 例えば、ライブラリは、特定のタスクを実行するオブジェクトのセットで構成できます。 Natural Security がインストールされている場合、ライブラリを使用して、管理者など、特定のユーザーグループにオブジェクトへのアクセスを制限することもできます。

Natural アプリケーションは、環境のセットアップ方法に基づいて、複数のライブラリにあるオブジェクトにアクセスできます。

ライブラリに対するすべての操作は、Natural メニュー機能またはその対応するコマンドで実行します。 「コマンドとメニュー機能の使用」も参照してください。

関連トピック:

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


ライブラリに含まれるオブジェクト

ライブラリには、Natural オブジェクトのうち、一部のタイプのオブジェクトモジュール(該当する場合は、ソースオブジェクトとカタログ化オブジェクト)が含まれます。含まれるタイプは、プログラム、サブプログラム、サブルーチン、コピーコード、ヘルプルーチン、クラス、テキスト、レコーディング、マップ、ローカルデータエリア、グローバルデータエリア、パラメータデータエリア、コマンドプロセッサソース、エラーメッセージ、ダイアログ、デバッグ環境、アダプタ、およびリソースです。

関連トピック:

Top of page

ライブラリタイプ

このセクションでは、提供される Natural ライブラリのタイプについて説明します。

ユーザーライブラリ

ユーザーライブラリにはユーザーアプリケーションのオブジェクトが含まれます。これらのオブジェクトはそのアプリケーションに特有であり、そのアプリケーションの実行に必要なオブジェクトです。 ユーザーライブラリは、FUSER システムファイルに含まれています。

システムライブラリ

システムライブラリは、Software AG によってメンテナンスされます。 このライブラリは FNAT システムファイルに含まれています。

システムライブラリには、Natural システムアプリケーションの実行に必要なすべてのオブジェクトが含まれています。

さらにプログラムタイプのオブジェクトを含むシステムライブラリがあります。これらは、デモンストレーション用に提供されています。「Natural のメインメニュー」の「サンプルライブラリ」を参照してください。

システムライブラリの SYSLIB と SYSLIBS にはログオンできないので注意してください。 これらは、Software AG で内部使用するために予約されています。 これらのライブラリにログオンしようとすると、「ライブラリ SYSLIB および SYSLIBS は、システムが使用するためログオンできません。」というメッセージが表示されます。

重要:
ユーザー固有のオブジェクトは、Natural システムライブラリに保存しないでください。 ユーザー固有のオブジェクトは、Software AG インストールデータセット(例えば、システムメンテナンスアップグレード、新バージョン、または修正テープ)をシステムファイルにロードするときに上書きされる可能性があります。

Top of page

Steplib ライブラリ

steplib は、Natural のユーザーライブラリまたはシステムライブラリで、現在のユーザーライブラリまたはシステムライブラリと連結されます。 steplib は、さまざまなアプリケーションで共有する複数のオブジェクトを一元的に保存する場所として使用できます。 これにより同一のオブジェクトを重複して保存することを防止できるので、アプリケーションを編成するのに役立ちます。

steplib は、現在のライブラリ内でオブジェクトが見つからないときに検索されるライブラリです(次のセクションも参照)。 標準の steplib は、FUSER および FNAT システムファイルのライブラリ SYSTEM です。

『パラメータリファレンス』ドキュメントの関連トピック:

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

Natural Security を使用した追加の Steplib

Natural Security がアクティブの場合は、各ライブラリのセキュリティプロファイルに steplib を追加定義できます。 ライブラリのセキュリティプロファイルにエントリを追加すると、Natural Security の外部で定義されたエントリは上書きされます。 標準の steplib SYSTEM(FUSER および FNAT)より先にこれらの steplib でオブジェクトが検索されます。

関連トピック:

Natural Security を使用しない追加の Steplib

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

標準の steplib SYSTEM(FUSER および FNAT)より先にこれらの steplib でオブジェクトが検索されます。

Steplib 設定のチェック

Start of instruction set 現在のライブラリの steplib 設定をチェックするには

  1. 次のシステムコマンドを入力します。

    TECH

    [TECH]ウィンドウが表示されます。

  2. [Steplib]列が表示されるまで ENTER キーを繰り返し押して、ウィンドウをスクロールダウンします。

関連トピック:

Top of page

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

このセクションでは、要求されたオブジェクトがユーザーライブラリまたはシステムライブラリのいずれかから実行される場合に、そのオブジェクトを探して Natural ライブラリおよびシステムファイルが検索される順序について説明します。

注意:
プロファイルパラメータ BPSFION に設定されている場合(デフォルト設定は OFF)、最初にバッファプール内のオブジェクトが検索されます。

ユーザーライブラリからユーザー記述オブジェクトが実行される場合、検索順序は次のようになります。

  1. FUSER システムファイル内の、システム変数 *LIBRARY-ID によって定義された現在のライブラリ。

  2. 現在のライブラリを定義する Natural Security プロファイルまたは STEPLIB テーブルで指定された steplib(指定された順に)。

  3. システム変数 *STEPLIB で定義されたデフォルトの steplib。

  4. FUSER システムファイル内のライブラリ SYSTEM。

  5. FNAT システムファイル内のライブラリ SYSTEM。

システムライブラリから Natural オブジェクトが実行される場合、検索順序は次のようになります。

  1. FNAT システムファイル内の、システム変数 *LIBRARY-ID によって定義された現在の "SYS" ライブラリ。

  2. 現在のライブラリを定義する Natural Security プロファイルまたは STEPLIB テーブルで指定された steplib(指定された順に)。

  3. FNAT システムファイル内のライブラリ SYSLIBS(システムコマンドおよびユーティリティによって共有されているオブジェクトが含まれている)。

  4. FNAT システムファイル内のライブラリ SYSTEM。

  5. FUSER システムファイル内のライブラリ SYSTEM。

    FUSER システムファイルが最後に検索されるため、FUSER および FNAT システムファイルの双方で使用されるオブジェクト(Natural ユーティリティのユーザー出口ルーチンなど)は一方のロケーション(FUSER)にのみ配置してください。

『システム変数』ドキュメントの関連トピック:

Top of page

デフォルトのライブラリ割り当て

Natural セッションを開始すると、ユーザーは Natural によって割り当てられたライブラリにログオンします。 Natural 画面では、通常、ライブラリの名前(ID)を示すフィールド(例えば、[Library]または[LIB=])が表示されます。つまりこのライブラリが、Natural オブジェクトが格納される現在のライブラリ(例えば、LIB=SYSTEM)であり、オブジェクトはこのライブラリから取得されます。

Start of instruction set 現在のライブラリを確認するには

Natural プロファイルパラメータの AUTOOFF に設定されている場合、Natural が割り当てるデフォルトのライブラリ ID は SYSTEM になります。 AUTOON に設定すると、セッションの開始時にデフォルトライブラリ ID を変更できます。 AUTO=ON は、ユーザー ID に対応するライブラリに自動的にログオンすることを表します。 ただし、『Natural Security』ドキュメントで説明するように、Natural Security で Natural にログオンする場合は別のルールが適用されます。

ライブラリへのログオン」で説明するように、別のアプリケーションでメンテナンス機能を実行するか作業を行う場合、状況によっては別のライブラリにログオンする必要があります。

関連トピック:

Top of page

ライブラリへのログオン

特定のライブラリで、Natural オブジェクトの作成または管理を行うとき、あるいは Natural プログラムを実行するときには、ライブラリを切り替えたうえで、そのオブジェクトを含んでいる(またはこれから含める)ライブラリや steplib(「Steplib ライブラリ」を参照)に最初にログオンする必要があります。

ライブラリにログオンするには、通常、システムコマンド LOGON を使用します。 ただし、『Natural Security』ドキュメントで説明するように、Natural Security で Natural にログオンする場合は別のルールが適用されます。

オブジェクトが何もないライブラリに正常にログオンすると、「このライブラリは空です。」という確認メッセージが表示されます。

注意:
システムコマンド LOGON は、タイプがエラーメッセージやデバッグ環境になっているオブジェクトを認識しません。 したがってこの確認メッセージは、エラーメッセージとデバッグ環境を除いたその他のオブジェクトタイプについてのみ報告します。 ライブラリにエラーメッセージやデバッグ環境が含まれているかどうかを確認する場合は、SYSMAIN ユーティリティ、またはエラーメッセージには SYSERR ユーティリティ、デバッグ環境にはデバッガをそれぞれ使用することができます。

ライブラリが空であるかどうかを確認する場合(エラーメッセージおよび/またはデバッグ環境を除く)、「ライブラリ内のオブジェクトのリスト」で説明しているシステムコマンド LIST を使用することができます。

別のライブラリにログオンしたり、Natural セッションを終了したりするまで、ログオンしたライブラリはアクティブの状態に保たれます。

Start of instruction set ライブラリにログオンするには

  1. 次のシステムコマンドを入力します。

    LOGON library-ID

    library-ID はアクセスするライブラリの名前(ID)です。

    または:
    Natural のメインメニューまたは下位のメニューでは次の手順に従います。

    画面右上隅の[Library]フィールドで、表示されているライブラリ ID を別のライブラリ ID に変更します(「コマンドとメニュー機能の使用」の「メニュー機能の例」も参照)。

  2. ENTER キーを押します。

    入力したライブラリ ID がライブラリの命名規則に準拠していた場合、「ライブラリ library-ID へのログオンができます。」という確認メッセージが表示されます。

関連トピック:

Top of page

ライブラリの作成

ライブラリを作成する場合、システムコマンド LOGON で空のライブラリにログオンしてオブジェクトを作成するか、オブジェクトの転送時に Natural ユーティリティの移動またはコピー機能を使用します。

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

Top of page

ライブラリのリスト

例えば、SYSMAIN ユーティリティを使用すると、現在の Natural システム環境で利用可能なすべてのライブラリのリストを表示できます。

このセクションの手順では、SYSMAIN メニュー機能またはその対応するコマンドを使用してライブラリをリストする例を示します。

Start of instruction setメニュー機能を使用してすべてのライブラリをリストするには

  1. Natural の[Main Menu][Maintenance and Transfer Utilities]を選択します。

  2. ENTER キーを押します。

    [Maintenance and Transfer Utilities]画面が表示されます。

  3. [Transfer Objects to Other Libraries]を選択します。

    または:
    次のシステムコマンドを入力します。

    SYSMAIN
  4. ENTER キーを押します。

    次の例のような SYSMAIN ユーティリティのメインメニューが表示されます。

    17:33:01             ***** NATURAL SYSMAIN UTILITY *****            2005-05-30
     User SAG                        - Main Menu -                                 
                                                                                   
                                                                                   
                 Code  Object                             Code  Function           
                                                                                   
                   A   Programming Objects                  C   Copy               
                   D   Debug Environments                   D   Delete             
                   E   Error Message Texts                  F   Find               
                   P   Profiles                             L   List               
                   R   Rules                                M   Move               
                   S   DL/I Subfiles                        R   Rename             
                   V   DDMs                                 ?   Help               
                   ?   Help                                 .   Exit               
                   .   Exit                                                        
                                                                                   
    Object Code .. A                       Function Code .. _                      
                                                                                   
                                                                                   
                                                                                   
    Command ===>                                                                   
                                                                                   
                                                                                   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Menu  Exit  Copy  Del   Find  List  Move  Ren
  5. エラーメッセージとデバッグ環境以外の Natural オブジェクトを含んでいるライブラリをすべてリストするには、[Object Code]フィールドに「A」(デフォルト設定)を入力します。エラーメッセージの場合は「E」、デバッグ環境の場合は「D」を入力します。

    [Function Code]フィールドに「L」([List]を表す)を入力します。

  6. ENTER キーを押します。

    [List Programming Objects]画面が表示されます。

  7. すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を含むライブラリを検索するには、[Code]フィールドに「A」を入力します。

    すべてのライブラリを検索するには[Source Library]フィールドにアスタリスク(*)を入力します

    (有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください)。

    その他のすべての入力フィールドは変更しません。

  8. ENTER キーを押します。

    [Library Selection]画面に、現在のシステムファイルで利用できるすべてのライブラリのリストが表示されます。

    リストのスクロールダウンには ENTER キー、右スクロールには PF11 キー、左スクロールには PF12 キーを押します。

[Library Selection]画面から、特定のライブラリを選択してそのライブラリに含まれるオブジェクトをリストできます。 [Library Selection]画面の詳細については、下記の関連トピックを参照してください。

Start of instruction set コマンドを使用してすべてのライブラリをリストするには

  1. 次のシステムコマンドを入力します。

    SYSMAIN LIST ALL * IN LIBRARY *
  2. ENTER キーを押します。

    [Library Selection]画面に、現在のシステムファイルで利用できるすべてのライブラリのリストが表示されます。

関連トピック:

Top of page

ライブラリ内のオブジェクトのリスト

ライブラリに含まれているオブジェクトのリストを取得するには、システムコマンド LIST を使用するか、Natural ユーティリティ SYSMAIN またはオブジェクトハンドラの対応する機能を使用します。

注意:
システムコマンド LIST は、タイプがエラーメッセージやデバッグ環境になっているオブジェクトを処理しません。 エラーメッセージやデバッグ環境は、SYSMAIN ユーティリティなどを使用してリストできます。

このセクションでは、LIST を使用してオブジェクトのリストを取得する方法について説明します。

Start of instruction setLIST を使用してオブジェクトをリストするには

  1. 次のシステムコマンドを入力します。

    LIST *

    この場合、アスタリスク(*)は、すべてのソースオブジェクトとカタログ化オブジェクトをリストすることを表します
    (『システムコマンド』ドキュメントの「LIST」の「object-name-range」も参照)。

  2. ENTER キーを押します。

    次の例のような[LIST Objects in a Library]画面が表示され、現在のシステムファイルにある現在のライブラリ(次の例では TEST)を対象として、そこに含まれているソースオブジェクトとカタログ化オブジェクトがリストで表示されます。

    12:22:23               ***** NATURAL LIST COMMAND *****              2005-05-09
    User SAG                 - LIST Objects in a Library -         Library TEST 
                                                                                   
    Cmd  Name       Type         S/C  SM Version  User ID    Date        Time      
    ---  *________  *__________  *__  *  *______  *________  *__________ *________ 
    __   DBTEST     Program      S/C  S  3.1.05   SAG        2002-02-27  16:46:36  
    __   DEMOPROG   Program      S/C  S  3.1.04   SAG        2000-12-20  11:40:46  
    __   DEMOSPRG   Subprogram   S/C  S  3.1.04   SAG        2000-12-22  11:32:34  
    __   DEMOTEXT   Text         S       3.1.04   SAG        2000-12-20  13:59:26  
    __   EMP-L      Local        S/C     3.1.06   SAG        2002-07-29  12:46:43
    __   EMPL       Program      S/C  S  3.1.06   SAG        2002-07-29  12:46:30  
    __   GDATEST    Global       S/C     3.1.06   SAG        2004-11-22  13:24:32  
    __   LDATEST    Local        S       4.1.03   SAG        2004-05-21  17:18:13  
    __   MAPTEST    Map          S/C  S  3.1.04   SAG        2000-12-20  11:40:46  
    __   PDATEST    Parameter    S/C     4.1.02   SAG        2004-05-05  11:46:24  
    __   PDATEST2   Parameter    S/C     4.1.03   SAG        2004-11-23  10:12:07
    __   PROCTEST   Processor    S/C     4.1.02   SAG        2004-05-05  11:25:22
    __   SUBRTEST   Subroutine   S/C  S  4.1.00   SAG        2002-07-23  14:37:16  
    __   TESTPGM    Subprogram   S    S  3.1.04   SAG        2000-12-20  11:40:45
                                                                  14 Objects found 
    Top of List.                                                                   
    Command ===>                                                                   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Print Exit  Sort        --    -     +     ++          >     Canc

    このリストはオブジェクト名([Name]列)でソートされ、オブジェクトのタイプ(例えば、Program)、使用できるオブジェクトモジュールのタイプ([S/C]列:S はソースオブジェクト、C はカタログ化オブジェクト)、オブジェクトを作成または変更したユーザーの ID など、オブジェクトに関する詳細な情報も表示されます。

[LIST Objects in a Library]画面では、オブジェクトを選択してさらに処理することができます。例えば、オブジェクトのソースコードをリストしたり、「ライブラリ内のオブジェクトの削除」の「LIST を使用してオブジェクトを削除するには」で説明するように、ライブラリからオブジェクトを削除することができます。

[LIST Objects in a Library]画面の詳細、および、特定範囲のオブジェクト名のリストやオブジェクトのリストのソートなど、LIST のその他のオプションの詳細については、次の関連トピックを参照してください。

『システムコマンド』ドキュメントの LIST 関連トピック:

Top of page

オブジェクトのリストの印刷

現在のシステムファイル内の現在のライブラリに含まれているオブジェクトのリストを印刷できます。

Start of instruction set オブジェクトのリストを印刷するには

  1. ライブラリ内のオブジェクトのリスト」の手順 1~2 で説明しているように、[LIST Objects in a Library]画面を表示します。

  2. PF2 キー(印刷)を押します。

    [PRINT]ウィンドウが表示されます。

  3. [Destination]フィールドに有効なプリンタ名を入力します(現在の環境で利用できるプリンタについては、必要に応じて Natural の管理者にお問い合わせください)。 必要に応じて、ページサイズを変更します(デフォルト設定は 60 行です)。

  4. ENTER キーを押します。

    [Printout Specification]画面が表示されます。この画面では、印刷部数などプリンタの設定を行うことができます。

  5. ENTER キーを押します。

    ライブラリに含まれているオブジェクトのリストが、指定したプリンタデバイスで印刷されます。

関連トピック:

Top of page

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

SYSMAIN ユーティリティまたはシステムコマンド SCAN を使用すると、ライブラリに含まれているオブジェクトを検索できます。

SYSMAIN を使用したオブジェクトの検索

以下の手順では、SYSMAIN メニュー機能やその対応するコマンドに検索条件を指定し、オブジェクトを検索する例を示します。

Start of instruction setメニュー機能を使用してオブジェクトを検索するには

  1. メニュー機能を使用してすべてのライブラリをリストするには」の手順 1~4 に従って、SYSMAIN ユーティリティの[Main Menu]を表示します。

  2. すべてのタイプのオブジェクトを検索するには、[Object Code]フィールドに「A」(デフォルト設定)を入力します。

    (例外:エラーメッセージの場合は「E」、デバッグ環境の場合は「D」。)

    [Function Code]フィールドに「F」(Find)を入力します。

  3. ENTER キーを押します。

    [Find Programming Objects]画面が表示されます。

  4. すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を検索するには、[Code]フィールドに「A」を入力します。

    すべてのオブジェクト名を検索するには、[Object Name]フィールドにアスタリスク(*)を入力します。 アスタリスク(*)はデフォルト設定です。

    (有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください。)

    [Source Library]フィールドに、検索を実行するライブラリの ID を入力します。

    [Criteria]フィールドで、N(いいえ)を Y(はい)に変更します。 N はデフォルト設定です。

    その他のすべての入力フィールドは変更しません。

  5. ENTER キーを押します。

    以下の例に示すように、[Additional Criteria]ウィンドウが表示されます。この画面では、追加の検索条件を入力できます。

    18:23:16              ***** NATURAL SYSMAIN UTILITY *****            2005-05-09
     User SAG                  - Find Programming Objects -                         
                        +------------------------------------------+                
                        !       --- Additional Criteria ---        !                
                        !                                          !                
                        !  Object Type ..... PM__________________  !                
                        !  Date/Time From .. 2002-05-09 _____      !                
                        !  Date/Time To .... 2005-05-01 _____      !                
                        !  User ID ......... SAG______             !                
                        !  Terminal ID ..... ________              !                
                        !                                          !                
                        !                                          !                
                        !  Command ===>                            !                
                Code .. !                                          !                
        Object  Name .. +------------------------------------------+                
                                                                                    
        Source  Library ... TEST____    Database .... 10___  File .. 32___          
                                                                                    
        Options                         Criteria .... Y                             
                                                                                    
                                                                                    
    Command ===>
    
    
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Menu  Exit  Copy  Del   Find  List  Move  Ren   Fsec  Fdic  Fnat
  6. 1 つ以上の検索条件を入力して、ENTER キーを押します。

    ウィンドウが閉じます。 [Criteria]フィールドの前にあるプラス(+)記号は、オブジェクトタイプ以外の追加の条件がウィンドウで指定されていることを表します。

  7. もう一度 ENTER キーを押します。

    [Find Selection]画面が表示され、現在のシステムファイル内の指定したライブラリに含まれており、さらに、指定した検索条件に一致したソースオブジェクトとカタログ化オブジェクトがすべて表示されます。 上記の例では、タイプが P(プログラム)および M(マップ)であり、2002 年 5 月 9 日2005 年 5 月 1 日の期間に、ユーザー SAG が作成または変更した全オブジェクトがリストされます。

  8. ライブラリが正常にリストされました。」というメッセージが表示されるまで、Enter キーを押してリストをスクロールダウンします。

[Find Selection]画面では、オブジェクトを選択してさらに処理することができます。例えば、『SYSMAIN ユーティリティ』ドキュメントの「プログラミングオブジェクトの選択リスト」で説明しているように、オブジェクトのソースコードをリストすることができます。

関連トピック:

Start of instruction set コマンドを使用してオブジェクトを検索するには

  1. 次のシステムコマンドを入力します。

    SYSMAIN FIND ALL * TYPE PN WITH USER user-ID IN library-ID

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

    ALL は、すべてのソースオブジェクトとカタログ化オブジェクトを検索対象として選択することを表します。

    アスタリスク(*)は、すべてのオブジェクト名を検索対象として選択することを指定しています(『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」も参照)。

    PN は、検索するオブジェクトのタイプを指定しています。P はプログラム、N はサブプログラムを表しています。

    library-ID は検索するライブラリの ID です。

    user-ID は検索するユーザーの ID です。

  2. ENTER キーを押します。

    [Find Selection]画面が表示され、タイプがプログラムおよびサブプログラムになっているソースオブジェクトとカタログ化オブジェクトのうち、指定したユーザーが作成または変更したオブジェクトがすべてリストされます。

関連トピック:

SCAN を使用したオブジェクトの検索

以下の手順では、システムコマンド SCAN を使用してソースをスキャンし、特定の文字列を探すことでオブジェクトを検索する例を示します。

注意:
SCAN は、タイプがエラーメッセージやデバッグ環境になっているオブジェクトを処理しません。 Natural ユーティリティ SYSERR の Scan in messages 機能を使用すると、エラーメッセージをスキャンできます。

Start of instruction set メニュー機能を使用してソースをスキャンするには

  1. 次のシステムコマンドを入力します。

    SCAN
  2. ENTER キーを押します。

    次の例のような[Scan Objects in Libraries]画面が表示されます。この画面では、オブジェクトの範囲とスキャン対象値を指定できます。

    18:24:53               ***** NATURAL SCAN COMMAND *****              2005-05-10
    User SAG                - Scan Objects in Libraries -          Library TEST    
                                                                                   
                        Code  Function                                             
                                                                                   
                         T    Statistics                                           
                         L    List of Objects Containing Scan Value                
                         S    Object Lines with Scan Value                         
                         ?    Help                                                 
                         .    Exit                                                 
                                                                                   
                                                                                   
       Code ............ L                                                         
       Scan value ...... LOCAL___________________________                          
       Replace value ... GLOBAL__________________________                          
       Library ......... TESTLIB_                                                  
       Object name ..... *________                  Selection list .. N            
       Object type(s) .. *_____________                                            
       Absolute scan ... N                          Trace ........... N            
                                                                                   
    Command ===>                                                                   
                                                                                   
                                                                                   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Menu  Exit

    [Code]フィールドには「L」(ソースオブジェクトのリスト)を入力してスキャン対象値、ライブラリ、およびオブジェクトの範囲を指定します。アスタリスク(*)を指定すると、すべてのオブジェクト名とオブジェクトタイプが選択されます。

    [Replace value]フィールドには、指定されたスキャン対象値(例えば、LOCAL)を置換するための文字列(例えば、GLOBAL)を入力できます。

  3. ENTER キーを押します。

    現在のシステムファイル内の指定したライブラリを対象とした[Select Objects for Library]画面が表示され、指定した検索条件に一致したすべてのソースオブジェクトがリストで表示されます。 上記の例では、ライブラリ TESTLIB 内にあり、文字列 LOCAL を含む全オブジェクトが選択されます。

    [Select Objects for Library]画面では、オブジェクトの選択、スキャン対象値を含むソース行の表示や変更を実行できます。

Start of instruction set コマンドを使用してソースをスキャンするには

  1. 次のシステムコマンドを入力します。

    SCAN FUNC=L,SVAL=scan-value,LIB=library-ID,*

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

    scan-value はソースをスキャンするための文字列(例えば、LOCAL)です。

    library-ID は検索するライブラリの ID(例えば、TESTLIB)です。

    アスタリスク(*)は、すべてのソースオブジェクトを検索対象として選択することを表します。

  2. ENTER キーを押します。

関連トピック:

Top of page

ライブラリのコピー、移動、および名前変更

ライブラリをコピーまたは移動するには、ソースライブラリのすべての Natural オブジェクトを、既存または新規のターゲットライブラリへコピーまたは移動します。

ライブラリの名前を変更する場合、ライブラリの移動と同じ手順を実行する必要があります。 ライブラリのすべてのオブジェクトを新しいターゲットライブラリに移動すると、古いライブラリは自動的に削除されます。

SYSMAIN ユーティリティまたはオブジェクトハンドラを使用して、特定のライブラリから別のライブラリへ 1 つまたは複数のオブジェクトをコピーまたは移動することができます。 以下の手順では、メニュー機能や対応するコマンドを使用して、SYSMAIN のすべてのオブジェクトをコピーまたは移動する例を示します。

Start of instruction setメニュー機能を使用してすべてのオブジェクトをコピーまたは移動するには

  1. メニュー機能を使用してすべてのライブラリをリストするには」の手順 1~4 に従って、SYSMAIN ユーティリティの[Main Menu]を表示します。

  2. すべてのタイプのオブジェクトを選択するには、[Object Code]フィールドに「A」(デフォルト設定)を入力します。

    (例外:エラーメッセージの場合は「E」、デバッグ環境の場合は「D」。)

    [Function Code]フィールドに「C」([Copy]を表す)または「M」([Move]を表す)を入力します。

  3. ENTER キーを押します。

    入力したファンクションコードに応じて、[Copy Programming Objects]または[Move Programming Objects]画面が表示されます。

  4. すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を選択するには、[Code]フィールドに「A」を入力します。

    [Sel. List](リストの選択)フィールドで、Y(はい)を N(いいえ)に変更します。 Y はデフォルト設定です。

    すべてのオブジェクト名を選択するには[Object Name]フィールドにアスタリスク(*)を入力します。 アスタリスク(*)はデフォルト設定です。
    (有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください。)

    [Source Library]フィールドに、コピーまたは移動するオブジェクトを含んでいるライブラリの ID を入力します。

    [Target Library]フィールドに、オブジェクトのコピーまたは移動先となる既存のライブラリまたは新規のライブラリの ID を入力します。

    その他のすべての入力フィールドは変更しません。

  5. ENTER キーを押します。

    現在のシステムファイル内の指定したソースライブラリとターゲットライブラリの間で、すべてのソースオブジェクトとカタログ化オブジェクトがコピーまたは移動され、「機能が正しく実行されました。」というメッセージが表示されます。

Start of instruction set コマンドを使用してすべてのオブジェクトをコピーまたは移動するには

  1. 次のシステムコマンドのいずれかを入力します。

    SYSMAIN COPY ALL * FM old-library TO new-library

    (オブジェクトのコピー)

    または

    SYSMAIN MOVE ALL * FM old-library TO new-library

    (オブジェクトの移動)

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

    ALL は、すべてのソースオブジェクトとカタログ化オブジェクトを選択することを表します。

    アスタリスク(*)は、すべてのオブジェクト名を選択することを指定しています
    (『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」も参照)。

    old-library は、コピーまたは移動するオブジェクトを含んでいるライブラリの ID です。

    new-library は既存ライブラリまたは新規ライブラリの ID です(「ライブラリの命名規則」も参照)。

  2. ENTER キーを押します。

    コピーまたは移動が正常に実行された場合、処理されたコマンドとそれに続いて「機能が正しく実行されました。」というメッセージが画面に表示されます。

オブジェクトの置換や名前変更など、SYSMAIN ユーティリティの機能の詳細については、『ユーティリティ』ドキュメントを参照してください。

Top of page

ライブラリ内のオブジェクトの削除

Natural 環境では、ライブラリは最低 1 つのソースオブジェクトまたはカタログ化オブジェクトがある場合にのみ管理対象となります。 ライブラリからすべてのオブジェクトを削除すると、そのライブラリはそれ以降使用できなくなります。

システムコマンド LIST または Natural ユーティリティを使用して、ライブラリから 1 つ以上のオブジェクトを削除することができます。

以下の手順では、システムコマンド LIST を使用して、現在のライブラリからオブジェクトを削除します。また、SYSMAIN ユーティリティのメニュー機能またはコマンドを使用して、別のライブラリからオブジェクトを削除します。

Start of instruction setLIST を使用してオブジェクトを削除するには

  1. 次のシステムコマンドを入力します。

    LIST *

    この場合、アスタリスク(*)は、すべてのソースオブジェクトとカタログ化オブジェクトをリストすることを表します
    (『システムコマンド』ドキュメントの「LIST」の「object-name-range」も参照)。

  2. ENTER キーを押します。

    [LIST Objects in a Library]画面が表示され、現在のシステムファイルにある現在のライブラリを対象として、そこに含まれているソースオブジェクトとカタログ化オブジェクトがリストで表示されます。

  3. [Cmd]列で目的のオブジェクトの横に、次のように入力します。

    DE

    次のサンプル画面のようになります。

  4. ENTER キーを押します。

    次の例のような[DELETE]ウィンドウが表示されます。

    12:22:23               ***** NATURAL LIST COMMAND *****              2005-05-09
    User SAG                 - LIST Objects in a Library -         Library TEST 
                                                                                   
    Cmd  Name       Type         S/C  SM Version  User ID    Date        Time      
    ---  *________  *__________  *__  *  *______  *________  *__________ *________ 
    DE   DBTEST     Pr +---------------DELETE---------------+ 002-02-27  16:46:36  
    DE   DEMOPROG   Pr !                                    ! 000-12-20  11:40:46  
    DE   DEMOSPRG   Su !    Please select one item:         ! 000-12-22  11:32:34  
    DE   DEMOTEXT   Te !                                    ! 000-12-20  13:59:26  
    __   EMP-L      Lo !    _  Confirm each deletion        ! 002-07-29  12:46:43
    __   EMPL       Pr !    _  Delete without confirmation  ! 002-07-29  12:46:30  
    __   GDATEST    Gl !    _  Exit (no deletion)           ! 004-11-22  13:24:32  
    __   LDATEST    Lo !                                    ! 004-05-21  17:18:13  
    __   MAPTEST    Ma +------------------------------------+ 000-12-20  11:40:46  
    __   PDATEST    Parameter    S/C     4.1.02   SAG        2004-05-05  11:46:24  
    __   PDATEST2   Parameter    S/C     4.1.03   SAG        2004-11-23  10:12:07
    __   PROCTEST   Processor    S/C     4.1.02   SAG        2004-05-05  11:25:22
    __   SUBRTEST   Subroutine   S/C  S  4.1.00   SAG        2002-07-23  14:37:16  
    __   TESTPGM    Subprogram   S    S  3.1.04   SAG        2000-12-20  11:40:45
                                                                  14 Objects found 
    Top of List.                                                                   
    Command ===>                                                                   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Print Exit  Sort        --    -     +     ++          >     Canc
  5. 目的のオプションの横に任意の文字を入力して項目をマークし、ENTER キーを押します。

    [Confirm each deletion]を選択すると、削除するオブジェクトごとにウィンドウが表示されます。このウィンドウでは、削除を確認するために、オブジェクトの名前を入力します。

    [Delete without confirmation]を選択すると、すぐに削除が実行されます。

    [Exit]を選択すると、削除がキャンセルされます。

Start of instruction set SYSMAIN メニュー機能を使用してオブジェクトを削除するには

  1. メニュー機能を使用してすべてのライブラリをリストするには」の手順 1~4 に従って、SYSMAIN ユーティリティの[Main Menu]を表示します。

  2. すべてのタイプのオブジェクトを選択するには、[Object Code]フィールドに「A」(デフォルト設定)を入力します。

    (例外:エラーメッセージの場合は「E」、デバッグ環境の場合は「D」。)

    [Function Code]フィールドに「D」([Delete]を表す)を入力します。

  3. ENTER キーを押します。

    [Delete Programming Objects]画面が表示されます。

  4. すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を選択するには、[Code]フィールドに「A」を入力します。

    [Sel. List](リストの選択)フィールドで、Y(はい)を N(いいえ)に変更します。 Y はデフォルト設定です。

    すべてのオブジェクト名を選択するには[Object Name]フィールドにアスタリスク(*)を入力します。 アスタリスク(*)はデフォルト設定です。
    (有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください。)

    [Source Library]フィールドに、削除するライブラリの ID を入力します。

    その他のすべての入力フィールドは変更しません。

  5. ENTER キーを押します。

    現在のシステムファイル内の指定したライブラリから、すべてのソースオブジェクトとカタログ化オブジェクトが削除され、「機能が正しく実行されました。」というメッセージが表示されます。

Start of instruction set SYSMAIN コマンドを使用してすべてのオブジェクトを削除するには

  1. 次のシステムコマンドを入力します。

    SYSMAIN DELETE ALL * FM library-ID

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

    ALL は、すべてのソースオブジェクトとカタログ化オブジェクトを選択することを表します。

    アスタリスク(*)は、すべてのオブジェクト名を選択することを指定しています
    (『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」も参照)。

    library-ID は、削除するオブジェクトを含んでいるライブラリの ID です。

  2. ENTER キーを押します。

    削除が正常に実行された場合、処理されたコマンドとそれに続いて「機能が正しく実行されました。」というメッセージが画面に表示されます。

Top of page