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 / 1046 / 30 / 192 ) »
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 / 1046 / 30 / 192 ) »
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 / 1046 / 30 / 192 ) »
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 / 3935 / 200 / 281 ) »
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

5
Antw.
2054
Views
Zeichenfolge bis bestimmten Wert ausgeben
von nicetoknow » 10.08.2012 10:17 • Verfasst in ABAP® für Anfänger
2
Antw.
1319
Views
translate
von barbara » 11.05.2006 13:24 • Verfasst in ABAP® für Anfänger
4
Antw.
4796
Views
TRANSLATE , REPLACE Das Zeichen '#' ist nicht lesbar!?!
von Jenni » 29.03.2006 12:20 • Verfasst in ABAP® Core
4
Antw.
2450
Views
Fehleranzeige in SLIN beim Befehl TRANSLATE
von kbit100 » 20.05.2008 18:25 • Verfasst in ABAP® für Anfänger
6
Antw.
5668
Views
Unicodeproblem: Ersetzung "TRANSLATE FROM CODE PAGE&
von Hunter » 13.04.2006 10:00 • Verfasst in SAP - Allgemeines

Aktuelle Forenbeiträge

Regex in where
vor 8 Minuten von tar 8 / 171
Daten an Tabelle binden
vor 23 Stunden von Bright4.5 3 / 1487

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

Regex in where
vor 8 Minuten von tar 8 / 171
Daten an Tabelle binden
vor 23 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822