Übersetzung von Selektionstexten

Benutzeroberflächen in SAP®-Systemen.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Übersetzung von Selektionstexten

Beitrag von cmakowski (ForumUser / 2 / 0 / 0 ) »
Hallo Leute, ich hätt' da gern mal ein Problem.
Ich habe einen Selektionsbildschirm mittels Parameters und Select-Options erstellt und mich dabei immer auf Standard-DDIC-Objekte bezogen. Die Selektionstexte wurden auch aus dem DDIC geholt. Mein Problem ist, das der Report jetzt von englischen Anwendern genutzt werden soll und das genau diese Selektionstexte nicht vom System übersetzt dargestellt werden. Das komische ist aber, meldet man sich mit der Sprache Englisch an und geht in die Bearbeitung der Selektionstexte, dann zeigt er die Übersetzung an. Eine nachträgliche aktivierung oder sichern und aktivieren hatte nichts gebracht. Innerhalb eines Table Controls tritt dieses Problem, z.B. bei den Spaltenüberschriften, nicht auf. Kann mir einer sagen was hier das Problem ist?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Hallo,

dieselbe Situation nervt mich auch schon länger.

Die inzwischen von mir favorisierte Lösung ist folgender Include, den ich in von mir geschriebene Programme zum Zeitpunkt INITIALIZATION inkludiere.


Vielleicht kannst du das ja gebrauchen.

Code: Alles auswählen.

*----------------------------------------------------------------------*
*   INCLUDE ZSS_STANDARD_SELTEXT_CREATE                                *
*----------------------------------------------------------------------*
  FIELD-SYMBOLS: <Z__SELTEXT_ON_REPORT>,
                 <Z__VARNAME_IN_REPORT>.
  DATA: Z__SELTEXT_VARNAME(30),
        Z__SELTEXT_VARNAME2(30),
        Z__SELTEXT_TABNAME   LIKE DD03L-TABNAME,
        Z__SELTEXT_FIELDNAME LIKE DD03L-FIELDNAME,
        Z__SELTEXT_ROLLNAME  LIKE DD03L-ROLLNAME,
        Z__SELTEXT_LAENGE TYPE I,
        Z__SELTEXT_HELPID(30).

  LOOP AT SCREEN.
    CHECK SCREEN-GROUP3 = 'LOW' OR
          SCREEN-GROUP3 = 'PAR'.
    ASSIGN (SCREEN-NAME) TO <Z__VARNAME_IN_REPORT>.
    IF SCREEN-GROUP3 = 'PAR'.
      Z__SELTEXT_VARNAME = SCREEN-NAME.
      CONCATENATE '%_' SCREEN-NAME '_%_App_%-TEXT'
                  INTO Z__SELTEXT_VARNAME2.
      ASSIGN (Z__SELTEXT_VARNAME2) TO <Z__SELTEXT_ON_REPORT>.
    ELSE.
      Z__SELTEXT_LAENGE = STRLEN( SCREEN-NAME ) - 4.
      Z__SELTEXT_VARNAME = SCREEN-NAME(Z__SELTEXT_LAENGE).
      CONCATENATE '%_' Z__SELTEXT_VARNAME '_%_App_%-TEXT'
                  INTO Z__SELTEXT_VARNAME2.
      ASSIGN (Z__SELTEXT_VARNAME2) TO <Z__SELTEXT_ON_REPORT>.

    ENDIF.
* Falls was anderes drin steht hat sich wohl jemand was bei gedacht
   IF <Z__SELTEXT_ON_REPORT> = SPACE.
     <Z__SELTEXT_ON_REPORT> = Z__SELTEXT_VARNAME.
   ELSE.
    CHECK Z__SELTEXT_VARNAME = <Z__SELTEXT_ON_REPORT>.
   ENDIF.
* Variablentext = Variablenname - mal sehen was man so finden kann
    ASSIGN (SCREEN-NAME) TO <Z__VARNAME_IN_REPORT>.
    CHECK SY-SUBRC = 0.
    CLEAR Z__SELTEXT_HELPID.
    DESCRIBE FIELD <Z__VARNAME_IN_REPORT> HELP-ID Z__SELTEXT_HELPID.
    CHECK NOT Z__SELTEXT_HELPID IS INITIAL.
    SPLIT Z__SELTEXT_HELPID AT '-' INTO Z__SELTEXT_TABNAME
                                       Z__SELTEXT_FIELDNAME.
