[gelöst] UUX -Aus Diagramm heraus Tickets öffnen Java Syntax

Post Reply
User avatar
llaprosper
Posts: 712
Joined: 07. May 2009, 18:27
Location: Burscheid
Contact:

[gelöst] UUX -Aus Diagramm heraus Tickets öffnen Java Syntax

Post by llaprosper » 02. Jul 2018, 15:13

Hallo Zusammen,

ich habe auf der Landing Page ein neues Diagramm erstellt (Offene Incidents nach Rollen)
Jetzt möchte ich, wie z.B. bei dem Standard Diagramm " Mitarbeiter mit den meisten offenen Störungen), direkt aus dem Diagramm in die entsprechenden Tickets gelangen.
Bei dem Standard Diagramm sieht der Java Filter (Ausdruck) dafür so aus:

Code: Select all

return selectedItem.$value ? "[Initiator] = '" + selectedItem.$value.EmployeeId + "' AND UsedInTypeSPSActivityTypeIncident is not null AND T(SPSCommonClassBase).State <> 204" : null;
Wie müsste der Code analog für mein Diagramm aussehen? Bekomme es irgendwie nicht hin.

Irgendwie so?

Code: Select all

return selectedItem.$value ? "SPSSecurityClassRole.ID = '" + selectedItem.$value.ID: null;
oder so?

Code: Select all

return selectedItem.$value ? "[RecipientRole] = '" + selectedItem.$value.Name: null;
Geht aber beides zufällig nicht :lol: Hab ja davon auch NULL Ahnung
Last edited by llaprosper on 16. Jul 2018, 10:50, edited 2 times in total.

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

Re: UUX - Aus Diagramm heraus Tickets öffnen Java Syntax

Post by FrankPree » 09. Jul 2018, 14:16

llaprosper wrote: Irgendwie so?

Code: Select all

return selectedItem.$value ? "SPSSecurityClassRole.ID = '" + selectedItem.$value.ID: null;
Geht aber beides zufällig nicht :lol: Hab ja davon auch NULL Ahnung
Servus Andreas,

ich kenne Dein Diagramm, bzw. die zugrunde liegende Datenquelle jetzt nicht. In in Deinem Statement fehlt auf jeden Fall das abschließende '";

Von der Vorgehensweise würde ich mir eine Datenquelle anlegen, die das entsprechende Abfragekonstrukt für die Rollen enthält. Die Datenquelle könnte also als Statement so aussehen:

Code: Select all

select TOP 10
scr.Name,
acb.RecipientRole,
count(acb.RecipientRole) as AnzahlIncidents

from SPSactivityClassBase acb
inner join SPSScRoleClassBase rcb on acb.RecipientRole = rcb.id
inner join SPSSecurityClassRole scr on rcb.[Expression-ObjectID] = scr.[Expression-ObjectID]
inner join SPSCommonClassBase com on acb.[Expression-ObjectID] = com.[Expression-ObjectID]
WHERE com.State != 204
AND acb.UsedInTypeSPSActivityTypeIncident is not null
group by scr.name, acb.RecipientRole
order by  AnzahlIncidents
Diese Datenquelle fügst Du dem Dialog hinzu und nutzt sie dann für Dein Diagramm, analog zu Employees With Most Open Incidents. Nicht vergessen im Datenquellenobjekt die berechneten Attribute selectedItem (Objekt) und filterExpression (String) hinzuzufügen!
Dann entsprechend die Felder befüllen (als Vorlage kann hier wunderbar "Employees With Most Open Incidents" dienen.

Und dann sollte das auch mit den Rollen klappen :-)

Viele Grüße
Frank

EDIT: acb.RecipientRole in das Statement mit eingefügt, Variablentypen für selectedItem und filterExpression angegeben.
Last edited by FrankPree on 10. Jul 2018, 09:04, edited 1 time in total.

User avatar
llaprosper
Posts: 712
Joined: 07. May 2009, 18:27
Location: Burscheid
Contact:

Re: UUX - Aus Diagramm heraus Tickets öffnen Java Syntax

Post by llaprosper » 09. Jul 2018, 14:45

Hallo Frank,

meine Datenquelle sieht so aus:

Code: Select all

SELECT COUNT (acc.ID) AS Anzahl, sec.Name
FROM SPSActivityClassBase acc
INNER JOIN SPSScRoleClassBase scr ON scr.ID = acc.RecipientRole
INNER JOIN SPSSecurityClassRole sec ON sec.[Expression-ObjectID] = scr.[Expression-ObjectID]
INNER JOIN SPSCommonClassBase ccb ON acc.[Expression-ObjectID] = ccb.[Expression-ObjectID]
WHERE ccb.State != 204 -- Closed
AND NOT (UsedInTypeSPSActivityTypeIncident IS NULL)
AND sec.Name IN (Diverse Rollen)
GROUP BY sec.Name
ORDER BY Anzahl DESC
Attribute selectedItem und filterExpression habe ich hinzugefügt.

