外字テーブルの作成

外字テーブル生成用定義カードの作成を行い、外字テーブル登録プログラムを使用して、外字テーブルを作成します。

プログラム名

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 の外字テーブル一覧から外字テーブル名を指定してください。

外字テーブル名

表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)を実行してください。