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'から開始されテーブル展開されます。
■API呼び出しサンプル(RPG)
