Пойдем.
<сильный>1. Информация:
Вы проверили этот функциональный модуль BAPI_PLANNEDORDER_GET_DETAIL? Он не принимает никаких диапазонов-таблиц/выборов в качестве аргументов для своих параметров.
<сильный>2. Предположение:
Единственное, что может быть Вашей целью, исходя из типа объявления переменной в начале,
it_data type standard table of BAPI_PLDORDCOMP_E1.
заставляет меня предположить, что вы, возможно, захотите предоставить список компонентов, и поэтому вы думаете, что вам нужна таблица диапазонов, чтобы были выбраны ТОЛЬКО ОПРЕДЕЛЕННЫЕ КОМПОНЕНТЫ.
<сильный>3. Как сделать:
Если это Ваш случай, то Вы должны создать параметры выбора на Вашем экране выбора, например: (Это может быть способом, тем не менее, Вы должны найти подходящую таблицу, где хранятся все компоненты запланированного заказа, и использовать его "имя"-матнр в "ЗА". ). Здесь просто показано, как это делается.
SELECT-OPTIONS: so_matnr FOR marc-matnr.
ЕСЛИ программа скорбит, добавьте оператор в начало, или в топ-включите:
TABLES: "TheTableNameYouWantForFor".
Если вы добавите SO_xxx в раздел вашего параметра, это неявно создаст переменную в коде, которая служит таблицей диапазонов. В отладчике можно увидеть что-то вроде этого:
Теперь вы должны
- а) ПРОАНАЛИЗИРОВАТЬ ЭТУ ДИАПАЗОННУЮ ТАБЛИЦУ, чтобы правильно ее проанализировать. Это непросто (для этого может быть функциональный модуль/метод, но я не знаю). Что Вам в основном нужно будет сделать, так это извлечь те материальные числа, КОТОРЫЕ желательны. Это не так очевидно, как кажется, потому что пользователь также МОЖЕТ ввести НЕСКОЛЬКО ДИАПАЗОНОВ / НЕСКОЛЬКО ИСКЛЮЧЕНИЙ / НЕСКОЛЬКО ОДИНОЧНЫХ ЗНАЧЕНИЙ / НЕСКОЛЬКО ВКЛЮЧЕНИЙ. Поля SIGN и OPTION отвечают за указанную выше комбинацию. И SAP предлагает многое.
Это фото покажет Вам, что это может означать.
- б) После того, как вы правильно проанализировали все материалы и действительно определили, КАКИЕ МАТЕРИАЛЫ ДОЛЖНЫ БЫТЬ ТАКЖЕ ВЫБРАНЫ (возможно, вторая таблица посредника), вы можете зациклиться на таблице so_xxx-implicit или таблице посредников в структуре, получить значение, передать его к структуре таблицы аргументов вызова bapi и НАДЕЮСЬ, что номер материала достаточен для BAPI-структуры для доставки материалов (вы должны сначала проверить это с помощью se37). Как получить материалы из таблицы неявных опций выбора?
Но из того, что я вижу, и это было бы правильным способом, это самостоятельно определить обратный вызов F4, т.к. Вы уже вводите ключ запланированного заказа. Это означало бы, что у вас будет подмножество всех материалов в системе, сокращенное до тех, которые являются компонентами запланированного заказа.
Это будет включать настраиваемые F4-Helps, настраиваемые F4-HelpExits, настраиваемые обратные вызовы F4.
Еще немного усилий.
На самом деле слишком много для такого простого запроса.
<сильный>4. Вывод:
Проверяем, что делает BAPI, частично его переписываем (проверьте выбранные таблицы, se37 и st05 до se37 подскажет), сами пишете правильный код (или копипастите из bapi), а можно использовать матнр-диапазон как написано выше.
person
icbytes
schedule
02.12.2015