提交时,Oracle Apex Shuttle项目数组为空

时间:2016-06-30 09:48:40

标签: oracle-apex

我正在尝试将Shuttle Item中的值保存到表中。 Shuttle项的值取自LOV,Names为Display值,ID为返回值。

然而,我正在创建的数组在保存后仍然为空,因此无论我选择了多少项,长度始终为0。

用于存储项目的PL / SQL代码是:

DECLARE 
diagnostic NUMBER;
l_selected apex_application_global.vc_arr2;

BEGIN
diagnostic := ID_DIAG_OPHT_SEQ.NEXTVAL;
l_selected := apex_util.string_to_table(:P205_SHUTTLE);

for i in 1..l_selected.count loop
    insert into DIAG_OPHT_LIST(ID_DIAG_OPHT, ID_LIST_OPHT)
    values (diagnostic, l_selected(i));
end loop;
end;

当我插入修正值('3:7:25:45:')而不是':P205_AJ_PATHOLOGIE'时,一切正常。

在项目属性中,我将所有内容都保留为标准。正如我所说的,我使用的是一个名为LOV的源,使用的是'仅当会话状态中的当前值为空时',并且源类型为'静态赋值'。

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:0)

看起来像页面项中的数据:P205_SHUTTLE或:P205_AJ_PATHOLOGIE在调用您的进程时为空。

你可以检查它 - 只是在你的代码中提出错误提交

raise_application_error(' -20000',:P205_SHUTTLE ||'' || P205_AJ_PATHOLOGIE);

如果它返回null - 则在保存过程之前检查进程,因为某处项值已被删除。

有时我在会话中遇到同样的问题 - 关闭浏览器并再次打开。