EBCDICユーザーテーブルの組み込み例
大文字のアルファベットを小文字のアルファベットに変換するユーザーテーブルを作成する方法を説明します。
図3.1 のEBCDIC英数カナ文字からASCIIへの変換テーブルを元にして、大文字のアルファベットを小文字のアルファベットに変換するテーブルを作成します。図3.1 のEBCDIC英数カナ文字からASCIIへの変換テーブルでは“0xC1”(16進数)は“0x41”(16進数)に変換されます。つまり、「A」は「A」に変換されます。
アルファベットの大文字「A」を小文字の「a」に変換するには、“0xC1”(16進数)を“0x61”(16進数)に変換するテーブルに書き換えます。表3.12 のコード変換表を元に変換テーブルを作成すると図3.2 のようになります。
EBCDIC |
16進数 |
ASCII |
16進数 |
---|---|---|---|
A |
0xC1 |
a |
0x61 |
B |
0xC2 |
b |
0x62 |
C |
0xC3 |
c |
0x63 |
D |
0xC4 |
d |
0x64 |
E |
0xC5 |
e |
0x65 |
F |
0xC6 |
f |
0x66 |
G |
0xC7 |
g |
0x67 |
H |
0xC8 |
h |
0x68 |
I |
0xC9 |
i |
0x69 |
J |
0xD1 |
j |
0x6A |
K |
0xD2 |
k |
0x6B |
L |
0xD3 |
l |
0x6C |
M |
0xD4 |
m |
0x6D |
N |
0xD5 |
n |
0x6E |
O |
0xD6 |
o |
0x6F |
P |
0xD7 |
p |
0x70 |
Q |
0xD8 |
q |
0x71 |
R |
0xD9 |
r |
0x72 |
S |
0xE2 |
s |
0x73 |
T |
0xE3 |
t |
0x74 |
U |
0xE4 |
u |
0x75 |
V |
0xE5 |
v |
0x76 |
W |
0xE6 |
w |
0x77 |
X |
0xE7 |
x |
0x78 |
Y |
0xE8 |
y |
0x79 |
Z |
0xE9 |
z |
0x7A |
0F 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. A. B. C. D. E. F. X'20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D' 0 X'2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D' 1 X'2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D' 2 X'2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D' 3 X'20 A1 A2 A3 A4 A5 A6 A7 A8 A9 2D 2E 3C 28 2B 7C' 4 X'26 AA AB AC AD AE AF 2D B0 2D 21 5C 2A 29 3B 2D' 5 X'2D 2F 2D 2D 2D 2D 2D 2D 2D 2D 7C 2C 25 5F 3E 3F' 6 X'2D 2D 2D 2D 2D 2D 2D 2D 2D 60 3A 23 40 27 3D 22' 7 X'2D B1 B2 B3 B4 B5 B6 B7 B8 B9 BA 2D BB BC BD BE' 8 X'BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 2D 2D CA CB CC' 9 X'2D 7E CD CE CF D0 D1 D2 D3 D4 D5 2D D6 D7 D8 D9' A X'2D 2D 2D 2D 2D 2D 2D 2D 2D 2D DA DB DC DD DE DF' B X'7B 61 62 63 64 65 66 67 68 69 2D 2D 2D 2D 2D 2D' C X'7D 6A 6B 6C 6D 6E 6F 70 71 72 2D 2D 2D 2D 2D 2D' D X'24 2D 73 74 75 76 77 78 79 7A 2D 2D 2D 2D 2D 2D' E X'30 31 32 33 34 35 36 37 38 39 2D 2D 2D 2D 2D 2D' F
JCL例
以下のユーザーテーブルを、ユーザーテーブル1として作成するためのJCL例を示します。
-
EBCDICからASCII(Shift-JIS)へ変換する場合のユーザーテーブル
-
ASCII(EUC-JP)からEBCDICへ変換する場合のユーザーテーブル
ユーザーテーブルの前の行にある値は、ユーザーテーブル使用可否フラグです。初期値は“00(使用しない)”となっています。ユーザーテーブルを作成する場合は、“FF(使用する)”に設定してください。
【JCL例1】
以下のJCLは、EBCDICからASCII(Shift-JIS)へ変換する場合のユーザーテーブルを作成するためのJCL例です。この例の場合、ユーザーテーブル使用可否フラグは「REP 0700」の行にある“FF”の値です。
//XREBCASC JOB CLASS=A,MSGCLASS=B //ZAP EXEC PGM=IMASPZAP //SYSPRINT DD SYSOUT=* //SYSLIB DD DSN=HULFT.LOAD,DISP=SHR //SYSIN DD * NAME XREBCAS2 XREBCASC REP 0700 FF REP 0704 202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D REP 0714 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D REP 0724 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D REP 0734 2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D REP 0744 20A1A2A3A4A5A6A7A8A92D2E3C282B7C REP 0754 26AAABACADAEAF2DB02D215C2A293B2D REP 0764 2D2F2D2D2D2D2D2D2D2D7C2C255F3E3F REP 0774 2D2D2D2D2D2D2D2D2D603A2340273D22 REP 0784 2DB1B2B3B4B5B6B7B8B9BA2DBBBCBDBE REP 0794 BFC0C1C2C3C4C5C6C7C8C92D2DCACBCC REP 07A4 187ECDCECFD0D1D2D3D4D52DD6D7D8D9 REP 07B4 2D2D2D2D2D2D2D2D2D2DDADBDCDDDEDF REP 07C4 7B6162636465666768692D2D2D2D2D2D REP 07D4 7D6A6B6C6D6E6F7071722D2D2D2D2D2D REP 07E4 242D737475767778797A2D2D2D2D2D2D REP 07F4 303132333435363738392D2D2D2D2D2D REP 0804 00 REP 0808 00000000000000000000000000000000 REP 0818 00000000000000000000000000000000 REP 0828 00000000000000000000000000000000 REP 0838 00000000000000000000000000000000 REP 0848 00000000000000000000000000000000 REP 0858 00000000000000000000000000000000 REP 0868 00000000000000000000000000000000 REP 0878 00000000000000000000000000000000 REP 0888 00000000000000000000000000000000 REP 0898 00000000000000000000000000000000 REP 08A8 00000000000000000000000000000000 REP 08B8 00000000000000000000000000000000 REP 08C8 00000000000000000000000000000000 REP 08D8 00000000000000000000000000000000 REP 08E8 00000000000000000000000000000000 REP 08F8 00000000000000000000000000000000 REP 0908 00 REP 090C 00000000000000000000000000000000 REP 091C 00000000000000000000000000000000 REP 092C 00000000000000000000000000000000 REP 093C 00000000000000000000000000000000 REP 094C 00000000000000000000000000000000 REP 095C 00000000000000000000000000000000 REP 096C 00000000000000000000000000000000 REP 097C 00000000000000000000000000000000 REP 098C 00000000000000000000000000000000 REP 099C 00000000000000000000000000000000 REP 09AC 00000000000000000000000000000000 REP 09BC 00000000000000000000000000000000 REP 09CC 00000000000000000000000000000000 REP 09DC 00000000000000000000000000000000 REP 09EC 00000000000000000000000000000000 REP 09FC 00000000000000000000000000000000 /* //
DD名 |
項目名 |
説明 |
---|---|---|
SYSLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリー |
【JCL例2】
以下のJCLは、ASCII(EUC-JP)からEBCDICへ変換する場合のユーザーテーブルを作成するためのJCL例です。この例の場合、ユーザーテーブル使用可否フラグは「REP 0700」の行にある“FF”の値です。
//XREUCEBC JOB CLASS=A,MSGCLASS=B //ZAP EXEC PGM=IMASPZAP //SYSPRINT DD SYSOUT=* //SYSLIB DD DSN=HULFT.LOAD,DISP=SHR //SYSIN DD * NAME XREUCEB2 XRASCTB2 REP 0700 FF REP 0704 000102030405060708090A0B0C0D0E0F REP 0714 101112131415161718191A1B1C1D1E1F REP 0724 202122232425262728292A2B2C2D2E2F REP 0734 303132333435363738393A3B3C3D3E3F REP 0744 404142434445464748494A4B4C4D4E4F REP 0754 505152535455565758595A5B5C5D5E5F REP 0764 606162636465666768696A6B6C6D6E6F REP 0774 707172737475767778797A7B7C7D7E7F REP 0784 808182838485868788898A8B8C8D8E8F REP 0794 909192939495969798999A9B9C9D9E9F REP 07A4 A0A1A2A3A4A5A6A7A8A9AAABACADAEAF REP 07B4 B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF REP 07C4 C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF REP 07D4 D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF REP 07E4 E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF REP 07F4 F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF REP 0804 00 REP 0808 00000000000000000000000000000000 REP 0818 00000000000000000000000000000000 REP 0828 00000000000000000000000000000000 REP 0838 00000000000000000000000000000000 REP 0848 00000000000000000000000000000000 REP 0858 00000000000000000000000000000000 REP 0868 00000000000000000000000000000000 REP 0878 00000000000000000000000000000000 REP 0888 00000000000000000000000000000000 REP 0898 00000000000000000000000000000000 REP 08A8 00000000000000000000000000000000 REP 08B8 00000000000000000000000000000000 REP 08C8 00000000000000000000000000000000 REP 08D8 00000000000000000000000000000000 REP 08E8 00000000000000000000000000000000 REP 08F8 00000000000000000000000000000000 REP 0908 00 REP 090C 00000000000000000000000000000000 REP 091C 00000000000000000000000000000000 REP 092C 00000000000000000000000000000000 REP 093C 00000000000000000000000000000000 REP 094C 00000000000000000000000000000000 REP 095C 00000000000000000000000000000000 REP 096C 00000000000000000000000000000000 REP 097C 00000000000000000000000000000000 REP 098C 00000000000000000000000000000000 REP 099C 00000000000000000000000000000000 REP 09AC 00000000000000000000000000000000 REP 09BC 00000000000000000000000000000000 REP 09CC 00000000000000000000000000000000 REP 09DC 00000000000000000000000000000000 REP 09EC 00000000000000000000000000000000 REP 09FC 00000000000000000000000000000000 /* //
DD名 |
項目名 |
説明 |
---|---|---|
SYSLIB |
HULFT.LOAD |
HULFTロードモジュールライブラリー |