/* ------------------------------------------------------------------------- */ /* Preis Runden (RUNDEN.P) */ /* ------------------------------------------------------------------------- */ /* Input: Rundbetr */ /* Rundcode */ /* Output: Rundbetr */ /* */ /* ------------------------------------------------------------------------- */ { v8/globvar.i " " " " "SHARED" } /*---------------------------------------------------------------------------*/ DEF VAR VBetr AS DECIMAL FORMAT "99999999.9999-". DEF VAR VOp AS DECIMAL INIT 0.2. DEF VAR XPChar AS CHAR. /*---------------------------------------------------------------------------*/ DO TRANSACTION: VBetr = Rundbetr. IF Rundcode = 1 THEN DO: VBetr = ROUND((VBetr / 100 * VOp), 4) / VOp * 100. END. IF Rundcode = 2 THEN DO: VBetr = ROUND((VBetr / 100), 3) * 100. END. IF Rundcode = 3 THEN DO: VBetr = VBetr + 0.0499. VBetr = ROUND((VBetr / 100), 3) * 100. END. IF Rundcode = 4 THEN DO: VBetr = VBetr - 0.0500. VBetr = ROUND((VBetr / 100), 3) * 100. END. IF Rundcode = 5 THEN DO: VBetr = ROUND((VBetr / 100), 2) * 100. END. IF Rundcode = 6 THEN DO: VBetr = VBetr + 0.4999. VBetr = ROUND((VBetr / 100), 2) * 100. END. IF Rundcode = 7 THEN DO: VBetr = VBetr - 0.5000. VBetr = ROUND((VBetr / 100), 2) * 100. END. IF Rundcode = 8 THEN DO: VBetr = ROUND((VBetr / 1000), 2) * 1000. END. IF Rundcode = 9 THEN DO: VBetr = VBetr + 4.9999. VBetr = ROUND((VBetr / 1000), 2) * 1000. END. IF Rundcode = 10 THEN DO: VBetr = VBetr - 5.0000. VBetr = ROUND((VBetr / 1000), 2) * 1000. END. IF Rundcode = 99 THEN DO: XPChar = STRING(VBetr,"-99999999.999"). VBetr = DECIMAL(SUBSTRING(XPChar,01,12)). IF SUBSTRING(XPChar,13,01) > "4" THEN VBetr = VBetr + 0.01. END. Rundbetr = VBetr. END.