テキスト | 編集マスクが長すぎるか、正しく指定されていません。 |
[説明] |
エラーの原因として考えられる理由は次のとおりです。 - 指定した編集マスクに、値を出力させる文字がありません。 (例えば、数値編集マスクに対して "Z" や "9" が指定されなかった。 英数字編集マスクに対して "X" が指定されなかった)。 - 数値編集マスクの出力桁数が 31 桁を超えています。 - 編集マスクストリングにより、出力文字数が、最大サイズの 1073741824 文字を超えています。 - 指定した編集マスクストリングが長すぎます。 最大ソース文字は、メインフレームで 80、オープンシステムで 244 です。 - DISPLAY、FORMAT、INPUT、WRITE ステートメントの ステートメントレベルで編集マスクが指定されています。 これらのステートメントレベルでは、 "EM=OFF" だけが指定可能で、特定の編集マスクは指定できません。 |
[対処] |
編集マスクの指定を修正してください。 |
テキスト | WRITE/INPUT ステートメントの項目が 1 行に入りきりません。 |
[説明] |
WRITE/INPUT ステートメントで指定された項目のサイズが 現在の行サイズを超えています。 |
[対処] |
- LS パラメータを大きくしてください。または - 項目のサイズを小さくしてください。 (例:REDEFINE ステートメントを使用)。 |
テキスト | 縦形出力の項目が多すぎて、ページがオーバーフローしました。 |
[説明] |
INPUT/WRITE/DISPLAY ステートメントで、 指定された縦型出力項目数が現在のページサイズを超えました。 |
[対処] |
- PS パラメータを大きくしてください。または - 縦に出力する項目数を少なくしてください。 |
テキスト | プリンタ番号の指定が正しくありません。 |
[説明] |
プリンタ番号は、数値定数、または DEFINE PRINTER で定義された記号定数を カッコで囲んで指定してください。 MAP(処理ルール)内の追加プリンタのサポートは存在しません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | テキスト文字列は複数行にまたがってはいけません。 |
[説明] |
テキスト文字列はアポストロフィで始め、 同一行内でアポストロフィで閉じなければなりません。 1 行より長いテキスト文字列が必要な場合には、 2 つのソースステートメント行に分けて 2 つの文字列として指定すれば、 実行時には 1 つの空白をはさんだ文字列になります。 |
[対処] |
プログラムの誤りを修正してください。 |
テキスト | DO または DOEND ステートメントがない、または位置が正しくありません。 |
[説明] |
ステートメントのグループが DO ステートメントで始まっている場合は、 DOEND ステートメントで終了する必要があります。 DOEND ステートメントの不足は、 ソースプログラムの最後に検出されます。 そのため、プログラム内でエラーが見つかった位置が 必ずしも DOEND がない位置だとは限りません。 |
[対処] |
それぞれの DO ステートメントに、対応する DOEND ステートメントがあることを確かめてください。 |
テキスト | 行 ... のループが、条件ブロック内で閉じていません。 |
[説明] |
条件ステートメントブロック内で開始される処理ループは 同ブロック内で閉じる必要があります。 例(正): 例(誤): -------------- ---------------- IF ... IF ... DO DO FIND ... FIND ... DISPLAY ... DISPLAY ... LOOP DOEND DOEND END END |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 存在しない処理ループを閉じようとしました。 |
[説明] |
LOOP ステートメントはアクティブな処理ループを 閉じるためだけに使われます。 - 閉じるべき処理ループが正しく開始されませんでした。または - 閉じるべき処理ループがすでに閉じられています。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | AT BREAK/END 条件の位置が正しくありません。 |
[説明] |
AT BREAK/END 条件は、他の特殊条件に依存する ステートメントブロック内では使用できません。 ブロックは次のとおりです。 AT BREAK AT END/TOP OF PAGE AT START/END OF DATA ON ERROR IF |
[対処] |
AT BREAK/END 条件の位置を変えてください。 |
テキスト | AT END OF/AT BREAK が指定されたが、アクティブな処理ループがありません。 |
[説明] |
AT BREAK/END 条件は、 アクティブな処理ループ内でのみ使用できます。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | ソース/オブジェクトプログラムのユーザー出口でエラーが発生しました。 |
[説明] |
ユーザーが制御しているファイルに ソース/オブジェクトプログラムを格納するために使われる ユーザー出口から 0 以外のレスポンスコードを受け取りました。 |
[対処] |
ユーザー出口のコーディングをチェックしてください (Natural に戻ったときのレジスタ 15 内のレスポンスコード)。 |
テキスト | AT START/END OF DATA、または AT BREAK での参照番号が不正です。 |
[説明] |
上記の条件ステートメントが特定の処理ループを参照するために 参照番号を使用しましたが、 参照番号の示す行には、 処理ループを開始するステートメントがありませんでした。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | ループ内に AT START OF DATA/BEFORE BREAK は 1 回しか指定できません。 |
[説明] |
1 つの処理ループ内には AT START OF DATA 条件は 1 回しか指定できません。 AT START OF DATA 条件で複数ステートメントを指定する場合は、 DO/DOEND 構造を使用してください(下記参照)。 例: READ ... AT START OF DATA DO IF ... DO ... DOEND IF ... DO ... DOEND DOEND DISPLAY LOOP END |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 1 つのプログラム内で ON ERROR 条件を複数指定しないでください。 |
[説明] |
1 つのプログラム内では ON ERROR 条件は 1 回しか指定できません。 ON ERROR 条件で複数の条件をチェックしたい場合は、 ON ERROR 条件内で IF ステートメントを使用してください。 例: -------- READ ... UPDATE ... ON ERROR IF ... END-IF IF ... END-IF END-ERROR END-READ END |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | "/n/" 節の使用に矛盾があります。 |
[説明] |
"/n/" 指定は、AT BREAK ステートメントまたは IF BREAK 条件の評価で 検査する変数の桁数を指定するために使用できます。 "/n/" 節は、フォーマットが英数字、バイナリ、数値、 またはパック 10 進数のブレイク変数にだけ指定できます。 "n" の値は、変数に定義した桁数(英数字やバイナリのブレイク変数の 場合はバイト数、数値またはパック 10 進数のブレイク変数の場合は桁数) より大きくてはいけません。 さらに、指定した値が、253 バイト(英数字フィールド)、 または 126 バイト(バイナリフィールド)を超えてはいけません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 指定された条件内でそのステートメントは許されません。 |
[説明] |
ある条件内にはステートメントの使用に制限があります。 指定したステートメントはこのタイプの条件内では使用できません。 例えば、外部サブルーチン内では DEFINE SUBROUTINE ステートメントと、 DEFINE DATA ステートメントのみが指定できます。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 1 つの項目(表示欄の幅)は 250 桁を超えてはいけません。 |
[説明] |
DISPLAY 欄で出力できる項目の最大長は 250 桁です。 |
[対処] |
- 項目を再定義して、複数部分に分けてください。または - 縦モードでフィールドを出力してください。 |
テキスト | EXAMINE TRANSLATE には "FULL VALUE" を指定しないでください。 |
[説明] |
EXAMINE ステートメントとは異なり、 EXAMINE TRANSLATE ステートメントには "FULL VALUE" を指定しないでください。 EXAMINE TRANSLATE ステートメントは 常にフィールドのすべての内容を処理します。 |
[対処] |
プログラムの誤りを修正してください。 |
テキスト | AVER、TOTAL、SUM の評価フィールドは数値でなければなりません。 |
[説明] |
Natural システム関数 AVER、TOTAL、および SUM の評価フィールドは、 数値フォーマットで定義されていなければなりません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 編集マスクを使用できるのは出力項目だけです。 |
[説明] |
INPUT ステートメントで、編集マスクを使用できるのは 出力項目(属性 = M または O)だけです。 入力項目(属性 = A)に編集マスクは使用できせん。 出力項目に 16 進数の編集マスクを使用するときは、 属性 M(= 変更)を使用できません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 変数のタイプは Natural システム関数として正しくありません。 |
[説明] |
1) Natural システム関数のフィールドとして Natural システム変数は使用できません。 システム変数を Natural システム関数で評価する場合は、 ユーザー定義変数にシステム変数の値を移し、 そのユーザー定義変数を評価フィールドとして使用してください。 2) Natural システム関数のフィールドとして パスワード/サイファ変数として使用したものを使用できません。 パスワード/サイファと同じ変数を使用する場合は、 ユーザー定義変数に値を割り当て、 それをシステム関数の評価フィールドとして使用します。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | ON ERROR ステートメントは条件ブロック内で使用できません。 |
[説明] |
ON ERROR ステートメントは、次のステートメントブロック内では 指定できません。 - AT START/END OF DATA - AT TOP/END OF PAGE - AT BREAK - BEFORE BREAK PROCESSING - IF - IF NO RECORDS FOUND - AT END OF FILE - DEFINE SUBROUTINE |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | ... 行目の DO ステートメントに対して DOEND がありません。 |
[説明] |
DO ステートメントでステートメントブロックを開始した場合、 DOEND ステートメントで終了する必要があります。 |
[対処] |
プログラムの誤りを修正してください。 |
テキスト | データディクショナリのフィールド名が正しくありません。 |
[説明] |
Natural データディクショナリ内のデータベースビュー定義で 同じフィールド名が 2 回使われました。 |
[対処] |
- Natural 管理者に連絡してください。または - LIST FILE コマンドを使ってビュー定義をチェックしてください。 |
テキスト | 数字編集マスクが値の正しい位置を指定しませんでした。 |
[説明] |
指定した数字編集マスクは、編集マスクが適用される値に 実際に存在するどの桁も含んでいません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | ソートフィールドが最大の個数/長さを超えました。 |
[説明] |
- ソートフィールドの合計長が 253 バイトを超えました。または - ソートするフィールドの数が 10 を超えました。 |
[対処] |
ソート条件のサイズを小さくしてください。 |
テキスト | PERFORM BREAK PROCESSING には AT BREAK が必要です。 |
[説明] |
PERFORM BREAK PROCESSING の後に、 AT BREAK 条件が指定されていません。 このエラーは、PERFORM BREAK PROCESSING ステートメントが IF 条件内にあり、PERFORM BREAK PROCESSING ステートメントと すぐ後の AT BREAK ステートメントとが DO DOEND ステートメントで明確に区切られていない場合にも発生します。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | AT END OF DATA ステートメントが同一ループ内で複数回指定されました。 |
[説明] |
AT END OF DATA ステートメントは 1 つの処理ループ内で 1 回しか指定できません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | LC および IC パラメータは、同時に使用できません。 |
[説明] |
LC および IC 文字は、 値に対してどちらか 1 つしか指定できません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 英数字の編集マスクに数値を指定できません。 |
[説明] |
このエラーは Natural データディクショナリに指定された 編集マスクの定義が正しくない場合にも起きます。 |
[対処] |
プログラムまたはデータディクショナリをチェックし、 編集マスクの指定を修正してください。 |
テキスト | SCAN のテキスト文字列がアポストロフィで囲まれていません。 |
[説明] |
SCAN オペレーションに使用されるテキスト文字列は アポストロフィで囲んで、1 ソースコード行内に指定する必要があります。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 検査するフィールドを変更する場合、そのフィールドは変数でなければいけません。 |
[説明] |
EXAMINE ステートメントでは、 検査するフィールドを変更する場合 (つまり、DELETE/REPLACE ステートメントを使用する場合)、 そのフィールドは定数ではいけません。 変換するフィールドは変数でなければならないので、 EXAMINE TRANSLATE ステートメントに定数が指定された場合にも このエラーが発生します。 |
[対処] |
プログラムの誤りを修正してください。 |
テキスト | 変換テーブルのフォーマット/長さは A2、B2、または U2 でなければいけません。 |
[説明] |
EXAMINE TRANSLATE ステートメントの USING 節に指定される 変換テーブルのフォーマット/長さは、 A2、B2、または U2 でなければなりません。 |
[対処] |
プログラムの誤りを修正してください。 |
テキスト | アクティブでない参照でデータベースフィールドが使用されました。 |
[説明] |
データベースフィールドの参照は アクティブな処理ループ内でのみ可能です。 処理ループが閉じられると、 そのループで有効なフィールドの参照はできなくなります。 |
[対処] |
データベースフィールドの参照が アクティブな処理ループ内で行われていることを確認してください。 |
テキスト | WRITE で使用するグループ名にはヘディング指定はできません。 |
[説明] |
グループ名が WRITE(または INPUT)ステートメントで使用された場合、 グループに対して特定のヘッダー文字を指定することはできません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | タブ指定が正しくない、またはすでに使用している桁にタブを指定しています。 |
[説明] |
タブ "nT" は行の前方の桁しか指定できません。 タブ記号は、新しい値をすでに使用されている場所に 重ねて位置付けてはいけません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 文字の繰り返し数が 250 を超えた、または正しくありません。 |
[説明] |
繰り返し機能は、 1 文字のテキストを指定された長さまで繰り返すものです。繰り返し数はカッコで囲んだ整数定数で指定します。 最大繰り返し数は 250 です。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | AT BREAK ステートメントはこのタイプの処理ループ内では指定できません。 |
[説明] |
AT BREAK ステートメントは、 FIND/READ/HISTOGRAM/SORT ステートメントで開始される 処理ループ内でのみ指定できます。 ユーザーが開始するブレイク処理は、 PERFORM BREAK PROCESSING ステートメントで実行できます。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 繰り返しに使用される文字列は、1 文字でなければいけません。 |
[説明] |
繰り返し機能を使って繰り返す文字列は、1 文字でなければいけません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | WRITE TITLE/TRAILER ステートメントは、条件内では使用できません。 |
[説明] |
WRITE TITLE または WRITE TRAILER ステートメントは、 次のステートメントブロック内で指定しないでください。 - IF - AT START/END OF DATA - AT TOP/END OF PAGE - AT BREAK - BEFORE BREAK PROCESSING - AT END OF FILE - ON ERROR - IF NO RECORDS FOUND - DEFINE SUBROUTINE |
[対処] |
WRITE TITLE/WRITE TRAILER を上記の ステートメントブロックの外に指定してください。 |
テキスト | データディクショナリの編集マスク定義にエラーがあります。 |
[説明] |
データディクショナリで定義されたデータベースフィールドに 対する編集マスク定義が正しくありません。 |
[対処] |
Natural 管理者に連絡してください。 一時的な解決方法は、 プログラムで編集マスクを定義することです。 |
テキスト | データ定義モジュール(DDM)... をロードできません。 |
[説明] |
要求されたファイルのデータ定義モジュール(DDM)を ロードできません。 内部 DDM ロードバッファが十分なサイズを確保できませんでした。 |
[対処] |
大きなスレッド/パーティション/リージョン/タスク環境内で Natural を起動してください。 |
テキスト | SORT ステートメントを条件内に指定しないでください。 |
[説明] |
SORT ステートメントは存在するすべての処理ループを終了させ、 全レコードを格納した後、新たに処理ループを開始します。 したがって、SORT ステートメントは、 次のステートメントブロック内では使用できません。 - AT START/END OF DATA - AT TOP/END OF PAGE - AT BREAK - BEFORE BREAK PROCESSING - AT END OF FILE - IF - IF NO RECORDS FOUND - ON ERROR - DEFINE SUBROUTINE |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | AT TOP/END OF PAGE ステートメントを条件内に指定しないでください。 |
[説明] |
AT TOP OF PAGE および AT END OF PAGE ステートメントは、 次のステートメントブロックの外でしか使用できません。 - AT START/END OF DATA - AT TOP/END OF PAGE - AT BREAK - BEFORE BREAK PROCESSING - AT END OF FILE - IF - IF NO RECORDS FOUND - ON ERROR - DEFINE SUBROUTINE |
[対処] |
AT TOP/END OF PAGE ステートメントは、 上記のステートメントブロックの外に指定してください。 |
テキスト | GLOBALS コマンドや SET GLOBALS ステートメントのパラメータ値が正しくありません。 |
[説明] |
SET GLOBALS ステートメント(または GLOBALS コマンド)に 指定されたパラメータ値が正しくありません。 このパラメータに対しては、 "ON" および "OFF"(または "T" および "F")だけを指定できます。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |
テキスト | 1 つの INPUT/WRITE/DISPLAY 内で指定された縦型項目が多すぎます。 |
[説明] |
1 つの INPUT/WRITE/DISPLAY ステートメントは 縦に最大 250 行出力できます。 "X/Y" 指定の X の値は 250 を超えてはいけません。 ヘッダー行数は 14 行を超えてはいけません。 |
[対処] |
プログラムをチェックして、エラーを修正してください。 |