Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Bursting to many UserClasses

Status
Not open for further replies.

Vivarto

Programmer
Nov 27, 2005
43
0
0
AU
Hi,

I have been given the job of creating a report that needs to be burst to some 200 UserClasses and I'd like to know if there's a simple way of populating the burst table I need to build. (There is no requirement to burst to email or an external directory)

Each UserClass is a project and there are a number of users assigned to each project, some to more than one project. I have created the project UserClasses in AccessManager (using SunOne LDAP) and populated them.

I now need to create a burst table. My understanding is that the burst table needs to have a column of project numbers and their appropriate CAMID values which can be found by looking at the UserClasses' search path in CognosConnection under tools>directory>Default>Root User Class>ProjectNNNNN where NNNNN is the project number

ProjNbr CAMID
------- ------------
12345 CAMID(“Default:r:authid=3609142184”)
12333 CAMID(“Default:r:authid=3609145673”)

In order to populate the full table I need to manually go in to each project and copy the search path and paste it into the list which is very tedious given the number of UserClasses I have.

I've gone through the Cognos KB and can't find anything about getting a list of UserClasses and CAMID values except by using the SDK which we don't have.

What I think I've determinied is that the CAMID() function will take a C8 role as an argument such as CAMID(":Everyone") but requires some cryptic number when dealing with the LDAP UserClasses as shown above.

I've also found a reference to an alternative syntax for determining the CAMID that I think works with Users but I'm not sure if it will work with UserClasses:

directory/namespace[@name="Default"]//account[@name="Administrator"]

So, does anyone know how to generate a list of AccessManager UserClasses with their search path i.e.

12333, CAMID(“Default:r:authid=3609145673”)

OR has anyone succesfully used the alternative syntax with LDAP UserClasses.

OR have I got this completely wrong and I should be taking a different approach to bursting

Thanks




 
Hi! This has worked for me.

"mart" is the Series 7 (Sun) namespace in ReportNet. Userclasses are seen as roles by the SDK.


String martRolesPath = CAMID('mart')//role";

PropEnum martProps[] = new PropEnum[]{ PropEnum.searchPath,
PropEnum.objectClass,
PropEnum.name,
PropEnum.members};
try
{
BaseClass[] martRoles = oCrn.query(martRolesPath,
martProps, new Sort[]{}, new QueryOptions());

.....

hth...jean
 
Hi Jean and thanks for the post but as I mentioned in my original post we don't have the SDK. I'm really looking for a non-SDK solution but I'm begining to think that this may not be possible. Any other thoughts?

Cheers, Tom
 
Hi! I looked at the .ldif file that gets created from db2ldif.bat to backup my Directory Server and the authid that's shown in Cognos Connection is not there. Any chance you can get your company to purchase the SDK??

jean
 
Hi Jean,

No need for the SDK, I’ve found that there is an alternative form of burst key that explicitly names the user/user class. For example if the user class in AccessManager is called ‘Project1746’ then the burst key for that user class is given by:

directory/namespace[@name=”Default”]//role[@name=”Project1746”]


Populating the burst table for all projects is now a just a case of writing a simple SQL statement, assuming the users/user classes are held in the database.

This example is for user classes, the syntax is slightly different for users:

directory/namespace[@name=”Default”]//userName[@name=”Project1746”]

Note: these strings are CASE SENSITIVE

There are a number of implications to using this approach not least of which, I think, is that a burst table is not actually required - think about it!


BTW the CAMID doeas not appear in the LDAP and so cannot appear in the LDIF. I think Cognos generates it based on the NSuniqueID that is the unique ID for each LDAP entry. This number in a SunOne LDAP is a string of four 32bit hex numbers. the unique identifier in Active Directory has a different format but I think a CAMID in Cognos connection would still appear as a ten digit number.

Tom

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top