When installing Oracle Forms and Reports 11gR2 (11.1.2.2.x), there have been known issues where the following error message is produced around 92% into the install:

“Error in invoking target ‘nnfgt.o’ of makefile ‘$ORACLE_HOME/network/lib/ins_net_client.mk’. See ‘$ORACLE_INVENTORY/logs/install<DATE>.log’ for details.”

image

According to Oracle Support Document ID 1643548.1, this can be fixed by pre-setting LD_LIBRARY_PATH to $ORACLE_HOME/lib prior to the install. In the event you have already started the install, exit the install, clean up the failed install, set the above environment variable, and re-try the install.

However, if you still encounter the error above, there is a possibility that the expr package is not found in the system PATH variable. For example, if you run expr 1 + 1, you will know if this is not set up correctly if you get an error instead of 2.

In Solaris, this should be found in /usr/xpg4/bin. If it happens to be in /usr/local/bin, create a link in /usr/xpg4/bin to the binary in /usr/local/bin (after making a quick backup of it). The result is that when you use expr such as: expr 1 + 1, you should get a response, 2, instead of an error.

Once the expr binary works, re-try the install, and Forms should install successfully.

PITSS.CON users can be reinstalled when needed to whether the user needs to be installed a different group or if installing in a new PC. Normally PITSS.CON users can be reinstalled in an existing group without any issues. However, there can be a time where the following error is presented when a PITSS.CON user is being reinstalled (or even installed) in an existing group:

“Invalid database! Does not fit with Group “GROUP_NAME” connection! Logon denied!

image