* Datenelement zu dem Feld holen
    SELECT SINGLE ROLLNAME
        INTO Z__SELTEXT_ROLLNAME
        FROM DD03L
        WHERE TABNAME   = Z__SELTEXT_TABNAME
          AND FIELDNAME = Z__SELTEXT_FIELDNAME.
* Und den zugehörigen Text (wenn möglich in Anmeldesprache) besorgen
    SELECT SINGLE SCRTEXT_M
        INTO <Z__SELTEXT_ON_REPORT>
        FROM DD04T
        WHERE ROLLNAME = Z__SELTEXT_ROLLNAME
          AND DDLANGUAGE = SY-LANGU.
    IF SY-SUBRC <> 0.
      SELECT SINGLE SCRTEXT_M
          INTO <Z__SELTEXT_ON_REPORT>
          FROM DD04T
          WHERE ROLLNAME = Z__SELTEXT_ROLLNAME.
    ENDIF.
  ENDLOOP.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Übersetzung von Selektionstexten

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
cmakowski hat geschrieben:Hallo Leute, ich hätt' da gern mal ein Problem.
Komisch, die meisten hätten gern ein Problem weniger :)
Ich habe einen Selektionsbildschirm mittels Parameters und Select-Options erstellt und mich dabei immer auf Standard-DDIC-Objekte bezogen. Die Selektionstexte wurden auch aus dem DDIC geholt. Mein Problem ist, das der Report jetzt von englischen Anwendern genutzt werden soll und das genau diese Selektionstexte nicht vom System übersetzt dargestellt werden. Das komische ist aber, meldet man sich mit der Sprache Englisch an und geht in die Bearbeitung der Selektionstexte, dann zeigt er die Übersetzung an. Eine nachträgliche aktivierung oder sichern und aktivieren hatte nichts gebracht.
D.h., die Checkbox "DDIC-Bezug" ist markiert?
Und hast Du nur noch mal die Texte mit Anmeldesprache 'E' aktiviert, oder das Programm neu generiert?
Hilft es, den Report mit Anmeldesprache 'E' noch mal zu generieren? (Obwohl das natürlich nur ein Workaround sein kann, der evtl. auch hilft, die mögliche Ursache wetier einzugrenzen.)