Die Felder habe ich befüllt und er zeigt mir auch die Balken richtig an.
Das einzige, wenn ich halt auf einen Balken klicke, kommen nicht die Tickets der Rolle, sondern alle Tickets
Und das wird wohl an dem falschen Java Filterausdruck liegen

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

Re: UUX - Aus Diagramm heraus Tickets öffnen Java Syntax

Post by FrankPree » 10. Jul 2018, 08:44

Hallo Andreas,

in Deiner Datenquelle fehlt noch die ID der Rolle. Denn die filterExpression versucht ja die RecipientRole der Datenquelle mit der RecipientRole aus der SPSActivityClassBase abzugleichen.

Versuche doch mal folgendes:
Nimm in Deine Datenquelle die acc.RecipientRole mit auf und füge diese auch in die GroupBy Klausel mit ein. Also etwa so:

Code: Select all


SELECT 
COUNT (acc.ID) AS Anzahl,
acc.RecipientRole,
sec.Name
FROM SPSActivityClassBase acc
INNER JOIN SPSScRoleClassBase scr ON scr.ID = acc.RecipientRole
INNER JOIN SPSSecurityClassRole sec ON sec.[Expression-ObjectID] = scr.[Expression-ObjectID]
INNER JOIN SPSCommonClassBase ccb ON acc.[Expression-ObjectID] = ccb.[Expression-ObjectID]
WHERE ccb.State != 204 -- Closed
AND NOT (UsedInTypeSPSActivityTypeIncident IS NULL)
AND sec.Name IN ([i]Diverse Rollen[/i])
GROUP BY sec.Name, acc.RecipientRole
ORDER BY Anzahl DESC
Im JavaScript Teil der filterExpression nutzt Du dann das Konstrukt:

Code: Select all

return selectedItem.$value ? "[RecipientRole] = '" + selectedItem.$value.RecipientRole + "' AND UsedInTypeSPSActivityTypeIncident is not null AND T(SPSCommonClassBase).State <> 204" : null;
Hier müsste dann die Einschränkung auf die Incidents ebenfalls wieder rein.
Übrigens kannst Du Dir beim Testen das Ergebnis des selectedItem auch per alert ausgeben lassen. Dann wird es ein wenig logischer wie die Abfrage mit dem Ergebnis aussehen muss. Füge dazu einfach in der filterExpression das JavaScript

Code: Select all

alert (JSON.stringify(selectedItem.$value));
mit ein. Damit zeigt der Alert Dir das ausgewählte Objekt an. Beim Debuggen sehr praktisch.

Viele Grüße
Frank

User avatar
llaprosper
Posts: 712
Joined: 07. May 2009, 18:27
Location: Burscheid
Contact:

Re: UUX - Aus Diagramm heraus Tickets öffnen Java Syntax

Post by llaprosper » 10. Jul 2018, 09:08

Hallo Frank,

dass mit der ID ist mir gestern auch noch aufgefallen und habe es korrigiert. Trotzdem geht es nicht.
Ich habe jetzt einfach mal stumpf deine Daten eingegeben und es bleibt trotzdem wie es ist.
Klicke ich auf eine Rolle, werden mir trotzdem ALLE Tickets angezeigt und nicht nur die der Rolle.

Edit: Habe jetzt dein alert mal vor dem anderen Script eingefügt. Als Ausgabe bekomme ich """"
Das ist dann auch ein bisschen wenig, oder? :-)


VG
Andreas

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

Re: UUX - Aus Diagramm heraus Tickets öffnen Java Syntax

Post by FrankPree » 10. Jul 2018, 09:21

Ein leerer Alert ist beim ersten Aufruf normal. Erst wenn Du einen Wert auswählst, dann sollte der Alert aus dem Objekt die Daten liefern.

Du hast das Objekt selectedItem aber schon als Output des Kuchendiagramms hinterlegt, oder?
Last edited by FrankPree on 10. Jul 2018, 09:26, edited 1 time in total.

User avatar
llaprosper
Posts: 712
Joined: 07. May 2009, 18:27
Location: Burscheid
Contact:

Re: UUX - Aus Diagramm heraus Tickets öffnen Java Syntax

Post by llaprosper » 10. Jul 2018, 09:25

Ahhh.Mein Fehler, im Output war noch ein altes selectitem drin, welches ich mittlerweile gelöscht hatte.
Jetzt funktioniert es tatsächlich. Mega.

Kann dir gar nicht genug danken. Fällt mir echt nicht leicht mit der UUX. Und dann noch ohne Java Script Kenntnisse und nur wenig SQL...

Beste Grüße
Andreas

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

Re: UUX - Aus Diagramm heraus Tickets öffnen Java Syntax

Post by FrankPree » 10. Jul 2018, 09:27

Schön wenn's funktioniert, freut mich.

Viele Grüße
Frank

Post Reply

Return to “Customizing und Reporting”

Who is online

Users browsing this forum: No registered users and 6 guests