FAQ. Расширение логической базы данных (ЛБД)

FAQ. Расширение логической базы данных (ЛБД)

VirVit 7 комментариев
Вопрос-ответ

Вопрос:

На проекте возникает необходимость в использовании различных аналитик для выборок сотрудников в стандартных отчетах на ЛБД PNP*.
Нужны аналитики вида:
1. Не суммированный/Суммированный учет квартал/Суммированный учет год/…
2. Руководитель/специалист/рабочий/…
3. Высший менеджмент/Средний/Младший/…
4. Член правления/Не член правления/…
5. И возможно еще несколько…Для некоторых аналитик возможно пользоваться категориями персонала, например:
1а    РукОклад
1б    РукОкладСумМес
1в    РукОкладСумГод
1г    РукОкладСумКвартал
1д    РукОкладСумДваМес
2е    СпецОклад
…Вопрос: Каким образом правильнее решить эту проблему? Как расширять ЛБД? Может быть есть стандартные инфотипы, которые можно использовать на экране выбора в стандартных отчетах?

Ответ. Покопавшись в сетях и системах, пришел к выводу, что можно лишь частично улучшить ситуацию. В программах на селекционном экране есть такая кнопочка – динамическая выборка. Когда на нее нажимаешь, то появляется страшное окошко аля вот это:

pt60_selscreen

Теоретически изменить содержимое этого экрана можно. Например, добавить свои инфотипы, которые будут использованы как критерии для выборки. Это все делается через класс HR отчета и экран представление выбора (Selection View). Само представление создается в транзакции SE80 – Selection View для таблицы или в SE36->Extras->Selection Views для ЛБД. Как это делать написано вот тут в подсказке к настройке:

spro

Беда в том, что у меня так и не получилось заставить это работать. Но надежда есть 🙂 Если кто делал такое, то помогите общественности.

7 комментариев

ZGilGelad

Ноябрь 25, 2015 в 4:35 пп

Тоже как-то смотрел в сторону этой штуки, но в HR она у меня особо не заработала и, на сколько, я помню, дело в наших ЛБД.

Я обычно в таких случая рекомендую пользоваться оперзапросом:
многократный выбор (у поля ТН)->многократный выбор (F6)->свободный поиск – и тут открывается оперзапрос.
Как подключить свой оперзапрос к этому ср-ву поиска – я не помню. Скоро на проекте до этого у меня должны дойти руки и как сделаю – напишу. А может кто напишет и мне не надо будет вспоминать)

Если пользователям неудобно указывать кучу критериев, то всегда есть доп.поля в оперзапросе (которые делаются в спро и с возможностью установки значения на выбор). Но там есть еще один момент) Доступность указания поля на выбор в оперзапросе появляется, только не работает:) За это в ответе (как и вообще за поиск в оперзапросе) ФМ HR_SELECT_PERSONS и HR_SELECT_OBJECTS

 

ZGilGelad

Ноябрь 25, 2015 в 5:16 пп

вспомнил
T77OMAHQ_FUNCAR
T77OMAHQ_FUNCARS

 

Bully

Ноябрь 25, 2015 в 9:12 пп

Это не является расширением ЛБД 🙂

Какой Selection View использовать в отчёте указывается при помощи Report Category.

Во времена преподавания HR350 всегда показывал эту фишку своим слушателям.
Посмотри в учебных материалы к нему – там хорошо описано.

 

VanoIvanov

Ноябрь 27, 2015 в 12:38 дп

ZGilGelad и Bully правы отчасти, автор пошел в неправильном направлении и даже никуда не пришел.
Хотел написать подробно какие ручки крутить, но не в этот раз, не интересно, даже не думал, что в этом еще копаются, прошу извинить.

P.S. Лучше бы вам не видеть код который внутри всего этого и под капотом лбд.

 

Роман Величко

Ноябрь 27, 2015 в 10:21 дп

Автор пошел очень правильным путем – потому что это для Пма сокращает трудозатраты на разработку/адаптацию отчетов, а от того что таких нюансов наши консультанты которые “лучше не видеть, что там под капотом” не знают, а предлагают с нуля переписать САП, так ну их нафик таких консультантов 🙂

Что касается исходного кода, он достаточно прост, понятен и ничего в нем страшного нет.

 

ovetchenkoandrey

Ноябрь 28, 2015 в 5:31 пп

Виталий, возможно есть какие нибудь еще способы? На днях обнаружили инфотип 0039 Доп. орг. присвоение. Справка говорит, что в нем можно хранить доп атрибуты, но более ничего не нагуглил на него. На проекте принцип “решать все стандартом”. Поэтому ЛБД расширять не хочется.

VanoIvanov, никто не сомневается в Вашей компетенции. Копаемся там, где нам интересно.

 

Pilsner

Ноябрь 30, 2015 в 6:33 пп

Крутая штука эти динамические ограничения! Позволяет предварительно ограничить выборку табельных по любому инфо-типу (по другим таблицам не тестил, но возможно подойдет любая таблица где есть ключик PERNR), чтоб уменьшить число итераций цикла ЛБД. В ЛБД PNP(CE) для этого стоит SELECT с произвольными полями из произвольной таблицы (в скобках вписаны переменные, которые заполняются из этого ракурса выбора).
Что еще нужно знать по этой фиче – после того, как создадите свой ракурс выбора в SE80, он не появится в средстве поиска в ракурсе отчета – там оно некорректно работает 🙂 Просто впишите его туда ручками и проверяйте, как работает.

 

Вы должны быть авторизованы, чтобы оставить комментарий.