Page 1 of 1

Leere Orgunits, Lokationen und Kostenstellen löschen -Gelöst

Posted: 30. Oct 2015, 19:12
by jmaku
Hallo zusammen,

Ich suche ein Skript, mit dem ich leere Ordner in den Organisationseinheiten, Kostenstellen und Lokationen löschen kann - also sobald keine Personen oder sonstiges mehr damit verknüpft sind (Personen und alles weitere aktualisieren wir nächtlich per Importdefinitionen). Hat sowas schon mal jemand gemacht oder eine Idee wie wir das am besten anfangen? Aufgrund unserer Konzernorganisation haben wir über 1500 OUs, da wäre manuell zu aufwändig, zumal wir die Änderungen nur über die Benutzerobjekte mitbekommen.

Für jegliche Tips bin ich dankbar, ansonsten muss ich mich mal auf die Suche machen wie ich das rausbekomme in welcher Tabelle was steht...

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Posted: 02. Nov 2015, 13:20
by Sven_Puth
Soll das denn nun nur einmalig passieren oder passiert sowas ständig?
Vom Verständnis her sollten sich Stammdaten dieser Art doch eigentlich relativ selten ändern, da es hier um organisatorische Dinge geht.

Jedenfalls...Auf Anhieb wären meinerseits 2 Ansätze denkbar:

1. Voll Automatisiert via Workflow und Job oder Aktion:
Ein Workflow der Regelmäßig oder bei Aufruf alle OUs (CCs, LOCs etc.) durchgeht und sie löscht falls keine Verknüpfungen vorhanden sind.

2. Manuelle Hilfe über die Tabellenansicht:
In der Tabelle für OUs (CCs, LOCs, etc.) wird eine Spalte mit einer SUBQUERY hinzugefügt, die die Anzahl sämtlicher Verknüpfter Objekte anzeigt. Auf die kann man dann Filtern und alle Einträge mit 0 löschen.
Ist meiner Meinung nach die Lösung mit der meisten Kontrolle, da beim Löschen ebenfalls nochmal gefragt wird, was mit verknüpften Objekten passieren soll, falls gelöscht wird.

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Posted: 02. Nov 2015, 13:33
by jmaku
Das wird ab und zu mal vorkommen, kann aber manuell erledigt werden - die zweite Lösung klingt schon mal ganz gut, die Subquery wäre wahrscheinlich schon das, was ich auch als SQL-Abfrage hätte laufen lassen.

Wo finde denn die Anzahl der verknüpften Objekte?

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Posted: 02. Nov 2015, 13:39
by Sven_Puth
Am Beispiel der Organisationseinheiten wäre folgendes die Spaltendefinition:

Code: Select all

=SUBQUERY(SPSCommonClassBase as CNT, COUNT(all,CNT.*), CNT.OU = base.ID)
Einfach entsprechend CNT.OU durch CNT.CostCenter oder CNT.Location ersetzen.

Re: Leere Orgunits, Lokationen und Kostenstellen löschen

Posted: 02. Nov 2015, 13:53
by jmaku
Hallo,

funktioniert... super, vielen Dank!