Selection Screende Search Help
SAP’de Selection Screen üzerinde Search Help kullanmak, kullanıcılara belirli bir alanda (örneğin, malzeme numarası veya müşteri numarası gibi) geçerli değerler arasında seçim yapmalarını sağlayan kullanışlı bir özelliktir. SAP’de Search Help‘leri (Arama Yardımları) kullanarak, kullanıcıların kolayca veri seçmelerini sağlamak mümkündür.
İşte SAP Selection Screen‘e Search Help eklemek için adımlar:
1. Search Help Nedir?
Search Help, kullanıcıların ekranda bir alanın geçerli değerlerini görmesini sağlayan bir araçtır. Kullanıcılar, F4 tuşunu kullanarak bu değerleri liste halinde görüntüleyebilir ve seçim yapabilirler.
2. Search Help Türleri
SAP’de iki tür Search Help vardır:
- Elementer Search Help: Basit bir arama yardımıdır. Genellikle bir alana bağlı olan ve o alandaki olası değerleri listeleyen bir yapıdır. Kullanıcı F4 tuşuna bastığında, bu liste görünür.
- Toplu (Collective) Search Help: Birden fazla elementer search help’in bir araya gelerek kullanıldığı karmaşık bir arama yardım türüdür.
3. Selection Screen’e Search Help Nasıl Eklenir?
1. Veri Elemanı Kullanarak (Standard Search Help)
Eğer kullanmak istediğiniz alan zaten bir veri elemanına (data element) bağlıysa ve bu veri elemanının bir Search Help‘i varsa, selection screen’e otomatik olarak eklenir.
Örnek: Eğer MATNR
(Malzeme Numarası) alanını kullanıyorsanız, bu alanın zaten bir search help’i vardır. Bu durumda şu şekilde kullanabilirsiniz:
PARAMETERS: p_matnr TYPE matnr. " Malzeme Numarası
Bu durumda, MATNR
veri elemanının bağlı olduğu arama yardımı otomatik olarak Selection Screen’de kullanılacaktır.
2. Özel (Custom) Search Help Oluşturma
Eğer özel bir arama yardımı oluşturmak istiyorsanız, SAP’nin ABAP Dictionary aracını kullanarak bunu yapabilirsiniz. SE11 işlem kodu ile bir Search Help oluşturabilirsiniz.
Adımlar:
- SE11‘e gidin.
- “Search Help” seçeneğini seçin ve “Create” butonuna tıklayın.
- Elementer veya Toplu bir arama yardımı seçin.
- Parametreler (alınacak değerler) belirleyin.
- Search Help’i aktive edin.
Bir özel Search Help oluşturduktan sonra, Selection Screen’deki bir alana bu arama yardımını atayabilirsiniz:
PARAMETERS: p_matnr TYPE matnr MATCHCODE OBJECT Z_MY_SEARCH_HELP.
Burada, Z_MY_SEARCH_HELP
sizin oluşturduğunuz özel Search Help’dir.
3. Dinamik Search Help
Bazı durumlarda, arama yardımının dinamik olarak değişmesi gerekebilir (örneğin, bir alandaki değeri girdiğinizde başka bir alanda gösterilecek seçeneklerin değişmesi gibi). Bunu yapmak için, F4IF_SHLP_EXIT fonksiyon modüllerini kullanabilirsiniz.
Örnek:
DATA: lt_return TYPE TABLE OF ddshretval,
lv_searchhelp TYPE ddshretval.
CALL FUNCTION 'F4IF_SHLP_EXIT_EXAMPLE'
EXPORTING
fieldname = 'P_MATNR'
value = p_matnr
IMPORTING
returncode = lv_returncode
return = lt_return.
Bu şekilde, kullanıcı belirli bir değer girdiğinde, Search Help dinamik olarak filtrelenebilir.
4. Selection Screen’de Arama Yardımını Kullanma
Selection Screen’de arama yardımını kullanmak için, sadece MATCHCODE OBJECT
ifadesini kullanmanız yeterlidir. Eğer özel bir Search Help kullanıyorsanız, bunu parametreye eklemeniz gerekir.
PARAMETERS: p_kunnr TYPE kunnr MATCHCODE OBJECT Z_KUNNR_SEARCH.
Burada, Z_KUNNR_SEARCH
özel bir müşteri numarası arama yardımını ifade eder.
4. Search Help ile Seçim Yapmak
Kullanıcılar, F4 tuşuna basarak arama yardımlarını çağırabilirler. Bu, kullanıcının geçerli değerler arasında hızlıca seçim yapmasını sağlar.
5. Debugging Search Help
Bir Search Help çalışmazsa, şu adımları izleyerek sorunu çözebilirsiniz:
- SE11‘deki veri elemanının Search Help‘ini kontrol edin.
- MATCHCODE OBJECT ayarlarını kontrol edin.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_releas.
gv_main->help_f4_heat( ).
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_bolnr-low.
gv_main->help_f4_bolnr( ). ” or perform help_f4_bolnr.
***********************************************************************
METHOD help_f4_bolnr.
DATA : lt_return TYPE TABLE OF ddshretval.
DATA: lr_bolnr TYPE RANGE OF likp-bolnr.
SELECT bolnr
FROM likp
INTO TABLE @DATA(lt_bolnr)
WHERE bolnr IN @lr_bolnr.
SORT lt_bolnr BY bolnr.
DELETE ADJACENT DUPLICATES FROM lt_bolnr COMPARING bolnr.
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’
EXPORTING
retfield = ‘HEAT’
value_org = ‘S’
TABLES
value_tab = lt_bolnr
return_tab = lt_return.
LOOP AT lt_return INTO DATA(ls_return).
s_bolnr-low = ls_return-fieldval.
ENDLOOP.
ENDMETHOD.