将报告过滤器传递到APEX中的存储过程

时间:2018-11-02 08:07:23

标签: stored-procedures oracle-apex

我在apex应用程序中有一份报告。报告具有过滤器。我想添加按钮以运行存储过程。按下按钮时,我需要将过滤器参数传递给存储过程。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我假设您是指交互式报告?我认为您不需要将它们作为参数传递-您可以使用apex_application_page_ir_cond表查找在交互式报表上定义的过滤器。

Try this example query(在下面复制并粘贴):

SELECT ircond.condition_name, ircond.condition_type, ircol.report_label,
   ircond.condition_column_name, ircond.condition_operator,
   ircond.condition_expr_type, ircond.condition_expression,
   ircond.condition_expression2, ircond.condition_sql,
   ircond.condition_display, ircond.condition_enabled
FROM apex_application_page_ir ir 
JOIN apex_application_page_ir_rpt irr
   ON ir.interactive_report_id = irr.interactive_report_id
JOIN apex_application_page_ir_cond ircond
   ON irr.report_id = ircond.report_id
JOIN apex_application_page_ir_col ircol
   ON ir.interactive_report_id = ircol.interactive_report_id
  AND ircond.condition_column_name = ircol.column_alias
WHERE ir.application_id = TO_NUMBER (:app_id)
AND ir.page_id = TO_NUMBER (:app_page_id)
AND ir.region_name = 'Interactive Report'
AND ircond.condition_type = 'Filter'
AND irr.session_id = :app_session
AND irr.base_report_id =
      (SELECT apex_ir.get_last_viewed_report_id (TO_NUMBER (:app_page_id),
                                                 ir.region_id)
         FROM DUAL)