すべての SYSMAIN 機能をユーザー定義のエラーメッセージおよび Natural システムエラーメッセージに実行できます。 エラーメッセージは、1 つのライブラリから他のライブラリに移動できます。または、各エラーメッセージの言語テキストはコピー、移動、または置き換えが可能です。 また、名前の変更機能を使用して、1 つのエラーメッセージまたはエラーメッセージの範囲の番号を変更できます。
Natural Security がインストールされている場合は、権限を持つユーザーのみが Natural システムエラーメッセージを処理できます。
エラーメッセージは、タイプに応じてシステムファイルに格納されます。Natural システムエラーメッセージは FNAT システムファイルに格納され、ユーザー定義のエラーメッセージは FUSER または FNAT システムファイルに格納されます。
このセクションでは、プログラミングオブジェクトに SYSMAIN 機能を実行するためのメニュー機能と選択リストオプション、およびダイレクトコマンドの使用時に適用される構文について説明します。
『SYSERR Utility』ドキュメント
[エラーメッセージテキスト]メニューには、エラーメッセージの処理に必要なすべての SYSMAIN 機能が含まれています。 次の表に、メニューで表示されるフィールドとその説明を示します。
フィールド | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code |
|
||||||||||||
Sel. List |
|
||||||||||||
[No. From]または[Number] | 処理するエラーメッセージの数、または終了番号を[No. To]フィールドに入力した場合は、番号の範囲の開始番号。 「エラーメッセージ番号の変更」も参照してください。 | ||||||||||||
No. To | 開始番号を[No. From]フィールドに入力した場合は、処理するエラーメッセージ番号の範囲の終了番号。 「エラーメッセージ番号の変更」も参照してください。 | ||||||||||||
New From | 名前の変更機能に適用されます。
既存のエラーメッセージに割り当てる新しい番号、または既存のエラーメッセージの範囲に割り当てる新しい番号の範囲の開始番号。 「エラーメッセージ番号の変更」も参照してください。 |
||||||||||||
New To | 名前の変更機能に適用されます。
既存のエラーメッセージの範囲に割り当てる新しいエラーメッセージ番号の範囲の終了番号。 「エラーメッセージ番号の変更」も参照してください。 |
||||||||||||
Library | ソースライブラリまたはターゲットライブラリの名前または名前の範囲。 Natural システムエラーメッセージを処理する場合は、[Library]フィールドを空のままにします。
ソースライブラリには、処理対象のエラーメッセージが含まれています。 ターゲットライブラリは、エラーメッセージのコピー先または移動先のライブラリです。エラーメッセージは、ここで番号が変更されることがあります。 「ライブラリのリストと選択」も参照してください。 |
||||||||||||
Lang. | エラーメッセージを使用できる言語コード。
言語コードを任意に組み合わせて、言語を指定できます。 言語に割り当てられている言語コードについては、『システム変数』ドキュメントの「*LANGUAGE」で「言語コードの割り当て」を参照してください。 Natural システムの拡張(ロング)エラーメッセージでは、言語コード 「言語の指定」も参照してください。 |
||||||||||||
Database | ソースデータベースまたはターゲットデータベースのデータベース ID(DBID)。
ソースデータベースは、処理対象のエラーメッセージが保存されているライブラリおよびシステムファイルを含みます。 ターゲットデータベースは、エラーメッセージのコピー先または移動先のライブラリおよびシステムファイルを含みます。エラーメッセージは、ここで番号が変更されることがあります。 有効なデータベース ID は |
||||||||||||
File | ソースシステムファイルまたはターゲットシステムファイルのファイル番号(FNR)。
有効なファイル番号は ソースファイルは、処理対象のエラーメッセージが保存されているライブラリを含みます。 ターゲットファイルは、エラーメッセージのコピー先または移動先のライブラリを含みます。エラーメッセージは、ここで番号が変更されることがあります。 |
||||||||||||
Replace |
|
選択処理をアクティブにした場合、指定した選択条件に一致するすべてのエラーメッセージの選択リストが[Selection]画面に表示されます。
このセクションでは、[Selection]画面に表示される列、およびエラーメッセージをさらに処理するための行コマンドについて説明します。
[Selection]画面に次の列が表示されます。
列 | 説明 |
---|---|
C | 行コマンド用の入力フィールド(下記参照)。 |
Error | 指定した選択条件に一致するエラーメッセージの名前。 |
Error Message Text | ショートエラーメッセージのテキスト。 |
Type | エラーメッセージのタイプ:S (ショート)および E (拡張/ロング)。
|
Lang | エラーメッセージについて存在する、順番の、またはアルファベット順の第 1 言語コード。 エラーメッセージについて存在するすべての言語を表示する場合は、[Selection]画面で、行コマンド「L 」を入力するか、またはリスト機能を使用します。
|
Message | エラーメッセージの処理ステータスを示すメッセージ。
この列は、エラーメッセージで行コマンドが実行された後にのみ表示されます。 表示されるメッセージについては、「ステータスメッセージ」を参照してください。 |
次のいずれかの行コマンドを、[Selection]画面の[C](コマンド)列に入力できます。
行コマンド | 機能 |
---|---|
A |
[Type]列に表示されたすべてのタイプのメッセージを処理します。 指定できるタイプは、ショート(S )、拡張/ロング(E )、またはショートおよび拡張(S/E )です。
|
E |
ターゲット環境に対応するショートメッセージが存在する場合、拡張(ロング)メッセージを処理します。
ショートメッセージとしてのみ存在するメッセージに |
S |
すべてのショートメッセージを処理します。 |
L |
処理する前にエラーメッセージを確認します。 ショートまたは拡張(ロング)エラーメッセージ、あるいはその両方は、以前に[Error Message Texts]メニューで指定した機能に応じて、すべての既存の言語について表示されます。
この行コマンドは、[Library Selection]画面でも使用できます(「ライブラリのリストと選択」も参照)。 |
1 つのエラーメッセージの番号またはエラーメッセージの範囲の番号を変更できます。
1 つのエラーメッセージの番号を変更するには
[No. From]フィールドに、変更するエラーメッセージの番号を入力し、[New From]フィールドに、新しいエラーメッセージ番号を入力します。
[Source Library]フィールドに、番号を変更するエラーメッセージが含まれているライブラリの名前を入力します。
番号を変更したエラーメッセージを異なるライブラリに配置する場合は、[Target Library]フィールドに名前を入力します。
エラーメッセージの範囲の番号を変更するには
[No. From]フィールドに、番号を変更するエラーメッセージの範囲の開始番号を入力し、[No. To]フィールドに、終了番号を入力します。
[New From]フィールドに、エラーメッセージの新しい範囲の開始番号を入力し、[New To]フィールドに、終了番号を入力します。
ソースライブラリの[No. From]および[No. To]フィールドの範囲で指定されたエラーメッセージの番号は、ターゲットライブラリの[New From]および[New To]フィールドの範囲の番号と同じである必要があります。 例えば、エラーメッセージ番号 1~6 を新しいエラーメッセージ番号 7~10 として変更することはできません。
1 つのライブラリ内のエラーメッセージの範囲を変更する場合、範囲の値が重複しないようにしてください。 例えば、エラーメッセージ番号 1~6 を新しいエラーメッセージ番号 5~10 として変更することはできません。
[Source Library]フィールドに、番号を変更するエラーメッセージが含まれているライブラリの名前を入力します。
番号を変更したエラーメッセージを異なるライブラリに配置する場合は、[Target Library]フィールドに名前を入力します。
「エラーメッセージのダイレクトコマンド構文」の「RENAME」の範囲指定の例も参照してください。
言語を指定する場合は、次の点を考慮してください。
リスト機能を実行し、エラーメッセージについて指定した言語コードが存在しない場合、SYSMAIN では、システム変数 *LANGUAGE
(『システム変数』ドキュメントの「*LANGUAGE」を参照)で指定したデフォルトの言語が使用されます。
ソースエラーメッセージにアスタリスク(*)を指定した場合、このエラーメッセージに定義されたすべての言語コードによって、ターゲットエラーメッセージに定義されたすべての言語コードが上書きされます。
例えば、ソースエラーメッセージは言語 1
、2
、および 3
のみで存在し、ターゲットエラーメッセージには言語 1
、4
、および 6
のみが定義されている場合、コピー機能の実行後、生成されるターゲットエラーメッセージは言語 1
、2
、および 3
のみで存在します。
言語を個々のコードとして指定した場合、言語コードの各オカレンスは個別に処理されます。
例えば、ソースエラーメッセージに言語 1
、2
、および 3
が含まれている場合に言語コードを 123
に設定し、ターゲットエラーメッセージに言語 1
、4
、および 6
が含まれている場合に言語コードを同じように 123
に設定すると、コピー機能の実行後、生成されるターゲットエラーメッセージには、言語 1
、2
、3
、4
、および 6
が含まれます。ただし、英語のターゲットエラーメッセージ(言語 1
)のみは、ソースエラーメッセージの英語のテキストで上書きされます。
ソースエラーメッセージに 1 つの言語コードを指定し、ターゲットエラーメッセージに複数の言語コードを指定した場合、コピー機能の実行後、生成されるターゲットエラーメッセージは、ターゲットに指定した最初の言語になります。
このセクションでは、オンラインモードまたはバッチモードでダイレクトコマンドを使用して、エラーメッセージに SYSMAIN 機能を実行する場合に適用される構文について説明します。 ダイレクトコマンドの一般的な使用方法については、「コマンドの実行」を参照してください。
次の構文図で使用されているキーワードと変数値については、「ダイレクトコマンドのキーワードと変数」を参照してください。 構文図の記号は、システムコマンドで使用される構文記号に対応します。 これらの記号の詳細については、『システムコマンド』ドキュメントの「システムコマンド構文」を参照してください。
where-clause と with-clause の構文は、どのコマンドでも同じです。
重要:
システムエラーメッセージの場合は、lib-name として「NATURAL-SYSTEM
」または「NATURAL-SYS
」を指定します。
このセクションでは、次のトピックについて説明します。
ERROR |
|||||
number | [THRU number]
|
||||
FM [LIBRARY ] lib-name [where-clause]
|
|||||
TO [LIBRARY ] lib-name [where-clause] [with-clause]
|
COPY ERROR 1 FM ACCOUNTS TO ACCOUNTS1 REP WITH TYPE A
C ERROR 1 THRU 50 FM ACCT WHERE DBID 1 FNR 10 LANG 123456 TO ACCT WHERE DBID 5 FNR 26 LANG 234567 WITH REP HELP
MOVE E 200 THRU 210 FM ACCT FNR 10 LANG 123 TO ACCT LANG 123 TYPE S
M E 376 TYPE E FM ACCT LANG E TO ACCT LANG G
DELETE |
ERROR |
number | [THRU number]
|
||||
IN [LIBRARY ] lib-name
|
[where-clause] | [with-clause] |
DELETE ERROR 1 THRU 10 IN LIBRARY ACCT WHERE DBID 1 FNR 2 PSW GUESS CIPH 137561 WITH TYPE E MON HELP
D E 100 IN ACCT
FIND |
ERROR |
number | IN [LIBRARY ] lib-name
|
[where-clause] | [with-clause] |
FIND E 4280 IN A* MON
F ERROR 10 IN LIB ACCT WHERE DBID 1 FNR 3 WITH TYPE E
LIST |
ERROR |
number | [THRU number]
|
IN [LIBRARY ] lib-name
|
[where-clause] | [with-clause] |
LIST E 1 THRU 10 IN ACCT
L ERROR 100 THRU 150 IN LIB ACCT WHERE DBID 12 FNR 5
1 つの(ソース)ライブラリ内のエラーメッセージの範囲の番号を変更する場合、範囲の値が重複しないようにしてください(「無効な番号範囲の例」を参照)。
RENAME |
ERROR |
number | [THRU number] AS new-number
|
[THRU new-number] [with-clause]
|
|||
IN [LIBRARY ] lib-name [where-clause]
|
|||
TO [LIBRARY ] lib-name [where-clause]
|
RENAME ERR 1 AS 101 IN ACCT
R ERROR 1 THRU 100 AS 101 THRU 200 IN CLAIMS
R ERROR 101 THRU 200 AS 1 THRU 100 IN CLAIMS
RENAME ERROR 1 THRU 50 AS 11 THRU 60 WITH TYPE A REP HELP MON RCOP IN LIBRARY ACCT WHERE DBID 1 FNR 2 TO LIB ACCOUNT WHERE FNR 3
番号の範囲が重複しているため、次の例は無効です。
R ERROR 1 THRU 100 AS 51 THRU 150 IN CLAIMS
R ERROR 101 THRU 200 AS 51 THRU 150 IN CLAIMS
[WHERE ] [DBID dbid] [FNR fnr] [NAME vsam-name] [CIPHER cipher]
|
|||||||
|
password | [LANGUAGE language]
|
[SEC (dbid,fnr,password,cipher)]
|
SEC
キーワードに続く各値の間に、または値がない場合に、セパレータとしてコンマを使用する必要があります。 例えば、SEC (10,,secret,2a)
のように使用します。 セッションパラメータ ID
(『パラメータリファレンス』ドキュメントの「ID - INPUT 区切り文字」を参照)がコンマに設定されている場合、値を区切るセパレータとしてスラッシュ(/)を使用します。
[WITH ] [TYPE type] [REPLACE ] [RCOP ]
|
[HELP ]
|