0

我在 APEX 5 中创建了一个带有关联表单的日历来维护日历项目。我正在通过具有主键(和相关序列)、日期列和标题列的表上的向导来执行此操作。日历屏幕工作正常,当我单击一个空日期时,会出现一个模式表单,允许我添加一个日历项目。当我单击对项目应用更改时,我收到错误消息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 项目从隐藏更改为文本字段,我可以看到它已正确填充,因此似乎不需要上面的触发器。我认为在重定向回主日历期间会引发此错误,但我不确定如何调试它。

4

1 回答 1

0

好的,我已经解决了这个问题 - 将添加以防它可以帮助其他人。

错误发生在进程行、自动行处理 (DML) 进程中。默认情况下,向导生成的表单不显示创建按钮,因为它有一个条件 - 但是默认情况下这似乎不起作用。如果我将创建按钮上的条件更改为 ALWAYS,则表单会按预期工作,并且我可以在日历中创建和更新项目。

于 2015-08-05T10:02:23.320 回答