
Identificación de verificaciones de autorización en el sistema SAP
Objective
After completing this lesson, you will be able to identificar verificaciones de autorización en el sistema SAP.
Verificaciones de autorización cuando se inician aplicaciones y en programas

Verificaciones de autorización cuando se inician las aplicaciones
Al iniciar aplicaciones (transacción, aplicación Web Dynpro), se realizan verificaciones de autorización.
Iniciar verificaciones de autorización
Las verificaciones de autorización de inicio están disponibles para las siguientes aplicaciones:
Transacciones SAP (objeto de autorización S_TCODE)
Aplicación Web Dynpro ABAP (objeto de autorización S_START)
Módulos de funciones RFC (objeto de autorización S_RFC)
Aplicaciones SAP Fiori (objeto de autorización S_SERVICE)
Transacciones SAP (objeto de autorización S_TCODE)
iniciar una transacción, un programa del sistema ejecuta una serie de verificaciones para garantizar que el usuario tiene las autorizaciones adecuadas.
Paso 1: Verifique si el usuario está autorizado para iniciar la transacción. El objeto de autorización S_TCODE (inicio de transacción) contiene el campo de autorización TCD (código de transacción). El usuario debe tener la autorización para el código de transacción que desea ejecutar (como "FB02", Modificar documento).
2: Verifique si un objeto de autorización está asignado al código de transacción. Si este es el caso, el sistema verifica si el usuario tiene autorización para este objeto de autorización. La asignación de código de transacción/objeto de autorización se almacena en la tabla TSTCA.
Si alguno de los pasos anteriores falla, la transacción no comienza y el usuario recibe un mensaje.
Consejo
La verificación de autorización de la sentencia ABAP se utiliza para verificar el objeto de autorización asignado a la transacción. La verificación se realiza durante el inicio de la transacción mediante el programa ABAP llamado por la transacción.
Aplicación Web Dynpro ABAP (objeto de autorización S_START)
De forma similar al objeto de autorización S_TCODE (para transacciones), utilice el objeto de autorización S_START durante la verificación de autorización de inicio de las aplicaciones Web Dynpro ABAP. Tiene los tres campos AUTHPGMID, AUTHOBJTYP y AUTHOBJNAM, que corresponden a los campos clave PGMID, OBJECT y OBJ_NAME del catálogo de objetos (tabla TADIR). Durante la verificación de autorización de inicio, la clave de la entrada de catálogo de objetos de la aplicación Web Dynpro ABAP se verifica mediante el tiempo de ejecución Web Dynpro ABAP. Por ejemplo, si inicia la aplicación Web Dynpro ABAP ABC, necesitará una autorización para el objeto S_START con los valores AUTHPGMID = "R3TR", AUTHOBJTYP = "WDYA" y AUTHOBJNAM = "ABC".
Esta verificación de autorización de inicio está inactiva cuando se entrega y debe activarse como se describe en la nota SAP 1413011 - Nueva verificación de autorización de inicio para Web Dynpro ABAP.
Si activa la verificación de autorización de inicio, puede utilizar autorizaciones para controlar exactamente qué aplicaciones Web Dynpro ABAP pueden ejecutar los usuarios.
Módulos de funciones RFC (objeto de autorización S_RFC)
Al iniciar módulos de funciones compatibles con RFC, se utiliza el objeto de autorización S_RFC para verificar la autorización de inicio.
El objeto de autorización S_RFC tiene los campos clave REC_TYPE, REC_NAME y ACTVT. El objeto de autorización S_RFC se puede actualizar para grupos de funciones (REC_TYPE = FUGR) y módulos de funciones (REC_TYPE = FUNC).
En el tiempo de ejecución, la primera verificación es para el grupo de funciones ejecutado. Si esta verificación falla, se ejecuta una segunda verificación para el módulo de funciones.
Nota
La verificación de autorización solo se realiza una vez con la primera ejecución del módulo de funciones para la sesión RFC concreta.
Aplicaciones SAP Fiori (objeto de autorización S_SERVICE)
Autorizaciones de inicio para los servicios OData activados para iniciar una determinada aplicación SAP Fiori. Encontrará los servicios utilizados por aplicación en la documentación específica de la aplicación, en la sección Aplicaciones SAP Fiori.
Verificaciones de autorización en programas

en programas se realizan mediante el comando ABAP authority-check.
Un programa puede contener cualquier cantidad de verificaciones de autorización.
Ejemplo: el usuario desea llamar la transacción FB02. Se codifica una verificación de autorización en el programa ABAP SAPMF05L, que llama la transacción FB02. Se verifica la siguiente autorización:
Objeto de autorización F_BKPF_BUK
Campo de autorización ACTVT (actividad) para el valor "02" (modificar)
Campo de autorización BUKRS (sociedad) para el valor "1000"
Solo si el usuario tiene el objeto de autorización F_BKPF_BUK con los campos de autorización ACTVT ("02") y BUKRS ("1000") como autorización, podrá ejecutar la transacción.
Después de la verificación de autorización, el sistema devuelve un código de retorno. Los códigos de retorno válidos para el comando de verificación administrativa son:
0: El usuario tiene la autorización para el objeto de autorización con los valores de campo correctos.
4: El usuario tiene una autorización para el objeto de autorización, pero los valores verificados no se asignan al usuario.
12: El usuario no tiene ninguna autorización para el objeto de autorización.
16: No se ha introducido ningún perfil en el registro maestro de usuario.
Los valores devueltos por la verificación del programa dependen de la memoria intermedia del usuario. Decide qué autorizaciones están disponibles para el usuario y cuáles no.
Memoria intermedia de usuario

un usuario inicia sesión en un sistema SAP, se crea una memoria intermedia de usuario que contiene todas las autorizaciones para el usuario. Cada usuario tiene su propia memoria intermedia de usuario.
Si el Sr. Peterson (ejemplo de la figura) inicia sesión en el sistema, su memoria intermedia de usuario contiene todas las autorizaciones que se han asignado al rol MY_FI_AR_DISPLAY_MASTER_DATA mediante el perfil.
Consejo
Cada usuario puede visualizar su propia memoria intermedia de usuario mediante la transacción SU56.
Si tiene algunos derechos de administrador adicionales, también puede ver las memorias intermedias de los colegas. Esto se indica con mayor claridad si puede ver el icono Visualizar para otro usuario/objeto de autorización (F5) en "SU56".
Un usuario no superaría una verificación de autorización si:
El objeto de autorización no existe en la memoria intermedia.
Los valores verificados por la aplicación no se asignan al objeto de autorización en la memoria intermedia de usuario.
Ejercicio del sistema de práctica: Verificar autorizaciones en el sistema SAP
Nota
Si tiene acceso a un sistema de práctica, ahora puede ejecutar este ejercicio.
Ejemplo empresarial
En la práctica, es importante conocer las características especiales de la verificación de autorización realizada cuando se llama una transacción en el sistema. También es importante determinar, si se notifica una verificación de autorización fallida, por qué no se ha realizado correctamente. Este ejercicio consolidará el contenido de la lección con trabajo en el sistema.