您的位置:首页 > 其它

ABAP实现粘贴板的操作,复制粘贴

2014-01-22 09:22 295 查看
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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: