Page 1 of 1

ServiceStore Benutzerrolle mit allen Managern

Posted: 13. Aug 2019, 10:00
by sebastian.pilz
Hallo,

ich würde gerne eine Benutzerrolle bauen, die alle Entscheider einer Kostenstelle beinhaltet.

Ziel ist es einige Artikel im Katalog nur für unsere Abteilungsleiter Sichtbar zu machen.

Technisch ist das bei uns relativ einfach, wir haben alle Abteilungen als Org-Unit/ Kostenstelle gepflegt und das wird auch automatisch gepflegt.

Meine Idee ist eine Import-Definition zu machen, die auf der Datenbank basiert und dann aus der SPSCostCenterClassBase den Administrator ausliest und in eine Rolle hinzufügt.

Hat jemand sowas schonmal gemacht?

Grüße,
Sebastian

Re: ServiceStore Benutzerrolle mit allen Managern

Posted: 13. Aug 2019, 14:58
by FrankPree
Servus Sebastian,

ja, sowas ähnliches habe ich vor einigen Jahren mal gemacht. Jedes Land hatte dabei einen eigenen Katalog. Je nach Zugehörigkeit des Benutzers zu einem Land, wurde der entsprechende Katalog berechtigt.

Bei Deiner Anforderung ist es sogar relativ einfach. Du löscht einfach alle Zugehörigkeiten zur Rolle und füllst sie dann erneut, anhand der Kostenstellentabelle. Es ist ja auch denkbar, dass ein Kostenstellenentscheider die Rechte möglicherweise wieder entzogen bekommt.

Leg Dir eine Rolle an und nenne sie: KostenstellenEntscheiderRolle

Dann kannst Du Dir in einem GDIE folgendes SQL Script einfügen. :!: (SQL Statements wie immer ohne Gewähr).

:!: Achtung, im Script ist ein Delete Statement enthalten. Da werden Rollenzugehörigkeiten gelöscht.

Code: Select all

delete sr

from [SchemaRelation-SPSSecurityClassRole2SPSUserClassBase] sr
inner join SPSUserClassBase ucb on sr.MemberOf = ucb.id
inner join SPSSecurityClassRole sc on sr.Members = sc.id
where sc.name = 'KostenstellenEntscheiderRolle'

DECLARE @KostenstellenentscheiderRolleID as uniqueidentifier
SET @KostenstellenentscheiderRolleID = (select id from SPSSecurityClassRole sec where sec.name = 'KostenstellenEntscheiderRolle')

insert into [SchemaRelation-SPSSecurityClassRole2SPSUserClassBase] (MemberOf, Members)
select distinct
cost.Administrator,@KostenstellenentscheiderRolleID 
from SPSCostCenterClassBase cost
where cost.Administrator is not null
LG
Frank