Natural システムファイルの FNAT と FUSER に保存される Natural オブジェクトは、ライブラリと呼ばれる論理的な構造にグループ化されます。 Natural ライブラリは、機能の基準に従ってオブジェクトを整理するために利用されます。 例えば、ライブラリは、特定のタスクを実行するオブジェクトのセットで構成できます。 Natural Security がインストールされている場合、ライブラリを使用して、管理者など、特定のユーザーグループにオブジェクトへのアクセスを制限することもできます。
Natural アプリケーションは、環境のセットアップ方法に基づいて、複数のライブラリにあるオブジェクトにアクセスできます。
ライブラリに対するすべての操作は、Natural メニュー機能またはその対応するコマンドで実行します。 「コマンドとメニュー機能の使用」も参照してください。
Natural システムファイル -『Natural システムアーキテクチャ』ドキュメント
システムファイル内のライブラリ -『Natural システムアーキテクチャ』ドキュメント
ライブラリ管理 -『Natural Security』ドキュメント
このセクションでは、以下のトピックについて説明します。
ライブラリには、Natural オブジェクトのうち、一部のタイプのオブジェクトモジュール(該当する場合は、ソースオブジェクトとカタログ化オブジェクト)が含まれます。含まれるタイプは、プログラム、サブプログラム、サブルーチン、コピーコード、ヘルプルーチン、クラス、テキスト、レコーディング、マップ、ローカルデータエリア、グローバルデータエリア、パラメータデータエリア、コマンドプロセッサソース、エラーメッセージ、ダイアログ、デバッグ環境、アダプタ、およびリソースです。
このセクションでは、提供される Natural ライブラリのタイプについて説明します。
ユーザーライブラリにはユーザーアプリケーションのオブジェクトが含まれます。これらのオブジェクトはそのアプリケーションに特有であり、そのアプリケーションの実行に必要なオブジェクトです。 ユーザーライブラリは、FUSER システムファイルに含まれています。
システムライブラリは、Software AG によってメンテナンスされます。 このライブラリは FNAT システムファイルに含まれています。
システムライブラリには、Natural システムアプリケーションの実行に必要なすべてのオブジェクトが含まれています。
さらにプログラムタイプのオブジェクトを含むシステムライブラリがあります。これらは、デモンストレーション用に提供されています。「Natural のメインメニュー」の「サンプルライブラリ」を参照してください。
システムライブラリの SYSLIB と SYSLIBS にはログオンできないので注意してください。 これらは、Software AG で内部使用するために予約されています。 これらのライブラリにログオンしようとすると、「ライブラリ SYSLIB および SYSLIBS は、システムが使用するためログオンできません。
」というメッセージが表示されます。
重要:
ユーザー固有のオブジェクトは、Natural システムライブラリに保存しないでください。 ユーザー固有のオブジェクトは、Software AG インストールデータセット(例えば、システムメンテナンスアップグレード、新バージョン、または修正テープ)をシステムファイルにロードするときに上書きされる可能性があります。
steplib は、Natural のユーザーライブラリまたはシステムライブラリで、現在のユーザーライブラリまたはシステムライブラリと連結されます。 steplib は、さまざまなアプリケーションで共有する複数のオブジェクトを一元的に保存する場所として使用できます。 これにより同一のオブジェクトを重複して保存することを防止できるので、アプリケーションを編成するのに役立ちます。
steplib は、現在のライブラリ内でオブジェクトが見つからないときに検索されるライブラリです(次のセクションも参照)。 標準の steplib は、FUSER および FNAT システムファイルのライブラリ SYSTEM です。
このセクションでは、以下のトピックについて説明します。
Natural Security がアクティブの場合は、各ライブラリのセキュリティプロファイルに steplib を追加定義できます。 ライブラリのセキュリティプロファイルにエントリを追加すると、Natural Security の外部で定義されたエントリは上書きされます。 標準の steplib SYSTEM(FUSER および FNAT)より先にこれらの steplib でオブジェクトが検索されます。
Steplibs - 『Natural Security』ドキュメント
Natural Security がアクティブでない場合は、セッションの開始時に、Natural プロファイルパラメータ STEPLIB
で追加の steplib を 1 つ指定できます。 また、steplib を定義するために Natural のシステムライブラリ SYSEXT に用意されているアプリケーションプログラミングインターフェイスのいずれか(USR1025N や USR3025N
など)を使用して、steplib をさらに定義できます。
標準の steplib SYSTEM(FUSER および FNAT)より先にこれらの steplib でオブジェクトが検索されます。
現在のライブラリの steplib 設定をチェックするには
次のシステムコマンドを入力します。
TECH
[TECH]ウィンドウが表示されます。
[Steplib]列が表示されるまで ENTER キーを繰り返し押して、ウィンドウをスクロールダウンします。
TECH -『システムコマンド』ドキュメント
このセクションでは、要求されたオブジェクトがユーザーライブラリまたはシステムライブラリのいずれかから実行される場合に、そのオブジェクトを探して Natural ライブラリおよびシステムファイルが検索される順序について説明します。
注意:
プロファイルパラメータ BPSFI
が ON
に設定されている場合(デフォルト設定は OFF
)、最初にバッファプール内のオブジェクトが検索されます。
FUSER システムファイル内の、システム変数 *LIBRARY-ID
によって定義された現在のライブラリ。
現在のライブラリを定義する Natural Security プロファイルまたは STEPLIB テーブルで指定された steplib(指定された順に)。
システム変数 *STEPLIB
で定義されたデフォルトの steplib。
FUSER システムファイル内のライブラリ SYSTEM。
FNAT システムファイル内のライブラリ SYSTEM。
FNAT システムファイル内の、システム変数 *LIBRARY-ID
によって定義された現在の "SYS" ライブラリ。
現在のライブラリを定義する Natural Security プロファイルまたは STEPLIB テーブルで指定された steplib(指定された順に)。
FNAT システムファイル内のライブラリ SYSLIBS(システムコマンドおよびユーティリティによって共有されているオブジェクトが含まれている)。
FNAT システムファイル内のライブラリ SYSTEM。
FUSER システムファイル内のライブラリ SYSTEM。
FUSER システムファイルが最後に検索されるため、FUSER および FNAT システムファイルの双方で使用されるオブジェクト(Natural ユーティリティのユーザー出口ルーチンなど)は一方のロケーション(FUSER)にのみ配置してください。
Natural セッションを開始すると、ユーザーは Natural によって割り当てられたライブラリにログオンします。 Natural 画面では、通常、ライブラリの名前(ID)を示すフィールド(例えば、[Library]または[LIB=])が表示されます。つまりこのライブラリが、Natural オブジェクトが格納される現在のライブラリ(例えば、LIB=SYSTEM
)であり、オブジェクトはこのライブラリから取得されます。
現在のライブラリを確認するには
次のシステムコマンドを入力します。
TECH
[TECH]ウィンドウが表示されます。 現在ログオンしているライブラリは、[Library]フィールドにリストされます。
Natural プロファイルパラメータの AUTO
が OFF
に設定されている場合、Natural が割り当てるデフォルトのライブラリ ID は SYSTEM
になります。 AUTO
を ON
に設定すると、セッションの開始時にデフォルトライブラリ ID を変更できます。 AUTO=ON
は、ユーザー ID に対応するライブラリに自動的にログオンすることを表します。 ただし、『Natural Security』ドキュメントで説明するように、Natural Security で Natural にログオンする場合は別のルールが適用されます。
「ライブラリへのログオン」で説明するように、別のアプリケーションでメンテナンス機能を実行するか作業を行う場合、状況によっては別のライブラリにログオンする必要があります。
特定のライブラリで、Natural オブジェクトの作成または管理を行うとき、あるいは Natural プログラムを実行するときには、ライブラリを切り替えたうえで、そのオブジェクトを含んでいる(またはこれから含める)ライブラリや steplib(「Steplib ライブラリ」を参照)に最初にログオンする必要があります。
ライブラリにログオンするには、通常、システムコマンド LOGON
を使用します。 ただし、『Natural Security』ドキュメントで説明するように、Natural Security で Natural にログオンする場合は別のルールが適用されます。
オブジェクトが何もないライブラリに正常にログオンすると、「このライブラリは空です。
」という確認メッセージが表示されます。
注意:
システムコマンド LOGON
は、タイプがエラーメッセージやデバッグ環境になっているオブジェクトを認識しません。 したがってこの確認メッセージは、エラーメッセージとデバッグ環境を除いたその他のオブジェクトタイプについてのみ報告します。 ライブラリにエラーメッセージやデバッグ環境が含まれているかどうかを確認する場合は、SYSMAIN
ユーティリティ、またはエラーメッセージには SYSERR ユーティリティ、デバッグ環境にはデバッガをそれぞれ使用することができます。
ライブラリが空であるかどうかを確認する場合(エラーメッセージおよび/またはデバッグ環境を除く)、「ライブラリ内のオブジェクトのリスト」で説明しているシステムコマンド LIST
を使用することができます。
別のライブラリにログオンしたり、Natural セッションを終了したりするまで、ログオンしたライブラリはアクティブの状態に保たれます。
次のシステムコマンドを入力します。
LOGON library-ID
library-ID はアクセスするライブラリの名前(ID)です。
または:
Natural のメインメニューまたは下位のメニューでは次の手順に従います。
画面右上隅の[Library]フィールドで、表示されているライブラリ ID を別のライブラリ ID に変更します(「コマンドとメニュー機能の使用」の「メニュー機能の例」も参照)。
ENTER キーを押します。
入力したライブラリ ID がライブラリの命名規則に準拠していた場合、「ライブラリ library-ID へのログオンができます。
」という確認メッセージが表示されます。
LOGON および LOGOFF -『システムコマンド』ドキュメント
ログオン -『Natural Security』ドキュメント
ライブラリを作成する場合、システムコマンド LOGON
で空のライブラリにログオンしてオブジェクトを作成するか、オブジェクトの転送時に Natural ユーティリティの移動またはコピー機能を使用します。
ライブラリを作成するには
システムコマンド LOGON
を使用する場合、「ライブラリへのログオン」の手順に従います。 オブジェクトが何もないライブラリにログオンするためのライブラリ ID を指定します(「ライブラリの命名規則」も参照)。 このライブラリで、少なくとも 1 つのカタログ化オブジェクトまたは 1 つのソースオブジェクトを作成します。
または:
既存のライブラリから新しいライブラリにオブジェクトを移動またはコピーする場合は、「ライブラリのコピー、移動、および名前変更」の手順に従います。
例えば、SYSMAIN ユーティリティを使用すると、現在の Natural システム環境で利用可能なすべてのライブラリのリストを表示できます。
このセクションの手順では、SYSMAIN メニュー機能またはその対応するコマンドを使用してライブラリをリストする例を示します。
Natural の[Main Menu]の を選択します。
ENTER キーを押します。
[Maintenance and Transfer Utilities]画面が表示されます。
[Transfer Objects to Other Libraries]を選択します。
または:
次のシステムコマンドを入力します。
SYSMAIN
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 |
エラーメッセージとデバッグ環境以外の Natural オブジェクトを含んでいるライブラリをすべてリストするには、[Object Code]フィールドに「A
」(デフォルト設定)を入力します。エラーメッセージの場合は「E
」、デバッグ環境の場合は「D
」を入力します。
[Function Code]フィールドに「L
」([List]を表す)を入力します。
ENTER キーを押します。
[List Programming Objects]画面が表示されます。
すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を含むライブラリを検索するには、[Code]フィールドに「A
」を入力します。
すべてのライブラリを検索するには[Source Library]フィールドにアスタリスク(*)を入力します
(有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください)。
その他のすべての入力フィールドは変更しません。
ENTER キーを押します。
[Library Selection]画面に、現在のシステムファイルで利用できるすべてのライブラリのリストが表示されます。
リストのスクロールダウンには ENTER キー、右スクロールには PF11 キー、左スクロールには PF12 キーを押します。
[Library Selection]画面から、特定のライブラリを選択してそのライブラリに含まれるオブジェクトをリストできます。 [Library Selection]画面の詳細については、下記の関連トピックを参照してください。
コマンドを使用してすべてのライブラリをリストするには
次のシステムコマンドを入力します。
SYSMAIN LIST ALL * IN LIBRARY *
ENTER キーを押します。
[Library Selection]画面に、現在のシステムファイルで利用できるすべてのライブラリのリストが表示されます。
ライブラリのリストと選択 - 『SYSMAIN ユーティリティ』ドキュメント
ライブラリに含まれているオブジェクトのリストを取得するには、システムコマンド LIST
を使用するか、Natural ユーティリティ SYSMAIN またはオブジェクトハンドラの対応する機能を使用します。
注意:
システムコマンド LIST
は、タイプがエラーメッセージやデバッグ環境になっているオブジェクトを処理しません。 エラーメッセージやデバッグ環境は、SYSMAIN ユーティリティなどを使用してリストできます。
このセクションでは、LIST
を使用してオブジェクトのリストを取得する方法について説明します。
次のシステムコマンドを入力します。
LIST *
この場合、アスタリスク(*)は、すべてのソースオブジェクトとカタログ化オブジェクトをリストすることを表します
(『システムコマンド』ドキュメントの「LIST」の「object-name-range」も参照)。
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
のその他のオプションの詳細については、次の関連トピックを参照してください。
現在のシステムファイル内の現在のライブラリに含まれているオブジェクトのリストを印刷できます。
オブジェクトのリストを印刷するには
「ライブラリ内のオブジェクトのリスト」の手順 1~2 で説明しているように、[LIST Objects in a Library]画面を表示します。
PF2 キー(印刷)を押します。
[PRINT]ウィンドウが表示されます。
[Destination]フィールドに有効なプリンタ名を入力します(現在の環境で利用できるプリンタについては、必要に応じて Natural の管理者にお問い合わせください)。 必要に応じて、ページサイズを変更します(デフォルト設定は 60 行です)。
ENTER キーを押します。
[Printout Specification]画面が表示されます。この画面では、印刷部数などプリンタの設定を行うことができます。
ENTER キーを押します。
ライブラリに含まれているオブジェクトのリストが、指定したプリンタデバイスで印刷されます。
SYSMAIN ユーティリティまたはシステムコマンド SCAN
を使用すると、ライブラリに含まれているオブジェクトを検索できます。
以下の手順では、SYSMAIN メニュー機能やその対応するコマンドに検索条件を指定し、オブジェクトを検索する例を示します。
「メニュー機能を使用してすべてのライブラリをリストするには」の手順 1~4 に従って、SYSMAIN ユーティリティの[Main Menu]を表示します。
すべてのタイプのオブジェクトを検索するには、[Object Code]フィールドに「A
」(デフォルト設定)を入力します。
(例外:エラーメッセージの場合は「E
」、デバッグ環境の場合は「D
」。)
[Function Code]フィールドに「F
」(Find)を入力します。
ENTER キーを押します。
[Find Programming Objects]画面が表示されます。
すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を検索するには、[Code]フィールドに「A
」を入力します。
すべてのオブジェクト名を検索するには、[Object Name]フィールドにアスタリスク(*)を入力します。 アスタリスク(*)はデフォルト設定です。
(有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください。)
[Source Library]フィールドに、検索を実行するライブラリの ID を入力します。
[Criteria]フィールドで、N
(いいえ)を Y
(はい)に変更します。 N
はデフォルト設定です。
その他のすべての入力フィールドは変更しません。
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 |
1 つ以上の検索条件を入力して、ENTER キーを押します。
ウィンドウが閉じます。 [Criteria]フィールドの前にあるプラス(+)記号は、オブジェクトタイプ以外の追加の条件がウィンドウで指定されていることを表します。
もう一度 ENTER キーを押します。
[Find Selection]画面が表示され、現在のシステムファイル内の指定したライブラリに含まれており、さらに、指定した検索条件に一致したソースオブジェクトとカタログ化オブジェクトがすべて表示されます。 上記の例では、タイプが P
(プログラム)および M
(マップ)であり、2002 年 5 月 9 日
~2005 年 5 月 1 日
の期間に、ユーザー SAG
が作成または変更した全オブジェクトがリストされます。
「ライブラリが正常にリストされました。
」というメッセージが表示されるまで、Enter キーを押してリストをスクロールダウンします。
[Find Selection]画面では、オブジェクトを選択してさらに処理することができます。例えば、『SYSMAIN ユーティリティ』ドキュメントの「プログラミングオブジェクトの選択リスト」で説明しているように、オブジェクトのソースコードをリストすることができます。
メニュー機能とコマンドの使用 - 『SYSMAIN ユーティリティ』ドキュメント
コマンドを使用してオブジェクトを検索するには
次のシステムコマンドを入力します。
SYSMAIN FIND ALL * TYPE PN WITH USER user-ID IN library-ID
上記の意味は次に示すとおりです。
ALL
は、すべてのソースオブジェクトとカタログ化オブジェクトを検索対象として選択することを表します。
アスタリスク(*)は、すべてのオブジェクト名を検索対象として選択することを指定しています(『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」も参照)。
PN
は、検索するオブジェクトのタイプを指定しています。P
はプログラム、N
はサブプログラムを表しています。
library-ID は検索するライブラリの ID です。
user-ID は検索するユーザーの ID です。
ENTER キーを押します。
[Find Selection]画面が表示され、タイプがプログラムおよびサブプログラムになっているソースオブジェクトとカタログ化オブジェクトのうち、指定したユーザーが作成または変更したオブジェクトがすべてリストされます。
ダイレクトコマンドのキーワードと変数 -『SYSMAIN ユーティリティ』ドキュメント
以下の手順では、システムコマンド SCAN
を使用してソースをスキャンし、特定の文字列を探すことでオブジェクトを検索する例を示します。
注意:
SCAN
は、タイプがエラーメッセージやデバッグ環境になっているオブジェクトを処理しません。 Natural ユーティリティ SYSERR の Scan in messages 機能を使用すると、エラーメッセージをスキャンできます。
メニュー機能を使用してソースをスキャンするには
次のシステムコマンドを入力します。
SCAN
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
)を入力できます。
ENTER キーを押します。
現在のシステムファイル内の指定したライブラリを対象とした[Select Objects for Library]画面が表示され、指定した検索条件に一致したすべてのソースオブジェクトがリストで表示されます。 上記の例では、ライブラリ TESTLIB
内にあり、文字列 LOCAL
を含む全オブジェクトが選択されます。
[Select Objects for Library]画面では、オブジェクトの選択、スキャン対象値を含むソース行の表示や変更を実行できます。
コマンドを使用してソースをスキャンするには
次のシステムコマンドを入力します。
SCAN FUNC=L,SVAL=scan-value,LIB=library-ID,*
上記の意味は次に示すとおりです。
scan-value はソースをスキャンするための文字列(例えば、LOCAL
)です。
library-ID は検索するライブラリの ID(例えば、TESTLIB
)です。
アスタリスク(*)は、すべてのソースオブジェクトを検索対象として選択することを表します。
ENTER キーを押します。
SCAN -『システムコマンド』ドキュメント
ライブラリをコピーまたは移動するには、ソースライブラリのすべての Natural オブジェクトを、既存または新規のターゲットライブラリへコピーまたは移動します。
ライブラリの名前を変更する場合、ライブラリの移動と同じ手順を実行する必要があります。 ライブラリのすべてのオブジェクトを新しいターゲットライブラリに移動すると、古いライブラリは自動的に削除されます。
SYSMAIN ユーティリティまたはオブジェクトハンドラを使用して、特定のライブラリから別のライブラリへ 1 つまたは複数のオブジェクトをコピーまたは移動することができます。 以下の手順では、メニュー機能や対応するコマンドを使用して、SYSMAIN のすべてのオブジェクトをコピーまたは移動する例を示します。
メニュー機能を使用してすべてのオブジェクトをコピーまたは移動するには
「メニュー機能を使用してすべてのライブラリをリストするには」の手順 1~4 に従って、SYSMAIN ユーティリティの[Main Menu]を表示します。
すべてのタイプのオブジェクトを選択するには、[Object Code]フィールドに「A
」(デフォルト設定)を入力します。
(例外:エラーメッセージの場合は「E
」、デバッグ環境の場合は「D
」。)
[Function Code]フィールドに「C
」( を表す)または「M
」( を表す)を入力します。
ENTER キーを押します。
入力したファンクションコードに応じて、[Copy Programming Objects]または[Move Programming Objects]画面が表示されます。
すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を選択するには、[Code]フィールドに「A
」を入力します。
[Sel. List](リストの選択)フィールドで、Y
(はい)を N
(いいえ)に変更します。 Y
はデフォルト設定です。
すべてのオブジェクト名を選択するには[Object Name]フィールドにアスタリスク(*)を入力します。 アスタリスク(*)はデフォルト設定です。
(有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください。)
[Source Library]フィールドに、コピーまたは移動するオブジェクトを含んでいるライブラリの ID を入力します。
[Target Library]フィールドに、オブジェクトのコピーまたは移動先となる既存のライブラリまたは新規のライブラリの ID を入力します。
その他のすべての入力フィールドは変更しません。
ENTER キーを押します。
現在のシステムファイル内の指定したソースライブラリとターゲットライブラリの間で、すべてのソースオブジェクトとカタログ化オブジェクトがコピーまたは移動され、「機能が正しく実行されました。
」というメッセージが表示されます。
コマンドを使用してすべてのオブジェクトをコピーまたは移動するには
次のシステムコマンドのいずれかを入力します。
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 です(「ライブラリの命名規則」も参照)。
ENTER キーを押します。
コピーまたは移動が正常に実行された場合、処理されたコマンドとそれに続いて「機能が正しく実行されました。
」というメッセージが画面に表示されます。
オブジェクトの置換や名前変更など、SYSMAIN ユーティリティの機能の詳細については、『ユーティリティ』ドキュメントを参照してください。
Natural 環境では、ライブラリは最低 1 つのソースオブジェクトまたはカタログ化オブジェクトがある場合にのみ管理対象となります。 ライブラリからすべてのオブジェクトを削除すると、そのライブラリはそれ以降使用できなくなります。
システムコマンド LIST
または Natural ユーティリティを使用して、ライブラリから 1 つ以上のオブジェクトを削除することができます。
以下の手順では、システムコマンド LIST
を使用して、現在のライブラリからオブジェクトを削除します。また、SYSMAIN ユーティリティのメニュー機能またはコマンドを使用して、別のライブラリからオブジェクトを削除します。
次のシステムコマンドを入力します。
LIST *
この場合、アスタリスク(*)は、すべてのソースオブジェクトとカタログ化オブジェクトをリストすることを表します
(『システムコマンド』ドキュメントの「LIST」の「object-name-range」も参照)。
ENTER キーを押します。
[LIST Objects in a Library]画面が表示され、現在のシステムファイルにある現在のライブラリを対象として、そこに含まれているソースオブジェクトとカタログ化オブジェクトがリストで表示されます。
[Cmd]列で目的のオブジェクトの横に、次のように入力します。
DE
次のサンプル画面のようになります。
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 |
目的のオプションの横に任意の文字を入力して項目をマークし、ENTER キーを押します。
[Confirm each deletion]を選択すると、削除するオブジェクトごとにウィンドウが表示されます。このウィンドウでは、削除を確認するために、オブジェクトの名前を入力します。
[Delete without confirmation]を選択すると、すぐに削除が実行されます。
[Exit]を選択すると、削除がキャンセルされます。
SYSMAIN メニュー機能を使用してオブジェクトを削除するには
「メニュー機能を使用してすべてのライブラリをリストするには」の手順 1~4 に従って、SYSMAIN ユーティリティの[Main Menu]を表示します。
すべてのタイプのオブジェクトを選択するには、[Object Code]フィールドに「A
」(デフォルト設定)を入力します。
(例外:エラーメッセージの場合は「E
」、デバッグ環境の場合は「D
」。)
[Function Code]フィールドに「D
」( を表す)を入力します。
ENTER キーを押します。
[Delete Programming Objects]画面が表示されます。
すべてのタイプのオブジェクトモジュール(カタログ化オブジェクトとソースオブジェクト)を選択するには、[Code]フィールドに「A
」を入力します。
[Sel. List](リストの選択)フィールドで、Y
(はい)を N
(いいえ)に変更します。 Y
はデフォルト設定です。
すべてのオブジェクト名を選択するには[Object Name]フィールドにアスタリスク(*)を入力します。 アスタリスク(*)はデフォルト設定です。
(有効な名前の範囲については、『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」を参照してください。)
[Source Library]フィールドに、削除するライブラリの ID を入力します。
その他のすべての入力フィールドは変更しません。
ENTER キーを押します。
現在のシステムファイル内の指定したライブラリから、すべてのソースオブジェクトとカタログ化オブジェクトが削除され、「機能が正しく実行されました。
」というメッセージが表示されます。
SYSMAIN コマンドを使用してすべてのオブジェクトを削除するには
次のシステムコマンドを入力します。
SYSMAIN DELETE ALL * FM library-ID
上記の意味は次に示すとおりです。
ALL
は、すべてのソースオブジェクトとカタログ化オブジェクトを選択することを表します。
アスタリスク(*)は、すべてのオブジェクト名を選択することを指定しています
(『SYSMAIN ユーティリティ』ドキュメントの「名前の範囲の指定」も参照)。
library-ID は、削除するオブジェクトを含んでいるライブラリの ID です。
ENTER キーを押します。
削除が正常に実行された場合、処理されたコマンドとそれに続いて「機能が正しく実行されました。
」というメッセージが画面に表示されます。