Frm50_enabled_roles, roles en menú form builder.

En estos días he estado trabajando en el desarrollo de una aplicación usando Oracle Developer 2000 utilizando forms y report builder, al tratar de implementar en el menú la seguridad de accesos utilizando roles de base de datos se presento un problema.

Ya había creado con anterioridad los distintos roles de base de datos con sus respectivos grant a los distintos objetos de la base de datos (tablas, vistas, procedimientos y funciones, etc.).

Para implementar seguridad por roles en el menú se modifican las siguientes propiedades del menú:

Use Security: Yes

Module Roles: Se listan todos los roles a utilizar.

Luego a cada ítem menú en la propiedad Item Roles se seleccionan los roles que tendrán acceso a dicha opción del menú.

Con esto solo se compila el fuente y listo, sin embargo al ejecutar el programa me dio el error: “FRM-10256: User is not authorized to run Form Builder Menu”.

Luego de investigar un poco encontré que no existía en la base de datos en el esquema SYSTEM la vista FRM50_ENABLED_ROLES, por lo cual procedí a la creación de dicha vista y listo, problema resuelto.

Este es el script de la vista:

CREATE OR REPLACE FORCE VIEW SYSTEM.FRM50_ENABLED_ROLES

(

ROLE,

FLAG

)

AS

SELECT   urp.granted_role role,

SUM (

DISTINCT DECODE (rrp.granted_role,

‘ORAFORMS$OSC’, 2,

‘ORAFORMS$BGM’, 4,

‘ORAFORMS$DBG’, 1,

0)

)

flag

FROM   sys.user_role_privs urp, role_role_privs rrp

WHERE   urp.granted_role = rrp.role(+)

AND urp.granted_role NOT LIKE ‘ORAFORMS$%’

GROUP BY   urp.granted_role;

CREATE PUBLIC SYNONYM FRM50_ENABLED_ROLES FOR SYSTEM.FRM50_ENABLED_ROLES;

GRANT SELECT ON SYSTEM.FRM50_ENABLED_ROLES TO ADMINISTRADOR;

GRANT SELECT ON SYSTEM.FRM50_ENABLED_ROLES TO CONSULTA;

GRANT SELECT ON SYSTEM.FRM50_ENABLED_ROLES TO CONTADOR;

Saludos cordiales.

Anuncios

Acerca de tihuilo

Estudiante de Ing. en Sistemas y Computación
Esta entrada fue publicada en Forms Builder, Programacion. Guarda el enlace permanente.

Responder

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. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s