calm написал(а):
Уважаемые коллеги,
необходимо сделать роль на редактирование поля "Пропуск" инфотипа 32 "внутренние данные".
Как это сделать, чтобы не дать возможности пользователю редактировать поле "прежний табельный номер" ?
Можно реализовать с БАДИ HRPAD00INFTY:
1. Создай свой объект авторизации, к примеру, Z32_PNALT с нужными полями.
2. Создай реализацию HRPAD00INFTY, метод BEFORE_OUTPUT:
Code:
method IF_EX_HRPAD00INFTY~BEFORE_OUTPUT.
IF INNNN-INFTY = '0032'.
* break-point.
loop at screen.
IF SCREEN-NAME = 'P0032-PNALT'.
AUTHORITY-CHECK OBJECT 'Z32_PNALT'
ID 'AUTHC' FIELD 'W'
ID 'PERSA' FIELD '__________'.
IF SY-SUBRC NE '0'.
screen-input = '0'.
modify screen.
endif.
ENDIF.
endloop.
ENDIF.
endmethod.
3. (в SU24 добавить, если нужно, Z32_PNALT в транзакции ведения, чтобы потом не искать) Создать роль Z_IT0032_PNALT c Z32_PNALT.
4. Проверить, что с Z_IT0032_PNALT поле открыто, а без закрыто...