How to find the Oracle Application Server version number

I remember that I was searching a few years ago for a way to find the exact version of the Oracle Application Server, but I didn’t found it.

Today I had to search for this again and now I found a file that contains the exact version and even will be updated when the iAS is patched.

The file to look for is, in this file you have to look for the line that begins with Version, next to this you will find the correct number.

You can find this file in iAS-home\config

Oracle Mix – Suggest a Session Results Are In

On the following website it’s announced, the Oracle Mix nominated sessions are in …

And we will fill in a slot regarding Data Integration Services provided in the Oracle Stack, for more information have a look at the mix abstract:

On the following blog, you will find all the sessions that have been nominated for Oracle Open World.

Next to this Oracle Mix session we are proud to present our ‘Forms To Soa’ session which will be given on Oracle Open World as well.

In other words OOW here we come !!!



Case at Oracle SOA Partner Community Forum

On August 26th and 27th, the Oracle SOA Partner Community forum will be held in Utrecht, The Netherlands. During this event, technical sessions as well as partner success stories are presented throughout the community forum. We were invited to bring our customer case study of Forms modernization using web services and ESB.
The story: Empowering Oracle Forms within a SOA Architecture: The case of ZLM.

During this forum you can learn from success stories of partners, join different breakout sessions, gain information from other SOA partners and listen to a vibrate panel discussion.

Additionally to the SOA Partner Community Forum, you can participate in technical hands-on workshops for BPA, SOA and J2EE Infrastructure, on August 28th and 29th. The goal of these workshops is to prepare you for customer implementations.

You can find the paper, case itself on the following locations:

How Do You start Building up your DataWarehouse & Reporting Environment (Mark Rittman, New Orleans)

The final day of New Orleans 2 different in-depth sessions were organized: ‘Oracle Tools-Application Expres/ADF’ and the other one ‘Business Intelligence’.

I decided to go to Mark Rittman’s session regarding ‘Advanced Development Techniques Using Oracle BI Suite Enterprise Edition Plus’. It was the first time I had the opportunity to follow a presentation of Mark Rittman and as you could probably figure out yourself, it was very interesting.

So let’s start diging into Oracle BI Suite Enterprise Edition Plus … I will give you all the Tips & Tricks (T) and Watch-Out’s (WO) Mark has shared with us.

1. Use BI Administrator to define the logical, physical and presentation layer:

  • T1: Denormalize dimensional tables into 1 single logical table
  • T2: Data needs to be as close to a star schema as possible
  • T3: Best Approach: Define logical layer first to define labels and names correctly and then define the map for the physical layer
  • T4: Use ‘Direct Query’ in ‘Oracle Answers’ to load Discoverer Workbooks
  • T5: Define data-sources at the DWH level to tidy up stuff. You can add functionality, multiple data-sources to report on (Excel & Oracle) and afterwards level these down into your DWH to have 1 single source of thruth.
  • T6: Use lgo files on BI Server to have a look at the actual queries being fired. You can define different kinds of log levels depending on your needs at a specific point in time.
  • T7: Time-Series Calculations can be used for reporting on historical data but within OBI ther’s limited functionality. If you need this functionality it’s better to use EssBase.
  • WO: Errors and Compilation information isn’t well documented, you have a reference guide but no getting started guide. You can have a look at Mark Rittman’s blog and our iAdvise website if you need course material or information regarding walk-throughs, getting started guides.

2. Use EssBase to speed-up your OBIEE Reporting:

  • T1: Using cubes can speed up data load and querying. Use OBIEE for front end purposes
  • T2: In the next release you can load EssBase Cubes inside your model (in one of the futher releases ;o) )
  • T3: Use ‘Analysis Services’ for the same purposes as EssBase, it’s cheaper ;o)
  • T4: OBIEE uses the aliases defined in EssBase on the dimensional attributes
  • T5: Real Benefit: uses all dimensional metadata defined in EssBase, Analysis Services, … In other words you can have a hybrid OLAP solution integrated in OBIEE
  • T6: JDeveloper allows you to access EssBase and get data from different sources

3. Presentation Server:

  • T1: You can define conditional formatting on columns, e.g. use images available in ‘Oracle Answers’ (Click on the ‘image button)
  • T2: Filter on data using ‘Dashboard Prompt’ defined in the Catalog-tab in ‘Oracle Answers’
  • T3: You can define a Dashboard Prompt on Report Level or Page Level
  • T4: Use hidden dashboards for guided information using ‘Guided Navigation Link’
  • T5: Use Word Add-In to define BI Publisher Reports, best use an older version than Word 2007
  • T6: Use existing ‘Oracle Answer Reports’ or Discovere query and base the report on this data, using Word Add-In
  • T7: ‘Presentation Variable’ in Dashboards needs to match the parameter name being used in BI Publisher to parameterize and filter on report data

These are all the tips & tricks Mark has shared with use, using his experience and knowledge regarding Business Intelligence. It was a great session and hopefully you will have the ability to attend a session of Mark in the future as well.

