外字テーブルの作成
外字テーブル生成用定義カードの作成を行い、外字テーブル登録プログラムを使用して、外字テーブルを作成します。
プログラム名
XRECTBL
実行(EXEC文)パラメータ
SOURCE=XXXXXXXX, OBJIN=XXXXXXXX, OBJOUT=XXXXXXXX
- SOURCE
-
ソースDD名
アセンブルプログラムソースDD名を指定します。指定しない場合は、初期値の“SYSIN”となります。
- OBJIN
-
オブジェクトプログラム入力元DD名
アセンブルプログラムのオブジェクトプログラム入力元DD名を指定します。指定しない場合は、初期値の“SYSLIN”となります。
- OBJOUT
-
オブジェクトプログラム出力先DD名
アセンブルプログラムのオブジェクトプログラム出力先DD名を指定します。指定しない場合は、初期値の“SYSGO”となります。
XRSYSIN定義カード
定義カードの形式
OPLSELECT=操作ログ出力選択 (*1)
*1 |
: |
操作ログ出力機能を使用する場合は、操作ログ関連の設定が必要です。詳細は、「オペレーション マニュアル」を参照してください。 |
XRCRD定義カード
各外字テーブルを作成するための定義カードの形式について説明します。
XRCRD定義カード内には複数の外字テーブルを定義できます。
【外字テーブル名の指定】
変換したい文字コードに合わせて、表3.13 の外字テーブル一覧から外字テーブル名を指定してください。
外字テーブル名
入力コード |
出力コード |
外字 |
未定義時の |
---|---|---|---|
JEF |
Shift-JIS |
JTSTBL |
X'81A0' |
JEF |
EUC-JP |
JTETBL |
X'A2A2' |
JEF |
IBM漢字 |
JTITBL |
X'44E9' |
JEF |
KEIS |
JTKTBL |
X'A2A2' |
JEF |
NEC |
JTNTBL |
X'7F7F' |
JEF |
UTF-8 |
JTU8TBL |
X'E296A1' |
Shift-JIS |
JEF |
STJTBL |
X'A2A2' |
EUC-JP |
JEF |
ETJTBL |
X'A2A2' |
IBM漢字 |
JEF |
ITJTBL |
X'A2A2' |
KEIS |
JEF |
KTJTBL |
X'A2A2' |
NEC |
JEF |
NTJTBL |
X'A2A2' |
UTF-8 |
JEF |
U8TJTBL(*1) |
X'A2A2' |
*1 |
: |
外字テーブル名にU8TJTBLを指定すると、外字テーブルU8TJTBLと外字テーブルU8TJTBL2が作成されます。 |
【デフォルトコードの指定】
外字テーブルに定義されていない外字を変換する場合に使用するデフォルトコードを指定します。
デフォルトコードを指定した場合、外字テーブルに定義されていない外字コードはデフォルトコードへ変換されます。
[DEFAULT XXXX]
【変換内容の指定】
変換前コードおよび変換後コードは文字コードを4桁の16進数(X'xxxx')で表して指定します。
XXXX(変換前コード) XXXX(変換後コード)
-
変換前コードまたは変換後コードがEUC-JPの場合、6桁の16進コードも指定できます。
-
変換前コードがUTF-8の場合、4~8桁の16進コードを指定できます。
-
変換後コードがUTF-8の場合、2~8桁の16進コードを指定できます。
【定義終了文の指定】
1つの外字テーブルの定義を終了するときに以下を指定します。
END
-
外字テーブル名はテーブル内容の前に必ず定義してください。
-
1つの外字テーブルの定義は、「END」で区切ってください。
-
最大定義文字数は65535文字です。65536文字以上を定義した場合、動作は保証されません。
-
1つの外字テーブル内で定義されているコードが重複していた場合は、後から定義した内容が有効になります。
ただし、入力コードまたは出力コードがEUC-JPの場合は、先に定義した内容が有効になります。
-
[]で囲まれている項目は省略できます。
-
デフォルト指定は、外字テーブル名の次に指定してください。
-
外字テーブルは上書き更新します。登録する外字を追加したい場合は、すでに登録されている外字もXRCRD定義カードに指定してください。
-
変換前コードや変換後コードとして、以下のコードはサポートしておりません。
X'FF'、X'FFFF'、X'FFFFFF'、X'FFFFFFFF'
-
JEFからIBM漢字へ配信側変換で転送する場合のみ、JIS基本漢字内ではない以下の文字を、外字テーブルに登録することなく自動で変換します。ただし、IBM漢字からJEFへの転送時は自動変換は行われません。
表3.14 IBM漢字へ自動変換される文字
文字
JEFコード
IBM漢字コード
℡
0x76F6
0x446F
㈱
0x78D5
0x446D
〒
0xA2A9
0x446C
-
UTF-8からJEFへ外字変換するテーブル(U8TJTBL)を登録する場合、XRCRD定義カードにUTF-8のコード体系に存在しないコードを指定しないでください。
-
1つのXRCRD定義カード内に定義されている外字テーブルが重複していた場合、最後に定義した外字テーブルの内容が有効になります。
-
EUC-JPからJEFへ外字変換するテーブル(ETJTBL)を登録する場合、XRCRD定義カードにEUC-JPのコード体系に存在しないコードを指定しないでください。
JCL例
外字テーブルを作成するためのJCL例は以下のとおりです。
作成例として、JEFからShift-JISへ変換するときに、「㈱」(JEF:0x78D5,Shift-JIS:0x878A)を変換するための外字テーブル作成方法を記述します。
//XRECTBL JOB CLASS=A,MSGCLASS=B //JOBLIB DD DSN=HULFT.LOAD,DISP=SHR //JOBCAT DD DSN=USERCAT,DISP=SHR //XRECTBL EXEC PGM=XRECTBL,REGION=2048K //XRSYSIN DD DSN=HULFT.PARMLIB(HULPRM),DISP=SHR //SYSLMOD DD DSN=HULFT.LOAD,DISP=SHR //SYSIN DD DSN=&&OBJECT,DISP=(,PASS,DELETE),UNIT=SYSDA, // SPACE=(CYL,(010)) //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10)) //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(10)) //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(10)) //SYSGO DD DSN=&&OBJECT2,DISP=(,PASS,DELETE),UNIT=SYSDA, // SPACE=(CYL,(010)) //SYSLIN DD DSN=&&OBJECT3,DISP=(,PASS,DELETE),UNIT=SYSDA, // SPACE=(CYL,(010)) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(10)) //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //XRCRD DD * JTSTBL DEFAULT 81A0 78D5 878A END /* //
DD名 |
項目名 |
説明 |
---|---|---|
JOBLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリ |
JOBCAT |
USERCAT |
カタログ簿データセット名 |
XRSYSIN |
HULFT.PARMLIB(HULPRM) |
システム動作環境設定ファイル |
SYSLMOD |
HULFT.LOAD |
HULFTロードモジュールライブラリ |
パラメータ名 |
項目名 |
説明 |
---|---|---|
OBJOUT |
SYSLMOD |
オブジェクトプログラム出力先DD名 |
UNIT |
SYSDA |
UNIT |
外字テーブルを作成するとき、HULFTロードモジュールライブラリがデータオーバーフローすると、正しく外字テーブルを作成できません。HULFTロードモジュールライブラリの容量を確認してから、外字テーブル登録プログラム(XRECTBL)を実行してください。