Exchanging Data between ABAP Program and Clipboard

It is important to interact with a clipboard from the ABAP program so you can exchange data between SAP and external applications by just copy and paste. SAP provides a set of built-in APIs to allow you to exchange data with a clipboard with ease.

To export or copy data to clipboard from the ABAP program you need to use the method CLIPBOARD_EXPORT of the class CL_GUI_FRONTEND_SERVICES.  The code snippet to copy an internal table of text to the clipboard as follows:

REPORT  zcopytoclipboard.

DATA: gt_text TYPE STANDARD TABLE OF char255,
      gs_text LIKE LINE OF gt_text,
      gv_rc   TYPE i.

gs_text = 'This is a program to demonstrate'.
APPEND gs_text TO gt_text.
gs_text = 'copy data to clipboard from abap'.
APPEND gs_text TO gt_text.

CALL METHOD cl_gui_frontend_services=>clipboard_export
  IMPORTING
    data = gt_text
  CHANGING
    rc   = gv_rc.
IF gv_rc = 0.
  MESSAGE 'Data is copied to clipboard' TYPE 'I'.
ENDIF.

To import data from Clipboard you’ll use the same class but the method CLIPBOARD_IMPORT as follows:

REPORT  zpastefromclipboard.

DATA: gt_text TYPE STANDARD TABLE OF char255,
      gs_text LIKE LINE OF gt_text.

cl_gui_frontend_services=>clipboard_import(
  IMPORTING
    data                 = gt_text
  EXCEPTIONS
    cntl_error           = 1
    error_no_gui         = 2
    not_supported_by_gui = 3
       ).
IF sy-subrc = 0.
  LOOP AT  gt_text INTO gs_text.
    WRITE: / gs_text.
  ENDLOOP.
ENDIF.