:::: МЕНЮ ::::

Регулярные выражения в ABAP

Регулярное выражение (Regular expression, REGEX) — механизм поиска подстроки в тексте по предопределенному шаблону. Использование регулярных выражений имеет смысл в случаях когда у нас нет четкого понимания того, что нужно найти. К примеру, если стоит задача найти в тексте определенное слово или фразу, то подойдет обычный поиск подстроки. А когда требуется найти неизвестный e-mail или последовательность из 25-ти английских букв или цифр, например XXXXX-XXXXX-XXXXX-XXXXX-XXXXX, то без регулярных выражений просто не обойтись.
Читать дальше…


Вставка содержимого таблицы в запрос

Для переноса данных из БД в системы, обычно используют ракурсы ведения таблиы. Но можно обойтись и без него. Для этого, в системе разработки необходимо:

  1. Открыть тр. SE11
  2. Выделить нужные строки
  3. В меню выбрать «Запись таблицы» -> «Перенос записей»

Читать дальше…


Динамическая генерация селекционного экрана

Для отображения динамического экрана выбора полей существует набор функциональных модулей, описанных в группе функций SSEL. Простой пример выбора полей из определенной таблицы продемонстрирован в программе DEMO_FREE_SELECTIONS.
Для непосредственной генерации и отображения экрана выбора используются модули FREE_SELECTIONS_INIT и FREE_SELECTIONS_DIALOG. Первый возвращает дескриптор экрана с указанными настройками, второй отображает данный экран и возвращает критерии выбора.
Читать дальше…


Перегрузка процедур и методов

Большинство языков программирования высокого уровня позволяют определять несколько функций с одинаковыми названиями в одной области. Язык ABAP такую возможность нам не предоставляет. Однако, ее можно имитировать используя Generic Types и RTTS.
Читать дальше…


Заполнение справочных полей таблицы по ключу

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

Поля таблицы можно классифицировать на справочные и не справочные. К первой группе относятся: bukrs_txt, werks_txt, matnr_txt. Ко второй остальные. Для каждого справочного поля имеется соответствующий ключ, по которому можно однозначно определить значение справочного поля. Например, ключом поля bukrs_txt будет bukrs, т.к. для определения наименования БЕ необходимо знать код БЕ. Как правило, заполнение справочных полей значениям происходит в последнюю очередь.
Задача: заполнить справочные поля по соответствующим ключам, используя при этом минимальные ресурсные затраты.
Читать дальше…


Динамическая проверка процедуры на существование

Сразу скажу что такая задача возникает крайне редко. Проверить процедуру на существование можно путем ее вызова и анализа последующего исключения. Вызов процедуры осуществляется командой PERFORM (proc) IN PROGRAM (prog), а чтобы при вызове не выполнять ее код, необходимо вызвать ее с заведомо ложной сигнатурой.
Читать дальше…


Страницы:1234