バージョン 4.2.5
 —  ユーティリティ  —

エラーメッセージ処理

すべての SYSMAIN 機能をユーザー定義のエラーメッセージおよび Natural システムエラーメッセージに実行できます。 エラーメッセージは、1 つのライブラリから他のライブラリに移動できます。または、各エラーメッセージの言語テキストはコピー、移動、または置き換えが可能です。 また、名前の変更機能を使用して、1 つのエラーメッセージまたはエラーメッセージの範囲の番号を変更できます。

Natural Security がインストールされている場合は、権限を持つユーザーのみが Natural システムエラーメッセージを処理できます。

エラーメッセージは、タイプに応じてシステムファイルに格納されます。Natural システムエラーメッセージは FNAT システムファイルに格納され、ユーザー定義のエラーメッセージは FUSER または FNAT システムファイルに格納されます。

このセクションでは、プログラミングオブジェクトに SYSMAIN 機能を実行するためのメニュー機能と選択リストオプション、およびダイレクトコマンドの使用時に適用される構文について説明します。

関連トピック:

『SYSERR Utility』ドキュメント


エラーメッセージメニューのフィールド

[エラーメッセージテキスト]メニューには、エラーメッセージの処理に必要なすべての SYSMAIN 機能が含まれています。 次の表に、メニューで表示されるフィールドとその説明を示します。

フィールド 説明
Code
ショートまたは拡張(ロング)エラーメッセージ、あるいはその両方を処理するかどうかを指定します。 可能な値は次のとおりです。
   
A ショートまたは拡張(ロング)メッセージ、あるいはその両方が存在するすべてのエラーメッセージを処理します。
E 拡張(ロング)エラーメッセージが存在するすべてのエラーメッセージを処理します。 対応するショートエラーメッセージがある拡張エラーメッセージのみを処理します。

対応するショートエラーメッセージがターゲット環境にない場合、拡張エラーメッセージはターゲット環境に転送できません。

S ショートエラーメッセージが存在するすべてのエラーメッセージを処理します。
Sel. List
選択処理と自動処理のどちらを使用するかを指定します。
   
Y Yes。
選択処理がアクティブになります。 エラーメッセージの処理時に選択リストが表示されます。 これはデフォルト設定です。 選択リストに表示される列と行コマンドの詳細については、「エラーメッセージの選択リスト」を参照してください。
N No。
選択処理が非アクティブになります。
[No. From]または[Number] 処理するエラーメッセージの数、または終了番号を[No. To]フィールドに入力した場合は、番号の範囲の開始番号。 「エラーメッセージ番号の変更」も参照してください。
No. To 開始番号を[No. From]フィールドに入力した場合は、処理するエラーメッセージ番号の範囲の終了番号。 「エラーメッセージ番号の変更」も参照してください。
New From 名前の変更機能に適用されます。

既存のエラーメッセージに割り当てる新しい番号、または既存のエラーメッセージの範囲に割り当てる新しい番号の範囲の開始番号。 「エラーメッセージ番号の変更」も参照してください。

New To 名前の変更機能に適用されます。

既存のエラーメッセージの範囲に割り当てる新しいエラーメッセージ番号の範囲の終了番号。 「エラーメッセージ番号の変更」も参照してください。

Library ソースライブラリまたはターゲットライブラリの名前または名前の範囲。 Natural システムエラーメッセージを処理する場合は、[Library]フィールドを空のままにします。

ソースライブラリには、処理対象のエラーメッセージが含まれています。 ターゲットライブラリは、エラーメッセージのコピー先または移動先のライブラリです。エラーメッセージは、ここで番号が変更されることがあります。

ライブラリのリストと選択」も参照してください。

Lang. エラーメッセージを使用できる言語コード。

言語コードを任意に組み合わせて、言語を指定できます。 言語に割り当てられている言語コードについては、『システム変数』ドキュメントの「*LANGUAGE」で「言語コードの割り当て」を参照してください。 Natural システムの拡張(ロング)エラーメッセージでは、言語コード 1 のみを使用できます。 すべての既存の言語のエラーメッセージを選択するには、アスタリスク(*)を入力します。

言語の指定」も参照してください。

Database ソースデータベースまたはターゲットデータベースのデータベース ID(DBID)。

ソースデータベースは、処理対象のエラーメッセージが保存されているライブラリおよびシステムファイルを含みます。 ターゲットデータベースは、エラーメッセージのコピー先または移動先のライブラリおよびシステムファイルを含みます。エラーメッセージは、ここで番号が変更されることがあります。

有効なデータベース ID は 165535 です。

File ソースシステムファイルまたはターゲットシステムファイルのファイル番号(FNR)。

