Been there, done that, know the problem. The approach we used was to write a simple dll that provided us a UFL capable of reading an INI file entry.
We used VB version 6 to build the active X object. There is a knowledge base article on the Business Objects web page (
that gives you a cook book to getting this done, (SCR_User_Defined_Functions.pdf). All you need to know is how to write to the Windows API and use the GetPriviateProfileString Win32 API function. Once you have the DLL up and running you may commit selection criteria to an INI file such as:
[PRODUCT LINES]
PLINE1=PRINTERS
PLINE2=PLOTTERS
PLINE3=DRIVES
The selection formula
Would go something like this: where the function inside the DLL is GetINI
stringVar sFilename = “c:\windows\myini.ini”:
{@ProductLine}= EvnCrwEnviornGetINI (“PRODUCT LINES”,”PLINE1”,sFilename);
Or you could loop through the [PRODUCT LINES] entry and push all three entries into an array and select using the equals criteria.
Down sides:
This only works in the Windows World. It will not work with another operating system.
If you are running reports from workstations the DLL must be at each workstation.
I cannot be implemented using .NET