ページの先頭行へ戻る
NetCOBOL V12a (V12.2.0A) リリース情報
FUJITSU Software

2.1.6 SQLCODE、SQLMSGおよびSQLERRDの定義場所

変更内容

SQL文の実行時情報を格納するSQLCODE、SQLMSG、およびSQLERRDの定義場所の扱いが変更になりました。

V10.1.0

SQL宣言節外で定義されたSQLCODE、SQLERRD、またはSQLMSGには、SQL文の実行時情報を格納しません。

V10.2.0以降

SQL宣言節外で定義されたSQLCODE、SQLERRD、またはSQLMSGに、SQL文の実行時情報を格納します。

影響

以下の条件の場合、V10.1.0以前ではSQLCODE、SQLERRDまたはSQLMSGにSQL文の実行時情報は格納されませんでしたが、V10.2.0以降ではSQL文の実行時情報が格納されるようになりました。

そのため、上記3つのデータをSQL文の実行時情報を得る目的以外で使用していた場合は、実行結果が異なる場合があります。

ただし、本影響があるのはV10.2.0以降で再翻訳した場合に限ります。

  1. SQL宣言節内にSQLSTATEが構文規則どおりに定義されている。かつ、

  2. SQL宣言節外にSQLCODE、SQLERRDまたはSQLMSGが構文規則どおりに定義されている。かつ、

  3. SQL文が実行される。かつ、

  4. 手続き部でSQLCODE、SQLERRDまたはSQLMSGが参照される。かつ、

  5. 1.~4.が同一翻訳単位内に記述されている。

対処方法

SQL宣言節外に定義されたSQLCODE、SQLMSG、またはSQLERRDの名前を変更してください。