• 検索結果がありません。

バイト文字の挿入

ドキュメント内 rbal3pdf.ps (ページ 169-200)

DBCS 専用フィールドには、システムによって自動的にシフト制御文字が挿入されます。

混用フィールドまたは択一フィールドにシフト制御文字を挿入するには、以下のステップを実行してくださ い。

1. カーソルを 2 バイト・データを挿入したいフィールドに位置付けます。

2. シフト制御文字挿入キーを押します (使用する DBCS ディスプレイ装置の使用者の手引きに従ってくだ さい)。

システムは次に示すように、一対のシフト制御文字を同時に挿入します (ここでは、 0E はシフトアウト文 字を表し、 0F はシフトイン文字を表しています)。

0E0F

カーソルは、システムによってシフトイン文字の下に置かれ、キーボードは挿入モードになります。シフト 制御文字の間に 2 バイト文字を挿入します。 2 バイト文字を挿入するには、カーソル位置から 2 バイト 文字の入力を始めます。たとえば、2 バイト文字ストリング D1D2D3 は次のように入力します (ここで は、 0E はシフトアウト文字を表し、 0F はシフトイン文字を表し、 D1、D2、および D3 は 3 つの 2 バ イト文字を表しています)。

0ED1D2D30F

すでにフィールドにシフト制御文字が入っているかどうかを知るには、シフト制御文字表示キーを押してく ださい。

DBCS グラフィック・フィールドに 2 バイト文字を保管する場合は、シフト制御文字の使用は必要ありま せん。シフト制御文字をグラフィック・フィールドに挿入しないでください。

表示される拡張 2 バイト文字の数:

システムでは、日本語表示画面にさまざまな外字を 1 時点で 512 文字まで表示することができます。それ 以上の外字は、未定義文字として表示されますが、システムには正しく保管されています。

表示画面上の DBCS 入力フィールドの数:

DBCS 入力フィールドを使用すると、1 つの画面で許される入力フィールドの合計数に影響を生じます。

ローカル 5250 ディスプレイの場合は、入力フィールドは最大 256 まで指定することができます。しか し、DBCS フィールドを使用する場合、3 つ使用するごとにフィールド最大数は 1 つずつ減少します。

たとえば、画面上に DBCS フィールドが 9 つある場合、フィールド最大数は 256 - (9/3) = 253 入力フィ ールドになります。

英数字ワークステーションで 2 バイト・データを表示した場合の影響:

英数字ディスプレイ装置では、2 バイト・データを正しく表示することはできません。

英数字ディスプレイ装置で 2 バイト・データを表示しようとすると、次のような結果になります。

v システムはそのディスプレイ装置に照会メッセージを送り、 2 バイト・データを使用するそのプログラ ムを続行したいのか、取り消したいのかを問い合わせます。

v プログラムを使用し続けたい場合は、システムはシフト制御文字を無視し、 2 バイト文字を 1 バイト 文字であるかのように解釈します。表示される 2 バイト・データは意味をなしません。

DBCS ファイルのコピー操作

スプール DBCS ファイルも、非スプール DBCS ファイルも同様にコピーすることができます。

関連概念:

57ページの『UCS-2 グラフィック・フィールドの制約事項』

コピー元またはコピー先が UCS-2 グラフィック・フィールドの場合、いくつかの制約事項があります。

スプール DBCS ファイルのコピー操作:

スプール・ファイル・コピー (CPYSPLF) コマンドを使用することによって、 2 バイト文字データを持つ スプール・ファイルをコピーできます。ただし、ファイルのコピー先のデータベース・ファイルは、

IGCDTA(*YES) の値を指定して作成されていなければなりません。

2 バイト・データが入っているデータベース・ファイルに、スプール・ファイルをコピーする場合に、シフ トアウト文字用に余分の桁が必要になります。このシフトアウト文字は、レコードの制御情報とユーザー・

データの間に入れられます。次の表は、制御文字 (CTLCHAR) キーワードに対して指定される値に基づい た、シフトアウト文字の桁番号を示してあります。

CTLCHAR の値 シフトアウト文字の桁番号

*NONE 1

*FCFC 2

*PRTCTL 5

*S36FMT 10

非スプール DBCS ファイルのコピー操作:

ファイル・コピー (CPYF) コマンドを使用することによって、 2 バイト文字データを 1 つのファイルか ら別のファイルへコピーすることができます。

2 バイト・データベース・ファイルから英数字データベース・ファイルへデータをコピーするときは、次の パラメーターのいずれか 1 つを CPYF コマンドで指定してください。

v 両方のファイルが共にソース・ファイルの場合、または両方のファイルが共にデータベース・ファイル の場合は、 FMTOPT(*MAP) パラメーターまたは FMTOPT(*NOCHK) パラメーターのいずれかを指定 することができます。

v 一方のファイルがソース・ファイルで、他方のファイルがデータベース・ファイルである場合は、

FMT(*CVTSRC) パラメーターを指定してください。

DBCS ファイルを英数字ファイルへコピーする時は、ファイル・タイプの違いを示す通知メッセージが、

システムによって出されます。

