* https://www.berater-wiki.de/SAPscript-Textbaustein_lesen_mit_Funktionsbaustein_READ_TEXT_und_speichern_mit_SAVE_TEXT
* Texte: Anwendungsobjekt
* siehe SE75
CONSTANTS: co_obj_type TYPE thead-tdobject VALUE 'MATERIAL'. " Materialtexte Einkauf/Lagerung
* Text-ID
* siehe SE75 --> Doppelklick auf Objekt
CONSTANTS: co_obj_id TYPE thead-tdid VALUE 'BEST'. " Einkaufsbestelltext
DATA: it_thead TYPE STANDARD TABLE OF thead WITH DEFAULT KEY.
DATA: it_lines TYPE tline_t.
DATA: it_ascii TYPE tdtab_c132.
* Materialnummer mit führenden Nullen
DATA(lv_matnr) = CONV matnr( '000000001122334455' ).
* erst 'SELECT_TEXT' zur Prüfung aufrufen (ob Text vorhanden)
* 'READ_TEXT' wirft sonst bei Nichtvorhandensein des Textes eine Abbruchmessage
* Texterstellung Text auswählen
CALL FUNCTION 'SELECT_TEXT'
EXPORTING
object = co_obj_type
name = CONV thead-tdname( lv_matnr )
id = co_obj_id
language = sy-langu
TABLES
selections = it_thead " Textheader der gefundenen Texte
EXCEPTIONS
wrong_access_to_archive = 1
OTHERS = 2.
IF sy-subrc = 0.
IF lines( it_thead ) > 0.
* Texterstellung Text lesen
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = co_obj_id
language = sy-langu
name = CONV thead-tdname( lv_matnr )
object = co_obj_type
TABLES
lines = it_lines " Textzeilen des gelesenen Textes
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.
IF lines( it_lines ) > 0.
* Textkonvertierung ITF (SAPscript-Format) in ASCII
* Stile und Formatierungen aus SAP-Script-Text entfernen
CALL FUNCTION 'CONVERT_ITF_TO_ASCII'
EXPORTING
formatwidth = 132
IMPORTING
c_datatab = it_ascii
TABLES
itf_lines = it_lines
EXCEPTIONS
invalid_tabletype = 1
OTHERS = 2.
IF sy-subrc = 0.
cl_demo_output=>write_data( it_thead ).
cl_demo_output=>write_data( it_lines ).
cl_demo_output=>write_data( it_ascii ).
cl_demo_output=>display( ).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.