アラビア語およびヘブライ語などの双方向 (bidi) 言語とは、
テキストが右から左の順にユーザーに表示され、
テキスト内の数値およびラテン語英字ストリングが左から右に表示される言語のことです。また、プログラム変数内に文字が現れる順序は異なる場合があります。COBOL 環境では、
プログラム変数内のテキストは通常は表示 順、つまり、テキストがユーザー・インターフェースに表示されるのと同じ順序になります。Java™ 環境では、テキストは通常は論理 順、つまり文字が入力フィールドに入力される順に保管されます。
これらの順序付けおよび他の関連する表示特性に相違があるため、
プログラムは、双方向テキスト・ストリングをある形式から別の形式に変換できる必要があります。bidi 変換属性は、
プログラムとは別に作成される bidi 変換テーブル (.bct) ファイルで指定します。プログラムは変換テーブルの名前を参照して、属性変換を実行する方法を指示します。
どのような場合でも、bidi 変換テーブル参照は、.bct 拡張子を除く
1 から 8 文字のファイル名として指定します。例えば、mybct.bct という名前の bidi 変換テーブルを作成してある場合は、
プログラムの先頭に次の文を追加することによって、プログラムに formConversionTable という値を設定できます。
sysVar.formConversionTable = "mybct.bct" ;
作業内容は次のとおりです。
- 実行する変換を指定する bidi 変換テーブルを作成します。Java クライアントと COBOL ホストの間で受け渡しされるデータ、および Java™ 環境においてテキストまたは印刷書式で表示されるデータを変換するために必要なテーブルは異なることに注意してください。
- 次のような適切な状況で適切なテーブルを参照します。
- bidi 言語テキストを含む書式、データ・テーブル、またはリテラルを使用する COBOL プログラムを生成する場合、ビルド記述子オプション bidiConversionTable を設定します。
- リモート COBOL プログラムを呼び出す Java プログラムを生成する場合は、
プロパティー conversionTable が呼び出し先プログラムの callLink エレメント (または、非同期転送の場合は asynchLink エレメント) 内にあるように、
次のいずれかの方法でリンケージ・オプション・パーツをカスタマイズします。
- プロパティーの値として変換テーブルを指定する。
- プロパティーを programControlled に設定する。つまり、呼び出し側プログラムが、他のプログラムを呼び出す前に変換テーブルを指定します。起動側は、変換テーブル名をシステム変数 sysVar.callConversionTable に割り当てることによって、テーブルを指定します。
- bidi 言語テキストを含むテキストまたは印刷書式を使用する Java プログラムを生成する場合は、
書式を表示する前に、変換テーブル名をシステム関数 sysVar.formConversionTable に割り当てるプログラムにステートメントを追加します。
- bidi 言語テキストを含むテキストまたは印刷書式を使用するプログラムを生成する場合は、
書式を表示する前に、変換テーブル名をシステム関数 sysVar.formConversionTable に割り当てるプログラムに文を追加します。
bidi 変換テーブル・ウィザード・プラグイン (ファイル BidiConversionTable.zip に入っている) を使用して、
次のように bidi 変換テーブルをビルドします。
- 次の Web サイトからファイルをダウンロードします。
- ワークベンチ・ディレクトリーにファイルを unzip します。
- ウィザードの実行を開始するには、「ファイル」>「新規」>「その他」>「BidiConversionTable」をクリックします。
EGL プログラムで使用されるテーブルの名前は 8 文字以下で、.bct 拡張子が付いていなければなりません。
- ウィザードの実行中に F1 を押すと、ヘルプが表示され、テーブルを作成するための適切なオプションを選択するのに役立ちます。
COBOL プログラムを生成するための bidi 変換テーブルを作成する場合は、
次の表に示されているように、クライアント・エンコードおよびサーバー・エンコードを指定してください。
言語 |
bidi 変換テーブル用のクライアント・エンコード |
bidi 変換テーブル用のサーバー・エンコード |
アラビア語 |
Cp1256 |
Cp864 |
ヘブライ語 |
Cp1255 |
Cp1255 |
bidi 変換テーブルは、COBOL 環境の場合、テーブルで要求される他の形式変換とともに、
テキストの論理順から表示順への変換を制御します。プログラム生成時は、
次の表に示すように、1 組のビルド記述子オプション (clientCodeSet と serverCodeSet) が、ASCII から EBCDIC へのコード・ページの変換を制御します。