2016-08-25 2 views
0

Мне нужно вызвать функцию, которая имеет тип таблицы в качестве параметра импорта в программе. Я думал об этом с помощью экрана выбора, но я не могу использовать глубокие структуры в качестве параметров. Когда я тестирую этот функциональный модуль, он показывает мне, где я могу добавить несколько записей и отправить все в конце. Могу ли я получить что-то подобное во время выполнения программы? Редактировать: Я должен предложить программу, которая вызывает функциональный модуль create_skill_profile. function module import1Передать параметр таблицы в FM через экран выбора

function module code 12

function module code 23

+0

Да, просто запрограммируйте его. Если вы хотите получить разумный ответ, добавьте более подробную информацию о функциональном модуле и фактических требованиях, пожалуйста. – vwegert

+0

Вы можете использовать 'SELECT-OPTIONS' для добавления нескольких значений на экране выбора. – Jagger

+0

Отправьте свой код в текстовой форме, ваши вопросы [не читаются в текущей форме] (http://meta.stackoverflow.com/questions/303812/discourage-screenshots-of-code-and-or-errors/303816#303816) , – Suncatcher

ответ

0

Я понимаю: Вы хотите вызвать функциональный модуль, который требует таблицу в качестве параметра импорта. Строки таблицы заполняются с пользовательского ввода. Количество строк является динамическим.

Подходы: 1) использовать экран выбора с предопределенными полями ввода и показать/скрыть их динамически через PAI (AT ВЫБОР-SCREEN (на ххх) LOOP AT SCREEN), а затем построить таблицу и вызвать ваш функциональный модуль по СНВ.. -Конечно ВЫБОРА.

2) показать редактируемые сетки ALV с структурой таблицы. Внесите кнопку панели инструментов приложения или используйте кнопку SAVE, чтобы пользователь мог вызвать ваш функциональный модуль, когда он закончил вставлять свой ввод.

Я бы отказался от предпочтения 2), хотя пользовательская проверка ввода немного сложна. Но если требуемый ввод пользователя такой же, как и стандартная структура таблиц ddic, проверка ввода происходит автоматически.

1

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

Итак, в вашем отчете вы можете запросить имя нужного типа (если оно должно быть динамическим), а затем в начале выбора вы можете создать объект данных этого типа и передать его RS_COMPLEX_OBJECT_EDIT, чтобы пользователь мог его заполнить.

Серьезное ограничение RS_COMPLEX_OBJECT_EDIT заключается в том, что он не может обрабатывать отсортированные или хешированные таблицы в качестве входных данных. Итак, все компоненты вашей сложной структуры, если они имеют тип таблицы, должны быть стандартными таблицами.