SAP 如何获取长文本 (ABAP),并写通用函数

来源:互联网 发布:js设置input只读属性 编辑:程序博客网 时间:2024/05/21 15:50


1.编辑模式,双击文本;或通过以下两种方式进入:
  


2.转到--表头(弹出信息框内容,既是函数所需要的参数了);


3.使用函数READ_TEXT

  调用方式: PERFORM gettext using itab-vgbel '0001' '1' 'VBBK' changing ITAB-SAPPO.     "读取长文本  T_TDNAME T_TDID T_TDSPRAS T_TDOBJECT

定义:函数如下:

form gettext using T_TDNAME T_TDID T_TDSPRAS T_TDOBJECT changing T_Text.
  clear: h_itab.
  clear: h_itab[].
  data: P LIKE h_itab-TDLINE.
  DATA:stxl LIKE stxl OCCURS WITH HEADER LINE."抬头备注

  SELECT SINGLE FROM STXL INTO STXL
    WHERE TDNAME = T_TDNAME AND TDID = T_TDID AND TDSPRAS = T_TDSPRAS AND TDOBJECT = T_TDOBJECT.
  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      client                  = sy-mandt
      id                      = STXL-TDID    "读取文本的id
      language                = STXL-TDSPRAS "读取文本的语言
      name                    = STXL-TDNAME    "读取文本的名字
      object                  = STXL-TDOBJECT
    TABLES
      lines                   = h_itab
    EXCEPTIONS
      id                      1
      language                2
      name                    = 3
      not_found               = 4
      object                  = 5
      reference_check         = 6
      wrong_access_to_archive = 7
      OTHERS                  8.

  DATA: itemp LIKE thead-tdname."itemp为变量无值

  LOOP AT h_itab .
    CONCATENATE itemp h_itab-tdline INTO itemp SEPARATED BY space.  "解决回车事件
  ENDLOOP.
*  itab-TSET = itemp.
  T_Text = itemp.
  itemp = ''.
endform. "readitemtext