Merhaba arkadaşlar, bu gün ki makalemiz de ODI de prosedür tanımlamalarını göreceğiz.
Prosedür tanımlamalarını Designer sekmesinin altındaki Projects kısmına gelip tanımlamaktayız. Projects kısmının altında istediğiniz gibi bir mimari oluşturup prosedürlerinizi bir düzen için oluştura bilinir.
Yukarıdaki örnek ekran görüntüsünde module bazlı klasörler oluşturulup, oluşturulan klasörlerin Prosedures kısmından eklemek istediğimiz prosedürlerin eklenmesi yapılmıştır. Oluşturulan prosedüre task tanımlanması yapılması gerekmektedir. Bu işlem için prosedürü çift tıkladıktan sonra sağ tarafta açılan ekranda task tanımlamaları yapılmaktadır. Örnek ekran görüntüsü aşağıdaki gibidir
İlk olarak Definition kısmından prosedürün adı tanımlanmalıdır. Sonra asıl önemli olan Task kısmına geçilip gerekli tanımlamalar yapılmalıdır. Burada ki önemli sekmelere tek tek değinecek olursak, Task Name kısmına taskın adı girilir. Execute options kısmı çok önemlidir, çalışmasını istenilmeyen tasklar için bu seçenekteki tikin kaldırılarak inaktife alınması gerekilmektedir.
Target Command kısmına çalışılması istenilen kod blogu yazılmalıdır. Bizim örneğimizde PL/SQL ile hazırlanmış paketlerin executing kodları yazılmıştır her bir taskta.
Sayfayı biraz daha sağa kaydıracak olursak diğer set edilmesi gereken kısımlar da görülür. Target Technology kısmında yazdığımızı target command kısmındaki kod blogunun hangi tür bir db de çalışacağı belirtilir. Target Logical Schema kısmında ise database inin connection bilgilerine göre ODI ye tanımlanmış Logical şemanın ismi girilmelidir. Bu kısımda çok önemlidir. Burada yanlış girilen bir logical şema bilgisi sorguların yanlış db üzerinde çalışmasına ve prosedürün hata almasına sebep olabilir. Bizim örnekte Source Command kısmı boş bırakıldığı için Source logical schema gibi source db ye ait bilgiler girilmemektedir. Eğer bu kısımda kullanılacaksa mutlaka source db nin de logical şeması girilmelidir.
Execution sekmesinde prosedürün çalışma geçmişi bulunmaktadır. Bu sayfada manuel çalışma ve senaryoyla çalışma diye çalışma geçmişi filtre uygulanabilir şekilde gelmektedir. Bu sayfa sayesinde prosedür ile ilgili alınan hataları, çalışma sürelerini ve bu süreleri günlere göre kolay bir şekilde listeleyip karşılaştırma yapabiliriz.
Scenarios sekmesinde ise tanımlanan prosedür için bir senaryo üretilmişse onun versiyonu ile ilgili bilgiler bulunmaktadır. Burada şöyle önemli bir nokta bulunmaktadır, prosedür üzerinde yeni bir task ekleme veya var olan bir task üzerinde silme veya inaktife çekme işlemleri yapıldığında yapılan değişikliğin senaryoya yansıyabilmesi için senaryonun mutlaka regenerate edilmesi gerekmektedir.
Senaryo mantığı şöyledir create edildiğinde veya regenerate edildiğinde, odi gidip tasklar sekmesini kontrol eder ve bir çalışma planı çıkartarak hafızasına alır. Daha sonraki senaryo üzerinden çalışmalarda hafızadaki plan üzerinden çalışmalar yapılır. Bu yüzden yapısal değişikliklerde mutlaka senaryonun regenerate edilmesi gerekmektedir. Senaryolara load planı konusunda tekrar değineceğiz.
Prosedür tanımlaması bu şekildeydi, bütün işlemlerden sonra prosedürü save etmeyi unutmayalım.
Bir makalenin daha sonuna geldik, esenle kalın..