Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
43
tasks_gen/eval/G0180/reference/rent_price.func.abap
Normal file
43
tasks_gen/eval/G0180/reference/rent_price.func.abap
Normal file
@@ -0,0 +1,43 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user