letztes Zeichen lesen bei einer internen Tabelle

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

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

letztes Zeichen lesen bei einer internen Tabelle

Beitrag von Bright4.5 (Specialist / 267 / 21 / 1 ) »
Hallo !

Ich habe eine interne Tabelle und habe in einer Spalte einen Betrag mit einer gewissen Zahl stehen. Teilweise in der Form : 34.560-.
Ich möchte nun die Werte prüfen, bei denen das - Zeichen vorkommt. Also das letzte Zeichen des Wertes.

Weiß jemand wie das funktioniert?


vielen Dank im Voraus.

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


Re: letztes Zeichen lesen bei einer internen Tabelle

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »

Code: Alles auswählen.

IF wert CA '-'. "Contains Any
oder

Code: Alles auswählen.

IF wert CP '*-'. "Contains Pattern
wenn es wirklich das "letzte" Zeichen sein muss.
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: letztes Zeichen lesen bei einer internen Tabelle

Beitrag von Bright4.5 (Specialist / 267 / 21 / 1 ) »
Dieses CA durchsucht den ganzen Betrag (oder einen String) nach diesem Zeichen?

Re: letztes Zeichen lesen bei einer internen Tabelle

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »
Ja. Du kannst auch mehrere Zeichen gleichzeitig damit suchen.
Wenn du nach einem "Zeichen" suchst, gehe ich mal davon aus, dass du keine "Zahl" hast.
Wenn du eine "Zahl" hast und wissen möchtest ob sie "negativ" ist, reicht der Vergleich mit "kleiner 0".
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: letztes Zeichen lesen bei einer internen Tabelle

Beitrag von DeathAndPain (Top Expert / 1806 / 214 / 396 ) »
Ich würde vorschlagen, dass Du (Bright4.5) einfach mal adt's Programmzeile in den Editor eingibst, den Cursor auf das CA stellst und F1 drückst. Dann siehst Du die ganze Familie, zu der die Vergleichsoperatoren CA und CP gehören. Da sind viele nützliche Sachen dabei. Im negativen Fall brauchst Du z.B. kein NOT davor zu stellen, sondern verwendest stattdessen die Operatoren NA oder NP.

Sehr cool ist auch der Operator CS. Damit kann man nämlich umständliche IF-Konstrukte deutlich verschlanken:

Aus:

Code: Alles auswählen.

IF a = 'x'
OR a = 'ghj'
OR a = 'abc'
OR b > 1.
wird einfach:

Code: Alles auswählen.

IF 'x;ghj;abc' CS a
OR b > 1.
8)
Dabei muss man nur sicherstellen können, dass das gewählte Trennzeichen (hier Semikolon) nicht in a auftreten kann. Meistens kann man das nach meiner Erfahrung.

Das mit dem b > 1 habe ich absichtlich dazu geschrieben, da sonst auch

Code: Alles auswählen.

CASE a WHEN  'x' OR 'ghj' OR 'abc'
gegangen wäre, was nur geringfügig schlechter (aber IMHO immer noch schlechter) als der CS wäre.

Ein netter Kunstgriff, den ich mal von einem anderen ABAP-Programmierer gelernt habe.

Re: letztes Zeichen lesen bei einer internen Tabelle

Beitrag von black_adept (Top Expert / 3950 / 105 / 886 ) »
DeathAndPain hat geschrieben:Sehr cool ist auch der Operator CS. Damit kann man nämlich umständliche IF-Konstrukte deutlich verschlanken:

Aus:

Code: Alles auswählen.

IF a = 'x'
OR a = 'ghj'
OR a = 'abc'
OR b > 1.
wird einfach:

Code: Alles auswählen.

IF 'x;ghj;abc' CS a
OR b > 1.
8)
Dabei muss man nur sicherstellen können, dass das gewählte Trennzeichen (hier Semikolon) nicht in a auftreten kann. Meistens kann man das nach meiner Erfahrung.
Da kann man sich aber auch leicht vertun wenn man nicht höllisch aufpasst. So ist z.B. in D&Ps Beispiel auch bei nicht vorhandenem Trennzeichen in a keine Gleichheit gegeben, denn wenn a mit "gh" belegt ist wird es in der Originalbedingung nicht gefunden, in der mit dem CS hingegen schon.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: letztes Zeichen lesen bei einer internen Tabelle

Beitrag von DeathAndPain (Top Expert / 1806 / 214 / 396 ) »
Na für nur einen Wert ist diese Syntax ja auch nicht gedacht, sondern nur für Aufzählungen mit mindestens zwei Werten. Bei nur einem Wert bringt das ja keine Punkte; da kann man einfach das Gleichheitszeichen statt CS verwenden.

Re: letztes Zeichen lesen bei einer internen Tabelle

Beitrag von Bright4.5 (Specialist / 267 / 21 / 1 ) »
Hi,

vielen Dank es hat funktioniert :).

Seite 1 von 1

Vergleichbare Themen

1
Antw.
7784
Views
Letztes Zeichen aus einem String prüfen
von naratcis » 07.05.2008 11:09 • Verfasst in ABAP Objects®
4
Antw.
5215
Views
Eintrag aus internen Tabelle lesen
von MadMax » 14.05.2014 09:52 • Verfasst in ABAP® für Anfänger
4
Antw.
3637
Views
Lesen in einer dynamisch generierten internen Tabelle
von Svenson » 05.10.2005 17:07 • Verfasst in ABAP® Core
15
Antw.
4841
Views
Tabellenindex lesen welcher mit bestimmten Zeichen beginnt
von phil-10 » 16.01.2018 09:03 • Verfasst in ABAP® für Anfänger
4
Antw.
6232
Views
Lesen von internen Tabellen mit tiefer Struktur
von tomi-d » 18.06.2004 15:38 • 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

Updates der Daten, Fehlermeldung
vor 17 Stunden von Egzon gelöst 1 / 42
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 427

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

Updates der Daten, Fehlermeldung
vor 17 Stunden von Egzon gelöst 1 / 42
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 427

Unbeantwortete Forenbeiträge

Updates der Daten, Fehlermeldung
vor 17 Stunden von Egzon 1 / 42
Zwischensumme Adobe Forms
vor 5 Wochen von Lucyalison 1 / 268
Group Items auf einer Filterbar
letzen Monat von Bright4.5 1 / 320