您的位置:首页 > 其它

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

2014-01-22 09:22 330 查看
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.

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: