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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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