![]() | 予約語 | 埋め込み SQL 文 | ![]() |
COBSQL では、以下の 4 つの異なる種類のメッセージが表示されます。
COBSQL が開始されるときに、COBSQL のバージョンを含んだ 3 行にわたるバナー情報が表示されます。
データベースプリコンパイラでは、コンパイル中のプログラムに関する情報が出力されます。COBSQL では、Verbose または Display 指令が使用されている場合に、この情報が表示されます。
どのデータベースプリコンパイラも、エラーメッセージを出力可能です。情報を表示するだけのものから、発生した致命的エラーの内容を説明するものまで、さまざまなメッセージがあります。COBSQL では、プリコンパイラから引き渡されたエラーの重大度を特定しようと試みられます。また、プリコンパイラのエラー番号やテキストを抽出し、エラーが発生したソース行の位置を見つけ出そうとします。プリコンパイラのエラーメッセージの形式は、次のとおりです。
<プリコンパイラエラー番号> <重大度> <プリコンパイラエラーテキスト>
ソースプログラムのエラーが発生した行を処理した後に、プリコンパイラのエラーメッセージが COBOL コンパイラに引き渡されます。そのため、COBOL コンパイラでは、エラーが発生したソース行を特定することができます。
COBSQL では、プリコンパイラから渡されたエラーの重大度を判断することができません。それは致命的エラーではなく、通常のエラーであるとみなされます。
COBSQL 自体が出力するメッセージには、情報の表示、警告、通常のエラー、または致命的エラーの 4 つの種類があります。COBSQL のエラーメッセージの形式は、次のとおりです。
* CSQL-<重大度> <エラー番号> <エラーテキスト>
以下のセクションでは、現在の COBSQL メッセージが解説されています。
このメッセージには、情報が表示されているだけです。COBSQL により正常にソースファイルが処理され、必要な情報はすべて COBOL コンパイラへ返されました。プログラムは現在、アニメート、または実行可能です。エラーが見つかった場合には、ソース上で強調表示され、エラーテキストが利用可能となります。
このメッセージには、情報が表示されているだけです。COBSQL では COBSQLTYPE 指令が設定されていない場合、またはすでに旧式の値が設定されている場合には、Oracle プリコンパイラがデフォルトで使用されるよう設定されています。
このメッセージは、直前の COBSQLTYPE 指令に不正な値が設定されている場合に表示されます。
COBSQL により、Oracle プリコンパイラを起動しようと試みられます。そのため、Oracle プリコンパイラが存在しない場合には、さらにエラーが引き起こされる可能性があります。
COBSQL では、指令が有効であることを確認するために、このメッセージが表示されます。
COBSQL は、END-COBSQL 指令の後で別の指令を検出しました。それは、データベースのプリコンパイラ用の指令であり、COBSQL により引き渡されます。このメッセージは、CONFIRM 指令が設定されている場合にのみ表示されます。
COBSQL により不正な指令が検出されました。指令自体が不正であるか、または指令に設定された値が不正であるかのどちらかです。
COBSQL が他の COBOL 統合プリプロセッサ (たとえば、CP または HTMLPP) とともに使用される場合には、下位プリプロセッサは COBSQL と同じサイズの行バッファが使われている必要があります。そうでない場合には、このエラーメッセージが出力されます。通常の実行では、このメッセージが表示されることはありません。表示された場合は、新しい統合プリプロセッサで古いバージョンの COBSQL が使用されているか、またはその逆の状態になっていることを示しています。
他の統合プリプロセッサが起動された場合に、このメッセージが表示されます。このメッセージは情報として表示されているだけです。
COBSQL により起動された統合プリプロセッサにより、致命的エラーメッセージが返されました。COBSQL では、このメッセージは COBOL コンパイラに引き渡され、処理は中止されます。
他の統合プリプロセッサの処理が中止されてしまう原因については、そのプリプロセッサのドキュメントを参照してください。
スタック化された処理環境 (たとえば、COBSQL によって CP のような他の統合プリプロセッサが起動されるような状態) においては、COBSQL では、他の統合プリプロセッサから返される情報が STK という拡張子を持つ副ファイルの中に保存されます。そのファイル名は、入力ファイルと同じになります。
このメッセージが表示されるのは、COBSQL が STK ファイルにレコードを書き込む間に COBOL コンパイラのエラーを受け取った場合です。COBSQL では、さらに COBOL I/O エラーメッセージを表わす CSQL-E-023 (ファイル入出力エラー) が表示されます。
Infomix COBOL プリコンパイラが利用できない、私たちが把握していないバージョンの COBOL とともに COBSQL が実行されています。また、COBSQL とともに使用されている COBOL 用に、誤った Infomix COBSQLTYPE が指定されている場合にも、このメッセージが表示されます。
Informix プリコンパイラを使用可能にするには、環境変数 INFORMIXDIR が設定されている必要があります。COBSQL では、ESQL/COBOL プリコンパイラの場所を見つけるために、INFORMIXDIR 環境変数の値が使用されます。
このエラーは、COBSQL ではソースコードファイルを開こうとするとき、または展開されたコードの中で COPY 文を処理しようとするときに発生する可能性があります。COBSQL では、データベースプリコンパイラが起動される前に、ソースファイルを開こうとします。ファイルを開くことができない場合には、このエラーが報告されます。
また、COBSQLでは、展開されたソースコードに記述された copyfile を開くことができない場合に、このエラーが表示される可能性があります。COBSQL では、データベースプリプロセッサによって挿入された COPY 文を処理する必要があります。この処理が行なわれない場合には、COBOL コンパイラが COPY 文を COBOL 本来のソースと同じように処理し、展開します。
COBSQL では、このエラーが表示されると、さらに COBOL I/O エラーメッセージを表わす CSQL-E-023 (ファイル入出力エラー) も表示されます
このメッセージが表示されるのは、UNIX 上で実行されている場合です。UNIX では、これは致命的エラーになりません。データベースプリコンパイラがソースファイルにエラーを発見すると、多くの場合、0 以外が返り値として出力されます。このため、COBSQL は、このメッセージを表示した後も処理を継続します。
COBSQL では、展開されたソースファイルが保存されようとしているときに、このメッセージが情報として表示されます。
COBSQL では、どのデータベースコンパイラが呼び出されているかをユーザに知らせるために、このメッセージが情報として表示されます。
COBSQL は、副ファイルとして STK ファイルを開こうとしました。このファイルは、COBSQL が他の統合プリプロセッサとともにスタック化されている場合にのみ使用されます。
COBSQL では、さらに COBOL I/O エラーメッセージを表わす CSQL-E-023 (ファイル入出力エラー) も表示されます。
COBSQL では、一度データベースプリコンパイラが正常に呼び出され、拡張コードの処理が開始されると、このメッセージが表示されます。
COBSQL では、データベースプリコンパイラを呼び出した後で、その処理の完了を確認します。それは、プリコンパイラによって生成されたはずのファイルを開くことにより行なわれ、ファイルを開くことができなけば、このエラーが報告されます。
このメッセージが表示され、しかもプリコンパイラによりリストファイルと展開されたソースファイルが両方とも作成されている場合は、COBSQL がファイルへの読み込みアクセス権を持っていないか、または誤ったディレクトリにファイルが作成されたかのどちらかです。COBSQL を実行する前に、カレントディレクトリが正しく設定されているかを確認してください。
データベースプリコンパイラの処理が完了すると、後処理の一部として、COBSQL により元のソースコードファイルが再度開かれます。ファイルを開くことができなければ、このエラーメッセージが表示されます
COBSQL では、さらに COBOL I/O エラーメッセージを表わす CSQL-E-023 (ファイル入出力エラー) も表示されます。
COBSQL では、ファイル処理に失敗すると、このメッセージが表示されます。このメッセージは、通常他の COBSQL エラーによって生成され、どのファイルがエラーになったかを特定することができます。
このメッセージは、トレースファイル、またはデバッグファイルのどちらかで書き込みエラーが発生した場合に表示されます。
COBSQL では、さらに COBOL I/O エラーメッセージを表わす CSQL-E-023 (ファイル入出力エラー) も表示されます。
ソースファイルおよび展開コードを処理するために、COBSQL では多くの仮想ヒープを作成する必要があります。ヒープ作成中に何か問題があれば、このメッセージが表示され、COBSQL によりどのヒープで問題が発生したのかが示されます。
可能性がもっとも高い原因は、使用可能なメモリの不足、または仮想ヒープを多く作成し過ぎたことなどです。これを解決するには、実行中の COBOL アプリケーションをいくつか終了させて、メモリまたは仮想ファイルの空きを増やしてください。
COBSQL による処理で、元のソースコードが終了する前に、展開されたソースコードが終了してしまいました。これには、原因が 2 つ考えられます。
項目、<コード領域> は、COBSQL が処理している元のソースコード内での位置と対応しています。領域には、Working-Storage、手続き部 (Procedure Division)、および SQL 文が含まれます。
項目、<ソースコード行> により、COBSQL が処理している元のソースコード行が特定されます。これらが表示されることにより、元のソースコードで問題がある個所を特定することができます。
COBSQL が VERBOSE モードで実行されているときに、このメッセージが情報として表示されます。これは、COBSQL が Working Storage Section を検出し、処理しようとしていることを示しています。
COBSQL が VERBOSE モードで実行されているときに、このメッセージが情報として表示されます。これは、COBSQL が手続き部 (Procedure Division) を検出し、処理しようとしていることを示しています。
COBSQL が VERBOSE モードで実行されているときに、このメッセージが情報として表示されます。これは、COBSQL が プログラムの手続き部 (Procedure Division) 内で EXEC SQL 文を検出し、処理しようとしていることを示しています。
データベースプリコンパイラの処理が完了すると、後処理の一部として、COBSQL により元のソースコードファイルが再度開かれます。ファイルを開くことができなければ、このエラーメッセージが表示されます。
COBSQL では、さらに COBOL I/O エラーメッセージを表わす CSQL-E-023 (ファイル入出力エラー) も表示されます。
COBSQL が、以前のバージョンの COBOL で実行されているため、正しく動作しません。そのため、COBSQL は処理を継続せず、中止します。
COBSQL は、すでに使用されなくなっている指令を検出しました。
COBSQL では、元のソースファイル (ORG) とデータベースプリコンパイラにより生成されたソース (CBL) を処理するときに、その処理位置を修正しようとすることがあります。それは、一致する行を探して CBL ファイルをさらに先へと走査することにより行なわれます。そのときに、このメッセージが表示されます。
通常 2 つのソースファイル間での不一致は、COBSQL が処理できないコードをプリプロセッサが生成したことが原因です。COBSQL が対応できるよう変更されるまでは、SQLDEBUG 指令を使用して一時的に問題を回避することができます。
このメッセージが表示されたときに生成されたコードは、正しく機能しない可能性があります。COBSQL が位置を修正するために、元のソースの一部の処理が削除されている可能性があるためです。
Pro*COBOL により、EXEC SQL 文の一部ではないコード行がコメント化されました。それによって、プログラムの実行に影響が現れる可能性があり、アプリケーションが実行されている場合には、注意が必要となります。
COBSQL は、実行時スイッチを検査することにより現在の実行システムがどのような設定になっているかを確定しようとします。現在の設定を読み込めない場合に、このメッセージが表示されます。
このエラーが発生すると、処理は中止されます。
外部プログラムの中には、NULL 文字を含んだ COBOL コードを生成するものがあります。その場合 COBSQL は、NULL 文字を含んだコードを読み込めるように、関連する実行時スイッチを変更しようとします。
COBSQL により、実行時スイッチは正常に読み出されたが設定に失敗した場合に、このメッセージが表示されます。
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書ならびに使用されている固有の商標と商品名は国際法で保護されています。
![]() | 予約語 | 埋め込み SQL 文 | ![]() |