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