Полномочия на OB52 по БЕ

Так оказалось, что в транзакции переключения открытых периодов OB52 не предполагается разделение полномочий по БЕ (или вариантам периодов проводки). Но что делать, если у нас очень много БЕ и мы не готовы возложить такую ответственность на кого-либо.

OB52 - определение периодов проводки

Как добиться?

Вариант 1. Собственная разработка

Можно сделать собственную ABAP-разработку. На первый взгляд кажется, что если организовать прямые операции чтения и записи в стандартную таблицу T001B, то всё получится. Кроме этого можно добавить туда понятливости и красоты, чего нет в стандартной транзакции ну ни на грамм. Обычный человек в OB52 пугается без хорошей инструкции.

Минусы: большой объём разработки, прямая работа со стандартными таблицами.

Плюсы: при грамотном подходе можно повысить удобство, наглядность, контроль и автоматизацию.

Вариант 2. Скопировать ведение

Транзакция OB52 – это всего лишь вызов ведения SM30 с ракурсом ведения V_T001B. Поэтому можно скопировать ракурс, сгенерировать для него своё ведение и повесить туда нужное событие.

Минусы: копии стандартных объектов разработки.

Плюсы: будет работать.

Вариант 3. Использовать организационные критерии и объект полномочий S_TABU_LIN

Можно сделать настройки и OB52 будет уметь работать с учётом полномочий. Вот об этом я сейчас расскажу подробнее.

Сначала нужно определить организационный критерий в SPRO:

SAP NetWeaver –> Сервер приложений –> Системное администрирование –> Пользователи и полномочия –> Полномочия по строкам –> Определение организационных критериев (SM34:CL_ORGCRIT)

Сначала добавляем новый организационный критерий BUKRS.

Организационные критерии

Создаём записи атрибутов. В данном случае я решил заодно решил похожий метод распространить на ещё одну таблицу.

Список атрибутов

К сожалению, пришлось сделать по одному атрибуту на каждую таблицу.

К атрибуту привязываем поля таблицы (V_T001B-BUKRS):

Привязка поля к атрибуту

После этого критерий надо активировать там же рядом в SPRO:

SAP NetWeaver –> Сервер приложений –> Системное администрирование –> Пользователи и полномочия –> Полномочия по строкам –> Активация организационных критериев (SM30:V_ORGCRACT)

Активация критерия

После этого надо добавить объект полномочий S_TABU_LIN в роль.

Добавление объекта полномочий в роль

После этого можно пробовать всё это в деле. Работает почти незаметно: если нет полномочий на просмотр, то записи просто не будет в списке. Если изменить ключ на запретный, то при сохранении будет выведена ошибка.

Минусы: ограниченное количество атрибутов и невозможность привязать несколько таблиц к одному атрибуту.

Меня несколько обнадёживает сообщение при попытке привязать несколько таблиц к одному атрибуту: “Несколько табличных полей на атрибут: это пока не поддерживается” (SV765). Видимо надо или обновиться, или подождать. Но не факт, что имеется в виду.

Плюсы: Только настройка, только стандарт.

Жаль только, что красивее и понятнее эта транзакция не стала.

Опубликовано 05.11.2014 в 10:53 · Автор ivan · Ссылка
Рубрики: ABAP

Один комментарий

Подписаться на комментарии по RSS

  1. Написал(-а) Лиза
    27.08.2015 в 17:19
    Ссылка

    Как-то на меня наложили обязанность ведения этой таблички для всей компании в соответствии с регламентом. А именно более 100 БЕ (около 120 на тот момент) и у каждой более 10 диапазонов счетов, т.к. закрытие квартала отличается от закрытия обычного периода, а закрытие года — это отдельная песня.
    Т.е. несколько тысяч записей нужно было прошерстить и вручную изменить часть из них. Делать это надо было за пару часов.
    Понаслаждавшись этим 1 раз, я решила автоматизировать хоть как-то данный процесс.
    Написала LSMW проект: рекординг OB52 1. шаг позиционирование на конкретной записи, 2. шаг изменение записи.
    Выгрузка таблицы T001B в Excel
    Подготовка загрузочника
    Хоть как-то выкрутилась, но вообще безумно не удобная настройка. Особенно для больших компаний.

    Спасибо за статью.
    Ввести объект полномочий и раздать поддержку в местные службы поддержки это здорово.
    Правда, я так понимаю, что при ведении таблица блокируется полностью независимо от полномочий? ;)

Подписаться на комментарии по RSS

Написать комментарий