外字テーブルの作成
外字テーブル生成用定義カードの作成を行い、外字テーブル登録プログラムを使用して、外字テーブルを作成します。
プログラム名
XRECTBL
実行(EXECステートメント)パラメーター
SOURCE=XXXXXXXX, OBJIN=XXXXXXXX, OBJOUT=XXXXXXXX
- SOURCE
-
ソースDD名
アセンブルプログラムソースDD名を指定します。指定しない場合は、初期値の“SYSIN”となります。
- OBJIN
-
オブジェクトプログラム入力元DD名
アセンブルプログラムのオブジェクトプログラム入力元DD名を指定します。指定しない場合は、初期値の“SYSLIN”となります。
- OBJOUT
-
オブジェクトプログラム出力先DD名
アセンブルプログラムのオブジェクトプログラム出力先DD名を指定します。指定しない場合は、初期値の“SYSLIN”となります。
XRSYSIN定義カード
定義カードの形式
OPLSELECT=操作ログ出力選択 (*1)
*1 |
: |
操作ログ出力機能を使用する場合は、操作ログ関連の設定が必要です。詳細は、以下を参照してください。 HULFT10 for zOS オペレーション マニュアル : |
XRCRD定義カード
各外字テーブルを作成するための定義カードの形式について説明します。
XRCRD定義カード内には複数の外字テーブルを定義できます。
【外字テーブル名の指定】
変換したい文字コードに合わせて、表3.13 の外字テーブル一覧から外字テーブル名を指定してください。
外字テーブル名
入力コード |
出力コード |
外字 |
未定義時の |
---|---|---|---|
IBM漢字 |
Shift-JIS |
ITSTBL |
X'81A0' |
IBM漢字 |
EUC-JP |
ITETBL |
X'A2A2' |
IBM漢字 |
JEF |
ITJTBL |
X'A2A2' |
IBM漢字 |
UTF-8 |
ITU8TBL |
X'E296A1' |
Shift-JIS |
IBM漢字 |
STITBL |
X'44E9' |
EUC-JP |
IBM漢字 |
ETITBL |
X'44E9' |
JEF |
IBM漢字 |
JTITBL |
X'44E9' |
UTF-8 |
IBM漢字 |
U8TITBL (*1) |
X'44E9' |
*1 |
: |
外字テーブル名にU8TITBLを指定すると、外字テーブルU8TITBLと外字テーブルU8TITBL2が作成されます。 |
【デフォルトコードの指定】
外字テーブルに定義されていない外字を変換する場合に使用するデフォルトコードを指定します。
デフォルトコードを指定した場合、外字テーブルに定義されていない外字コードはデフォルトコードへ変換されます。
[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'
-
UTF-8からIBM漢字へ外字変換するテーブル(U8TITBL)を登録する場合、XRCRD定義カードにUTF-8のコード体系に存在しないコードを指定しないでください。
-
1つのXRCRD定義カード内に定義されている外字テーブルが重複していた場合、最後に定義した外字テーブルの内容が有効になります。
-
EUC-JPからIBM漢字へ外字変換するテーブル(ETITBL)を登録する場合、XRCRD定義カードにEUC-JPのコード体系に存在しないコードを指定しないでください。
JCL例
外字テーブルを作成するためのJCL例は以下のとおりです。
作成例として、IBM漢字からShift-JISへ変換するときに、「㈱」(IBM漢字:0x446D,Shift-JIS:0x878A)を変換するための外字テーブル作成方法を記述します。
//XRECTBL JOB CLASS=A,MSGCLASS=B //XRECTBL EXEC PGM=XRECTBL,REGION=1024K //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //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)) //SYSLIN DD DSN=&&OBJECT2,DISP=(,PASS,DELETE),UNIT=SYSDA, // SPACE=(CYL,(010)) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(10)) //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //XRCRD DD * ITSTBL DEFAULT 81A0 446D 878A END /* //
DD名 |
項目名 |
説明 |
---|---|---|
STEPLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリー |
XRSYSIN |
HULFT.PARMLIB(HULPRM) |
システム動作環境設定ファイル |
SYSLMOD |
HULFT.LOAD |
HULFTロードモジュールライブラリー |
パラメーター名 |
項目名 |
説明 |
---|---|---|
UNIT |
SYSDA |
UNIT |
外字テーブルを作成するとき、HULFTロードモジュールライブラリーがデータオーバーフローすると、正しく外字テーブルを作成できません。HULFTロードモジュールライブラリーの容量を確認してから、外字テーブル登録プログラム(XRECTBL)を実行してください。