Kategori arşivi: SAP Business Objects Design Studio

sap design studio dashboard oturum zaman aşımı hatası

Sap Design Studio ile geliştirilen ve sürekli açık kalması gereken dashboard lar için aşağıdaki hatalar alınıyorsa sebebi aşağıdaki durum olabilir.

Hatalar:
“An error occured: Please restart the application. Most likely your session is not valid anymore.”
“Analysis Application: Server Session Timeout”

Yukarıdaki hataların alındığı senaryoda Yük Dengeleyici (Load Balancer, LB) arkasında iki web sunucusu (Tomcat, W1 ve W2) yer alıyor, iki web sunucusu da tek uygulama (application, AP) sunucusuna bağlanıyor.

Tomcat ve Web Intelligence Processing Server larda oturum zaman aşımı süresi 60 dk olarak atanmış durumda. Design Studio (Analysis Application) servisinin oturum zaman aşımı süresi 20 dk kod içinde belirtildiği için (hardcoded) değiştirilemiyor. (Kaynak 1)

Geliştirilen dashboard timer (zamanlayıcı) bileşeni (component) ile 17 dk da bir veri kaynaklarını yeniliyor ve oturumun sonlanmamasını sağlıyor. Ama zaman zaman yukarıdaki hatalar alınabiliyordu. Sebebini dashboard u uygulama sunucusu (AP) üzerindeki tomcat ten açık bırakarak tespit ettik. Uygulama sunucusu üzerinden açılan dashboard larda oturum zaman aşımı hatası alınmadı. Hata sebebi Yük Dengeleyicinin (Load Balancer) zaman aşımı süresiydi. Yük Dengeleyicinin zaman aşımı süresi arttırıldı, session sticky (yapışkan oturum) özelliği aktifleştirildi.

Kaynaklar:
1) Design Studio Idle Session Timeout
2) Sap BO Webi Oturum Zamanaşımı (Session Timeout)
3) Timeout settings in BI Platform 4.x

sap design studio veri kaynakları yüklenmemesi problem çözümü

Sap Business Objects (BO) Design Studio ile geliştirilen dashboard ta “Data source not loaded” hatası alındığında. Veya “Cannot load InfoProvider DSL (data provider DS: Exception occurred during creation)” hatası alındığında. Veya dashboard yerel bilgisayarda (localhost) başarılı bir şekilde çalışıp sunucuda çalıştırıldığında veri kaynakları yüklenmesi ile ilgili problem yaşanıyorsa. Aşağıdaki yöntem uygulanarak çözümlenebilir.

CMC (Central Management Console) den Design Studio servisinin (Analysis Applicatin Service) parametrelerine aşağıdaki parametreyi eklemek hatayı düzeltebilir. CMC > Servers > Analysis Application Server > Properties > Command Line Parameters. Aşağıdaki parametre çift tırnaklar ile birlikte parametrelerin sonuna bir boşluk bırakılarak eklenebilir.

“-Dbusinessobjects.connectivity.directory=D:\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\dataAccess\connectionServer”

Kaynak tartışma:
Design Studio constantly crashes on launchpad
BusinessObjects Explorer The creation of the data source object tree failed

sap design studio dropdown box özel sıralama (custom sort)

Sap Design Studio ile dashboard (gösterge paneli) geliştirilirken dropdown box bileşeni (component) ile bir seçim yapılması sağlanıyorsa ve dropdown box taki değerler harf sıralaması ile değil de isteğe bağlı özel sıralanmak isteniyorsa, aşağıdaki adımlar izlenebilir.

Veri kaynağımızın adı DS_DROPDOWN_DATA_SOURCE olsun. Sıralamak istediğimiz universe objesi ddSortId (t.sortid) olsun. Dropdown bileşeninde kullanılmak istenen universe objesi ddName (t.name) olsun. Böyle bir durumda sorguyu ddSortId objesine göre sıralanmış olarak alsak da, initial view da ddSortId ye göre sıralasak da dropdown bileşenindeki değerler ddName objesine göre sıralı olarak gelecektir. SortId ye göre sıralamak için “ddSortId and ddName” objesini aşağıdaki gibi oluştururuz.

lpad(t.sortid,10,'0')||t.name -- "ddSortId and ddName"

DS_DROPDOWN_DATA_SOURCE veri kaynağı sorgusunu “ddSortId and ddName” e göre sıralı olarak alırız. Performansı etkilememek için tercihsel olarak Initial view da herhangi bir sıralama yapmayız. Sonra da gösterge panelinin On Startup kısmında aşağıdaki kod ile “ddSortId and ddName” objesinin ilk 10 karakterinden sonrasını (sıralamak için geçici olarak birleştirdiğimiz kısmını) ayırıp Dropdown bileşenine istediğimiz sıra ile eklemiş oluruz.

var dropdownMembersAscending = DS_DROPDOWN_DATA_SOURCE.getMembers("_ddSortId_and_ddName_", 1000);

businessMembersAscending.forEach(function(element, index) {

  DROPDOWN_BUSINESS.addItem(Convert.subString(element.internalKey, 10), Convert.subString(element.text, 10));

});

sap design studio geomap basemap urls

Genel yakınlık (odaklanma), enlem ve boylam formatı:
/{z}/{x}/{y}

Sap Design Studio yakınlık (odaklanma), enlem ve boylam formatı:
/{LOD}/{X}/{Y}

Open Street Map format for Sap Design Studio
http://tile.openstreetmap.org/{LOD}/{X}/{Y}.png

Arc GIS Online ESRI
http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{LOD}/{X}/{Y}

Nokia HERE
http://1.base.maps.cit.api.here.com/maptile/2.1/maptile/newest/normal.day/{LOD}/{X}/{Y}/256/png8?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg

Stamen Watercolor
http://tile.stamen.com/watercolor/{LOD}/{X}/{Y}.png

Stamen Toner
http://tile.stamen.com/toner/{LOD}/{X}/{Y}.png

Open Cycle Map
http://a.tile.opencyclemap.org/cycle/{LOD}/{X}/{Y}.png
http://a.tile.opencyclemap.org/transport/{LOD}/{X}/{Y}.png

Kaynak:
SCN Geo_Map Basemap URL

sap design studio base64 imaj

Sap Design Studio ile dashboard geliştirilirken küçük görsel öğeler için (resim, grafik, imaj, png, jpg, image) html’nin küçük görselleri base64 kodları ile satıriçi (inline) gösterimi kullanılabilir. Bu da bizim taşınabilir görseller oluşturabilmemizi sağlar.

Design Studio’da çoğu komponent css class özelliği atanarak ve custom css dosyasında bu css class’ın özellikleri kodlanarak belirlenir; ama TEXT komponenti için satıriçi css stili (style) yazılabilir. Bu sayede text komponentin arkaplan görseli için base64 kodlaması ile taşınabilir küçük imajlar veya ikonlar yapılabilir.

Not 1: Base64 resim kodlaması büyük boyutlu resimler için kullanılamaz.
Not 2: Jpg veya Jpeg formatındaki imajlarda transparanlık (transparency) sağlanamaz transparan kısımlar içeren görseller için png formatı kullanılmalıdır.

Örnek bir text komponenti css style özelliğinde base64 imaj kodlaması:


background-repeat: no-repeat;
background-size: contain;
background-image: url('data:image/png;base64,SDVJjdlfskj6uı27==');

Çevrimiçi (online) imaj base64 çeviciler internette mevcut. https://www.base64-image.de/ – Base64 Image Encoder

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 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/