Вы находитесь на странице: 1из 5

Truco 49. Autorizaciones desde el Modulo de Organizacion.

Roles de usuario con PFCG(I).


Publicado el 22 marzo, 2013 por Roberto Espinosa
5 Votes
En nuestro dos prximos trucos volvemos al modulo Basis para hablar de una
funcionalidad no demasiado conocida pero que puede ser muy til si queremos
utilizar el modulo de Organizacin para construir la estructura de
puestos de trabajo de nuestra organizacin (desde el punto de vista de
RRHH o tambin desde el punto de vista de uso o funciones en Sap). Cada
unidad organizativa y/o puesto de trabajo tendr asociadas las
diferentes autorizaciones en el sistema, de forma que cuando un
empleado/usuario sea asignado en los diferentes puestos/roles en el
arbol organizativo, automticamente en su perfil de usuario Sap se
asignarn todas las autorizaciones vinculadas para que pueda
desempear las funciones previstas.
De esta forma se realiza una gestin de las autorizaciones mucho ms
ordenada. Utilizando el arbl organizativo de las transacciones del
modulo de organizacin (PPOMW/PPOSW), podemos ver de forma
visual nuestra estructura y quin esta asignado en cada lugar (asi como los roles
de autorizacin asignados). Como os digo, puede ser una funcionalidad muy
interesante para poner un poco de orden en el laberinto en el que se suele
convertir la gestin de autorizaciones en Sap conforme los proyectos van
evolucionando.ppome1
Antes de entrar en profundidad en el mdulo de organizacin y ver la forma de
configurarlo para utilizarlo desde la visin de la gestin de autorizaciones (no
desde el punto de vista de RRHH u organigramas, aunque podrian ser
compartidos), vamos a hacer un repaso a los aspectos mas importantes de
las autorizaciones en Sap. El control de autorizaciones es un concepto
transversal en Sap (afecta a todos los mdulos) y es fundamental su buena
definicin para evitar que los usuarios tengan acceso a funciones o tareas para
las que no deberan de estar autorizadas por sus funciones en la empresa (en
especial a determinados tipo de operaciones o informes).
Objeto de autorizacin.
Las autorizaciones en Sap se basan en dos unidades bsicas de gestin: el
campo de autorizacin y el objeto de autorizacin.
Con los campos de autorizacin definimos tecnicamente la longitud de los
campos de autorizacin (dominio), as como los valores posibles que se van a
poder indicar en ellos cuando los utilicemos en las definicin de nuestras
autorizaciones. Por ejemplo, para el control de acceso a transacciones se utiliza
el campo TCODE, que tiene el dominio tcode que permite utilizar valores en el
campo de longitud 20 (suficiente para cualquiera de las transacciones definidas
en Sap).pfcg_campo
En otras autorizaciones debemos de indicar que tipo de actividad esta permitida
o no para el usuario. Para este caso, tendremos por ejemplo el campo de

autorizacion ACTVT que utiliza el dominio ACTIV_AUTH, asociado a una tabla


