PDA

Ver la Versión Completa : Objeto de autorizacion


MetalGod
21/10/13, 16:36:22
Hola, como estan, tengo el siguiente problema

tengo que agregar un objeto e autorizacion paraa una transaccion, dicha transaccion es Z y fue creada para la ejecucion de un reporte, el cual no posee dynpros, o se que no tengo pbo ni pai, pero si tiene pantalla de seleccion. El objeto de autoizacion es el S_TCODE.

mi duda es como puedo asignar este objeto para que valide si se tiene autorizacion para la ejecucion de la transaccion antes de vusualizar la pantalla de seleccion.

si pongo el codigo

AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'nombre_trans.

la pantalla de seleccion la muestra igual ponga donde ponga el codigo. Vi que se puede asignar un objeto de autorizacion desde la SE93 en las propiedades de mi transaccion, pero no se como funciona eso,

y en el caso de ser una transaccion z ligada a la SM30 para el mantenimiento de una tabla Z, donde se podria hacer este chequeo? porque en las propiedades de esta transaccion, no da la opicion de agregar un objeto de autorizacion

Agradeceria su ayuda lo mas pronto posible.

Muchas gracias por su tiempo.

abapedro
25/10/13, 03:25:01
Hola,

El sistema realiza un chequeo de autorización ANTES de comenzar a ejecutar una transacción. Si el usuario no tiene expresamente la autorización a la transacción ZPEPITO (es un ejemplo), el usuario recibirá un mensaje de ausencia de autorización al tratar de ejecutar ZPEPITO.

El objeto S_TCODE es precisamente la autorización para iniciar una transacción, pero no se chequea dentro del código sino que el sistema lo chequea antes de iniciar la respectiva transacción.

En conclusión: el control de acceso a "ZPEPITO" no se pone en el código ABAP sino en la definición del rol que se asigna al usuario.

Para mas explicación, vea este link:
http://help.sap.com/saphelp_nw04/helpdata/en/52/67129f439b11d1896f0000e8322d00/content.htm

Espero que esto aclare sus dudas.

MetalGod
25/10/13, 12:06:32
muchas gracias por tu tiempo y gracias por la explicacion.