ABAP可以实现复制粘贴的操作
自己玩儿
项目里暂时用不到
在ABAP中的 CLASS :CL_GUI_FRONTEND_SERVICES中提供了两个方法来控制与剪贴板内容的导入导出,
分别是:CLIPBOARD_EXPORT和CLIPBOARD_IMPORT。
CLIPBOARD_EXPORT是将一个内表的内容导入到剪贴板中,示例程序如下:
复制
DATA rc TYPE i.
DATA:BEGIN OF itab OCCURS 0,
line(200) TYPE c ,
END OF itab.
itab-line = '好吧,你已经把我复制了……'.
APPEND itab.
CALL METHOD cl_gui_frontend_services=>clipboard_export
IMPORTING
data = itab[]
CHANGING
rc = rc
* EXCEPTIONS
* CNTL_ERROR = 1
* ERROR_NO_GUI = 2
* NOT_SUPPORTED_BY_GUI = 3
* others = 4
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
粘贴
CLIPBOARD_IMPORT是将剪贴板中的内容导入到一个定义好的内表当中,示例程序如下:
DATA rc TYPE i.
DATA:BEGIN OF itab OCCURS 0,
line(200) TYPE c ,
END OF itab.
CALL METHOD cl_gui_frontend_services=>clipboard_import
IMPORTING
DATA = itab[] "粘贴板内数据
LENGTH = rc "一共几行
* EXCEPTIONS
* CNTL_ERROR = 1
* ERROR_NO_GUI = 2
* NOT_SUPPORTED_BY_GUI = 3
* others = 4
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
write: '粘贴板中一共' ,rc,' 行数据,如下:'.
loop at itab.
write / itab-line.
endloop.