Есть такая штука, называется индексация структурных полномочий. Нужна она для двух вещей. Она формирует индексы по каждому пользователю для ускорения чтения/проверки структурных полномочий в системе. Если у вас большой объем данных в оргструктуре, то чтение структурных становится весьма ресурсоемкой задачей, что существенно замедляет работу системы. Поэтому САП рекомендует для пользователей, у которых по пути анализа попадается более 1 000 объектов делать индексацию. Для этого нужно логин пользователя записать в табличку T77UA и запустить программу RHBAUS00. Программа прочитает его профиль структурных полномочий и создаст индекс в кластере INDX. Вроде бы все красиво.
А еще система BW читает тот же самый индекс по тем же самым причинам. Читает в случае, если у вас в BW есть отчетность не по иерархии МВЗ (как это обычно делают), а еще и по оргструктуре.
Вывод — индексация нужна для всех пользователей, кому нужно быстро проверять полномочия (например, системные пользователи, под которыми запускается расчет зп или оценка времени).
А теперь проблемы:
Когда мы сделали индексацию полномочий, то у нас в кластере лежат индексы на одно время. Сразу после кто-то делает изменение штатки, прием/перевод/увольнение. В индексе этой информации еще нет, поэтому система при проверке полномочий не показывает эти изменения. Люди просто исчезают из поля видимости. Стоит запустить RHBAUS00, как полномочия появляются. Мы сделали запуск индексации каждые полчаса. Но и это не решает проблему, так как сама индексация длится несколько минут. За это время индекс очищается, пользователь нажимает кнопку в транзакции и получает отказ из-за отсутствия структурных полномочий. Индекс построился, полномочия появились, а пользователь уже обижен, что у него отобрали права.
Пока нашли только одно решение, это новая программа RHBAUS_PARALLEL из ноты 1463065, которая должна отрабатывать индексацию моментом. Пока не проверяли, ждем обновления стека.
3 комментария
brat_migele
мне почему-то кажется что индексация генерироваться быстрее не будет. Смотрел код RHBAUS00 очень грамотно написан. Интересно что там оптимизировали. ❓
VirVit
Ждем-с обновления 🙂
brat_migele
если кадровики остро поставили проблему, делаешь следующее:
на событие соединения в swehr вешаешь ФМ который определяет БЕ и тупо кадровикам из этой БЕ присваиваешь в структурные эту штатку (секунд 5 не более).
Не хочешь WF бери БАДи RH…RELAT (не помню точное название) и там делай (в диалоге конечно подольше будет отрабатывать).
А собственно через 30 минут (после очередной индексации) все выровняется. Кому положено останется, кому не нужно уберется.