Oracle Apex 5 Calendar - 维护日历项表单未找到数据

Oracle Apex 5 Calendar - maintain calendar item form raises no data found

我正在 APEX 5 中创建一个带有相关表单的日历来维护日历项目。我通过 table 上的向导执行此操作,其中包含主键(和关联序列)、日期列和标题列。日历屏幕工作正常,当我单击一个空日期时,会出现一个模态表单,允许我添加日历项目。当我单击将更改应用到项目时,出现错误 ORA-01403: no data found

我假设这是因为 pk 没有被填充,所以我在验证后添加了一个提交过程来填充 pk 列,就像我们在其他默认 CRUD 表单中所做的那样。它的序列号较低,因此应在按下应用更改按钮时首先执行。代码是:

begin 
if :P5_SIGHTING_ID is null then
    select "#OWNER#"."SIGHTING_SEQ".nextval
      into :P5_SIGHTING_ID
      from sys.dual;
end if; end;

然而,当我 运行 表单时,我在尝试创建记录时仍然遇到相同的未找到数据错误。

更新 - 如果我将 pk 项目从隐藏更改为文本字段,我可以看到它已正确填充,因此似乎不需要上面的触发器。我认为这个错误是在重定向回主日历期间引发的,但我不确定如何调试它。

好的,我已经解决了 - 如果它可以帮助其他人,我会添加。

错误发生在Process Row,Automatic Row Processing (DML) 过程中。默认情况下,向导生成的表单不显示创建按钮,因为它有一个条件 - 但是默认情况下这似乎不起作用。如果我将“创建”按钮上的条件更改为“始终”,表单将按我预期的方式工作,并且我可以在我的日历中创建和更新项目。