de valores que indicarn los diferentes actividades que podemos hacer, por
ejemplo, en el mantenimiento de datos maestros de articulos, clientes,
proveedores, etc (Aadir, Modificar, Borrar, Visualizar modificaciones,
etc).pfcg_campo2
Los campos de autorizacin se definen en la transaccin SU20. Sap
dispone de campos de autorizacin suficientes para crear nuestros propios
objetos de autorizacin (aunque es posible si fuera necesaria alguna
personalizacin especifica), crear nuestros propios campos de autorizacin.
El objeto de autorizacin es el nivel superior dentro de la gestin de
autorizaciones y el objeto bsico con el que trabajaremos.
Bsicamente, un objeto de autorizacion en una etiqueta (nombre
tcnico) y un conjunto de campos de autorizacin asociados (de los
vistos anteriormente). Los objetos de autorizacin se mantienen en la
transaccin SU21, estando clasificados de forma estandar por los diferentes
mdulos y componentes de Sap. Tambin podremos crear nuestros propios
objetos de autorizacin insertandolos en una clase Z (las clases se crean desde la
transaccin SU03).pfcg_objeto
La asignacin de autorizaciones se realiza utilizando los objetos de
autorizacin, asignando a cada campo una serie de valores, que
indican las operaciones permitidas dentro del ambito del objeto de
autorizacin. En el ejemplo de la imagen, podemos ver como el objeto de
autorizacin esta siendo utilizando en un rol de autorizaciones y como se le
asignan determinados valores que luego sern los que tenga el usuario al que
este rol sea asignado.pfcg_objeto2
Dentro de la programacin de las aplicaciones SAP, con la sentencia
AUTHORITY-CHECK verificaremos que el usuario dispone de la autorizacin
correspondiente y le dejaremos continuar o no con la accin a realizar (en caso
de informes podremos estar restringiendo tambin la informacin a mostrar).
En el estandar Sap lo hace de forma automtica, aunque este procedimiento lo
podremos incluir tambin en nuestros desarrollos Z.
* Verificacion de autorizacion para crear pedidos de venta
AUTHORITY-CHECK OBJECT V_VBAK_AAT
ID AUART FIELD VBAK-AUART
ID ACTVT FIELD 01.
IF SY-SUBRC ne 0.
message e008(ZSISTEMAS) with SIN AUTORIZACION PARA
CLASE DOC.
ENDIF.
Como podes ver, al final se acaba chequeando cada objeto de autorizacin
concreto y los valores de este. Si el usuario tiene asignada la autorizacin
requerida, puede llevar a cabo la accin. En caso contrario, se genera un
mensaje de error o simplemente no tiene acceso a la visualizacin de los objetos
involucrados.

Hay objetos de autorizacin para casi todo en Sap, desde el acceso a ejecutar
transacciones que veiamos antes (TCODE), objetos para modificar datos
maestros en los diferentes ambitos (general, centro, sociedad, organizacin de
ventas, sociedad CO, organizacin de compras, etc). Tambin hay objetos de
autorizacin para las funciones bsicas del sistema. De esta forma, casi
cualquier operacin sobre el sistema, siempre se podr permitir o no (con la
ausencia de la autorizacin).
Perfiles de autorizacin.
En versiones anteriores no existia el concepto de roles y se trabajaba con los
perfiles de autorizacin. Estos no eran mas que un conjunto de objetos de
autorizacin con sus correspondientes valores que se asignaban a los usuarios
en la transaccin SU01/SU10. En versiones mas recientes se introdujo un
concepto mucho mas potente, el de los roles (aunque realmente por detras
siempre siguen estando los perfiles de autorizacin). Los roles se gestionan
desde la transaccion PFGC y tiene un generador automatico de perfiles de
autorizacin que veremos a continuacin, que facilitan la utilizacion de los
objetos de autorizacin.
Sino queremos trabajar con los roles, siempre podemos definir los
perfiles de autorizacin con la transaccin SU02 (opcin que no os
recomiendo en absoluto).perfiles
En los perfiles se indican los diferentes objetos de autorizacion que vamos a
asignar al usuario y con la autorizacin, que valores incluidos para los campos
de dichos objetos. Finalmente, estos se asignan a los usuarios mediante la
transaccin SU01 en la pestaa Perfiles.
Roles de usuario simples.
Con la introduccin del concepto de Rol Sap dio un respiro a los
administradores del sistema y les facilito mucho la vida a la hora de realizar la
tediosa configuracin de las autorizaciones en Sap.
Los roles se definen con la transaccin PFCG y son un nivel superior dentro de
la gestin de autorizaciones con funcionalidades aadidas como:
Creacin de menus de usuario asociados al rol: en el rol se define una estructura
de carpetas y las transacciones que se van a poner a disposicion del
usuario.pfcg_menu
Ademas de incluir en el men transacciones ya creadas, podemos crear las
nuestras propias directamente aqu, enlazando a Programas Abap, Querys,
Informes de Report Writer o de Investigacin, etc:pfcg_menu2
Transferencia de menus al rol desde los menus de ambito Sap, de otros roles,
desde ficheros de texto.
Traduccin de los textos asociados o modificacin de estos en el mbito del
menu para indicarles textos mas significativos a los usuarios.
Una vez indicadas las transacciones, reports, etc que se asocian al
rol, la transaccin PFCG automaticamente nos genera o actualiza el
perfil de autorizaciones asociado al rol con los objetos de autorizacin

