Ekranda en az 2 en fazla 4 satırlık bilgi gösteren popup pencere açar. Pencere başlığı ve 4 satırlık bilgi için 4 ayrı parametre alır.
IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
TITEL



X Pencere başlık metni
TXT1



X Birinci satır metni
TXT2



X İkinci satır metni
TXT3

SPACE X X Üçüncü satır metni
TXT4

SPACE X X Dördüncü satır metni
DATA : lv_titel(35),
lv_txt1(80),
lv_txt2(80),
lv_txt3(80),
lv_txt4(80).
lv_titel = ‘Pencere baÅŸlığı’.
lv_txt1  = ‘Birinci satır’.
lv_txt2  = ‘Ä°kinci satır’.
lv_txt3  = ‘Üçüncü satır’.
lv_txt4  = ‘Dördüncü satır’.
CALL FUNCTION ‘POPUP_TO_INFORM’
EXPORTING
titel         = lv_titel
txt1          = lv_txt1
txt2          = lv_txt2
txt3          = lv_txt3
txt4          = lv_txt4.

POPUP_TO_CONFIRM_DATA_LOSS

Saklanmayan bilgilerin kaybolacağı ile ilgili uyarı veren popup ekran açar. Kullanıcı “Evet”, “Hayır” veya “Ä°ptal” butonlarından birisini seçerek iletiyi onaylayabilir. Kullanıcının tıkladığı buton “ANSWER” parametresi ile fonksiyondan döner.
IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
DEFAULTOPTION

‘J’ X X Varsayılan seçim butonu
TITEL



X Pencere başlık metni
START_COLUMN LIKE SY-CUCOL 25 X X Pencerenin başlangıç pozisyonu (sütun)
START_ROW LIKE SY-CUROW 6 X X Pencerenin başlangıç pozisyonu (satır)
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
ANSWER

X Seçilen buton değeri










DATA : lv_titel(70),
lv_answer(1).
lv_titel = ‘Pencere baÅŸlığı’.
CALL FUNCTION ‘POPUP_TO_CONFIRM_DATA_LOSS’
EXPORTING
defaultoption       = ‘Y’
titel               = lv_titel
start_column        = 25
start_row           = 6
IMPORTING
answer              = lv_answer.
WRITE lv_answer.

Bir buton seçildikten sonra ekrana seçilen butonu yazar.

POPUP_TO_CONFIRM

Kullanıcıdan teyit almak için kullanılır. Pencere baÅŸlığı, 2 satırlık metin alanı, uyarı ikonu ve pencere ekran pozisyonu gibi parametreler alır. Tıklanan buton “ANSWER” parametresi ile fonksiyondan döner.
IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
TITLEBAR

SPACE X X Pencere başlık metni
DIAGNOSE_OBJECT LIKE DOKHL-OBJECT SPACE X X Dökümantasyon nesnesi
TEXT_QUESTION



X Soru metni
TEXT_BUTTON_1

‘Ja'(001) X X Birinci buton metni
ICON_BUTTON_1 LIKE ICON-NAME SPACE X X Birinci buton ikonu
TEXT_BUTTON_2

‘Nein'(002) X X Ä°kinci buton metni
ICON_BUTTON_2 LIKE ICON-NAME SPACE X X Ä°kinci buton ikonu
DEFAULT_BUTTON

‘1’ X X Varsayılan seçim butonu
DISPLAY_CANCEL_BUTTON

‘X’ X X Ä°ptal butonunu göster
USERDEFINED_F1_HELP LIKE DOKHL-OBJECT SPACE X X Kullanıcı tanımlı yardım için doküman nesnesi
START_COLUMN LIKE SY-CUCOL 25 X X Pencerenin başlangıç pozisyonu (sütun)
START_ROW LIKE SY-CUROW 6 X X Pencerenin başlangıç pozisyonu (satır)
POPUP_TYPE LIKE ICON-NAME
X X Popup ikonu
IV_QUICKINFO_BUTTON_1 TYPE TEXT132 SPACE X
Mouse birinci butonun üzerinde iken görüntülenecek metin
IV_QUICKINFO_BUTTON_2 TYPE TEXT132 SPACE X
Mouse ikinci butonun üzerinde iken görüntülenecek metin
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
ANSWER

X Seçilen buton değeri
EXCEPTIONS
Exception Tanım
TEXT_NOT_FOUND










Örnek 1: Basit bir teyit alma örneği.
REPORT zpp_r_test.
DATA lv_answer(1).
CALL FUNCTION ‘POPUP_TO_CONFIRM’
EXPORTING
titlebar  = ‘Uyarı’
text_question         = ‘Devam etmek istiyor musunuz?’
iv_quickinfo_button_1 = ‘Birinci buton bilgilendirme metni’
IMPORTING
answer        = lv_answer.
WRITE lv_answer.

