すべての SYSMAIN 機能をプログラミングオブジェクトに対して実行できます。 SYSMAIN でメンテナンスできるプログラミングオブジェクトには、次のタイプの Natural オブジェクトがあります。プログラム、サブプログラム、サブルーチン、コピーコード、ヘルプルーチン、マップ、ローカルデータエリア、グローバルデータエリア、パラメータデータエリア、クラス、テキスト、記録、Natural コマンドプロセッサ、ダイアログ、ファンクション、ISPF マクロ、レポート、アダプタ、およびリソース。
プログラミングオブジェクトは、含まれているライブラリの名前に従ってシステムファイルに格納されます。ライブラリが SYS で始まる場合(ライブラリ SYSTEM を除く)、オブジェクトは FNAT システムファイルに格納されます。 それ以外のすべてのライブラリでは、オブジェクトは FUSER システムファイルに格納されます。
このセクションでは、プログラミングオブジェクトに SYSMAIN 機能を実行するためのメニュー機能と選択リストオプション、およびダイレクトコマンドの使用時に適用される構文について説明します。
[Programming Objects]メニューには、プログラミングオブジェクトの処理に必要なすべての SYSMAIN 機能が含まれています。 次の表に、メニューで表示されるフィールドとその説明を示します。
フィールド | 説明 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Recat: ON | プロファイルパラメータ RECAT が ON に設定されていることを示します。「プロファイルパラメータ RECAT の使用」を参照してください。
|
||||||||||||||||
Code |
|
||||||||||||||||
Sel. List |
|
||||||||||||||||
Name | 処理するオブジェクトの名前または名前の範囲(「名前の範囲の指定」も参照)。
デフォルト設定はアスタリスク(*)で、すべての名前が選択されます。 |
||||||||||||||||
New Name | 名前の変更機能で名前を変更するときに、オブジェクトに付ける名前。 | ||||||||||||||||
Type | プログラムの P やマップの M など、処理するオブジェクトタイプに対応するコード(「TYPE の指定 - プログラミングオブジェクト」を参照)。
任意の順序で 1 つ以上のコードを入力できます。 例えば、「 |
||||||||||||||||
Set Number | LIST XREF コマンドの Predict XRef セット保存オプションを使用して作成された保有セットの数。 このセットに含まれるオブジェクトにすべての SYSMAIN 処理機能を適用できます。
有効な番号を指定すると、SYSMAIN で Predict セットであると見なされます。 番号を指定しないと、通常のオブジェクト処理と見なされます。 [Additional Criteria]ウィンドウの[Set Library]フィールドおよび[Set User]フィールドを使用して、Predict セットのライブラリとユーザー ID を指定できます(「追加条件の指定」を参照)。 |
||||||||||||||||
XREF |
|
||||||||||||||||
Library | ソースライブラリまたはターゲットライブラリの名前
ソースライブラリは、処理対象のオブジェクトを含みます。 ターゲットライブラリは、オブジェクトのコピー先または移動先のライブラリです。オブジェクト名はここで変更されることがあります。 「ライブラリのリストと選択」も参照してください。 |
||||||||||||||||
Database | ソースデータベースまたはターゲットデータベースのデータベース ID(DBID)。
ソースデータベースは、処理対象のオブジェクトが保存されているライブラリおよびシステムファイルを含みます。 ターゲットデータベースは、オブジェクトのコピー先または移動先のライブラリおよびシステムファイルを含みます。オブジェクト名はここで変更されることがあります。 有効なデータベース ID は |
||||||||||||||||
File | ソースシステムファイルまたはターゲットシステムファイル(FNAT または FUSER)のファイル番号(FNR)。
有効なファイル番号は ソースファイルは、処理対象のオブジェクトが保存されているライブラリを含みます。 ターゲットファイルは、オブジェクトのコピー先または移動先のライブラリを含みます。オブジェクト名はここで変更されることがあります。 |
||||||||||||||||
Replace |
|
||||||||||||||||
Criteria |
|
セッションの開始時にプロファイルパラメータ RECAT
が ON
に設定されている場合、この設定は、[Programming Objects]メニューと[Selection]画面に示されます。
RECAT=ON
で SYSMAIN 機能を使用すると、標準のダイナミックな再カタログルールが適用されます(『パラメータリファレンス』ドキュメントの「RECAT - ダイナミックな再カタログ」を参照)。 これは次のことを意味します。
オブジェクトが保存オブジェクトとカタログ化オブジェクトの両方として存在する場合、保存オブジェクトとカタログ化オブジェクトのいずれも独立して処理することはできません。
オブジェクトがカタログ化オブジェクトとしてのみ存在する場合は、カタログ化オブジェクトのみを処理する SYSMAIN 機能を実行できない(「ダイナミックな再カタログの要求が不正です。
」というエラーメッセージが表示されます)か、または[Selection]画面からカタログ化オブジェクトを選択できません。
自動処理を使用する場合、これらのルールに従わないすべてのオブジェクトは無視され、処理は次のオブジェクトに移ります。
選択処理をアクティブにした場合、指定した選択条件に一致するすべてのプログラミングオブジェクトの選択リストが[Selection]画面に表示されます。
このセクションでは、[Selection]画面に表示される列とフィールド、およびプログラミングオブジェクトをさらに処理するための行コマンドについて説明します。
次の列とフィールドが[Selection]画面に表示されます。
列/フィールド | 説明 |
---|---|
C | 行コマンド用の入力フィールド(下記参照)。 |
Name | 指定した選択条件に一致するプログラミングオブジェクトの名前。 |
Type | 「TYPE 指定 - プログラミングオブジェクト」でリストしているオブジェクトのタイプに対応するコード。 |
S/C | プログラミングオブジェクトに存在するオブジェクト。保存/ソース(S )オブジェクトまたはカタログ化(C )オブジェクト、あるいはその両方。
|
Message | プログラミングオブジェクトの処理ステータスを示すメッセージ。 表示されるメッセージについては、「ステータスメッセージ」を参照してください。 |
Listed Library | 選択したプログラミングオブジェクトを含むライブラリの名前。 |
次のいずれかの行コマンドを、[Selection]画面の[C](コマンド)列に入力できます。
行 |
機能 |
---|---|
A |
[S/C](保存/カタログ化)列に表示されたすべてのオブジェクト、つまり、保存/ソース(S )オブジェクトまたはカタログ化(C )オブジェクトあるいはその両方を処理します。
このコマンドは、検索またはリスト機能には適用されません。 |
B |
カタログ化オブジェクトを Natural バッファプールから削除します。 オブジェクトを指定して Enter キーを押すと表示されるウィンドウに「DELETE 」を入力して、指定したオブジェクトの削除を確認する必要があります。
|
C |
対応する保存オブジェクトがある場合にも、カタログ化オブジェクトのみを処理します。 保存オブジェクトとしてのみ存在するオブジェクトに C を指定した場合、エラーが発生します。
このコマンドは、検索またはリスト機能には適用されません。 |
D |
[Library Selection]画面にのみ適用されます(「ライブラリのリストと選択」も参照)。
指定したライブラリに含まれるオブジェクトの短いリストを表示します。 リストに含まれる情報(名前、タイプ、ソース/カタログ化オブジェクト)は、「メニュー機能とコマンドの使用」の「選択処理」で示した[Selection]画面に表示される情報と同じです。 |
H |
保存(ソース)オブジェクトのハードコピーを生成します。
指定したオブジェクトのソースコードが出力され、画面に表示されます。 |
I |
オブジェクトのディレクトリ情報を表示します。
このコマンドは、システムコマンド |
L |
保存(ソース)オブジェクトのソースコードを表示します。
このコマンドは、システムコマンド |
[Library Selection]画面上(「ライブラリのリストと選択」も参照):
ライブラリに含まれるオブジェクトの拡張リストを表示します。 行コマンド |
|
R |
リソースタイプの Natural オブジェクトのロングネームを表示します。 |
[Library Selection]画面上(「ライブラリのリストと選択」も参照):
外部サブルーチンの使用を確認します。指定したライブラリとオブジェクトの範囲について、カタログ化オブジェクトが存在するオブジェクトを表示し、オブジェクトが外部サブルーチンを参照するかどうかを示します。 外部サブルーチンを参照するオブジェクトごとに、外部サブルーチンの名前、および可能な場合は、そのサブルーチンに存在するカタログ化オブジェクトの名前を表示します。 サブルーチンタイプのオブジェクトの場合、同等の別名のロングネームが表示されます。 |
|
S |
対応するカタログ化オブジェクトがある場合にも、保存(ソース)オブジェクトのみを処理します。 カタログ化オブジェクトとしてのみ存在するオブジェクトに S を指定した場合、エラーが発生します。
このコマンドは、検索またはリスト機能には適用されません。 |
[Library Selection]画面上(「ライブラリのリストと選択」も参照):
別名のロングネームまたは同等のカタログ化オブジェクトのショートネーム、あるいはその両方によって、指定したライブラリに含まれているすべての外部サブルーチンをリストします。 |
|
X |
Natural Connection と Entire Connection がインストールされている場合にのみ適用されます。
保存(ソース)オブジェクトを PC にダウンロードします(「PC へのソースオブジェクトのダウンロード」も参照)。 |
Z |
サイズの計算:DATSIZE 、ESIZE 、MCG サイズなどの、保存(ソース)オブジェクトおよびカタログ化オブジェクトのサイズを確認します。
|
ダウンロードオプションは、Natural Connection および Entire Connection がインストールされている場合にのみ適用されます。
1 つ以上のソースオブジェクトをダウンロードするには
SYSMAIN を呼び出す前に次のことを行います。
6 および 7 のワークファイルを PC ワークファイルとして定義します。
セッションの開始後、次の端末コマンドを入力して PC 接続をアクティブにします
%+
(『端末コマンド』ドキュメントの「Natural Connection の使用の有効化および無効化」も参照)。
任意の[Selection]画面を呼び出します。
ダウンロードするオブジェクトの横に、次の行コマンドを入力します。
X
Enter キーを押します。
次のような[PC Download Options]ウィンドウが表示されます。
13:23:15 ***** NATURAL SYSMAIN UTILITY ***** 2005-08-10 User SAG - Copy Selection - COPY ALL * WITH XREF N FROM OLDLIB WHERE DBID 10 FNR 32 TO NEWLIB WHERE DBID 10 FNR 32 C Name Type S/C Message C Name Type S/C Message - -------- ------ --- ------------ - -------- ------ --- ------------ X SUB1 Subpgm S X SUB2 Subpgm S/C X SUB3 Subpgm S/C X SUB4 Subpgm S X SUB5 Subpgm S/C X SUB6 Subpgm S/C +----------------- PC Download Options ------------------+ S/C ! Specify the relevant PC options ! S/C ! ! S ! Drive ...... C ! S/C ! Path ....... SOURCES/SUBPROGRAMS ! S/C ! Extension .. NS* ! S ! ! S ! ! S ! ! ed Library: OLDLIB ! Warning: This will overwrite any existing objects with ! ! the same path, name and extension. ! Exit) _ +--------------------------------------------------------+ -PF10--PF11--PF12--- Help Menu Exit Copy Del Find List Move Ren Canc |
[Drive]フィールドに、オブジェクトのダウンロード先の PC ドライブの名前を入力します。 デフォルト設定は C
です。
[Path]フィールドに、オブジェクトのダウンロード先の PC ディレクトリ/サブディレクトリの名前を入力します(上記の例では、SOURCES ディレクトリの SUBPROGRAMS サブディレクトリ)。 ディレクトリとサブディレクトリ間、および複数のサブディレクトリ間のセパレータとしてスラッシュ(/)を入力します。 指定したディレクトリ/サブディレクトリが存在しない場合は、該当するエラーメッセージが返されます。
[Extension]フィールドに、オブジェクトのソースコードのロード先のテキストファイルの拡張子を入力します。 NS*
と指定すると、アスタリスクが指定したオブジェクトタイプで置き換えられます(「TYPE の指定 - プログラミングオブジェクト」を参照)。
例:SUB1 という名前のサブプログラムが SUB1.NSN という名前のファイルにロードされます。
ENTER キーを押して、オブジェクトをダウンロードします。
メッセージ行に、「4824 :要求したオプションの処理が正常終了しました。
」というメッセージが表示されます。
また、画面に[Message]列が表示された場合、ダウンロードしたオブジェクトの横に Exported
というメッセージが表示されます。
必要に応じて、この選択リストから他のオブジェクトのダウンロードを続けます。
現在の[Selection]画面からの追加のダウンロードに対して、[PC Download Options]ウィンドウは再表示されません。 このウィンドウは、[Selection]画面の呼び出し後、またはダイレクトコマンド SET PC
の実行後に、行コマンド X
を最初に発行したときにのみ表示されます。
[PC Download Options]ウィンドウの設定は、SYSMAIN を終了するまでアクティブのままです。
Predict システムファイルに格納されたすべてのクロスリファレンス(XRef)データは、SYSMAIN で処理できます。 XREF オプションでは、XRef データを SYSMAIN で処理する必要があるかどうかが示されます。 カタログ化オブジェクトに削除または置き換え機能が実行される場合、XRef データは常に削除されます。
Predict がインストールされていない場合、XREF オプションを N
に設定すると、Predict ファイルの検証は実行されません。 XREF オプションを Y
に設定したときに、使用中の FDIC ファイルが有効な Predict ファイルでない場合、エラーメッセージが返されます。
XREF オプションを設定する場合のルールは、Natural Security によるルールと同じです。 ただし、非セキュリティ環境では、制限はありません。
このセクションでは、次のトピックについて説明します。
XREF オプションを N
に設定した場合、XRef データは処理されませんが、カタログ化プログラミングオブジェクトが削除されるか置き換えられると、SYSMAIN では XRef が削除されます。 ターゲット Predict システムファイルは、ソースまたはターゲットの
FDIC システムファイルの現在の設定に従って決定されます。 デフォルトは、Natural セッションの開始時に FDIC
プロファイルパラメータ割り当てられた値です(『パラメータリファレンス』ドキュメントの「FDIC - Predict システムファイル」を参照)。
XREF オプションを Y
または F
に設定した場合、処理中に次のアクションが適用されます。
SYSMAIN では、XRef データが Predict システムソースファイルにすでに存在するかどうかが検証されます。
置き換えオプションがアクティブ(Y
に設定)で、プログラミングオブジェクトがターゲット環境から削除される場合、XRef データは Predict システムターゲットファイルから削除されます。
プログラミングオブジェクトを新しい環境にコピーすると、プログラミングオブジェクトの XRef データが Predict システムソースファイルから Predict システムターゲットファイルにコピーされます。 それに応じてライブラリ名を名前の変更機能を使用して変更すると、オブジェクト名も変更されます。
移動機能が要求されると、プログラミングオブジェクトの XRef データが Predict システムソースファイルから削除されます。
XREF オプションを F
に設定した場合、SYSMAIN では、プログラミングオブジェクト(プログラム、サブルーチン、サブプログラム、マップ、またはヘルプルーチンのみ)に、Predict システムターゲットファイルで定義された Predict プログラムエントリがあるかどうかがさらにチェックされます。
ない場合、オブジェクトの処理は終了します。
XREF オプションを S
に設定した場合、特殊ケースが適用され、指定したオブジェクトの範囲は、すべてのオブジェクトにクロスリファレンスデータがあるかどうかに関係なく、対応する XRef データとともに処理されます。クロスリファレンスデータがあるオブジェクトはクロスリファレンスデータとともに処理され、クロスリファレンスデータがないオブジェクトも処理されます。
XRef データの SYSMAIN 処理中に次の矛盾が発生すると、オブジェクトまたは機能のすべての処理が終了し、エラーメッセージが表示されます。
Natural Security の XREF オプションの値は F
または Y
で、それぞれ Y
または N
の値を指定しました。
XREF オプションは F
に設定され、SYSMAIN では、処理中のオブジェクトの記録されたプログラムエントリが Predict に検出されませんでした。
無効な Predict ファイルを指定しました。
Natural Security の XREF オプションの値は F
または Y
で、S
値を指定しました。
[Programming Object]メニューの入力フィールドで指定した選択条件に加えて、オブジェクトの保存またはカタログ化に関連する日付/時刻、ユーザー ID、および端末 ID によってオブジェクトを選択できます。
また、Predict セットのユーザー ID とライブラリを指定することもできます。 このオプションは、リスト機能および検索機能には適用されません。
例えば、特定の日の 8 時~12 時の間に特定のユーザーによって特定の端末でカタログ化されたオブジェクトのみを選択できます。つまり、選択条件に従ったオブジェクトの処理は、各条件ではなく、すべての選択された条件全体に基づきます。
追加の選択条件を指定するには
[Programming Objects]メニューの[Criteria]フィールドで、N
(デフォルト)を Y
で置き換えます。
次のような[Additional Criteria]ウィンドウが表示されます。
15:24:55 ***** NATURAL SYSMAIN UTILITY ***** 2006-09-15 User MMO - Copy Programming Objects - +------------------------------------------+ ! --- Additional Criteria --- ! ! ! ! Object Type ..... PN__________________ ! ! Date/Time From .. 2006-01-01 _____ ! ! Date/Time To .... __________ _____ ! ! User ID ......... SAG______ ! ! Terminal ID ..... ________ ! ! Set Library ..... ________ ! ! Set User ........ ________ ! ! ! Code .. ! Command ===> ! Object Name .. ! ! +------------------------------------------+ N Source Library ... SYSTEM__ Database .... 10___ File .. 32___ Target Library ... ________ Database .... 10___ File .. 32___ Options Replace ... N + 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 |
必要な選択条件を入力します。 [Additional Criteria]ウィンドウの[Object Type]フィールドに 1 つ以上のオブジェクトタイプコードを入力した場合、[Programming Objects]メニューの[Type]フィールドは同じオブジェクトタイプコードで事前設定されます。
[Programming Objects]メニューに戻ると、[Criteria]フィールドの前のプラス記号(+)は、追加のオブジェクト選択条件が指定されていることを示します。上記の例では、ユーザー ID SAG
です。
[Object Type]フィールドのみにエントリが含まれている場合、このエントリはすでに[Programming Objects]メニューの[Type]フィールドに表示されるため、プラス記号(+)は表示されません。
このセクションでは、オンラインモードまたはバッチモードでダイレクトコマンドを使用して、プログラミングオブジェクトに SYSMAIN 機能を実行する場合に適用される構文について説明します。 ダイレクトコマンドの一般的な使用方法については、「コマンドの実行」を参照してください。
次の構文図で使用されているキーワードと変数値については、「ダイレクトコマンドのキーワードと変数」を参照してください。 構文図の記号は、システムコマンドで使用される構文記号に対応します。 これらの記号の詳細については、『システムコマンド』ドキュメントの「システムコマンド構文」を参照してください。
where-clause と with-clause の構文は、どのコマンドでも同じです。
このセクションでは、次のトピックについて説明します。
name | FM [LIBRARY ] lib-name
|
[where-clause] | |||||||||||
TO [LIBRARY ]
|
lib-name [where-clause] [with-clause] |
COPY PROG1 FM TESTORD TO ORDERS DBID 1 FNR 6 REP
C PGM* WITH REP TYPE PNS FM PRODLIB TO TESTLIB
M PROG1 FM OLDLIB TO NEWLIB
MOVE STOWED * TO NEWLIB WHERE DBID 100 FNR 160 FMDATE 2007-01-01 FM OLDLIB WITH XREF Y
DELETE |
name | IN [LIBRARY ] lib-name
|
[where-clause] | [with-clause] |
DELETE C M> IN LIB ORDERS
D * IN TESTLIB DBID 1 FNR 5 NAME SYSNAT
D SA * IN LIBTEST TYPE GLA
D * TYPE PM IN TESTORD FMDATE 2007-01-01 TODATE 2007-04-30
name | IN [LIBRARY ] lib-name
|
[where-clause] | [with-clause] |
注意:
ダイレクトコマンド LISTLIB
は、バッチモードでのみ使用可能で、ライブラリ名のリストの取得に使用します。
FIND SAVED MENU IN TESTLIB
FIND STOWED MAINMENU IN SYS* WHERE DBID 1 FNR 5
F ALL PROG2 IN PROD* FNR 27 DBID 1
LIST * IN TESTLIB
LIST DT* IN TESTLIB
L SAVED TEST* IN TESTLIB TYPE PNS FNR 6
L SA TEST* TYPE PM IN TESTLIB FNR 6 DBID 2 FMDATE 2007-01-01
LISTLIB ALL MENU IN SYS* DBID 10 FNR 44
RENAME |
|||||||||||
name AS new-name [with-clause]
|
|||||||||||
FM [LIBRARY ] lib-name
|
[where-clause] | ||||||||||
TO [LIBRARY ] lib-name
|
[where-clause] |
RENAME PGM1 AS PROG1 FM TESTLIB
R PGM1 AS PROG1 FM TESTLIB DBID 1 FNR 5 TO PRODLIB DBID 2 FNR 6
R PGM* TYPE PS RCOP FM TESTLIB TO PRODLIB
[WHERE ] [DBID dbid] [FNR fnr] [NAME vsam-name] [CIPHER cipher]
|
|||||||||||||||||||
|
password | ||||||||||||||||||
[DIC (dbid,fnr,password,cipher)]
|
|||||||||||||||||||
[SEC (dbid,fnr,password,cipher)]
|
DIC
および SEC
キーワードに続く各値の間に、または値がない場合に、セパレータとしてコンマを使用する必要があります。 例えば、DIC (10,,secret,2a)
のように使用します。
セッションパラメータ ID
(『パラメータリファレンス』ドキュメントの「ID - INPUT 区切り文字」を参照)がコンマに設定されている場合、値を区切るセパレータとしてスラッシュ(/)を使用します。
[WITH ]
|
[TYPE type]
|
[FMDATE date-from]
|
[TODATE date-to]
|
[FMTIME time-from]
|
||||||
[TOTIME time-to]
|
[USER user-id]
|
[TID terminal-id]
|
[XREF xref] [HELP ]
|
|||||||
[REPLACE ]
|
[RCOP ]
|
[EXTEND ]
|
||||||||
[SETUSER set-user]
|
[SETNO set-number]
|
[SETLIBRARY set-library]
|