Sayfalar

5 Haziran 2011 Pazar

Oracle WorkFlow- Builder

1.5. Builder ekranı



Attribute ler degişkenleri temsil eder... Buraya kullanılacak degişkenler yazılmalıdır...
Prosesler yapılan işleri temsil eder...
Notificationlar bildirimleri temsil eder...
Eventler olay tanımınınn yapıldığı ekranlardır...
Message larda degiskenleri kullanarak mesajlar oluşturulabiliyor.. Message lar tek başlarına kullanılamazlar.. Mutlaka Notification ile kullanilmalidir...

En Sık kullanılan procedure leri kullanmak için kutuphaneye mutlaka ilgili kutuphaneler eklenmelidir..
Load edilirken hata ile karşılaşılabilir... O yuzden aşağıdaki sorgu yazılır...
update wf_messages_tl
set display_name = trim(display_name);

update wf_messages_tl
set SUBJECT = trim(SUBJECT);

update wf_messages_tl
set body = trim(body);

update wf_item_types_tl
set display_name = trim(display_name),
description=trim(description);

update wf_activities_tl
set display_name = trim(display_name),
description=trim(description);

update wf_lookup_types_tl
set display_name = trim(display_name);

update wf_activity_attributes_tl
set display_name = trim(display_name);

update wf_item_attributes_tl
set display_name = trim(display_name);

1.5.1. Yeni bir WF oluşturma


 SS Onayı nı açtım ki hazır libraryleri yeni projeme alabileyim...Sonra SS Onayı kaldıracağız...
New denir...
Untitled-5 e çift tıklanır...

Yukarıdaki tanımlar doldurulur...
Internal Name Uniqe olmalı...
Display Name kullanıcının göreceği kısımdır...
Description WF ile ilgili açıklamaların yazıldığı kısımdır...

Roles kısmında kimlerin erişebileceği belirlenir... Buna dokunulmuyor... (Şimdilik)

Access kısmı  : Sorumluluk bazında erişim düzeyi belirlenir...
 Bunu da Help-> About kısmındaki Acces level ile
 Erişim düzeyini belirliyoruz..
OK dedikten sonra libraryler (Standart , Eş zamanlı Yönetici Fonksiyonları , XML Ağ Geçidi Standardı) kopyala yapıştır ya da sürükle bırak ile aşağı gönderilir...
Son hali yukarıdaki gibi olmalıdır...
Sonra diğeri (SS Onayı) projeden kaldırılabilir...

Kaydet diyelim
 Local makineye kaydedelim... Yolu seçtim kaydettim..
 Proses e çift tıklandığında yukarıdaki ekran çıkacaktır..
Burada fonksiyonumuz tanımlanır.
 Her WF bir Start ile başlayacağından öncelikle Start fonksiyonu oluşturulur...Ok dedim...
 “BASLA” ya çift tıklandıktan sonra
 Yukarıdaki ekran çıkar burada New  Function  denir...
 Burada Item Type için Standart seçilir...
 Internal name için START secilir...
Node kısmını yukarıdaki gibi seçeriz..
OK denir...
 SON procedure u için yine aynı şekilde function seçilir...
 Tek fark Node kısmında End seçilmesidir.. OK denir...
 Start tan son a kadar sağ tuşa basılı karalak sürükle bırak ile bağlantı kurulur..
Veritabanina eklemek icin Save as denir.. ve baglantı kurulur...
 Yukarıdaki şekilde
“Invalid performer ... in process activity”
hatası alırsak...
Standart library in içindeki oylama testi veya vote test prosesi silinir...
Sonra tekrar kaydet denir..
Sonra aşağıdaki işleme devam edilir...
 WF mizi yazdıktan sonra Git denir... Listeden Çalıştır denir...
 Kalem anahtarı sırayla artan unique bir rakam olmalıdır...Kalem Anahtarı olarak 1 seçelim...
Onaya gönder butonuna tıklanir..

Yukarıda WF nin çalıştırılmış hali görünüyor...
 Statu izlemeye gelerek alanlar doldurulur ve arama yapılabilir...
 Kalem anahtarına göre bizim WF bulunabilir...WF seçildikten sonra “Aktivite tarihçesi”ne bakarak izlemeye alınabilir...
 WF Ne zaman baslamış ne zaman bitmiş kontrol edilebilir...
 Diaygrama tıklanarak hangi aşamalardan geçildiği görülebilir...
1.5.1.1. Procedure ekleme
Şimdi de bu start end arasına bir procedure ekleyelim...

Bunun için mutlaka bir package olusturulmalı..

CREATE OR REPLACE PACKAGE APPS.XXYSM_DENEME_WF AS
PROCEDURE DENEME_PROC1      (itemtype         IN  VARCHAR2,
                             itemkey          IN  VARCHAR2,
                             actid            IN  NUMBER,
                             funcmode         IN  VARCHAR2,                    
                             resultout        OUT NOCOPY VARCHAR2 );
END XXYSM_DENEME_WF;

CREATE OR REPLACE PACKAGE BODY apps.xxysm_deneme_wf
AS
   PROCEDURE deneme_proc1 (
      itemtype    IN              VARCHAR2,
      itemkey     IN              VARCHAR2,
      actid       IN              NUMBER,
      funcmode    IN              VARCHAR2,
      resultout   OUT NOCOPY      VARCHAR2
   )
   IS
   BEGIN
      INSERT INTO xxysm.xxwf_debug
                  (user_name, itemtype, itemkey, actid, funcmode, run_date
                  )
           VALUES (“DENEME”, itemtype, itemkey, actid, funcmode, SYSDATE
                  );
      resultout := NULL;
   EXCEPTION
      WHEN OTHERS
      THEN
         wf_core.CONTEXT (“XXYSM_DENEME_WF”,
                          “DENEME_PROC1”,
                          itemtype,
                          itemkey
                         );
         resultout := NULL;
   END deneme_proc1;
END xxysm_deneme_wf;

Yukarıdaki gibi bir package yazıldıktan sonra bunu entegre edebiliriz…
 Önce Delete Selection ile bağlantı kaldırılır...
 Sonra yeni function ekleyerek tanımı yapılır...
 Node ayarını Normal yaptıktan sonra OK diyebiliriz.
Sonra bağlantıları seçeriz...

Toad tarafında kontrol etmek için...
 Ebiz ile giriş yaparak WorkFlow Activity ile takibe alınabilir...
 WorkFlow ile de detay bilgiler gösterilebilir...

Hiç yorum yok: