CURRENT APPLICATION ENCODING SCHEME 特殊レジスター
CURRENT APPLICATION ENCODING SCHEME は、動的ステートメントで使用するコード化スキームを指定します。 これは、データの処理に使用するコード化スキームをアプリケーションが指定できるようにします。 このレジスターは、REXX アプリケーションまたは REXX で書かれたストアード・プロシージャーではサポートされません。
特殊レジスターに含まれる値は CCSID の文字表現です。 値 ASCII、EBCDIC、または UNICODE を使用して特殊レジスターを設定することは できますが、特殊レジスターに保管されるものは、SET CURRENT APPLICATION ENCODING SCHEME ステートメントに使用された値に対応する、数値 CCSID を文字表現したものです。 値 ASCII、EBCDIC、または UNICODE は保管されません。 数値 CCSID 値から ASCII、EBCDIC、または UNICODE の値を得るには 、CCSID_ENCODING スカラー関数を使用することができます。
データ・タイプは CHAR(8) です。 必要な場合、その長さが 8 バイトになるように、 値の右側にブランクが埋め込まれます。
ストアード・プロシージャーおよびユーザー定義関数の場合、CURRENT APPLICATION ENCODING SCHEME 特殊レジスターの初期値は、プロシージャーまたは関数に関連付けられたパッケージの ENCODING バインド・オプションの値、または、コンパイル済み SQL 関数またはネイティブ SQL プロシージャーの CREATE FUNCTION、 ALTER FUNCTION、 CREATE PROCEDURE、または ALTER PROCEDURE のいずれかのステートメントの APPLICATION ENCODING SCHEME オプションによって決まります。 オプションが指定されていない場合、初期値は、インストール・ パネル DSNTIPF の DEFAULT APPLICATION ENCODING SCHEME フィールドの値です。
基本トリガーの場合、CURRENT APPLICATION ENCODING SCHEME 特殊レジスターの初期値は Unicode です。 拡張トリガーの場合、CURRENT APPLICATION ENCODING SCHEME 特殊レジスターの初期値は、インストール・パネル DSNTIPF の DEFAULT APPLICATION ENCODING SCHEME フィールドの値です。
例
現在のアプリケーションエンコーディングスキームの特別なレジスタは、他の特別なレジスタと同様に使用できます EXEC SQL VALUES(CURRENT APPLICATION ENCODING SCHEME) INTO :HV1;
EXEC SQL INSERT INTO T1 VALUES (CURRENT APPLICATION ENCODING SCHEME);
EXEC SQL SET :HV1 = CURRENT APPLICATION ENCODING SCHEME;
EXEC SQL SELECT C1 FROM T1 WHERE C1 = CURRENT APPLICATION ENCODING SCHEME;