Как указано в теме, я хочу иметь условное подмножество внутренней таблицы внутри другой внутренней таблицы.
Давайте сначала посмотрим, как это может выглядеть по старинке.
DATA: lt_hugeresult TYPE tty_mytype,
lt_reducedresult TYPE tty_mytype.
SELECT "whatever" FROM "wherever"
INTO CORRESPONDING FIELDS OF TABLE lt_hugeresult
WHERE "any_wherecondition".
IF sy-subrc = 0.
lt_reducedresult[] = lt_hugeresult[].
DELETE lt_reducedresult WHERE col1 EQ 'a value'
AND col2 NE 'another value'
AND col3 EQ 'third value'.
.
.
.
ENDIF.
Мы все можем это знать.
Теперь я читал о материалах, сокращающих таблицы, которые представлены в abap 7.40, по-видимому, SP8.
Составление таблиц - функциональное построение таблиц
На основе таблиц:
Тип таблицы VALUE (FOR line IN вкладка WHERE (…)
(… Линия-…… линия-……))
Для каждой выбранной строки в исходной таблице (ах) построить строку в таблице результатов. Обобщение конструктора значений от статического к динамическому количеству строк.
Я экспериментировал с этим, но результаты кажутся не совсем подходящими, возможно, я делаю это неправильно, или мне может даже понадобиться подход, основанный на условиях.
Итак, как бы это выглядело, если бы я хотел написать приведенное выше утверждение с помощью техники понимания таблиц?
До сих пор у меня есть это, доставляет не то, что мне нужно, и я видел, что вроде бы «не равно» невозможно ...
DATA(reduced) = VALUE tty_mytype( FOR checkline IN lt_hugeresult
WHERE ( col1 = 'a value' )
( col2 = 'another value' )
( col3 = space )
).
У кого-нибудь есть подсказки?
РЕДАКТИРОВАТЬ: Кажется, все еще не работает. Вот как я это делаю:
Исполняемая строка:
Результаты отладчика:
Неправильно уменьшено:
И че теперь ???
MARA
илиBSEG
), поскольку структураBAPI2045D4
используется только в паре QM BAPI (в отдельных параметрах), а поведение этих параметров плохо документировано. - person Suncatcher   schedule 10.03.2016MARA
. - person Suncatcher   schedule 10.03.2016