Klasse CL GUI FRONTEND SERVICES, Methode CLIPBOARD EXPORT

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Mit der Methode CLIPBOARD_EXPORT der Klasse CL_GUI_FRONTEND_SERVICES kann man eine interne Tabelle in die Windows Zwischenablage schreiben.

Coding

Data: lt_symbols type STANDARD TABLE OF ITCSY1,
      ls_symbols type ITCSY1,
      lv_rc      type i.

 ls_symbols-name = '&' && 'Test' && '&'.
 append ls_symbols to lt_symbols.

 CALL METHOD cl_gui_frontend_services=>clipboard_export
   EXPORTING
     no_auth_check        = 'X'
   IMPORTING
     data                 = lt_symbols
   CHANGING
     rc                   = lv_rc
   EXCEPTIONS
     cntl_error           = 1
     error_no_gui         = 2
     not_supported_by_gui = 3
     no_authority         = 4
     others               = 5.
 IF sy-subrc <> 0.
  break eberstein.
 endif.

Anwendung Liste Select-Options in Zwischablage

  • Eine schöne Anwendung für die Zwischenablage in SAP ist die Liste von einem Select-Options in die Zwischablage zu kopieren.
  • Es bietet sich an eine generische Methode programmieren, um alle Select-Options (maximale Feldlänge 45 Zeichen) nutzen zu können.

Einführung

Im Selektionsscreen gibt es einen Select-Options mit dem Namen "S_SFNAME", wo in diesem Fall viele Smart Forms-Textbausteine enthalten sind.

Es soll nun über eine Drucktastensschaltfläche "Copy Liste" die Liste der Einträge im Select-Options (LOW) in die Zwischenablage kopiert werden.

ZwischenablageInsert1.jpg


Im Coding des Reports wird ein generischer Range definiert vom Typ RSELOPTION, dem der Tabellenrumpf vom Select-Options übergeben wird.

Dieser Range wird einer Methode der Klasse Z_CL_SCHN übergeben.

Data: lt_sel_opt type RSELOPTION.  "Definition generischer Select-Option

lt_sel_opt = s_sfname[].           "Zuweisung spezifischer Select-Option zum generischen Select-Option

z_cl_schn=>clipboard_fill_select_option( it_sel_opt = lt_sel_opt[] ). "Aufruf Methode und Übergabe generischer Select-Options


Die Schnittstelle der Methode hat nur einen Importparameter mit dem generischen Select-Option.

ZwischenablageInsert2.jpg

Die interne Tabelle LT_SYMBOLS wird gefüllt und die Zwischenablage gefüllt mit der Methode CLIPBOARD_EXPORT.

Anwendungscoding

METHOD clipboard_fill_select_option.

  DATA: ls_sel_opt LIKE LINE OF it_sel_opt.

  DATA: lt_symbols TYPE STANDARD TABLE OF itcsy1,
        ls_symbols TYPE itcsy1,
        lv_rc      TYPE i.

* Füge alle Werte vom Select-Options zur Zwischenablage hinzu
  LOOP AT it_sel_opt INTO ls_sel_opt.
    ls_symbols-name = ls_sel_opt-low.
    APPEND ls_symbols TO lt_symbols.
  ENDLOOP.

  CALL METHOD cl_gui_frontend_services=>clipboard_export
    EXPORTING
      no_auth_check        = 'X'
    IMPORTING
      data                 = lt_symbols
    CHANGING
      rc                   = lv_rc
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      no_authority         = 4
      OTHERS               = 5.
  IF sy-subrc <> 0.
    break eberstein.
  ENDIF.

ENDMETHOD.

Hinterher hat man mit einem Klick auf die Schaltfläche COPY_LISTE alle Einträge vom Select-Options in der Zwischenablage und kann diese Liste z. B. in Excel oder über die Transaktion SE16/SE16N.

Web-Links