Koşul ve Koşul Listesi

<< Click to Display Table of Contents >>

Navigation:  Likom Gusto Olay Yönetimi > Arayüz ve Tanımlar >

Koşul ve Koşul Listesi

Previous pageReturn to chapter overviewNext page
Show/Hide Hidden Text

Olay Yönetim'inde kontrol zamanı gelen olayların koşulu çalıştırılır. Koşul SQL sorgusundan oluşmaktadır. SQL sogusu çalıştırıldığında eğer satır(lar) oluşursa oluşan satırlar "kaynak satırı" olarak adlandırılır ve durum "koşul sağlandı" olarak değerlendirilir. Eğer kaynak satırı oluşmamışsa "koşul sağlanmadı" olarak ifadelendirilir.

 

Koşul tanımlarının listelendiği, yeni koşul tanımlarının oluşturulabildiği veya mevcut tanımların silinebildiği ve düzenlenebildiği Koşul Listesi ekranına ulaşmak için TanımlarArrow_rKoşullar menüsüne tıklanmalıdır. exp_collapseoy

 

tog_minus'Koşulsuz' Koşulu

Bazı olayların koşula bağlı olmaksızın çalıştırılması istenebilir. Bu durumda olayın koşulu "Koşulsuz" olarak işaretlemek gerekmektedir. Koşulsuz seçiminde herhangi bir SQL sorgusu koşulmadan olayın çalışma sürecini "koşul sağlandı"  durumunda değerlendirilip koşul sağlandığında gerçekleştirilecek eylemler listesinde belirtilen eylemler çalıştırılır. Koşulu Koşulsuz olarak belirtilmiş olayların koşul sağlanmadığında gerçekleştirilecek eylemler listesinde belirtilen eylemlerin hiç biri çalışmayacaktır.

 

 

Koşul listesi ekranının sol tarafında koşullar listelenmektedir. Ekranın sağ tarafında ise koşul tanımı yer almaktadır. Koşul tanımı seçili koşulun bilgilerini içermektedir.

 

Koşul Listesi

Koşul Listesi

Koşulun Bilgileri


Özellik

Açıklama

Koşul Adı

Koşula verilen isimdir. Kullanıcının tanımlarını rahat takip edebilmesi için vardır.

Veri Tabanı Bağlantısı

SQL sorgusunun çalıştırılacağı veritabanının bağlantı bilgisidir.

SQL Sorgusu

Koşulacak SQL sorgusudur.

Satır Koşulu

Olay çalışırken her satıra uygulanabilecek koşul

Parametreler

Sorgu koşulduktan sonra dönen kolonların her birisidir

 

tog_minusParametreler

 

Parametre, koşulda belirtilen SQL sorgusundan dönen tablodaki her bir kolon için oluşturulur. Parametreler bir sonraki koşulun çalıştırılmasında kullanılmak üzere indekslenebilir, E-posta eylemlerinde görünürlüğü ayarlanabilir ve görünüm formatı da belirlenebilirdir.

 

Parametrelerin Özellikleri


Özellik

Açıklama

Parametre Adı

SQL sorgusundan dönen kolon adıdır.

Sorguda Kullanımı

Koşul SQL sorgusunda veya SQL içeren diğer eylemlerin sorgularında gömülü olarak kullanım şeklidir.

Mesajda Göster

Koşul sonucu oluşan kaynak satırlarını herhangi bir e-posta eylemi kullanıyorsa o e-postada görünüp görünmeyeceği belirlenir.

Gösterim Adı

Mesajda Göster seçeneği seçili ise e-postada gözüken etiketidir.

İndeksle

Koşul çalıştırılıp eylemler başarılı bir şekilde koşulduktan sonra Indeksle seçeneği aktif parametrelerin kaynak satırındaki en yüksek değeri kaydedilir

İndeks Değeri

Eğer parametrenin indeksle seçeneği aktif ise indeks değerini belirtir.

Varsayılan Değer

Parametrenin varsayılan değeridir.

Format

Kaynak satırında parametreye denk düşen değerin e-postadaki görünüm şeklini belirler.

 

tog_minusKoşul Oluşturma Adımları

 

1.

Koşul oluşturmak için Koşul Listesi' nde bulunan "Ekle" düğmesi kullanılır.

2.

SQL editörüne koşul yazılır.

3.

Doğrula düğmesine tıklanır.

4.

Parametrelerde istenen değişiklikler yapılır.

 

tipbulb Satır değişikliğini koşulda kullanma

Koşul tanımı, veri tabanı tablolarına satır eklendiğinde çalışmaktadır. Tablodaki satır verileri değiştiğinde de sonuç üretecek koşullar tanımlayabilmek içinTrigger Kullanımı'nı inceleyebilirsiniz.

 

tog_minusİndeksli Koşul Oluşturma

 