necesarios. Segn cada transaccin o report indicado, el sistema nos genera una
propuesta de autorizaciones que tendremos que actualizar (habr que concretar
los objetos referentes a las unidades organizativas de los diferentes mdulos,
clases de actividad permitidas, clases de documentos, etc, etc).pfcg_perfil
Desde la pestaa de autorizaciones podemos acceder a la modificacin del perfil
de autorizaciones. Aqu podremos ver todos los objetos de autorizacin
asignados, asi como los campos relacionados con cada uno de ellos y los
valores asignados. Os recomiendo activar siempre la visualizacin
de los nombre tcnicos a travs de la opcin de men Utilidades > Activar
nombre tcnicos.pfcg_perfil2
Adems de la propuesta de objetos de autorizacin que nos realiza Sap
segn las transacciones indicadas, podremos incluir manualmente
nuestros propios objetos de autorizacin o bien copiarlos de otros
modelos (perfil de autorizaciones, modelo, etc). Es interesante conocer que Sap
dispone de un repertorio de Roles y Perfiles de autorizacin estandar que
posiblemente podamos utilizar como mdelo para nuestras propias
autorizaciones.pfcg_perfil3
IMPORTANTE: una vez concluida la definicion de objetos de
autorizacion y sus valores, siempre hay que generar el perfil de
autorizacin para que este sea activo y sus valores aplicables a los usuarios.
El ltimo paso sera la asignacin del Rol al usuario, bien desde la misma
transaccin PFCG en la pestaa Usuario o bien desde el mantenimiento de
datos de usuarios (transacciones SU01 / SU10 en la seccin Roles).
Una vez asignado el Rol al usuario, las autorizaciones estarn disponibles para
el usuario en cuestin y si hemos incluido un arbol de transacciones, estas
estaran visibles en el Menu del usuario en Sap.pfcg_perfil4
En el Rol no es obligatorio indicar un men de transacciones, puede incluir
unicamente el perfil de autorizacin (es decir, incluir unicamente objetos
de autorizacin con sus correspondientes valores asignados).
Roles de usuario compuestos.
Los Roles de autorizacin compuestos tambin se mantienen desde la
transaccin PFCG y consisten en roles que a su vez estan formados por varios
roles simples. Son un mecanismo para agregar varios roles y facilitar su
asignacin a los usuarios.pfcg_compuesto1
Cuando vemos como esta el rol asignado en el maestro de usuarios, aparece el
rol compuesto (es el que podremos asignar o desasignar) y luego en color azul
los roles que forman ese rol compuesto (se hace la explosion al asignarlo en el
usuario).pfcg_compuesto2
Es un buen mecanismo para agrupar autorizaciones y simplificar la gestin
de la asignacin a los usuarios.

Analisis de autorizaciones y traza.


Para concluir este repaso a nociones bsicas de autorizaciones en Sap, os
recomiendo una lectura anterior del blog donde hablabamos de como analizar
problemas con autorizaciones y como realizar una traza en el sistema para
obtener que autorizaciones se verifican realmente: ver entrada aqu.
Resumiendo:
Transaccin SU24: objetos de autorizacin verificados en cada transaccin.
Transaccin SU53: ultima verificacin de autorizaciones erronea realizada en el
usuario actual.
Transaccin SU56: autorizaciones existentes en memoria para el usuario
actual (las asignadas en su perfil).
Transaccin ST01: traza de autorizaciones verificadas (tambin la transaccin
STKONTEXTTRACE). Nos permite hacer una medicin de todas las
autorizaciones que son verificadas en un determinado usuario,
transaccin, etc.st01
Las autorizaciones SU53 y SU56 seria conveniente que estuvieran asignadas a
todos los usuarios por autorizaciones (o bien permitiendo siempre su ejecucin
con el parametro de sistema auth/tcodes_not_checked).
Una vez introducidos los conceptos bsicos de autorizaciones, en
nuestra prxima entrada veremos la forma de gestionar las autorizaciones
utilizando el mdulo de Organizacin de Sap, y como asignando los usuarios a
las posiciones del Organigrama, podremos derivar la asignacin automatica de
autorizaciones. Con una herramienta visual podremos de forma jerarquica
ver nuestra estructura de usuarios y las posiciones funcionales y roles
de autorizacin que tienen asignados.