zahl ziffernweise auslesen

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

zahl ziffernweise auslesen

Beitrag von miomio (ForumUser / 3 / 0 / 0 ) »
hallo,

ich möchte zur prüfzifferberechnung auf jede ziffer einer zahl eine bestimmte rechenoperation anwenden. ich denk ma ich muss dafür
die Zahl zeichenweise auslesen und in anderen Variablen speichern. Besser noch in ein Array (hier abap dann wohl in einer tabelle), sodass ich jedes Zeichen separat ansprechen und operationen anwenden kann.

für die Zahl 445612 in etwa so:
[0]-> 4
[1]-> 4
[2]->5
...

Hat jemand eine Idee?

MfG

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


Re: zahl ziffernweise auslesen

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,
warum nicht einfach

Computer x zahl(1) * x + zahl(1)+1 * x + zahl(1)+1 usw.

Gruß Wolfgang

Re: zahl ziffernweise auslesen

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »

Code: Alles auswählen.

While zahl is not initial.
  letzte_ziffer = zahl mod 10.
insert letzte ziffer into t_ziffernarray index 1.
zahl = zahl div 10.
endwhile.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: zahl ziffernweise auslesen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
...prüfzifferberechnung...
Soll das eine spezielle Berechnung sein, oder reicht nicht vielleicht ein einfacher Wert für Vergleichszwecke?
CL_HASH_UTILITIES_IMP=>TO_HASH_C32
Damit kannst du so ziemlich aus jedem Datensatz eine "Prüfziffer" (Hash) berechnen.

lg ADT
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: zahl ziffernweise auslesen

Beitrag von miomio (ForumUser / 3 / 0 / 0 ) »
nee, das ist schon eine spezielle berechnung. ich möchte eine tabellenspalte mit nummern auslesen, welche dann auf korrektheit durch eine bestimmte prüfzifferberechnung überprüft werden. dazu sei gesagt, dass die zahlen unterschiedlich lang sein können.

Re: zahl ziffernweise auslesen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hi!

Ich nehme Mal an, dass der Stellenwert der Zahl auch ausschlaggebend ist oder? (Und das ganze steht derzeit aber in einem CHAR-Feld)
Die Inhalte sollen schon als "Zahlen" interpretiert werden oder? Also die Wertigkeit von rechts nach links zunehmend, im Gegensatz zu einem Text (von links nach rechts)

Ich würde die Zahl in ein Feld vom Typ N (NUMC) in derselben Länge übertragen.
Somit wird der Stellenwert der Zahl richtig interpretiert und man kann trotzdem die einzelnen "Zeichen" mit +OFFSET(LÄNGE) auslesen.

Code: Alles auswählen.

data:
  ld_number type N length 10,
  ld_offset type I, "offset im Text
  ld_check type C length 1, "Hilfsvaraible zur Verdeutlichung
  ld_base type I. "10er-Potenz in der Zahl
ld_offset = 10.
ld_number = '123812'. "Ergibt 0000123812
do 10 times.
  ld_base = sy-index - 1.
  subtract 1 from ld_offset.
  ld_check = ld_number+ld_offset(1).
* Irgendwas machen
enddo.
lg ADT
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: zahl ziffernweise auslesen

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
Falls zahl ein CHAR-Feld ist, geht es ganz einfach

Code: Alles auswählen.

While zahl is not initial.
  ziffer = zahl(1). 
  shift zahl left.
endwhile.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: zahl ziffernweise auslesen

Beitrag von miomio (ForumUser / 3 / 0 / 0 ) »
a-dead-trousers hat geschrieben:hi!

Ich nehme Mal an, dass der Stellenwert der Zahl auch ausschlaggebend ist oder? (Und das ganze steht derzeit aber in einem CHAR-Feld)
Die Inhalte sollen schon als "Zahlen" interpretiert werden oder? Also die Wertigkeit von rechts nach links zunehmend, im Gegensatz zu einem Text (von links nach rechts)

Ich würde die Zahl in ein Feld vom Typ N (NUMC) in derselben Länge übertragen.
Somit wird der Stellenwert der Zahl richtig interpretiert und man kann trotzdem die einzelnen "Zeichen" mit +OFFSET(LÄNGE) auslesen.

lg ADT
danke schon mal.

Es handelt sich um eine Nummer (nicht zahl) in einem char-feld. die letzte ziffer ist die prüfziffer. welche ziffer an welcher position steht, ist also schon ausschlaggebend. ich werd mal schauen, ob ich was mit deiner lösung anfangen kann.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
6566
Views
Überlauf bei gepackter Zahl
von MasterSAP » 23.12.2007 12:37 • Verfasst in ABAP® für Anfänger
6
Antw.
4082
Views
Gleitkommazahl in Normale Zahl
von Thanatos82 » 09.09.2013 12:17 • Verfasst in ABAP® für Anfänger
6
Antw.
3465
Views
CONVT_OVERFLOW bei Zahl in HEX konvertieren
von Oltsch » 16.12.2013 16:01 • Verfasst in ABAP® Core
1
Antw.
1477
Views
Zähl- und Summationsfunktion in Querys
von Spritty57 » 04.04.2007 17:49 • Verfasst in SAP - Allgemeines
3
Antw.
4377
Views
Zahl und Text zusammenfügen
von ABAP - Programmierer » 20.07.2005 09:35 • Verfasst in ABAP® für Anfänger

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

Daten an Tabelle binden
vor 15 Stunden von Bright4.5 1 / 329
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1970
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8571