PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
21433 | 04/07/23 19:50:37 | PB7.0: プロシージャに配列を渡す方法? By こうちゃん |
カテゴリ:スクリプトの記述
日付:2004年07月23日 19:50 発信者:こうちゃん
題名:PB7.0: プロシージャに配列を渡す方法?
皆さんこんにちは。
BPからOracleのプロシージャに配列を渡す方法について教えてほしいのです。
過去のログをいろいろと探してみると、RPCFUNCを利用することにより実装可能
とありました。
早速、同じような処理を組み込んだのですが、Oracleのエラーが発生してしまいます。
エラーは下記の通りです。
「ORA-24334:この位置に対する記述子はありません。」
実装している内容は下記の通りです。
パッケージで「PL/SQL表の型」を作成
CREATE OR REPLACE PACKAGE TEST_PKG AS
TYPE TYPE_ARRAY IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
END;
プロシージャを作成
CREATE OR REPLACE procedure pr_test
( PARM_1 IN TEST_PKG.TYPE_ARRAY
, o_kekka out integer)
IS
cnt INTEGER;
BEGIN
o_kekka := 0;
FOR cnt IN 1 .. PARM_1.COUNT LOOP
o_kekka := o_kekka + PARM_1(cnt);
END LOOP;
END;
トランザクションクラスを継承したユーザオブジェクトのローカル外部関数
subroutine TEST_PROC( integer parm_1[], integer outval ) RPCFUNC
画面のボタンのイベント
integer ary[]
integer li_val
ary[1] = 10
ary[2] = 20
ary[3] = 30
SQLCA.TEST_PROC( ary, li_val )
として、実行するとSQLCA.sqlerrtextに上記で記述したエラーメッセージが
格納されています。
どこかおかしなところが有りましたら教えてください。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X
Server SoftWare
OS Windows 2000
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.