✒️ABAP Los chequeos de autorización
ABAP Los chequeos de autorización
Son objetos SAP que nos permiten proteger los datos críticos del sistema de los accesos sin autorización. También conocidos como Authority checks. Este es utilizada por ejemplo cuando se crea una nueva transacción y se desea restringir la utilización de la transacción a ciertos usuarios. Una de las formas de realizar esta restricción es mediante la implementación de chequeos de autorización.
El sistema ya cuenta con algunos objetos de autorización, sin embargo también es posible crear nuevos objetos de autorización. Para administrar dichos objetos de autorización lo realizamos a través de la transacción SU21. Los objetos de autorización se encuentran agrupados por clases, en las carpetas que aparecen en el costado izquierdo de la transacción SU21.
Dentro de los clases, se encuentran diversos objetos de autorización, dónde se puede seleccionar restringir ciertos campos de determinada tabla, por ejemplo. Al seleccionar el botón se visualiza las actividades que pueden hacerse con el objeto de autorización, cómo lo es añadir o generar, modificar y visualizar. Sin embargo cada objeto, tiene diversas opciones.
La asignación del objeto de autorización a un usuario SAP especifico se realiza a través de un rol mediante la transacción SU01. Los campos que forman parte del objeto de autorización, llamados campos de autorización o ámbitos de autorización deben existir previamente o pueden ser creados. Para acceder a ellos lo hacemos mediante el menú: Entorno / Campos de autorización / Buscamos / Seleccionamos y visualizamos
Mediante la transacción SU20 accedemos a la pantalla de los campos para verificar autorización directamente desde esta transacción, desde aquí podemos crear, modificar, eliminar y visualizar los campos de autorización.
Implementación de un objeto de autorización en un programa ABAP.
Se utiliza la sentencia AUTHORITY-CHECK para validar si el usuario de SAP tiene autorización para acceder a un objeto en particular.
AUTHORITY-CHECK OBJECT 'Nombre_objeto_autorizacion'
ID 'CAMPO1' FIELD '___________'
ID 'CAMPO2' FIELD '___________'
ID 'CAMPON' FIELD '___________'
IF sy-subrc EQ 0. El usuario tiene autorización.
ELSEIF sy-subrc NE 0. El usuario no tiene autorización.
ENDIF
Siempre es necesario evaluar el contenido de la variable SY-SUBRC
Implementación
Se crea un programa ABAP y seleccionamos la opción Modelo / Tildamos AUTHORITY-CHECK / Escribimos el nombre del objeto que deseamos implementar / Check.
Allí se genera una plantilla del objeto llamado. Se completa el código creando el parámetro del objeto en la plantilla de la selección, agregando la utilización del parámetro en el objeto autorización y completando la actividad con un '03'
PARAMETERS p_carrid TYPE sflight-carrid.
START-OF-SELECTION.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD 'P_CARRID'
ID 'ACTVT' FIELD '03'.
IF sy-subrc EQ 0. El usuario tiene autorización.
WRITE:/ 'El usuario tiene autorización'
ELSEIF sy-subrc NE 0. El usuario no tiene autorización.
WRITE:/ 'El usuario no tiene autorización'
ENDIF
Existen 3 módulos de funciones que permiten ejecutar una transacción saltando los checkeos de autorización que tiene la transacción, estos son:
*Llamada de la función: transaction_call_via_rfc pasándolo en el parámetro tcall la transacción ejecutar.
*Llamada de la función: C160_transaction_call pasándolo en el parámetro i_tcall la transacción ejecutar.
*Llamada de la función: RS_HDSYI_call_TC_variant pasándolo en el parámetro tcall = la transacción ejecutar. Desmarcar flag authority check
Creando una clase y un objeto de autorización
Desde la transacción SU21 se crea con el botón / selecciona la opción Clase de objeto. Se completa el nombre de la clase, texto de descripción y grabar.
Desde la transacción SU21, se selecciona la clase y se da click derecho sobre la misma y se elije la opción Crear objeto de autorización. Se completa el nombre del objeto, el texto para el nuevo objeto, los campos de autorización y grabar.
 
 
 
Sobre el autor
Publicación académica de Linda Carolina Zambrano León, en su ámbito de estudios para la Carrera Consultor ABAP.
Linda Carolina Zambrano León
Profesión: Agente - Peru - Legajo: XR55P
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Linda Zambrano