Manually Editing Translations within Apex without Exporting and Importing XLIFF File

Everyone already knows that translating an application built with Apex involves the following steps:

  1. Map your primary language application to a translated application
  2. Seed and export the translation text of your application into an translation file (XLIFF file)
  3. Translate text identified in translation file
  4. Apply your translation file and publish

Joel Kallman referred to a less known feature in this context during his presentation last month – “Go Global with Oracle Application Express!”- at the ODTUG Conference in New Orleans. Since Apex version 2.2 it is possible to perform your translations even more rapidly, without the need to export and import the XLIFF file again.

Via Apex you can manually edit your translations within the repository. But, you still have to follow the same globalization process: mapping, seeding (without exporting the XLIFF file), translating and publishing (without applying the XLIFF file first).

So, to manually edit a translatable text, navigate to “Shared Components” > “Globalization” > “Translate Application” and follow these steps:

  1. Map your primary language application to a translated application.
    This 1st step is unchanged.
  2. Seed the translatable text (without exporting the XLIFF file).
    Click step 2. Choose your “Language Mapping” and press “Seed Translatable Text”. A message like “Translatable application 143 text seed complete for fr.” appears. Seeding is succeeded now. You may end this step because we don’t want to export an XLIFF file.
  3. Manually edit translation.
    From the “Translation Utilities” list (right on your page), choose “Manually Edit Translations”. The “Translatable Text” page appears. Within the search bar you can enter some search criteria.

    To edit translatable text, click the “Edit” icon; translate your text and press “Apply changes”.

  4. Publish the application (without applying the XLIFF file first).
    From the “Navigate” list (right on your page), choose “Publish Application”. Select the correct language mapping in “Create Application” and press “Publish Application”.


This is an alternative and quick manner to achieve translations after small application changes due to bug fixing or other small modifications.

Last remark : Suppose you do have an application to translate using the XLIFF file, then you can edit your XLIFF file either by using a simple text-editor, MS-Word or an XML Editor (XML Spy or JDeveloper)… To avoid the repetitive work with these editors you can always use our own free utility, the XLIFF Translator. Within this translator we provide a kind of a dictionary, so it will be possible to automate a part of the translation process for words/sentences that are repeatedly used. For more information read the blogs about the XLIFF Translator from January 2007 and February 2007.

Tips & Tricks in BIP

I have worked with BIP for a few months and I discover some tips & tricks around developing reports. If you develop too fast or you are unattended to some stuff, you would see some of following errors. I will give you a list where you have to be aware of.

Tips & Tricks 1:

If you create a new datasource and you type a new SQL-query, ended with a semicolon.

For example: SELECT * FROM dual ;

You will get an error message:

When you click on ‘Error Detail’, it returns: ORA-00911: invalid character.

Solution for this problem is that you remove your semicolon at the end and render your report again.

Tips & Tricks 2:

If you create a new template name without uploading a RTF-template first. This means that there is no RTF-template available under ‘layouts’. After you created a template name, you will upload your RTF-template into BIP.

In the picture below, you can see that drop-down box for ‘template’ is empty.

Overview Report:

You go back to tab ‘Layouts’ and you upload your RTF-template. Without returning to template name, you run your report and you will get following error.

Error message:

Error detail: Attribute missing in : ‘url’

Solution, you have to go back to edit your report. Go to your template name and assign your RTF-template that you have uploaded into BIP.

The reason why he gives this error is simple. You create a new template name but you didn’t assign a RTF-template to it. Because this was uploaded after you create a new template name. BIP will not automatically assign new RTF-template to your template name. That’s why you see this error. You have to do it manually.

Unless, if you first upload your RTF-template and then create a new template name. Now, he will take first RTF-template in the list and assign it to your template name. You change it if you want.

Next two tips & tricks is dependent on which version of BIP you’re working on. It seems that the problems in were solved or better, they have a workaround to avoid these problems.

Tips & Tricks 3:

This first problem I met, is that you always need to select a ‘default data source’ if you create a LOV (List Of Values). So I will explain the situation.

When you create a parameter in BIP, it is also possible to attach an LOV to this item. The LOV can be used to choose values dependent on tables in your schema. So if you create a new LOV, you have to choose explicitly a connection data source like ‘HR’ or something else you defined by JDBC Connection in the Admin tab.

You may not select ‘Default Data Source’ as connection because this will render following error:

Error detail: Parameter name: p_dual Can not establish database connection(null)

The reason why you would see this message is because the LOV will be build before there was a default data source connection. So you have to define explicitly your data source connection in

I noticed that the problem is fixed in and you don’t have to select explicitly your connection but you can select it as ‘Default Data Source’.

Tips & Tricks 4:

This topic will handle about more data sources concatenated. If you create more than one data source and you want them concatenated with unique row names.

A short explanation of what I have done. I created two data sources:

  • Name of 1ste datasource = DS_1
  • Name of 2nd datasource = DS 2

Note: In second data source is no ‘underscore’ presented but a space!

