6.9.1 CBLDCUTL('CNVOPN ') − 文字コード変換の開始
(1) 形式
(a) PROCEDURE DIVISIONの指定
CALL 'CBLDCUTL' USING 一意名1 一意名1 一意名1
(b) DATA DIVISIONの指定
TP1/Client/Pの場合
01 一意名1. 02 データ名A PIC X(8) VALUE 'CNVOPN '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC X(256). 02 データ名D PIC S9(9) COMP VALUE ZERO. 02 データ名E PIC 9(9) COMP.
TP1/Client/P(64)の場合
01 一意名1. 02 データ名A PIC X(8) VALUE 'CNVOPN '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC X(256). 02 データ名D PIC S9(9) COMP. 02 FILLER PIC X(4). 02 データ名E PIC 9(18) COMP.
(2) 機能
文字コード変換を開始し,使用するコードマッピングテーブルをメモリに確保します。
(3) UAPで値を設定するデータ領域
-
データ名A
文字コード変換の開始を示す要求コードを「VALUE 'CNVOPN△△'」と設定します。
-
データ名C
空白を設定します。
-
データ名D
変換方法を指定します。
1:CommuniNetとの連携による変換を行います。
0:コードマッピングテーブルを使用しないで,換算による変換を行います。
(4) 値が返されるデータ領域
-
データ名B
ステータスコードが,5けたの数字で返されます。
-
データ名E
メモリ上に確保された文字コード変換制御テーブルのハンドルが返されます。
(5) ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
正常終了しました。 |
02501 |
データ名に指定した値が誤っています。要求コード(データ名A)が間違っている場合も含みます。 |
02504 |
メモリ不足が発生しました。 |
02557 |
コードマッピングテーブルが存在しません。 |
02558 |
現在使用中のコードマッピングテーブルは未サポートです。このステータスコードは,CommuniNetインストール後,CommuniNetコードマッピングユティリティでコードマッピングテーブルの保存を一度も行っていない場合にも返されます。 |
02559 |
コードマッピングテーブルのI/Oエラーが起こりました。 |
(6) 注意事項
-
CALL文のUSING句に一意名1を三つ指定してください。
-
この機能を使用する場合は,CommuniNetのコードマッピングテーブルが必要です。CommuniNetのコードマッピングユティリティで,コードマッピングテーブルを作成してから,この機能を使用してください。
-
CommuniNetインストール後,一度もCommuniNetコードマッピングユティリティで保存されていないコードマッピングテーブルは,使用できません。この機能を使用する前に,CommuniNetコードマッピングユティリティでコードマッピングテーブルを保存してください。
-
CommuniNetのコードマッピングテーブルのファイル名は,必ずCMAPEX.TBLとし,この機能を使用する前にWindowsのディレクトリ下に格納してください。
-
この機能を使用している途中で,CommuniNetのコードマッピングユティリティによって,コードマッピングテーブルの内容を変更しても,文字コード変換機能の処理には反映されません。
-
この機能では,エラーログ,およびUAPトレースの情報は取得しません。
-
文字コード変換の開始(CBLDCUTL('CNVOPN '))は,1回だけ発行して,文字コード変換の実行(CBLDCUTL('CNVEXEC '))をしてください。メモリ不足となるおそれがあるため,文字コード変換の開始は複数回発行しないでください。複数回発行した場合は,発行した回数分,文字コード変換の終了(CBLDCUTL('CNVCLS '))を発行してください。