cancel
Showing results for 
Search instead for 
Did you mean: 

.NET SDK with BI4.1 : Applying an overload to a user or group ?

denis_brunel
Explorer
0 Kudos

Hi everyone,

We're trying to manage overloads through a .NET application with SAP BI4.1 SP4.

We've managed to create the overload in a universe but we're lost in how to assign an overload to a certain user or a group. I've checked the SDK documentation, in the overload class, but can't see any method as to assign an overlaod to a user.

Has anyone been faced with such a need ? Or has anyone have some tips on how to do that ?

Thanks !

Mikaël.

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

What kind of overload are you trying to apply?

Basically if you can do it in CR Designer then you can do it in .NET SDK.

What ever steps you use to change the report in CRD you would do in the SDK the same way.

Need more details.

Don

DellSC
Active Contributor
0 Kudos

Don, I think he's talking about Universe Overloads - nothing to do with CR.

Here's some code that I wrote several years ago that I think assigns a group to an overload after creating the overload:

PluginManager pm = _common.BOInfoStore.PluginManager;

PluginInfo pi = pm.GetPluginInfo("Overload");

InfoObjects objs = _common.BOInfoStore.NewInfoObjectCollection();

Overload overload = (BusinessObjects.Enterprise.Desktop.Overload) objs.Add(pi).PluginInterface;

overload.Title = userGroup.Name;

overload.Universe = universe.ID;

BOObjectInfo conn = GetConnectionInfo(connName);

if (conn == null)

{

    throw new Exception(string.Format("Connection {0} does not exist.", connName));

}

log.DebugFormat("Adding universe overload: universe={0}, connection={1}, usergroup={2}.",

    universe.Name, conn.Name, userGroup.Name);

overload.Connection = conn.ID;

overload.RestrictedRows.Clear();

overload.RestrictedObjects.Clear();

overload.TableMappings.Clear();

ObjectPrincipal princ = overload.SecurityInfo.ObjectPrincipals.Add(userGroup.ID);

princ.Rights.AddCustomRight((int) CeOverloadRights.ceOverloadRightApplyOverloadToUser,

      "Overload");

overload.Save();

It's been a long time since I've worked in this, though, so I'm not absolutely sure that's what it's doing....

-Dell

denis_brunel
Explorer
0 Kudos

Thanks Dell, we'll look into that. In the mean time we've found a code that does that in XIR3, we should be able to reuse something.

Regards,

Mikaël