Возьмем для примера ИТ 0298, он может содержать несколько длинных текстов в разных источников.
Первый - в разделе Стандартные тексты. Данные тексты хранятся в таблицах
STXH / STXL и их можно посмотреть в транзакции SO10
Второй - по кнопке F9. Данные тексты хранятся в кластере PCL3
В первом случае можем читать тексты при помощи ФМ READ_TEXT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
" DATA lt_linetab TYPE LXE_TLINE. DATA ls_thead TYPE thead. DATA lv_text_name TYPE tdobname. CONCATENATE p0298-lgtxt '0' INTO lv_text_name. "для 0298 ИТ в Общем случае CALL FUNCTION 'READ_TEXT' EXPORTING id = 'ST' language = sy-langu name = lv_text_name object = 'TEXT' IMPORTING header = ls_thead TABLES lines = lt_linetab EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. |
В случае кластера( текст открывается по F9 ) надо использовать класс cl_hrpa_text_cluster
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
REPORT z_test_pau. TABLES pernr. INFOTYPES 0298. DATA ls_pskey TYPE pskey. START-OF-SELECTION. GET pernr. READ TABLE p0298 WITH KEY massn = 'C1'. "ваша запись MOVE-CORRESPONDING p0298 TO ls_pskey. cl_hrpa_text_cluster=>read( EXPORTING tclas = 'A' pskey = ls_pskey no_auth_check = abap_true IMPORTING text_tab = DATA(lt_text) ). END-OF-SELECTION. |