Dann gab es da auch noch diverse Probleme mit älteren SAP-Kerneln.
Um welches SAP-Release geht es denn?
Welches Kernel-Release und Kernel-Patchlevel? (SM51, Button "Release-Info)?

Tritt das Problem in anderen Systemen (mit evtl. anderem Kernel-Patchlevel) auch auf?

Frank

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
black_adept hat geschrieben:Hallo,

dieselbe Situation nervt mich auch schon länger.

Die inzwischen von mir favorisierte Lösung ist folgender Include, den ich in von mir geschriebene Programme zum Zeitpunkt INITIALIZATION inkludiere.

Code: Alles auswählen.

*----------------------------------------------------------------------*
*   INCLUDE ZSS_STANDARD_SELTEXT_CREATE                                *
*----------------------------------------------------------------------*
...

Das kann es doch nicht wirklich sein, oder?

Hast Du mal im OSS gesucht und/oder eine Fehlermeldung erfaßt?
(Obwohl es mich auch nicht sehr überraschen würde, wenn die inzwischen von Dir favorisierte Lösung Folge der (ausgebliebenen) SAP-Reaktion auf die Fehlermeldung wäre.)

Frank

Beitrag von cmakowski (ForumUser / 2 / 0 / 0 ) »
Hallo Frank, zu der Sache mit dem Problem... wer in Abap programmiert fragt automatisch nach mehr *g*. Nevermind.
Die Checkbox DDIC-Bezug ist aktiviert.
Die Texte und den Report habe ich nur zur Kontrolle mal in der Anmeldesprache EN neu generiert. (Habe mal gelesen, daß diese Texte in einen sogenannten Textpool geschrieben werden). Gebracht hat es eine Runde gar nichts.
Es geht hier um SAP Release 46c und Kernel Release 46d.
Die normalen Übersetzungstools einzusetzen wäre für mich die letzte aller Möglichkeiten. By the way, kennt jemand zu diesen Tools eine vernünftige Doku? Die Online Hilfe ist an dieser Stelle wahrlich nicht das gelbe vom Ei.

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Hi Frank,

Das kann es doch nicht wirklich sein, oder?

Hast Du mal im OSS gesucht und/oder eine Fehlermeldung erfaßt?
(Obwohl es mich auch nicht sehr überraschen würde, wenn die inzwischen von Dir favorisierte Lösung Folge der (ausgebliebenen) SAP-Reaktion auf die Fehlermeldung wäre.)
das OSS habe ich nicht belästigt mit so einer Anfrage - aber auch nur aus folgender Überlegung.

Wenn ich in der Originalsprache das Häkchen setze wird letztlich nur zur Laufzeit der aktuelle Text aus dem DDIC eingesetzt. Nun habe ich natürlich schon beim Setzen gesehen, dass der Text passt aber ich weiß eben nicht mit 100%iger Gewissheit, dass dies auch wirklich für alle anderen Sprachen gilt. ( Das mir diese 100%ige Gewissheit ziemlich egal ist sieht man ja an dem Codeposting was ich weiter oben gemacht habe - aber es geht hier ja um die Theorie :wink: )
Und weil eben auch SAP selber diese Gewissheit nicht für alle Möglichkeiten garantieren kann (denke ich mal) haben sie mit Absicht die automatische Dictionarybezugsübersetzung nicht zugelassen.

Ich hab mal ein wenig im Textpool gespäht für das eine oder andere von mir geschriebene Programm.
Wenn man einen Selektionstext übersetzt wird genau der übersetzte Text in den Textpool geschrieben - aber leider nicht die Texte die Bezug aufs Dictionary nehmen.
Ich hatte früher mal ein Programm, dass man über einen Report laufen lassen konnte und das die fehlenden Textpooleinträge einfach direkt zurückgeschrieben hat in den Report. Das sieht intern zwar ein wenig seltsam aus, weil für z.B. einen englischen Textpool dann ein Eintrag drin ist mit dem deutschen Text aber eben auch dem Häkchen für den DDIC-Bezug, aber das wirkt trotzdem und der englische Text wird dann angezeigt.
Das Problem dabei ist leider, dass man damit zwar genau das hinbekommt was man haben möchte, aber die Texte eben nicht durch irgendwelche Transporte gedeckt sind (weil evtl. direkt auf dem Prodsystem via insert textpool mehrsprachig gemacht) so dass ich mich letztlich für den Include entschieden habe.
Hier kann man wenigstens sehen was passiert und wenn man das Ganze nicht möchte läßt man den Include halt raus.

Naja - und eine gewisse angeborene Faulheit hat einen für mich weiteren Vorteil erspäht. Wenn ich noch in der Designphase eines Programms bin und die Selektionskriterien auf dem Selektionsbild noch häufiger geändert werden brauche ich kaum noch in die Selektionstexte springen und das Häkchen setzen - die korrekten Texte stehen mir ab nun halt immer sofort zur Verfügung :)
Und für die paar Spezialfälle wo das mal nicht gewünscht ist inkludiere ich das Teil halt nicht - aber das trifft kaum jemals zu.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Jetzt, nachdem ich (unter 6.10 auf meinem WAS TestDrive for Linux / SAP DB) versucht habe Dein Vorgehen zu reproduzieren, habe ich erst verstanden, was Du meinst.

Die Texte der Parameter / Select-Options, die in der Originalsprache (TRDIR-RLOAD) aus dem Dictionary gezogen werden, werden in der Alternativsprache nicht auch automatisch aus dem DDIC (Datenelement) vorbelegt.

Wäre eigentlich trivial zu lösen (für mich ca. 2 - 6 Stunden Programmier-Aufwand, je nach gewünschtem Komfort).

Report-Name, Quellsprache, Zielsprache als Parameter oder Select-Option.

