6 Haziran 2011 Pazartesi

Obiee Database Fonksiyonlarını Çağırma

Oracle obiee ile çalışken oluşturduğumuz sorgularda databasede kayıtlı fonksiyonlarında sonuçlarını görebiliriz. Bu durumda OBIEE de webten log in olup sorguya herhangi bir alanı ekleriz. Sonrasında sorgu alanın fonksiyon buttonuna tıklayarak foksiyon ekranı ekrana gelir. Custom title tıklanır ki ve alanın ismi değiştirirlir. Databaseden fonksiyon çağırmak için OBIEE de EVALUATE fonksiyonunu kullanırız. EVALUATE fonksiyonun kullanımı;

EVALUATE(‘DATABASE_FONKSIYONU(%1)’, FONKSIYON_PARAMETRESI)

yukarıdaki database_fonksiyonu kısmında oracle ın default fonksiyonlarını çağırmaktadır. Eğer kullanıcı tanımlı bir fonksiyon kullanılırsa hata alınır. Bu hatanın nedeni ise kullanıcı tanımlı fonksiyonun dönderdiği sonucun OBIEE hangi tipte olduğunu anlamamasından kaynaklanmaktadır. Hatayı gidermek için;

EVALUATE(‘DATABASE_FONKSIYONU(%1)’ AS DATATYPE, FONKSIYON_PARAMETRESI)

Yukarıdaki şekilde EVALUATE fonksiyonu kullanılırsa hiç bir hata almadan kullanıcı tanımlı fonksiyonlar çağırılabilir.

Database_fonksiyonu(%1) ifadesindeki %1 ise fonksiyona verilecek parametre sayısını belirtmek içindir. Eğer iki parametre vereceksek Database_fonksiyonu(%1, %2) olarak belirtmemiz gerecektir. Ayrıca EVALUATE fonksiyonun virgülden sonra birinci gelen kısımı birinci parametre ikinci gelen kısmı ise ikinci parametre olarak aldığını da tekrardan hatırlayalım :) .

Eğer databasede link verip o databasedeki linki çağırmak istediğimizde ise;

EVALUATE(‘DATABASE_FONKSIYONU@DATABASE_LINK(%1)’ AS DATATYPE, FONKSIYON_PARAMETRESI)


Yukarıdaki gibi fonksiyonun sonuna database linki verilerek o databaseden fonksiyon çağıralabilir.

Hiç yorum yok:

Yorum Gönder