Como vimos hace unos meses, la gestión de clientes y proveedores utilizando la función de Business Partner es uno de los cambios mas importantes introducidos por SAP en S4/HANA. En un post previo hablamos de lo que este cambio significaba tanto a nivel funcional, de modelo de datos y técnicamente (compatibilidad con las funciones anteriores).
En nuestro truco de hoy vamos a ver en detalle como podemos controlar mediante autorizaciones las acciones que los usuarios podrán hacer sobre los BP. Al final, el objetivo es limitar que los usuarios pueden modificar determinados clientes/proveedores o restringir la visualización o modificación de campos o grupos de campos.
Para ellos disponemos de tres alternativas que van desde un enfoque más general (limitar directamente cualquier modificación en uno o varios interlocutores), controlar los accesos según el valor de determinados campos hasta mas enfocadas a proteger la modificación de grupos campos (por ejemplo, evitar la modificación de datos bancarios, identificadores fiscales, etc).
Veamos en detalle las tres opciones.
Grupos de autorizaciones.
Con esta opción, utilizando el objeto de autorización B_BUPA_GRP, definimos los grupos que deseemos a través de la opción de parametrizacion SPRO, ruta Componentes Multiaplicaciones –> Interlocutor comercial central –> Interlocutor comercial –> Parametrizaciones básicas –> Gestión de autorizaciones –> Actualizar grupo de autorizaciones.
Una vez creados los grupos, los asignaremos en los interlocutores en el momento de crearlos o al modificarlos, en la función Interlocutor General (000000), pestaña Datos de Control.
De esta manera, clasificamos a los interlocutores desde el punto de vista de las autorizaciones.
Posteriormente, crearemos los roles asignando el objeto de autorización B_BUPA_GRP, y aquí es donde indicaremos para cada grupo, si el usuario podrá realizar cualquier acción sobre los clientes, o solo visualizar o tiene restringido totalmente el acceso.
Finalmente, tras asignar los roles, el usuario solo podrá visualizar o modificar los grupos para los que haya sido autorizado. De una forma general, sin entrar al detalle de campos especificos.
Clases de autorizaciones.
Con esta opción, gestionada a través del objeto de autorización B_BUPA_ATT, podemos crear grupo de interlocutores usando los valores de uno o dos campos del maestro. Por ejemplo, puedo utilizar los valores del campo PAIS para determinar que usuarios podrán modificar o visualizar los datos de los interlocutores.
En primer lugar, como trabajo de parametrización, hay que crear las clases de autorización y asignarles los campos por los que vamos querer crear los grupos de autorización. Lo haremos en la ruta Componentes Multiaplicaciones –> Interlocutor comercial central –> Interlocutor comercial –> Parametrizaciones básicas –> Gestión de autorizaciones –> Actualizar clases de autorización.
Tiene la limitación de que solo se pueden incluir dos campos en cada grupo, aunque tendría que ser suficiente.
Una vez creados los grupos, crearemos los roles de autorización asignando la autorización según el valor de los campos indicados en la clase de autorización. En mi ejemplo, he creado un rol para dar autorización a los clientes cuyo país es Francia.
Cuando el usuario intenta acceder a un interlocutor que no corresponde con este país, el sistema se lo impide.
Es decir, utilizando los valores de un campo del interlocutor, creamos grupos y podemos controlar con la autorización quien puede visualizar o modificar los componentes de dichos grupos. Una opción muy interesante y mucho mas afinada que la general de utilizar el grupo de autorización visto en el punto anterior (en realidad no nos obliga a indicar un dato adicional como en ese caso, sino que utilizamos los propios valores del maestro de interlocutores). Y nos da una flexibilidad que no teníamos hasta ahora para controlar las modificaciones en los interlocutores.
Grupos de campos relevantes para autorizaciones.
Con esta última opción, utilizamos los grupos de campos que ya tiene definidos SAP para construir las diferentes pantallas de los business partners. Cada campo de la BP esta asignado a un grupo de campos.
Los grupos de campos se pueden consultar en la transacción BUS2.
Para cada uno de ellos se puede ver el detalle de los campos que lo conforman:
Quizás lo más complejo en este caso sea localizar el grupo exacto que nos va a permitir controlar sobre el campo o campos que queramos restringir.
En este caso, las autorizaciones se gestionan con el objeto B_BUPA_FDG. Se requiere un paso previo de parametrización, que consiste en activar el control de autorizaciones para el grupo elegido. Lo haremos en la ruta Componentes Multiaplicaciones –> Interlocutor comercial central –> Interlocutor comercial –> Parametrizaciones básicas –> Gestión de autorizaciones –> Especificar grupo de campos relevantes para autorización.
En mi ejemplo, he activado la verificación de autorizaciones en el grupo 0009 Datos Bancarios. A continuación he creado un rol y dado acceso solo a visualizar a los usuarios que lo tengan asignado.
Los usuarios restringidos pueden visualizar los datos bancarios de los interlocutores, pero no tienen acceso a modificarlos. Como vemos en la imagen, aun estando en modo actualización, los campos de ese “grupo” nos aparecen grisados y no podremos cambiarlos.
Esta opción es igualmente útil, pensada para las listas de campos agrupados en el estándar bajo el concepto “Grupos de campos”.
Nota: las autorizaciones clásicas relacionada con clientes y proveedores se siguen manteniendo en S4/HANA por cuestiones de compatibilidad.
Funciones similares si aun seguimos en R3.
Para los que seguís trabajando con R3, os dejo entradas previas del blog donde tratamos temas similares con las transacciones clasicas (XD??, XK??, FD??, FK??, MD??, MK??).
- Truco 47. Proteccion de modificaciones de campos en maestro de clientes y proveedores.
- Truco 86. Proteger agrupaciones libres de clientes o proveedores por autorizaciones.
- Truco 79. Aprobación de modificaciones en campos sensibles del maestro de proveedores/clientes.