The reason is because the group which the PITSS.CON user is being installed into has an application connect string different from the default “system/*@DB” connect string. You will need to type in the full application database connect string used by the GROUP in the App Connect String field (username/password@DB). If you are unsure what the application connect string is, you can find this out with the MIG user:

1. Log into PITSS.CON with the MIG user.

2. Go to User Access

3. Click on the group name you are installing the new PITSS.CON user.

4. If you look on the right side near the top, you will see the application connect string being used by the group. For security reasons, the password will not be shown here. If you are unsure what the user’s password is, please consult your DBA.

After the App Connect String field is filled in, the (re)installation will proceed like normal.

It is recommended that all PITSS.CON users have an unlimited quota to the tablespace which each PITSS.CON belongs to. If any of the PITSS.CON users do not have an unlimited quota to the tablespace, the following errors could be presented:Insert…ORA-01536: space quota exceeded for tablespace…https://pitss.com/files/2015/05/image.pngTo fix this, all PITSS.CON users including the MIG user should have the following database privilege granted:grant UNLIMITED TABLESPACE to USER;ORalter user USER quota unlimited on PITSS_TABLESPACE;After applying one of the grants above on each PITSS.CON user (including MIG), the error should disappear.Source: Oracle Support note 1084014.6

Oracle Support document 367778.1 provides a great document explaining how auto-downloading a JRE can be done from Oracle Application Server 10g. The same procedure can also be performed for Oracle Forms 11g (and 11gR2) using Oracle WebLogic Server.

In our example, we are attempting to have the client auto-download the latest Java 8 update (1.8.0_45). According to Oracle Support note 1926764.1, Oracle has not enabled JRE 8 for auto-download, so these steps are currently the only possible way to auto-download JRE 8. The steps below were done using Oracle WebLogic Server 10.3.6 and Oracle Forms 11.1.2.2.0 (the only version of Oracle Forms currently supported with JRE 8):

1. Download a 32-bit JRE from Oracle (example for latest Java 8: jre-8u45-windows-i586.exe)

2. Create a folder in your application server and place the JRE in this location. In our example, we created a folder called C:\PITSS\Java8Download

image

3. Navigate to %DOMAIN_HOME%\deploymentplans\formsapp\11.1.2 and make a backup of plan.xml

4. Open up plan.xml in a text editor.

5. Inside the file, create a new variable for the directory where the folder containing the JRE is located. You may use our example below as a guide:

<variable>
<name>vd-C:/PITSS</name>
<value>C:/PITSS</value>
</variable>

image

6. Further down in the file, create a new variable assignment containing both the directory specified in the variable above and then the xpath or alias containing the name of the folder which has the JRE inside:

<variable-assignment>
<name>vd-C:/PITSS</name>
<xpath>/weblogic-web-app/virtual-directory-mapping/[url-pattern=”Java8Download/*”]/local-path</xpath>
</variable-assignment>

image

7. Save and close the file.

8. Log into your WebLogic Administration Console and go to Deployments.

9. Click “Lock & Edit” in the top-left corner.

image

10. In the Deployments page, place a check mark next to “formsapp (11.1.2)” and click “Update”.

image

11. Click the radio button next to “Update this application in place…” and click “Finish”.

image

12. In the top-left corner, click “Activate Changes” to publish the changes.

image

13. After the changes are activated, open up your formsweb.cfg file (located in %DOMAIN_HOME%\config\fmwconfig\servers\WLS_FORMS\applications\formsapp_11.1.2\config)

14. Locate your jpi_codebase parameter. Replace the current value with the URL. If you need to, also update your other JPI parameters to use Java 8 (as indicated in the screenshot below) .Use the format below:

http://server.domain:8888/forms/AliasName/JRE_file.exe

Example: jpi_codebase=http://server.domain:8888/forms/Java8Download/jre-8u45-windows-i586.exe

image

15. Save and close the file.

16. Restart WLS_FORMS.

After completing the steps above, the next time you run your Oracle Forms application (assuming that JRE 8 has not been installed in your machine), you will be prompted to auto-download Java 8.

Source: Oracle Support note 367778.1

The one-day information event by Oracle modernisation expert PITSS offers companies in the UK a comprehensive overview of all possibilities for their future Oracle Forms development strategy. All questions relating to options, chances, risks and costs of a modernisation will be addressed by expert speakers. On top, Michael Ferrante, Oracle’s Principle Product Manager for Oracle Application Development Tools, will present the Oracle Forms road map for the next years. The Oracle Forms Orientation Day will take place at the Oracle City Office in London and is free of charge.

London (UK) / Stuttgart (DE), 21 April 2015 – Companies being faced with the question how to innovate their Oracle Forms applications can now get all the information they need for a well-considered decision – at the Oracle Forms Orientation Day in London on 6 May 2015. The high-quality event addresses IT managers, Oracle developers and Oracle architects from companies and organisations across all sectors. Expert speakers from PITSS, the Yorkshire Building Society, Inoapps and Oracle will contribute, among them Michael Ferrante. Their presentations will cover investment protection of Oracle Forms applications, Oracle Forms modernisation, SOA and Web services, ADF and APEX, and the Oracle Forms road map.

The Orientation Day will be held at the Oracle City Office in London, Room Kensington, from 9:30 to 16:00. For more information, a detailed agenda and registration, please visit: Registration for this event is closed.

About PITSS

PITSS is the leading provider of Software & Services for modernising and effectively managing Oracle applications. The PITSS Group was established in 1999 and has gained international recognition with over 1,000 customers and a multitude of successful Oracle projects. PITSS is an Oracle Gold partner and, as a member of the Oracle Modernization Alliance (OMA), is the only Oracle Forms Migration partner for automated migrations. With sites in Stuttgart (HQ), Wolfratshausen near Munich, Bielefeld (Germany), Milton Keynes (UK) and Troy (USA) as well as certified international partners, the company successfully provides support for IT projects of medium sized companies, large enterprises and public contractors across the globe.

Press Contact:
PITSS GmbH
Cathrin Cambensi
Industriestr. 3
70565 Stuttgart
Germany
Tel. +49 8171 21 62-07
ccambensi@pitss.de

IMPORTANT: As of September 4, 2015, NPAPI has been completely removed from Google Chrome in version 45. Due to this, Oracle Forms will no longer work in Chrome starting with Chrome version 45. The solution in this article below will no longer work. The only alternative is to use another supported Web browser such as Internet Explorer, Mozilla Firefox, or Safari.

Recently, Google has removed NPAPI support from Google Chrome, one of the supported Web browsers which can be used to run Oracle Forms or any application requiring the use of a Java Runtime Environment (JRE).  Starting with the latest Google Chrome update (released in April 2015), version 42, there is a possibility where all applications such as Oracle Forms (includes PITSS.CON) which rely on JREs will no longer work in Google Chrome. You may encounter an error such as:

“This plug-in is not supported.”

image

NPAPI is used to support non-Internet Explorer browsers with different plug-ins including Java (JRE). With Google Chrome no longer supporting NPAPI starting April 2015, NPAPI is now disabled by default. There are different workarounds which can be done to get Forms (or other applications using a JRE) to work in Chrome:

1. Manually enable NPAPI in Chrome:

a. In the URL in Chrome, type in: chrome://flags/#enable-npapi

b. An entry, “Enable NPAPI”, should appear. Click “Enable”. WARNING: Please be careful when enabling anything in this page. Neither PITSS nor Google will not be held responsible for anything that is enabled by accident. Before clicking to Enable NPAPI, please read and understand the warning message printed at the very top of the page (or you may read the warning message in the screenshot below as it is a snapshot of it).

image

image

c. At the bottom of the page, you will see a “Relaunch Now” button appear. This is necessary to activate the change just made. Click “Relaunch Now”.

image

d. Google Chrome will relaunch. After applying the steps above, any application (including Oracle Forms and PITSS.CON) will be able to use the JRE in Google Chrome.

2. Use other Web browsers supported by Oracle per the certification matrix as they have not disabled NPAPI: http://www.oracle.com/technetwork/es/middleware/docs/oracle-forms-111220certmatrix-2087910.xls?ssSourceSiteId=otnen

a. Internet Explorer

b. Mozilla Firefox

c. Safari

NOTE: Sometime in September 2015 according to the Chromium Blog, http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html, NPAPI will be permanently removed and solution #1 above will no longer work then. Oracle is aware of this issue. Solution #2 will still work even when NPAPI is completely removed from Chrome in September 2015.

Source: http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html (Chromium Blog for Google Chrome)

Source: http://java.com/en/download/faq/chrome.xml (Oracle’s explanation regarding NPAPI support with Chrome)

In PITSS.CON 12.3.1 and older, there is a button in Application Analysis called “Custom Reports” which will take you to a page to do an analysis of dead code in your Forms application. This is a button which could be selected after parsing the application.

image

Once the Custom Reports module (also shows as “Dead Code Analyse” in PITSS.CON), if you click the “Run Task” button in this window, there is a possibility that the following error is produced:

“Error: ORA-01422: exact fetch returns more than requested number of rows”

NOTE: This does not happen with all PITSS.CON installations.

This was actually another method of performing an Unused Objects Analysis. To perform an Unused Objects Analysis (same as performing the dead code analysis), go to Application Engineering in the main menu and go to “Unused Objects Analysis”. Inside this module, you can perform the analysis to check for all of the unused objects in your application.

NOTE: Starting with PITSS.CON 15.1.1, the button in Application Analysis has been removed.

GraphViz is a great third-party tool which can be used to generate graphs. By default, if you generate a graph from PITSS.CON (such as from the “Generate Forms Flow as DOT file” button in ADF Assistant) as a DOT file, it will create the DOT file code in the PITSS.CON Editor:

image

The code can be then copied into GraphViz and a graph can be generated.

However, you can configure PITSS.CON to automatically create a graph for you upon request. You can configure this with the steps below:

Prerequisites:

1. PITSS.CON must be installed and configured

2. GraphViz must be downloaded from http://graphviz.org (be sure to accept the license agreement before downloading and installing the product) and installed in the machine where PITSS.CON is installed.

Setup:

1. If PITSS.CON is currently open, please log out of PITSS.CON.

2. Open up pitsscon.env (or the env file associated with your PITSS.CON user)

3. In the PATH environment variable, add the following entry to the end of the PATH:

;C:\PROGRA~2\Graphviz2.38\bin (NOTE: The path may be different if you installed GraphViz in a different location)

SNAGHTMLe4ef71

4. Save and close the file.

5. Repeat steps 2-4 for any other PITSS.CON-related env files.

After applying the steps above, if you attempt to generate a graph from modules such as ADF Assistant or Systems Analysis (inside Application Engineering), a graph will automatically be created in a separate tab or window (depending on your Web browser configuration).

image

This will also prevent end users from having to install GraphViz on their local machines as it will be used from the installation on the server.

The Unused Objects Analysis module in PITSS.CON is a great module to check for unused code in an application. However, there is a known issue in PITSS.CON 12.3.1 and earlier where if you attempt to export a pool to a text file after running the Unused Objects Analysis, PITSS.CON will crash with the error:

“FRM-92091: unexpected fatal error in client-side Java code”

image

The error above results in PITSS.CON crashing completely which requires a restart of PITSS.CON. It has been seen in the majority (but not all) of PITSS.CON installations.

PITSS.CON 15.1.1, the newest version of PITSS.CON as of March 31, 2015, has been released. This bug can be fixed by upgrading your PITSS.CON installation to version 15.1.1. Please contact PITSS today to upgrade your PITSS.CON installation to the latest version.

There is a known issue where the DB Admin Console is unable to start (either with the Windows Service in Windows or with emctl start dbconsole in other OS platforms) due to the following error:

“Starting Oracle Enterprise Manager 11g Database Control …The OracleDBConsole<SID> service is starting……….. The OracleDBConsole<SID> service could not be started.

“A service specific error occurred: 2.

“More help is available by typing NET HELPMSG 3547.”

The first place to look for the errors above is the folder with the database log files located in %DB_ORACLE_HOME%\<Hostname>_<db_unique_name>\sysman\log ($DB_ORACLE_HOME/<Hostname>_<db_unique_name>/sysman/log in Unix). One log file to check is emdctl.trc. Check for errors such as: “ERROR main: nmectl.c: nmectl_validateTZRegion, agentTZoffset =-###,and testTZoffset for <Time_Zone>:-### do not match”

image

If this error is present, the time zone currently set for your Oracle Database does not match the time zone of the database server hosting the database. To solve the problem, you will need to reset the time zone for your database to match what is set in the OS:

Windows:

1. Open up Command Prompt as an administrator

2. Set the following environment variables*:

set ORACLE_HOME=C:\app\%USERNAME%\product\11.2.0\dbhome_1

set PATH=%ORACLE_HOME%\BIN;%PATH%

set ORACLE_SID=<SID>

3. Run the following command to reset the time zone: emctl resetTZ dbconsole

4. After successful completion of step 3, please start the DB console.

Unix:

1. Open up an SSH terminal session

2. Set the following environment variables*:

export ORACLE_HOME=/oracle/app/$USER/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_SID=<SID>

3. Run the following command to reset the time zone: emctl resetTZ dbconsole

4. After successful completion of step 3, please start the DB console.

*=Your DB Oracle Home may differ than the example provided.

After running the steps above, you should be able to successfully start up the DB console for Oracle Enterprise Manager 11g Database Control.