Translate Zeichenfolge

Getting started ... Alles für einen gelungenen Start.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Translate Zeichenfolge

Beitrag von sgevolker (ForumUser / 56 / 4 / 0 ) »
Hallo,

ich kenne den Befehl translate to upper case oder lower case. Ich möchte aber gerne einen Namen (Beispiel: THOMAS MUELLER) so konvertieren, dass jeweils der erste Buchstabe eines jeden Worts groß geschrieben wird und der Rest klein. Wie bekomme ich das hin? Mit Pattern kann ich ja Zeichenfolgen ändern, aber wie kann ich die Zeichenfolge nur am Wortanfang ändern?

VG
Volker

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


Re: Translate Zeichenfolge

Beitrag von SAP_ENTWICKLER (Specialist / 445 / 219 / 6 ) »
Hallo,

eine vielleicht umständliche Möglicheit wäre es sich die einzelnen Teilstrings (Vorname, Nachmame ) zu ziehen. Das erste Zeichen in UPPER CASE bringen und ersetzen und den Rest in LOWER CASE. Man sollte aber berücksichtigen, dass es sowohl für die Vornamen wie auch für die Nachnamen jeweils Doppelnamen geben könnte, die durch - getrennt sind, z.B. Hans-Maria Müller-Ludenscheid.

Dann wird diese Variante etwas fummelig, weil man auch immer darauf hoffen muss, dass es nur BLANK und - als Trennzeichen gibt, oder man muss weitere mögliche Trennzeichen vorsehen. Wie sich UPPER CASE z.B. auf è auswirkt weiß ich nicht.


Anweisung:

substring_to



Viele Grüße

Norbert

Re: Translate Zeichenfolge

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo,

DATA: lv_offset type i, lv_name(30).
lv_name = 'MARTIN MUELLER'.
WRITE: / lv_name.
TRANSLATE lv_name TO LOWER CASE.
WHILE sy-subrc = 0. TRANSLATE lv_name +lv_offset(1) TO UPPER CASE.
FIND REGEX '(<[a-z])' IN lv_name MATCH OFFSET lv_offset.
ENDWHILE.
WRITE: /1 'Formatted Name:',20 lv_name.

Ein Beispiel
Gruß
Wolfgang

Re: Translate Zeichenfolge

Beitrag von sgevolker (ForumUser / 56 / 4 / 0 ) »
Hallo Wolfgang,

da bekomme ich einen Fehler?

Bild

Bild

VG aus Hessen
Volker

Re: Translate Zeichenfolge

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo Volker,

lv_name+lv_offset(1)). Es sollte kein Leerzeichen vor dem + sein.

Grüße aus Hessen
Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
sgevolker


Re: Translate Zeichenfolge

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Hier mein Vorschlag:

Code: Alles auswählen.

 DATA: lt_itab TYPE STANDARD TABLE OF char50.
  FIELD-SYMBOLS: <itab> TYPE char50.
  TRANSLATE lv_name TO LOWER CASE.
  SPLIT lv_name AT space INTO TABLE lt_itab.
  CLEAR lv_name.
  LOOP AT lt_itab ASSIGNING <itab>.
    TRANSLATE <itab>(1) TO UPPER CASE.
    IF sy-tabix EQ 1.
      lv_name = <itab>.
    ELSE.
      CONCATENATE lv_name <itab> INTO lv_name SEPARATED BY space .
    ENDIF.
  ENDLOOP.

  WRITE: /1 'Formatted Name:',20 lv_name.

Folgende Benutzer bedankten sich beim Autor Unit605 für den Beitrag:
sgevolker


Re: Translate Zeichenfolge

Beitrag von sgevolker (ForumUser / 56 / 4 / 0 ) »
Hallo Unit605,

funktioniert einwandfrei. Vielen Dank.

Volker

Re: Translate Zeichenfolge

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Hier die Kurzform in der neuen ABAP-Syntax:

Code: Alles auswählen.

l_result = to_mixed( val = |{ replace( val = l_source sub = ` ` with = ` _` occ = 0 ) }|  case = 'A').
Wobei L_SOURCE den unformatierten Text enthält und das Ergenis in L_RESULT landet.

Re: Translate Zeichenfolge

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hallo Dele,

woher bekommt man denn die Informationen über die neuen ABAP Befehle.
Bin eher Old ABAP und staune was da plötzlich alles geht.
Gibts dazu Links?

Danke
Wolfgang

Re: Translate Zeichenfolge

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Hallo Wolfgang,

fang einfach hier an und fräse dich durch die Postings von Horst Keller.


Gruß

Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
wreichelt

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

6
Antw.
2134
Views
Zuschneiden einer Zeichenfolge
von botenstoff » 29.06.2004 20:19 • Verfasst in ABAP® Core
5
Antw.
1948
Views
Zeichenfolge bis bestimmten Wert ausgeben
von nicetoknow » 10.08.2012 10:17 • Verfasst in ABAP® für Anfänger
2
Antw.
1230
Views
translate
von barbara » 11.05.2006 13:24 • Verfasst in ABAP® für Anfänger
4
Antw.
2629
Views
Status-Toggle mit Translate
von Gast » 14.09.2004 12:50 • Verfasst in Tips + Tricks & FAQs
4
Antw.
4690
Views
TRANSLATE , REPLACE Das Zeichen '#' ist nicht lesbar!?!
von Jenni » 29.03.2006 12:20 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140