User clicks 'Group - Reconcile' and runs an Intercompany Balance report. User receives an error message. Whilst trying to troubleshoot this, the I.T. administrator launches 'Administrative Tools' - 'Component Services' on the application server. Administrator expands 'Computers - My Computer - COM+ Applications - COGNOSCONTROLLER / IBMCOGNOSCONTROLLER - Components'. Administrator receives error message.
End user's screen:
- An unhandled exception has occurred in a component in your application. Click continue and application will ignore this error and attempt to continue.
Argument 'Number' is not a valid value.
Event Viewer (Application Log):
Intercompany Balance - client PC:
- Event Type: Warning
Event Source: Enigma
Event Category: None
Event ID: 0
Description: Error occured at 2006-05-02 15:12:13 in Cognos Controller, Error No=5, Source=Microsoft.VisualBasic:FrangoClient.clsStandardReports.CreateReports, Description=Argument 'Number' is not a valid value., HelpFile= HelpContext=0
Intercompany Balance - Controller application server:
- Event Type: Warning
Event Source: VBRuntime
Event Category: None
Event ID: 1
The VB Application identified by the event source logged this Application FrICBalanceB: Thread ID: 3260 ,
Logged: Error occured at 2006-05-02 13:53:13 in FrICBalanceB, Error No=1733,
Description=Class definition VFPCOM.COMUTIL is not found., HelpFile= HelpContext=0
Screen error message (when expanding 'COGNOSCONTROLLER' COM+ application):
- Errors Occurred
Some object properties could not be read due to the following errors:
frangovfp.cglobvar Object was not found in registry
frangovfp.main Object was not found in registry
The 2 COM+ components 'frangovfp.cglobvar' and 'frangovfp.main' are not working correctly.
There are several potential scenarios for why they are not working:
- Scenario #1 - the file MSVCR71.DLL is not inside a folder defined in the PATH variable
- Scenario #2 - the file VFPCOM.DLL has not been correctly installed/registered
- This problem/non-registration is more likely when the Controller server system is installed to a hard drive that is not the default path (C:\Program Files\...), for example when installing to a new folder on the D:\ drive
- This problem could also happen in a load balancing environment, where the dedicated 'consolidation server' runs the frangovfp.dll (cglobvar and main)
- For more information on the topic of load balancing (dedicated consolidation server), search the IBM Technotes for 'COGNOSVFP'
Resolving The Problem
Register the file 'VFPCOM.DLL' inside Windows, on the relevant application server.
TIP: If your Controller server architecture has a dedicated 'consolidation server', then perform the solution on the 'consolidation' application server (as opposed to the 'main' application server).
- Log on to the Controller application server as an administrator.
- Copy the file <install_path>\cognos\c8\server\msvcr71.dll to C:\windows\system32
- Open a command prompt, by clicking Start - Run, then type CMD <Enter>
- cd \ <Enter>
- cd windows <Enter>
- cd system32 <Enter>
- cd server <Enter>
- REGSVR32 VFPCOM.DLL <Enter>
- Exit the command prompt by typing: exit <enter>
- Click 'Start - Programs - Administrative Tools - Component Services'
- Expand 'Computers - My Computer - COM+ Applications - COGNOSCONTROLLER (or "IBMCOGNOSCONTROLLER") - Components'
- Acknowledge error message
- Locate and highlight (select) the following 2 components: 'frangovfp.cglobvar' and 'frangovfp.main'
- Right-click on these 2 components, and choose 'delete'
- Keep the window 'components' visible (do not close this window)
- Launch Windows Explorer, and open the folder <install_location>\cognos\c8\server
- Locate the file 'frangovfp.dll'
- Drag and drop the file 'frangovfp.dll' and place it inside the 'components' window (from the previous actions - for example, see step 14). This will re-register the components 'frangovfp.cglobvar' and 'frangovfp.main' again
- Highlight 'frangovfp.cglobvar' and then click 'CTRL-A' (on the keyboard) to select *all* the components
- Right-click on the highlighted (blue) components and choose 'properties'
- In the new window ('Multi Select Properties') click 'Security' tab
- Tick the box 'Enforce component level access checks'
- Tick the box next to the group 'Name' (for example 'CognosUsers' or 'ControllerUsers' or whatever it is called in your environment)
- Click OK. TIP: This process can take a minute or two to complete
15 June 2018