我有一个带有已保存报告的IR ,其中过滤器已添加到Year = 2015列。我需要编写一个plsql过程来将Year过滤器更新为Year = 2016。 我怎样才能实现这样的场景。我查看了API,它没有给我任何东西。我能想到的唯一选择是在DB中手动更改数据。 下面是我用来获取已保存私人报告的查询。
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
我能用这种方法取得成功吗?有没有其他解决方案。 ?
答案 0 :(得分:1)
您可以尝试apex_util.ir_clear(p_page_id => 200001)
清除所有过滤器和其他设置(仅保留排序和列可见性)或apex_util.ir_reset(p_page_id => 200001)
将当前报告重置为主要报告。然后apex_util.ir_filter
设置新的过滤器。此操作不会逐字修改已保存的报告,但会更改其当前设置。下次保存的报告将与清除或重置前相同。