Truco 115. Control de autorizaciones para los Business Partners (BP) en S/4HANA.


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??).

Bibliografia.

https://blogs.sap.com/2020/02/25/sap-business-partner-hide-field-visibility-and-authorization-to-bp-groups/

Sap Business Partner Security – Ayuda de Sap.

Anuncio publicitario
Esta entrada fue publicada en Formacion, S/4HANA, Sap FI, SAP MM, Sap SD y etiquetada , , , . Guarda el enlace permanente.

5 respuestas a Truco 115. Control de autorizaciones para los Business Partners (BP) en S/4HANA.

  1. Ruben Sola dijo:

    Hola Roberto,
    estoy en un proyecto en el que tengo que crear un rol maestro solo con la transaccion BP y los datos de deudores/clientes. El problema es que los objetos de la transaccion BP no tienen niveles organizativos y por esto no puedo derivarlo. He pensado en anadir los objetos V_KNA1_VK0 y F_KNA1_BUK provenientes de las antiguas transacciones XDxx que permiten introducir los niveles organizativos. Seria en tu opinion esto posible? Se podria hacer de otra manera??

    Muchas gracias de antemano
    Un saludo
    Ruben Sola

    • Perdona, no te entendi bien la pregunta.

      Si, efectivamente puedes usar estos objetos de autorización que comentas:

      V_KNA1_VK0 y F_KNA1_BUK

      De cualquier forma, si tienes dudas,puedes hacer una traza de autorizaciones con la ST01 y verificar que se estan comprobando esos objetos cuando creas o modificar un cliente.

      Ya nos cuentas.

  2. Hola Ruben,

    No entiendo el problema que tienes. Cuando tu creas un BP del tipo Organización, le asignas en primer lugar el rol 0000 con el que das de alta los datos generales.

    A continuación, le asignas los roles:

    FLCU00 Cliente (cont.financiera)
    FLCU01 Cliente ( datos comerciales)

    Donde si tienes los datos organizativos que comentas y puedes crear un BP en tantas sociedades o organizaciones de ventas como necesites.

    Incluso, puedes definir agrupaciones de funciones IC, y asignar en un grupo de funciones esos dos roles, y asi es más fácil para el usuario.

    Eso lo haces en la ruta de custo

    Componentes multiaplicaciones –> Interlocutor comercial central –> Interlocutor comercial –> Parametrizaciones básicas –> Funciones interlocutor comercial –> Definir agrupaciones funciones IC

    Espero que te sirva

  3. Juan Calvo dijo:

    Buenos días,

    Tengo una duda en relación a los BPs. Me piden que si un BP tiene la funcion interlocutor Cliente y Empleado, se visualice los datos de la dirección del BP.

    Sin embargo, si un BP única y exclusivamente, tiene la función interlocutor Empleado, no se visualicen los datos de la dirección del BP.

    ¿Esto es posible?

    Muchas gracias de antemano

  4. William dijo:

    Hola tengo una duda,

    Tengo un proyecto en el que de la transacción BP me pidieron que cree 2 roles para que se puedan crear por separados lo que es clientes con un rol y proveedores con otro rol, se podría hacer? y como?

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.