2016-06-30 13 views
0

シャトルアイテムの値をテーブルに保存しようとしています。 Shuttle項目の値は、表示値として名前を、戻り値としてIDを持つLOVから取得されます。Oracle Apex Shuttleアイテム配列が空の時submit

私が作成している配列は保存後も空のままなので、選択しているアイテムの数にかかわらず、長さは常に0です。

アイテムを格納するためのPL/SQLコードは次のとおり

DECLARE 
diagnostic NUMBER; 
l_selected apex_application_global.vc_arr2; 

BEGIN 
diagnostic := ID_DIAG_OPHT_SEQ.NEXTVAL; 
l_selected := apex_util.string_to_table(:P205_SHUTTLE); 

for i in 1..l_selected.count loop 
    insert into DIAG_OPHT_LIST(ID_DIAG_OPHT, ID_LIST_OPHT) 
    values (diagnostic, l_selected(i)); 
end loop; 
end; 

Iは、固定値を挿入してい代わりに( '3:7:25:45' '):P205_AJ_PATHOLOGIE' すべての作品良い。

アイテムのプロパティでは、すべてを標準として残しました。私が言ったように、私は名前付きLOVを使用していて、Sourceは 'Session stateの現在の値がnullで、Source Typeが' Static assignment 'のときのみ使用されます。

ページの項目で

+0

このpl/sqlを実行するアクションで、パラメータP205_AJ_PATHOLOGIE(または:P205_SHUTTLE)を渡しましたか? – Gar

+0

ええ、どこでこのコードを実行していますか?たとえば動的アクションまたは送信時のプロセスですか? – Tom

+0

私はそれを渡しています(バリデーション後)元のパラメータは:P205_AJ_PATHOLOGIE(シャトルアイテム名) –

答えて

0

は、データのように見える任意の助けを事前に感謝:P205_SHUTTLEか:P205_AJ_PATHOLOGIEはあなたのプロセスを呼び出すときはnullです。

あなたはそれを確認することができます - ちょうどあなたのコードONSUBMIT

RAISE_APPLICATION_ERRORでエラーを発生させる( ' - 20000':P205_SHUTTLE ||」「|| P205_AJ_PATHOLOGIE)。

nullが返された場合は、アイテムの値のいずれかが消去されたため、保存プロセスの前にプロセスをチェックします。

いつかセッション中のアイテムで同じ問題が発生しました。ブラウザを閉じてもう一度開いてください。

+0

ありがとう、実際には戻り値はnullです。私は今、同じコードをテストし、ページ項目を提出する動的アクションを作成し、選択した値を返します。だから私はデータを保存するための動的なアクションを使用して回避策を作成しようとします。うまく動作しますか? –

+0

おそらくあなたのプロセスは「リセットページ」プロセスの後にスタートしますか? nullのために処理中のページの他の項目を確認できますか? –

+0

いいえ、他の項目には適切な値があります。 –

関連する問題