📘Authority-check
Definición de Authority-check
En SAP, el comando AUTHORITY-CHECK es una sentencia de control en ABAP que se utiliza para verificar si un usuario tiene los permisos necesarios para ejecutar una acción específica. Es una parte fundamental del control de autorizaciones en los sistemas SAP.
¿Cómo funciona?
El sistema compara los valores proporcionados en el AUTHORITY-CHECK con los valores asignados al usuario en sus objetos de autorización (autorizaciones en roles asignados al mandante).
Sintaxis básica:
AUTHORITY-CHECK OBJECT 'Z_OBJETO' ID 'CAMPO1' FIELD lv_valor1 ID 'CAMPO2' FIELD lv_valor2.
Luego de esta sentencia, se debe verificar el valor del sistema SY-SUBRC:
IF sy-subrc <> 0. " El usuario no tiene autorización MESSAGE 'No autorizado' TYPE 'E'. ENDIF.
¿Para qué se usa?
-
Controlar acceso a ciertas funciones (por ejemplo, visualizar, modificar o borrar datos).
-
Proteger transacciones críticas.
-
Aplicar reglas de negocio específicas dependiendo del rol/autorización del usuario.
Ejemplo práctico:
Supongamos que tienes un objeto de autorización llamado Z_INVENTARIO con los campos ACTVT (actividad) y WERKS (centro):
AUTHORITY-CHECK OBJECT 'Z_INVENTARIO' ID 'ACTVT' FIELD '03' " Ver datos ID 'WERKS' FIELD '1000'. " Centro 1000 IF sy-subrc <> 0. MESSAGE 'Usted no tiene permisos para ver el inventario del centro 1000' TYPE 'E'. ENDIF.
Notas importantes:
-
Este chequeo no funciona por sí solo: debe estar acompañado de la configuración del objeto de autorización en SAP (transacción SU21) y su asignación en los roles del usuario (transacción PFCG).
-
Es una buena práctica usarlo en reportes o desarrollos Z (custom) donde se requiera control de acceso.


Disponibilidad Laboral: FullTime