ONGSOURCE 関数

目的

CONVERSION 条件が発生したときに処理されていたフィールドのコンテキストの値を、グラフィック文字列として返します。

構文

ONGSOURCE()

または

ONGSOURCE

2 番目の構文形式は、ONGSOURCE が BUILTIN 属性とともに明示的に宣言されている場合のみ使用できます。

説明

ONGSOURCE 関数は、CONVERSION 条件が発生したときに処理されていたフィールドのコンテキストの値を、グラフィック文字列として返します。

ONGSOURCE 関数は、CONVERSION 条件のために確立された ON ユニットにおいて使用できます。また、CONVERSION の ON ユニット でのエラー修正が失敗すると制御を得る、ERROR の ONユニット のために使用できます。

返される値は、可変長のグラフィック文字列です。

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

ONGSRC: PROC OPTIONS(MAIN);

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

ON CONVERSION BEGIN;
     DCL BADSTR  GRAPHIC(4);
     PUT SKIP LIST("ON CONVERSION TRIGGERED");
     BADSTR = ONGSOURCE();
     PUT SKIP LIST (HEX(BADSTR));
     ONGSOURCE() = 'Err!';
END ;

GSTR = '8989826182628263'GX;
PUT SKIP LIST(HEX(GSTR));

CSTR =  GSTR;     /* '8989'gx conversion error */

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

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

8989826182628263
ON CONVERSION TRIGGERED
8989826182628263
ON CONVERSION TRIGGERED
8989826182628263
Err!

制限事項

なし。