![]() | はじめに | コード生成時のエラーメッセージ | ![]() |
次に挙げるメッセージは、コンパイラがユーザの COBOL プログラムの構文や整合性を確認するときに出力されるものです。 各メッセージの説明には、メッセージ本文の一覧、および必要に応じ、メッセージの原因となったエラーや問題とその回避方法が表示されています。 同じメッセージでも、指令の設定によって重大度が異なる可能性があるため、それぞれのメッセージの重大度については、この一覧に記載されていません。
構文チェック時のエラーメッセージは、次の形式で表示されます。
Line-of-COBOL-code nnnn-s code**** (mmmm)** message
変数の意味は次のとおりです。
nnnn | メッセージ番号です。 | ||||||||||
mmmm | 上記の番号のエラーが発生したページです。 | ||||||||||
s | 次のコードうちの 1 つが入り、エラーの重大度を示します。
|
WARNING 指令を使用し、E、W、および I レベルのエラーメッセージを表示しないようにすることができます。
コンパイラの終了時には、カテゴリごとの合計エラー数も出力されます。
一部のレベルのエラーは、無視して作業を継続することができます。エラーメッセージに対し、ユーザは次のように対応できます。
エラーメッセージには、可変の情報が含まれている場合があります。 可変の情報は、次のように斜体字で表示されます。
User-name data-name not unique
このメッセージの data-name には、一意ではない項目名が表示されます。
プログラムに、COBOL システムでは認識できないエラーが含まれています。
対処方法
エラーの原因を調査するためにソースコードのコピーを Micro Focus アンサーラインにお送りください。
ソースコードで定数を形成する文字の順序が、定数名の構成に関する規則に準拠していません。 定数には、数値型および文字型があります。
数字定数の場合は、最大長が 18 桁です。ただし符号文字および小数点は 1 つしか使用できません。
文字定数は、コンピュータの文字セットに含まれる任意の文字で作成することができます。手続き部で最大 160 字、データ部で最大 2048 字までの長さが可能です。 文字定数は、引用符で囲む必要があります。
また、定数に表意定数を使用した場合には、それが使用可能な予約語 (ZERO など) であり、またスペルに誤りがないように確認します。 表意定数および数字定数の場合は、引用符で囲みません。
文のコンテキストに適合しない字類の定数を使用している可能性もあります。
この他に、プログラムで表意定数 ALL を使用している場合は、プログラムが ALL 表意定数の使用に関する規則に違反して作成されている可能性もあります。 ALL の後には、数字定数ではなく、文字定数が続きます。
対処方法
これらの規則に従うように、プログラムを修正します。
プログラムに、COBOL の言語セットにはない文字が含まれています。
対処方法
無効な文字を有効な文字に置き換えます。
ソースコードの複数のデータ項目または手続き名に対し、同じ利用者語を修飾しないで使用しています。
対処方法
重複しているデータ項目または手続き名を変更するか、修飾して、参照の一意性が保たれるようにします。
指定の領域である 7 桁めに無効な文字が含まれてます。
対処方法
有効な文字は *、D、-、/、または空白です。
COPY 文とともに指定された filename ファイルが見つかりません。
対処方法
ファイル名を変更するか、目的のファイルを現在の COBOL システムで使用できるようにします。
参照
『Server Express ユーザガイド』の『コンパイラの使用』。
COBOL の構文規則で定められている位置にピリオドがありません。
対処方法
適切な位置にピリオドを入れます。
領域 B で開始する必要がある語が領域 A で開始している、または領域 A で開始する必要がある語が領域 B で開始しています。
利用者語が必要な位置に予約語が使用されている、または予約語が必要な位置に予約語が使用されていません。
対処方法
予約語の部分を利用者語に変更するか、必要な位置に予約語を挿入します。
宣言していないデータ名を使用しようとしているか、データ名のスペルに誤りがありました。
対処方法
このエラーは、宣言されていないデータ項目の直後には表示されない場合があります。これは、COBOL システムが、ソースコードの処理を続行して、データ項目が修飾されているかどうかを確認するためです。エラーになった項目を見つけるには、ソースコードを逆方向にチェックして、最新の項目を探します。
データ項目が宣言されていることを確認します。
プログラムの所定の場所に、利用者名を指定していません。
対処方法
COBOL の構文規則に準拠していること、および適切な種類の名前 (たとえば、システム名や条件名など) であることを確認の上、利用者名を挿入します。
ユーザが指定した作用対象 (オペランド) に何らかの誤りがあるため、COBOL システムにより処理されません。たとえば、正の整数しか使用できない場所で負の整数を指定している場合などが考えられます。
対処方法
この構文に使用できる作用対象 (オペランド) を確認します。
プログラムの手続き部が、最大サイズを超えています。
対処方法
サイズの小さい独立したプログラムが互いに呼び出し合うように、プログラムの設計を修正します。
プログラムのデータ部が、最大サイズを超えています。
対処方法
サイズの小さいデータ部と、独立したプログラムの集合になるように、プログラムの設計を修正します。
COBOL システムによって呼び出された統合プリプロセッサが、初期化を実行している間にエラーを検出し、処理を続行できなくなりました。
対処方法
プリプロセッサによって詳細情報が表示されたら、問題を修正しコマンドを再実行します。
BASIS 機構を実装している文の中に行番号の順序に誤りがあるものがあります。たとえば、文 DELETE 100-60 は正しくありません (BASIS では、数字順にする必要があります)。
対処方法
順序の誤りを修正します。
このコンテキストでは数値型の定数を指定します。
対処方法
指定の数字定数を構文の規則に準拠するようにします。
データ名、手続き名、原文名などを修飾して参照しようとしましたが、修飾語が多すぎました。
対処方法
参照を修正し、許容されている数より多くの修飾語を使用しないようにします。
これらの語句を含む原始プログラムの行では、他の語句を入れることはできません。
対処方法
プログラムを修正し、これらの語句のみの行にします。
このコンテキストでは、文字定数を指定する必要があります。
対処方法
指定の定数を文字定数の規則に準拠するようにします。
修飾したデータ名、手続き名、原文名の指定に誤りがありました。
対処方法
修飾した参照を修正します。
このコンテキストでは、データ名、手続き名、原文名を修飾することはできません。
対処方法
参照を非修飾型の参照に直します。
ユーザが指定した定数の値の長さが、定数の最大長を超えています。
対処方法
数字定数の場合は、最大 18 桁までの長さにできます。 文字定数の場合は、手続き部で最大 160 字、データ部で最大 2048 字までの長さにできます。
プログラムで指定した定数の値が、これらの最大長を超えないようにします。
宣言した数値が大きすぎます。
対処方法 :
各タイプのデータ項目の最大サイズの情報について詳しくは、『プログラマーズガイド - アプリケーション作成』の『システムと開発環境による制限』の章を参照してください。
指定のデータ形式に対して宣言したデータ項目が長すぎます。
対処方法
各タイプのデータ項目の最大サイズの情報について詳しくは、『プログラマーズガイド - アプリケーション作成』の『システムと開発環境による制限』の章を参照してください。
指定した作用対象 (オペランド) のデータ項目に誤りがあります。たとえば、データ名を指定すべき個所に、FD 名や条件名を指定している可能性があります。
対処方法
エラーになった項目がデータ名であることを確認し、そのデータ名を宣言します。
MOVE CORRESPONDIN 文の送り出しまたは受け取りフィールドとして、基本項目を指定しました。
対処方法
送り出しフィールドと受け取りフィールドの両方を集団項目にします。
基本項目を使用すべきコンテキストで、集団データ項目の名前を指定しました。
対処方法
参照を変更して、基本項目の参照にします。
本来は使用できない場所に、添字付けデータまたは指標付けデータが指定されています。
対処方法
参照を変更して、単体の (つまり添字付けや指標付けされていない) データ項目の参照となるようにします。
手続き名 (つまり段落または節名) を指定する必要があるコンテキストに、データ名を指定した可能性があります。
対処方法
正しい手続き名を指定します。
数値を指定する必要があるコンテキストに、数値以外の値を指定しています。
対処方法
数値を指定します。
整数値を指定する必要があるコンテキストに、整数以外の値を指定しています。
対処方法
整数値を指定します。
英数字を指定する必要があるコンテキストに、英数字以外の値を指定しています。
対処方法
英数字を指定します。
データ項目に必要な USAGE DISPLAY がありません。
対処方法
データ項目の USAGE を DISPLAY に変更します。
1 回しか指定できない場所で、段落または句を複数回指定しています。
対処方法
重複している段落または句を削除します。
段落に 255 を超える COPY...REPLACING 文があります。
対処方法
プログラムを修正し、COPY...REPLACING 文が 255 より少なくなるようにします。
指定のファイル名が、COBOL のファイル名に関する規則に違反しているか、FILE-CONTROL 段落で宣言されていません。このエラーは、有効なファイル名のスペルを誤って入力したことが原因である場合があります。
対処方法
ファイル名を修正します (または、必要に応じて FILE-CONTROL 段落にファイル記述項を追加します)。
ここで指定する数値は、0 以外の数値でなければなりません。
対処方法
0 以外の数値を指定します。
ここでは、定数値または表意定数を指定する必要があります。
対処方法
指定の値を定数または表意定数に修正します。
ここでは、定数値を指定する必要があります。
対処方法
指定した値を定数値に変更します。
この文の作用対象 (オペランド) の長さが正しくありません (たとえば、プロンプト文字が 1 文字多いなど)。
対処方法
各タイプのデータ項目の最大サイズについては『言語リファレンス』を参照してください。
ここには、大小順序の利用者語を指定する必要があります。
対処方法
特殊名段落で定義したアルファベットの名前を指定します。
ここには、数字定数または表意定数 ZERO を指定する必要があります。
対処方法
数字定数または ZERO を指定します。
算術式の左右のかっこの数が一致しません。
対処方法
算術式の形式をチェックし、右かっこと左かっこが対になるようにします。
USAGE INDEX がある項目を使用できないコンテキストで、USAGE INDEX がある項目を使用しています。
対処方法
項目の USAGE を変更するか、USAGE INDEX がない項目を使用します。
参照
問題の項目を使用できる場所については、『言語リファレンス』を参照してください。
USAGE POINTER があるデータ項目の操作手順が正しくありませんでした。または、作業場所節か連絡節の 01 または 77 レベル以外の項目に ADDRESS OF 句を適用しようとしました。
対処方法
ポインタ項目の実行可能な操作については『言語リファレンス』を参照してください。
このコンテキストでは数値型の定数を指定します。 有効な手続き名のスペルを誤って入力した可能性があります。
対処方法
参照を修正します。
SEQUENTIAL 構成のファイルのみに許可されている操作を実行しました (たとえば CLOSE REEL/UNIT など)。
対処方法
ファイル構成を SEQUENTIAL に変更します。
プログラムの誤った場所で COBOL システムの指令を指定しているか、$SET 文に無効な COBOL システムの指令を指定しています。
対処方法
たとえば、$SET LIST はどこででも指定できますが、$SET PREPROCESS は第 1 行目にしか指定できません。
参照
『Server Express ユーザガイド』の『コンパイラの使用』の章の『指令の設定』の項。
各コンパイラ指令の詳細については、『Server Express ユーザガイド』の『コンパイラへの指令』の章を参照してください。
特殊名段落の字類名が定義されていないか、COBOL 字類名のスペルに誤りがあります。
対処方法
特殊名段落の条件名を定義するか、COBOL 字類名を使用します。
指標名を、その指標名の属する OCCURS 句の数字より大きい値に設定しようとして、SET index-name TO literal 文が使用されました。
次のうちのどれかが起りました。
対処方法
プログラムを修正し、すでに COPY を開始しているファイルのコピーが完了してから、同じファイルの COPY を実行します。
スペルの誤りを修正します。
このコンテキストでは、報告集団を使用する必要があります。報告集団名のスペルを誤って入力した可能性があります。
対処方法
参照を修正します。
GENERATE 文に有効な報告書名も報告集団もありません。報告書名または報告集団のスペルに誤りがある可能性があります。
対処方法
報告書名または報告集団の参照を修正します。
指定の報告書名には、次のすべてが含まれる必要があります。
対処方法
関連するトピックをクリックし、GENERATE 文で報告書名を使用する際に必要なコンテンツについて参照します。
TYPE DETAIL ではない報告集団を指定しました。
対処方法
プログラムを修正し、TYPE DETAIL の報告集団を指定します。
REPLACE または COPY REPLACING 文に、2 文字の仮原文区切り文字がありません。
対処方法
プログラムの適切な場所に、仮原文区切り文字 (==) を挿入します。
文字列置換がすでに実行されているときに、文字列置換を指定することはできません。
プログラムに、入れ子プログラムでは無効な文または句が含まれています。
対処方法
入れ子プログラムの有効な構成について『言語リファレンス』を参照してください。
ファイルを EXTERNAL と定義する場合は、関連する PADDING CHARACTER 句で指定のデータ項目も EXTERNAL と定義する必要があります。
符号なし整数が必要ですが、指定されていません。
対処方法
符号なし整数を指定します。
OCCURS ... DEPENDING ON (ODO) テーブルエントリにある項目が、このテーブルの添字、または集団内の別の ODO テーブルの添字として先に使用されています。このような指定はできません。
対処方法
項目を ODO の外に転記してから、目的の文で使用します。
プログラムが必要とする連絡節の項目の数が、デフォルトの制限を超えています。
対処方法
LINKCOUNT 指令を使用して制限を引き上げます。
ユーザのプログラムの $SET 文で、無効な引数を持った COBOL システムの指令が指定されたか、組込み関数に正しくない引数が指定されました。
対処方法
引数を修正します。
参照
『Server Express ユーザガイド』の『コンパイラの使用』の章の『指令の設定』の項。
各コンパイラの指令については、『Server Express ユーザガイド』の『コンパイラへの指令』の項を参照してください。
PROCEDURE DIVISION 見出しがありません。動詞がない状態で開始しました。
FUNCTION という単語の後に指定された名前は、関数名として認識されていません。データ名に function という単語を使用した可能性があります。FUNCTION は予約語です。
対処方法
組込み関数が必要な場合は、正しい名前を使用します。 データ名に「function」という語を使用する場合は、指令 REMOVE"FUNCTION" を指定してプログラムを再実行し、予約語リストから単語、FUNCTION を削除します。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『REMOVE コンパイラ指令』。
パラメータの必要な組込み関数を指定しましたが、パラメータリストの前に左かっこがありません。
対処方法
組込み関数の形式を確認し、右かっこと左かっこが対になるようにします。
組込み関数に文字の引数が指定されましたが、ここは数値引数でなければなりません。
対処方法
引数を数値にします。
組込み関数に数値引数が指定されましたが、ここは英数字の引数でなければなりません。
対処方法
引数を英数字にします。
組込み関数に対して指定した引数群のタイプが、目的の関数に必要なタイプと異なります。
対処方法
コードを修正し、引数の組合せのタイプに関する規則に準拠するようにします。
プログラムソースが EXEC 文で終わっています。このエラーは、エラーの前のプログラムに END-EXEC が欠落している可能性を示します。
対処方法
各 EXEC が END-EXEC と対になるようにします。
数値が使用できない場所に、数値を返す組込み関数を指定しました。
対処方法
組込み関数を非数値のものにします。
指定の引数の長さが 1 ではありません。
対処方法
引数を変更し、長さを 1 と指定します。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『LOCALCOUNT コンパイラ指令』。
ソースの COBOL 部または節の見出しの順番が正しくありません。たとえば、すでに読み取ったSCREEN SECTION の後にLINKAGE SECTIONがあります。
必要な場所に予約語 word がありません。
構文、CALL BY VALUE SIZE を無効なサイズ、 size で使用しています。
対処方法
有効な正の整数を使用してプログラムし直します。
メッセージ数が、MAXERROR 指令で指定された限度に達しました。
指定の利用者語は一意ではありませんが、現在の 01 レベルの項目で修飾されています。
指定した名前は COBOL の予約語ではありません。
対処方法
名前を正しいものに変更します。
大文字を使用する必要がある場所に、小文字が使用されています。
ソースコードの 1 つまたは複数の番号の順番が間違っています。
対処方法
すべての一連番号が、正しい順番になっているかどうか確認します。
単語、RECORD がありません。
対処方法
単語、RECORD を追加します。
PROGRAM-ID 段落に単語、PROGRAM-ID がありません。
対処方法
PROGRAM-ID 段落に単語、PROGRAM-ID を追加します。
PROGRAM-ID 段落に、無効なプログラム名を指定しました。
対処方法
プログラム名の形式を修正します。
FILE STATUS 句の後に複数の識別子を使用することはできません。
段落の順番を誤って指定しているか、同じ段落を 2 度指定しているか、SPECIAL-NAMES 句の順番が標準に従っていません。
対処方法
重複しているものを削除します。
単語、ENVIRONMENT がありません。
対処方法
単語、ENVIRONMENT を追加します。
単語、CONFIGURATION がありません。
対処方法
単語、CONFIGURATION を追加します。
単語、SOURCE-COMPUTER がありません。
対処方法
単語、SOURCE-COMPUTER を追加します。
特殊名段落が正しく指定されていません。
対処方法
特殊名段落の形式を修正します。
単語、OBJECT-COMPUTER がありません。
対処方法
単語、OBJECT-COMPUTER を追加します。
OBJECT-COMPUTER 段落が正しく指定されていません。
対処方法
OBJECT-COMPUTER 段落の形式を修正します。
ALPHABET 句で、少なくとも 1 つ以上の文字が 2 度指定されています。たとえば、一度使用した文字を再度定数として指定している可能性があります。
対処方法
ALPHABET 句で指定した文字を繰り返し参照しないよう、ソースコードを修正します。
プログラムの環境部、特殊名段落の SWITCH 句のコードにエラーがあります。
対処方法
プログラムを修正します。問題の句の中のすべての条件名を、データ部で宣言します。
DECIMAL-POINT 句に単語、COMMA がありません。
対処方法
単語、COMMA を追加します。
COBOL システムが予約語、CRT の使用を規定している場所で、COBOL 語または利用者語を使用しています。
対処方法
コードを編集し、予約語、CRT を使用します。
プログラムの 特殊名段落、CURRENCY SIGN IS 句で指定した定数が、COBOL 構文の規則で定められたもののなかに含まれていません。また、COBOL 構文の規則に違反していない場合には、定数が引用符で囲まれていません。 定数は必ず 1 文字とします (1 桁ではありません )。定数には、A、B、C、D、L、P、S、V、X、Z、*、+、-、,、.、;、(、)、"、/、=、space は使用できません (ただし例外的に ANS85 では L を使用できます )。
対処方法
定数を使用可能な文字に変更し、引用符で囲んでください。
ファイル名が、定数のファイル名として指定されているのではなく、データ項目に含まれている場合以外は、ファイル記述項の ASSIGN 句に DYNAMIC または EXTERNAL を指定することはできません。
対処方法
データ項目にファイル名を入れてプログラムの設計を修正します。
符号系または句の定義には、2 バイト文字は使用できません。
対処方法
符号系や句の定義に 2 バイト文字を使用しないよう、プログラムの設計を修正します。
先頭に I-O-CONTROL がありません。
対処方法
先頭に I-O-CONTROL を追加します。
先頭に INPUT-OUTPUT がありません。
対処方法
先頭に INPUT-OUTPUT を追加します。
先頭に FILE-CONTROL がありません。
対処方法
先頭に FILE-CONTROL を追加します。
ファイルにプログラムが認識しているファイル名をつけるため SELECT 句が使用されましたが、対応する ASSIGN 句を使用してファイルに作成者語 (システムが認識する名前) をつけていません。
対処方法
SELECT 句の後に必要な ASSIGN 句を挿入します。
FILE-CONTROL 段落の ORGANIZATION IS 句で、ファイルの論理構造が指定されていません。
対処方法
ORGANIZATION IS 句に、[LINE] SEQUENTIAL、INDEXED、RELATIVE のうちの 1 つを挿入します。どれを挿入するかは、レコードの保存方法やファイルへのアクセス方法によって異なります。
この句の形式は、データファイルの構成によって異なります。 ファイルの ORGANIZATION 句を INDEXED と RELATIVE のどちらかに指定した場合は、ファイルへのアクセスにどちらのモードを使用するかを示す ACCESS MODE 句を指定する必要があります。 モードが指定されない場合は、順アクセスモードが適用されます。
対処方法
ACCESS MODE 句の使用方法については『言語リファレンス』を参照してください。
1 つの索引ファイルのレコードキーおよび副キーフィールドを構成する個別のデータ項目の数が多すぎます。
対処方法
プログラムを簡単なものに作り変え、ファイルに必要なキーの数またはキーの構成要素の数を減らします。
プログラムでこれらの句を指定する場合は、互いの句が適合する必要がありますが、ユーザのプログラムでは適合していません。
対処方法
これらの句が適合するようにします。
COBOL システムでは、SELECT 句の一部を承認できませんでした。 SELECT 句で指定したファイル名が COBOL ファイルの命名規則に違反している可能性があります。
対処方法
詳細については、『言語リファレンス』を参照してください。
1 つの SET 文の中で、「条件名 to TRUE/FALSE」句が繰り返し指定されています。 これは、ユーザが指定した、フラグが立っている方言に準拠していません。
対処方法
2 つの SET 文に分けます。
この選択句は、2 つ以上のファイルを同じ中央記憶領域にアクセスさせるために使用されましたが、関連する構文規則に準拠していません。
対処方法
句の形式を修正します。
先頭に FILE SECTION がありません。
対処方法
先頭に FILE SECTION を追加します。
先頭に DATA DIVISION がありません。
対処方法
先頭に DATA DIVISION を追加します。
プログラムに次の COBOL 句のどれかが 1 つまたは複数含まれています。
PROGRAM COLLATING SEQUENCE IS
ALPHABET IS
CURRENCY SIGN IS
DECIMAL-POINT IS COMMA
National Language Support (NLS) 指令を有効にしたプログラムを実行しましたが、これは違反です。
対処方法
NLS 指令をオフにするか、ソースコードを修正して上記のすべての句をプログラムから除去します。
コードの OBJECT-COMPUTER 段落に PROGRAM COLLATING SEQUENCE 句が含まれていますが、特殊名段落に関連する ALPHABET-NAME がありません。PROGRAM COLLATING SEQUENCE 句のあるプログラムには、ALPHABET-NAME 句が必要です。
対処方法
必要な ALPHABET-NAME 句を挿入します。また必ず、SEQUENCE エントリで使用されているものと同じ利用者名を付けます。コードに両方の句を挿入しても同じメッセージが表示される場合は、両方の句に同じ利用者名が、スペルに誤りなく使用されていることを確認します。コードにスペルの誤りがある場合は、すべて修正します。
環境部 FILE-CONTROL 段落の LOCK MODE 句に単語、EXCLUSIVE、AUTOMATIC、MANUAL のどれかが含まれていません。また、これらの語のうち 1 つが含まれている場合には、スペルに誤りがあるために COBOL システムがこれらの語を認識できないものと思われます。LOCK MODE 句は、マルチユーザ環境で複数のユーザが共有するファイルへのアクセスを制御します。この句の形式は、使用するファイルのタイプによって決定します。
対処方法
LOCK MODE 句を修正します。
LOCK MODE 句の形式は、ファイルの種類により異なります。ユーザは、指定ファイルの型と適合しない LOCK MODE 句を指定しました。共有ファイルはロックモード、AUTOMATIC または MANUAL が可能ですが、共有ファイル以外のファイルにはロックモードを EXCLUSIVE とする必要があります。
対処方法
LOCK MODE 句を修正します。
索引順ファイル記述項では、KEY 句の直後に必ず PASSWORD 句を使用する必要があります。
対処方法
プログラムを修正し、KEY 句の直後に PASSWORD 句を入れます。
1 つのファイルを複数の SAME AREA 句または SAME RECORD AREA 句に使うことはできません。
対処方法
プログラムを修正します。
指定の句は、入れ子プログラム以外では使用できません。たとえば、COMMON 句などがこれに相当します (ANSI の定義による)。
対処方法
プログラムを修正します。
指定の段落の見出しは見出し部の段落として規則違反です。少なくとも選択された COBOL 方言にはありません。
対処方法
プログラムを修正するか、別の COBOL 方言を選択します。
OCCURS で定義されたレコードの一部に OCCURS DEPENDING ON を含むレコードがあります。
対処方法
ODOSLIDE 指令を設定します。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『ODOSLIDE コンパイラ指令』。
SET 条件名 TO ... 構文が、ユーザが選択した、フラグを立てる方言に含まれていません。
条件名を FALSE に設定しようとしましたが、これはユーザが選択した、フラグを立てる方言に含まれていません。
構文 RECORD VARYING IN SIZE DEPENDING ON signed-data-item を使用しようとしましたが、これはユーザが選択した、フラグを立てる方言に違反しています。
対処方法
符号の付かないデータ項目を使い、コードを作り直します。
特殊名段落の function-name IS mnemonic-name 句の後に、状態条件が指定されていません。これはユーザが選択した、フラグを立てる方言に違反しています。
対処方法
少なくとも 1 つの状態条件を指定します。
EXEC SQL 文がありますが、SQL 指令が指定されていません。この文の処理は、指令 SQL が設定されているかどうかによって異なりますので、SQL または NOSQL を明示的に指定することが必要です。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『SQL コンパイラ指令』。
別の COPY にネストされた COPY REPLACING 文が検出されました。
STRING の識別子の 1 つが基本の数字データ項目の場合には、シンボル、P を使わずに整数で PICTURE 句に記述する必要があります。
プログラムに USE 文が 20 より多く含まれています。プログラムで使用できる USE 文は、最大 20 までです。
VALUE 句の FROM または TO の添字の数が正しくありません。
対処方法
各レベルの OCCURS に対し 1 つの添字を使用してデータを宣言するよう、プログラムを修正します。
添字の値が、対応する OCCURS 句で指定された最大数を超えています。
対処方法
プログラムを修正します。
TO の添字によって指定されたテーブル要素が、FROM の添字によって指定されたものの前にあります。
対処方法
プログラムを修正します。
VALUE 文が複雑すぎるため、コンパイラが処理できません。
Micro Focusアンサーラインにご連絡ください。
指定の値の一部が宣言されているテーブルに含まれていません。
対処方法
プログラムを修正します。
ユーザが選択したフラグを立てる方言では、01 以外のレベルで CALL パラメータを集団にすることはできません。
対処方法
パラメータが基本項目または 01 レベルの集団となるよう、プログラムを修正します。
ユーザが選択したフラグを立てる方言では、Z 定数はサポートされていません。
対処方法
プログラムを修正します。
ユーザが選択した、フラグが立っている方言では、サポートされていません。
対処方法
プログラムを修正します。
ユーザが選択した、フラグが立っている方言では、データ項目定義の OCCURS 句の句の順番を逆にできません。
対処方法
プログラムを修正します。
ユーザが選択した、フラグが立っている方言では、サポートされていません。
対処方法
プログラムを修正します。
基本項目を含む集団にすでに含まれているため、LINE 句を基本項目に入れることはできません。
段落に文がありません。
ファイルのアクセスモードと構成が固定されているため、SD ファイル制御項に ACCESS または ORGANIZATION 句を入れることはできません。
対処方法
エラーとなった句を削除します。
テーブル項目の定義で、許可されている数以上の OCCURS 句を指定しました。
対処方法
余分な OCCURS 句を削除します。
報告書の定義で CODE 句が指定されました。指定のファイルに対し複数の報告書を定義している場合は、すべての報告書に対して CODE 句を指定するか、どの報告書に対しても CODE 句を指定しないかの、どちらかにする必要があります。
対処方法
定義済みの他の報告書に CODE 句を追加するか、問題のファイルの報告書定義に CODE 句をまったく指定しないでください。
REDEFINES 句には、この句が再定義している項目と同じレベル番号が必要です。
対処方法
エラーとなったレベル番号を修正します。
プログラムの環境部で SELECT 文を使用してファイルが宣言されましたが、これに関連するデータ部の FD 記述項で定義がなされていないか、スペルミスのために FD 記述項で使用されているファイル名が他のファイル名になってしまっている可能性があります。 ファイル名が一致していないと、必要なスペースは生成されていても、ファイルに関連するレコードは存在しないことになります。
対処方法
FD 記述項で追加または修正します。
指定のデータ項目のレベル番号は 01 または 77 でなければなりません。
対処方法
項目のレベル番号を 01 または 77 に変更します。
これらのソースコードの記述項は指定ファイルの構造を記述するもので、FD、CD または SD の後にファイル名とファイルのレコードの記述を続けるという形式を取ります。 ファイル名は、プログラムの FILE-CONTROL 段落で定義されたファイルの名前でなければなりません。
対処方法
構文の形式を修正します。
データ部の関連する Section 見出しに単語、WORKING-STORAGE がありません。単語、WORKING-STORAGE がある場合は、スペルミスか、コードの単語の位置に誤りがあるために COBOL システムがその単語を認識していない可能性があります。
対処方法
エラーを修正します。
プログラムに PROCEDURE DIVISION 見出しがありません。または、プログラムに PROCEDURE DIVISION 見出しがあっても、COBOL システムでは認識されませんでした。 見出しがある場合は、スペルミス、またはコードの見出しを誤った場所に指定したことが原因でエラーが発生した可能性があります。
また、COBOL システムに認識されないプログラムの文が、手続き部に入っている可能性もあります。 この場合は、予約語のスペルミスが原因である可能性があります。
対処方法
データ部の最終エントリの直後に見出しを挿入します。
スペルの誤りを修正します。
データ項目の記述にある修飾語 (JUST や COMP など) のスペルに誤りがあります。
または、PICTURE 句の末尾に必要なピリオドが入っていません。
対処方法
使用可能な修飾語のリストについては、『言語リファレンス』の『COBOL 言語の概念』の章を参照してください。 コードの修飾語のスペルを確認します。
ピリオドを追加します。
コードに、正しくない型の修飾語で修飾された PICTURE 句があります。 たとえば、データ項目を PIC XX USAGE COMP と定義することはできません。これは、英数字の PICTURE 句が英数字であるのに、修飾語が数字であるためです。
対処方法
コードを修正して、PICTURE 句と修飾語の型が同一になるようにします。
BLANK WHEN ZERO 句は、数字項目 (PICTURE 句に 9 を含む) または数字編集項目 (通常、データ項目をわかりやすい形式で表示するために特殊な文字を加えて編集したデータ項目) であるデータ項目のデータ記述項の一部として使用する場合に限り、使用することができます。 この句を、ソースコードの文字データ項目、または P、S、V のどれかを含む数字編集データ項目とともに使用しています。
対処方法
この句を削除するか、データ項目を数字項目または数字編集項目になるよう定義し直すか、P、S、V の文字を削除します。
データ部の PICTURE 句で定義されている PICTURE 文字列が、COBOL システムで許容される限界を超えています。
対処方法
数字データ項目の最大の長さは 18 字まで、数字編集項目の最大の長さは 512 字まで、英数字の最大の長さは 256 Mb です。
VALUE 句で指定されている値が、データ項目に対して大きすぎるか、小数位の桁数が多すぎます。 たとえば、PIC 99 VALUE 123 のような宣言では、123 は受け取りフィールドに対して大きすぎるため、切り捨てずに使用することはできません。
対処方法
コードを変更し、指定の値を受け取れるようにデータ項目を大きくします。
プログラムの VALUE 句のコードに誤りがある可能性があります。 たとえば、非数値、VALUE 句に数値データ項目を使用している、などです。 または、データ項目の再定義に関連して VALUE 句を誤った位置で使用している、などがあります。
対処方法
VALUE 句の使用に関する規則については、『言語リファレンス』を参照してください。
これらの句は、データ部のデータ記述項で使用できますが、必ず基本項目とともに使用する必要があります。 基本項目は、上位のデータ項目に細分されることがない、レコードの中で最も基本的な区画です。 基本項目以外の項目 (つまり、上位のデータを含む項目) とともに、これらの句のうちのどれかを使用しています。
対処方法
プログラムを修正し、これらの句とともに使用するのは基本項目のみにします。
データ項目が定義されましたが、サイズが指定されていません。このエラーが発生したのは、データ項目と関連する PICTURE 句を使用しなかったためか、集団項目の場合は関連する基本項目を定義していないためです。 次の例について説明します。
01 my-data-item.
01 prog-data-item pic x.
エラーがあるのは my-data-item ですが、このエラーは、エラーのあるデータ項目と同レベルの項目が次に出るまで、検出されません。このため上の例では、prog-data-item の後にこのエラーメッセージが出ます。
対処方法
目的のレベル階層に必要な PICTURE 句または基本項目を追加します。
算術式で無効な演算子を指定しました。
対処方法
式を修正します。
データ記述項で指定したレベル番号が無効です。
対処方法
レベル番号を修正します。
指定した定数値は、関連するデータ項目の PICTURE 句と適合しません。
対処方法
定数値を修正して、データ項目と適合するようにします。
指定したデータ記述修飾語と、関連する PICTURE 句が適合しません。 たとえば、BLANK WHEN ZERO 句を PIC XX データ項目に使用している、などです。 この場合は、データ項目は英数字ですが、修飾語は数値項目のみを参照するため、無効になります。
また、1 つのデータ項目に関連する PICTURE 句を 1つのみにする必要があるときに、1 つのデータ項目の定義に複数の PICTURE 句を使用した場合もエラーになります。
対処方法
修飾語またはデータ形式を修正し、互いに適合するようにします。
1 つのデータ項目に複数の PICTURE 句を使用しないよう、余分な句を削除します。
REDEFINES 句で使用しているデータ名が、宣言されていません。
対処方法
データ記述項でデータが宣言され、REDEFINES 句が対象のデータ名の直後に置かれているかどうか確認します。
データ記述項で無効な USAGE 修飾語が指定されました。
対処方法
USAGE 修飾語を修正します。
この選択句は句に文字、S を含む数値記述項以外では指定できません。キーワード SIGN の後には、必ず LEADING または TRAILING を挿入します。どちらを挿入するかは、演算記号をどこに置くかによって決まります。
対処方法
該当するどちらかの語を追加します。
データ集団項目のレベル番号の構造に誤りがあります。
対処方法
レベル番号の階層を確認し、修正します。
OCCURS 句では、可変長集団項目を宣言することはできません。
対処方法
集団項目を固定長にします。
BLANK 句の後には、ZERO、ZEROS、ZEROES のどれかが必要です。
対処方法
ZERO の位置に別の語があればそれを削除し、句にスペルミスがないようにします。
集団項目に指定の値は、定義されている長さを超えています。
対処方法
集団項目の長さまたは値を定義し直します。
データ項目の記述で指定した修飾語が互いに矛盾します。
対処方法
データ記述で使用する修飾語の規則については、『言語リファレンス』の『COBOL
言語の概念』の章を参照してください。 データ記述を修正します。
COBOL システムに認識されない文字を PICTURE 句で使用しています。または、 PICTURE 句で使用している文字が特定のタイプの PICTURE 文字列に対して無効です。
対処方法
使用可能な文字の一覧は、『言語リファレンス』の『プログラムの定義』の章にあります。 エラーになった PICTURE 句を変更します。
編集データ項目または数字編集データ項目 (たとえば、先頭のゼロを削除する、通貨記号を挿入するなどして、読みやすくした数字データ項目) のために定義した PICTURE 文字列が、COBOL システムで許容される最大値を超えています。
文字列は 32 のスロットからなり、それぞれのスロットに 16 字が含まれます。 同じ文字が 2 つ連続していない場合は、次のように、新しいスロットが各文字に割り当てられ、問題なく機能します。
X(32)B(480)
ただし、以下の例は機能しません。
XBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBX
対処方法
文字列の形式を変更し、文字のグループが 32 以下となり、各グループには 16 字までの連続した編集文字が含まれるようにします。
データ名として予約語を使用しているか、データの記述に無効な修飾語を使用しています。 これは有効な修飾語のスペルミスである可能性があります。
対処方法
データの記述を修正します。
DEPENDING 句を指定せずに、可変長テーブルを定義しました。DEPENDING 句は、COBOL システムが実行時に実際のテーブルサイズを判断するために必要です。
対処方法
DEPENDING 句を指定します。
指定の INITIAL 句を使用できるのは、通信節の 1 つの CD 記述項のみです。
対処方法
CD 記述項から、1 つを残し、残りの INITIAL 句を削除します。
レベル 66 データ項目の定義に単語、RENAMES がありません。
対処方法
単語、RENAMES を追加します。
プログラムに構文 data-name-1 RENAMES data-name-2 THRU data-name-3 が含まれていますが、data-name-2 に指定のデータ項目は、data-name-3 のデータ項目の後に宣言されています。THRU 句の data-name-2 は data-name-3 より前に宣言される必要がありますので、これは無効な COBOL 構文です。
対処方法
指定の THRU 句を使用していることを確認します。
01 レベル項目ではない報告書記述項で NEXT または TYPE 句、または報告書ファイル記述項の GLOBAL または EXTERNAL 句を使用しています。
対処方法
ソースコードを修正し、NEXT、TYPE、GLOBAL、または EXTERNAL を使用した場所に、01 レベル項目を適用します。
この構文は、作業場所節以外では使用できません。
対処方法
ソースコードを修正し、作業場所節以外でこの構文を使用しないようにします。
この構文は、作業場所節またはファイル節以外では使用できません。
対処方法
ソースコードを修正し、作業場所節またはファイル節のみでこの構文を使用するようにします。
集団項目に VALUE 句を指定する場合は、VALUE 句の値は文字定数または表意定数でなければなりません。
対処方法
VALUE 句の値を修正します。
FILE-CONTROL 段落で名前を付けたすべてのファイルに対し、FD 記述項を作成していません。
対処方法
FILE-CONTROL 段落の SELECT 句で名前を付けたすべてのファイルに FD 記述項があることを確認します。
OCCURS 句の DEPENDING 句で名前を付けたデータ項目が宣言されていません。
対処方法
該当するデータ項目の宣言を追加します。
索引順ファイルのファイル記述で、RECORD KEY 句が指定されていません。
対処方法
RECORD KEY 句をファイル記述に追加します。
指標付きデータ項目が明示的に宣言されました。 この項目は INDEX 句でも暗黙的に宣言されています。このため、ユーザは同じ項目を 2 度宣言したことになります。
対処方法
指標付きデータ項目の明示的宣言を削除します。
索引順ファイルキーとして使用されるデータ項目の長さが、最大長を超えています。
対処方法
最大長を超えないようにキーの長さを修正します。
参照
『ファイル操作』マニュアルの『ファイル処理制限』の章を参照してください。
索引順ファイルに定義した 2 つの副キーが重複しています。 副キーは、互いに識別できる、個別のものである必要があります。
対処方法
重複しないよう副キーを定義し直すか、これらのキーを分割キーとして定義します (分割キーは重複して使用することが可能です)。
ファイル制御項の FILE STATUS 句で指定のデータ項目が宣言されていないか、宣言に誤りがあります。
対処方法
FILE STATUS データ項目の定義を追加または修正します。
特殊名段落の CURSOR IS 句で指定のデータ項目が宣言されていないか、宣言に誤りがあります。
対処方法
『言語リファレンス』の『プログラムの定義』の章を参照し、カーソルデータ項目の正しい形式について確認します。
CURSOR IS 句のデータ項目の宣言を追加または修正します。
ファイル記述項の PASSWORD 句で指定のデータ項目が宣言されていないか、宣言に誤りがあります。
対処方法
PASSWORD 句のデータ項目の宣言を追加または修正します。
ファイル記述項の LABEL RECORD または DATA RECORD 句で指定のレコード項目が宣言されていないか、宣言に誤りがあります。
対処方法
LABEL RECORD または DATA RECORD 句のレコード項目の宣言を追加、または修正します。
ファイル部、FD 記述項の VALUE OF 句で名前を付けた 1 つまたは複数のデータ項目が宣言されてないか、宣言に誤りがあります。
対処方法
VALUE OF 句の 1 つまたは複数のデータ項目の宣言を追加または修正します。
ユーザが宣言したデータ項目の名前が、特殊レジスタの 1 つと重複しています。特殊レジスタは、COBOL システムによって自動的に宣言されるデータ項目です。
対処方法
エラーとなったデータ項目の名前を修正します。
ユーザが宣言したファイルレコードの長さが 0 です。 原因として、レコード定義のすべての基本項目の記述に誤りがあることが考えられます。
対処方法
レコード記述を修正します。
OCCURS 句の KEY 句で指定のデータ項目が宣言されていないか、このデータ項目が 2 度宣言されています。
対処方法
データ項目の宣言を行うか、余分な宣言を削除します。
SELECT ... ASSIGN 句で ASSIGN データ名を指定しましたが、これは単体ではありません。つまり、ASSIGN データ定義に OCCURS 句が含まれています。
対処方法
ソースコードを修正し、ASSIGN データ項目に OCCURS 句が含まれないようにします。
定義された報告書名が一意ではないか、利用者語の規則に違反しています。 または RD 記述項の句の指定に誤りがあります。
対処方法
規則に準拠するようにプログラムを修正します。
PAGE LIMIT 句で指定の値が一貫していません。たとえば LAST DETAIL 句の整数が FIRST DETAIL 句の整数より小さい場合があります。
対処方法
『言語リファレンス - 追加トピック』の『報告書作成』の章を参照し、PAGE LIMIT 句の規則を確認します。 規則に準拠するようにプログラムを修正します。
データ部の報告書節の外部で報告書の構文を指定しようとしました。
対処方法
『言語リファレンス - 追加トピック』の『報告書作成』の章を参照し、報告書節の構文の規則を確認します。 エラーとなった構文を削除するか、報告書節に移動させます。
TYPE CH または TYPE CF 句のデータ名は、関連する RD 記述項の CONTROL 句に必要です。 データ名のスペルに誤りがある可能性があります。
対処方法
TYPE CF/CH および CONTROL の両方の句に正しいデータ名があることを確認します。
関連する RD 記述項で PAGE 句を指定しない状態で TYPE PH または TYPE PF 句を指定したか、LINE NUMBER 句に絶対行番号を指定しました。
対処方法
PAGE 句を RD 記述項に追加します。
TYPE 句の 1 つを重複して指定しました (たとえば、TYPE PF 句を 2 つ指定するなど)。1 つの RD 記述項には、各タイプ 1 つの句しか指定できません。
対処方法
重複する TYPE 句を削除します。
すべての修飾語を使用できない、または特定の修飾語を使用できない文で修飾語を使用しました。
対処方法
データ記述で使用できる修飾語については、『言語リファレンス』の『COBOL
言語の概念』の章を参照してください。 プログラムを修正します。
報告書節のレベル 01 エントリには、TYPE 句が必要です。
対処方法
TYPE 句を追加します。
このメッセージが出た場合は、次の 3 種類の原因が考えられます。
対処方法
原因に応じてそれぞれ、次の作業を実行します。
複数の FD で同じ報告書名を指定しています。
対処方法
重複している報告書名を削除します。
複数の RD で同じ CONTROL フィールド値を指定しています。
対処方法
重複する CONTROL フィールド値を削除します
GROUP INDICATE 句の指定は、DETAIL 報告書集団以外ではできません。
対処方法
GROUP INDICATE 句を削除します。
SUM 句の指定は、制御脚書き報告集団以外では使用できません。
対処方法
SUM 句を削除します。
集団項目に、基本項目にしか使用できない修飾語が指定されました。 ユーザは、この項目を基本項目とみなしたものと考えられますが、PICTURE 句がありません。
対処方法
『言語リファレンス』の『プログラムの定義』の章を参照し、正しい構文を確認します。
エラーとなった句を削除するか、PICTURE 句を挿入します。
GROUP INDICATE 句が指定されましたが、同じ報告集団の記述に COLUMN 句がありません。
対処方法
COLUMN 修飾語を挿入します。
TYPE RF または PH の集団に NEXT GROUP が指定されました。
対処方法
NEXT GROUP 句を削除します。
TYPE PF の集団に NEXT GROUP または NEXT PAGE を指定しました。
対処方法
問題の句を削除します。
LINE NEXT PAGE 句は、TYPE CH、CF、DE の集団以外には指定できません。
対処方法
LINE NEXT PAGE 句を削除します。
合計をリセットする制御集団は、合計と同じか、それより下位のレベルである必要があります。
対処方法
『言語リファレンス - 追加トピック』の『報告書作成』の章を参照し、合計のリセットに関する規則を確認します。 規則に準拠するようにコードを修正します。
指定した構文では、最大長を超える報告書行を作成しようとしています。
対処方法
報告書行が定められた最大長を超えないようにします。
DBCS は 2 バイト文字セットです。
対処方法
『言語リファレンス - 追加トピック』の『2 バイト文字支援機能の Micro Focus 拡張』の章を参照し、DBCS の使用規則を確認します。 規則に準拠するようにコードを修正します。
DBCS は 2 バイト文字セットです。
対処方法
『言語リファレンス - 追加トピック』の『報告書作成』の章を参照し、DBCS の使用規則を確認します。 規則に準拠するようにコードを修正します。
プログラムの SAME RECORD AREA 句にファイルを指定しましたが、このファイルは FD 記述項で EXTERNAL として指定されています。
対処方法
プログラムの SAME RECORD AREA 句からエラーとなった EXTERNAL ファイルを削除します。
指定の構文は報告書節では使用できません。
対処方法
報告書節から構文を削除します。
英数字のキー項目が必要な索引キー句に、英数字ではないキー項目を指定しました。
対処方法
英数字のキー項目を指定します。
ファイル節または連絡節に VALUE 句を指定しましたが、ここに VALUE 句を指定することはできません。
対処方法
VALUE 句を削除します。ただし、削除しなくてもプログラムへの影響はありません。
単語、FILLER がありません。
対処方法
単語、FILLER を追加します。
先頭に LABEL RECORDS がありません。
対処方法
LABEL RECORDS 句を追加します。
プログラムの手続き部で、COBOL システムが有効な動詞として認識できない動詞を使用したか、COBOL 動詞のスペルに誤りがあります。
対処方法
COBOL 言語で使用できる動詞を確認し、スペルに誤りがないようにします。
必要な動詞がご使用のシステムの標準 COBOL 言語でサポートされていない場合は、動詞の使用を可能にする指令を設定します。
プログラム手続き部の IF 文のコードに誤りがあります。 IF 文の前半と後半が一致しません。
または、範囲区切り文字の 1 つ (END-ADD など) を使用する構成子のコードに誤りがあります。 範囲区切り文字の数と区切られる文の数が一致しません。
対処方法
ELSE 句の数が IF 句の数を超えないようにします。
ソースコードを修正します。
データ形式の誤ったデータ項目が指定されている文があります。 たとえば、WRITE 文でレコード名ではなくファイル名を使用している場合があります。
対処方法
エラーになった項目を修正します。
プログラムの手続き部の複数の節、または節の複数の段落のタイトルが重複しています。
対処方法
エラーになった節または段落の名前を変更または修飾して、参照の一意性を確保します。
プログラムの手続き部の段落の名前が、データ部で宣言されたデータ項目と重複しています。
対処方法
段落または関連するデータ項目の名前を変更し、参照の一意性を確保します。
プログラムで同一の入口点名が複数回使用されています (入口点名と Program-ID が同じである可能性があります)。
対処方法
エラーになった入口名を変更するか修飾します。
互いに矛盾するデータ項目を操作しようとしました。
対処方法
データ項目を同じ形式にそろえます。
命令文が必要な手続き部で、条件文 (条件の真の値を指定し、実行時に真偽を判断させる文) を使用しました。
対処方法
条件文を動詞で始まる命令文に置き換え、その後に実行時に無条件で実行される操作を指定します。
1 つの一次元テーブル項目に 2 つの添字が指定された可能性があります。
対処方法
1 つの一次元テーブル項目に複数の添字を指定しないよう、コードを修正します。
ACCEPT または DISPLAY 文で無効な構文を使用したか、通信の構文を含むコードに誤りがあります。 このメッセージの原因として、最も可能性の高いのは、コードのスペルの誤りです。
対処方法
スペルの誤りを修正します。
参照
『言語リファレンス』の『ALTER
および ACCEPT 文の制限』。
I/O 動詞 (READ や WRITE など) の後のコードが COBOL の構文規則に違反しています。
対処方法
規則に準拠するようにコードを修正します。
手続き部で使用された算術文が COBOL の構文規則に準拠していません。 これらの文では先頭に算術動詞 (SUBTRACT や DIVIDE など) を置き、続けてプログラム実行時に動詞が処理する数字定数または識別子を置く必要があります。 ユーザが指定した文は、無効です。
対処方法
使用した算術文が該当する規則に準拠するようにします。
手続き部で使用された算術式が無効です。
対処方法
『言語リファレンス』を参照し、複雑な算術タスクに関する
COBOL 構文の詳細を確認します。
ファイル操作または SEARCH 文のキー値のサイズに誤りがあります。
対処方法
キーの定義を確認し、キー値を修正します。
プログラムの手続き部で指定した条件式が、COBOL の構文規則に準拠していません。 これらの式 (たとえば IF の直後に続く文) は、後続する 2 つの文のどちらかを、実行時に真である動詞に応じて実行します。
対処方法
『言語リファレンス』の『手続き部』の章を参照し、使用した文のコードについて確認します。 規則に準拠するようにコードを修正します。
PERFORM 文の後には AFTER 句を 7 つまで続けることができます。 コードは、この制限を越えています。
対処方法
PERFORM 文の AFTER 句が 7 つを超えないようにコードを修正します。
手続き部のコードに誤りがあります。 たとえば、節の見出しの 1 つを入れ忘れている可能性があります。
対処方法
手続き部で論理的な順番が守られていて、部のすべての節に見出しが付いていることを確認します。
この文で名前を付けられたファイルには、順アクセスモードを適用する必要があります。 ファイルのアクセスモードは SELECT 文により決定されます。つまり、ファイル構成によって暗示されるか、ACCESS MODE 句によって指定されます。
対処方法
ファイルのアクセスモードを順アクセスモードに修正します。
目的の操作のためには、ここに指標名が必要です。
対処方法
指定の名前が指標名となるようにソースコードを修正します。
プログラム手続き部の 1 つの文の作用対象 (オペランド) の数が多すぎるか、手続き部に長すぎる作用対象が含まれています。
対処方法
作用対象の数を減らすか、長すぎる作用対象を短くします。
1 つのテーブルに複数の INDEXED BY 句が使用されています。 これはユーザが選択した、フラグが付けられている方言に違反しています。
プログラム手続き部の宣言節以外の手続きで COBOL システムが生成したデータ項目 DEBUG-ITEM を参照しました。 DEBUG-ITEM の参照は、宣言節以外ではできません。
対処方法
DEBUG-ITEM の参照を削除するか、DEBUG-ITEM を宣言節に転記します。
同じファイルを持つ複数の USE 手続きが関連付けられましたが、複数の関連付けはできません。
対処方法
余分な USE 参照を削除します。
同じファイルオープンモードを持つ複数の USE 手続きが関連付けられましたが、複数の関連付けはできません。
対処方法
余分な USE 参照を削除します。
宣言で指定した USE FOR DEBUGGING 手続きの組合せが無効です。
対処方法
『言語リファレンス - 追加トピック』の『デバッグ機能単位』の章を参照し、デバック手続きについて確認します。 宣言を修正します。
暗示的または明示的転記を含む操作の受け取りフィールドとして、定数値が指定されました。 受け取りフィールドはデータ項目でなければなりません。
対処方法
定数値をデータ項目に変えます。
MOVE 文の送り出しまたは受け取りフィールドとして、指標データ項目に名前を付けましたが、これは許可されません。
対処方法
エラーになった値を非指標データ項目に転記し、それを MOVE 文のデータ項目に使用します。
SEARCH 文が指定されましたが、WHEN 句がありません。SEARCH 文には、1 つ以上の WHEN 句が必要です。
対処方法
SEARCH 文に WHEN 句を追加します。
ファイル節の FD 記述項での定義に従い、このコンテキストのファイルレコードの名前を指定します。 有効なレコード名のスペルを誤って入力している可能性があります。
対処方法
目的のファイルレコードへの参照となるよう、参照を修正します。
プログラムに 1 つまたは複数の入れ子プログラムが含まれています。
対処方法
コンパイル時に NESTCALL 指令を指定します。
内 PERFORM 文には AFTER 句を指定できません。
対処方法
AFTER 句を削除します。
ALTER 文で名前を付けた段落は、ALTER 文を実行できない段落です。 このような段落は、DEPENDING 句を使わず 1 つの GO TO 文のみを含む 1 つの文で構成する必要があります。
対処方法
ALTER 文の参照を修正して ALTER を実行できる段落を参照するようにするか、段落の名前を修正して ALTER を実行できるようにします。
参照
『言語リファレンス』の『ALTER
および ACCEPT 文の制限』。
WHEN OTHER 句を指定する場合は、この句が EVALUATE 文の最終句でなければなりません。
対処方法
WHEN 句が WHEN OTHER 句より前にあることを確認します。
EVALUATE 文の選択の 1 つと、対応する選択対象の型が違います。
対処方法
EVALUATE 文を修正します。
可変長項目を INITIALIZE することはできません。
対処方法
INITIALIZE 文から項目名を削除します。
INITIALIZE 文の REPLACING 句で同じデータ字類を反復しています。
対処方法
INITIALIZE 文から余分な字類を削除します。
参照した報告書に対応する FD 記述項が報告書節にありません。 報告書項の指定を行っていないか、報告書名のスペルを誤って入力している可能性があります。
対処方法
報告書名を修正するか、必要な報告書定義を報告書節に追加します。
指定の操作は、順アクセスモードでアクセスされるファイル上では実行できません。
指定の操作は、乱呼び出しモードでアクセスされるファイル上では実行できません。
指定した操作は、行順ファイル上では実行できません。
LINAGE 句で定義されたファイルに対し違法な操作(WRITE AFTER CO1 など)が行われました。
対処方法
違法な操作を削除するか、LINAGE 句を使わずにファイルを再定義します。
指定のデータ項目は、レベル 01 またはレベル 77 ではありません。COBOL システムでは、レベル 01 またはレベル 77 のどちらかのデータ項目でなければならないと定められています。
対処方法
レベル 01 またはレベル 77 となるようデータ項目を再定義します。
手続き部見出しの USING 句で、同じデータ項目名が 2 度指定されました。 USING 句では、名前を重複して指定することはできません。
対処方法
余分な参照を削除します。
ALL オプションを使い SEARCH 文で 2 つの WHEN 句が指定されました。 このコンテキストでは、複数の WHEN 句を指定することはできません。
対処方法
余分な WHEN 句を削除します。
MERGE 文の USING 句に、ファイル名が指定されていないか、1つしか指定されていません。
対処方法
MERGE 文の USING 句では、ファイル名を 2 つ以上指定します。
存在しない段落または節を参照しました。 有効な手続き名のスペルに誤りがある可能性があります。
対処方法
参照した手続きが存在しているか、手続き名を正確なスペルで入力したかを確認してください。
READ 文に LOCK 句が指定されていません。
対処方法
READ 文の中に LOCK 句を挿入します。
レコードをロックする必要がないファイルの READ 文に NO LOCK 句を使用しています。
対処方法
NO LOCK 句を削除します。
(コードの FILE-CONTROL 段落で) EXCLUSIVE ロックですでにロック済みのファイルに対し、READ 文で LOCK 句を指定しました。
対処方法
ユニットを実行しているファイルが EXCLUSIVE ロックによってすでにロック済みの場合は、そのファイルでレコードをロックすることはできません。 2 つの LOCK エントリに互換性があることを確認するには、関連する READ 文の LOCK エントリを削除するか、FILE-CONTROL 段落の LOCK MODE IS エントリを変更します。
このメッセージは、マルチユーザの構文のみに適用されます。 複数のレコードロックをサポートしないファイルにアクセスする READ 文に対して WITH KEPT LOCK 句を指定しました。
対処方法
ファイルタイプを変更するか、WITH KEPT LOCK 句を削除して、2 つのエントリ間の互換性を確保してください。
演算子、= および NOT = は、ポインタデータ項目を含む比較にのみ使用できます。
対処方法
比較を訂正します。
FD 記述項では報告書とされているファイルに対してファイル操作 (READ、WRITE、REWRITE) の実行を試みました。
対処方法
入出力文を削除します。
表示フィールドしか含まれていない ACCEPT 文に、画面の名前を指定しました。
対処方法
適切な画面に名前をつけてあるか確認してください。
COBOL 構文では、この場所にコンマが必要です。
対処方法
欠落しているコンマを追加します。
ACCEPT/DISPLAY 文のデータ項目の次元数と、対応する Screen Section 項目の次元数が異なっています。
または、Screen Section 項目の次元数が、USING 句または TO 句中の対応するデータ項目の次元数と異なっています。
対処方法
2 つの項目の次元数を一致させます。
参照
『言語リファレンス』の『ALTER
および ACCEPT 文の制限』。
ファイルのアクセスモードが DYNAMIC である場合にしか実行できない操作を、ファイルに対して指定しました。
対処方法
ファイルのアクセスモードが DYNAMIC になるように、ファイル制御項を変更します。
COMP サブセット命令にコンパイルできない文が、プログラムの中に含まれています。
CODE-SET 句で指定した data-name が、ファイルのレコードに属していません。
対処方法
CODE-SET 句中の data-name がファイルのレコードを参照するように、ソースコードを編集します。
複数のレコードに属しているデータ名を CODE-SET 句で指定しました。 この句で指定するすべての data-name は、ファイルの 1 レコードに属する必要があります。
対処方法
ソースコードを編集し、CODE-SET の 1 つまたは複数の data-name を削除し、すべての data-name が 1 レコードだけに属するようにします。
CODE-SET 句で指定された 1 つまたは複数のデータ名が、再定義されました。レコードに含まれる個々のデータ名ではなく、CODE-SET 句のレコード全体を指定した可能性があります。
対処方法
ソースコードを編集して、レコードの data-name が 1 度だけ指定されるようにします。
集団では OCCURS DEPENDING ON 項目を最後の項目にする必要があります。
対処方法
データ項目を再構成し、OCCURS DEPENDING ON 項目が集団で最後の項目になるようにします。
部分参照項目や、OCCURS ... DEPENDING ON 句が含まれる集団は、このコンテキストでは使用できません。
対処方法
部分参照項目を置き換えるか、OCCURS DEPENDING ON 句で有効な項目を指定します。
作用対象 (オペランド) の記述の中に INDEXED BY 句が含まれていないために、SEARCH 文を指定できません。
対処方法
作用対象の記述の中に INDEXED BY 句を入れてください。
指定されたアクセスモードの文に対して指定された例外が適切ではありません。 たとえば、乱呼び出しに AT END を指定したり、順アクセスに INVALID KEY を指定する場合が挙げられます。
LINAGE 句に対して定義されたファイルでは、OPEN EXTEND を使用できません。
この条件で使用可能な作用対象 (オペランド) は、表のみです。
対処方法
作用対象が表になるようにコードを修正します。
プログラムのデータサイズが、最大許容サイズを超えています。
対処方法
取り込まれるデータが減少するように、プログラムの設計を変更します。
SORT ファイルの指定が正しくありません。
対処方法
構文を訂正します。
PICTURE 文字列の長さは、最長で 18 桁です。
対処方法
PICTURE 文字列を 18 桁以下に変更します。
浮動小数点項目の指定が正しくありません。
対処方法
このコンテキストでは、浮動小数点項目を使用しません。
PERFORM 文に入れることができる AFTER 句の数は 7 つまでです。
対処方法
余分な AFTER 句を削除します。
単語、ALSO が省略されています。
対処方法
単語、ALSO を追加します。
NEXT SENTENCE は、IF 文の分岐、または SEARCH 文の WHEN 分岐だけに使用します。
対処方法
これらの規則に従うように、コードを修正します。
参照
『言語リファレンス』の『ALTER
および ACCEPT 文の制限』。
プログラム中の AFTER 句が最大限の 2 つを超えています。
対処方法
余分な AFTER 句を削除します。
プログラムで指標データ項目を、添字として使用しています。
参照
『プログラマーズガイド - アプリケーション作成』の『システムと開発環境による制限』の章の『コンパイラによる制限』の項を参照してください。
参照
『プログラマーズガイド - アプリケーション作成』の『システムと開発環境による制限』の章の『コンパイラによる制限』の項を参照してください。
参照
『プログラマーズガイド - アプリケーション作成』の『システムと開発環境による制限』の章の『コンパイラによる制限』の項を参照してください。
参照
『プログラマーズガイド - アプリケーション作成』の『システムと開発環境による制限』の章の『コンパイラによる制限』の項を参照してください。
Siemens BS2000 SORT 文では、KEY-YY を使用できます。 このコンパイラは、構文を受け入れましたが、結果が無効になる可能性があります。
DISPLAY ALL 表意定数 の構文が使用されていますが、この構文はユーザが選択した、フラグの立っている方言に準拠しません。
DISPLAY ALL 定数 の構文が使用されていますが、この構文はユーザが選択した、フラグの立っている方言に準拠しません。
プログラムの data-name の直後に REDEFINES 句が続いていません。
対処方法
data-name の直後に REDEFINES 句が続くように、プログラムを修正します。
FILE STATUS 中に英数字以外のデータ項目が指定されています。
対処方法
データ項目が英数字になるように、コードを修正します。
少なくとも CHANGED か NAMED の一方が省略されています。
対処方法
CHANGED と NAMED の両方または一方をプログラムに追加します。
プログラムに、THAN と TO という不要な語が含まれています。
対処方法
これらの語を削除します。
EOP を指定しましたが、この EOP は LINAGE がないファイルに対しては無効です。
対処方法
EOP を削除します。
索引ファイルキーとして指定したデータ項目が、英数字ではありません。
対処方法
データ項目が英数字になるように、コードを修正します。
使用した構文は、ANSI'85 ではサポートされていません。
対処方法
この構文を削除します。
相対キーに PICTURE 記号の P が含まれています。
対処方法
P を削除します。
この言語要素は ANSI'85 規格に準拠していますが、フラグの立っている選択されたレベルを超えています。
この言語要素は ANSI'85 規格に準拠していません。 OS/VS COBOL、VS COBOL II、Micro Focus、またはその他の拡張機能になっています。
ANSI'85 規格では、この言語要素を旧式として定義しています。この言語要素は、次の ANSI 規格から除外される予定です。
対処方法
この構文を削除します。
ソースファイルの中に複数の原始プログラムがあります。 ここでは、入れ子になっていない複数の原始プログラムが存在します。
GIVING 句に、複数のファイルを含む SORT 文または MERGE 文があります。
NOT 句を宣言しましたが、対応する動詞を宣言していません。
対処方法
適切な動詞を追加します。
ELSE 句を宣言しましたが、対応する IF の宣言が正しくありません。
対処方法
条件動詞の間の不整合を解決します。
WHEN 句を宣言しましたが、対応する動詞を宣言していません。
対処方法
該当する動詞を追加します。
範囲区切りを宣言しましたが、対応する動詞の宣言が正しくありません。
対処方法
条件動詞の間の不整合を解決します。
USAGE DISPLAY-1 という単語が省略されています。
対処方法
USAGE DISPLAY-1 を追加します。
領域 B には、DBCS 項目に対する SO/SI 文字を挿入するための空き領域が十分にありません。 SO/SI 文字を必須とする環境に原始プログラムを移植すると、原始行が破損する可能性があります。
PICTURE 句は宣言してありますが、USAGE という集団がこの形式に一致しません。
対処方法
USAGE 句を削除するか、PICTURE 句を変更します。
命令文を指定していません。
対処方法
命令文を入力します。
レコード定義で最小サイズを指定しましたが、定義したレコードの中に最小サイズのものはありません。
対処方法
指定される最小サイズが、最小のデータレコードと等しくなるように、コードを修正します。
レコード定義で最大サイズを指定しましたが、定義したレコードの中に最大サイズのものはありません。
対処方法
指定される最大サイズが、最大のデータレコードと等しくなるように、コードを修正します。
COPY ... REPLACING と REPLACE で仮原文区切り文字が使用されています。この仮原文区切り文字の前には空白、後ろにはセパレータが必要です。 システムでは、空白とセパレータのどちらかがあるとみなしています。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『QUOTE コンパイラ指令』。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『CONSTANT コンパイラ指令』。
参照
『言語リファレンス』の『ALTER および ACCEPT 文の制限』。
転記元の項目と転記先の項目が重複する場合は、転記は不正確な結果になります。
$END または $ELSE 条件付きコンパイル文が見つかりましたが、その前に $IF がありません。 その行は無視されます。
レベル 88 の項目を FALSE に設定することを試みましたが、その項目のデータ記述の中に WHEN SET TO FALSE 句が指定されていません。
同じプログラムの中に copylbr のコピーが 2 種類混在しています。 修飾語がある COPY 文と修飾語がない COPY 文を混在させて使用しないでください。
ANS85 では、同じ WRITE 文中に ADVANCING PAGE と END-OF-PAGE を使用できません。
組み込み関数に引数を指定しましたが、引数の書式が正しくありません。たとえば INTEGER-OF-DAY には、所定の書式の日付が必要です。
対処方法
引数の書式をマニュアルで確認し、コードを修正します。
型整数を、数字編集項目または英数字項目と比較しようとしています。
COBOL システムによって、COPY REPLACING BY 操作をしようとしたときに COBOL 文字以外の文字が検出されました。 他の環境では、異なる結果になる可能性があります。
ファイル操作のファイル状態値は、環境によって異なります。
利用者構文のパラメータを、プログラムの PROCEDURE DIVISION USING 句の中でリストする必要があります。
利用者構文の定義は、サイズに制限があります。
対処方法
構文定義を短くします。たとえば必須ではない語句等を削除します。
プログラムで定義された構文が、複数の利用者構文の定義と一致します。 コードが複数の意味に解釈される可能性がありますが、多くの場合は定義が同じメソッドに対応するように解決されます。 コンパイラは、最初に一致した定義を使用します。
プログラムのコードが、どの利用者構文の定義とも一致しません。
利用者構文 FUNCTION を定義できるメソッドは、PROCEDURE DIVISION に RETURNING 句または GIVING 句があるメソッドだけです。
利用者構文 FUNCTION には、関数に対するパラメータとして RETURNING/GIVING パラメータを使用することはできません。
予約語を、利用者構文の定義の動詞として使用しています。
対処方法
別の動詞を選択します。
字類名 が、プログラムの 特殊名段落中に FACTORY として宣言されていません。指定された継承の結果、この宣言が必要になった可能性があります。
対処方法
該当する FACTORY 文を 特殊名段落に入れ、再実行します。
継承の階層構造での定義に従い、非互換型の OBJECT REFERENCE が含まれる操作をしようとしています。このようなオブジェクトは整合性がありません。
利用者構文の定義には、SELF または OBJECT が 1 度だけ含まれている必要があります。
利用者構文の定義の中に OF またはかっこを使用すると、解析時に複数の意味に解釈され、予期しない結果になる可能性があります。 たとえば、パラメータの後ろにあるかっこは、添字として解釈される可能性があります。
同じ動詞または関数名に対して一度に使用できる利用者構文定義の数には、上限があります。 たとえば、1 つの動詞の定義が多すぎる可能性があります。
対処方法
各動詞の定義の数を減らすか、定義内容を短くします。
インスタンスメソッドだけで許容されている構文を使用しました。
INVOKE 文で最初のオブジェクト参照が省略されている可能があり、SELF のオブジェクト参照の意味になります。 この省略を行えるのはメソッドのみで、プログラムでは行えません。
入れ子プログラムの呼出し中に、パラメータ BY VALUE を渡そうとしました。
参照
『言語リファレンス』の『ALTER
および ACCEPT 文の制限』。
参照
』言語リファレンス『の『ALTER
および ACCEPT 文の制限』。
参照
『言語リファレンス』の『ALTER
および ACCEPT 文の制限』。
参照
『言語リファレンス』の『ALTER
および ACCEPT 文の制限』。
利用者構文の定義がパラメータの後ろに続く、または続く可能性がある場合は、その定義の中に OF、IN、またはかっこを使用できません。
ユーザによる構文定義では、COBOL の動詞を必須語、またはオプションで必要となる語として定義することはできません。
7 桁めに許可されている文字を、どれか 1 つミスタイプしている可能性があります。COBOL システムが 7 桁めの文字を読み取れないため、これを空白として扱っています。
7 桁めにハイフンがありますが、COBOL システムでは構文がこれ以降は継続しないものとしています。 継続文字は無視されます。
7 桁めに継続文字がありますが、定数の継続の先頭に引用符がありません。 COBOL システムでは、引用符を使用する必要があります。
ソースコードの前の行の定数が引用符で区切られていないため、COBOL システムでは 7 桁めに継続文字を入れてから定数を継続することが予測されます。 COBOL システムでは、前の行で定数が終わっていると判断されています。
COBOL 構文の規則に反して、利用者名の最後の文字にハイフンが使用されています。 ただし、ご使用のCOBOL システムでは、この名前でも有効な名前として受け入れられ、別の名前に変更されません。
ユーザが定義した名前が 30 字より長い文字列でした。 COBOL システムでは、ユーザがつけた元の名前の文字列の初めから 30 字までを名前として扱います。
VALUE 句に指定された定数は、長すぎてデータ項目に収まりません。 COBOL システムは、データ項目の空き領域がなくなるまで、定数の文字をデータ項目の中に挿入します。
2 バイト文字セット (DBCS) 記号は、2 バイト長 (2 文字) です。 奇数の文字で構成されている定数が指定されました。 COBOL システムでは、この定数の最後の 1 文字が無視されます。
2 バイト文字セット (DBCS) 定数の最後を示す引用符がありません。 COBOL システムでは、この場所で定数の終了とみなします。
ソースコードの英字定数または英数字定数の定義が空白です。つまり、1 対の引用符の間に文字が存在しません。 COBOL システムでは、定数の中に空白文字が 1 つ含まれているものとみなします。
ソースコードに定義した 2 バイト文字セット (DBCS) 定数が空白です。つまり、1 対の引用符の間に DBCS 文字が存在していません。 COBOL システムでは、その定数は 2 文字 (2バイト) の長さで、空白文字の値を持っているものとみなします。
単語、DIVISION が Division 見出しから削除されたか、スペルが正しくありません。 COBOL システムでは、DIVISION が入力されていると推測しています。
単語、SECTION が Section 見出しから削除されたか、スペルが正しくありません。 COBOL システムでは、SECTION が指定されているものとみなします。
COBOL 構文の規則で予期されている場所に終止符 (ピリオド) がありません。 COBOL システムでは、終止符が存在しているものとみなします。
ソースコードに OCCURS integer-1 TO integer-2 DEPENDING 句がありますが、integer-1 の値が integer-2 より大きい値です。これは COBOL 構文の規則に違反しています。 COBOL システムでは、integer-1 の値を効率的に 0 に変換しました。
必須ではない単語、CHARACTER を入れ、必須の単語、SEPARATE を入れなかったために、SIGN 句のコードが正しくありません。 COBOL システムでは、この句を SIGN IS LEADING (または TRAILING) SEPARATE CHARACTER とみなします。
ファイル節または通信節でデータ項目に REDEFINE を実行しようとしましたが、対象にされたデータ項目は 01 レベルの項目です。 同じ FD または CD 用のレベル 01 の項目は、自動的に相互に再定義されます。
ファイル節 または 連絡節で定義されたデータ項目に対して、値の割り当てを試みました。 VALUE 句は無視されます。
予期しない場所に符号が指定されました。たとえば、AFTER ADVANCING +1 句または BEFORE ADVANCING -2 句が WRITE 文に使用される場合です。 COBOLシステムはその符号を無視し、さらに数字を正の値として処理します。
数値データ項目 (つまり PIC 9) を定義し、その値として符号付き数字を割り当てようとしました。 COBOL システムは、指定した符号を無視します。 負の符号が付いた数字を数値フィールドに転記しようとした場合は、予期しない結果になります。
RM/COBOL から変換されたプログラムを使用していますが、このプログラムにはCOMP-6 数値データ項目があります。このCOMP-6 数値データ項目は、COMP 数値データ項目に変換されました。 この変換の結果、数値データ項目に割り当てられるデータスペースが減少する可能性があるため、COBOL システムではこのスペースを埋めるために、必要に応じて先頭文字として 2 進数のゼロを追加します。
プログラムは、01 レベルのエントリで始まります。 このエントリは、作業場所節の第 1 項目とみなされます。
文字データ項目に数値が指定されています。 そのデータ項目は空白が記入されています。
編集フィールドを別の編集フィールドに転記すると、英数字の転記として扱われます。
MOVE 文が、数値データ項目への MOVE を文字定数に対して実行しようとしています。 この文は実行できません。 不正確な結果になるのを防ぐには、ZERO をターゲットのデータ項目に転記します。
文字データ項目に関しては、数字定数が使用されています。たとえば、文字データ項目のなかには 88 レベルエントリの値が添付されているものがあります。 この定数は、英数字定数に変換されます。
文が原因で、英数字データ項目の中に無効なデータが含まれる場合があります。 COBOL システムでは、記述されたとおりに文が実行されます。
MOVE 文が、非整数項目を英数字データ項目に転記しようとしています。 小数点は無視され、すべての桁は整数の桁として転記します。
SORT 文または MERGE 文で指定された 2 つのファイルが、同じ領域を共有するように定義されていますが、該当するファイルは別々の領域に割り当てられています。
SORT ファイルが複数の SAME SORT (-MERGE) AREA 句で参照されていますが、複数の SORT ファイルが別々の領域に割り当てられています。
SORT 文または MERGE 文で指定された 2 つのファイルが、同じ領域を共有するように定義されていますが、該当するファイルは別々の領域に割り当てられています。
SORT 文または MERGE 文にファイルが 2 つあり、同一の 整列 (併合) 領域を共有するように定義されていますが、それぞれ別々の 整列併合領域に割り当てられています。
英字フィールド、英字均等割付けフィールド、英字編集フィールド、英数字編集フィールドのいずれかを、数値表示フィールドに転記しました。 送り出し側フィールドは、数値フィールドとして扱われました。
指定されたキーの長さが、レコードの最小サイズより長くなっています。
指定されたキーの、ファイルのレコードでの開始位置が、以前に定義されたキーと同じ位置です。
PERFORM THRU 文が Declaratives 内の節で実行するプログラムに対して、構造体アニメーションを実行しようとしています。
対処方法
通常のアニメーションであれば実行できますが、構造体アニメーションは実行できません。
ALL 定数の中に、単語、ALL が 2 回以上指定されました。
対処方法
単語、ALL の繰返しがある場合は削除することをお奨めします。ただし、実際には 2 回目以降の ALL は無視されます。
内部指令 ($SET 文) と条件付きコンパイルが、選択された、フラグの立っている方言と競合します。
対処方法
埋め込み指令を注記に設定しておけば、選択された陳腐化傾向の方言にこのコードを互換させることも可能です。 この機能を利用するには、DIRECTIVES-IN-COMMENTS コンパイラ指令を設定する必要があります。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『DIRECTIVES-IN-COMMENTS コンパイラ指令』。
正の整数が必要とされる箇所に負の整数が使用されました。 COBOL システムは、負の符号を無視します。
16 進定数は、2 つの文字を 1 組として指定する必要があります。 この定数は奇数個の文字で構成されているので、その前にゼロが 1 個あるものとみなされます。
80 文字を越える原始行がコーディングされました。選択した、フラグが付けられた方言では、このような原始行は、サポートされません。
終止符 (ピリオド) の直後にもう 1 つの終止符があります。 これは COBOL 構文の規則に違反しませんが、プログラムに誤りがある可能性を示します。たとえば、ここにソースコードが 1 行欠けている可能性があります。
7 桁めにハイフンが設定されていますが、行の残りの部分に他のコードが含まれていません。 正しく継続するには、次の行にも 7 桁めにハイフンを入れる必要があります。
ファイル節でデータ項目に 77 レベルを割り当てていますが、これは COBOL 構文の規則に違反しています。COBOL システムでは、このデータ項目を 01 レベルの項目としてコードするものとみなして、そのように処理します。
COBOL システムでは、CORRESPONDING 句に対して一致するデータ項目が検出されないため、この文に対する中間コードが生成されません。
動詞、PERFORM に BY 作用対象 (オペランド) が使用されましたが、増分値として指定されている値はゼロです。 COBOL システムでは、この文を実行するコードが生成されますが、値が増分されることはありません。
作成した COMP サブセットコードを、より効率的に実行するように作成し直すことができます。
符号付き数値フィールドが集団項目と比較されるように、コードが作成されています。 COBOL システムでは、符号付き数値フィールドが、比較対象の英数字フィールドとして扱われます。 符号付き数値フィールドを基本項目と比較しても問題はありません。
プログラムには、手続き部の指令の節に USE FOR DEBUGGING 文がありますが、翻訳用計算機段落には WITH DEBUGGING MODE 句がありません。 COBOL システムでは、この節のすべてのコードが無視されます。
ALPHABET 句の最初の定数に指定された値は、2 番目の定数の値を超えています。たとえば、P THRU D (P から D まで) のようになっています。 COBOL システムでは、この定数値を記述してあるとおりに受け取ります。つまり、文字が反対の順序で処理されます。
テーブルの末尾を越えた項目にアクセスしようとしました。 COBOL システムでは、テーブルの末尾を越えてコードの該当行にアクセスするためのコードを生成しますが、これは不正確な結果になります。
プログラムに条件文がありますが、その後に命令文が続いていません。 COBOL システムではコードが実行されますが、その結果が不正確になる可能性があります。
複数の外部ファイル参照を SELECT ... ASSIGN 句に割り当てています。COBOL システムでは、最初の外部ファイル参照を受け入れますが、その句にある残りの外部ファイル参照を、注記として扱います。
DG Interactive COBOL から COBOL に変換されたプログラムを使用していて、そのプログラムには SAME AREA 句が含まれています。 COBOL システムは、これを SAME RECORD AREA 句とみなします。
DISPLAY 専用フィールドとともに使用される修飾語、または DISPLAY 文で使用される修飾語は、ACCEPT がある場合にのみ使用できます。 この修飾語は無視されます。
たとえば、PIC ++Z.ZZ は PIC +++.++ として扱われます。
表項目に添字を付けるために使用されている指標が、この表の INDEX BY 句で使用されているものと異なります。 この結果は予期できません。
FD 句に続くレコードの定義が、この FD 句の RECORD CONTAINS 句で定義した最小サイズよりも小さくなっています。
FD 句に続くレコードの定義が、この FD 句の RECORD CONTAINS 句で定義した最大サイズよりも大きくなっています。
ファイル節または連絡節のデータ項目には、値を指定できません。 定義された VALUE 句は無視されます。
どのような場合でも、終止符 (ピリオド) の直後に空白が必要です。
EXHIBIT 文が NAMED 句 または CHANGED 句がないままで使用されています。 表示される結果は、各項目を空白で区切る書式となります。
RM/COBOL から COBOL に変換した、CALL ... USING literal 文を含むプログラムを使用しています。 COBOL システムは、これを CALL ... USING BY CONTENT 定数とみなします。
句読文字の後には、空白が必要です。
ANS85 の仕様では、比較演算子、= は COBOL の予約語とされています。すべての予約語は、その前後を空白で区切る必要があります。
MOVE 文によって、2 バイト文字の片方の 1 バイトが変更され、2 バイトデータ項目が破壊されることがあります。
ソースに STOP RUN 文、GOBACK 文、または EXIT PROGRAM 文がありません。 COBOL システムは、プログラムの最終行とその後に続く STOP RUN 文の間に、自動的に EXIT 文を挿入します。 ただし、このように処理されても、目的の効果が得られない場合があります。
プログラムフローによって、フラグが付けられた文を実行することができません。
たとえば、INITIALIZE 文からコードを作成できない場合などに、このエラーが発生することがあります。 このエラーは、この文がプログラムから削除される可能性があることを示しています。 このエラーを無視すると、実際に文が削除されたかのような影響を及ぼします。
COBOL システムでは、DBCS 定数の内容が有効であるかを確認できません。 内容が無効であった場合は、予期しない結果になります。
複数レコードをロックするファイルに、KEPT 句がありません。
THRU の後に記述されている手続き名が、原始プログラムでは THRU の前の手続き名より、さらに前の位置にあります。
MOVE、ADD、SUBTRACT CORRESPONDING などの送り出し集団に、項目 data-name がありますが、受け取り集団ではこの項目は複数の意味を持ちます。
対処方法
送り出し集団、受け取り集団の両方に data-name occurs がありますが、関連する MOVE、ADD、または SUBSTRUCT は生成されていません。 このような動作は、ANSI 定義に準拠しています。
ソースデータ項目の終了位置の前に開始位置があるターゲットへの、MOVE を指定しました。
COMP-5 データ項目を再定義しました。 プログラムを別の環境に移植したため矛盾する結果となっている可能性があります。
COMP-5 データ項目で、部分参照を使用しています。 プログラムを別の環境に移植したため矛盾する結果となっている可能性があります。
MEMORY SIZE 句は注記として扱われます。
MULTIPLE FILE TAPE 句は注記として扱われます。
COMMON として定義されたプログラムはメインプログラムです。入れ子プログラムではありません。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『REENTRANT コンパイラ指令』。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『REENTRANT コンパイラ指令』。
COBOL 実行時ライブラリルーチン (名前が CBL_ で始まる場合) の呼び出しの一部または全部が、小文字で定義されています。 これは汎用性がなく、大文字と小文字を区別するオペレーティングシステムでは動作しません。
テーブル項目に対する参照の添字が、次元に対して足りません。 追加の添字があるものとみなされ、すべての添字にデフォルト値 1 が適用されます。
BS 2000 ジョブの変数名は、10 文字までです。
Siemens BS2000 方言を使用するとき、許容される定数の最大の長さは 180 文字までです。
指令が、フラグが付けられている方言の動作とは異なる動作をするように設定されています。 この設定は要求どおり処理されます。
このタイプのメッセージは、FLAGCD 指令を設定した場合に発生します。 報告の表示が可能な各指令に対して、2000 から 2199 までの個別のエラー番号が付けられます。
参照
『Server Express ユーザガイド』の『コンパイラへの指令』の章の『FLAGCD コンパイラ指令』。
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。
![]() | はじめに | コード生成時のエラーメッセージ | ![]() |