Druckknöpfe und Listausgabe

Druckknöpfen auf einem Selektionsbild kann man dazu benutzen, um andere Programme oder Funktionen aufzurufen. Wenn Sie jedoch einzelne Listausgaben machen möchten, dann geht’s nur mit einem kleinen Trick. Das folgende Programm zeigt, wie es funktioniert.

Coding

REPORT zz_drucktaste.

DATA:
  gv_field(30),
  gv_value(30),
  gt_exclude TYPE STANDARD TABLE OF syucomm.

*** Drucktaste 1
SELECTION-SCREEN PUSHBUTTON /1(20) text-pb1 USER-COMMAND pb1.
*** Drucktaste 2
SELECTION-SCREEN PUSHBUTTON /3(20) text-pb2 USER-COMMAND pb2.
*** Drucktaste 3
SELECTION-SCREEN PUSHBUTTON /6(20) text-pb3 USER-COMMAND pb3.

INITIALIZATION.
*** “Ausführen” verbieten
  APPEND ‘ONLI’ TO gt_exclude.
*** “Ausführen + Drucken” verbieten
  APPEND ‘PRIN’ TO gt_exclude.
*** “Im Hintergrund ausführen” verbieten
  APPEND ‘SJOB’ TO gt_exclude.
*** Aktuellen Status setzen und obige Funktionen verbieten
  CALL FUNCTION ‘RS_SET_SELSCREEN_STATUS’
    EXPORTING
      p_status  = sy-pfkey
    TABLES
      p_exclude = gt_exclude.

*** Selektionsbild (PAI)
AT SELECTION-SCREEN.

  CASE sy-ucomm.
*** Drucktasten abfragen
    WHEN ‘PB1’.
      PERFORM pb.
    WHEN ‘PB2’.
      PERFORM pb.
    WHEN ‘PB3’.
      PERFORM pb.
  ENDCASE.

*** Doppelklick-Ereignis
AT LINE-SELECTION.

*** Feld und Feldwert ermitteln
  GET CURSOR FIELD gv_field VALUE gv_value.
*** Nur weiter, wenn auf SY-UCOMM geklickt wurde
  CHECK gv_field = ‘SY-UCOMM’.
*** Meldung
  MESSAGE i000(vz) WITH ‘Knopf:’ gv_value.

START-OF-SELECTION.

*&———————————————————————*
*&      Form  pb
*&———————————————————————*

FORM pb.

*** Listverarbeitung
  LEAVE TO LIST-PROCESSING.
*** Programm-Titel unterdrücken
  NEW-PAGE NO-TITLE.
*** Status setzen
  SET PF-STATUS ‘PICK’ OF PROGRAM ‘SAPMSSY0’.
*** Ausgabe
  WRITE: / ‘Es wurde gedrückt:’,
           sy-ucomm(4) COLOR COL_TOTAL HOTSPOT ON.

ENDFORM.                    “pb

 

Enno Wulff

Leave a Comment