3.6.17 [フィールド名の特殊文字の変換]

LANSA

3.6.17 [フィールド名の特殊文字の変換]


フィールド名からデータベースの列を作成するときに、フィールド名をそのまま使用するかどうかを指定します。

デフォルト:LANSAバージョン11 SP4以降で作成されたファイルの場合はNO (チェックなし)。それより古いバージョンで作成されたファイルの場合はYES (チェックあり)

LANSAバージョン11 SP4より古いバージョンの場合、Windows環境でコンパイルされたファイルにより、フィールド名が同じでないデータベース列が作成されることがあり ます。例えば、デモンストレーション・ファイルSECTABのSECTIONフィールドは、S_CTIONとして作成されます。これは、SECTIONが SQLキーワードだからです。同じ理由で、列MY@FLDはMY_FLDとして作成されます。

バージョン11 SP4以降、新しいファイル内のフィールド名はデータベースで変換されません。

これにより、これまでWindows環境でコンパイルされずにエラー979で失敗していたファイルをVisual LANSAで使用できるようになりました。例えば、ファイルにMY@FLDおよびMY#FLDという2つのフィールドがある場合、Windowsでのファ イルの作成は失敗し、以下のメッセージが表示されていました。

979 致命的 - フィールド MY@FLD と MY#FLD は同じ名前のSQL列名 MY_FLD に分割します。

そのため、このファイルを使用できるのはSystem iのみでした。今後は、設定をNO (チェックなし)に変更することで、ファイルを正常に作成できます。

警告

·         LANSA では、以前Windowsで正常にコンパイルされたファイルに対してこの設定をNO/チェックなしに変更することはできません。チェックありからチェック なしへの変更は、ファイルのコンパイルがエラー979で失敗した場合のみ行ってください。

·         LANSA では、V11 SP4以降で作成されたファイルに対してこの設定をYES/チェックありに変更することはできません。

·         こ の設定を変更した場合、そのファイルに対してSELECT_SQLを使用するすべてのファンクションまたはコンポーネント、およびこのファイルがバッチ制 御または事前結合フィールドのターゲットとなっているファイルのOAMを再コンパイルし、再配布する必要があります。

·         テー ブルにアクセスするLANSA以外のアプリケーションでは、列名として実際のフィールド名を使用し、問題を防ぐためにこれらの識別子を引用符で囲んでくだ さい。

ヒントとテクニック

プラットフォームについて

·         IBM i:このファイル属性は、IBM iデータベース内のファイルには適用されません。

Ýファイル属性