FUNCTION {{p}}kart_fee IMPORTING iv_laps TYPE i iv_driver_age TYPE i iv_member TYPE abap_bool EXPORTING ev_discount TYPE abap_bool CHANGING cv_fee TYPE decfloat34 EXCEPTIONS invalid_laps. ev_discount = abap_false. IF iv_laps < 1. RAISE invalid_laps. ENDIF. IF iv_driver_age < 18. cv_fee = 15. ELSE. cv_fee = CONV decfloat34( iv_laps ) * 1.5. IF iv_member = abap_true. cv_fee = cv_fee * 9 / 10. ev_discount = abap_true. ENDIF. ENDIF. IF cv_fee < 20. cv_fee = 20. ENDIF. cv_fee = round( val = cv_fee dec = 2 mode = cl_abap_math=>round_half_up ). ENDFUNCTION.