✒️ABAP Los chequeos de autorización
ABAP Los chequeos de autorización
En este video explicaremos que son los authority checks y porque es necesario utilizarlos. Los authority checks son objetos de SAP que nos permiten proteger los datos criticos del sistema de los accesos sin autorizacion. La sentencia AUTHORITY CHECK valida si el usuario tiene autorizacion para acceder a los datos. Estos permisos son asignados por el administrador del sistema SAP.
Para ellos nos ubicamos en la transaccion SU21 que es la que nos permite administrar los objetos de autorizacion. Los objetos autorizacion se encuentran agrupados por clases, para crear una clase basta con presionar el boton derecho del mouse y seleccionar la opcion "Create Object Class", luego de creada la clase y presionando el boton derecho del mouse y seleccionando la opcion "Create Authorization Object" creamos el objeto de autorizacion.
Veamos la clase estandar BC_C y particularmente el objeto S_CARRID, aqui vemos la configuracion del objeto de autorizacion, tiene asignado el campo CARRID que es codigo de la linea aerea y el campo de actividad que nos permite identificar la accion a realizar.
Si clickeamos en las actividades permitidas vemos que esta permitido crear, cambiar y visualizar los datos.
Ahora veamos el Authorization Field, CARRID que forma parte del objeto de autorizacion S_CARRID. Para ello en la transaccion SU20 vamos a buscar en el campo CARRID, visualizamos el campo y vemos que pertenece a la ayuda de busqueda S_CARRIER_ID.
Si ejecutamos el Authorization Field no encontraremos valores debido a que la ayuda de busqueda se alimenta de la tabla S_CARR que no tiene datos cargados.
Ahora vamos a hacer una referencia de utilizacion para hacer el programa de prueba en donde se utiliza el objeto de autorizacion S_CARRID. Este programa tiene una pantalla de seleccion donde se ingresa un codigo de compañia aerea luego se valida si el usuario que ejecuta tiene autorizacion para visualizar los datos de esta compañia 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, vamos a poner un breakpoint y ejecutamos el programa.
Aqui ingresamos un codigo cualquiera de compañia aerea y ejecutamos, ejecutamos la sentencia AUTHORITY CHECK y vemos que el SY-SUBRC es 0 por lo que indica que tenemos permiso de visualizacion de los datos.
Si ejecutamos de nuevo el programa y cambiamos por debugg el valor del SY_SUBRC para simular no tener autorizacion, visualizamos en pantalla el mensaje de error que se produce por no tener autorizacion al dato.
 
 
 
Sobre el autor
Publicación académica de Gerardo Pagaza, en su ámbito de estudios para la Carrera Consultor ABAP.
Gerardo Pagaza
Profesión: Licenciatura en Informatica y Tecnologias de la Informacion - Mexico - Legajo: MH88W
✒️Autor de: 27 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Gerardo Pagaza