私のフォームには、マスター ブロック ( 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
);
CtrlOracle フォーム ( + )をコンパイルしようとするとT、次のようなエラーが表示されます。
FRM-30408: 値が無効です。 参照: ORDER.ORDER_ID ブロック: ORDER_LINE 手順: ORDERING_PACKAGE.QUERY_ORDER_LINES フォーム: ORDER_FORM FRM-30085: 出力のフォームを調整できません。
ドキュメントによると、推奨される解決策は次のとおりです。
原因: 指定されたデータ型に入力された値が無効です。
処置: 次の1つ以上を修正してください。
- 指定されたプロシージャのプロシージャ引数リスト内の指定された値に対応する引数のデータ型。
- 指定されたプロシージャーのプロシージャー引数リスト内の引数の値。
これらの推奨事項はどちらも機能しません。
- 形式の引数のデータ型 (
NUMBER) は、プロシージャのパラメーターのデータ型 ( ) と同じですNUMBER。 - 引数の値 (
ORDER.ORDER_ID) もタイプですNUMBER(最初のスクリーン ショットを参照) 。
このエラーを解決するにはどうすればよいですか?