Newsletter            Wir rufen zurück            Impressum

Wie Sie mit mehreren Sprachen in kundeneigenen Entwicklungen im Organisationsmanagement umgehen können

Für Objekte im OM (wie auch für andere PD-Module wie Veranstaltungsmanagement, Qualifikationskatalog, etc.) können auf einfache Art und Weise Texte in verschiedenen Sprachen erfasst werden.
Dies bedeutet jedoch auch Aufwand, so dass viele Organisationen eine gezielte Entscheidung darüber treffen, welche Sprachen in welchen Teilen der Organisationsstruktur verwendet werden. Zum Beispiel können Sie entscheiden, dass

  • alles in Englischer Sprache verfügbar sein muss,
  • alle Organisationseinheiten und Stellen in der Sprache des jeweiligen Firmenhauptsitzes, bspw. in Spanisch, vorhanden sein müssen,
  • und andere lokale Sprachen nur für diejenigen Objekte benutzt werden, die speziell für ein Land verwendet werden.

Wenn jeder nun diese Regeln befolgt, kann eine konsistente Pflege schon schwierig genug sein (wir möchten noch anmerken, dass wir empfehlen, diese Regeln im Rahmen Ihres globalen Templates sowohl zu definieren als auch zu kommunizieren). Dennoch kann es auch dann immer noch vorkommen, dass eine Organisationseinheit weder ins Englische noch ins Spanische übersetzt wurde, obwohl sie nicht ausschließlich lokal verwendet wird.
SAP stellt Ihnen für dieses Thema ein gutes Tool zur Verfügung:
In Tabelle T778L können Sie definieren in welcher Reihenfolge das System nach Texten schauen soll, sollten diese nicht in der Logon-Sprache zur Verfügung stehen:

Abb. 1: Tabelle T778L
Abb. 1: Tabelle T778L

In diesem Beispiel sind Sie in Japanisch angemeldet und manche Organisationseinheiten, die Sie auf dem Bildschirm sehen, haben keine japanische Beschreibung. Das System wird Ihnen dann stattdessen die Beschreibung in Englisch zeigen. Wenn diese ebenfalls nicht verfügbar ist, wird sie Ihnen in Spanisch angezeigt, usw.
Der SAP Standard geht also ganz gut mit diesem Problem um. Was aber, wenn es sich um ein kundeneigenes Programm handelt?
Die meisten Entwickler benutzen in diesem Fall die ‚Best Practice‘, nämlich sprachabhängigen Inhalt auf Basis der Logon-Sprache des Users (verfügbar in der Systemtabelle als SY-LANGU) anzuzeigen und viele denken im Zuge dessen auch, dass das reichen würde. Das tut es jedoch nicht. Wie oben gezeigt, kann es sein, dass ein User in einer Sprache eingeloggt ist für die kein Text verfügbar ist. In diesem Fall, um es dem SAP-Standard gleich zu tun, müsste man im Folgenden die Sprachenreihenfolge aus der Tabelle T778L benutzen. Ignoriert man dieses Sprachenproblem, kann das nicht nur dazu führen, dass Objekte ohne Beschreibungstext angezeigt werden, sondern auch, dass ganze Organisatonseinheiten vom Report ignoriert werden:
Benutzt man eine einfache Datenbankabfrage wie „SELECT * FROM HRP1000 WHERE … and LANGU = SY-LANGU“, erhält man all die Organisationseinheiten, die ausschließlich in anderen Sprachen erfasst sind, überhaupt nicht und ohne irgendeine Warnung kann dadurch etwas schief gehen.

Stellen Sie sich vor, Ihr CEO lässt einen Report zur Ermittlung der Anzahl der Mitarbeiter laufen und erhält dabei die Zahlen eines ganzen Landes nicht zurück, weil die Texte dessen oberster Organisationseinheit nicht in Englisch erfasst wurden! Daher, um wirklich auf Nummer sicher zu gehen, sollten Sie die Datenbankabfrage immer zuerst ohne Sprachenschlüssel machen und danach die Sprachenreihenfolge nutzen, um die richtige Beschreibung zu erhalten. Oder stellen Sie sicher, dass die Standard-Funktionsbausteine und –methoden der SAP das für Sie erledigen.
Natürlich kann es bestimmte Absprachen in Ihrer Organisation geben, die Ihnen eine einfachere Lösung ermöglichen. Beispielsweise, wenn Sie mit Sicherheit wissen, dass ihr Organisationsmanagement immer nur in Englisch gepflegt ist. In diesem Fall können Sie eine einfachere Lösung wählen. Dann ist es mit unter sogar besser, nicht SY-LANGU zu nutzen, sondern stattdessen hart kodiert die Selektion auf ‚EN‘ zu setzen, um sicher zu gehen, dass auch jeder, der sich in einer anderen Sprache anmeldet, dennoch das vollständige Ergebnis erhält.

1 Response
  1. Frank Röckener

    Die beschriebene Problematik ist bei mir heute bei einem Kunden im Zusammenhang mit dem Zeitnachweis aufgetaucht. Dort wurden die Texte nicht korrekt übergeben.
    Durch Nachlesen der Texte mit dem Funktionsbaustein RH_READ_OBJECT wurde das Problem gelöst. Dieser Funktionsbaustein nutzt die beschriebene Tabelle für die Priorisierung.

Antwort schreiben