我的表单有一个主块 ( ORDER
) 和一个详细块 ( ORDER_LINE
)。该ORDER
块有一个ORDER_ID
项目(它的主键)定义如下:
该ORDER_LINE
块使用该ORDER.ORDER_ID
项目作为参数来查询其记录:
该ORDERING_PACKAGE.QUERY_ORDER_LINES
过程声明如下:
PROCEDURE
query_order_lines
(
order_lines IN OUT ORDER_LINE_CURSOR_TYPE,
order_id NUMBER,
line_number VARCHAR2,
bin VARCHAR2,
plu VARCHAR2,
description VARCHAR2
);
当我尝试编译我的 Oracle 表单 ( Ctrl+ T) 时,我收到如下错误:
FRM-30408:无效值。 参考:ORDER.ORDER_ID 块:ORDER_LINE 程序:ORDERING_PACKAGE.QUERY_ORDER_LINES 表格:ORDER_FORM FRM-30085:无法调整输出形式。
根据文档,推荐的解决方案是:
原因:为指定数据类型输入的值无效。
行动:更正以下一项或多项:
- 与指定过程的过程参数列表中的给定值对应的参数的数据类型。
- 指定过程的过程参数列表中的参数值。
这些建议都不起作用:
- ( )形式的参数
NUMBER
的数据类型与过程参数 (NUMBER
) 的数据类型相同。 - 参数 (
ORDER.ORDER_ID
) 的值也是类型NUMBER
(见第一个屏幕截图)
如何解决此错误?