ValueHelp-RAP
SAP dünyasında “Value Help” (Değer Yardımı), bir alana girilebilecek olası değerleri kullanıcılara sunan ve seçmelerine yardımcı olan bir özelliktir. Kısaca, kullanıcının doğru veriyi daha kolay ve hızlı bir şekilde girmesini sağlayan bir tür arama ve seçim aracıdır.
Ne İşe Yarar?
- Veri Girişini Kolaylaştırır: Kullanıcının olası değerleri hatırlamasına veya tahmin etmesine gerek kalmaz.
- Veri Doğruluğunu Artırır: Kullanıcının geçerli değerler arasından seçim yapmasını sağlayarak hatalı veri girişini önler.
- Kullanıcı Deneyimini İyileştirir: Kullanıcının aradığı değeri bulmasını kolaylaştırarak, form doldurma veya veri girişi işlemlerini daha hızlı ve verimli hale getirir.
Temel Özellikleri:
- Arama: Kullanıcılar, mevcut değerler arasında arama yapabilir.
- Filtreleme: Değerleri belirli kriterlere göre filtreleyebilir.
- Öneriler: Sistem, kullanıcının girdiği bilgilere göre önerilerde bulunabilir.
- Çoklu Seçim: Bazı durumlarda, kullanıcıların birden fazla değeri seçmesine izin verir.
1)VALUEHELP DROPDOWN
Normalde yaratılan valuehelp ler default olarak popup olarak gelir. Dropdown a dönüştürmek için VH dosyasında @ObjectModel.resultSet.sizeCategory: #XS annotasyonu kullanılır (#XS yerine diğer seçenekler de kullanılabilir).
Öncesi:

Sonrası:

2)ZORUNLU (MANDATORY) VALUEHELP
Metadata Extension dosaysında, value help oluşturduğunuz alan için @Consumption.filter: { mandatory: true } annotasyonunu kullanınız.
Programa refresh atınca Origin value help inin yanında bulunan asteriks ifadesine dikkat ediniz. Bu alanın girilmesinin zorunlu olduğunu belirtiyor.

Bir değer girilmeden Go seçeneğine tıklarsam, Error mesajı verilecektir. En az 1 tane değer girilmelidir.

@EndUserText.label: 'Origin'
@UI.identification: [ {
position: 30
} ]
@UI.lineItem: [ {
position: 30,
criticality: 'Materialid', criticalityRepresentation: #ONLY_ICON
} ]
@UI.selectionField: [ {
position: 30
} ]
@Consumption.valueHelpDefinition: [{ entity: { element: 'Origin', name: 'ZZI_MATERIAL_VH' } }]
@Consumption.filter: { mandatory: true }
Origin;

3)VALUEHELP DEFAULT DEĞER
En az bir girdi girilmesi zorunlu olan alanlarda, manuel girişteki eforu azaltmak adına, default olarak bir tane girdi verebiliriz.
@Consumption.filter: { mandatory: true, defaultValue: ‘Turkey’, multipleSelections: true, selectionType: #SINGLE }
- mandatory: true: Bu alanı bir filtre olarak kullanmak zorunludur, bu sayede kullanıcı bir filtreleme yapmadan uygulamayı kullanamaz.
- defaultValue: ‘Turkey’: Bu alanın default değerini Turkey olarak ayarlar.
- multipleSelections: true: Bu filtreleme alanında birden fazla değer seçilebileceği anlamına gelir (normalde tek seçim modu).
- selectionType: #SINGLE : Bu alanın tek seçimlik olduğunu belirtir.
Programa refresh atıldığında, Turkey default valuenun otomatik olarak geldiğini görebiliriz.

Görüldüğü üzere birden fazla girdiye izin veriliyor.

4) ValueHelp with Distinct Values
Aşağıda Origin alanına göre oluşturulan valuehelp görülmektedir.

Her bir ülke sadece bir kez yazılmıştır.


ZZI_MATERIAL_VH
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Material Value Help'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
define view entity ZZI_MATERIAL_VH
as select distinct from zmaterial
{
key origin as Origin
}
METADATA EXTENSION FILE
@UI.selectionField: [ {
position: 30
} ]
@Consumption.valueHelpDefinition: [{ entity: { element: 'Origin', name: 'ZZI_MATERIAL_VH' } }]
Origin;
Bir konunun daha sonuna gelmiş bulunmaktayız, görüşmek dileğiyle.
