私は、表(ソリューション表)に挿入するバックトラッキングを呼び出すOracle Form内でプロシージャを作成しています。そのバックトラッキングは、 "豆"のVARRAY(ítem_array)によって与えられます。問題は、コンパイラは関数名がないことを示しています。データベース内Oracle Formsコンパイラは、関数として型をマークします。
既存のオブジェクト:
CREATE TYPE item IS object(NUM_OPERACIO NUMBER, TITULS NUMBER);
CREATE TYPE item_array IS VARRAY(1000) OF item;
create table my_table (NUM_OPERACIO NUMBER, TITULS NUMBER);
insert into my_table (NUM_OPERACIO,TITULS) values (1,10);
insert into my_table (NUM_OPERACIO,TITULS) values (2,20)
insert into my_table (NUM_OPERACIO,TITULS) values (3,30)
手順
PROCEDURE solver
IS
arr item_array;
BEGIN
SELECT item(NUM_OPERACIO,TITULS)
BULK COLLECT INTO arr
FROM my_table;
delete from solucion ;
backtra(arr,1,0,30);
END;
私はこれを解決するために何ができますか?
同じスキーマですべてが実行されている(または特権などが正しく設定されている)限り、そのタイプは正常に作成されています。あなたが得る完全なエラーメッセージスタックは何ですか? –
エラー591。この機能はクライアントがインストールしたプログラムではサポートされていません。 エラー222.このスコープには関数名はありません。 エラー0。文は無視されます。 –
'item'、' item_array'、および 'my_table'というオブジェクトをどのスキーマで作成しましたか?これらのオブジェクトがAPPSと同義語を持っていること、またはOracle Formsのデフォルト・スキーマ(APPS)には表示されないことを確認してください。 –