Ayuda SAP

Obj. de Autorizacion para campo de tabla Z

Buenas compañeros; Tengo una duda y espero me puedan ayudar con esto.

Es esta pantalla de actualizacion para una tabla Z debo crear objetos de autorizacion para perfilarlo en los usuarios que tengran acceso a los registros de dicha tabla que difieren por ‘Tipo de Clasificacion’ ( MISC, CLIE, OTRO). Es decir, los usuarios que tengar acceso a visualizar, crear o modificar registros con Tipo ‘MISC’ no lo podran hacer para tipo ‘CLIE’.

Es campo ‘Tipo de Clasificacion’ tiene como Dominio un rango de valores el cuales son (MISC, CLIE, OTRO).

Como podria limitar el accesso a los registros de la tabla Z dependiento del rol de usuario para visualizar los campos con ‘Tipo de Clasificacion’ MISC, CLIE u OTRO segun sea el caso ?

1 me gusta

Con ayuda de un basis quizas consigas mas opciones…pero ahora la unica que se me ocurre es hacer una validacion en la vista que al momento de grabar, relices esa validacion que comentas validando con un authority check !! vamos a ver que otra te dicen los demas.

Tambien se que hay una forma de crear un objeto y asociarlo a la tabla lo que no estoy seguro es que te sirva por un campo en especifico

De una, para mi es ABAP, el abaper que hizo el Zeta que actualiza la tabla, puede validar todo :slight_smile:

Hola!

Tienes que generar un nuevo objeto de autorización en la transacción SU21 con los campos:

OBJETO :ZCLASIF
CAMPO 1: ACTVT = Actividades 01,02.03
CAMPO 2 : CLASIF= MISC, CLIE, OTRO

Aqui dejo una referencia de como hacerlo

h_tps://abapers.wordpress.com/2011/05/26/como-crear-un-objeto-de-autorizacion-2/

luego, tendrás que revisar con tu equipo ABAP, la inclusión en el programa, de la sentencia AUTHORITY-CHECK para este objeto e indicarles que pasa cuando se cumplen las diferentes combinaciones.

Ejemplo:

Si el rol del usuario tiene
ACTVT 01
CLASIF = MISC

Resultado = El programa le permitirá crear registros únicamente de la clasificación Misceláneos, pero no le permitirá modificarlos, ni visualizarlos para todos los demás casos, deberá enviarle un mensaje de falta de autorización.

Si el rol del usuario tiene
ACTVT 01,03
CLASIF = MISC,CLIE

Resultado = El programa le permitirá crear registros únicamente de la clasificación Misceláneos y Clientes, y le permitará visualizarlos; mas no modificarlos.

Para todos los demás casos, deberá enviarle un mensaje de falta de autorización.

4 Me gusta

@uzumakiamparo muchas gracias por el aporte !!! yo particularmente veo que es le mejor solucion, de nuevo gracias

Lo modifique solo porque haces referencia a otro sitio directamente y tratamos de hacer eso:

Aqui te explico

aaaah ok, si tenía la duda sobre como poner le link, muchas gracias! leo la nota para próximas ocasiones!

1 me gusta

Hola buen dia, Y realice el requerimiento acercandose a la solucion que me indico @uzumakiamparo:

Inicialmente cree un Ambito de Autorizacion ZCLMISC en la su20, cuyo elemento de datos que corresponde al campo de la tabla a tratar correspondo un Dominio con rango de valores : (MISC, CLIE, OTRO).

Luego creo un objeto de autorizacion y agrego el Ambito de Autorizacion.

Dominio:

Luego se crearon a nivel BASIS tres roles diferentes que corresponde a cada valor del campo:

Y finalmente se trato en el programa el Authority-chek para cada valor del campo ingresado:

"V002 RDAOU: AUROTIZACION PARA TABLA ZFI_REFER_SET
case  p_ctyp.

   when 'MISC'.
    authority-check object 'ZTR_MISC'
             id 'ZCLMISC' field 'MISC'.
    
    if sy-subrc <> 0.

      w_ed = abap_false.
      message e999(z_fi) with text-e05.

    endif.

   when 'CLIE'.
    authority-check object 'ZTR_MISC'

             id 'ZCLMISC' field 'CLIE'.

    if sy-subrc <> 0.

      w_ed = abap_false.
      message e999(z_fi) with text-e05.

    endif.
    
    when 'OTRO'.

    authority-check object 'ZTR_MISC'

             id 'ZCLMISC' field 'OTRO'.

    if sy-subrc <> 0.

      w_ed = abap_false.
      message e999(z_fi) with text-e05.

    endif.

ENDCASE.
"V002

Cualquier sugerencia seran bien recibida, muchas gracias por sus aporte, saludos.

Doy por cerrado el tema.

1 me gusta

Que bueno que te sirvió :wink:

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.