Bir buton seçildikten sonra ekrana seçilen butonun değerini yazar.

Örnek 2: Doküman metni gösteren ve pencere pozisyonu değiştirilen bir teyit alma örneği.
DATA lv_answer(1).
DATA : lt_parameter TYPE STANDARD TABLE OF spar,
ls_parameter TYPE spar.
ls_parameter-param = ‘M1′.
ls_parameter-value = ‘— Metin parametresi —‘.
APPEND ls_parameter TO lt_parameter.
CALL FUNCTION ‘POPUP_TO_CONFIRM’
EXPORTING
titlebar = ‘Uyarı’
diagnose_object         = ‘BZAL_MSG1′
text_question           = ‘Devam etmek istiyor musunuz?’
display_cancel_button   = ‘X’
start_column            = 30
start_row               = 10
IMPORTING
answer                  = lv_answer
TABLES
parameter               = lt_parameter.
WRITE lv_answer.

Bir buton seçildikten sonra ekrana seçilen butonun değerini yazar.
Örnek 3: Buton üzerinde ikon gösteren bir teyit alma örneği.

DATA lv_answer(1).
CALL FUNCTION ‘POPUP_TO_CONFIRM’
EXPORTING
titlebar  = ‘Uyarı’
text_question               = ‘Tüm kayıtlar silinecek!’
text_button_1               = ‘Sil’
icon_button_1               = ‘ICON_DELETE’
text_button_2               = ‘Ä°ptal’
icon_button_2               = ‘ICON_CANCEL’
default_button              = ‘2’
display_cancel_button       = ‘ ‘
IMPORTING
answer                      = lv_answer
EXCEPTIONS
text_not_found              = 1
OTHERS                      = 2.
WRITE lv_answer.

Bir buton seçildikten sonra ekrana seçilen butonun değerini yazar.

Örnek 4: Popup parametresi eklenmiş başka bir örnek.
DATA lv_answer(1).
CALL FUNCTION ‘POPUP_TO_CONFIRM’
EXPORTING
titlebar      = ‘Uyarı’
text_question         = ‘Çıkmak için iptale tıklayın’
text_button_1         = ‘Devam’
icon_button_1         = ‘ICON_CHECKED’
text_button_2         = ‘Ä°ptal’
icon_button_2         = ‘ICON_CANCEL’
display_cancel_button = ‘ ‘
popup_type            = ‘ICON_MESSAGE_ERROR’
IMPORTING
answer                = lv_answer.
WRITE lv_answer.

Bir buton seçildikten sonra ekrana seçilen butonun değeri yazılır.

POPUP_GET_VALUES

Popup pencereye eklenen alanlardan deÄŸerler alınmasını saÄŸlar. DeÄŸer kontrolü, pencere baÅŸlığı, pencere pozisyonu parametrelerini alır. “RETURNCODE” parametresi döner. “FIELDS” internal tablosu ile ekranda gösterilecek alan bilgileri fonksiyona aktarılır. Seçilen deÄŸer yine “FIELDS” tablosundan geri döner.
IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
NO_VALUE_CHECK

SPACE X X Veri tipi kontrolü yapılmamasını sağlar
POPUP_TITLE



X Pencere başlık metni
START_COLUMN

‘5’ X X Pencerenin baÅŸlangıç pozisyonu (sütun)
START_ROW

‘5’ X X Pencerenin baÅŸlangıç pozisyonu (satır)
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
RETURNCODE

X Kullanıcı yanıtı
TABLES
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
FIELDS LIKE SVAL
Popup’ ta gösterilecek alanları, özellikler ve deÄŸerleri tutar
EXCEPTIONS
Exception Tanım
ERROR_IN_FIELDS Alan bilgilerinde hata var
Örnek: SPFLI tablosundan uçuş hava yolu ve uçuş bağlantı numarası alanından değer alan örnek.
DATA : gt_fields TYPE STANDARD TABLE OF sval,
gs_fields TYPE sval,
gv_returncode(1) TYPE c.
gs_fields-tabname   = ‘SPFLI’ .
gs_fields-fieldname = ‘CARRID’ .
gs_fields-field_obl = ‘X’ .
APPEND gs_fields TO gt_fields.
CLEAR gs_fields.
gs_fields-tabname   = ‘SPFLI’ .
gs_fields-fieldname = ‘CONNID’ .
APPEND gs_fields TO gt_fields.
CALL FUNCTION ‘POPUP_GET_VALUES’
EXPORTING
no_value_check        = ‘ ‘
popup_title           = ‘UçuÅŸ seçiniz’
start_column          = ‘5’
start_row             = ‘5’
IMPORTING
returncode            = gv_returncode
TABLES
fields               = gt_fields
EXCEPTIONS
error_in_fields       = 1
OTHERS                = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT gt_fields INTO gs_fields.
WRITE :/ ‘Alan ismi:’ ,gs_fields-fieldname,
‘Alan deÄŸeri:’, gs_fields-value.
ENDLOOP.

