✒️ABAP / Los chequeos de autorización Por Gabriel Luces González
ABAP Los chequeos de autorización

¿Qué son los chequeos de autorización?
Son objetos de SAP que permiten proteger los datos críticos del sistema contra accesos no autorizados. Su función principal es validar si un usuario tiene permiso para ejecutar cierta acción o ver ciertos datos antes de que el programa continúe su procesamiento.
Un caso de uso típico es restringir el uso de una transacción nueva a solo ciertos usuarios.
Transacciones Clave para la GestiónPara trabajar con autorizaciones, utilizamos principalmente tres transacciones estándar:
- SU21 (Actualización de objetos de autorización): Es la herramienta principal donde se crean, modifican y visualizan los objetos de autorización y sus clases.
- SU20 (Campos de autorización): Aquí se administran los campos que compondrán los objetos (ej. crear un campo para "Sucursal" o "Empresa").
- SU01 (Actualización de usuarios): Se usa para asignar los roles y perfiles a los usuarios, otorgándoles efectivamente los permisos.
La seguridad en SAP se organiza jerárquicamente:
- Clases: Son carpetas que agrupan objetos de autorización por temática (ej. BC_C para Base - Entorno de desarrollo).
- Objetos de Autorización: Es el elemento que validamos en el código. Contiene uno o más campos (ej. S_CARRID para compañías aéreas).
- Campos: Definen qué se valida específicamente. Un campo muy común es ACTVT (Actividad), que define qué acción se permite (01-Crear, 02-Modificar, 03-Visualizar).
Para validar permisos dentro de un programa, se utiliza la sentencia AUTHORITY-CHECK OBJECT.
Pasos para la implementación:
- Generación de código: Se recomienda usar el botón "Modelo" (Pattern) en el editor ABAP, seleccionar AUTHORITY-CHECK y elegir el objeto (ej. S_CARRID) para evitar errores de sintaxis.
- Validación (SY-SUBRC): La sentencia verifica si el usuario tiene permiso para los valores pasados en los campos ID 'CAMPO' FIELD 'VALOR'.
- Si SY-SUBRC = 0: El usuario tiene autorización.
- Si SY-SUBRC <> 0: El usuario no tiene autorización.
Ejemplo de lógica:
AUTHORITY-CHECK OBJECT 'S_CARRID' ID 'CARRID' FIELD p_carrid ID 'ACTVT' FIELD '03'. "03 significa Visualizar IF sy-subrc EQ 0. " Permitir ver el reporte ELSE. " Mostrar mensaje de error: No tiene permisos ENDIF. Creación de Objetos Nuevos (Paso a Paso)Si los objetos estándar no cubren tus necesidades, puedes crear uno propio:
- Ir a la transacción SU21.
- Crear una Clase de objeto nueva (si es necesario).
- Crear el Objeto de autorización dentro de esa clase.
- Asignar los Campos de autorización que el objeto validará (estos campos deben existir previamente en la SU20) y grabar.
Analogía: Imagina que el sistema SAP es un Edificio Corporativo de Alta Seguridad:
- El Objeto de Autorización es una Puerta con cerradura electrónica específica (ej. "Puerta del Laboratorio").
- La sentencia AUTHORITY-CHECK es el Lector de Tarjetas junto a la puerta.
- Los Campos/Valores (ID 'ACTVT' FIELD '02') son los requisitos que pide el lector: "¿Tienes permiso para Modificar ('02') en esta sala?".
- Tu Usuario pasa su tarjeta (ejecuta el programa).
- El SY-SUBRC = 0 es la Luz Verde: La puerta se abre.
- El SY-SUBRC <> 0 es la Luz Roja: La puerta sigue cerrada y no puedes pasar.
 
 
 
Sobre el autor
Publicación académica de Gabriel José Luces González, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Gabriel José Luces González
Profesión: Consultor Sap Pm - Chile - Legajo: LA36W
✒️Autor de: 214 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor SAP FI Nivel Inicial
- Carrera Consultor SAP MM Nivel Inicial
Presentación:
Objetivo principal, adquirir todos los conococimiento relacionado al modulo de mm que me permita complementar mis conocimientos en el mundo sap
Certificación Académica de Gabriel Luces






Disponibilidad Laboral: FullTime


















