Letzte 10 Zeichen lassen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Letzte 10 Zeichen lassen

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
Hi Experten,
ich habe ein String Feld c(20), die wird gefühlt mit unterschiedliche Anzahl von Zeichen(max. 20).
in Verschiedene Fahlen brauche ich von diesem Feld letzte 10 Zeichen oder letzte 15 Zeichen.
Beispiel:
000000123456789 - hier zum Beispiel 15 Zeichen, ich brauche letzte 10 (012345678).
Ich habe Befehl die von links schneidet, aber von recht und bestimmte Anzahl habe ich nicht gefunden.
Weißt jemanden?
Danke

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


Re: Letzte 10 Zeichen lassen

Beitrag von Icke0801 (Specialist / 129 / 97 / 7 ) »
dies kannst Du mittels offset lösen.
https://help.sap.com/saphelp_nw70ehp2/h ... cache=true

Die Länge Deines Wertes kannst Du mittels STRLEN ermitteln.
https://help.sap.com/doc/saphelp_scm41/ ... cache=true
--
Grüße aus der Endlosschleife
-= Icke =-
abapTools

Re: Letzte 10 Zeichen lassen

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
Icke0801 hat geschrieben:dies kannst Du mittels offset lösen.
https://help.sap.com/saphelp_nw70ehp2/h ... cache=true

Die Länge Deines Wertes kannst Du mittels STRLEN ermitteln.
https://help.sap.com/doc/saphelp_scm41/ ... cache=true
Danke, aber gibt es kein Befehl nur 10 Zeichen von Rechts lassen?

Re: Letzte 10 Zeichen lassen

Beitrag von a-dead-trousers (Top Expert / 4483 / 231 / 1205 ) »
autohandel7 hat geschrieben:Danke, aber gibt es kein Befehl nur 10 Zeichen von Rechts lassen?
Nein.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Letzte 10 Zeichen lassen

Beitrag von DeathAndPain (Top Expert / 2022 / 273 / 425 ) »
Ich wette, da fällt irgendjemandem eine geisteskranke Regex ein, die es kann. :-D
Wenn wir einer Partei die Regierungsbeteiligung verweigern, die von einer Mehrheit gewählt worden ist, weil wir diese Partei für schlecht halten, da wir einer anderen Partei angehören, wie ist dann unsere eigene demokratische Gesinnung zu bewerten?

Re: Letzte 10 Zeichen lassen

Beitrag von ewx (Top Expert / 4916 / 332 / 653 ) »
Ab 7.50:

Code: Alles auswählen.

data(test) = substring( val = sy-abcde off = strlen( sy-abcde ) - 10 len = 10 ).
Nicht schön und streng genommen auch nicht ein Befehl, aber immerhin.

Re: Letzte 10 Zeichen lassen

Beitrag von a-dead-trousers (Top Expert / 4483 / 231 / 1205 ) »
DeathAndPain hat geschrieben:Ich wette, da fällt irgendjemandem eine geisteskranke Regex ein, die es kann. :-D
Hold my beer.

Code: Alles auswählen.

DATA:
  ld_string TYPE string.

ld_string = sy-abcde.

NEW-LINE.
WRITE ld_string.

REPLACE REGEX '.*(.{10})$' IN ld_string WITH '$1'.

NEW-LINE.
WRITE ld_string.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
autohandel7

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Letzte 10 Zeichen lassen

Beitrag von autohandel7 (Specialist / 186 / 67 / 0 ) »
a-dead-trousers hat geschrieben:
DeathAndPain hat geschrieben:Ich wette, da fällt irgendjemandem eine geisteskranke Regex ein, die es kann. :-D
Hold my beer.

Code: Alles auswählen.

DATA:
  ld_string TYPE string.

ld_string = sy-abcde.

NEW-LINE.
WRITE ld_string.

REPLACE REGEX '.*(.{10})$' IN ld_string WITH '$1'.

NEW-LINE.
WRITE ld_string.
Danke, aber bekomme ich Fehler: Das Wort "REGEX" ist reserviert.

Re: Letzte 10 Zeichen lassen

Beitrag von a-dead-trousers (Top Expert / 4483 / 231 / 1205 ) »
autohandel7 hat geschrieben:Danke, aber bekomme ich Fehler: Das Wort "REGEX" ist reserviert.
Sorry, dann hast du leider ein Basis-Release, dass die Regex-Erweiterung nicht unterstützt.

EDIT:
Ich würde aber meinen Vorschlag mit dem Regex sowieso nicht empfehlen, weil diese Schreibweise nur verwirrt:
Man ersetzt alle Zeichen ".*" durch die erste Fundstelle "$1" von zehn Zeichen "(.{10})" am Ende der Zeile "$".
Fehlersituationen:
Der String ist kürzer als 10 Zeichen.
Der String ist "mehrzeilig".
uvm.
Zuletzt geändert von a-dead-trousers am 30.01.2019 13:11, insgesamt 2-mal geändert.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
autohandel7

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Letzte 10 Zeichen lassen

Beitrag von DeathAndPain (Top Expert / 2022 / 273 / 425 ) »
Dann wird ewx' Code bei ihm aber auch nicht gehen. Also muss er es doch klassisch mit Offset und STRLEN() machen.
Wenn wir einer Partei die Regierungsbeteiligung verweigern, die von einer Mehrheit gewählt worden ist, weil wir diese Partei für schlecht halten, da wir einer anderen Partei angehören, wie ist dann unsere eigene demokratische Gesinnung zu bewerten?

Seite 1 von 1

Vergleichbare Themen

5
Antw.
3080
Views
Letzte String Zeichen ersetzen
von ichse18577 » 13.11.2019 14:02 • Verfasst in ABAP® für Anfänger
3
Antw.
8839
Views
letzte Zeile
von SAPDIDI » 17.04.2008 10:44 • Verfasst in ABAP® Core
4
Antw.
5191
Views
Letzte Zahlung
von KaMe » 23.03.2007 16:16 • Verfasst in Financials
2
Antw.
2283
Views
Wie letzte Auftragsfertigungsnummer abfangen???
von spooky » 25.06.2008 19:35 • Verfasst in ABAP® für Anfänger
8
Antw.
4055
Views
Letzte Verwendung von Entwicklungsobjekten
von ralf.wenzel » 19.07.2023 12:42 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

BAPI zur ABSO?
vor 2 Stunden von DeathAndPain 2 / 368
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1005
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46669
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4556

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

BAPI zur ABSO?
vor 2 Stunden von DeathAndPain 2 / 368
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1005
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46669
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4556