我如何解决一个“问题”;FRM-30408:无效值“;Oracle表单中的错误?

我如何解决一个“问题”;FRM-30408:无效值“;Oracle表单中的错误?,oracle,plsql,oracleforms,Oracle,Plsql,Oracleforms,我的表单有一个主块(ORDER)和一个详细块(ORDER\u LINE)。ORDER块有一个ORDER\u ID项(它的主键),定义如下: PROCEDURE query_order_lines ( order_lines IN OUT ORDER_LINE_CURSOR_TYPE, order_id NUMBER, line_number VARCHAR2, bin VARCHAR2, plu

我的表单有一个主块(
ORDER
)和一个详细块(
ORDER\u LINE
)。
ORDER
块有一个
ORDER\u ID
项(它的主键),定义如下:

PROCEDURE
  query_order_lines
  (
    order_lines   IN OUT ORDER_LINE_CURSOR_TYPE,
    order_id      NUMBER,
    line_number   VARCHAR2,
    bin           VARCHAR2,
    plu           VARCHAR2,
    description   VARCHAR2
  );

ORDER\u行
块使用
ORDER.ORDER\u ID
项作为参数来查询其记录:

ORDERING\u PACKAGE.QUERY\u ORDER\u 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: Invalid value. Reference: ORDER.ORDER_ID Block: ORDER_LINE Procedure: ORDERING_PACKAGE.QUERY_ORDER_LINES Form: ORDER_FORM FRM-30085: Unable to adjust form for output. FRM-30408:无效值。 参考:ORDER.ORDER\u ID 块:订单行 程序:订购\包装。查询\订购\行 表格:订购表格 FRM-30085:无法为输出调整表单。 根据文件,建议的解决方案是:

原因:为指定数据类型输入的值无效

措施:纠正以下一个或多个问题:

  • 与指定过程的过程参数列表中的给定值相对应的参数的数据类型
  • 指定过程的过程参数列表中的参数值 这两项建议都不起作用:

  • 格式(
    NUMBER
    )中参数的数据类型与过程参数的数据类型(
    NUMBER
    )相同
  • 参数(
    ORDER.ORDER\u ID
    )的值也是类型
    NUMBER
    (请参见第一个屏幕截图)

  • 如何解决此错误?

    啊,是的,Oracle表单中非常有用的帮助文件。“你的参数错了,改变它,你这个蠢货。”

    在这种情况下没有太多帮助,因为错误有点微妙

    在这种情况下,您为参数
    ORDER.ORDER\u ID
    指定的值将不可引用。您需要使用良好的ole将其预先挂起
    ,以将其标识为绑定变量。“
    :ORDER.ORDER\u ID
    ”是在参数的值字段中的读取方式

    实际上,value列必须是表单可以在PL/SQL块(表单中)中引用的实际值


    希望这有帮助

    唉。我希望文件能给出一些这样的例子。