Sayfalar

5 Haziran 2011 Pazar

Oracle WorkFlow - Mesaj Ekleme

1.5.1.2. Mesaj Ekleme


Mesaj iceriği tanımlanır...
Body kısmına

Mesaj direk yazılabilecegi gibi
Merhaba Sayın &degisken_adi ...
Seklinde de yazılabilir...
Prosese eklemek için

New Notify denip ekleme yapılır...
Bu ekran doldurulur...
Message alanında bizim oluşturduğumuz mesaj seçilir..
Node kısmı önemli...
Performer alanına Oracle kullanıcılarının ismi yazılır...
Ekran düzenlenir..
Kaydedildikten sonra çalıştırılır...
Tarihçeye bakıldığında bildirimin gönderildiği görülür...

Bildirime tıklanınca detay görülür...
Mesajlar seçimsel olabilir...

Message kısmında Result tabına gelip
Lookup Type tan Onay seçilir...
Notify nesnesine gelinir Oradan da Result type seçilir..
Onay seçilir...
Şekildeki gibi Onayla ve Reddet durumuna göre düzenleme yapılır...

Ekrandaki gibi Onayla Reddet seçenekleri oluşur... 

1.5.1.3. Değişken kullanma


Proje üzerindeyken Sağ tıklayıp New Attribute denir...
Değişken tanımlama ekranı yukarıdaki ortaya çıkar..

ONAYLAYAN değişkeni 100 karakter uzunluğunda text olarak tanımlandı...
MAIL_ICERIGI diye bir değişken daha tanımlandı...


Message tarafına değişkenler & simgesi ile eklenebilir...
Değişkenlerin kullanılmak için sürükle bırak ile istediğimiz alana taşıyabiliriz...
Body kısmını yukarıdaki gibi deiğiştirdikten sonra OK diyoruz...

Son hali yukarıdaki gibi olacaktır...
WF yi bulup çalıştırınca tanımladığımız değişkenleri doldurmamız için alanlar açılır...
Yukarıdaki şekilde bildirim gelir... Onayla deyince...

Süreç tamamlanır...

1.5.1.4. Stored function ekleme


Şimdi bu sürecin başına bir strored function ile kontrol ekleyelim...

Package kısmına
PROCEDURE deneme_proc2 (
   itemtype    IN              VARCHAR2,
   itemkey     IN              VARCHAR2,
   actid       IN              NUMBER,
   funcmode    IN              VARCHAR2,
   resultout   OUT NOCOPY      VARCHAR2
)
IS
   l_onaylayan   VARCHAR2 (100);
BEGIN
   l_onaylayan :=
             wf_engine.getitemattrtext (itemtype, itemkey, “ONAYLAYAN”, TRUE);

   IF l_onaylayan = “SYSADMIN”
   THEN
      resultout := “Y”;
   ELSE
      resultout := “N”;
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      wf_core.CONTEXT (“XXYSM_DENEME_WF”, “DENEME_PROC2”, itemtype, itemkey);
      resultout := “N”;
END deneme_proc2;

Procedure u yazilir.

wf_engine.getitemattrtext (itemtype, itemkey, “ONAYLAYAN”,TRUE);

yukarıdaki procedure ile belirlenen item için bilgiler alınabilir…

Yeni function da yukarıdaki gibi ayarlar yapıldıktan sonra ok denir...
Yukarıdaki gibi düzenleme yapıldıktan sonra kaydedilir...


Yukarıdaki sonuç çıkar...
Yeniden SYSADMIN olarak giriş yapılırsa

Burada onay için bekler...
Onaylama yapılırsa...
Akış tamamlanır...

1.5.1.5. Lookup Type

Kendi Lookup typelarımızı tanımlayabiliriz...

Lookup type üzerindeyken sağ tıklayıp New deyip yeni Lookup type tanımlanır..

Kullanıcı detayı olarak SYSADMIN ve User seçtim...
Package icine yeni bir procedure yazarak
PROCEDURE deneme_proc3 (
   itemtype    IN              VARCHAR2,
   itemkey     IN              VARCHAR2,
   actid       IN              NUMBER,
   funcmode    IN              VARCHAR2,
   resultout   OUT NOCOPY      VARCHAR2
)
IS
   l_onaylayan   VARCHAR2 (100);
BEGIN
   l_onaylayan :=
             wf_engine.getitemattrtext (itemtype, itemkey, “ONAYLAYAN”, TRUE);

   IF l_onaylayan = “SYSADMIN”
   THEN
      wf_engine.setitemattrtext
                               (itemtype,
                                itemkey,
                                “MAIL_CONTENT”,
                                “Mail Sistem Yöneticisi İçin Gönderilmiştir.”
                               );
      resultout := l_onaylayan;
   ELSE
      wf_engine.setitemattrtext (itemtype,
                                 itemkey,
                                 “MAIL_CONTENT”,
                                 “Mail Kullanıcı İçin Gönderilmiştir.”
                                );
      resultout := “USER”;
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      wf_core.CONTEXT (“XXYSM_DENEME_WF”, “DENEME_PROC3”, itemtype, itemkey);
      resultout := “N”;
END deneme_proc3;
Bunun kontrolunu yapabiliriz…

Yeni yazılacak functiona

Yukarıdaki gibi bir duzenleme yapılır.Böylelikle bizim tanımladığımızı Lookup type kullanılmış olur...
Burada yeni New Notificty seçilip bağlantı kurulur...

Hiç yorum yok: