Auf der HTML-Seite einer MV kann separat der Zeitpunkt des letzten Datenimports angezeigt werden.
Der Zeitpunkt wird per JavaScript an einer MV-Komponente mittels der Methode getLastImportDate() angefragt. Er kann sprachunabhängig im Format yyyy-MM-dd'T'HH:mm:ss oder sprachabhängig im Format der Anmeldesprache angefragt werden. Zum Anzeigen müssen Sie beim Aufruf der init-Methode eine Callback-Methode angegeben, die den Zeitpunkt als String-Parameter übergeben bekommt.
Auszug aus /webapp/assets/javascript/mvhelper.js
function MVFlexComponent() {
/**
* Get the timestamp of last data import
* @param callbackMethod the timestamp will be delivered by calling this call-back-method
* supporting one string parameter
* (in the time zone of the source system)
* @param bLocalized false -> Output format: "yyyy-MM-dd'T'HH:mm:ss"
* true -> Output format: localized for login language
*/
this.getLastImportDate = function(callbackMethod, bLocalized);
}
Der Zeitpunkt kann erst dann mittels der Methode getLastImportDate() angefordert werden, wenn die MV-Komponente mittels des Event ON_CREATION_COMPLETE gemeldet hat, dass ihre Erzeugung abschlossen ist.
Beispiel: Funktionsweise
var mv1 = new MVFlexComponent();
function initMVComponents() {
mv1.init("mvParent1", "%5CDetails%5CSales%5CCycleTime_2",
"FAVORITES_SHARED", "FLEX", "100%", "400", [], "",
{"ON_CREATION_COMPLETE":"onCreationCompleteCallback"});
}
// only for MVFlexComponent
function onCreationCompleteCallback() {
mv1.getLastImportDate("getLastImportDateCallback", true);
}
// only for MVFlexComponent
function getLastImportDateCallback(sLastImportDate) {
. . .
}
Vollständiges Anwendungsbeispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<script language="JavaScript" type="text/javascript" src="../assets/flex/AC_OETags.js"></script>
<script language="JavaScript" type="text/javascript" src="../assets/javascript/mvhelper.js"></script>
<script language="JavaScript" type="text/javascript" src="../assets/javascript/linkhelper.js"></script>
<script language="JavaScript" type="text/javascript" src="../assets/javascript/pngfix.js"></script>
<script language="JavaScript" type="text/javascript">
initializeFlex();
//
// Make the global filter of a running dashboard available for this management view
//
var dashboardGlobalFilter = new DashboardGlobalFilterConnector();
//
// MVComponents must be declared here (so that they are reachable from any point on the page)
//
var mv1 = new MVFlexComponent();
//
// MVComponents must be initialized here (after page has loaded)
//
function initMVComponents() {
mv1.init("mvParent1", "%5CDetails%5CSales%5CCycleTime_2", "FAVORITES_SHARED", "FLEX", "100%", "400", [], "", {"ON_CREATION_COMPLETE":"onCreationCompleteCallback"});
}
// only for MVFlexComponent
function onCreationCompleteCallback() {
mv1.getLastImportDate("getLastImportDateCallback", true);
}
// only for MVFlexComponent
function getLastImportDateCallback(sLastImportDate) {
document.getElementById("mvParentLastImportDate").innerHTML = "Last import: " + sLastImportDate;
}
</script>
</head>
<body onload="initMVComponents();">
<div>
<table cellpadding="0" cellspacing="0" rules="none" frame="void" border="0" bgcolor="#FFFFFF" width="100%" height="100%">
<tbody>
<tr>
<td id="mvParentLastImportDate" width="100%" align="right" style="color: black; font: 8pt Verdana,Arial; padding-right: 10pt" nowrap />
</tr>
</tbody>
</table>
</div>
<div>
<table cellpadding="0" cellspacing="0" rules="none" frame="void" border="0" bgcolor="#FFFFFF" width="100%" height="100%">
<tbody>
<tr>
<td id="mvParent1"/>
</tr>
</tbody>
</table>
</div>
</body>
</html>