Aylık arşivler: Mayıs 2017

sap design studio geomap geojson tr Türkiye

Sap Design Studio ortamında GeoMap komponentinin GeoJson ile belirlenmiş alanlarını (Türkiye’nin illerini) istenen iki renk aralığında gösterge (measure, kpi) değerlerine göre renklendirebilmek için notlar.

Öncelikle Türkiye’nin illerinin GeoJson bilgisine design studio geomap komponentinin kabul ettiği formatta ihtiyaç var. Bunun için https://github.com/cihadturhan/tr-geojson adresindeki açık kaynak (open source) proje kullanılabilir. Buradaki Json formatı Design Studio’da kullanılabilecek şekle getirmek için aşağıdaki Python kodu kullanılabilir.

#!/usr/bin/python
# -*- coding: utf-8 -*-

import json

f = open('./tr-cities-utf8.json','r')

parsedJson = json.loads(f.read())

f.close()



parsedFeatures = parsedJson["features"]
parsedFeatures_new = []

for ipf in parsedFeatures:
    ipf_new = {}
    ipf_new["type"] = ipf["type"]
    ipf_new["properties"] = {}
    ipf_new["properties"]["city_name"] = ipf["properties"]["name"]
    ipf_new["properties"]["city_id"] = ipf["id"]
    ipf_new["geometry"] = ipf["geometry"]
    parsedFeatures_new.append(ipf_new)



f = open('./tr-cities-utf8-2.json','w')

f.write('{"type":"FeatureCollection","features":\n')
json.dump(parsedFeatures_new, f)
f.write('}\n')

f.close()

