Oracle APEX PL/SQL 动态操作函数体

Oracle APEX PL/SQL dynamic Action Function Body

如有任何帮助 pl/sql,我将不胜感激。首先是一些基本信息。我正在使用 APEX 4.2 并有一个交互式报告和表格。我有兴趣在表单上构建动态操作,以便在更改 LEAVE_DATE 时,PL/SQL 函数体(动态操作)计算此人是否在开始日期的 12 个月内离开。以下是正在播放的专栏以及我尝试过的内容。这两个计算是两个独立的动态动作。如果此人在 BILL_READY DATE 的 12 个月内离开,则第一个是计算结果的新日期,如果在 12 个月内离开,则第二个是 returns 'Early Leaver'。如果他们能在同一个计算中就好了。

:P24_LEAVE_DATE (DATE)
:P24_BILL_READY (DATE)
:p24_NEW_LEAVE_DATE (DATE) CALULATED
:P24_MESSAGE (VARCHAR 255) --This would display 'Early Leaver' if within 12 months else null.

begin
case when :P24_LEAVING_DATE between :P24_BILL_READY AND (:P24_BILL_READY + 365) THEN (:P24_LEAVING_DATE - 30)
ELSE :P24_LEAVING_DATE
END CASE;
END;

感谢您的帮助,

您需要在项目 P24_LEAVE_DATE 上创建 "change" 类型的动态操作。该操作将是一个 PLSQL 函数体类型的设置值操作。代码应该是这样的:

declare
   l_date date;
begin
   if :p24_leaving_date between :p24_bill_ready and (:p24_bill_ready + 365)
   then
      l_date := :p24_leaving_date - 30;
   else
      l_date := :p24_leaving_date;
   end if;
   return l_date;
end;

我唯一不确定的是 APEX 如何处理日期值。如果将它们作为字符串值处理,您需要在其中向日期代码添加一些字符串。