Sayfalar

14 Haziran 2011 Salı

Custom.pll de OK/CANCEL tarzı sorular sorarak kod çalıştırmak

FND_MESSAGE.SET_STRING ('Rapor çalışsın mı');
IF (FND_MESSAGE.WARN) THEN
/*
 Kullanıcı OK ye basmış demektir...
 Rapor için ilgili kodlar yazılır...
*/
ELSE

/*
 Kullanıcı CANCEL e basmış demektir...
 Yapılması istenen başka kodlar varsa yazılır...
*/

END IF;
--------------
Başka bir örnek ;

.....
button_choice NUMBER;
...
begin
...
  button_choice := fnd_message.question (button1 => 'YES',button2 => 'NO',button3 => 'CANCEL',default_btn =>                         1,cancel_btn => 3,icon => 'question');
IF button_choice = 1 THEN
/*
  YES e tıklanmış demektir....
*/
ELSE IF button_choice = 2 THEN
/* 
  NO ya tıklanmış demektir...
 */
ELSE
/*
  CANCEL e tıklanmış demektir...
*/
END IF
...
end;

---------------------------------
Birde Alert kullanarak yapalım;


Öncelikle tipi CAUTION olan ve Buton1 in Labeli Evet,Buton2 in Labeli Hayır olan bir alert oluşturalim.Adı da ALRT_KAYDET olsun

WHEN-BUTTON-PRESSED:

BEGIN
SET_ALERT_PROPERTY('ALRT_KAYDET',TITLE,'Kaydedilsin mi?');
SET_ALERT_PROPERTY('ALRT_KAYDET',ALERT_MESSAGE_TEXT,'Değişiklikler kaydedilsin mi?');

  IF :SYSTEM.FORM_STATUS='CHANGED' THEN
    IF SHOW_ALERT('ALRT_KAYDET
')=ALERT_BUTTON1 THEN
      /*

         Evet denirse
      */
      GO_BLOCK('BLOCK_NAME');
      COMMIT_FORM;
    ELSE

      /*
         Hayır denirse
      */      
      GO_BLOCK('BLOCK_NAME');
    END IF;
  END IF;
END;

Hiç yorum yok: