How to Exchange Data between ABAP Program and Clipboard

http://www.abaptutorial.com/exchange-data-abap-program-clipboard/   

http://wiki.sdn.sap.com/wiki/display/Snippets/ABAP+OLE+-+Download+tables+to+multiple+worksheets+in+Excel

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

In order to export or copy data to clipboard from 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 clipboard as follows:

Copy data to clipboard from ABAP Program    
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:

Paste data from Clipboard    
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.

你可能感兴趣的:(How to Exchange Data between ABAP Program and Clipboard)