SANITIZE宣言は、オプションとして、オペレーティング システム機能を使用して送信されるTDPメッセージの有効な文字を定義します。このようなすべての機能はEBCDICだけをサポートしているため、SANITIZE処理によって、サポートされていない文字または非EBCDIC文字が受入可能な文字に置換されます(ハイフン文字(16進数の60)はTDP表記規則です)。この情報が指定されない場合、エンコーディング スキーマに基づいてデフォルトが選択されます。
構文
使用方法に関する注意
実際のSANITIZE情報は、SANITIZE宣言の直後のステートメントに含まれています。このような各ステートメントの構文は、次のようになります。
target_codepoint1<-target_codepoint2>: data_codepoint ...
構文規則:
- target_codepoint1
- この文で定義される最初の文字を指定する。
- target_codepoint2
- オプションとして、この文で定義される最後の文字を指定する。data_codepointは、関連付けられたtarget_codepoint文字の置換文字を定義する。
codepointは、文字の16進数表現です。codepointを指定するために必要な文字数は、文字セットのエンコーディング スキーマによって変わります。TDPに関係する文字では、UTF16エンコーディングを除いて長さは常に2です。UTF16エンコーディングの長さは4です。
2番目のターゲット コードポイントを指定した場合、2つのターゲット コードポイント間の範囲で、各文字に1つのデータ コードポイントが必要になります。2番目のターゲット コードポイントを省略した場合、任意の数のデータ コードポイントを指定できます。各データ コードポイントは、前のデータ コードポイントより1つ大きなコードポイントに関連付けられます。
コロンを含むSANITIZE宣言後のすべてのステートメントは、SANITIZE宣言に関連付けられます。コロンがない場合は、そのステートメントが新しい宣言で、SANITIZE宣言が終了することを示します。
SANITIZE宣言は、文字セットごとに1回だけ宣言できる。
異なるステートメントの間でのデータ コードポイントの順序は、重要ではありません。同じ文字が文字セットに対して複数定義されている場合は、最後の値が使用されます。
SANITIZEの前にCHARSET宣言がない場合、文字セットの説明は、実際上オペランドがないものとしてCHARSET宣言を暗黙的に開始する。
例: SANITIZE
IBM CCSID 933の1バイト コンポーネントであるIBM Code Page 833のSANITIZE情報を指定します。標準EBCDICに対応していない有効な文字は、ハイフンに変換されます。
SANITIZE 0E-0F: 4C 6E 42-49: 60 60 60 60 60 60 60 60 52-59: 60 60 60 60 60 60 60 60 62-69: 60 60 60 60 60 60 60 60 72-78: 60 60 60 60 60 60 60 8A-8F: 60 60 60 60 60 60 9A-9F: 60 60 60 60 60 60 AA-AF: 60 B2: 60 BA-BC: 60 60 60 E0: 60