Code listing for: GET_ASCII_CONTENT

Description: Get text content of text type attachment

**************************************************************************
*   Method attributes.                                                   *
**************************************************************************
Instantiation: Public
**************************************************************************

METHOD get_ascii_content.

  FIELD-SYMBOLS: <line> TYPE sdokcntasc.

  DATA:
    lv_logical_key TYPE skwf_io,
    lt_content TYPE sdokcntascs,
    ls_error TYPE skwf_error,
    lv_dummy_message TYPE string.

* Construct logical key
  lv_logical_key-objtype = me->key-objtypelo.
  lv_logical_key-class = me->key-classlo.
  lv_logical_key-objid = me->key-objidlo.

* Get text lines
  CALL METHOD cl_crm_documents=>get_with_table
    EXPORTING
      loio               = lv_logical_key
    IMPORTING
      error              = ls_error
      file_content_ascii = lt_content.

  IF ls_error IS NOT INITIAL.
    MESSAGE ID ls_error-id TYPE ls_error-type NUMBER ls_error-no
      WITH ls_error-v1 ls_error-v2 ls_error-v3 ls_error-v4
      INTO lv_dummy_message.
    RAISE EXCEPTION TYPE zcx_gos_attachment_exception.
  ENDIF.

* Convert the separate text lines to a single string
  LOOP AT lt_content ASSIGNING <line>.
    CONCATENATE content <line> INTO content SEPARATED BY cl_abap_char_utilities=>cr_lf.
  ENDLOOP.

ENDMETHOD.