Skip to Content
Technical Articles

Mehrsprachiges Reporting mit SAP Business Objects

Besonders in Großunternehmen besteht der Bedarf Standardberichte nicht nur abteilungsübergreifend sondern auch über Landesgrenzen hinweg zur Verfügung zu stellen. Die Mehrsprachigkeit wird in Projekten nicht selten sekundär priorisiert, sodass hier oft Workarounds zur Anwendung kommen. So wird im einfachsten Fall ein Bericht kopiert und die Kopie übersetzt. Hiermit verdoppelt sich jedoch der Wartungsaufwand. Der folgende Artikel listet Möglichkeiten auf mehrsprachige Berichte mit SAP BO Tools wie Web Intelligence und Crystal Reports zu erstellen. Es werden die Bordmittel von SAP BW und des SAP BO Translation Managers gezeigt. Zudem wird eine Lösung vorgesellt eigene sprachsensitive Labels zentral zu pflegen.

Der Schalter

Zu Beginn des Berichtsentwurfes sollte festgelegt werden, was als Schalter für den Sprachwechsel verwendet werden soll. Die einfachste Variante stellt ein Prompt dar, der ein Sprachkürzel abfragt. Dieser Parameter, kann dann im Bericht verwendet werden, um etwa die entsprechende Spaltenüberschrift auszuwählen s. Listing 1.

=If [Prompt_Sprache]="de" Then "Umsatz" Else "Revenue"

Listing 1 Sprachlabeldefinition im Bericht mit Prompt

Diese Variante eignet sich gut, falls der Benutzer die Berichtssprache oft ändern muss, z.B. um den gleichen Bericht in mehreren Sprachen auszudrucken.

Will man den Benutzer vom ständigen Ausfüllen des Prompts verschonen, kann man Umgebungsparameter nutzen. Im SAP BI Launchpad kann jeder Benutzer sein Anzeigegebietsschema auswählen. Es kann auch dynamisch das Gebietsschema des Browsers verwendet werden. Diese Einstellung kann mit dem Parameter

GetPreferredViewingLocale()

abgefragt werden. Als Rückgabewert erhält man das Sprachkürzel mit der Region z.B. „de_AT“ für Deutsch in Österreich. Die Formel für eine Spaltenüberschrift könnte dann wie in Listing 2 aussehen.

=if Left(GetPreferredViewingLocale();2)="de" then "Umsatz" else "Revenue"

Listing 2 Sprachlabeldefinition im Bericht mit Anzeigegebietsschema

Da das Wechseln des Anzeigegebietsschemas immer einen Neustart des Browsers erfordert, ist diese Variante zu empfehlen, wenn die Sprache nur selten geändert wird.

Beide Ansätze hinterlegen die sprachsensitiven Labels direkt im Bericht. Das führt dazu, dass jeder Begriff auch in jedem Bericht aufs neue in einer lokalen Variable hinterlegt werden muss. Ändert sich ein Begriff z.B. “Umsatz” zu “Umsatz jährlich”, entsteht ein großer Pflegeaufwand. Jeder Bericht muss dann einzeln aktualisiert werden. Hier sollte man prüfen ob die SAP Bordmittel helfen können.

SAP BO Translation Manager

Mit dem SAP BO Translation Manager ist es möglich Meta-Daten wie etwa Attributs-, Spalten-, Berichts- oder Reiter-Namen zu übersetzen. Abhängig vom Anzeigegebietsschema werden dem Endanwender diese Elemente in seiner Sprache angezeigt. Das Werkzeug ist leicht zu bedienen und bietet diverse Funktionen, wie z.B. den XML-Export. So kann ein externen Dolmetscher die Übersetzung im XML-Dokument durchführen ohne sich die SAP-Software installieren zu müssen. In einigen Versionen zeigte sich der SAP BO Translation Manager noch fehleranfällig, sodass bspw. nicht alle Filterprompts zur Übersetzung bereit standen. Hier ist es wichtig die entsprechenden Patches einzuspielen.

SAP BW

In SAP BW ist es möglich Attributsnamen, wie auch Attributsausprägungen mehrsprachig zu pflegen. Wird ein Bericht mit einer BW Query als Datenquelle erstellt, so wird durch das gesetzte Anzeigegebietsschema automatisch auch die Sprache des Query-Ergebnisses gesetzt. So wird z.B. nicht nur der Spaltenname „Abteilung“ zu „Department“ sondern auch die konkrete Attributsausprägung „Personalabteilung“ zu „Human Ressource“ übersetzt. Dies setzt natürlich eine kontinuierliche Pflege in SAP BW voraus.

Sprachlabels im Universum

In der Praxis ist nicht immer der Attributsname des Universums oder der BW-Query auch als Spaltenname im Bericht ausreichend. Oft sind in Berichten Synonyme oder abteilungsspezifische Abkürzungen gefordert, die dann ebenfalls übersetzt werden müssen. Hierfür können im Universum auch zentral eigene Labelattribute angelegt werden, welche dann in mehreren Berichten wiederverwendet werden können s. Listing 3. Ändert man den Wert von “Cash Markt” zu “Geldmarkt” wird diese Änderung auch in allen Berichten vollzogen.

 

Listing 3 Sprachlabeldefinition im Universum

 

Sprachlabels in der Datenbank

Nachteil der oben genannten Variante ist, dass die Sprachlabels eben nur im Universum gepflegt werden können. Wenn die Übersetzung nicht von einem SAP BO-Experten durchgeführt werden sollte, ist ein flexiblerer Ansatz gefragt. Hierbei empfiehlt es sich die Sprachlabels in einer Datenbanktabelle zu pflegen. Der Zugriff kann dann über SQL und somit auch mit der bevorzugten grafischen Benutzeroberfläche ermöglicht werden. Tabelle 1 zeigt wie so eine Datenbanktabelle aussehen kann.

id

Key

Sprache

Label

1

umsatz

de

Umsatz

2

umsatz

en

Revenue

3

kundendienst

de

Kundendienst

4

kundendienst

en

Service Center

Tabelle 1 Sprachtabelle

Um die Labels abzufragen wird eine Datenbankfunktion verwendet. Sie findet abhängig vom key und dem Sprachparameter das richtige Label s. Listing 4.

SELECT getLabel(‘en’, ‘umsatz’) Label
FROM sprachtabelle;

Label
------------
Revenue

Listing 4 Datenbankfunktion “getLabel” in SQL-Script

Die Datenbankfunktion wird dann im Universum bei der Labeldefinition verwendet. Statt dem statischen Sprachparameter “de” kann dann wiederum der oben genannte Filterprompt oder das Anzeigegebietsschema als Schalter verwendet werden. Im Bericht wird das Label wie ein gewöhnliches Attribut verwendet. Diese Lösung bietet hohe Flexibilität. Die Sprachlabels können in einer eigenen Applikation auch von Nutzern ohne SAP BO Kenntnis gepflegt werden. Anstelle der Attributsnamen können beliebig viele eigene Sprachlabels verwendet werden. Diese können dann als Spaltennamen oder Berichtstitel genutzt werden. Eine Aktualisierung in der Datenbank bewirkt die sofortige Aktualisierung in den Berichten. Auch kann die Datenbankfunktion auch in anderen Werkzeugen außerhalb der SAP BO Tools verwendet werden.

 

Be the first to leave a comment
You must be Logged on to comment or reply to a post.