Добрый день! Сразу оговорюсь, что не вижу особого практического смысла в озвученной задаче, т.к. обычно пользователи что попало не запускают. Отдельный объект полномочий, который позволял бы запускать (или не запускать) схему, мне не известен. Но решение требуемой проверки, на мой взгляд, можно организовать/реализовать на базе стандартных операций TABLE с обращением к системной таблице SY и VARGB с обращением к полю UNAME, которое содержится в SY, в отдельном правиле. Далее только ваш полет мысли, хотите используйте функцию IF и правило с операцией SCOND, хотите SUBRC. Делаете с помощью озвученных конструкций обертку смысловой части вашей схемы и избегаете тем самым нежелательных последствий, которые озвучиваете. Поскольку длина логина по длине превышает доступную длину для возвращаемого в аргумент значения (8 символов), то не лишним будет задействовать в правиле еще и VALEN (для управления длиной возвращаемого в аргумент значения).
|