Über die Programmierschnittstelle (API) von Performance Dashboard können Sie bestimmte Zustände eines Dashboard abfragen und anzeigen lassen:
Die Programmierschnittstelle ist über lesende und schreibende Methoden der globalen Javascript-Objektvariable dashboard realisiert, die in der JSP-Seite start.jsp (oder Kopien hiervon) global definiert ist.
Lesende Methoden
Gibt den Basisnamen des gerade aktiven Dashboard, z. B. umg_dashboard zurück
Gibt den aktuellen Pfad des gerade aktiven Dashboard zurück, z. B. \DemoDashboard\Core\Sales
Gibt die Default-GUID der übergeordneten Prozessgruppe zurück
Ermittelt den gewählten Filterwert des angegebenen, globalen Filters und gibt ihn als Zeichenkette der Form filtername=wert zurück (s. Kapitel Übergabe von Filterwerten). filtername entspricht dem Attribut name eines XML-Elements filter der Dashboard-Konfigurationsdatei (Endung _conf.xml). Wenn Sie für filtername eine leere Zeichenkette übergeben, wird eine durch das Zeichen & getrennte Liste aller vorgewählten Filter zurückgegeben, z. B. WERKS(DESC(VAL))=Valetta (2000)&TIME=Jan 08 - Jul 08.
Schreibende Methoden
Zeigt das im Argument pcdef angegebene Dashboard an. Wenn Sie die Argumente modelpath und modelguid nicht oder mit leerer Zeichenkette angeben, wird die Root-Ebene des Dashboard angezeigt. Wenn die beiden Argumente modelpath und modelguid verschiedene Ebenen eines Dashboard referenzieren, hat der im Argumente modelpath angegebene Pfad Vorrang vor der Modell-GUID.
Zeigt im gerade aktiven Dashboard die Ebene des angegebenen Pfades an. Wenn der angegebene Pfad nicht existiert, wird die Root-Ebene des Dashboard angezeigt.
Zeigt im gerade aktiven Dashboard die Ebene (Prozessgruppe) an, die der angegebenen Modell-GUID zugeordnet ist. Wenn die angegebene Modell-GUID nicht existiert, wird die Root-Ebene des Dashboard angezeigt.
Beispiel
Wenn Sie die folgende JSP-Datei start_api.jsp in das Verzeichnis webapp Ihrer Performance Dashboard-Installation kopieren und im Internet Explorer starten, z. B. http://localhost:8080/APD_umg_de/start_api.jsp, können Sie sich nach erfolgreicher Anmeldung mit der Funktionsweise der Programmierschnittstelle des Dashboard vertraut machen.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%
response.addHeader("Pragma", "no-cache");
response.addHeader("Cache-Control", "no-cache");
response.addHeader("Cache-Control","no-store" );
response.addDateHeader("Expires", 0);
%>
<html>
<head>
<title>ARIS Performance Dashboard</title>
<style type="text/css">
body {
margin-left: 0px; margin-right: 0px;
margin-top: 0px; margin-bottom: 0px;
background-color: #6D838E;
width:100%; height:100%;
}
</style>
<script type="text/javascript">
function invokeDashboard(pcdef, language, path,
modelguid) {
var dashboardURL =
"performancedashboard/PerformanceDashboard.html" +
"?pcdef=" + pcdef +
"&language=" + language +
"&path=" + path +
"&modelguid=" + modelguid;
document.getElementById("dashboardID").src =
dashboardURL;
}
function getURLParameter(urlParam) {
var exp = "[\\?&]"+urlParam+"=([^&#]*)";
var regex = new RegExp(exp);
var myURL = window.location.href;
var values = regex.exec(myURL);
if(values == null) {
return "";
} else {
return values[1];
}
}
function getCurrentDashboard() {
dbname.value =
dashboard.dashboard.getCurrentDashboard();
}
function setCurrentDashboard() {
dashboard.dashboard.setCurrentDashboard(
document.getElementById("dbname").value,
document.getElementById("path").value,
document.getElementById("guid").value);
}
function getCurrentLevelPath() {
path.value =
dashboard.dashboard.getCurrentLevelPath();
}
function setCurrentLevelByPath() {
dashboard.dashboard.setCurrentLevelByPath(
document.getElementById("path").value);
}
function getCurrentLevelGUID() {
guid.value =
dashboard.dashboard.getCurrentLevelGUID();
}
function setCurrentLevelByGUID() {
dashboard.dashboard.setCurrentLevelByGUID(
document.getElementById("guid").value);
}
function getGlobalFilters() {
gblfilterOut.value =
dashboard.dashboard.getFilter(
document.getElementById("gblfilterName").value);
}
</script>
</head>
<body onload="invokeDashboard(getURLParameter('pcdef'),
getURLParameter('language'), getURLParameter('path'),
getURLParameter('modelguid'))">
<div style="position:absolute; top:0px; z-index:2;
width:100%;">
<table cellpadding="0" cellspacing="0" rules="none"
frame="void" border="0" bgcolor="#C8CED0"
width="100%" height="100%">
<tbody>
<tr><td width="100"> Dashboard:</td>
<td width="430">
<input type="text" size="64" id="dbname"/>
</td>
<td>
<button id="b1"
onclick="getCurrentDashboard()">Get</button>
<button id="b11"
onclick="setCurrentDashboard()">Set</button>
</td>
</tr>
<tr><td width="100"> Path:</td>
<td width="430">
<input type="text" size="64" id="path"/>
</td>
<td>
<button id="b2"
onclick="getCurrentLevelPath()">Get</button>
<button id="b21"
onclick="setCurrentLevelByPath()">Set</button>
</td>
</tr>
<tr><td width="100"> GUID:</td>
<td width="430">
<input type="text" size="64" id="guid"/>
</td>
<td>
<button id="b3"
onclick="getCurrentLevelGUID()">Get</button>
<button id="b31"
onclick="setCurrentLevelByGUID()">Set</button>
</td>
</tr>
<tr>
<td width="130">
Global Filter:
</td>
<td width="800">
Dimension
<input type="text" size="16"
id="gblfilterName"/>
<input type="text" size="85"
id="gblfilterOut"/>
</td>
<td>
<button id="b4"
onclick="getGlobalFilters()">Get</button>
</td>
</tr>
</tbody>
</table>
</div>
<div style="position:absolute; top:787px; z-index:2;
width:100%;">
<iframe
name="dashboard" id="dashboardID" src=""
scrolling="no" marginheight="0" marginwidth="0"
frameborder="0"
style="
position: absolute;
bottom: 0px;
width: 100%;
height: 690px;
background-color: #6D838E;
">
<p>Performance Dashboard</p>
</iframe>
</div>
</body>
</html>
Sie können dieses kleine Beispiel verwenden, um einfach komplette Dashboard-URLs zu erstellen.