Abap blog, salv table - настройка формату

Я люблю, щоб мій код був елегантним і ефективним. Логіка повинна бути досить прямолінійною, щоб помилок було важко сховатися; залежності - мінімальними, щоб спростити супровід; обробка помилок - повної відповідно до виробленої стратегією; а продуктивність - близькою до оптимальної, щоб не спокушати людей забруднювати код безпринципними оптимізаціями. Чистий код добре вирішує одну задачу.

Марія

Сідорочкін Михайло

Дмитро Карпов

Сідорочкін Михайло

Alberd

Формат ALV визначає: сортування, угруповання, зовнішній вигляд, налаштування оптимізації колонок і т.п. Для вибору форматів служить клас cl_salv_layout_service. Для настройки збереження і прив'язки до ALV об'єкту клас cl_salv_layout. Перше що необхідно при роботі з форматами дати користувачеві можливість його вибрати на екрані вибору.

Для вибору формату необхідно використовувати статичний метод f4_layouts класу cl_salv_layout_service. На вхід необхідно подати структуру відповідає за ідентифікацію об'єкта ALV до якого необхідно отримати формат, структура S_KEY має тип SALV_S_LAYOUT_KEY. Основне що необхідно заповнити в цій структурі це id звіту (report). Інші параметри необхідні коли ви використовуєте кілька ALV об'єктів в програмі і для кожного необхідно вибирати свої формати. Ще один параметр методу - restrict, він визначає які формати будуть показані користувачеві. Може приймати наступні значення: if_salv_c_layout => restrict_none - без обмежень, if_salv_c_layout => restrict_user_dependant - тільки формати свого користувача, if_salv_c_layout => restrict_user_independant - тільки загальні формати.

Для того щоб користувач зміг зберігати (створювати) формати, необхідно вказати ALV об'єкту ідентифікатор формату (той самий s_key), формат за замовчуванням і обмеження при збереженні. Зазначені параметри задаються за допомогою класу: cl_salv_layout. Приклад програми нижче продемонструє яким чином з ним працювати: