Install Oracle Forms & Reports 12.2.1.19 on Windows

No post should look good, started with a statement asking the visitor to move on because “There is nothing much to see here”. Trust me, if you already referred my previous post(s) for Oracle Forms & Reports 12.2.1.4, then there is nothing new I have for you in this post. As I don’t have much to offer other than what I have already did through my previous post, let us see how we can insure your fresh attempt to get this whole complex stack installed & configured successfully on your computer.

Are you excited? Don’t be. Oracle has released the much waited Windows version for their Oracle Forms & Reports couple of days back and I must say, I was super excited based on the promises given about the IDE improvements. For improvements what I could see what line numbers inside PL/SQL editor.

Software Requirements

Side note before anything else. Please note, you must install software from the same architecture. Said, if you install JDK 32-Bit and expect your 64-Bit Weblogic to work properly, that is not going to happen. Hence insure all the software you download and install belong to the same architecture.

Microsoft Visual C++ Redistributable packages (Specific to Weblogic 12.2)

and for Oracle Forms 12.2.1.19, you have to install Visual Studio 2017 VC++ compoments.

Oracle JDK

Weblogic Server Software

Oracle Forms & Reports 12.2.1.19

Before you start the installation, let’s do a checklist

  • Is your Windows machine updated with latest patches for OS and .Net?
  • Do you have a static IP address for your computer/laptop?
  • What is the name of your computer? does it looks like some random letters?
  • Have your read the installation document? :) nobody does it right?

Legal, cracked, pirated… OS comes in different flavors & nothing can stop it. However, keeping your box up to date is your responsibility. Oracle is a very complex technology, that depends upon many OS elements. A broken box will not get you anywhere.

Static IP address is 2nd most important element when you are installing a server software, that is WebLogic in our case. As this server has to be identified and reached by clients, a fixed IP address is a must, however not always possible when a user has limited infrastructure. Microsoft has provided “Microsoft Loopback” interface for such requirements. Please Google and find more about setting it up, if you are one of those users. Microsoft Loopback helps you to setup a static IP address, please note other computers in your network cannot reach your computer using this IP address or setup!

Name of your computer or HOST name. Much of the Computer/Laptop that you buy with Windows preinstalled come with some whacky names. You should change such names to something more meaningful like “JOHN-PC”,”XYZ” etecetra.

I didn’t either read installation manuals until recent times. I realized that, I could avoid hours or sometimes days long Googling merely by reading the instruction manuals.

Once you are done with Microsoft Visual Studio C++ redistributable package(s) installations, we can proceed. Please follow the below post that should take you through installation and setting up a classic weblogic domain, report server instance etc. I hope you will have least issues installating and configuring Oracle Forms & Reports following my post 🙏(Don’t get discouraged by the title of the referred post, as I stated in the beginning, there is nothing new HERE!). The one thing I want to warn you about the time that your computer might take to bring up the UI for the Oracle Forms & Reports installer. This could be nothing less that 7-8 minutes, much more depending upon your hardware resources.

All the best and if you are still stuck, do let me through comments!

Windows | “ORA-12640-Authentication adapter initialization failed.”

Recently at a gathering I was asked about my job. I told a group of young chaps that I work with Oracle EBS and my primary role is developing extensions using Oracle Forms & Reports. Interestingly, none of them knew anything about Oracle Forms & Reports.

Couple of days back I installed Oracle 11G R2 database once “again” as I had to open our legacy software for some historical data access. Then I had to develop a report and to my utter surprise, found Oracle 10g report developer will not connect to 11G database, generating the following errors:

REP-0501: Unable to connect to the specified database.
ORA-12640: Authentication adapter initialization failed

I hurried to check the database sqlnet.ora file and found the authentication set as NTS (Windows default for Oracle products) & interestingly Developer 6i products were connecting to the database without any issues. This helped me to confirm that issues were from Developer 10g side & I changed the sqlnet.ora settings for the Developer 10g Suite.

from NTS to NONE did the trick.

I don’t know how my people are ever going to land on this page! Trust me, I haven’t seen an interesting question about Oracle Forms/Reports in any of the Oracle support forums from last many years. I will be pretty sad to see such a wonderful product that was built for developing Business applications on the go being ignored for some crappy browser based gimmicks.

Happy Diwali guys 🙏

Oracle Forms Developer 10g crashes when opening modules

Oracle developer Forms version 10g is still used. Used by Oracle for their E-Business Suite & they will continue using this obsolete, unstable version until the day EBS is discontinued. So, let us see how to make the best out of what is available.

One of the major nuisances a developer (definitely) will come across while using this obsolete version of Oracle Developer on Windows 7 or later versions of Microsoft OS is, opening a module that has underlying database level objects changed (procedures/functions/packages), this IDE crashes without generating any error logs. Simple as it is. This could completely cripple the developer, especially when rapid developments miss to document the changes.

Is it possible to open FMB files without being connected to database? it is another BIG NO NO. Developer 10G will crash immediately incase if you try to open an FMB file that has database objects referred. So what is the next possible solution?

Well there is a solution that is dirty, having to install Oracle Forms Developer 12c (12.2.1.4). Just install the suite as standalone without Weblogic. This version is fault tolerant and will not try to validate the database level object calls & crash. By this, you can verify, compile and see what objects were changed, non-existing etcetera.

Oh yes, make sure you have copied your source FMB files to a new folder prior opening them with Forms Developer 12c!. Always remember, Oracle EBS R12 only compiles FMB files created using Oracle forms 10g. You could lose your original files forever if you forgot to do that.

