![](/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/0.jpg)
Supongamos que queremos verificar que el usuario tiene autorización para acceder a trabajar sobre la sociedad AR01.
Hay distintos tipos de autorización para un objeto; por ejemplo se puede visualizar, modificar, etc. sobre una varable. Vamos a agregar todas las actividades para poder acceder a una sociedad.
Transacciones relacionadas: SU21, SU24, SE38, PFCG.
- Primero hay que ir a la transacción SU21 para crear una clase de objeto. Lo creamos y luego de creado hacemos doble click sobre él.
- Aparecerá la lista de objetos de la clase. Creamos un nuevo objeto
- Presionamos el botón “Actividades permitidas” y elegimos las actividades que corresponden a la autorización. En nuestro caso eligiremos la 01, 02 y 03.
- Guardamos los cambios.
- Ahora vamos a la transacción SU24 para relacionar nuestro programa Z a la autorización que creamos. Indicamos el nombre de nuestra transacción Z y presionamos ejecutar.
- Veremos la lista de transacciones, presionamos en “Ind. Verificación” o hacemos doble click sobre el nombre de la transacción
- Entramos a modificar el indicador de verificación. Presionamos “Obj. Autoriz” para agregar nuestro objeto.
- Indicamos el objeto recién creado:
- Ahora el objeto aparece en la lista. Grabamos.
- Nos queda agregar la autorización en el programa Z. En nuestro caso queremos ver que el usuario tenga permiso de visualización de la sociedad que viene por parámetro:
*—————————————————————————-
at selection-screen.
perform check_autorizacion using pa_bukrs.
*—————————————————————————-
form check_autorizacion using p_bukrs type bukrs.
authority-check object ‘ZFI_AR0001′
id ‘BUKRS’ field p_bukrs
id ‘ACTVT’ field ’03’.
if sy-subrc <> 0.
message e001 with p_bukrs. “No tiene autorización para la sociedad &.
endif.
endform.
*——————————————————————————————-
- Ahora bien, cuando queramos ejecutar el programa, nos va a dar error ya que nosotros mismos no tenemos autorización para acceder al mismo (salvo que tengamos perfil SAP_ALL). Por lo tanto debemos crearnos un perfil. Vamos a la transacción PFCG, ponemos el nombre de un nuevo rol y ponemos el botón “Nuevo Rol”:
- Al crear el nuevo rol, debemos incluir una descripción. La agregamos y vamos a la lengüeta “Autorizaciones” y allí presionamos el botón verde que dice proponer perfil: nos va a crear un nuevo perfil. Presionamos entonces el botón Modificar datos de autorización.
- Si nos pide seleccionar modelo, le ponemos que no y si nos dice guardar el rol le ponemos que si. Aparecerá la siguiente pantalla, en donde apretaremos en “Agregar manualmente”:
- Indicamos el objeto de autorización y presionamos OK.
- Ahora debemos indicar en nuestro perfil que accesos va a tener el mismo sobre el objeto de autorización. Recordemos que el objeto está creado para las actividades 01, 02 y 03.
Pero queremos que este rol tenga solo acceso para la actividad 03. Sería el caso de un perfil de “visualizador”, generalmente la nomenclatura es que se hace un perfil ZSD_VIS_SOCIEDAD por ejemplo para este caso y para las actividades 01 y 02 sería: ZSD_MGT_SOCIEDAD.
Para la sociedad elegimos sólo la AR01.
Vemos que todo el árbol queda en verde. Apretamos el botón de GENERAR y volvemos a la pantalla anterior, en donde tenemos que ir a la lengüeta de usuarios para agregarnos. Agregamos nuestro usuario y presionamos el botón COMPARAR USUARIOS y luego “Ajuste completo” para ajustar los datos y así se actualiza el maestro de usuarios con los cambios. Finalmente presionamos guardar y volvemos a ejecutar el programa Z
 
 
 
Sobre el autor
Publicación académica de Cesar Ismael Rodriguez Zorrilla, en su ámbito de estudios para la Carrera Consultor ABAP.
Cesar Ismael Rodriguez Zorrilla
Republica Dominicana - Legajo: MW21J
✒️Autor de: 120 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Cesar Rodriguez