物理ファイルまたは論理ファイルから物理ファイルへのコピーにおいては、コピー元ファイルとコピー先フ ァイルに同じ名前を持つフィールドがあっても、フィールドのデータ・タイプが次表のような時は、ファイ ル・コピー機能の FMTOPT(*MAP) オプション、または FMTOPT(*NOCHK) オプションのいずれかを指定 しなければなりません。

コピー元ファイルのフィールドのデータ・タイプ コピー先ファイルのフィールドのデータ・タイプ

A (文字) J (DBCS 専用)

O (DBCS 混用) J (DBCS 専用)

O (DBCS 混用) E (DBCS 択一)

E (DBCS 択一) J (DBCS 専用)

J (DBCS 専用) G (DBCS グラフィック)

O (DBCS 混用) G (DBCS グラフィック)

E (DBCS 択一) G (DBCS グラフィック)

G (DBCS グラフィック) J (DBCS 専用)

G (DBCS グラフィック) O (DBCS 混用)

G (DBCS グラフィック) E (DBCS 択一)

G (UCS-2 グラフィック) A (文字 (CCSID 非 65535))

G (UCS-2 グラフィック) O (DBCS 混用 (CCSID 非 65535))

G (UCS-2 グラフィック) E (DBCS 択一 (CCSID 非 65535))

G (UCS-2 グラフィック) J (DBCS 専用 (CCSID 非 65535))

G (UCS-2 グラフィック) G (DBCS グラフィック)

A (文字 (CCSID 非 65535)) G (UCS-2 グラフィック)

O (DBCS 混用 (CCSID 非 65535)) G (UCS-2 グラフィック)

E (DBCS 択一 (CCSID 非 65535)) G (UCS-2 グラフィック)

J (DBCS 専用 (CCSID 非 65535)) G (UCS-2 グラフィック)

G (DBCS グラフィック) G (UCS-2 グラフィック)

A (UTF-8) A (文字 (CCSID 非 65535))

A (UTF-8) O (DBCS 混用 (CCSID 非 65535))

A (UTF-8) E (DBCS 択一 (CCSID 非 65535))

A (UTF-8) J (DBCS 専用 (CCSID 非 65535))

A (UTF-8) G (DBCS グラフィック非 65535)

A (UTF-8) G (UTF-16)

A (UTF-8) G (UCS-2 グラフィック)

A (文字 (CCSID 非 65535)) A (UTF-8)

O (DBCS 混用 (CCSID 非 65535)) A (UTF-8)

E (DBCS 択一 (CCSID 非 65535)) A (UTF-8)

J (DBCS 専用 (CCSID 非 65535)) A (UTF-8)

G (DBCS グラフィック非 65535) A (UTF-8)

G (UCS-2 グラフィック) A (UTF-8)

G (UTF-16) A (文字 (CCSID 非 65535))

G (UTF-16) O (DBCS 混用 (CCSID 非 65535))

G (UTF-16) E (DBCS 択一 (CCSID 非 65535))

G (UTF-16) J (DBCS 専用 (CCSID 非 65535))

G (UTF-16) G (DBCS グラフィック非 65535)

G (UTF-16) A (UTF-8)

G (UTF-16) G (UCS-2 グラフィック)

A (文字 (CCSID 非 65535)) G (UTF-16)

O (DBCS 混用 (CCSID 非 65535)) G (UTF-16)

E (DBCS 択一 (CCSID 非 65535)) G (UTF-16)

J (DBCS 専用 (CCSID 非 65535)) G (UTF-16)

G (DBCS グラフィック非 65535) G (UTF-16)

G (UCS-2 グラフィック) G (UTF-16)

DBCS 専用フィールドまたは DBCS グラフィック・フィールドにコピーするために CPYF コマンドで FMTOPT(*MAP) を使うときは、コピー元ファイルの対応フィールドが以下のものであってはなりません。 v 2 バイト未満の文字フィールド

v 奇数バイトの長さの文字フィールド

v 奇数バイトの長さの DBCS 混用フィールド

注: UCS-2 グラフィック・フィールドから、またはそこに対して FMTOPT(*MAP) によるコピーを行う場 合、 CCSID 65535 を指定できるのは DBCS グラフィック・タイプだけです。 UCS-2 グラフィックは、

CCSID 65535 であってはなりません。

コピー元フィールドに上記のいずれかを指定すると、エラー・メッセージが出されます。

2 バイト・データを 1 つのデータベース・ファイルから別のデータベース・ファイルへコピーする場合、

FMTOPT(*MAP) パラメーターを指定すれば 2 バイト・データは正しくコピーされます。システムでは、2 バイト・データに対する埋め込みおよび切り捨てが正しく実行されて、データ保全性が保たれます。

DBCS 混用フィールドをグラフィック・フィールドにコピーするのに CPYF コマンドで FMTOPT(*MAP) を指定する場合、 DBCS 混用フィールドに SBCS データ (ブランクを含む) があると、変換エラーが発生 します。

アプリケーション・プログラムでの DBCS に関する考慮事項

この節では、2 バイト・データを処理するアプリケーションを作成する際の考慮事項について説明します。