Here is an excellent article explains how to install standalone Oracle Forms 12c.

https://oracle-base.com/articles/12c/standalone-forms-builder-12c-installation-on-windows-1221

Connecting Oracle Developer 10g to 11G database takes long time

We migrated to 11G R2 (11.2.0.4) for our Oracle Applications R12 few years back, yes few years back (2017) & lived with one of the worst experiences…

Connecting Oracle Developer 10g (Forms/Reports) suite to 11G database.

I have scavenged through community articles for long time before giving up. I hardly came across a single fix for the connection time that used to hang up the Developer suite at times…

Today, I decided to find a solution for the nagging SSH connection issues from Windows 11 to our LINUX application servers and realized that we didn’t update the DNS settings for them once after we decommissioned a domain controller. Once the SSH issues were rectified and addressed, my next attempt was to find a solution for “frmcmp_batch” taking long time to start compiling modules & I landed on the below post.

Credit: Oracle Applications DBA: Form Compilation Against a 11g Database Hangs or Takes a Very Long Time [ID 880660.1] (appsjagan.blogspot.com)

As we are already on 11G R2 11.2.0.4, patching was not required. All I needed was to alter the hidden parameter “_FIX_CONTROL” as mentioned in the article.

SQL> ALTER SYSTEM SET "_FIX_CONTROL"='8560951:ON';

(Use scope=spfile to make this change permanent. This will require you to restart the database.)

I opted to go without spfile for testing & as soon as applied, the “frmcmp_batch” started compiling the modules instantly, against the usual delay that ran into many minutes other times.

Out of curiosity, I tried to connect to the database from Developer 10g & the connection was instant! within a fraction of a second.

So DNS being one of the most important elements establishing successful connections, patches and fixes also play crucial role in providing stable connections. Were you stuck with the same issue? give the solution a try and let us know whether it helped you also.

FRM-41826: Cannot Replace Group;columns Don’t Match Lov

I was trying to revamp a “fully functional” custom module for our Oracle EBS R12 Order Management & came across “FRM-41826: Cannot Replace Group;columns Don’t Match Lov” while a new record group was set for an existing LOV during runtime based on the user choice.

I was pretty sure that the query is flawless as all I did was to removing some UNIONs and thus stripping off rows from the result set!.

After spending almost hour time, Finally I decided to check the columns returned by the record group. My first record group has the below SQL

select CUSTOMER_ID party_id, CUSTOMER_NUMBER, CUSTOMER_NUMBER ACCOUNT_NUMBER, CUSTOMER_NAME, null CASH_CUSTOMER_ID
from OMS_SHIPTO_ADDRESS_V where org_id = :PARAMETER.ORG_ID
AND CUSTOMER_ID NOT IN (Select account_id from OMS_ORGS_CASH_ACCOUNTS where organization_id = :PARAMETER.ORG_ID)
UNION ALL
SELECT oocc.account_id party_id, occ.PHONE_1 CUSTOMER_NUMBER, TO_CHAR(oocc.ACCOUNT_NUMBER) ACCOUNT_NUMBER, occ.CUSTOMER_NAME, occ.CUSTOMER_ID CASH_CUSTOMER_ID FROM OMS_CASH_CUSTOMERS occ, OMS_ORGS_CASH_ACCOUNTS oocc
WHERE occ.PHONE_1 IS NOT NULL
AND occ.ORGANIZATION_ID = :PARAMETER.ORG_ID
AND oocc.organization_id = occ.ORGANIZATION_ID
AND PRINT_PHONE_1 = 'Y'
UNION ALL
SELECT oocc.account_id party_id, occ.PHONE_2 CUSTOMER_NUMBER, TO_CHAR(oocc.ACCOUNT_NUMBER) ACCOUNT_NUMBER, occ.CUSTOMER_NAME, occ.CUSTOMER_ID CASH_CUSTOMER_ID FROM OMS_CASH_CUSTOMERS occ, OMS_ORGS_CASH_ACCOUNTS oocc
WHERE occ.PHONE_2 IS NOT NULL
AND occ.ORGANIZATION_ID = :PARAMETER.ORG_ID
AND oocc.organization_id = occ.ORGANIZATION_ID
AND PRINT_PHONE_2 = 'Y'
ORDER BY 2

while the 2nd record group has the below SQL

select CUSTOMER_ID party_id, CUSTOMER_NUMBER, CUSTOMER_NUMBER ACCOUNT_NUMBER, CUSTOMER_NAME, null CASH_CUSTOMER_ID
from OMS_SHIPTO_ADDRESS_V where org_id=:PARAMETER.ORG_ID ORDER BY 2

As simple as it is.

After wasting almost an hour time to figure out what went wrong, finally I decided to go through the record group columns, hoping some kind of mismatch between the columns returned by both SQL blocks! (Just hoping)

First RG

Second RG

The first SQL block was returning Customer ID values, which were numeric and the 2nd SQL block was returning NULL, mapping the datatype as Character!

and this was causing FRM-41826.

I fixed it by change the NULL to 0 with my second block.

select CUSTOMER_ID party_id, CUSTOMER_NUMBER, CUSTOMER_NUMBER ACCOUNT_NUMBER, CUSTOMER_NAME, 0 CASH_CUSTOMER_ID
from OMS_SHIPTO_ADDRESS_V where org_id=:PARAMETER.ORG_ID ORDER BY 2

If you ever get stuck with such situation, do a quick analysis on the Column Specification & insure that both record groups are returning the columns with same datatypes!

regards,

rajesh