Antragssteller im Grid der Tasks implementieren

Post Reply
secondedition
Posts: 11
Joined: 17. Nov 2011, 15:25
Location: Bochum
Contact:

Antragssteller im Grid der Tasks implementieren

Post by secondedition » 15. Jun 2018, 15:41

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.

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

Re: Antragssteller im Grid der Tasks implementieren

Post by FrankPree » 05. Jul 2018, 14:07

Servus secondedition,
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?
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.

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)
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:

Code: Select all

=subquery ([SchemaRelation-SPSCommonClassBase2SPSActivityClassBase] as c2a, c2a.Tasks.T(SPSSelfServiceOrderItemClassBase).Requestor.DisplayName, base.ID = c2a.ConfigurationItems)
Das SQL Statement zu dieser Abfrage sähe so aus:

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'
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 :wink:

Viele Grüße
Frank

Post Reply

Return to “Service Desk”

Who is online

Users browsing this forum: No registered users and 8 guests