2017-12-22 5 views
0

私はOracle forms builder 10gを使用しています。ボタンを押したときにトリガーを割り当てたボタンを追加しました。 pl/sql codeはうまくコンパイルが、私はボタンをクリックすると、Oracleフォームビルダのメッセージをご了承ください。

を言っForms message pop upok buttonでメッセージ

ご了承くださいませ。私がokを押すと、コードは実行され続け、希望の結果が得られます。 私が作成するすべてのトリガに対してこの問題があることに注意してください。 このメッセージがポップアップしないようにするにはどうすればよいですか?どんな助けもありがとう。

答えて

0

message_levelシステムパラメータを上記の5に上げると、これらの情報メッセージが表示されなくなります。

だから、あなたは、この目的のためにWHEN-NEW-FORM-INSTANCEまたはPRE-FORMトリガーに割り当て下に追加することがあります。rootのために検査する、message_levelを変更せずに

:system.message_level := 6; 

または代わり

を原因:ON-MESSAGEON-ERRORトリガーを追加する(form level):

/*ON-ERROR*/ 
declare  
    errcode number  := error_code; 
    errtype varchar2(10) := error_type; 
    errtext varchar2(100) := error_text; 
begin 
    message(errtype | | ' - ' | | to_char(errcode) | | ' : ' | |errtext); 
end; 

/*ON-MESSAGE*/ 
declare  
    msgcode number  := message_code; 
    msgtype varchar2(10) := message_type; 
    msgtext varchar2(100) := message_text; 
begin 
if msgcode in (40400,40401) then 
    message('all data successfully saved.'); 
else 
    message(msgtype | | ' - ' | | to_char(msgcode) | | ' : ' | |msgtext); 
end if; 
end; 
+2

トリガー内のメッセージレベルを変更することをお勧めします。正確にそれが私を悩ますところ)、フォームレベルではありません。それとは別に、私は@Barbarosの提案に同意します。まず、それをより高いレベルに設定し、それを元の値に復元します。トリガーの先頭に「元の」値を保存しておき、後で元の値に戻すことができます。 – Littlefoot

+0

私はこの解決策を試してみました。私はsystem.message_level:= 6を追加しました。 WHEN-NEW-FORM-INSTANCEトリガーでは、今はフォームロード時とボタンクリック時にそのメッセージを受け取りました。 – RoyNasr

+0

値を25と0に変更しようとしましたが、メッセージのポップアップがフォームのロード時に表示されたので、トリガーを割り当てたときに問題が発生していると思われます。 – RoyNasr

関連する問題