割り当て - ONGSOURCE 擬似変数

目的

ONGSOURCE 組み込み関数の現在の値を設定します。

構文

ONGSOURCE() = string 

または

ONGSOURCE = string

2 つ目の構文形式は、BUILTIN 属性を使用して ONGSOURCE を明示的に宣言している場合にのみ使用できます。

パラメーター

string
グラフィック文字列に変換される式。CONVERSION 条件を発生させたフィールドの長さが、string の長さよりも大きい場合、string に空白文字が埋め込まれます。フィールドの長さが string の長さよりも小さい場合、フィールド長に合わせて string は切り捨てられます。

説明

ONGSOURCE 擬似変数は、CONVERSION 条件を発生させた無効な文字列を置換するのに使用されます。変換を再度実行するときには新しい文字列が使用されます。

ONGSOURCE 擬似変数は CONVERSION ON-unit のコンテキストでのみ有効になります。その他すべてのケースでは、ONGSOURCE 擬似変数は無視されます。

例:

この例は、コードページが 932 - SHIFT-JIS - Japanese であることを前提としています。

ONGSRC: PROC OPTIONS(MAIN);

DCL I     FIXED BIN(15);
DCL CSTR  CHAR(4);
DCL GSTR  GRAPHIC(4);

ON CONVERSION BEGIN;
     PUT SKIP LIST("ON CONVERSION TRIGGERED");
     ONGSOURCE() = 'Err!';
     i = 99;
END ;

GSTR = '8989826182638264'GX;    /* x8989 invalid dbcs char */
PUT SKIP LIST(HEX(GSTR));

CSTR =  GSTR;     /* '8989'gx conversion error */
PUT SKIP LIST(HEX(GSTR));

CSTR =  GSTR;
PUT SKIP LIST(CSTR);
END;

次のように表示されます。

8989826182638264
ON CONVERSION TRIGGERED
8989826182638264
ON CONVERSION TRIGGERED
Err!

制限事項

なし。