Текущее время: Пт, мар 29 2024, 15:00

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: ФМ для заполнения/настройки каталога полей ALV
СообщениеДобавлено: Вс, июн 26 2016, 18:24 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Здравствуйте!

Довольно часто встречающейся заботой ABAP программиста - является настройка каталога полей для ALV.

SAP рекомендует создавать таблицу для ALV в словаре данных и тогда никаких проблем с получением каталога нету.
Однако я регулярно вижу код и SAP и различных сторонних разработчиков где каталог полей набивается как угодно, чуть ли не руками (append-ы, всякие макросы, loop с настройкой и т.п.), да и я порой тоже так делал. Мне это надоело и я решил решить эту проблему.

Написал небольшую группу функций решающую эту проблему (и не только) которой хочу с вами поделиться:

Интерфейс функционального модуля:
Code:
FUNCTION ydk_alv_fcat_build.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(ALV_STRUT_KEY) TYPE  YDK_ALV_STRUTURE_KEY
*"     VALUE(STRUCTURES) OPTIONAL
*"  TABLES
*"      IN_FCAT OPTIONAL
*"      ALV_TAB
*"      FCAT
*"----------------------------------------------------------------------

Основные параметры:
ALV_STRUT_KEY - Идентификатор структуры ALV, обычно я его делаю совпадающим с именем программы (если в программе несколько ALV добавляю постфиксы)
ALV_TAB – таблица которую собираетесь выводить в ALV.
FCAT – таблица для каталога полей, может быть и LVC и SLIS (что подано определяет само)

Алгоритм:
ФМ анализирует структуру таблицы ALV_TAB, ищет описание и настройки для полей таблицы в таблицах YDK_ALV_FCAT и YDK_ALV_FCAT_TXT (язык зависимая), если находит заполняет FCAT, если не находит пытается найти описание поля по элементу данных, заполняет FCAT и сохраняет заготовку для до настройки в таблицы YDK_ALV_FCAT и YDK_ALV_FCAT_TXT. Перед выходом из ФМ проверяет появились ли новые поля в структуре ALV_TAB, если появились – уведомляет об этом пользователя и если есть полномочия разработчика предлагает выполнить настройку.

Дополнительные не обязательные параметры:
STRUCTURES – строка с перечислением через «;» словарных структур/таблиц из которых нужно взять описание для полей таблицы ALV_TAB (поля ищутся по имени поля)
IN_FCAT - Каталог полей (исходный) - для тех случаев когда выполняется доработка старых программ. IN_FCAT уже заполнен, но надо добавить новые поля

Инструмент для настройки каталога:
Для редактирования таблиц YDK_ALV_FCAT и YDK_ALV_FCAT_TXT сделана программа YDK_ALV_FCAT (транзакция YDKFCAT) - программа простенькая, позволяет настраивать поля каталога, удалять старые поля, записывать каталог в запрос на перенос.
Изображение

Изображение

Список свойств полей каталога доступных для настройки:
Изображение

Если каких-то свойств на ваш взгляд не хватает — пишите добавлю, собственно достаточно добавить поле в таблицу YDK_ALV_FCAT или YDK_ALV_FCAT_TXT

Установка:
Архив с транспортными файлами запроса на перенос

PS: про опечатку в названии параметра ALV_STRUT_KEY знаю, но уже поздно. т.к. у меня этот модуль задействован уже раз 50

_________________
Изображение Попытка не пытка


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для заполнения/настройки каталога полей ALV
СообщениеДобавлено: Ср, июл 27 2016, 17:52 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, июл 14 2016, 10:53
Сообщения: 4
Откуда: Киев
Пол: Мужской
Спасибо !
Полезная вещь! :pivo:


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB