zoukankan      html  css  js  c++  java
  • 根据剪贴板获取剪贴板的信息

    REPORT YTEST_BARRY.
    
    
     TYPES:BEGIN OF TY_OUT,
       MATNR TYPE MAKT-MATNR,
       MAKTX TYPE MAKT-MAKTX,
       MENGE TYPE VBAP-KWMENG ,
    
       END OF TY_OUT.
    
    DATA IT_TAB TYPE TABLE OF TY_OUT .
    DATA WA_TAB TYPE TY_OUT .
    
    
    START-OF-SELECTION .
    PERFORM CLIPTOITAB TABLES IT_TAB.
    *----------------------------------------------------------------------*
    *  剪贴板数据到内表,根据制表符分割
    *  如果有数据类型错误,比如内表是数值型但是剪贴板里面是字母,
    *  则弹出W消息,并忽略这条数据
    *----------------------------------------------------------------------*
    FORM CLIPTOITAB TABLES ITAB.
    
      DATA: HTAB TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB .
      DATA: LT_CLIP TYPE TABLE OF CHAR2048 WITH HEADER LINE ,
            LT_FLD  TYPE TABLE OF CHAR2048 WITH HEADER LINE.
      DATA: CXROOT TYPE REF TO CX_ROOT,
            EXCMSG TYPE        STRING.
      FIELD-SYMBOLS:<FS_FLD> ,
                    <FS_TAB> .
    
      ASSIGN ITAB TO <FS_TAB> .
    
      CALL METHOD CL_GUI_FRONTEND_SERVICES=>CLIPBOARD_IMPORT
        IMPORTING
          DATA                 = LT_CLIP[]
        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  .
      ELSE.
        CALL METHOD CL_GUI_CFW=>FLUSH .
        LOOP AT LT_CLIP.
          CLEAR LT_FLD[].
          SPLIT LT_CLIP AT HTAB INTO TABLE LT_FLD.
          LOOP AT LT_FLD.
            ASSIGN COMPONENT SY-TABIX OF STRUCTURE <FS_TAB> TO <FS_FLD>.
            CHECK SY-SUBRC = 0.
    TRY . LT_FLD = TRANSLATE( VAL = LT_FLD FROM = | | TO = '' ). LT_FLD = TRANSLATE( VAL = LT_FLD FROM = | | TO = '' ). LT_FLD = TRANSLATE( VAL = LT_FLD FROM = |"| TO = '' ). LT_FLD = TRANSLATE( VAL = LT_FLD FROM = |D| TO = '' ). "测试
    ****以上处理字符中多余数据 空格 换行等
    <FS_FLD> = LT_FLD.
    ****以下获取异常数据
    CATCH CX_ROOT INTO CXROOT. EXCMSG = CXROOT->GET_TEXT( ). ENDTRY. ENDLOOP. APPEND ITAB . CLEAR ITAB. ENDLOOP. IF EXCMSG IS NOT INITIAL. MESSAGE W000(OO) WITH '数据转换有错误发生,已经忽略'. ENDIF. ENDIF. ENDFORM.
  • 相关阅读:
    KALI LINUX 核心概念讲解,持续更新
    KALI LINUX 工具大全之密码破解 --- BruteSpray ( 暴力喷雾 )
    android studio的 gradle 依赖同步错误解决方法
    安卓逆向的初步研究--从某恋app入手
    nc浏览器的十宗罪
    手机重要文件目录(换新机可能要用到)
    国产手机的谷X服务
    安卓手机设置的那些琐事
    办公中遇见的那些问题
    装系统遇到的那些问题
  • 原文地址:https://www.cnblogs.com/hdchen/p/9150184.html
Copyright © 2011-2022 走看看