Мне нужно вызвать функцию, которая имеет тип таблицы в качестве параметра импорта в программе. Я думал об этом с помощью экрана выбора, но я не могу использовать глубокие структуры в качестве параметров. Когда я тестирую этот функциональный модуль, он показывает мне, где я могу добавить несколько записей и отправить все в конце. Могу ли я получить что-то подобное во время выполнения программы? Редактировать: Я должен предложить программу, которая вызывает функциональный модуль create_skill_profile. 1Передать параметр таблицы в FM через экран выбора
ответ
Я понимаю: Вы хотите вызвать функциональный модуль, который требует таблицу в качестве параметра импорта. Строки таблицы заполняются с пользовательского ввода. Количество строк является динамическим.
Подходы: 1) использовать экран выбора с предопределенными полями ввода и показать/скрыть их динамически через PAI (AT ВЫБОР-SCREEN (на ххх) LOOP AT SCREEN), а затем построить таблицу и вызвать ваш функциональный модуль по СНВ.. -Конечно ВЫБОРА.
2) показать редактируемые сетки ALV с структурой таблицы. Внесите кнопку панели инструментов приложения или используйте кнопку SAVE, чтобы пользователь мог вызвать ваш функциональный модуль, когда он закончил вставлять свой ввод.
Я бы отказался от предпочтения 2), хотя пользовательская проверка ввода немного сложна. Но если требуемый ввод пользователя такой же, как и стандартная структура таблиц ddic, проверка ввода происходит автоматически.
Вы можете вызвать функциональный модуль RS_COMPLEX_OBJECT_EDIT
в своем отчете для редактирования сложной структуры. Это тот же функциональный модуль, который используется для редактирования тестовых данных в одиночном тесте функционального модуля.
Итак, в вашем отчете вы можете запросить имя нужного типа (если оно должно быть динамическим), а затем в начале выбора вы можете создать объект данных этого типа и передать его RS_COMPLEX_OBJECT_EDIT
, чтобы пользователь мог его заполнить.
Серьезное ограничение RS_COMPLEX_OBJECT_EDIT
заключается в том, что он не может обрабатывать отсортированные или хешированные таблицы в качестве входных данных. Итак, все компоненты вашей сложной структуры, если они имеют тип таблицы, должны быть стандартными таблицами.
Да, просто запрограммируйте его. Если вы хотите получить разумный ответ, добавьте более подробную информацию о функциональном модуле и фактических требованиях, пожалуйста. – vwegert
Вы можете использовать 'SELECT-OPTIONS' для добавления нескольких значений на экране выбора. – Jagger
Отправьте свой код в текстовой форме, ваши вопросы [не читаются в текущей форме] (http://meta.stackoverflow.com/questions/303812/discourage-screenshots-of-code-and-or-errors/303816#303816) , – Suncatcher