データベース・ファイルと機能

ユニコードのデータベース・アプリケーションを作成する場合は、物理ファイルの作成、論理ファイルの作成、およびデータベース入出力への影響について考慮する必要があります。

物理ファイルの作成

ユニコード・グラフィックス・フィールドは、物理ファイルに作成できます。このためには、CCSID キーワードに G データ・タイプとユニコード CCSID を指定します。

次の例は、4 つのフィールドを含む物理ファイルの DDS と、ファイルを作成するためのコマンドを示しています。

A          R FMT1
A            EMPNO          6A
A            NAME          30G         CCSID(1200)
A            DESCR1       500G         CCSID(1200) VARLEN
A            DESCR2       500A
 
CRTPF FILE(UNICODEPF) SRCFILE(CLR/QDDSSRC)

この例の内容は、次のとおりです。

ユニコード・グラフィックス・フィールドには、デフォルト・キーワード (DFT) を指定できます。デフォルト値としては、SBCS、シフト文字付き DBCS、またはシフト文字付き DBCS グラフィック文字ストリングを指定できます。DFT キーワードを指定しない場合は、固定長のユニコード・フィールドのデフォルト値はユニコード・ブランク (16 進数の 0020) となります。可変長のユニコード・フィールドについては、デフォルト値は空ストリングとなります。

論理ファイルの作成

論理ファイルを使用して、文字、DBCS 混用、または DBCS グラフィックとの間でユニコード・データをマップできます。 これにより、ユニコード・グラフィック・データを文字ベースの形式で操作できます。

4 つのフィールドを含むデータ記述仕様の例を以下に示します。ユニコード・グラフィック・データは、論理ファイルから読み取ると文字データに変換されます。この文字データは、ファイルに書き込むとユニコード・グラフィック・データに変換されます。

R FMT1                      PFILE(UNICODEPF1)
A            EMPNO
A            NAME            A         CCSID(37)
A            DESCR1          A         CCSID(37)
A            DESCR2          G         CCSID(1200)

データベース入出力

ジョブの物理ファイルにタグ付けされたユニコード CCSID のフィールドで、データの読み取りや書き込みを行うと、データは変換されずにユニコード・データとして渡されます。 ジョブの CCSID とは無関係に、データはユニコード・データとして渡されます。 データを論理ファイルに書き込む場合は、from CCSID がジョブの CCSID です。 ただし、ジョブの CCSID が 65535 である場合、from CCSID は論理ファイル内のフィールドの CCSID になります。

上記の物理ファイルと論理ファイルのシナリオを以下に示します。 シナリオでは、ジョブの CCSID は 297 です。

シナリオ 1. 物理ファイルからデータを読み取る場合

シナリオ 2. 物理ファイルにデータを書き込む場合

シナリオ 3. 論理ファイルからデータを読み取る場合

シナリオ 4. 論理ファイルにデータを書き込む場合

シナリオ 5. ジョブが 65535 であった場合、上記のフィールドの変換は次のようなります。