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-05