Hallo Forum,
nach einer temporären halbseitigen Lähmung meinerseits und einem blauen Auge des Kollegens mir gegenüber (hier fliegen schon die schnurlosen Mäuse durchs Büro) , wird es mir jetzt zu gefährlich und ich wende mich an euch.
Ich möchte im Grid einer Aufgabe im ServiceDesk den Antragssteller einer Order angezeigt bekommen.
Im Grid der Order selber habe ich es mit folgendem Statement hinbekommen: =Requestor.Lastname + ISNULL(', ' + Requestor.Firstname, '') Das Grid bezieht sich auf die SPSSelfServiceOrderItemClassBase.
Jetzt befinde ich mich aber mit meiner Aufgabe im ServiceDesk und somit in der SPSActivityClassBase.
Wie zum Teufel kann ich mir hier den Antragssteller anzeigen lassen?
Ideen wie z.B. "=T(SPSSelfServiceOrderItemClassBase).Requestor.T(SPSUserClassBase).Name" oder "=T(SPSSelfServiceOrderItemClassBase).Requestor.Lastname + ISNULL(', ' + Requestor.Firstname,' ')" scheitern und geben leere Felder aus.
Lieben Gruß und Danke im Voraus.
Antragssteller im Grid der Tasks implementieren
-
- Posts: 11
- Joined: 17. Nov 2011, 15:25
- Location: Bochum
- Contact:
Re: Antragssteller im Grid der Tasks implementieren
Servus secondedition,
Für Dein Grid-Layout, ausgehend von der Tabelle SPSActivityClassBase, könntest Du Beispielsweise folgendes ASQL Statement benutzen:
Damit erreichst Du den Requestor, also den Anforderer einer Order.
Um das ein wenig einfacher darzustellen, lassen wir die ISNULLs weg. Falls bei Euch gefüllt, kannst Du Dir einfach den DisplayName aus der SPSUserClassBase anzeigen lassen. Gleiches Statement, aber mit Anzeige des DisplayNames:
Das SQL Statement zu dieser Abfrage sähe so aus:
Daher ist ein ASQL Statement eine deutliche Vereinfachung dazu. Die Subquery baut sich quasi auf wie ein SQL Statement. Du musst aber die Joins nicht per Hand hinzubauen, sondern kannst die virtuellen Enden der Datendefinitionen benutzen.
Syntax:
SUBQUERY(FROM as ALIAS, SELECT ATTRIBUT, WHERE)
FROM as ALIAS: [SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] as c2a
SELECT ATTRIBUT: c2a.Tasks.T(SPSSelfServiceOrderItemClassBase).Requestor.DisplayName
WHERE: base.ID = c2a.ConfigurationItems --> base entspricht hier der Ausgangsdatendefinition im Grid. Hier: SPSActivityClassBase.
Ich hoffe das hilft Dir
Viele Grüße
Frank
Die Verbindung zur Order besteht über eine N:M Relation zur SPSCommonClassBase und dann zum jeweiligen CI. In den einzelnen Tasks findest Du die Verbindung zu den Related Items auch über den Navigationspunkt Themen in der Navigation.secondedition wrote: Ich möchte im Grid einer Aufgabe im ServiceDesk den Antragssteller einer Order angezeigt bekommen.
Jetzt befinde ich mich aber mit meiner Aufgabe im ServiceDesk und somit in der SPSActivityClassBase.
Wie zum Teufel kann ich mir hier den Antragssteller anzeigen lassen?
Für Dein Grid-Layout, ausgehend von der Tabelle SPSActivityClassBase, könntest Du Beispielsweise folgendes ASQL Statement benutzen:
Code: Select all
=subquery ([SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] as c2a, isnull(c2a.Tasks.T(SPSSelfServiceOrderItemClassBase).Requestor.LastName, '') + ', ' + isnull(c2a.Tasks.T(SPSSelfServiceOrderItemClassBase).Requestor.FirstName, ''), base.ID = c2a.ConfigurationItems)
Um das ein wenig einfacher darzustellen, lassen wir die ISNULLs weg. Falls bei Euch gefüllt, kannst Du Dir einfach den DisplayName aus der SPSUserClassBase anzeigen lassen. Gleiches Statement, aber mit Anzeige des DisplayNames:
Code: Select all
=subquery ([SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] as c2a, c2a.Tasks.T(SPSSelfServiceOrderItemClassBase).Requestor.DisplayName, base.ID = c2a.ConfigurationItems)
Code: Select all
select Top 1
acb.TicketNumber,
acb.Subject,
oicb.TicketNumber,
requestor.DisplayName as Requestor
FROM SPSActivityClassBase acb
INNER JOIN [SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] c2a
ON acb.ID = c2a.ConfigurationItems
INNER JOIN SPSCommonClassBase com ON c2a.Tasks = com.ID
INNER JOIN SPSSelfServiceOrderItemClassBase oicb on com.[Expression-ObjectID] = oicb.[Expression-ObjectID]
INNER JOIN SPSUserClassBase requestor on oicb.Requestor = requestor.id
where acb.TicketNumber like 'TSK05482'
Syntax:
SUBQUERY(FROM as ALIAS, SELECT ATTRIBUT, WHERE)
FROM as ALIAS: [SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] as c2a
SELECT ATTRIBUT: c2a.Tasks.T(SPSSelfServiceOrderItemClassBase).Requestor.DisplayName
WHERE: base.ID = c2a.ConfigurationItems --> base entspricht hier der Ausgangsdatendefinition im Grid. Hier: SPSActivityClassBase.
Ich hoffe das hilft Dir
Viele Grüße
Frank
Who is online
Users browsing this forum: No registered users and 8 guests