在同一会话状态下更改变量值

Changing variable value in same session state

我有一个文本字段 P1_SHOW_DATA,它会在单击按钮时通过动态操作更新为值 'Y'。然后这个字段在 SQL 查询中用作

where :P1_SHOW_DATA='Y'

但是,:P1_SHOW_DATA 的值在第一次按下提交按钮后设置为 'Y'。我希望将此变量的值重置为 'N',以便用户在更改过滤器后必须重新提交。

有什么办法可以实现吗?

在我看来,你过于复杂了。

  • 有一个包含报告的页面(至少,"SQL query" 和 "where" 听起来像这样)
  • 为了显示所需的数据,您必须设置过滤器
    • 我认为这些是页面上的其他项目
  • 设置过滤器后,用户提交页面(通过按下按钮)
  • 报告获取数据

到目前为止,还不错。现在,让我们更改过滤器:

  • 嗯...改变它们
  • 设置新过滤器后,用户应提交页面(通过按下按钮)
  • 报告根据新设置的过滤器获取新数据

为什么需要 P1_SHOW_DATA?删除它并按原样使用报告

找到了我自己问题的答案。

添加一个触发'Post Rendering'且执行点为'After Regions'的计算,并将项目值设置为静态值'N',我们可以更改变量值相同的会话状态。