Kategori arşivi: SAP Business Objects Webi

Sap BO 4.2 SP5 Web Intelligence Rich Client Hata (Bug)

Sap Business Objects 4.2 SP5 (Service Pack 5) versiyonuna geçiş ile karşılaşılan hata (bug) ve çözümü tecrübesi.

Senaryo ya da durum şöyle: bir kullanıcı yetkileri olan bir raporu önceki versiyonda hem web ortamından (bi launchpad) hem de Webi Rich Client ile yenileyebiliyor. Bu raporun hazırlandığı universe (platform) üzerinde bazı objeler için (bu objeler raporda kullanılmayan objeler) Business Security Profile (veya Data Security Profile) yetki kısıtı tanımlı. Bu rapor yeni versiyonda 4.2 SP05 web ortamından (bi launchpad) başarılı bir şekilde yenilenebiliyor; ama Webi Rich Client ile yenilendiğinde aşağıdaki hatayı alıyor.

Security profile stored in object ‘Cuid_Abcd_1234’ is not accesible by the current user; the security to apply cannot be retrieved. Contact your administrator. (IDT 23148)

Araştırmalarımız sonucunda (4.2 SP5 versiyonunda çözümlenmiş hatalar listesinden) 2443964 nolu sap notunu bulduk. (Hata (bug) çözülmemişti ama çözülen hatalar listesinde yer alıyordu.)

Sap BO BI Platform Documentation

SAP Notes for SAP Business Intelligence Suite 4.2 SP5 – Fixed Issues
Sap Note: sbo42sp5_fix_issues_final.pdf

Data security profile with row restriction is not enabled in Web Intelligence Rich Client when assigned to a non-Administrator user group
Sap Note: 2443964_E_20180226.pdf

Notta giçici (workaround) çözüm için aşağıdaki gibi bir yöntem sunuluyor:

EveryoneWorkaround gibi bir grup oluşturulup Everyone grubu bu gruba dahil edilir.
CMC (Central Management Console) den Users and Groups (Kullanıcılar ve Gruplar) kısmına gidilir. Burada top level security de (üst düzey güvenlik) hem users (kullanıcılar) hem de grups (gruplar) için oluşturulan yeni gruba View Objects yetkisi verilir. Kullanıcı ve gruplar için üst düzey güvenlik yetkileri incelendiğinde everyone için zaten View Objects (objeleri görüntüle) yetkisinin varolduğunu görebilirsiniz ama aynı yetki tekrar verildiğinde hata çözüme kavuşmuş oluyor.

sap bo koşullu dağıtım (conditional publication)

