Archive

Archive for the ‘oracle forms&reports’ Category

REPORTS_PATH limited to 1024 chars: REP-52251: Cannot get output of job ID 7204

We are deploying an application in Forms 10g Release 2, and when we run a report we get this error:

REP-52251: Cannot get output of job ID 7204
REP-51026: No output for job 7204

In the Oracle Enterprise Manager Reports Server’s Failed jobs we can see this error message:

 Terminated with error:
 REP-110: Unable to open file 'repenv1012.rdf'.
 REP-1070: Error while opening or saving a document.
 REP-0110: Unable to open file 'repenv1012.rdf'.
 

This error is due to the length of the REPORTS_PATH environment variable defined in $ORACLE_HOME/bin/reports.sh. We have a lot of applications deployed within one reports server, and the reports path length has exceeded 1024 chars.
To solve it, we have two ways:

Although the Dinamic Environment Switching is very powerfull, it requires adding a new parameter to the calling report, and as we do not develop the applications, we have opted for the second one.

 

Start Forms Builder 11g release 2 in Red Hat Enterprise Linux Server 5

May 22, 2012 3 comments

I’ve installed Oracle Fusion Middleware 11g Release 2, and I’ve migrated the old config files from Oracle Application Server 10g (9.0.4) to the corresponfding files of 11g Release 2.
Now, I try to run the migrated forms, but I get this error:

FRM-40011: Form was created by an old version of Oracle Forms.

I need to recompile my forms with the new version of Forms Builder. When I start it, I get this error:

$ cd $ORACLE_HOME/bin
$ ./frmbld
./frmbld: error while loading shared libraries: libhpi.so: cannot open shared object file: No such file or directory

Maybe you’ll find this one:

$ ./frmbld 
FRM-91129: fatal error: message file fmc<language>.msb not found

To solve both errors, I’ve configured some environment variables:

$ export ORACLE_HOME=/app/oracle/middleware_11gr2/Oracle_FRHome1
$ export PATH=/app/oracle/middleware_11gr2/Oracle_FRHome1/bin:$PATH
$ export LD_LIBRARY_PATH=/app/oracle/middleware_11gr2/Oracle_FRHome1/lib:/app/oracle/middleware_11gr2/Oracle_FRHome1/jdk/jre/lib/amd64/native_threads

Now when I start again frmbld I get an X Window with this error message:

FRM-91129: fatal error: no value specified for required environment variable FORMS_BUILDER_CLASSPATH

I configure this environment variable to the location of the frmbld.jar file:

export FORMS_BUILDER_CLASSPATH=/app/oracle/middleware_11gr2/Oracle_FRHome1/jlib/

And here it is, the Forms Builder running in X Windows:

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.

Oracle forms – webutil: error 302000: non-ORACLE exception

June 1, 2011 3 comments

We have an application in Oracle Forms 10g release 2 that uses webutil to generate a plain text file on a local folder of the application server.

We’re getting this error:


302000: non-ORACLE exception

The problem is due to permissions in the destination folder. The user that runs the forms servlet (or  its group) must have write permissions on that folder.

 

 

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