ユニコードのデータベース・アプリケーションを作成する場合は、物理ファイルの作成、論理ファイルの作成、およびデータベース入出力への影響について考慮する必要があります。
ユニコード・グラフィックス・フィールドは、物理ファイルに作成できます。このためには、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 であった場合、上記のフィールドの変換は次のようなります。