Oracle Apex添加IF语句在表单中设置一个值



我正在Oracle Apex 22.1系统中工作,其中有一个表单,其中用户输入要由公司验证的金额。有3个字段,分别是选择列表P3_REQUEST_TYPE,文本字段P3_AMOUNT和选择列表P3_TYPE_CURRENCY。我想做的是,如果用户选择了选项"Payment Request";在P3_REQUEST_TYPE中,根据P3_AMOUNT中输入的金额和P3_TYPE_CURRENCY中的币种(美元、日元),输入值"1";在P3_FG_RT字段中,

我想知道是否有一种方法可以通过if函数做到这一点,因为通过动态动作我无法使其工作,我将非常感谢您的帮助。

"1"如果它大于或等于5,000并且它们是美元,或者如果它大于或等于18,000并且它们是日元。

这看起来确实是动态动作。

  • 它的作用将是"Set value">

  • 类型可能是PL/SQL函数体:

    RETURN CASE WHEN    :P3_REQUEST_TYPE = 'Payment Request'
    AND :P3_TYPE_CURRENCY IN ('USD', 'JPY')
    THEN 1
    END;
    
  • 提交项目:P3_REQUEST_TYPE,P3_TYPE_CURRENCY

  • 受影响元素:item,P3_FG_RT

虽然,正如你所说,这些是选择列表项,我有点怀疑返回值真的是"付款请求"或";JPY"-我假设你实际上返回他们的代码,而不是描述,所以CASE表达式可能需要更改。

使用动态操作的决定取决于以下问题:是在页面提交之前需要设置重要性的值,还是只在提交时才重要@Littefoot解释了如何执行动态操作,但如果该值仅在页面提交后才需要,则更容易设置页面项P3_FG_RT的值(过程点提交后)。

实现这个计算的一种方法是:
  • 类型:静态值
  • 静态值:1
  • 服务器端条件:表达式
  • PL/SQL表达式:
:P3_REQUEST_TYPE = 'Payment Request' AND :P3_TYPE_CURRENCY IN ('USD', 'JPY')

相关内容

最新更新