Les tengo una consulta para ver que recomendaciones me pueden dar:
Estoy retomando un caso que había sido suspendido que tiene que ver con la restricción de unas transacciones estándar con respecto a las áreas de nomina.
Lo que se desea es que ciertos usuarios no puedan acceder a una área de nomina en particular Ejemplo: Tengo las áreas 01,02 Y 03. Lo que quiero validar es que el usuario HR1 no pueda acceder a la información del área de nomina 03 y si pueda a la 01 y 02.
Estoy trabajando con la transacción PC00_M17_CALC_SIMU que por lo que me mostró el funcional, es como una simulación del recibo de nomina.
Convoco a las @abapers para ver si alguno de ustedes a manejado un caso como este en su experiencia.
eso es correcto, esa Tx es la simulación de la nomina.
Yo nunca he hecho algo pero se me ocurre que puedieses crear una funcion u operacion y establecerla en el esquema de nomina (que ahi es que veo lo complicado) e identificar si la persona tiene tal objeto de autorizacion, no pase mas !! ahora, lo dificil que veo es eso…poner esa funcion u operacion en el esquema, porque pudiesen haber varios esquemas de nomina.
Ahorita que yo recuerde no hay exit que pueda aplicar a esa Tx, no se si has revisado o visto opciones…pero un funcional te pudiese orientar mejor en cuanto a si es conveniente o no lo que te digo, porque se que por el esquema es medio complicado…a mi se me ocurre es eso, que por la pe03 o pe03 se creer una operacion o funcion que te haga eso…ahi mismo puedes evaluar el esquema y no vayas a evular la t-code porque por la PC00_M17_CALC tambien pueden correrla por simulacion…evalua el check mejor !!! avisame si te di luz o no a ver que mas te puedo ayudar
Hola, exacto es una tx para simular el calculo de nomina, pero lo que tu quieres es brindarle permisos por usuarios. Me parece que es un tema de basis mas que abap o funcional HCM…
Bueno te comento que efectivamente existen varias áreas de nomina. Te voy a comentar un poco en lo que he estado trabajando hasta el momento:
Primero intente realizar un Autorithy Check en la transacción con el objeto P_PCR que es el que maneja las áreas de nomina con sus respectivas actividades, ahora bien, los puntos de ampliación que ofrece el programa de verdad que me tienen de cabeza porque ya de por si me han sido complicados para poder debuggear .
También se validaron los grupos de autorización de la tabla V_T549A_2 para comprobar que estuvieran levantando las clases de objetos que correponden, en este caso PC.
Los Roles que tienen estos usuarios se modificaron por la SE24 (Basis) para agregar las transacciones por objeto.
Nooooooooooo a nivel del programa que maneja la Tx, no lo hagas…por ahi se te va a hacer casi impible porque eso es una locura, ese programa llama a varios mas por cada pais y buehhh ahi consigas el de VE te va a costar…lo que te dice Sidv me parece logico, es mas o menos lo que yo te dije pero tu lo harias por el codigo, evaular el obejeto de autorizacion que esta atado a ese rol !! yo me iria por lo que te comento Sidv igual esperemos por los basis…sino alguna funcion u operacion !! porque haciendole exit a ese programa te vas a complicar la vida
Ahora me están haciendo llegar otras transacciones que necesitan la misma validación, pero las voy a revisar para ver porque me comentan que una de elllas valida por el numero de personal en vez de por el área de nomina.
Les comento luego que las revise.
Lo que puedes hacer es un trace de autorizaciones por la transacción ST01, no importa si tienes SAP_ALL, accede a algun área de nomina luego a otra y desactiva el trace, luego verifica que objetos de autorización te dieron acceso y partes de allí.
Ya realizamos el trace y solo levanto estos dos objetos P_PCLX y P_ABAP
OJO: el trace se levanto solamente haciendo la prueba con el área de nomina que se intenta restringir y en base a un usuario que tiene los mismos roles que el de productivo.
Crees que pueda levantar otros objetos dependiendo del área de nomina que se consulte???De verdad me parecería raro que lo hiciera…
No, realmente si ya realizaron el trace y ninguno de los objetos encontrados cumple la función para restringir el area de nomina, la opcion que se me ocurre es crear un objeto de autorización y luego modificar el programa agregando el authority_check que necesitas.
Mmm no estoy tan seguro de eso.
Hay transacciones que traen objetos desactivados por defecto.
@johnny282 verificá con la SU24 si la transacción tiene algun objeto de seguridad desactivado.
Capaz justo el que necesitas esté desactivado, y en el trace no apareció.
Gracias a todos por sus respuestas. La verdad es que el caso esta bastante complicado…
Hemos realizado cualquier cantidad de cosas para validar a nivel de seguridad estas áreas de nomina.
Lo que comenta @squall192 con respecto al objeto de autorización, efectivamente ese es el que hemos venido trabajando para hacer las restricciones. Te envio la imagen de la SU24 donde se observan todas las transacciones que levanta el objeto.
Sin embargo,como les comentaba anteriormente se han realizado algunos trace con respecto a las mismas y lo que se observa es que no levanta este objeto en ningún momento.
Por otro lado con respecto a lo que comenta @SidV [quote=“SidV, post:12, topic:5409”]
verificá con la SU24 si la transacción tiene algun objeto de seguridad desactivado.Capaz justo el que necesitas esté desactivado, y en el trace no apareció
[/quote]
Efectivamente el Basis hizo un chequeo de esto ayer y pudo verificar que los objetos para estas transacciones se encuentran activos.
La verdad no se si se les ocurre algo mas, la verdad se me agotan las ideas .
Creo que veo mas cercana la opción de la ampliación, pero realmente estoy tratando de que sea la ultima opción por que la verdad es bastante complejo de entender.
lo básico es hacer la prueba.
en ambiente de pruebas, crea un rol para un usuario con ese objeto de autorización y área de nomina A
e intenta ejecutar la transacción para un área de nomina B.
idealmente hace la prueba con el trace activo para ver los objetos que valida.
NOTA: el usuario con que hagas la prueba no debe tener otras autorizaciones relacionadas y verifica en “niveles organizacionales” que las áreas de nomina sean las que deseas
Finalmente y luego de un par de horas de debugging, pude conseguir una solución al caso.
Ubique un Include (RPPPDR00) que maneja autorizaciones para archivos de HR y en este punto ya tengo toda la data necesaria para validar el objeto P_PCR. Me permitió generar la ampliación en este punto generando las validaciones correspondientes.