Discover AS/400

AS/400に関する覚書

API:QDCXLATE

システムAPIのQDCXLATEはSBCSの文字変換とDBCSの文字変換を行うAPIです。

SBCSに関してはIBM提供の変換テーブルを使用することも出来ますし、ユーザーが作成したテーブルでの変換も可能です。
一方DBCSの変換に関してはSJIS←→IBM漢字のみとなります。

API:QDCXLATEのパラメータ

1 5BYTE-パック数字(I) 変換されているデータの長さ
2 文字(I/O) 変換データ
3 10BYTE-文字(I) SBCS 変換テーブル名
  ★以降は任意★  
4 10BYTE-文字(I) SBCS 変換テーブル・ライブラリー名
5 文字(O) 出力データ
6 5BYTE-パック数字(I) 出力バッファーの長さ
7 5BYTE-パック数字(O) 変換されたデータの長さ
8 10BYTE-文字(I) DBCS 言語
 *JPN:IBM 日本語グラフィック文字セット
 *KORIBM:ハングル語グラフィック文字セット
 *CHSIBM:中国語(簡体字)グラフィック文字セット
 *CHTIBM:中国語(繁体字)グラフィック文字セット
 *BG5:台湾業界標準グラフィック文字セット (BIG-5)
 *KSC:韓国業界標準グラフィック文字セット (KS)
 *SCGS:中華人民共和国国家標準グラフィック文字セット (GB)
9 1BYTE-文字(I) シフトアウトおよびシフトイン文字
 Y:シフト文字をつける
 N:シフト文字をつけない
10 10BYTE-文字(I) 変換のタイプ
 *AE:EBCDIC→ASCII
 *EA:ASCII→EBCDIC



■SBCSテーブルの作成
テーブルは事前にソースを作成して、CRTTBLコマンドでコンパイルしたものをこのAPIで使用できます。
EBCSIC(CCSID:5026)→ACSIIに変換するテーブルを作成する例です。
SEUでMYLIB/QBLSRCにASC5026というメンバーを登録します。
ちなみに5026のテーブルはこれを参照してください→ここ
ソースの2文字ずつで1キャラクターをあらわし、X'00'から開始されテーブル展開されます。


dcxlate1.jpg


■API呼び出しサンプル(RPG)
dcxlate2.jpg

■API呼び出しサンプル(RPGLE)
dcxlate3.jpg

HOME : TOP

Category

Archive