Olay Yönetimi Koşul çalışması durumsuzdur(stateless). Yani koşulun iki kere çalışması arasında herhangi bir veri bağı bulunmamaktadır. SQL sorgusu da sabit olduğundan koşul her çalıştığında oluşan kaynak satırları daha önceki çalışmalarında elde edilen satırları da içerecektir. Bundan kurtulmak için çok karmaşık SQL ler yazmak gerekebilir. Bu karmaşıklıktan İndeksler kullanarak kaçılabilir.

 

Örneğin BPM kullanıcılarının oluşturduğu faaliyetlerin sayılarını veren bir koşul hazırlayalım.

Koşulumuzun Sql sorgusu aşağıdaki gibi olacaktır. Sorguyu koşul tanımındaki Sql sorgusu editörüne yapıştırılıp Doğrula düğmesine basılmalıdır. Doğrulama sonucu oluşan parametreler Parametreler listesinde listenecektir.

 

select MAX(EPMFaalIyet_ROWID) 'SonFaaliyetIdsi',EPMFAALIYET_ROWID,K.UZUNADI 'BPM Kullanıcısı',COUNT(*) 'Faaliyet Sayısı'

from EPMFaaliyet -- BPM faaliyet tablosu

-- BPM kullanıcı tablosu ile join ediliyor

left outer join EPMKULLANICI K

on PKULLANICI=EPMKULLANICI_ROWID

-- BPM kullanıcısına göre gruplandırılıyor

group by UZUNADI order by UZUNADI

 

Koşulun kaynak satırlarında bulunan "SonFaaliyetIdsi" kolonunu indeksleyebilir ve bu değeri bir sonraki koşulun çalışmasında kullanabiliriz.

Parametre İndeksleme

Parametre İndeksleme

 

Şekildeki gibi SonFaaliyetIdsi parametresi indekslenecektir. Fakat bu haliyle henüz sorguda kullanılmış değidir. Sorguda kullanmak için sorguya bu parametreyi kullanan koşul eklenmelidir. SQL sorgusunda indekslenen bir parametreyi kullanmak için parametreinin "Sorguda Kullanımı" özelliğinde belirtilmiş hali kulanılmalıdır. Kullanmak istediğiniz parametreye çift tıklayarak da editörün imlecin bulunduğu noktaya parametrenin doğru kullanımı yerleştirilecektir.

 

İndeksin sorguda kullanımı

İndeksin sorguda kullanımı

Sorguya eklenen

 

                  where EPMFAALIYET_ROWID>{SonFaaliyetIdsi}

 

koşulun çalışması ile kaydedilen indeks değeri {SonFaaliyetIdsi} değeri olacaktır. Bu indeks değerinin SQL sorgusunda  kullanılması ile oluşan kaynak satırlarının daha önceki çalışması ile oluşan satırlardan farklı, başka bir deyişle yeni olması garantilenmiş olacaktır. Örneğin koşul çalıştırıldıktan sonra oluşan kaynak satırları aşağıdaki gibi ise, oluşan satırlardaki indekslenen parametrenin(SonFaaliyetIdsi)  en büyük değeri yeni indeks olarak kaydedilecektir.

 

SonFaaliyetIdsi

BPM Kullanıcısı

Faaliyet Sayısı

1041286

Kullanıcı 1

96

1090663

Kullanıcı 2

6418

439150

Kullanıcı 3

58

1050539

Kullanıcı 4

268

1090903

Kullanıcı 5

4285

1049115

Kullanıcı 6

147

1090884

Kullanıcı 7

14936

1050532

Kullanıcı 8

323

1049130

Kullanıcı 9

1691

Oluşan kaynak satırlarında en yüksek SonFaaliyetId değeri  1090663 'dür. Bu durumda koşulun bir sonraki çalışmasında SQL sorgusu aşağıdaki gibi hal alacaktır.

 

declare @SonFaaliyetIdsi int

set @SonFaaliyetIdsi=1090663

select MAX(EPMFaalIyet_ROWID) 'SonFaaliyetIdsi',

K.UZUNADI 'BPM Kullanıcısı',COUNT(*) 'Faaliyet Sayısı'

from EPMFaaliyet -- BPM faaliyet tablosu

-- BPM kullanıcı tablosu ile join ediliyor

left outer join EPMKULLANICI K

on PKULLANICI=EPMKULLANICI_ROWID

 

where EPMFAALIYET_ROWID>@SonFaaliyetIdsi

 

-- BPM kullanıcısına göre gruplandırılıyor

group by UZUNADI order by UZUNADI

 

 

 

tog_minus_sev2 Özetçe Indeks kullanan Koşul oluşturma adımları

1.

SQL sorgusu indeks parametresi içermediği haliyle yazılır. ({....} olmayacak)

2.

Doğrula düğmesine tıklanır.

3.

