SAP ABAP 跟外围系统处理长文本 换行显示 获取长文本方法封装

CLASS ztest_cl DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC .

  PUBLIC SECTION.

    CLASS-METHODS get_long_text
      IMPORTING
        !iv_id         TYPE thead-tdid
        !iv_language   TYPE thead-tdspras DEFAULT sy-langu
        !iv_name       TYPE thead-tdname
        !iv_object     TYPE thead-tdobject
      RETURNING
        VALUE(rv_text) TYPE string .
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.



CLASS ZTEST_CL IMPLEMENTATION.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Static Public Method ZTEST_CL=>GET_LONG_TEXT
* +-------------------------------------------------------------------------------------------------+
* | [--->] IV_ID                          TYPE        THEAD-TDID
* | [--->] IV_LANGUAGE                    TYPE        THEAD-TDSPRAS (default =SY-LANGU)
* | [--->] IV_NAME                        TYPE        THEAD-TDNAME
* | [--->] IV_OBJECT                      TYPE        THEAD-TDOBJECT
* | [<-()] RV_TEXT                        TYPE        STRING
* +--------------------------------------------------------------------------------------</SIGNATURE>
  METHOD get_long_text.

    DATA:lt_lines    TYPE STANDARD TABLE OF tline.
    DATA:lt_text     TYPE string_table.

    CALL FUNCTION 'READ_TEXT'
      EXPORTING
        id                      = iv_id
        language                = iv_language
        name                    = iv_name
        object                  = iv_object
      TABLES
        lines                   = lt_lines
      EXCEPTIONS
        id                      = 1
        language                = 2
        name                    = 3
        not_found               = 4
        object                  = 5
        reference_check         = 6
        wrong_access_to_archive = 7
        OTHERS                  = 8.
    IF sy-subrc <> 0.
* Implement suitable error handling here
      CLEAR  rv_text .
    ELSE.
      CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'
        EXPORTING
          language     = iv_language
          lf           = abap_true
        IMPORTING
          stream_lines = lt_text
        TABLES
          itf_text     = lt_lines.
      "header text
      LOOP AT lt_text  INTO DATA(ls_text).
        CONCATENATE rv_text
                    ls_text
                    cl_abap_char_utilities=>newline
        INTO rv_text
       SEPARATED BY space.
      ENDLOOP.
    ENDIF.
  ENDMETHOD.
ENDCLASS.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值