Seçim ekranına F4 yardımı ile ülke seçimi ekleme örneğidir.
SELECT-OPTIONS:
ulkeno FOR zdi_tab01-ulkeno.
ulkeno FOR zdi_tab01-ulkeno.
*/ F4 ile Ülke seçimi
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ulkeno-high.
PERFORM deger_oku TABLES ulkeler USING ulkeno-high.
*/ F4 ile Ülke seçimi
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ulkeno-low.
PERFORM deger_oku TABLES ulkeler USING ulkeno-low.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ulkeno-high.
PERFORM deger_oku TABLES ulkeler USING ulkeno-high.
*/ F4 ile Ülke seçimi
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ulkeno-low.
PERFORM deger_oku TABLES ulkeler USING ulkeno-low.
INITIALIZATION.
*/Ülke bilgilerini itaba al
PERFORM ulke_oku.
*/Ülke bilgilerini itaba al
PERFORM ulke_oku.
FORM ulke_oku.
*/Ülke bilgilerini oku
*/ülkeler tablosuna yerleştir
SELECT * FROM t005t WHERE spras EQ 'T'.
ulkeler-value = t005t-land1.
ulkeler-valdescr = t005t-landx.
APPEND ulkeler.
CLEAR ulkeler.
ENDSELECT.
ENDFORM. " ULKE_OKU
*/Ülke bilgilerini oku
*/ülkeler tablosuna yerleştir
SELECT * FROM t005t WHERE spras EQ 'T'.
ulkeler-value = t005t-land1.
ulkeler-valdescr = t005t-landx.
APPEND ulkeler.
CLEAR ulkeler.
ENDSELECT.
ENDFORM. " ULKE_OKU
FORM deger_oku TABLES itab LIKE tab[]
USING deger.
*/Verilen karakteristiğe ait değerleri
*/okuyarak itab'a yerleştirir
DATA : tabix LIKE sy-tabix.
REFRESH valst. REFRESH values.
PERFORM baslik_ekle.
DATA : i TYPE i.
LOOP AT itab.
i = sy-tabix.
PERFORM deger_ekle USING itab-value i 1.
PERFORM deger_ekle USING itab-valdescr i 2.
ENDLOOP.
CALL FUNCTION 'VALUES_DISPLAY'
* exporting
* CUCOL = 0
* CUROW = 0
* DISPLAY = ' '
* FIELDNAME = ' '
* TABNAME = ' '
* SHRINK_FLAG = ' '
* TITLE_IN_VALUES_LIST = ' '
* NO_CONVERSION = ' '
* EXTERNAL_F4 = ' '
IMPORTING
select_index = tabix
* select_value =
* external_f4_call_2nd_time =
TABLES
values = values
valuestructure = valst
* SELECT_VALUES =
EXCEPTIONS
check_table_locked = 1
no_values_for_field = 2
tablefield_does_not_exist = 3
OTHERS = 4.
CHECK sy-subrc EQ 0.
READ TABLE itab INDEX tabix.
deger = itab-value.
ENDFORM. " DEGER_OKU
USING deger.
*/Verilen karakteristiğe ait değerleri
*/okuyarak itab'a yerleştirir
DATA : tabix LIKE sy-tabix.
REFRESH valst. REFRESH values.
PERFORM baslik_ekle.
DATA : i TYPE i.
LOOP AT itab.
i = sy-tabix.
PERFORM deger_ekle USING itab-value i 1.
PERFORM deger_ekle USING itab-valdescr i 2.
ENDLOOP.
CALL FUNCTION 'VALUES_DISPLAY'
* exporting
* CUCOL = 0
* CUROW = 0
* DISPLAY = ' '
* FIELDNAME = ' '
* TABNAME = ' '
* SHRINK_FLAG = ' '
* TITLE_IN_VALUES_LIST = ' '
* NO_CONVERSION = ' '
* EXTERNAL_F4 = ' '
IMPORTING
select_index = tabix
* select_value =
* external_f4_call_2nd_time =
TABLES
values = values
valuestructure = valst
* SELECT_VALUES =
EXCEPTIONS
check_table_locked = 1
no_values_for_field = 2
tablefield_does_not_exist = 3
OTHERS = 4.
CHECK sy-subrc EQ 0.
READ TABLE itab INDEX tabix.
deger = itab-value.
ENDFORM. " DEGER_OKU