Для переноса данных из БД в системы, обычно используют ракурсы ведения таблиы. Но можно обойтись и без него. Для этого, в системе разработки необходимо:
- Открыть тр. SE11
- Выделить нужные строки
- В меню выбрать «Запись таблицы» -> «Перенос записей»
Для переноса данных из БД в системы, обычно используют ракурсы ведения таблиы. Но можно обойтись и без него. Для этого, в системе разработки необходимо:
Для отображения динамического экрана выбора полей существует набор функциональных модулей, описанных в группе функций SSEL. Простой пример выбора полей из определенной таблицы продемонстрирован в программе DEMO_FREE_SELECTIONS.
Для непосредственной генерации и отображения экрана выбора используются модули FREE_SELECTIONS_INIT и FREE_SELECTIONS_DIALOG. Первый возвращает дескриптор экрана с указанными настройками, второй отображает данный экран и возвращает критерии выбора.
Читать дальше…
Большинство языков программирования высокого уровня позволяют определять несколько функций с одинаковыми названиями в одной области. Язык ABAP такую возможность нам не предоставляет. Однако, ее можно имитировать используя Generic Types и RTTS.
Читать дальше…
Пусть у нас имеется внутренняя таблица, размерность которой может составлять как десяток строк, так и сотни тысяч строк
1 2 3 4 5 6 7 8 9 10 |
DATA: BEGIN OF lt_tab OCCURS 0, bukrs LIKE t001-bukrs, " БЕ bukrs_txt LIKE t001-butxt, " Наименование БЕ werks LIKE t001w-werks, " Завод werks_txt LIKE t001w-name1, " Наименование завода matnr LIKE makt-matnr, " Материал matnr_txt LIKE makt-maktx, " Наименование материала dmbtr TYPE tslxx, " Сумма END OF lt_tab. |
Поля таблицы можно классифицировать на справочные и не справочные. К первой группе относятся: bukrs_txt, werks_txt, matnr_txt. Ко второй остальные. Для каждого справочного поля имеется соответствующий ключ, по которому можно однозначно определить значение справочного поля. Например, ключом поля bukrs_txt будет bukrs, т.к. для определения наименования БЕ необходимо знать код БЕ. Как правило, заполнение справочных полей значениям происходит в последнюю очередь.
Задача: заполнить справочные поля по соответствующим ключам, используя при этом минимальные ресурсные затраты.
Читать дальше…
Сразу скажу что такая задача возникает крайне редко. Проверить процедуру на существование можно путем ее вызова и анализа последующего исключения. Вызов процедуры осуществляется командой PERFORM (proc) IN PROGRAM (prog), а чтобы при вызове не выполнять ее код, необходимо вызвать ее с заведомо ложной сигнатурой.
Читать дальше…