Archive

Posts Tagged ‘oracle forms&reports’

FRM-41810: Menu security in Oracle Forms 10g release 2

April 13, 2012 5 comments

I’m migrating an app from forms 9i to forms 10g release 2.

The menus uses role security, I’ve compiled the forms in 10g release 2 and when I open the form I get this chain of errors:


FRM-41810: Error creating menu
FRM-10256: User is not authorized to run form builder menu
FRM-41810: Error creating menu
FRM-10205: Menu not found
FRM-40105: Unable to resolve reference to item %s.

I have encountered this problem at other times, but I settled for the fast-track: disable the menu security.

But today I feel inspired and I wanted to find a solution. After trying different things, I’ve found this oracle note: Implementing and Troubleshooting Menu Security in Forms [ID 28933.1]

To implement menu security in Oracle Forms 9.0.x, 10.1.2 or 11.1.x you have to create an old compatibility view, execute this in SQL*Plus as SYSTEM user:
For 9.0.x:


SQL> @$ORACLE_HOME\tools\dbtab90\forms90\frm90sec.sql;

For 10.1.2 or 11.1.x:


SQL> @$ORACLE_HOME\tools\dbtab\forms\frmsec.sql;

The script, in 10g is this:


create or replace view FRM50_ENABLED_ROLES 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;

create role ORAFORMS$OSC;
create role ORAFORMS$DBG;
create role ORAFORMS$BGM;

Now, grant select access to the view created:


SQL> grant select on frm50_enabled_roles to public;

And now, from a user account, test the view:


SQL> select * from frm50_enabled_roles;

If you can see values, the menu security must work in Forms 10g.

FRM-92101 – running Oracle Forms using parameters

January 7, 2011 Leave a comment

I’m trying to run a form using URL parameters and I’m getting this error:

FRM-92101:There was a failure in the Forms Server during startup. This could happen due to invalid configuration. Please look into the web-server log file for details.

I take a look at the application log at:

$MIDTIER_HOME/j2ee/<OC4J_FORMS_dir>/application-deployments/<forms_deployment_dir>/<OC4J_FORMS_dir_>default_island_1/application.log

and there is nothing explanatory:

11/01/07 12:23:26 formsweb: Forms session <8> failed during startup: no response from runtime process
11/01/07 12:23:26 formsweb: Forms session <8> exception stack trace:
oracle.forms.engine.RunformException: Forms session <8> failed during startup: no response from runtime process
at oracle.forms.servlet.RunformProcess.connect(Unknown Source)
at oracle.forms.servlet.RunformProcess.dataToRunform(Unknown Source)
at oracle.forms.servlet.RunformSession.dataToRunform(Unknown Source)
at oracle.forms.servlet.ListenerServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:835)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:816)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:231)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:136)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.3.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)

After checking logs and reviewing the formsweb.conf again and again, I noticed that I made a silly mistake. I ran a custom configuration changing the default form indicated on the configuration with the form parameter, and I was using the plus sign (+) as parameter separator instead of ampersand (&) (with firefox). Changing the plus sign with the ampersand solved this foolishness:

http://host:7779/forms/frmservlet?config=mike&form=myForm.fmx