Funktionsbaustein POPUP TO CONFIRM
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Der Funktionsbaustein POPUP_TO_CONFIRM erzeugt sehr unkompliziert eine Bestätigungsabfrage für den User als Popup-Fenster. Dieser Funktionsbaustein wird in der Praxis häufig verwendet.
Man kann u. a. den Titel des Fensters, den Text und den Text der Bestätigungsbuttons frei wählen.
Die Auswahl vom User wird über den Parameter "ANSWER" zurückgegeben, in dem dann "1" (erster Button geklickt), "2" (zweiter Button geklickt) oder "A" (Abbrechen-Button geklickt) steht.
Muster
Data: lv_answer type c. CALL FUNCTION 'POPUP_TO_CONFIRM' EXPORTING TITLEBAR = 'Abfrage' " DIAGNOSE_OBJECT = ' ' TEXT_QUESTION = TEXT_BUTTON_1 = 'Ja' " ICON_BUTTON_1 = ' ' TEXT_BUTTON_2 = 'Nein' " ICON_BUTTON_2 = ' ' " DEFAULT_BUTTON = '1' " DISPLAY_CANCEL_BUTTON = 'X' " USERDEFINED_F1_HELP = ' ' " START_COLUMN = 25 " START_ROW = 6 " POPUP_TYPE = " IV_QUICKINFO_BUTTON_1 = ' ' " IV_QUICKINFO_BUTTON_2 = ' ' IMPORTING ANSWER = lv_answer "Rückgabewerte: '1', '2', 'A' " TABLES " PARAMETER = EXCEPTIONS TEXT_NOT_FOUND = 1 OTHERS = 2 . IF SY-SUBRC <> 0. * Implement suitable error handling here ENDIF.
Projektbeispiel
DATA: lv_counter TYPE i, lt_parameter TYPE STANDARD TABLE OF spar. * Verdichte Datensätze auf markierte Datensätze DATA(lt_itab) = gt_itab. DELETE lt_itab WHERE selkz = space. IF lt_itab IS INITIAL. MESSAGE i531(0u) WITH 'Es wurden keine Datensätze zum Löschen markiert'. RETURN. ENDIF. * Anzahl relevante Datensätze lv_counter = lines( lt_itab ). * Parametertabelle füllen lt_parameter = VALUE #( ( param = 'LV_COUNTER' value = lv_counter ) ). DATA: lv_answer TYPE c. CALL FUNCTION 'POPUP_TO_CONFIRM' EXPORTING titlebar = 'Löschabfrage' text_question = 'Sollen &LV_COUNTER& Datensätze wirklich gelöscht werden?' text_button_1 = 'Ja' " ICON_BUTTON_1 = ' ' text_button_2 = 'Nein' " ICON_BUTTON_2 = ' ' default_button = '2' IMPORTING answer = lv_answer "Rückgabewerte: '1', '2', 'A' TABLES parameter = lt_parameter EXCEPTIONS text_not_found = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE i531(0u) WITH 'Fehler beim Funktionsbaustein POPUP_TO_CONFIRM'. RETURN. ENDIF. IF lv_answer = '2' OR lv_answer = 'A'. RETURN. ENDIF. * Löschen der Einträge LOOP AT ct_itab ASSIGNING FIELD-SYMBOL(<fs_itab>) where selkz = abap_true. DELETE FROM zmm_inbship WHERE tknum = <fs_itab>-tknum. DELETE ct_itab. ENDLOOP. commit work. * Bestätigung der Löschung MESSAGE i532(ou) WITH lv_counter 'Datensätze wurden gelöscht'.
Web-Links
Literatur
- Function Modules in ABAP: A Quick Reference Guide, von Tanmaya Gupta, S. (EN)
- Common SAP R/3 Functions Manual, von William Lawlor, S. (EN)