✒️ABAP Los chequeos de autorización
ABAP Los chequeos de autorización
Chequeos de autorizacion (Authority Checks)
Usamos los chequeos de autorizacion para validar que un usuario tenga autorización para visualizar, modificar o crear un objeto determinado en el sistema.
Son objetos de SAP que nos permiten protejer los datos críticos del sistema de los accesos sin autorización.
La sentencia AUTHORITY CHECK valida si el usuario tiene autorizacion para acceder a los datos. Estos permisos los asigna el administrador del sistema SAP, para ello nos ubicamos en la transaccion SU21 que es la que nos permite administrar los objetos de autorización.
Los objetos de autorización se encuentran agrupados por clases, para crear una clase solo debemos presionar el botón derecho del mouse y seleccionar la opción 'Créate Object Class'.
Luego de creada la clase, presionando el botón derecho del mouse y seleccionando la opción 'Créate Authorization Object' creamos el objeto de autorización.
Ejemplo:
Vemos la clase estandar BC_C, objeto S_CARRID, aquí se ve la configuracion del objeto de autorización, tiene asignado el campo CARRID (codigo de la linea área) y el campo de actividad que nos permite identificar la acción a realizar.
Si cliqueamos en las actividades permitidas vemos que esta permitido crear, cambiar y visualizar los datos.
Luego vemos el authorization field CARRID (Menu--> Authorization Fields) que forma parte del objeto de autorización S_CARRID, para ello en la transaccion SU20 vamos a buscar el campo CARRID, visualizamos el campo y vemos que pertenece a la ayuda de búsqueda S_CARRIER_ID, si ejecutamos el authorization field no encontraremos valores porque la ayuda de busqueda se alimenta de la tabla S_CARR que no tiene datos cargados.
Hacemos una referencia de utilización para llegar al programa de prueba en donde se usa el objeto de autorizacion S_CARRID. Este programa tiene una pantalla de selección donde se ingresa un codigo de compañía aérea, luego se valida si el usuario que ejecuta tiene autorización para visualizar los datos de esta compañía aerea, en caso negativo se emite un mensaje de error y se termina el procesamiento, en caso positivo se permite el acceso a los datos.
AT SELECTION-SCREEN.
AUTHORITY CHECK OBJECT ' S_CARRID '
ID ' CARRID ' FIELD pa_carr
ID ' ACTVT ' FIELD ' 03 '.
Existen tres modulos de funciones que nos permiten ejecutar una transacción saltando los chequeos de autorizaciones que posee la transacción. Estos modulos de funciones son:
-La llamada a la funcion TRANSACTION_CALL_VIA_RFC pasandola en el parametro TCODE la transacción a ejecutar
-La llamada a la funcion C160_TRANSACTION_CALL pasándola en el parámetro I_TCODE la transacción a ejecutar.
-La llamada a la funcion RFC_HDSYI_CALL_TC_VARIANT con TCODE igual a la transaccion a ejecutar y ademas hay que desmarcar el flan de authority check.
 
 
 
Sobre el autor
Publicación académica de Manuel Antonio Moncada Vera, en su ámbito de estudios para la Carrera Consultor ABAP.
Manuel Antonio Moncada Vera
Profesión: Ingeniero en Informatica - Colombia - Legajo: JT58S
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Manuel Moncada