PDA

Ver la Versión Completa : Authority check con Select options


Belerophonte
24/04/09, 23:21:44
Hola a todos, lo que debo de hacer es un authority check pero en lugar de un solo parametro, es con un SELECT OPTIONS, si alguien sabe como hacerlo le agradeceria muchisimo

de antemano gracias

ademar
25/04/09, 22:48:11
lo que debes hacer es:

LOOP AT zwerks .
AUTHORITY-CHECK OBJECT 'ZREP_CD01'
ID 'ACTVT' FIELD '03'
ID 'WERKS' FIELD zwerks-low.

IF sy-subrc EQ 0.
ENDIF.

ENDLOOP.

espero te pueda servir en algo.

Belerophonte
28/04/09, 21:15:32
Gracias por la respuesta: te comento que asi lo resolvi, solo que fui apendizando los campos que entraron en el criterio de seleccion.

Gracias!!

LOOP AT T_ANLA INTO W_ANLA.

AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
ID 'BUKRS' FIELD w_anla-BUKRS
ID 'ACTVT' FIELD '03'.

IF sy-subrc IS INITIAL.
APPEND w_anla TO t_rango.
ENDIF.
ENDLOOP.

german_gustavo
11/05/09, 17:27:26
Buenas , lo que quiere es que el usuario no ejecute una transaccion que si debe estar en el s_tcode del rol , tengo entendido que existe algo donde pueda limitar al usuario el uso de esa transaccion que no debe ejecutar el usuario.

Me podrian dar una mano con esto , puede que por la se15 ? .- Me pueden mandar informacion de como puedo realizar esto.-


Saludos.

abapconsultoria
12/05/09, 16:31:45
Hola a todos, lo que debo de hacer es un authority check pero en lugar de un solo parametro, es con un SELECT OPTIONS, si alguien sabe como hacerlo le agradeceria muchisimo

de antemano gracias

Que tal: Debes tener suidado de como realizas el autority en estos casos.

No te sirve hacer el codigo de la comparacion con el elemento 'LOW'. Tenes que tener en cuenta que un Select option dentro de estos campos puede incluir / excluir valores, puede dar intervalos (por lo cual no tendrias en cuenta los datos intermedios) y ni hablar si te ponen un valor en el 'High'.

Te comento que hago yo en estos casos y esto no quiere decir que sea lo mejor.

Lo que yo hago es tomar ese select option y hacer un select sobre el dato maestro. Por ejemplo en el caso de Bukrs hago un select a la tabla t001(maestro de sociedades) con un 'IN' a ese select option. En este caso ya no tenemos que preocuparnos si el usuario incluyo o excluyo un valor. el 'IN' se encarga. Luego hago un loop de la tabla resultante y hago el chequeo de autorizacion valor por valor. Si alguno de estos valores no esta autorizado hago que se emita el mensaje.

Espero que sirva.

Saludos.

Javier Morales

DavidXD_XD
12/05/09, 20:41:50
Excelente comentario abapconsultoria :p , creo q falto ese punto importante ademas que con eso generalizas todos los casos :D

sub_dan
15/04/11, 13:56:46
abapconsultoria muy buen detalle :D funciona de maravillas