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