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.