Bunun dışında tercihsel olarak Türkçe karakterlerin gösterimleri değiştirilmek istenirse aşağıdaki dönüşüm kullanılabilir:
\u0131 > ı, \u011f > ğ, \u00f6 > ö, \u00c7 > Ç, \u00fc > ü, \u015f > ş, \u0130 > İ, \u015e > Ş
‘ {“geometry”:’ > ‘\n{“geometry”:’

tr-cities-utf8.json dosyasının yukarıdaki Python kodu ile işlenmeden önceki (tr-cities-utf8.json) ve işlendikten sonraki (tr-cities-utf8-2.json) hallerini aşağıdaki bağlantıdan indirebilirsiniz.
python_geojson

Örnek çıktıda tr-cities-utf8-2.json dosyası GeoMap komponentinde kullanılmış ve değerler (gösterge, measure, kpi) beyazdan siyaha değerin büyüklüğüne göre ifade edilmiştir.

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

sap design studio dashboard masaüstü kısayolu ve Chrome tarayıcısı uygulama modu

Sap Design Studio Dashboard Desktop Shortcut and Chrome browser app (application) mode

Geliştirilen Sap Design Studio Dasboard’larına hızlı erişim için bir tercih olarak yer imlerine eklenerek ulaşılabilir, bir tercih olarak da bilgisayarın masaüstüne bir kısayol oluşturulabilir.

Dashboard’ları görüntülerken ya da 7*24 açık bırakılan dashboard’larda tarayıcının adres (url) kısmının görünmemesi için Chrome app mode kullanılabilir. Oluşturulan kısayol ile dashboard url –app parametresiyle açıldığında url kısmı görünmez.

Örneğin: “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –app=https://sap_bo:8080/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=CuidOfYourDashboard

Benzer fonksiyonellik firefox tarayıcısında kısayoluna -new-window parametresi eklenerek yapılabilir; ancak url doğrudan parametrelerle gizlenemez. Url’yi gizlemek için firefox’un hide navigation bar eklentisi (add-on) (varsayılan gizleme fonksiyonu tuşu F2) kullanılabilir.

Örneğin: “C:\Program Files (x86)\Mozilla Firefox\firefox.exe” -new-window https://sap_bo:8080/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=CuidOfYourDashboard

Bunların dışında eğer birden fazla dashboard’un tek ekranda belli zaman aralıkları ile değişmesi (rotate) isteniyorsa Chrome tarayıcısında Tab Revolver eklentisi, Firefox tarayıcısında da Tab Rotater eklentisi kullanılabilir.

Not: 7*24 açık duran dashboard’lar için Chrome tarayıcısının yıllardır varolan dağıtık bellek sızıntısı bug’ı göz önünde bulunulabilir.
Chrome massive memory leak bug: https://productforums.google.com/forum/#!topic/chrome/86yzpxX7aws

Kaynaklar:
https://stackoverflow.com/questions/16124877/how-do-you-hide-the-address-bar-in-google-chrome-for-chrome-apps
https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options
https://addons.mozilla.org/en-US/firefox/addon/hide-navigation-bar/
https://chrome.google.com/webstore/detail/revolver-tabs/dlknooajieciikpedpldejhhijacnbda
https://addons.mozilla.org/en-US/firefox/addon/tab-rotator/

sap design studio notları

Sap Design Studio ile dashboard geliştirirken dikkat edilmesi gereken performans pratikleri (performance best-practices):

* Pagebook component inin Cache Mode özelliği All olmamalı (Adjacent veya None olmalı)
Uzun süre (7*24) açık bırakılan dashboard’larda tarayıcıların belleğinin sürekli olarak artmasına sebep oluyor

* Uygulamanın Prompts > Merge Prompts özelliği false tercih edilmeli

* Uygulamanın açılışında paralel veri kaynağı yüklemesi için veri kaynaklarının Processing Group larını atayıp uygulamanın Merge Prompts özelliği false yapılmalı (uygulama içerisinde interaktif bir şekilde yeniden optional prompt lar ile veri yüklemeleri yapılıyorsa parallel yükleme özelliği sonraki veri kaynağı yüklemelerini hızlandırmaz, sonrakiler yüklemeler paralel yapılmaz). Burada dikkat edilmesi gereken nokta veri kaynaklarındaki Processing Group lar birbirlerinden ne kadar farklı olursa o kadar paralellik sağlanmış olur. Processing Group ların hepsine aynı değer atanırsa veri kaynakları paralel yüklenmiş olmaz, seri yüklenmiş olur. Veri kaynakları kaç paralelde yüklenmek isteniyorsa o kadar farklı Processing Group ataması yapılır.

* Uygulama performansını ölçmek için uygulama adresine (url sine) &PROFILING=X parametresi eklenerek performans değerleri ölçülebilir (performance debugging)

* Geliştirilen uygulamaların sade ve basit olması için Gobal Script Functions (Fonksiyonlarının) kullanılması tavsiye edilir

Kaynaklar:
Design Studio Performance Best-Practices
Performance Monitoring In Design Studio
Understanding Profiling and Statistics in Design Studio
Design Studio Tips and Tricks: Measuring Performance
Design Studio: Parallel Processing and Scripting
Video: Use processing groups for parallel query execution: Design Studio 1.5
Design Studio 1.5: View on Parallel Data Source Execution

sap bo webi zamanlama dosya sunucusu hedefi hata

sap bo webi schedule filesystem destination error

Hata Mesajı, Error Massage: deliverResultsToDestination failed

Sap BO ortamında bir Web Intelligence raporu hedefi (destination) dosya sunucusu (filesystem) olarak zamanlandığında (schedule) “deliverResultsToDestination failed” hatası alınıyorsa bir sebebi Central Management Console’da (CMC) Adaptive Job Server’ların Destination kısmının konfigürasyonunun yapılmadığından olabilir. Bundan kaynaklanıyorsa Adaptive Job Server’lar önce durdurulur sonra sağ tık Properties (Özellikler) > Destination (Hedef) > File System (Dosya Sunucusu) > Add (Ekle) adımları ile Job Server’ların dosya sunucusuna raporu atma özelliği aktifleştirilmiş olur.

Eğer bundan kaynaklanmıyorsa diğer önemli bir sebebi de Sap BO uygulamasının bir Servis Kullanıcısı (Service User) ile çalışmıyor olması olabilir. Böyle bir durumda Sap BO’nun bir servis kullanıcısı ile çalışması sağlanır ve aynı servis kullanıcısına hedef dosya sunucusu erişimi verilir. Bu şekilde rapor hedef dosya sunucusuna rapor çıktısını başarılı bir şekilde atabilir.

sap bo tekli veya çoklu dağıtım (single or multiple publication)

Sap Business Objects ortamında örnek şöyle bir durum olsun:
Her bölge müdürüne kendi bölgesinin verisi gidecek şekilde e-mail dağıtım yapılıyor; ama bir bölge müdürü birden fazla bölgeden sorumlu olabiliyor. Dağıtım listesi de bölge kodu ve bölge müdürü e-posta adresi bilgisini içeriyor.

Böyle bir durumda dağıtım her bölge için ayrı mail gönderimi yapar ve birden fazla bölgeden sorumlu bölge müdürüne birden fazla mail gönderimi yapılır. Birden fazla bölgeden sorumlu müdürlere sorumlu olunan bölgelerin mailinin tek seferde iletilmesi için dağıtım listesinin bölge müdür mail adreslerine göre sıralı gelmesi sağlanır (freehand sql, custom sql, derived table, vs) ve Publication’ın Properties > Advanced kısmında Profile Resolution Merged seçilir.

sap bo veritabanı bağlantısı varsayılan yalıtım düzeyi (database connection default isolation level)

Sap Business Objects veritabanı bağlantılarının tümünde (tipine göre odbc, jdbc) varsayılan yalıtım düzeyi (isolation level)
D:\SAPBO\SAP BusinessObjects Enterprise XI 4.0\dataAccess\connectionServer\odbc\*.sbo
klasöründeki *.sbo uzantılı dosyalarından ( “READ COMMITTED” olan ifade “READ UNCOMMITTED” olarak ) değiştirilebilir.
Bu değişiklik ile obje bazlı kilitleme (object level locking) yapan veritabanlarında kilitli objelerin serbest kalması beklenmeden sorgulama yapılabilir ve sorgular hızlanabilir; ama okunan veri de tutarsız (kirli, dirty) olabilir.