Gelen parametrelerden indekslenecek olan parametre işaretlenir.

4.

SQL sorgusuna İndekslenen parametre eklenir.

   

 

 

 

tipbulb İndekslerin Güncellenmesi

Olay tanımında belirtilen eylemler başarılı bir şekilde tamamlanırsa indeksler güncellenir. Fakat eylemlerin bir tanesinde hata oluşursa olay tam anlamıyla tamamlanamadığından indeksler güncellenmez.

Fakat e-posta eylem tanımında hata oluşsa da indeksleri güncelle seçeneği ile e-posta gönderimi başarısız olsa dahi indeksler güncellenmektedir. Fakat gönderilemeyen e-postalar daha sonra tekrar gönderim denemeleri için kayıt edilmektedir.

 

 

 

tipbulb Koşul Belirleme

Yeni koşul eklemek için veya mevcut olanı değiştirmek için olay tanımı sihirbazındaki koşul seçim sayfası da kullanılabilir.

kosulBelirleme

 

 

Koşul oluştururken Access Veri Tabanı, Excel ve Metin dosyalarını da kullanabilirsiniz.

 

tog_minusParametrelerin Formatlarını Belirleme

 

    Kaynak satırları kullanılarak e-posta oluşturulurken formatlamaya ihtiyaç duyulabilir. Olay Yönetimi Servis uygulaması oturum açılan kullanıcıyı değil, bilgisayarın yerel sistem kullanıcısını kullanmaktadır. Bu kullanıcının bölgesel dil ayarı da İngilizcedir. Bu durumda e-postadaki tüm bilgiler formatlama kullanılmadığı taktirde ingilizce dili standartlarına uygun olarak gözükecektir.

    Örneğin Alınan siparişleri e-posta ile gönderen bir olay tanımlayalım. Koşulumuzun(Alınan Sipariş) sorgusu:

 

 

select AlinanSiparisBaslik_rowid, dtTeslimTarihi,sAciklama,ldToplamTutar from Gusto00038.AlinanSiparisBaslik

 

şeklinde olacaktır. Parametreleri aşağıdaki gibi düzenliyoruz. RowId değerini indeksleyip sorguya ekleyerek her olay çalıştığında indeksten büyük RowId değerli satırları getirmeyi amaçlıyoruz.

Alınan Sipariş Koşulu

Alınan Sipariş Koşulu

 

    Bu koşulu kullanan bir e-posta eylemi tanımlanmış olsun. Herhangi bir formatlama bilgisi belirtilmemiş ve;

Eğer olay Olay Yönetimi Servisi tarafından çalıştırılmışsa İngilizce,

Eğer Olay Tanımı ekranındaki "Şimdi Çalıştır" seçeneği ile çalıştırılmışsa bilgisayarda tanımlanmış bölgesel dil ayarlarına göre değerler formatlanacaktır.

 

   Tanımladığımız olay sonucu oluşan e-posta formatı aşağıdaki gibidir. Görüldüğü üzere tarih bilgisinin içerisinde  saat bilgisi de bulunmakta. Bu genellikle  arzu edilen bir durum değildir. Bu olay tanımında sadece tarih bilgisi yeterli olacaktır. Tutarda da binlik ayraç bulunmamakta, parasal değerler de biriminin de gözükmesi arzu edilebilir.

 

Teslim Tarihi

Açıklama

Toplam Tutar

03.05.2011 00:00

......

10414,04

03.05.2011 00:00

......

29046,21

03.05.2011 00:00

......

12095,20

03.05.2011 00:00

......

1200,99

03.05.2011 00:00

......

21118,68

 

    Parametrenin formatını belirlemek için koşul tanım ekranındaki parametreler listesinin formatlanmak istenen parametrenin Format alanındaki düğmeye tıklanır.

 

Formatlama ekranı açma

Formatlama ekranı açma

 

tog_minus_sev2Format Belirleme

     Format belirleme ekranı şekildeki gibi düzenlenmiştir. Format belirleyebilmek ve aktif olarak kullanmak için "Formatlama Aktif" seçeneğinin işaretli olması gereklidir.

 

Format belirleme ekranı 

Format belirleme ekranı

Ekranda bulunan kontrollerin açıklamaları:


 

Kontrol

Açıklama

Formatlama Aktif

Format bilgileri girebilmek ve kullanabilmek için seçili olması gerekmektedir. Aksi halde kontroller pasif olacaktır. Seçili değil ise parametrenin görünümünde varsayılan ayarlar kullanılır.

Format Tipi

Değerin tipi belirlenir. Seçilebilir tipler Sayısal, Tarih ve Parasaldır.

Bölgesel Ayarlar

Bölgesel dil ayarı seçimidir. Seçilen dile uygun formatlama uygular.

Test

Giriş

Belilrlenen Formatlama bilgilerini test etmek için giriş yapılır

