![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los chequeos de autorización
ABAP Los chequeos de autorización
![ABAP Los chequeos de autorización ABAP Los chequeos de autorización](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/145.jpg)
Los chequeos de autorizacion. Son los llamados Authority Checks para proteger los datos críticos del sistema de los accesos sin autorización. Mediante la sentencia AUTHORITY-CHECK valida si el usuario tiene autorización para acceder a los datos. Son objetos de SAP que nos permiten proteger los datos criticos del sistema de los accesos sin autorizacion. Un ejemplo de esto es cuando se crea una nueva transaccion de SAP y se desea restringuir la utilizacion de la transaccion a determinados usuarios de SAP. Los objetos de autorizacion se encuentran agrupados por clases, que son las carpetas que visualizamos a la izquierda de la pantalla en la transaccion SU21.
Los permisos son asignados a los usuarios por el administrador del sistema SAP.
La transaccion SU20. Podemos acceder a la pantalla de los campos para verificar autorizacion directamente a traves de la transaccion estandar SU20. Mediante la transaccion SU20 vamos a crear, modificar, eliminar y visualizar los campos de autorizacion.
La sentencia AUTHORITY-CHECK se utiliza para validar si el usuario de SAP tiene autorizacion para acceder a un objeto en particular. Siempre despues de la ejecucion de la sentencia AUTHORITY-CHECK debemos evaluar el contenido de la variable del sistema SY-SUBRC para determinar si el usuario tiene autorizacion o no la tiene.
Los objetos de autorización disponibles se encuentran en las transacciones SU20 y SU21. Mediante la primera podremos buscar por campo/elemento de datos los objetos disponibles.
Los objetos de autorización se encuentran agrupados en la transacción SU21 por clases, por lo que si deseamos crear un objeto de autorización nuevo, deberemos utilizar una clase existente en el sistema o crear una nueva clase.
Los pasos para crear un chequeo de autorización son los siguientes:
- Creamos en la transacción SU20 un ámbito de autorización (elemento de dato) que luego usaremos en el objeto.
- Creamos la clase de autorización en la transacción SU21 y luego posesionándonos en la clase recién creada y elegimos el nombre del objeto y ponemos el campo creado en el primer paso.
- Definimos los valores posibles de nuestro campo definido y el BASIS o Administrador del sistema asignará a los roles de los usuarios el objeto de autorización creado y pondrá los valores de cada usuario.
- Finalmente introducimos el código fuente del programa ABAP con la sentencia AUTHORITY-CHECK.
Existen tres modulos de funciones que nos permiten ejecutar una transaccion saltando los chequeos de autorizaciones que posee la transaccion, estos modulos de funciones son los siguientes la llamada a la funcion TRANSACCIONS_COL_VIA_RFC pasandole el parametro TCODE la transaccion a ejecutar. Otra llamada a la funcion es la C160_TRANSACTION_COL pasandole el parametro i_TCODE la transaccion a ejecutar y por ultimo la llamada de la funcion RS_HDSYI_COL_TS_VARIANT con TCODE igual a la transaccion a ejecutar hay que desmarcar el chek autority-check.
 
 
 
Sobre el autor
Publicación académica de Jose Medina, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Medina
Profesión: Ing. en Informatica - Venezuela - Legajo: LX87H
✒️Autor de: 109 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Profesional con experiencia en el ámbito del desarrollo de software, con conocimientos sólidos en diversos lenguajes de programación (para la creación de apps desktop / web / android / ios).
Certificación Académica de Jose Medina