Sap BO ortamında rapor dağıtımı [http://ayhankargin.com/blog/?p=314] yaparken (publication) dağıtım yapılan tüm hedeflere her zaman sorgu sonucu veri gelmiyorsa, ve boş rapor içeriği olunca gönderim yapılması istenmiyorsa aşağıdaki yöntem ile bu sağlanabilir.

Dağıtımı yapılacak rapor A olsun. Dağıtım listesi B olsun. Dağıtımı yapılan A raporu ile dağıtım listesi olan B raporunun birleştirilme (join) alanı da C alanı olsun. Örnek olarak rapor sorguları aşağıdaki gibi olsun.

A rapor sorgusu:

select a.islem_sube, islem_tarih_saat, islem_tutar, islem_aciklama
from ozel_islem_listesi a
where a.tarih between trunc(sysdate-1) and trunc(sysdate)

B rapor sorgusu:

select b.islem_sube, b.sube_eposta
from islem_sube b

C alanı:

ozel_islem_listesi.islem_sube = islem_sube.islem_sube

Böyle bir dağıtımda bir şube için A raporundan her zaman veri gelmeyebilir. Amacımız da eğer A raporunda bir şube için veri gelmiyorsa B rapor dağıtımı listesinde de bu şubenin gelmemesi.

Bunun için B rapor sorgusunu aşağıdaki gibi bir hale getirirsek A raporunda gelmeyen sube B raporunda da gelmez.

B rapor sorgusu değiştirilmiş hali:

select b.islem_sube, b.sube_eposta
from islem_sube b
where b.islem_sube in (
    select a.islem_sube
    -- , islem_tarih_saat, islem_tutar, islem_aciklama
    from ozel_islem_listesi a
    where a.tarih between trunc(sysdate-1) and trunc(sysdate)
)

B rapor sorgusu Custom Sql, FreeHand Sql veya Result from Another Query gibi özellikler ile değiştirilebilir.

mHTML seçeneği ile rapor içeriğinin mail gövdesinde (body) gönderimi

sap bo webi rapor içeriğinin e-posta gövdesinde gönderimi

(sap bo web inteeligence sending report content in mail body)

Bazen iş birimleri raporların maile ek olarak (excel, pdf) değil de mailin içinde olmasını isteyebiliyorlar.

Sap BO ortamında rapor içeriğini e-posta gövdesinde (mail body) göndermek için:

* Rapor dağıtımı (publication) ile hedef (destination) mHTML seçilir.

* %SI_DOCUMENT_HTML_CONTENT% Yer işaretçisi (placeholder) mail gövdesinde kullanılır.

çoklu bağlantılı platformlar tavsiye (multisource universe recommendation)

Sap Business Objects bir universe ün (unx) birden fazla bağlantı ile oluşturulmasına (kullanılabilmesine) olanak sağlar. Bunun için BI Platformda Data Federation servisinin oluşturulması gerekir. Çoklu bağlanıtılı universe özelliği universe ün farklı veritabanlarından aldığı veriyi Data Federation servisi ile birleştirerek (veritabanı gibi davranarak) raporlara sonuç verisini sağlamasıyla olur. Çoklu bağlantılı universe oluşturulurken bir kere çoklu kaynaklı olduğu belirlenir sonradan tek bağlantılı universe e çevrilemez.

Kişisel tavsiyem Çoklu Bağlantılı (MultiSource) universe özelliğinin zorunlu olunmadıkça kullanılmaması yönünde. Çünkü çoklu bağlantılı platformlar farklı veri kaynaklarından alınan veriyi veritabanı gibi (BI platformun veritabanı görevi yapması performansı çok negatif etkileyen bir faktör, hem işlemci hem de bellek kullanımı açısından) davranarak birleştirmesi gerekir. Özellikle farklı kaynaklardaki objelerin data foundation da join lenmesi durumunda.

Çoklu bağlantılı universe ler yerine veriyi Veri Entegrasyonu (Data Integration), ETL (Extract Transform Load) Araçları ile tek veritabanında birleştirmek ve tek bağlantılı universe ile bu veritabanından raporlamak daha doğru bir çözüm olacaktır. Veri Entegrasyonu araçları farklı veritabanı yönetim sistemlerine bağlanıp veri aktarımı yapabilmektedir. Bu sayede BI Platforma veri tabanı yükü bindirilmemiş olur ve sorgulama dilinin en hızlı çalıştığı ortamda veri alınarak performanslı raporlama yapılmış olur.

Not 1: tecrübelerimde çoklu kaynaklı universe ler ile ilgili çeşitli hatalarla (bug) karşılaştığımı söyleyebilirim.

Not 2: çoklu bağlantılı universe ler ile çalışırken tekli bağlantılı universe lere göre daha yavaş çalışırlar sebebi MultiSource universe lerin üzerinde geliştirme yapılırken işlemlerin yerel makinada değil sunucuda (bi platform) yapılıyor olmasıdır.

Not 2 Kaynak: IDT client tool slows dramatically in business layer

sap bo web intelligence göreceli (bağlı) konum (relative position)

Sap Business Object Web Intelligence ortamında rapor yaparken bir obje başka bir objeye göre konumlandırılmak istendiğinde Relative Position (göreceli konum) özelliği kullanılabilir.

Örneğin kaç satır sonuç geleceği belli olmayan bir dikey tablo (vertical table) altına başka bir dikey tablo yerleştirilmek istendiğinde; üstteki tablo alttaki tablonun üzerini kapamaması için alttaki tablo seçilir relative position seçeneği ile konumu üstteki tablonun alt kısmına göre belli miktar altında olacak şekilde ayarlanabilir.

sap bo webi raporu son tarihçe bağlantısı (report last instance link)

Sap Business Objects (BO) ortamında çalışma süresi uzun olan raporlar için eğer rapora farklı bir yerden bağlantı (link) verilerek ulaşılıyorsa, raporun normal url’sine &sInstance=Last parametresi eklenerek çalışmış son instance’ı (son instance hangi formatta ise webi, excel, pdf) doğrudan açılabilir. Bu işlem rapor açıldığında yenilensin (refresh document on open) seçeneği yerine tercih edilebilir.

Raporun normal url’si (adresi) aşağıda sarı işaretli kısımdaki gibi &sInstance=Last parametresi eklenerek çağrıldığında doğrudan son instance açılıyor.

https://sap_bo:8080/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=CuidOfYourDocument&sInstance=Last

Kaynak:
Viewing Documents Using OpenDocument: sbo41_opendocument_en.pdf