2 バイト・データを処理するアプリケーション・プログラムの設計:

2 バイト・データを処理するアプリケーション・プログラムを設計する場合、このトピックに説明されてい るような考慮事項があります。

英数字データを処理するアプリケーション・プログラムを設計する場合と同じ要領に加えて、次の補足事項 も含めて 2 バイト・データを処理するアプリケーション・プログラムを設計してください。

v データベース・ファイルの中で使用されている 2 バイト・データを識別する。

v 2 バイト・データを使用する画面様式および印刷様式を設計する。

v 必要に応じて、対話式アプリケーション・プログラムの 2 バイト・データ入力手段として、 DBCS 変 換を用意する。 DBCS 変換用の DDS キーワード (IGCCNV) を使用して、ディスプレイ・ファイルに DBCS 変換を指定してください。 DBCS ワークステーションには各種の 2 バイト・データ入力手法が 用意されているので、2 バイト・データの入力に IBM i の DBCS 変換機能を使用する必要はありませ ん。

v プログラムで使用される 2 バイト文字メッセージを作成する。

v 外字処理を指定して、システムですべての 2 バイト・データが印刷および表示されるようにする。詳細 については、156ページの『拡張 2 バイト文字』を参照してください。

v 2 バイト文字を追加して定義する必要があるかどうかを判別します。文字作成ユーティリティー (CGU) を使用して、ユーザー定義文字を定義して維持することができます。 CGU については、 適用業務開発

ツール (ADTS)・セット/400: 文字作成ユーティリティー (CGU) のマニュアルを参照してください。

2 バイト・データを処理するアプリケーション・プログラムを作成する場合には、 2 バイト文字データが 必ず 2 バイト単位で処理されるように注意し、 1 つの 2 バイト文字を分割しないようにしてください。

英数字アプリケーション・プログラムの DBCS アプリケーション・プログラムへの変更:

英数字アプリケーション・プログラムで外部記述ファイルを使用している場合は、外部記述ファイルを変更 するだけで、そのアプリケーション・プログラムを DBCS アプリケーション・プログラムに変更すること ができます。

アプリケーション・プログラムを変換するには、以下のステップを実行してください。

1. 変更したい英数字ファイルのソース・ステートメントの複製コピーを作成する。

2. 英数字固定情報およびリテラルを、2 バイト文字固定情報およびリテラルに変更する。

3. ファイルの該当フィールドを混用 (O) データ・タイプに変更するか、または代替データ・タイプ (IGCALTTYP) DDS キーワードを指定することにより、 2 バイト・データと英数字データの両方をこ れらのフィールドに入れることができるようにする。 2 バイト・データにはより多くのスペースが必要 なので、フィールドの長さの変更が必要になることがあります。

4. 変換されたファイルを別のライブラリーに保管する。そのファイルには、英数字バージョンと同じ名前 を付けてください。

5. 変更されたファイルをジョブで使用する場合、そのファイルを使用するジョブのライブラリー・リスト をライブラリー・リスト変更 (CHGLIBL) コマンドを使用して変更します。これによって、英数字バー ジョンのファイルが保管されているライブラリーよりも前に DBCS ファイルが保管されているライブ ラリーが検査されます。

DBCS フォント表

DBCS フォント表には、システムで使用される 2 バイト外字のイメージが入っています。システムは、こ れらのイメージを使用して、外字を表示および印刷します。

下記の DBCS フォント表は、ユーザーが保管または復元することのできるオブジェクトです。これらのフ ォント表は、DBCS 言語バージョンの OS/400® ライセンス・プログラムと共に配布されます。

QIGC2424

外字を 24 × 24 ドット・マトリックス・イメージで表示および印刷をするのに使われる日本語 DBCS フォント表。システムはこの表を日本語ディスプレイ装置、ディスプレイ装置に接続された プリンター、 5227-1 型プリンター、および 5327-1 型プリンターで使用します。

QIGC2424C

外字を 24 × 24 ドット・マトリックス・イメージで印刷するのに使われる中国語 (繁体字) DBCS フォント表。システムはこの表を 5227-3 型プリンターおよび 5327-3 型プリンターで使用しま す。

QIGC2424K

外字を 24 × 24 ドット・マトリックス・イメージで印刷するのに使われる韓国語 DBCS フォント 表。システムはこの表を 5227-2 型プリンターおよび 5327-2 型プリンターで使用します。

QIGC2424S

外字を 24 × 24 ドット・マトリックス・イメージで印刷するのに使われる中国語 (簡体字) DBCS フォント表。システムはこの表を 5227-5 型プリンターで使用します。

QIGC3232

文字を 32 × 32 ドット・マトリックス・イメージで印刷するのに使われる日本語 DBCS フォント 表。システムはこの表を 5583 プリンターおよび 5337-1 型プリンターで使用します。

QIGC3232S

文字を 32 × 32 ドット・マトリックス・イメージで印刷するのに使われる中国語 (簡体字) DBCS フォント表。システムはこの表を 5337-R05 型プリンターで使用します。

ドキュメント内 rbal3pdf.ps (ページ 169-200)

関連したドキュメント