我正在尝试将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的源,使用的是'仅当会话状态中的当前值为空时',并且源类型为'静态赋值'。
提前感谢您提供任何帮助
答案 0 :(得分:0)
看起来像页面项中的数据:P205_SHUTTLE或:P205_AJ_PATHOLOGIE在调用您的进程时为空。
你可以检查它 - 只是在你的代码中提出错误提交
raise_application_error(' -20000',:P205_SHUTTLE ||'' || P205_AJ_PATHOLOGIE);
如果它返回null - 则在保存过程之前检查进程,因为某处项值已被删除。
有时我在会话中遇到同样的问题 - 关闭浏览器并再次打开。