Selektieren Report(s) aus TRDIR- Prüfen ob Originalsprache (TRDIR-RLOAD) mit angegebener Quellsprache übereinstimmt, prüfen, ob LIMU REPT (bzw. übergeordnetes TADIR-Objekt) schon in einer offenen Korrektur des Users steckt, sonst nach Korrektur fragen (da gibt es auch SAP-Standard-FBs für), Textpool sperren, READ TEXTPOOL mit Quellsprache und für jede der Zielsprachen,
(je nach Sicherheitsbedürfnis und Release auch noch prüfen, ob es eine inaktive Version gibt.)
In der Quellsprache die Texte für Parameter und Select-Options (ID = 'S') mit Texten aus dem DDIC (die mit ENTRY(8) NE space) daraufhin prüfen, ob es im Textpool der Zeilsprache einen Eintrag gibt, wenn ja, prüfen, ob der aus dem DDIC kommt. ..., wenn nein, DTEL-Kurztext der Zielsprache lesen, wenn gefunden, ENTRY(1) und ENTRY+8(*) füllen, ...
am Ende mit INSERT TEXTPOOL ... LANGUAGE und DB-Commit wegschreiben und vielleicht noch ein nettes Protokoll erzeugen.

Noch einfacher wäre es vermutlich, die SE63 so zu erweitern, daß man einen Button [DDIC-Selektionstexte] einfügt, der die Texte entsprechend füllt.
Berechtigungsprüfung, Sperre, Anbindung an das Transportwesen, ... kann man dann dem Standard überlassen.

Frank

vielleicht mit hilfe von SE63

Beitrag von alfred ( / / 0 / 3 ) »
mit SE63 lassen sich eigentlich alle texte übersetzten, soweit die codepage vorhanden ist.

gruss,
alfred

Re: vielleicht mit hilfe von SE63

Beitrag von Gast ( / / 0 / 3 ) »
alfred hat geschrieben:mit SE63 lassen sich eigentlich alle texte übersetzten, soweit die codepage vorhanden ist.

gruss,
alfred
...und genau das ist auch schon des Rätsels Lösung. Die Übersetzungen stehen hier zwar schon drin (deshalb werden Sie auch angezeigt aber rot), sie müssen aber nochmal durch sichern bestätigt und damit aktiviert werden. Warum das so ist, weiss wohl wiedermal nur SAP.

Gruss,

Dietmar.

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

ich habe auch schon einige internationale Reports geschrieben und hatte dieses Problem bei der Übersetzung nicht.

Das Übersetzungstool selbst hat so seine Tücken, aber wenn man mal da durch ist, sind die Texte Englisch, Französisch oder Holländisch.

Man muß zuerst alle DDIC-Objekte übersetzen und dann den Report, dann klappts.

Sollte es nicht klappen, ist das keine Lapalie, sondern ein Fall fürs OSS. Es gibt keine Situation, die zu klein oder zu schade fürs OSS ist. Die Leute bei SAP sollen doch wissen, was sie alles verzapft haben, oder ???

mfg.
babap

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1751
Views
ALV Übersetzung
von KW » 03.04.2006 16:04 • Verfasst in ABAP® Core
15
Antw.
3209
Views
smartforms übersetzung
von L0w-RiDer » 09.03.2022 16:11 • Verfasst in ABAP® für Anfänger
2
Antw.
2701
Views
Übersetzung und Transportauftrag
von ewx » 07.12.2006 16:30 • Verfasst in Basis
2
Antw.
2747
Views
Übersetzung von Dynprotexten
von winter06 » 27.12.2006 15:10 • Verfasst in Dialogprogrammierung
2
Antw.
2236
Views
SAP Berichte - Übersetzung
von BlueMC » 22.03.2007 09:13 • Verfasst in SAP - Allgemeines

Aktuelle Forenbeiträge

SAP GUI Installation Probleme
Gestern von Romaniac gelöst 2 / 153
Erweiterung in ME51N/ME52N:
vor 4 Tagen von ABAPlerv 1 / 362
Erweiterung in ME51N/ME52N:
vor 4 Tagen von ABAPlerv 1 / 314
DIN Norm Klassifizierung
vor 5 Tagen von Radinator 2 / 3258

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

SAP GUI Installation Probleme
Gestern von Romaniac gelöst 2 / 153
Erweiterung in ME51N/ME52N:
vor 4 Tagen von ABAPlerv 1 / 362
Erweiterung in ME51N/ME52N:
vor 4 Tagen von ABAPlerv 1 / 314
DIN Norm Klassifizierung
vor 5 Tagen von Radinator 2 / 3258

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor 4 Tagen von ABAPlerv 1 / 362
Erweiterung in ME51N/ME52N:
vor 4 Tagen von ABAPlerv 1 / 314