有効なファイル番号は 165535 です。

ソースファイルは、処理対象のエラーメッセージが保存されているライブラリを含みます。 ターゲットファイルは、エラーメッセージのコピー先または移動先のライブラリを含みます。エラーメッセージは、ここで番号が変更されることがあります。

Replace
移動、コピー、または名前変更機能の使用時にエラーメッセージを置き換えるかどうかを指定します。
   
Y Yes。
ターゲット環境に存在する番号と同じ番号を持つエラーメッセージを置き換えます。
N No。
ターゲット環境に存在する番号と同じ番号を持つエラーメッセージを置き換えません。 これはデフォルト設定です。
   
置換オプションの使用」も参照してください。

Top of page

エラーメッセージの選択リスト

選択処理をアクティブにした場合、指定した選択条件に一致するすべてのエラーメッセージの選択リストが[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 ターゲット環境に対応するショートメッセージが存在する場合、拡張(ロング)メッセージを処理します。

ショートメッセージとしてのみ存在するメッセージに E を指定した場合、エラーが返されます。

S すべてのショートメッセージを処理します。
L 処理する前にエラーメッセージを確認します。 ショートまたは拡張(ロング)エラーメッセージ、あるいはその両方は、以前に[Error Message Texts]メニューで指定した機能に応じて、すべての既存の言語について表示されます。

この行コマンドは、[Library Selection]画面でも使用できます(「ライブラリのリストと選択」も参照)。

Top of page

エラーメッセージ番号の変更

1 つのエラーメッセージの番号またはエラーメッセージの範囲の番号を変更できます。

Start of instruction set 1 つのエラーメッセージの番号を変更するには

  1. [No. From]フィールドに、変更するエラーメッセージの番号を入力し、[New From]フィールドに、新しいエラーメッセージ番号を入力します。

  2. [Source Library]フィールドに、番号を変更するエラーメッセージが含まれているライブラリの名前を入力します。

    番号を変更したエラーメッセージを異なるライブラリに配置する場合は、[Target Library]フィールドに名前を入力します。

Start of instruction set エラーメッセージの範囲の番号を変更するには

  1. [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 として変更することはできません。

  2. [Source Library]フィールドに、番号を変更するエラーメッセージが含まれているライブラリの名前を入力します。

    番号を変更したエラーメッセージを異なるライブラリに配置する場合は、[Target Library]フィールドに名前を入力します。

エラーメッセージのダイレクトコマンド構文」の「RENAME」の範囲指定の例も参照してください。

Top of page

言語の指定

言語を指定する場合は、次の点を考慮してください。

Top of page

エラーメッセージのダイレクトコマンド構文

このセクションでは、オンラインモードまたはバッチモードでダイレクトコマンドを使用して、エラーメッセージに SYSMAIN 機能を実行する場合に適用される構文について説明します。 ダイレクトコマンドの一般的な使用方法については、「コマンドの実行」を参照してください。

次の構文図で使用されているキーワードと変数値については、「ダイレクトコマンドのキーワードと変数」を参照してください。 構文図の記号は、システムコマンドで使用される構文記号に対応します。 これらの記号の詳細については、『システムコマンド』ドキュメントの「システムコマンド構文」を参照してください。

where-clausewith-clause の構文は、どのコマンドでも同じです。

重要:
システムエラーメッセージの場合は、lib-name として「NATURAL-SYSTEM」または「NATURAL-SYS」を指定します。

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

COPY と MOVE

COPY
MOVE

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

DELETE ERROR number [THRUnumber]    
     

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

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

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

RENAME

1 つの(ソース)ライブラリ内のエラーメッセージの範囲の番号を変更する場合、範囲の値が重複しないようにしてください(「無効な番号範囲の例」を参照)。

RENAME ERROR number [THRU number] ASnew-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-clause

[WHERE] [DBID dbid] [FNRfnr] [NAME vsam-name] [CIPHER cipher]

PASSWORD
PSW

password

[LANGUAGE language] [SEC (dbid,fnr,password,cipher)]

セパレータ

SEC キーワードに続く各値の間に、または値がない場合に、セパレータとしてコンマを使用する必要があります。 例えば、SEC (10,,secret,2a) のように使用します。 セッションパラメータ ID(『パラメータリファレンス』ドキュメントの「ID - INPUT 区切り文字」を参照)がコンマに設定されている場合、値を区切るセパレータとしてスラッシュ(/)を使用します。

with-clause

[WITH] [TYPE type] [REPLACE] [RCOP]

PROMPT
NOPROMPT

MON
NOMON

[HELP]

Top of page