Files
abap-llm/tasks_gen/train/G1095/faulty/m1_heli_fee.func.abap
2026-10-05 18:02:52 +02:00

44 lines
1022 B
ABAP

FUNCTION {{p}}heli_fee
IMPORTING
iv_tour_type TYPE string
iv_passengers TYPE i
iv_minutes TYPE i
iv_member TYPE abap_bool
EXPORTING
ev_skip TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_passengers
invalid_minutes.
DATA lo_pricer TYPE REF TO {{p}}heli_pricer.
DATA lv_fee TYPE decfloat34.
lo_pricer = NEW #( ).
TRY.
lo_pricer->calculate(
EXPORTING
iv_tour_type = iv_tour_type
iv_passengers = iv_passengers
iv_minutes = iv_minutes
iv_member = iv_member
IMPORTING
ev_skip = ev_skip
ev_fee = lv_fee ).
CATCH {{p}}cx_heli_invalid INTO DATA(lo_error).
CASE lo_error->mv_reason.
WHEN {{p}}cx_heli_invalid=>co_reason-passengers.
RAISE invalid_passengers.
WHEN OTHERS.
RAISE invalid_minutes.
ENDCASE.
ENDTRY.
IF ev_skip <> abap_false.
cv_fee = lv_fee.
ENDIF.
ENDFUNCTION.