アプリケーション開発の手引き
FORTRAN ホスト言語に特定のインクルード・ファイルのファイル拡張子は、
UNIX プラットフォームの場合は .f です。
OS/2 の場合は .for です。以下の FORTRAN インクルード・ファイルをアプリケーションで使用することができます。
- SQL (sql.f)
- このファイルには、バインダー、プリコンパイラー、およびエラー・メッセージ検索 API 用の言語固有プロトタイプが含まれています。また、システム定数も定義されています。
- SQLAPREP (sqlaprep.f)
- このファイルには、独自のプリコンパイラーの作成に必要な定義が入っています。
- SQLCA (sqlca_cn.f, sqlca_cs.f)
- このファイルは SQL 連絡域 (SQLCA) 構造を定義します。
SQLCA には、データベース・マネージャーが SQL ステートメントおよび API 呼び出しの実行に関するエラー情報をアプリケーションに提供するために使用する変数が含まれています。
FORTRAN アプリケーションには 2 つの SQLCA ファイルが提供されます。
sqlca_cs.f は省略時値で、IBM SQL 互換フォーマットで SQLCA 構造を定義します。
SQLCA NONE オプションを指定して sqlca_cn.f ファイルをプリコンパイルすると、定義される SQLCA 構造のパフォーマンスが向上します。
- SQLCA_92 (sqlca_92.f)
- このファイルには、SQL 連絡域 (SQLCA) 構造の FIPS SQL92 Entry Level 準拠版が入っています。このファイルは、FIPS SQL92 Entry Level standard に適合する DB2 アプリケーションを作成する際に、
sqlca_cn.f または sqlca_cs.f のどちらかのファイルの代りに組み込まれる必要があります。
LANGLEVEL プリコンパイラー・オプションに SQL92E が設定されていれば、
sqlca_92.f ファイルは DB2 プリコンパイラーによって自動的に組み込まれます。
- SQLCODES (sqlcodes.f)
- このファイルは、SQLCA 構造の SQLCODE フィールドで使用する定数を定義します。
- SQLDA (sqldact.f)
- このファイルは SQL 記述子域 (SQLDA) 構造を定義します。
SQLDA はアプリケーションとデータベース・マネージャーとの間でデータをやりとりするために使用されます。
FORTRAN プログラムで SQLDA をコーディングする方法の詳細は、
SQLDA 構造の割り振りを参照してください。
- SQLEAU (sqleau.f)
- このファイルには、DB2 機密保護監査 API に必要な定数および構造の定義が含まれています。これらの API を使用する場合は、プログラムにこのファイルを組み込む必要があります。このファイルにはまた、監査証跡レコード内のフィールドの定数およびキーワード値の定義も含まれています。これらの定義は、外部または取引先の監査証跡抽出プログラムで使用できます。
- SQLENV (sqlenv.f)
- このファイルは、データベース環境 API に対する言語固有の呼び出し、およびそれらのインターフェースの構造、定数、戻りコードを定義します。
- SQLE819A (sqle819a.f)
- データベースのコード・ページが 819 (ISO ラテン 1) の場合、このシーケンスは、ホスト CCSID 500 (EBCDIC 各国対応) 2 進照合に従って、
FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQLE819B (sqle819b.f)
- データベースのコード・ページが 819 (ISO ラテン 1) の場合、このシーケンスは、ホスト CCSID 037 (EBCDIC 米国英語) 2 進照合に従って、
FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQLE850A (sqle850a.f)
- データベースのコード・ページが 850 (ASCII ラテン 1) の場合、このシーケンスは、ホスト CCSID 500 (EBCDIC 各国対応) 2 進照合に従って、
FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQLE850B (sqle850b.f)
- データベースのコード・ページが 850 (ASCII ラテン 1) の場合、このシーケンスは、ホスト CCSID 037 (EBCDIC 米国英語) 2 進照合に従って、
FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQLE932A (sqle932a.f)
- データベースのコード・ページが 932 (ASCII 日本語) の場合、このシーケンスは、ホスト CCSID 5035 (EBCDIC 日本語) 2 進照合に従って、
FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQLE932B (sqle932b.f)
- データベースのコード・ページが 932 (ASCII 日本語) の場合、このシーケンスは、ホスト CCSID 5026 (EBCDIC 日本語) 2 進照合に従って、
FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQL1252A (sql1252a.f)
- データベースのコード・ページが 1252 (Windows ラテン 1) の場合、このシーケンスは、ホスト CCSID 500 (EBCDIC 各国対応) 2 進照合に従って、FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQL1252B (sql1252b.f)
- データベースのコード・ページが 1252 (Windows ラテン 1) の場合、このシーケンスは、ホスト CCSID 037 (EBCDIC 米国英語) 2 進照合に従って、FOR BIT DATA ではない文字ストリングを分類します。このファイルは CREATE DATABASE API が使用します。
- SQLMON (sqlmon.f)
- このファイルは、データベース・システム・モニター API に対する言語固有の呼び出し、およびそれらのインターフェースの構造、定数、戻りコードを定義します。
- SQLSTATE (sqlstate.f)
- このファイルは、SQLCA 構造の SQLSTATE フィールドで使用する定数を定義します。
- SQLUTIL (sqlutil.f)
- このファイルは、ユーティリティー API に対する言語固有の呼び出し、およびそれらのインターフェースに必要な構造、定数、コードを定義します。
ファイルの組み込みには、EXEC SQL INCLUDE ステートメントを使用する方法と、
FORTRAN INCLUDE ステートメントを使用する方法の 2 つがあります。プリコンパイラーは FORTRAN INCLUDE ステートメントを無視し、
EXEC SQL ステートメントを使用して組み込まれたファイルのみを処理します。
INCLUDE ファイルを検索する際、
DB2 FORTRAN プリコンパイラーはまず最初にカレント・ディレクトリーを検索し、次いで DB2INCLUDE 環境変数に指定されたディレクトリーを検索します。次の例を考えてみてください。
- EXEC SQL INCLUDE payroll
INCLUDE ステートメントに指定されたファイルが単引用符 (') で囲まれていない場合、上記のとおり、プリコンパイラーは最初 payroll.sqf を検索し、次に payroll.f (OS/2 では payroll.for)、最後にそれがロックする各ディレクトリーを検索します。
- EXEC SQL INCLUDE 'pay/payroll.f'
ファイル名が単引用符 (') で囲まれている場合、すでに説明したとおり、名前に拡張子は追加されません。
(OS/2 の場合、ファイルは 'pay\payroll.for' と指定されます。)
単引用符 (') 内のファイル名に完全パスが含まれていない場合、
DB2INCLUDE の中身によってそのファイルの検索が行われ、何らかのパスが INCLUDE ファイル名に指定されます。たとえば、DB2 (AIX 版) では、
DB2INCLUDE は '/disk2:myfiles/fortran' に設定され、プリコンパイラーは './pay/payroll.f'、
'/disk2/pay/payroll.f'、
'./myfiles/cobol/pay/payroll.f' の順に探索します。プリコンパイラー・メッセージには、実際にファイルが見つかったパスが表示されます。
OS/2 では、上記の例でスラッシュ (/) の代りに円記号 (\) を使用し、拡張子 'f' の代りに 'for' を使用します。
注: | DB2INCLUDE の設定は、DB2 コマンド行プロセッサーによってキャッシュされます。何らかの CLP コマンドを発行した後に DB2INCLUDE の設定を変更する場合は、
TERMINATE コマンドを入力してから、データベースに接続し直し、あとは通常どおりプリコンパイルしてください。
|
[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]