【问题标题】:Oracle APEX filter change dynamically in saved reportsOracle APEX 过滤器在已保存报告中动态更改
【发布时间】:2016-12-06 11:55:36
【问题描述】:

我有一个带有已保存报告的 IR,其中过滤器已添加到 Year = 2015 列。我需要编写一个 plsql 程序来将 Year 过滤器更新为 Year = 2016。 我怎样才能实现这样的场景。我查看了 API,它没有给我任何东西。我能想到的唯一选择是在数据库中手动更改数据。 下面是我用来获取保存的私人报告的查询。

SELECT  a.flow_id,a.page_id,a.status,a.application_user,a.name, b.interactive_report_id, c.condition_type,c.column_name,c.operator,c.expr
FROM apex_040000.wwv_flow_worksheet_rpts a, apex_application_page_ir b, apex_040000.WWV_FLOW_WORKSHEET_CONDITIONS c
WHERE a.flow_id = :APP_ID
AND a.page_id = b.page_id
AND b.application_id = a.flow_id
AND a.worksheet_id = b.interactive_report_id
AND a.status = 'PRIVATE'
AND c.report_id = a.id
AND c.column_name='YEAR'
and a.page_id= :APP_PAGE_ID

我能用这种方法取得成功吗?有没有其他解决方案。 ?

【问题讨论】:

    标签: oracle report oracle-apex interactive


    【解决方案1】:

    您可以尝试apex_util.ir_clear(p_page_id => 200001) 清除所有过滤器和其他设置(仅保留排序和列可见性)或尝试apex_util.ir_reset(p_page_id => 200001) 将您当前的报告重置为主要报告。然后apex_util.ir_filter 设置新的过滤器。此操作不会从字面上修改您保存的报告,而是更改它的当前设置。下次保存的报告将与清除或重置之前相同。

    【讨论】:

    • 如果我们有多个过滤器而不是年份。 ?我们只想更改年份过滤器。 IR 有很多不同的过滤器,我只需要更改 em 的年份
    • 我建议编辑所有已保存的报告并删除年份过滤器。然后您可以通过调用 apex_util.ir_filter 或 IR_column_name URL 参数来设置年份。
    • 过滤器是用户为特定年份添加的。除非达成一致,否则我们不能删除它们。我想要一个程序,将所需的年份作为输入,并将所有 IR 年份过滤器更改为此,并且 IR 之前添加了一个年份过滤器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多