Files
abap-llm/tasks_gen/eval/G0180/reference/rent_price.func.abap

44 lines
1.2 KiB
ABAP

FUNCTION {{p}}rent_price
IMPORTING
iv_vehicle_class TYPE string
iv_minutes TYPE i
iv_km TYPE i
iv_member TYPE abap_bool
iv_weekend TYPE abap_bool
EXPORTING
ev_time_fee TYPE decfloat34
ev_distance_fee TYPE decfloat34
ev_surcharge TYPE decfloat34
ev_discount TYPE decfloat34
ev_total TYPE decfloat34
EXCEPTIONS
invalid_duration
invalid_distance
invalid_class.
DATA ls_request TYPE {{p}}cl_rent=>ty_request.
ls_request-vehicle_class = iv_vehicle_class.
ls_request-minutes = iv_minutes.
ls_request-km = iv_km.
ls_request-member = iv_member.
ls_request-weekend = iv_weekend.
DATA(ls_result) = {{p}}cl_rent=>calculate( ls_request ).
CASE ls_result-err_code.
WHEN {{p}}cl_rent=>c_err-duration.
RAISE invalid_duration.
WHEN {{p}}cl_rent=>c_err-distance.
RAISE invalid_distance.
WHEN {{p}}cl_rent=>c_err-bad_class.
RAISE invalid_class.
WHEN OTHERS.
ev_time_fee = ls_result-time_fee.
ev_distance_fee = ls_result-distance_fee.
ev_surcharge = ls_result-surcharge.
ev_discount = ls_result-discount.
ev_total = ls_result-total.
ENDCASE.
ENDFUNCTION.