Oracle Application Server 10g で長時間レポートを実行しているときに、レポートのステータスが OAS 管理コンソールに「3225 ページ中 25 ページが完了しました」のように表示されます。
OAS からこの値を取得して、Oracle フォームでユーザーに表示できるようにするにはどうすればよいですか。
Oracle Application Server 10g で長時間レポートを実行しているときに、レポートのステータスが OAS 管理コンソールに「3225 ページ中 25 ページが完了しました」のように表示されます。
OAS からこの値を取得して、Oracle フォームでユーザーに表示できるようにするにはどうすればよいですか。
確かではありませんが、v$session_longops に保存されている可能性があります。例については、こちらを参照してください。
一部のオラクル コードは V$session_longops に書き込みますが、提供されている PLSQL 関数を使用して独自のアプリケーションにエンコードすることもできます。
OAS またはレポート自体がここに何かを書き込んでいる場合は、Oracle フォームからその情報を取得して、レポートの実行時にユーザーに表示できます。
上記のコードの実行中に、v$session_longops ビューの内容を次のように照会できます。
COLUMN opname FORMAT A20
COLUMN target_desc FORMAT A20
COLUMN units FORMAT A10
SELECT
opname,
target_desc,
sofar,
totalwork,
time_remaining,
units
FROM
v$session_longops
この v$session_longops クエリから期待される出力のタイプを以下に示します。
OPNAME TARGET_DESC SOFAR TOTALWORK UNITS
-------------------- -------------------- ---------- ---------- ----
BATCH_LOAD BATCH_LOAD_TABLE 3 10 rows