Sonuç

Belirlenen formatın Giriş kontrolündeki değere uygulanmış halini gösterir.

 

hmtoggle_arrow1Sayısal Formatlama Tipi

  Kullanılabilir formatlama tipleri

 

Belirleyici

Adı

Açıklama

Örnek

"E" veya "e"

Exponential notation (üstsel gösterim)

Bilimsel alanlarda kullanılır. n adet üsürat sayısı belirlemek için

en veya  En şeklinde kullanılır.

1053.03291 Arrow_re2Arrow_r1,05e+008

"F" veya "f"

Sabit noktalı sayı

n adet üsürat sayısı belirlemek için

fn veya Fn şeklinde kullanılır.

1234,567Arrow_rF4 - TurkishArrow_r1234,567

 

1234,567Arrow_rF4 - EnglishArrow_r1234.567

"G" veya "g"

Genel

Sonuç sabit noktalı gösterim veya bilimsel gösterimdir.

123.4546 Arrow_r G4Arrow_r1,235E+06

"N" veya "n"

Number (Sayısal)

Giriş sayısal verisini numerik sayılar, binlik ayracı ve ondalık ayracı ile gösterir.n adet üsürat sayısı belirlemek için

nn veya Nn şeklinde kullanılır.

1234.567Arrow_rN2 - TürkçeArrow_r

 

1.234.567,00Arrow_rN2 EnglishArrow_r1,234,567.00

hmtoggle_arrow1Parasal Formatlama Tipi

Parasal formatlama tipi Sayısal Formatlama Tipi'nin özel bir halidir. Giriş sayısal değerini seçilen ülkeye göre parasal birime çevirir.

Giriş

Bölgesel Ayar

Sonuç

1234.567

Türkçe

1.234.567,00 TL

1234.567

English

$1,234,567.00

1234.567

Arabic

ر.س.‏ 1,234,567.00

1234.567

Japan

¥1,234,567

1234.567

Germany

1.234.567,00 €

 

hmtoggle_arrow1Tarih Formatlama Tipi

 

Standart Tarih Formatları

Belirleyici

Açıklama

Sonuç(Türkçe için) - (02.12.2012)

t

Kısa zaman

00:00

d

Kısa Gün

02.12.2012

T

Uzun Zaman

00:00:00

D

Uzun Gün

02 Aralık 2012 Pazar

f

D ve t birleşimi

02 Aralık 2012 Pazar 00:00

F

Full (tüm gün-zaman belirtimi)

02 Aralık 2012 Pazar 00:00:00

g

d ve t birleşimi

02.12.2012 00:00

G

d ve T birleşimi

02.12.2012 00:00:00

m veya M

Gün Ay

02 Aralık

y veya Y

Ay Yıl Formatı

Aralık 2012

flag_green r veya R

RFC1123

Sun, 02 Dec 2012 00:00:00 GMT

flag_green     s

Sıralanabilir Zaman Formatı

2012-12-02T00:00:00

flag_green     u

Evrensel sıralanabilir Zaman Formatı

2012-12-02 00:00:00Z

flag_green içreren satırlar bölgesel ayarlardan bağımsızdırlar

 

Ayarlanabilir Tarih Formatları

      Belirleyici kısmında belirtilen şablonlar ayrı ayrı(boşluk ile) kullanılabilmektedir.

Belirleyici

Sonuç(Türkçe için) - (02.12.2012)

y yy yyy yyyy (yıl)

12 12 2012 2012

M MM MMM MMMM (ay)

12 12 Ara Aralık

d dd ddd dddd  (gün)

2 02 Paz Pazar

h hh H HH  (saat)

12 12 0 00

m mm  (dakika)

0 00

s ss (saniye)

0 00

z zz zzz (saat dilimi)

+2 +02 +02:00

Bu formatlar belirli bir kombinasyonda kullanılabilir. Örneğin;

dddd, MMMM d, yyyy formatı kullanılarak 02.12.2012 tarihi Pazar, Aralık 2, 2012 şeklinde görüntülenebilir.

 

 

Örneğimizi bir de formatlayarak görelim.

Teslim Tarihi formatını "D" ve Toplam Tutar alanını da Parasal olarak belirlediğimizde e-posta aşağıdaki gibi olmaktadır

 

Teslim Tarihi

Açıklama

Toplam Tutar

03 Mayıs 2011 Salı

......

10.414,04 TL

03 Mayıs 2011 Salı

......

29.046,21 TL

03 Mayıs 2011 Salı

......

12.095,20 TL

03 Mayıs 2011 Salı

......

1.200,99 TL

03 Mayıs 2011 Salı

......

21.118,68 TL

 

 

 

 

tipbulb Linked Server

Koşul kaynağı olarak Access Veri Tabanı, Excel veya Metin Dosyası kullanabilirsiniz.