ServiceStore Benutzerrolle mit allen Managern

Post Reply
sebastian.pilz
Posts: 58
Joined: 21. Nov 2017, 09:54
Location: Bottrop
Contact:

ServiceStore Benutzerrolle mit allen Managern

Post by sebastian.pilz » 13. Aug 2019, 10:00

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
Sebastian Pilz
Teamlead IT Operations at RIEDEL - www.riedel.net
Teams/Mail: sebastian.pilz@riedel.net

User avatar
FrankPree
Posts: 127
Joined: 25. Aug 2011, 08:41
Contact:

Re: ServiceStore Benutzerrolle mit allen Managern

Post by FrankPree » 13. Aug 2019, 14:58

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

Post Reply

Return to “Stammdaten”

Who is online

Users browsing this forum: No registered users and 4 guests