サービス・プログラムのプロシージャーで何らかのメソッド(プロシージャー)を呼び出して
実行するようにしたとする。
戻り値には TRUE または FALSE などによってプロシージャーの実行が成功か失敗かを
戻すようにしたい。
ただし成功のときには値も取得したものとする。
例えば
EVAL RESULT = GETXLVALUE(ROW : COL : VALUE)
というプロシージャーの実行があるとする。
このプロシージャー GETXLVALUE
は 行 ROW
, 列 COL
を指定して実行する。
RESULT
に「TRUE」が戻ったときには VALUE
に取得した値が入っていて、
これを取得したいものとする。
しかしこのプロシージャーの記述ではそれはできない。
取得値のフィールド VALUE
には値をパラメータとして値が戻らないからである。
値 を取得しようと希望するのであれば
EVAL RESULT = GETXLVALUE(ROW : COL : %ADDR(VALUE))
として %ADDR
によって VALUE
のポインターを指定する。
サービス・プログラムのほうでもポインターを戻すようにする。
このようにすればプロシージャーのパラメータ値を戻すことができるようになる。