SAP Design Studio: Datumsformat & Konvertierung
Dieser Beitrag zeigt Ihnen, wie Sie im SAP BO Designstudio ein Datumsformat in ein anderes Format konvertieren können (DD.MM.YYYY – YYYYMMDD – MM/DD/YY – YYYY-MM-DD).
SAP BusinessObjects Design Studio hält keine Funktionen bereit um ein Datum in verschiedene Formate zu konvertieren. Das ist jedoch – insbesondere bei länderübergreifenden Applikationen – notwendig, wenn in verschiedenen Formaten und Sprachen gewechselt werden muss. Auch gibt es keine Möglichkeit gezielt ein externes Datumsformat in ein internes Datumsformat zu überführen.
Abhängigkeiten der Sprache innerhalb eines Reports können beispielsweise durch folgende Einstellungen betroffen sein:
- Browsereinstellungen
- BI-Launchpad-Einstellungen
- Design Studio-Einstellungen
- Report-Einstellungen
- Portal-Content-Einstellungen (auch pro Page, etc.)
- Benutzereinstellungen (local)
-
Anmeldesprache SAP Logon
Eine nicht durchgängige Spracheinstellung kann dazu führen, dass ein Datum nicht korrekt konvertiert wird. Dies wird besonders kritisch, wenn es sich um einen Stichtag handelt, der als Referenz für weitere Daten dient.
Ein weiteres Problem besteht darin, dass einige Komponenten von Design Studio (z.B. das Datefield) ein internes Datumsformat erwarten und mit externen Formaten nicht über die Setter und Getter versorgt werden können.
Innovation mit System - Die SAP HR/HCM Berater
Unsere zertifizierten SAP HR Berater geben Ihnen jeden Monat eine auf Ihre Engpässe abgestimmte SAP Innovationsberatung. Nur bei ActivateHR.
Datumsformat konvertieren
Natürlich gibt es Möglichkeiten, ein Datum trotzdem zu konvertieren. Als eine erste Alternative haben Sie die Möglichkeit, verschiedene Extensions von Drittanbietern zu erwerben. Stellen Sie hierbei bitte sicher, dass die Extensions auch langfristig supportet werden.
Eine andere Alternative möchte ich Ihnen folgend darstellen:
Sie können ein Datum sehr leicht per GlobalScript (z.B. direkt im onStartup) in die verschiedenen Bestandteile aufspalten und je nach Bedarf und gewünschtem Datumsformat wieder zusammenbauen. Das geht einfach, schnell und es entstehen keine weiteren Kosten für Sie.
Als Ausgangspunkt für ein Beispiel dient ein Datum, welches in einem Textfeld TXT_DATE im Format DD.MM.YYYY hinterlegt ist.
Im ersten Schritt erstellen wir jeweils eine Variable für das Jahr, den Monat und den Tag:
Code:
var vJahr = Convert.subString(TXT_DATE.getText(), 6,10);
var vMonat = Convert.subString(TXT_DATE.getText(), 3,5);
var vTag = Convert.subString(TXT_DATE.getText(), 0,2);
Im zweiten Schritt können wir das Datum beliebig wieder zusammensetzen. Es ist nicht unbedingt notwendig hierfür eine eigene Variable zu erstellen – das Konkatenieren kann auch direkt beim Aufruf erfolgen.
Beispiel Format – YYYYMMDD:
Code:
var vDatumIntern = vJahr + vMonat + vTag;
Beispiel Format – MM/DD/YY:
Code:
var vDatumInternUSA= vMonat + "/" + vTag + "/" + vJahr;
Sie können Ihr Datum so in jedes beliebige Format übertragen. Die Herkunft des Datums (BW-Query, Textfeld, Variable, etc.) ist hierbei nicht ausschlaggebend. Wichtig ist nur, dass Sie im Vorfeld sowohl das Quell- als auch das Zielformat des Datums kennen.
Bei Fragen rund um das Thema SAP BusinessObjects stehe ich Ihnen gerne zur Verfügung. Kommen Sie einfach auf mich zu!