ヘッダファイルの定数をホスト変数定義で使用するとエラーになります。

C言語のヘッダファイルで定義した定数をホスト変数定義で使用するとプリコンパイル時にエラーになります。なぜですか?
Symfowareのプリコンパイラは、#defineなどのC言語のプリプロセッサディレクティブには、対応していません。
埋込みSQLを用いてアプリケーションを作成する際、DECLARE SECTIONにホスト変数を定義することができます。ただし、#defineで定義した定数を、ホスト変数定義で使用することはできません。
例えば、以下のようなホスト変数の定義はできません。プリコンパイル時に、「ホスト変数定義の配列の記述に誤りがあります.」というエラーになります。

#define LEN_NAME    32
EXEC SQL BEGIN DECLARE SECTION;
    char         h_Name[LEN_NAME + 1];
EXEC SQL END DECLARE SECTION;

#defineで定義した定数は、埋込みSQLの部分では使用しないでください。埋込みSQL以外の部分では、使用することができます。

製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 設計/開発
このページの先頭へ