Solving the Oracle Reports 10g fonts problem


Posted by Hafed | Posted in Forms, oracle | Posted on 16-10-2008

Finally, we were able to solve the Arial Italic and Bold problems. Using  Metalink Note 261879.1, it was relatively straightforward to add the font.

The steps to follow are:

1) Transfer the Arial fonts (ttf version) from Windows to UNIX. Make note of this directory.

2) Use the open source program ttf2afm to generate Adobe Font Metrics (AFM) files for TrueType (TTF) fonts.

3) Modify reports_path to add the fonts directory.

4) Make sure the AFM file for the italic version does not have the (-) sign for the slant angle.

5) Update the ALI file to add the Arial font in [PDF] section. Check the version of the ALI file mentionned in the Metalink Note 261879.1

6) Restart the reports server.

These steps can be used for any font that you want to add to your reports server setup.

UNIX Fonts and Oracle Report server: a never ending nightmare


Posted by Hafed | Posted in Forms, oracle | Posted on 09-10-2008

One of the more frustating experience you can have when migrating to Oracle Forms 10g is the fonts problem.
In Oracle Forms 6i, users are generally standardized on Windows and in this way, they have access to the usual fonts such as Arial, Times Roman, Courrier and Courrier New. When printing reports, either direct or through a PDF, the same fonts are used as is and the output is a true copy of the rdf.

However, on 10g and if the server is UNIX-based, then a whole number of issues will arise. The first one is due to the fact that the usual Windows fonts are no longer available on UNIX. Second, the fonts on UNIX are quite limited and in this case  fonts  such as Arial are outputted as Helvetica (in reports server terminology, this is refered to as subsetting, embedding etc.).

Now, if you really want to have the same fonts you have in your RDF, then you need to install those fonts on UNIX.  This is where it becomes quite nightmarish. In our case, we were able to get either Arial bold or Arial Italic but not both at the same time, at least for the time being.

To solve this font problem, We are  following these Metalink notes:
NOTE:261879.1 Configuration Script to add Common Windows Fonts to Unix 9i, 10g R1 and 10g R2 Reports Server
NOTE:272063.1 Using Reports PDF Subsetting, Font Size and Styles Bold, Italic, Bold-Italic Are Ignored
NOTE:419045.1 Italics are Reversed and No Bolding of Arial Font on Sun 64-bit

Oracle Forms 10g BI Bean


Posted by Hafed | Posted in Forms, oracle | Posted on 20-09-2008

Some of our modules made use of Oracle graphics in the 6i version (C/S). We spent some time thinking about installing Graphics on 10g but eventually we opted for the BI bean instead. Why ? very simple because you can easily duplicate what you have in 6i with very nice features from the BI bean.

There might be a slight learning curve here but it really boils down to reading the instructions that come with the BI bean and some testing. That’s all.

Note: make sure you set your classpath to the folder where you have your JARs.

A migration dashboard with Forms JavaBeans


Posted by Hafed | Posted in Forms, oracle | Posted on 20-09-2008

In order to follow the migration efforts from 6i to 10g, I quickly put together a dashboard that shows the four states : migration-testing-correction-acceptance for the modules in our application.

On the left side, we can click on the buttons to show the global stats, stats per analysts, stat per application and the modules that are problematic.

Oracle forms migration dashboard

The gauge is a Javabean that I put together following an example I found on the OTN network. There are a number of properties that can be set on this javabean. I really did not spend that much time on the graphics part of the gauge but eventually I will have to do it since our application itself might include some versions of this gauge in the future.

Oracle forms PJC - gauge

There is also a timer (invisible on this canvas) that I borrowed from the Oracle foms 10g demos. The timer is set to 20 min and a custom event trigger is set to query a table that holds the module’s names and their states.

WebUtil to the rescue: how to maintain client-side functionalities.


Posted by Hafed | Posted in Forms, oracle | Posted on 23-08-2008

Now that we have crossed the midway phase in our conversion phase, we started the evaluation of all the client side functionalities we used to have in our application. Fortunately, in Forms 10g, webutil comes already pre-installed.

Read the rest of this entry »

Why you need to worry about NLS_DATE_FORMAT !


Posted by Hafed | Posted in Forms, oracle | Posted on 18-08-2008

One of those things that can irritate you for more than you can care of: the mix up in dates. That’s an old story for those dealing with the Oracle Db but in our case, that was something that bothered us for more than a week before we found out that we were missing the environment variable NLS_DATE_FORMAT in our report server setup.

Read the rest of this entry »

Why you need a bugtracking system during an oracle Forms migration.


Posted by Hafed Benteftifa | Posted in Forms, oracle | Posted on 02-08-2008

Any software under development should have at least two essential systems, namely a source control system and a bugtacking system.

When we planned our migration, we did include a source control based on subversion but a bugtracking system was really not thought of. While we planned on using MouliForms as our migration tool, we did not envision that we also needed to track bugs within MouliForms and our application as well.

Read the rest of this entry »

Week2 – Migrating a mission-critical Oracle Forms 6 application


Posted by Hafed Benteftifa | Posted in Forms, oracle | Posted on 27-07-2008

Here we are at the end of the second week in the migration of a mission-critical Oracle Forms 6 application. The main points we dealt with are:

  • AIX file transfert and compile processes
  • LOV visual appearance (differences between 6 and 10g)
  • Report rdf structure search in a batch mode from a keyword-based file

Read the rest of this entry »

Day 3 of the migration from Forms 6 to Forms 10g


Posted by Hafed Benteftifa | Posted in Forms, oracle | Posted on 17-07-2008

Now that all the developers workstations are setup, we have started putting MouliForms through its paces.
We already started seeing some unexpected results. First, some items do have their prompts in non-standard fonts such as Arial Narrow. In this case, I added some search and replace rules for font name and size. Whenever one is found matching these fonts, we do replace them with Arial. In the case of Arial Narrow size 12, the best match was chosen to be Arial 10.

Read the rest of this entry »

Migration Steps Oracle Forms 6i-10g and MouliForms


Posted by Hafed Benteftifa | Posted in Forms, oracle | Posted on 12-07-2008

Here is the MouliForms-Oracle Forms 6-10g presentation related to the steps that will be followed when doing the migration from Oracle Forms 6i to 10g.
I also included some screenshots from MouliForms. There are also three flash presentations (made with Wink) that also show the interface, conversion steps and webutil module adaptation using MouliForms. These presentations are available to those who request it.
Please bear in mind that all four are in French but I plan to translate them to English when I have some free time to spare.