✒️ABAP Los chequeos de autorización
ABAP Los chequeos de autorización
Los chequeos de Autorización.
La autorización de chequeo son objetos de SAP nos permiten proteger los datos criticos del sistema de los accesos sin autorización, la sentencia authory of check valida si el usuario tiene autorización para acceder a los datos, estos permisos son asignados por el administrador del sistema SAP. Para ingresar nos vamos la transacción SU21, esta nos permite administrar los objetos de autorización.
Los objetos de autorización se encuentran agrupados en clases, para crear una clase solo hay que presionar el botón derecho del mouse y selecionar CREATE OBJECT CLASS. Luego de creada la clase creamos el objeto de autorización (CREATE AUTHORIZATION OBJECT).
En este caso vemos la clase standart BC_C en el objeto S_CARRID ahí vemos la configuración del objeto de autorización, vemos el campo de actividad que nos permite identificar las acciones realizadas, si presionamos en las ACTIVIDADES PERMITIVAS, vemos que esta permitido, crear, cambiar y visualizar los datos. Después Entramos ENVIROMENT / AUTHORIZ FIELDS en la misma transacción SU20 vamos a buscar el campo CARRID, visualizamos el campo y vemos que pertenece a la ayuda de busqueda S_CARR_ID si ejecutamos el AUTHORIZATION FIELDS no se visualiza valores debido a que la ayuda de búsqueda se alimenta de la tabla START que no tiene datos cargados. Luego hacemos una REFERENCIA DE UTILIZACION para ya en el programa de prueba en donde se utiliza el objeto de prueba S_CARRID nos aparece una pantalla y vamos a CHECKING AUTHORIZATIONS ese programa tiene una pantalla de selección donde se ingresa un código de compañía aérea luego se valida si el usuario que ejecuta tiene autorización para visualizar los datos de esta compañía aérea, en caso negativo se emite un mensaje de error y se termina el procesamiento. En caso positivo se permite el acceso a los datos. Ponemos un BREAKPOINT y ejecutamos el programa. Ingresamos un código cualquiera de compañía aérea y ejecutamos AUTHORITY-CHECK y el IF SY_SUBRC nos da 0 lo que implica que tenemos la autorización de los datos. Si cambiamos por debbug el valor de SY_SUBRC distinto de 0 visualizamos en pantalla el mensaje de error.
Existen tres módulos de funciones que nos ejecutar una transacción saltando los chequéos de autorizaciones que poseen la transacción, estos módulos de funciones son:
- La llamada de la función TRANSACTION_CALL_VIA_RFC pasando en el parámetro tcode la transacción ejecutar.
- La llamada de la función C160_TRANSACTION_CALL pasando en el parámetro i_tcode la transacción a ejecutar.
- La llamada de la función RS_HDSYI_CALL_TS_VARIANT con tcode igual a la transacción a ejecutar y además hay que desmarcar el deflag de AUTHORITY-CHECK.
 
 
 
Sobre el autor
Publicación académica de Juan Carlos Pavicich, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Carlos Pavicich
Profesión: Técnico Informático - Argentina - Legajo: VR91L
✒️Autor de: 116 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Tengo el agrado de dirigirme a ud/s con el objeto de mencionar mi experiencia y conocimientos técnicos necesarios para desarrollar actividades en el rubro de su empresa.
Certificación Académica de Juan Pavicich