Error in TM1 Applications: "View is corrupted or user doesn't have read permissions"

User could not access view in Cognos TM1 Applications after recreating of the cube.

Case

You have some Cognos TM1 Application that works well. But for some reason you had need to recreate some cube (for example to delete or add a dimension) that has view in this Application. You did all work, republish Application with the new view (or do nothing, as Cognos by default can see it and add automatically). Later when you try to access this view in Cognos Application you see such error message:

2

Now you are confused and don't know how to fix this!

Reason

This error could have many reasons, for example:

  • Corrupted user view
  • Wrong security settings
  • Not deleted .blb files. In this post I will write about this one.

Such .blb files has following syntax and are located in root of data folder:

CubeName.ViewName_ApplicationID_\[}tp_tasks}ApplicationID].\[HierarchyLevel].CAMID(CamidOfUser).blb

Where CubeName, ViewName, ApplicationID, HierarchyLevel, CamidOfUser are variables.

Cognos creates them when user opens some application, make changes in the view and closes the window. Unlike other .blb files, these Cognos does not delete by default (this is correct for Cognos TM1 10.2 Pack 6) when you destroy cube.

So to fix the problem you need to find all wrong .blb files that are connected with certain cube, view and application and delete them.

Remove files with Powershell

I prefer to do this with Powershell:

  1. Move to data folder (change dataFilesFolder with yours):
cd datafilesFolder
  1. Allocate all .blb files that are connected with some cube and view (change CubeName and ViewName with yours) in the folder. Important: _ is needed to exclude .blb file for cubes view (they are alright).
Get-ChildItem 'CubeName.ViewName_*.blb'
  1. When you make sure, that listed files is what you was looking for, you can delete them. To do that – add code -File | Foreach-Object {Remove-Item -LiteralPath $_.FullName} to previous command and execute it.
Get-ChildItem 'CubeName.ViewName_*.blb' -File | Foreach-Object {Remove-Item -LiteralPath $_.FullName}

Thats all. This should solve the problem, and you should have access to view in Application. If not try to log off from Cognos Tm1 Applications.

If you still does not have access – chech security cubes, may be you forget to grant some access to user.

I hope this helps to solve your problem!