Oracle Apex Shuttle 项目数组在提交时为空
Posted
技术标签:
【中文标题】Oracle Apex Shuttle 项目数组在提交时为空【英文标题】:Oracle Apex Shuttle Item Array empty on submit 【发布时间】:2016-06-30 09:48:39 【问题描述】:我正在尝试将 Shuttle Item 中的值保存到表格中。 Shuttle 项的值取自 LOV,名称作为显示值,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,使用的源是“仅当会话状态中的当前值为 null 时”且源类型为“静态分配”。
提前感谢您的帮助
【问题讨论】:
您是否在运行此 pl/sql 的操作中传递了参数:P205_AJ_PATHOLOGIE(或:P205_SHUTTLE)? 是的,你在哪里运行这段代码?例如动态操作或提交过程? 我在提交时通过它(验证后)原始参数是:P205_AJ_PATHOLOGIE(班车项目名称) 【参考方案1】:调用您的进程时,页面项中的数据看起来像:P205_SHUTTLE 或 :P205_AJ_PATHOLOGIE 为空。
您可以检查它 - 只需在您的代码 onSubmit 中引发错误
raise_application_error('-20000',:P205_SHUTTLE||' '||P205_AJ_PATHOLOGIE );
如果它返回 null - 然后在保存过程之前检查进程,因为某处项目值已被删除。
有时我在会话中遇到同样的问题 - 关闭您的浏览器并再次打开。
【讨论】:
谢谢,实际上返回为空。我现在创建了一个动态操作,测试相同的代码并提交页面项目,然后它返回选定的值。因此,我尝试使用动态操作创建一种解决方法来保存数据。希望有效 也许您的流程在“重置页面”流程之后开始?你能检查页面上的其他项目是否为 null 吗? 不,其他项目都有其正确的值。 尝试在此页面中创建另一个项目并为此列设置另一个项目名称。以上是关于Oracle Apex Shuttle 项目数组在提交时为空的主要内容,如果未能解决你的问题,请参考以下文章
Oracle APEX - 将 Shuttle Item 选择保存到新表