✒️ABAP Los chequeos de autorización
ABAP Los chequeos de autorización
LOS CHEQUEOS DE AUTORIZACIÓN (AUTHORITY CHECKS)
Los authority checks son Objetos de SAP que nos permiten proteger los datos críticos del sistema de los accesos sin autorización.
La sentencia AUTHORITY CHECK valida si el usuario tiene autorización para acceder a los datos, estos permisos son asignados por el administrador del sistema SAP, estos permisos se administran con LATRANSACCIÓN SU21.
A través de la TRANSACCION SU21 (Es la que permite administrar los objetos de autorización), los objetos de autorización se encuentran agrupados por clases.
Para crear una clase se da click derecho y luego se escoge CREATE OBJECT CLASS.
Para crear el objeto de autorización se da click derecho y luego se escoge CREATE AUTHORIZATION OBJECT.
Ejemplo: Ver la clase estándar BC_C y el objeto S_CARRID, se ve la configuración del objeto de autorización, tiene asignado el campo CARRID “código de la línea aérea” y ACTVT “campo de actividad que permite identificar la acción a realizar”, dentro de ACTVT.
Si damos click sobre el botón “Actividades Permitidas”, vamos a encontrar que esta permitido “Crear”, “Cambiar” y “Visualizar” los datos.
Ahora se ve el Authorization Fields (Ir al Menu, luego Environment, y Authoriz. Fields)
Con la Transaccion SU20 se busca el campo CARRID. Se visualiza el campo y se ve que pertenece a la ayuda de búsqueda S_CARR_ID
Ahora se hace una referencia de utilización para hacer el programa de prueba en donde se utiliza el objeto de autorización S_CARRID
Se da un ejemplo de un programa donde se 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.
NOTA: Existen 3 módulos de funciones que nos permiten ejecutar una transacción saltando los chequeos de autorización que posee la transaccion. Estos son:
- Llamar la función TRANSACTION_CALL_VIA_RFC, pasándole en el parámetro TCODE la transacción a ejecutar.
- Llamar la función C160_TRANSACTION_CALL, pasándole en el parámetro I_TCODE la transacción a ejecutar.
- Llamar la función RS_HDSYI_CALL_TC_VARIANT, pasándole en el parámetro TCODE la transacción a ejecutar y desmarcar el FLAG o la bandera de Authority check.
 
 
 
Sobre el autor
Publicación académica de Alexander Castellanos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexander Castellanos
Profesión: Ingeniero de Sistemas - Colombia - Legajo: JS42A
✒️Autor de: 67 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alexander Castellanos