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

Включить отладчик в модальном окне

При возникновении модального окна (сообщение типа I, POPUP-окно и т.п.) поле ввода SAP-команд становится неактивным, поэтому включить отладку через /H напрямую не получится
Поле ввода SAP команды блокируется, если открыто модальное окно

В подобной ситуации ABAP Debugger можно вызвать путем отправки команды отладки через файл.

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


Динамические точки остановки в ABAP-отладчике

Все программисты и большинство консультантов используют ABAP отладчик. ABAP Debugger нужен для отладки приложений. Типичная задача для отладчика — найти место возникновения какого-нибудь события. Для поиска нужного места можно использовать пошаговое выполнение программы, а можно установить динамическую точку прерывания. Динамическими (или условными) точками прерывания будем называть такие точки, которые срабатывают при определенном событии.

Наиболее популярные события, с которыми мне приходилось сталкиваться:

  • Момент заполнения определенной переменной
  • Вывод сообщения через команду MESSAGE
  • Возникновение исключения
  • Выбора данных из определенной таблицы

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


Z-программа для редактирования таблиц БД

В предыдущем посте рассматривались стандартные способы редактирования таблиц БД. Однако, политика некоторых компаний категорически запрещает использовать стандартные механизмы редактирования таблиц за исключением создания ракурсов ведения. Работая в одной транспортной компании я испытывал подобные трудности. Мне часто приходилось редактировать настроечные таблицы без ракурсов ведения. Установка флагов GD-EDIT и GD-SAPEDIT в SE16N не давало результата, функциональный модуль SE16N_INTERFACE был закрыт для использования. Эти ограничения мотивировали меня написать аналог SE16N.
Экран выбора таблицы
Экран выбора таблицы
Ограничение начальных данных
Ограничение начальных данных
Сохранение данных
Сохранение изменённых записей

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


Редактирование записей в таблицах БД стандартными средствами

Зачастую у консультантов и у программистов возникает необходимость изменить какие-либо данные в таблицах БД. Есть несколько способов редактирования данных в таблицах БД в GUI режиме. Самые популярные методы редактирования — это ракурсы ведения, изменения данных через SE16N и Z-программы, аналоги SE16N.
Читать дальше…


Автоматический пересчет данных в разрезе выбранных полей ALV Grid

ALV Grid позволяет пользователю отображать отчет в желаемом виде. Пользователю доступны такие операции как: отображение или скрытие указанных полей, изменение порядка вывода столбцов. Зачастую, при изменении списка отображаемых полей, заказчик хочет видеть пересчет данных в разрезе отображаемых столбцов. Ниже описан способ автоматического пересчета данных в таблице, на основе каталога полей ALV Grid.
Читать дальше…


Получение доступа к таблице с данными в ALV Grid

Иногда возникает необходимость необходимость получить доступ к таблице с данными в ALV Grid (класс CL_GUI_ALV_GRID). Ссылка на таблицу с данными лежит в атрибуте MT_OUTTAB. Спецификатор доступа Protected запрещает использование данного атрибута за пределами класса, но разрешает его использование потомкам. Чтобы получить значение данного атрибута, необходимо создать вспомогательный класс, наследованный от CL_GUI_ALV_GRID, и определить в нем статичный метод, извлекающий необходимые данные.
Читать дальше…


Регулярные выражения в 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.
Читать дальше…


Страницы:12345