Überflüssige Nachkommastellen eliminieren

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

Überflüssige Nachkommastellen eliminieren

Beitrag von Newbee (ForumUser / 1 / 0 / 0 ) »
Erstmal Hallo zusammen,

habe leider sehr wenig Erfahrung mit ABAP und muss dringen EK-Infosätze vom Altsystem übernehmen. :oops:

Mein Problem hier sind Preise welche kleiner 0,01? sind. Somit lese ich die Preise aus dem Vorsystem mit allen Nachkommastellen ein.
Ich multipliziere diese mit 1000. Beim Übergeben habe ich nun einen Wert mit
evt 3, 4 oder 5 Nachkommastellen. Ich darf nur 2 Nachkommastellen übergeben.
Wie werde ich die überflüssigen wieder los?
Habe es mit Type p und DECIMALS 2 schon probiert, da bekomme ich aber mit meinem Coding Probleme.


DATA: hlp_wert TYPE char10,
hlp_string TYPE char10,
hlp_var TYPE char10,
hlp_str TYPE string,
lv_length TYPE i.
*
hlp_str = ekinfo-netpr.
WHILE hlp_str CA ','.
SHIFT hlp_str: UP TO ',',.
ENDWHILE.
MOVE strlen( hlp_str ) TO lv_length.
IF lv_length > 3 and ekinfo-netpr < '0,01'.
hlp_var = ekinfo-netpr.
TRANSLATE hlp_var USING ',..,'.
hlp_wert = hlp_var * 1000.
WRITE hlp_wert TO hlp_string.
TRANSLATE hlp_string USING '.,.,'.
SHIFT hlp_string LEFT DELETING LEADING space.
CONDENSE hlp_string NO-GAPS.
WRITE hlp_string TO beine-netpr.
ELSE.
beine-netpr = ekinfo-netpr.
ENDIF.

Hoffe Ihr könnt mir hierbei helfen.

Viele Grüße Newbee

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


Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Wieso so umständlich,

hier ein kleines Muster:

data: eingabe(10) type c value '0,0001',
h_wert type p decimals 2,
h_xwert(12) type c.


*--- Komma durch Punkt ersetzen
translate eingabe using ',.'.

h_wert = eingabe * 1000.

write: h_wert to h_xwert.

write: / 'P-Feld = ', h_wert,
/ 'C-Feld = ', h_xwert.

Dies sollte dir ein wenig weiterhelfen.

Gruß

Thomas

Seite 1 von 1

Vergleichbare Themen

11
Antw.
11709
Views
doppelte Zeilen aus ITAB eliminieren
von mörtel » 27.06.2007 10:10 • Verfasst in ABAP® für Anfänger
1
Antw.
302
Views
Überflüssige Leerzeichen/Zeilen
von HH_ABAP » 17.07.2019 13:29 • Verfasst in ABAP® für Anfänger
9
Antw.
6851
Views
ALV-GRID Objekt-orientiert: überflüssige Spalten löschen
von Jura » 19.02.2007 18:17 • Verfasst in ABAP® für Anfänger
5
Antw.
2941
Views
Nachkommastellen ab der dritten abschneiden.
von Nordlicht » 02.02.2021 09:32 • Verfasst in ABAP® für Anfänger
2
Antw.
1959
Views
Differenz aus Nachkommastellen berechnen
von kbit100 » 11.04.2018 11:55 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1524
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8136