[ABAP] Element des Selektionsbiles über RadioButtons ein-/ausblenden

PARAMETERS

* PARAMETERS
* Element, dass ein-/bzw. ausgeblendet werden soll
SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (9) lbl1 FOR FIELD p_test.
  PARAMETERS: p_test TYPE matnr.
SELECTION-SCREEN END OF LINE.

* Radiobutton 1, sendet USER_COMMAND, damit beim Umschalten AT SELECTION-SCREEN OUTPUT ausgelöst wird
SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (9) lbl2 FOR FIELD p_rb1.
  PARAMETERS: p_rb1 RADIOBUTTON GROUP grp DEFAULT 'X' USER-COMMAND rb.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (9) lbl3 FOR FIELD p_rb2.
  PARAMETERS: p_rb2 RADIOBUTTON GROUP grp.
SELECTION-SCREEN END OF LINE.

INITIALIZATION.
  lbl1 = 'Material:'.
  lbl2 = '      An:'.
  lbl3 = '     Aus:'.

AT SELECTION-SCREEN OUTPUT.
* Elemente des Selektionsbiles durchgehen
  LOOP AT SCREEN INTO DATA(wa).
* Wenn Element 'P_TEST'
    IF wa-name = 'P_TEST'.
* Aktvsetzung in Abhängigkeit von RB2
      wa-active = COND #( WHEN p_rb2 = abap_true THEN 0 ELSE 1 ).
      MODIFY SCREEN FROM wa.
    ENDIF.
  ENDLOOP.

SELECT-OPTIONS

* Element, dass ein-/bzw. ausgeblendet werden soll
SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (9) lbl1 FOR FIELD so_test.
  SELECT-OPTIONS: so_test FOR sy-uname MODIF ID 100.
SELECTION-SCREEN END OF LINE.

* Radiobutton 1, sendet USER_COMMAND, damit beim Umschalten AT SELECTION-SCREEN OUTPUT ausgelöst wird
SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (9) lbl2 FOR FIELD p_rb1.
  PARAMETERS: p_rb1 RADIOBUTTON GROUP grp DEFAULT 'X' USER-COMMAND rb.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (9) lbl3 FOR FIELD p_rb2.
  PARAMETERS: p_rb2 RADIOBUTTON GROUP grp.
SELECTION-SCREEN END OF LINE.

INITIALIZATION.
  lbl1 = 'Name:'.
  lbl2 = '  An:'.
  lbl3 = ' Aus:'.

AT SELECTION-SCREEN OUTPUT.
* Elemente des Selektionsbiles durchgehen
  LOOP AT SCREEN INTO DATA(wa).
* Wenn Element 'SO_TEST'
    IF wa-group1 = '100'.
* Aktvsetzung in Abhängigkeit von RB2
      wa-active = COND #( WHEN p_rb2 = abap_true THEN 0 ELSE 1 ).
      MODIFY SCREEN FROM wa.
    ENDIF.
  ENDLOOP.

[ABAP] OpenSQL: Wildcards (%) im SELECT-Statement verwenden

Beispiel 1: PARAMETERS mit Wildcard (%)

DATA: it_spfli TYPE STANDARD TABLE OF spfli.

PARAMETERS: p_carr TYPE spfli-carrid DEFAULT '%'.
  
* SELECT mit LIKE, für % als Wildcard
SELECT * FROM spfli
  INTO TABLE @it_spfli
  WHERE carrid LIKE @p_carr.

Beispiel 2: WHERE-Clause mit Wildcard (%)

DATA: it_usr TYPE STANDARD TABLE OF usr02 WITH DEFAULT KEY.

* alle Namen, die mit "Z" beginnen
SELECT * FROM usr02 INTO TABLE it_usr WHERE bname LIKE 'Z%'.

[ABAP] Radiobuttons mit Label und Eingabefeldern in einer Zeile

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE title.

SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: p_rb1 RADIOBUTTON GROUP grp1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT (15) lbl1 FOR FIELD p_rb1.
PARAMETERS: p_file1 TYPE localfile.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: p_rb2 RADIOBUTTON GROUP grp1.
SELECTION-SCREEN COMMENT (15) lbl2 FOR FIELD p_rb2.
PARAMETERS: p_file2 TYPE localfile.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b1.

INITIALIZATION.
  title = 'Auswahl'.
  lbl1 = 'Datei 1:'.
  lbl2 = 'Datei 2:'.

[ABAP] Einfacher Parameter (Labeled Edit)

PARAMETERS: p_mypar1 TYPE c LENGTH 2 DEFAULT 'AB'.        " einfacher Parameter mit Vorgabewert
PARAMETERS: p_mypar2 TYPE dicttype-var DEFAULT 'XY'.      " einfacher Parameter mit Dictionary-Type mit Suchhilfe, Langtext usw.
PARAMETERS: p_mypar3 TYPE string OBLIGATORY DEFAULT 'DE'. " einfacher Parameter mit Defaultwert und als Pflichteingabefeld
PARAMETERS: p_mypar4 TYPE i OBLIGATORY DEFAULT '1000'.

oder

PARAMETERS: p_mypar TYPE transparentetabelle-spalte DEFAULT 'XY'. " Spalte aus transparenter Tabelle (Dictionary Objekt) nutzen mit Suchhilfe, Langtext usw.