Hola a Todos, queria consultarle este caso a ver si les ha ocurrido, tengo un programa alv oo donde solicito la sociedad en un select options, y luego al desplegar la informacion puedo elegir que registros eliminar pero solo deberia eliminar los usuarios que tengan acceso a la sociedad ingresada. Coloque un authority check luego que el usuario indica que desea eliminar pero todas las sociedades me indican que no tiene acceso y si hay 1 que debe erstringirlo pues no tiene el acceso. El codigo lo tengo asi:
SELECTION-SCREEN BEGIN OF BLOCK bk02 WITH FRAME TITLE text-003.
SELECT-OPTIONS: s_bukrs FOR ztsfxdata_cs-bukrs OBLIGATORY MEMORY ID buk
NO INTERVALS NO-EXTENSION DEFAULT 'SNFX',
s_snig FOR ztsfxdata_cs-snig,
s_fecha FOR ztsfxdata_cs-fecha.
SELECTION-SCREEN END OF BLOCK bk02.
IF v_ans EQ '1'. " Se procede a eliminar
AUTHORITY-CHECK OBJECT 'ZBORRA_CS'
FOR USER sy-uname
ID 'BUKRS' FIELD s_bukrs ---> Campo Sociedad
ID 'ACTVT' FIELD '06'. ---> Actividad Eliminar
IF sy-subrc NE 0.
MESSAGE ID 'Z_HR' TYPE 'S' NUMBER 000 WITH s_bukrs.
EXIT.
ENDIF.
Pense que era algo con el select options ya que el le coloca unas letras antes del nombre de la sociedad, se lo coloque directo igual me retorna sy-subrc = 4 y ninguna sociedad me deja eliminar y deberia dejarme en una.
En la transaccion que cree le deje esto:
No se si deba dejarle esos valores o estan demas. Si alguien me puede dar alguna idea que podria estar apsando se lo agradeceria mucho.
Saludos
Ana