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 / 126 / 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 / 4271 / 213 / 1140 ) »
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 / 1795 / 213 / 396 ) »
Ich wette, da fällt irgendjemandem eine geisteskranke Regex ein, die es kann. :-D

Re: Letzte 10 Zeichen lassen

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
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 / 4271 / 213 / 1140 ) »
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 / 4271 / 213 / 1140 ) »
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 / 1795 / 213 / 396 ) »
Dann wird ewx' Code bei ihm aber auch nicht gehen. Also muss er es doch klassisch mit Offset und STRLEN() machen.

Seite 1 von 1

Vergleichbare Themen

7
Antw.
17719
Views
Letzte 2 Zeichen
von Gast » 07.02.2006 11:22 • Verfasst in ABAP® Core
5
Antw.
980
Views
Letzte String Zeichen ersetzen
von ichse18577 » 13.11.2019 14:02 • Verfasst in ABAP® für Anfänger
3
Antw.
7144
Views
letzte Zeile
von SAPDIDI » 17.04.2008 10:44 • Verfasst in ABAP® Core
4
Antw.
2755
Views
Letzte Zahlung
von KaMe » 23.03.2007 16:16 • Verfasst in Financials
2
Antw.
1520
Views
Wie letzte Auftragsfertigungsnummer abfangen???
von spooky » 25.06.2008 19:35 • Verfasst in ABAP® für Anfänger

Ü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

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 72
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141