получить позиции для сохранения в доставке через ABAP - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь проверить, соответствуют ли позиции в поставке, которые изменены с помощью транзакции vl02n , определенным критериям до сохранения документа.

Для этого действия я хочу использоватьuser exit USEREXIT_SAVE_DOCUMENT_PREPARE .

В отладчике я проверил, какие таблицы и переменные доступны, и обнаружил, что существует глобальная таблица XLIPS , которая содержит все видимые позициив текущей сохраняемой доставке.

Проблема в том, что в XLIPS есть также позиции, которые уже были удалены в GUI vl02n.Поскольку я просто хочу проверить позиции, которые действительно будут сохранены, я не хочу использовать таблицу XLIPS.

Как я могу решить эту проблему и есть ли лучший способ, чем использовать XLIPS?

Большое спасибо за вашу помощь и, пожалуйста, извините за мой плохой английский.

1 Ответ

0 голосов
/ 09 ноября 2018

XLIPS содержит информацию об изменении всех пунктов доставки при сохранении. Таким образом, если вы удалите строку, XLIPS будет по-прежнему удерживать удаленную строку с полем XLIPS-UPDKZ, установленным на D - что означает, что строка была удалена (или I вставлена ​​или U обновлена). Имея это в виду, вы должны быть в состоянии запрограммировать свои проверки по соответствующим пунктам соответственно:

LOOP AT xlips ... WHERE updkz NE 'D'.
    <your code here>
ENDLOOP.
...