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));

});

Bir cevap yazın