Mit einem einfachen SOQL Statement lassen sich Benutzerdaten, wie zum Beispiel Vorname oder Nachname abfragen.
Wie bekomme ich aber mit demselben SOQL Query die Daten "meines" Manager oder vielleicht sogar die Daten des Managers "meines" Managers?
Der Manager eines Salesforce-Benutzers ist im User-Datensatz hinterlegt.
Im folgenden Beispiel werden bestimmte User mit den zugeordneten Managern sowie mit den Managern der Manager in einer MAP abgelegt.
Map<Id,
User>
mapUserManager = new
Map<Id, User>();
for(User
u : [Select
ID,
Manager.Id,
Manager.Email,
Manager.Manager.ID,
Manager.Manager.Email
From
User
WHERE
Id IN
: setUserownerIds]){
mapUserManager.put(u.Id,
u.Manager);
mapUserManager.put(u.Manager.Id,
u.Manager.Manager);
}
Dieses Konstrukt lässt sich erweitern. Salesforce erlaubt Abfragen bis zu 5 Hierarchiestufen nach oben.
Kommentare
Kommentar veröffentlichen