I changed the option to ‘Concatenated SQL Data Source’ as Main Data Set on the Data Model Tab. And checked ‘Make row names unique’.

When you run the report, You will get an error message like this:

Error detail: ‘=’ missing in attribute.

The problem is that it is not allowed to use a space in the data source name. So you can change this one or you can obtain to uncheck ‘Make row names unique’. I always choose for the first solution. Also to avoid problems later by the creation of my RTF-template.

Note: If you use a font that is not recognized on the server (where BIP is installed), BIP will use the default font type of Helvetica.

Cross Tab in BIP

The columns of a cross-tab report are data dependent. At design-time you do not know how many columns will be reported, or what the appropriate column headings will be. Moreover, if the columns should break onto a second page, you need to be able to define the row label columns to repeat onto subsequent pages.

You can use the built-in function of Oracle BI Word Plugin to create an Cross Tab. If you want more or less functionality, you have to edit your existing cross tab. So you have to know what every tag means or how to realize.. The following example shows how to design a simple cross-tab report.

This example uses the following XML sample:


&ltDEPARTMENT&gtHuman Resources&lt/DEPARTMENT&gt



From this XML we will generate a report that shows each department and totals the sales by year as shown in the following figure:

The template to generate this report is shown in the following figure. The form field entries are shown in the subsequent table.

The form fields in the template have the following values:

Note: only the first row uses the @column context to determine the number of columns for the table. All remaining rows need to use the @cell context to create the table cells for the column.

Additional Information:

Defining Columns to Repeat Across Pages:
If your table columns expand horizontally across more than one page, you can define how many row heading columns you want to repeat on every page. Use the following syntax to specify the number of columns to repeat:


where number is the number of columns (starting from the left) to repeat.

Note that this functionality is supported for PDF output only..

Regrouping the XML Data:
The RTF template supports the XSL 2.0 for-each-group standard that allows you to regroup XML data into hierarchies that are not present in the original data. With this feature, your template does not have to follow the hierarchy of the source XML file. You are therefore no longer limited by the structure of your data source.

Using the Context Commands:
To support this requirement, BI Publisher provides a set of context commands that allow you to define the context (or placement) of the processing instructions. For example, using context commands, you can:

  • Specify an if statement in a table to refer to a cell, a row, a column or the whole table.
  • Specify a for-each loop to repeat either the current data or the complete section (to create new headers and footers and restart the page numbering).
  • Define a variable in the current loop or at the beginning of the document.

BI Publisher supports the following context types:

Checkbox in BIP

Since BI Publisher is integrated with MS Office, you can use some features of Word to add extra functionality into your reports. This topic will handle about the usage of checkboxes in your RTF-template. An example below..

We will create an checkbox which status is dependent on a value in the xml. First, we have to create a SQL-query to get our value. Next step is to design a template to add our new functionality and as finishing touch, we upload it to BI Publisher and test it out.


SELECT 1 as checkbox_ind FROM dual


&lt?xml version="1.0" encoding="UTF-8" ?&gt

To add an form element into our template, we have to do first some steps to get our element.

Open MS Word 2007 and go to ‘Word Options’ under the Office-logo. There appears a new window where you can set the option for a developer tab.

Check box ‘Show Developer tab in the Ribbon’. Click ‘OK’ and you will see a new tab into your Word-page.

Follow next step to insert a new form element, in our case a checkbox:

The selected form element appears on your page. We are almost there, we have to add the BI Publisher functionality to get our checkbox work.

Select your checkbox and right click on the icon. You see now the properties of this element. You can set the default value of the checkbox. Choose ‘Add Help Text’ and specify your condition on this element.

Extra information about condition: &lt?CHECKBOX_IND=1?&gt
This consists of two element. First element, CHECKBOX_IND, is xml-tag in your xml-file. Second value is the comparising value that has to be met when returning true. If everything is done, click in both dialog boxes on ‘OK’.

At this moment, we have to prepare BI Publisher to understand our checkbox functionality. We have to add a new font. Log in to BI Publisher and go to ‘Admin’ tab.

Choose ‘Font Mappings’ by ‘Runtime Configuration’. Then ‘Add Font Mapping’.

Properties for this font:

Note: If ‘Arial Unicode MS’ –font is not available on the server. You have first to upload this into directory ../jdk/jre/lib/fonts. Restart your OC4J! Now you can select your font-type.

Last step before we upload our template is configure our reports to use this font. Go back to Admin tab and choose ‘Runtime Configuration’ -> Properties. Edit following setting under RTF-template.

Characters used for checkbox: Arial Unicode MS;9746;9744.

Note: Value 9746 stands for checked checkbox and value 9744 stands for unchecked checkbox.

All configuration is done, the final step is to upload our template into BI Publisher and run our report. You see that your checkbox is checked or unchecked dependent on your value of xml-tag ‘CHECKBOX_IND’.

If you use the xml-tag &lt?CHECKBOX_IND=1?&gt in your template, it would return the value true or false. This can also be used if needed.

Practical examples: