ONGSOURCE() = string
または
ONGSOURCE = string
2 つ目の構文形式は、BUILTIN 属性を使用して 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!
説明
ONGSOURCE 擬似変数は、CONVERSION 条件を発生させた無効な文字列を置換するのに使用されます。変換を再度実行するときには新しい文字列が使用されます。
ONGSOURCE 擬似変数は CONVERSION ON-unit のコンテキストでのみ有効になります。その他すべてのケースでは、ONGSOURCE 擬似変数は無視されます。