Erstmal Hallo zusammen,
habe leider sehr wenig Erfahrung mit ABAP und muss dringen EK-Infosätze vom Altsystem übernehmen.
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