Seçim yapıldıktan sonra değerler ekrana yazdırılır.

POPUP_TO_DECIDE_LIST

Bir liste içerisinden seçim yapılmasını saÄŸlar. Pencere baÅŸlığı, 3 satırlık metin alanı, pencere ekran pozisyonu gibi parametreler alır. Seçilen diÄŸer “ANSWER” parametresi ve “t_spopli” internal tablosu ile fonksiyondan döner.
IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
CURSORLINE LIKE SY-LILLI 1 X X Varsayılan liste satırı
MARK_FLAG

SPACE X X Checkbox şeklinde seçim yapılmasını sağlar. Birden fazla seçim yapılabilir
MARK_MAX

1 X X MARK_FLAG ‘X’ parametresi ile kullanıldığında maksimum seçim yapılabilecek satırı sayısı.
START_COL LIKE SY-CUCOL 0 X X Pencerenin başlangıç pozisyonu (sütun)
START_ROW LIKE SY-CUROW 0 X X Pencerenin başlangıç pozisyonu (satır)
TEXTLINE1



X İlk metin alanı
TEXTLINE2

SPACE X X İkinci metin alanı
TEXTLINE3

SPACE X X Üçüncü metin alanı
TITEL



X Pencere başlık metni
DISPLAY_ONLY

SPACE X X Sadece liste değerlerini gösterir. Seçim yapılmasına izin vermez.
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
ANSWER

X Seçilen buton değeri
TABLES
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
T_SPOPLI LIKE SPOPLI
Seçim listesi ve seçilenlerin olduğu tablo
EXCEPTIONS
Exception Tanım
NOT_ENOUGH_ANSWERS
TOO_MUCH_ANSWERS
TOO_MUCH_MARKS
Örnek 1: Bir listeden yalnızca bir seçime izin veren örnek.
DATA : lt_sel_tab TYPE STANDARD TABLE OF spopli,
ls_sel_tab TYPE spopli,
lv_answer(1).
ls_sel_tab-varoption = ‘Seçenek 1′.
APPEND ls_sel_tab TO lt_sel_tab.
ls_sel_tab-varoption = ‘Seçenek 2′.
APPEND ls_sel_tab TO lt_sel_tab.
CALL FUNCTION ‘POPUP_TO_DECIDE_LIST’
EXPORTING
cursorline               = 1
start_col                = 60
start_row                = 4
textline1                = ‘Satır 1′
textline2                = ‘Satır 2′
titel                    = ‘Seçim yapınız’
IMPORTING
answer                   = lv_answer
TABLES
t_spopli                 = lt_sel_tab
EXCEPTIONS
not_enough_answers       = 1
too_much_answers         = 2
too_much_marks           = 3
OTHERS                   = 4.
WRITE lv_answer.

Listeden seçim yaptıktan sonra ekrana seçilen satır numarasını yazar.

Örnek2: Bir listeden birden fazla seçim yapılabilmesine olanak sağlayan örnek.
DATA : lt_sel_tab TYPE STANDARD TABLE OF spopli,
ls_sel_tab TYPE spopli,
lv_answer(1).
ls_sel_tab-varoption = ‘Seçenek 1′.
APPEND ls_sel_tab TO lt_sel_tab.
ls_sel_tab-varoption = ‘Seçenek 2′.
APPEND ls_sel_tab TO lt_sel_tab.
ls_sel_tab-varoption = ‘Seçenek 3′.
APPEND ls_sel_tab TO lt_sel_tab.
ls_sel_tab-varoption = ‘Seçenek 4′.
APPEND ls_sel_tab TO lt_sel_tab.
CALL FUNCTION ‘POPUP_TO_DECIDE_LIST’
EXPORTING
cursorline               = 2
mark_flag                = ‘X’
mark_max                 = 4
start_col                = 60
start_row                = 10
textline1                = ‘Açıklama satırı 1′
titel                    = ‘Seçim yapınız’
IMPORTING
answer                   = lv_answer
TABLES
t_spopli                 = lt_sel_tab
EXCEPTIONS
not_enough_answers       = 1
too_much_answers         = 2
too_much_marks           = 3
OTHERS                   = 4.
LOOP AT lt_sel_tab INTO ls_sel_tab WHERE selflag = ‘X’.
WRITE / ls_sel_tab-varoption.
ENDLOOP.

Listeden seçilenler daha sonra ekrana yazdırılırlar.





***************************************************************
Serkan AKKAVAK
Bilgisayar Mühendisi
serkurumsal@yandex.com
SAP ve ABAP ile ilgili tüm sorun ve sorularınızı gönderebilirsiniz.