Files
abap-llm/tasks_gen/eval/G0173/reference/kart_fee.func.abap

32 lines
645 B
ABAP

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.