РАЗРАБОТКА ABAPP1L2

ABAP: отчёты, selection screens и ALV

Как задавать параметры отчёта, обрабатывать события выполнения и выводить финансовые строки с понятными ключами и валютами.

Ревизия 1 Применимость к указанным контекстам Частичное покрытие Контекст: CTX-GENERAL документальная опора: недостаточно данных
Справочный материал. Контракты данных, архитектурные решения и ограничения применения. Источники приведены в материалах, где используются внешние основания.

ABAP: отчёты, selection screens и ALV#

Исполняемые ABAP-отчёты подходят для ограниченного чтения и анализа данных. Последовательностью экрана отбора и событий отчёта управляет runtime. Проектирование вывода начинается с бизнес-вопроса и контракта отбора, после чего каждая показанная строка должна быть связана с исходным ключом и понятным смыслом.

Задайте ограниченный контракт отбора#

Используйте PARAMETERS для одного значения, а SELECT-OPTIONS для диапазонов, если это соответствует вопросу. До чтения данных определите обязательные фильтры, значения по умолчанию, допустимые интервалы и их комбинации. Проверяйте пользовательский ввод в событиях экрана отбора, но отдельно выполняйте проверки полномочий и целостности данных в основном пути: правило интерфейса не является границей безопасности.

Для финансовых данных явно укажите компанию, ledger, финансовый год или период, валютный контекст и важные ключи документов. Широкий отчёт, который незаметно читает весь ledger, может расходовать лишние ресурсы и выдавать результат, который нельзя сверить. Показывайте фактические параметры отбора и объясняйте исключения, пустой результат и усечение.

Учитывайте последовательность событий отчёта#

Runtime обрабатывает события отчёта в заданном порядке. Инициализация выполняется перед стандартным экраном отбора; события selection screen проверяют или обрабатывают ввод; START-OF-SELECTION начинает основной путь чтения и обработки. Дополнительные события относятся к логическим базам данных и классической обработке списков. Не считайте событие заменой повторно используемого метода и не предполагайте, что взаимодействие с GUI доступно в фоновой обработке.

Разделяйте чтение данных, расчёт и представление настолько, чтобы каждую часть можно было проверить. Передавайте селективные условия в базу, если это корректно для выбранного источника. Не читайте все строки, чтобы потом отфильтровать их только в ABAP. Для больших наборов определите лимиты, разбиение на страницы или агрегацию, отмену и явное сообщение, если показаны не все данные.

Выберите вывод под потребителя#

ALV Grid Control предоставляет интерактивное табличное представление для сценариев SAP GUI. Осознанно задайте заголовки столбцов, единицы измерения, ссылки на валюту, итоги, сортировку, фильтры и действия над строками. В итог ALV нельзя складывать разные валюты или единицы измерения как сопоставимые значения. Сохраняйте идентичность строки, чтобы пользователь мог перейти от сводки к исходным документам.

ALV with IDA может по-разному делегировать чтение и отображение в зависимости от базы данных и поддерживаемой таблицы или view. Проверьте возможности и рекомендации по лимитам строк целевой системы; не предполагайте, что одинаковый объём данных будет обрабатываться одним и тем же слоем во всех окружениях. GUI-функциональность ALV сама по себе не подтверждает поддержку фоновых заданий или любого варианта развёртывания.

Если отчёт изменяет бизнес-данные, рассматривайте это как задачу проектирования транзакции, а не форматирования. Отделите просмотр от изменения, потребуйте полномочия и подтверждение, определите точные затрагиваемые ключи, предусмотрите предварительный просмотр или аудит, если они нужны, и задайте правила повтора и отмены.

Проверьте смысл результата#

Проверьте границы отбора, пустые и большие наборы, граничные даты и периоды, итоги для нескольких валют, повторяющиеся бизнес-ключи, отсутствие полномочий и фоновое выполнение, если оно поддерживается. Сравните число строк и групповые итоги с независимой выборкой или известным контрольным отчётом. Убедитесь, что по выводу можно определить систему, параметры отбора, время и состояние данных для повторения результата.

Источники описывают разные выпуски ABAP Platform и SAP GUI. Точные события, функции ALV, перенос обработки в базу и поддержка фонового режима зависят от выбранного API и системы. В этом проекте нет ABAP runtime; отчёт, экран, ALV и финансовый результат не выполнялись.

Источники и документация

  1. Selection Screen Processing ↗
  2. Description of Reporting Events ↗
  3. Getting Started with ALV Grid Control ↗
  4. ALV with IDA Database Awareness ↗

Источники нужны для самостоятельной проверки. Примеры и интерпретации на сайте могут быть учебными упрощениями.