変換が行われるのは、EBCDIC ベースのシステムと ASCII ベースのシステムとの間、または互いに異なるコード・ページを使用するシステムの間でデータが送受信されるときです。 変換は、生成時に使用されるリンケージ・オプション・パーツが、 callLink、asynchLink、または fileLinkcallLink または asynchLink エレメント内のプロパティー conversionTable の値に PROGRAMCONTROLLED を指定している場合にのみ可能です。ただし、PROGRAMCONTROLLED が指定されていても sysVar.callConversionTable がブランクである場合は、変換は行われません。
sysVar.callConversionTable は、プログラムの中で変換テーブルを切り替えるか、 データ変換をオン/オフにするために使用します。
sysVar.callConversionTable の初期値はブランクです。変換が行われる ようにするには、以前に説明したとおり、リンケージ・オプション・パーツに値 PROGRAMCONTROLLED が含まれていることを確認して、変換テーブルの名前をシステム変数に移動します。sysVar.callConversionTable をアスタリスク (*) に設定して、デフォルトの各国語コード用のデフォルトの変換テーブルを使用することができます。Java™ の場合、この設定この設定は、ロケールが targetNLS ビルド記述子オプションに指定できる言語のいずれかにマップされているときは、ターゲット・システム上のデフォルトのロケールを参照します。COBOL の場合、この設定は、EGL Server for iSeries™Enterprise Generation Server for z/OS® をインストールしたときに指定したデフォルトの各国語を参照します。
変換は、呼び出し、起動、ファイル・アクセスを発信するシステム上で行われます。1 つのレコード構造を複数のレベルで定義した場合、変換は最低レベルの項目 (副構造が存在しない項目) で行われます。
sysVar.callConversionTable の別の値との比較は、 突き合わせが全く一致する場合にのみ真と判別されます。例えば、小文字を使用して sysVar.callConversionTable を初期化する場合、 その小文字の値は小文字にのみ突き合わせします。
sysVar.callConversionTable に配置する値は、 比較目的のために未変更のまま残されます。ただし、値は、EGL ランタイムが z/OS 上の特定の変換テーブルをシークするときに大文字変換されます。
sysVar.callConversionTable = "ELACNENU"; // US English COBOL 生成用の変換テーブル
関連する参照項目
データ変換
sysLib.startTransaction
システム変数
targetNLS