Есть ли способ просмотреть подробную информацию на вкладке «Текст позиции» в заказе на поставку ME23N в форме отчета или таблицы? Я пробовал искать во многих местах, но мне не удалось найти таблицу. Таблица EKKO / EKPO, похоже, в этом не помогает.
Извлечение текстов заказа на поставку в SAP
Ответы (1)
Существуют таблицы STXH (для заголовка) и STXL (для строк), но они не читаются из коробки.
Обычно чтение текстов осуществляется READ_TEXT
FM:
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = 'F01'
language = 'E'
name = %PO_number% + %PO_pos%
object = 'EKPO'
Чтобы узнать ID / название необходимого текста, необходимо войти в режим редактирования и нажать Goto >> Header, где нужно проверить соответствующие поля.
ОБНОВЛЕНИЕ: массовое извлечение текстов на основе приведенного выше примера
TYPES: BEGIN OF ty_stxl_raw,
clustr TYPE stxl-clustr,
clustd TYPE stxl-clustd,
END OF ty_stxl_raw,
BEGIN OF ty_stxl,
tdname TYPE stxl-tdname,
clustr TYPE stxl-clustr,
clustd TYPE stxl-clustd,
END OF ty_stxl.
DATA: t_stxl_raw TYPE STANDARD TABLE OF ty_stxl_raw,
t_stxl TYPE TABLE OF ty_stxl,
w_stxl_raw TYPE ty_stxl_raw.
DATA: t_tline TYPE STANDARD TABLE OF tline.
FIELD-SYMBOLS: <tline> TYPE tline,
<stxl> LIKE LINE OF t_stxl.
SELECT l~tdname l~clustr l~clustd
INTO CORRESPONDING FIELDS OF TABLE t_stxl
FROM stxl AS l
JOIN stxh AS h
ON h~tdobject = l~tdobject
AND h~tdname = l~tdname
AND h~tdid = l~tdid
WHERE l~relid = 'TX' "standard text
AND h~tdobject = 'EKPO'
AND h~tdname = '450001216400010'
AND h~tdid = 'F01'
AND l~tdspras = sy-langu.
LOOP AT t_stxl ASSIGNING <stxl>.
CLEAR: t_stxl_raw[], t_tline[].
APPEND VALUE ty_stxl_raw( clustr = <stxl>-clustr clustd = <stxl>-clustd ) TO t_stxl_raw.
IMPORT tline = t_tline FROM INTERNAL TABLE t_stxl_raw.
LOOP AT t_tline ASSIGNING <tline>.
"do anything
ENDLOOP.
ENDLOOP.
person
Suncatcher
schedule
16.02.2017
Привет Suncatcher, спасибо за предложение. Я уже пробовал этот способ. Но этот нужно вводить по очереди. Я ищу способ отобразить все текстовые элементы одним снимком в таблице. Я ищу любой запрос, который можно создать для этого.
- person Anonymous; 22.02.2017
Привет Suncatcher, спасибо! Этот код должен быть реализован в SQ02, верно? Если да, то мне нужно будет создать новый информационный набор, не так ли? Извините, у меня раньше не было опыта создания запросов SAP.
- person Anonymous; 09.03.2017
@ Анонимно, не обязательно в SQ02. В любом типе программы (тип 1, пул модулей, функциональный модуль и т. Д.) )
- person Suncatcher; 09.03.2017
Хорошо, я сначала попробую этот @Suncatcher. Спасибо!
- person Anonymous; 10.03.2017
Я продолжаю получать сообщение об ошибке: «Поле« t_stxl »неизвестно» .. Я попытался вставить этот код в информационный набор в разделе «Данные» для таблицы EKPO после того, как я создал информационный набор. Есть идеи, почему? @Suncatcher
- person Anonymous; 24.05.2017
@Anonymous, объявление таблицы отсутствует. Подправил код
- person Suncatcher; 24.05.2017
Это потрясающе, не могли бы вы сделать вариант для извлечения текста заказа на поставку из материалов в SAP? (MM03) Я бы устроил награду, но моя репутация отстой ...
- person DeerSpotter; 08.11.2017
@DeerSpotter, процесс тот же, просто используйте
MATERIAL
вместо EKPO
и BEST
вместо F01
в приведенном выше фрагменте. И, конечно же, правильное имя tdname.
- person Suncatcher; 10.11.2017