gelöst Letzte 10 Zeichen lassen


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

gelöst Letzte 10 Zeichen lassen

Beitragvon autohandel7 » 30.01.2019, 09:34

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
autohandel7
Specialist
 
Beiträge: 155
Registriert: 14.07.2014, 09:48
Wohnort: Hannover
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Letzte 10 Zeichen lassen

Beitragvon Icke0801 » 30.01.2019, 09:46

--
Grüße aus der Endlosschleife
-= Icke0801 =-
Icke0801
ForumUser
 
Beiträge: 85
Registriert: 28.12.2007, 19:08
Wohnort: Berlin
Dank erhalten: 2 mal
Ich bin: Entwickler/in

Re: Letzte 10 Zeichen lassen

Beitragvon autohandel7 » 30.01.2019, 10:01


Danke, aber gibt es kein Befehl nur 10 Zeichen von Rechts lassen?
autohandel7
Specialist
 
Beiträge: 155
Registriert: 14.07.2014, 09:48
Wohnort: Hannover
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Re: Letzte 10 Zeichen lassen

Beitragvon a-dead-trousers » 30.01.2019, 10:50

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.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3156
Registriert: 07.02.2011, 13:40
Dank erhalten: 779 mal
Ich bin: Entwickler/in

Re: Letzte 10 Zeichen lassen

Beitragvon DeathAndPain » 30.01.2019, 11:00

Ich wette, da fällt irgendjemandem eine geisteskranke Regex ein, die es kann. :-D
DeathAndPain
Expert
 
Beiträge: 934
Registriert: 05.05.2006, 10:14
Dank erhalten: 218 mal
Ich bin: Entwickler/in

Re: Letzte 10 Zeichen lassen

Beitragvon ewx » 30.01.2019, 11:03

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.
ewx
Top Expert
 
Beiträge: 3870
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 334 mal

Re: Letzte 10 Zeichen lassen

Beitragvon a-dead-trousers » 30.01.2019, 12:12

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.
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.07
Basis: 7.40

Für diese Nachricht hat a-dead-trousers einen Dank bekommen :
autohandel7
a-dead-trousers
Top Expert
 
Beiträge: 3156
Registriert: 07.02.2011, 13:40
Dank erhalten: 779 mal
Ich bin: Entwickler/in

Re: Letzte 10 Zeichen lassen

Beitragvon autohandel7 » 30.01.2019, 12:51

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.
autohandel7
Specialist
 
Beiträge: 155
Registriert: 14.07.2014, 09:48
Wohnort: Hannover
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Re: Letzte 10 Zeichen lassen

Beitragvon a-dead-trousers » 30.01.2019, 13:06

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.
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.07
Basis: 7.40

Für diese Nachricht hat a-dead-trousers einen Dank bekommen :
autohandel7
a-dead-trousers
Top Expert
 
Beiträge: 3156
Registriert: 07.02.2011, 13:40
Dank erhalten: 779 mal
Ich bin: Entwickler/in

Re: Letzte 10 Zeichen lassen

Beitragvon DeathAndPain » 30.01.2019, 13:07

Dann wird ewx' Code bei ihm aber auch nicht gehen. Also muss er es doch klassisch mit Offset und STRLEN() machen.
DeathAndPain
Expert
 
Beiträge: 934
Registriert: 05.05.2006, 10:14
Dank erhalten: 218 mal
Ich bin: Entwickler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Adobe Forms - Download - Keine Seiten
vor 11 Stunden von shimsham 2 Antw.
UTF-8 mit Funktionsbaustein
vor 13 Stunden von a-dead-trousers 4 Antw.
gelöst Fehler SAVE NOT ALLOWED bei F4IF_START_VALUE_REQUEST
vor 10 Stunden von AdrianSchm 1 Antw.
SAP Logon bei Aufruf WebGUI
Gestern von msfox 0 Antw.
Formatierung Textdatei aus Query und ABAP
vor 13 Stunden von wreichelt 5 Antw.

  Ähnliche Beiträge beta
Wie letzte Auftragsfertigungsnummer abfangen???
25.06.2008, 22:07 von spooky 2 Antw.
gelöst Letzte Retour-Lieferscheinsnummer finden
05.08.2014, 14:33 von autohandel7 0 Antw.
Letzte Zeile im SapScript Formular wird auseinadergezogen
24.09.2010, 13:14 von c oco 0 Antw.
ALV. Die letzte (rechte) Spalte ganz nach links verschieben.
11.05.2017, 06:56 von a-dead-trousers 2 Antw.
Smart Forms: Andere LETZTE SEITE in n-seitigem Formular
16.07.2018, 06:19 von Nordlicht 2 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder