我正在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')