Code: Alles auswählen.
IF i_input = to_upper( i_input ).
" i_input enthält nur Upper-Case + evtl. Sonderzeichen/Ziffern etc.
ELSE.
" i_input enthält auch Lower-Case Zeichen
ENDIF.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
debianfan
Umlaute gelten als normale Buchstaben von a bis z - Danke :-)black_adept hat geschrieben: ↑18.03.2022 14:04Das Hauptproblem sind z.B. die kleinen deutschen Umlaute. Zählen die bei dir als Sonderzeichen oder als "echte" Kleinbuchstaben in a-z?
Falls diese als Kleinbuchstaben gelten: Walters Variante. Wenn diese als Sonderzeichen gelten sollen: REGEX [a-z]
Code: Alles auswählen.
if i_input co |{ sy-abcde }ÄÖÜ|.
...
endif.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
a-dead-trousers
Buchstaben und Sonderzeichen sind gleich zu behandeln - diese skandinavischen Buchstaben gibt es hier im Datenbestand nicht - das wird vorher schon bei der Eingabe der Daten entsprechend umgesetztblack_adept hat geschrieben: ↑19.03.2022 21:18@debianfan: Ist "ß" ein kleiner Buchstabe oder ein Sonderzeichen?
@a-d-t & debianfan: Was ist mit Å, Ø und Æ ( skandinavische Buchstaben ), den französischen Buchstaben mit Accents und was weiß ich, was es in den ganzen europäischen Staaten noch so für Sonderzeichen gibt ( so ab ASCII-Code 192ff - da wo sich auch ä ö und ü befinden )
ein ß gibts dort nicht - genausowenig wie das ô - daher kein Problemblack_adept hat geschrieben: ↑21.03.2022 11:22Und um nochmal auf das "ß" zurückzukommen. Die Funktion to_upper übersetzt zwar ä,ö und ü auf Ä,Ö und Ü, aber ß wird übersetzt nach ß.
D.h. die Prüfung text = to_upper( text ) ergibt wahr, auch wenn ein (kleines) "ß" im Text ist. Ist das so gewollt oder sollte da evtl. doch eher a-d-ts Lösung mit co |{ sy-abcde }ÄÖÜ| genommen werden.
Und auch wenn ihr keine skandinavischen Einflüsse bei euch habt. Im deutschen gibt es hinreichend Lehnwörter aus dem französischen, bei denen der Accent auch im deutschen auftaucht. z.B. "Entrecôte", "déjà vu" oder "Moiré"