1

Oracle Application Server 10g で長時間レポートを実行しているときに、レポートのステータスが OAS 管理コンソールに「3225 ページ中 25 ページが完了しました」のように表示されます。

OAS からこの値を取得して、Oracle フォームでユーザーに表示できるようにするにはどうすればよいですか。

4

1 に答える 1

0

確かではありませんが、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
于 2012-08-01T13:32:10.293 に答える