ADT fallback: Accept headers for FUNC; G0189 accepted; regen2 results

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
Kral
2026-10-03 16:31:03 +02:00
parent 428b3565b2
commit 7510131a7d
335 changed files with 12047 additions and 5545 deletions

View File

@@ -0,0 +1,71 @@
FUNCTION {{p}}crane_fee_old
IMPORTING
iv_crane_type TYPE string
iv_hours TYPE decfloat34
iv_distance_km TYPE i
iv_weekend TYPE abap_bool
iv_customer TYPE string
EXPORTING
ev_base_fee TYPE decfloat34
ev_travel_fee TYPE decfloat34
ev_surcharge TYPE decfloat34
ev_discount TYPE decfloat34
ev_total TYPE decfloat34
EXCEPTIONS
invalid_crane_type
invalid_hours.
DATA lv_hourly TYPE decfloat34.
DATA lv_per_km TYPE decfloat34.
DATA lv_km TYPE i.
DATA lv_sum TYPE decfloat34.
IF iv_hours <= 0.
RAISE invalid_hours.
ENDIF.
CASE iv_crane_type.
WHEN 'SM'.
lv_hourly = 115.
lv_per_km = '1.25'.
WHEN 'MD'.
lv_hourly = 185.
lv_per_km = '1.75'.
WHEN 'LG'.
lv_hourly = 345.
lv_per_km = '2.35'.
WHEN OTHERS.
RAISE invalid_crane_type.
ENDCASE.
ev_base_fee = iv_hours * lv_hourly.
lv_km = iv_distance_km.
IF lv_km > 100.
lv_km = 100.
ENDIF.
ev_travel_fee = lv_km * lv_per_km.
IF iv_weekend = abap_true.
ev_surcharge = ev_base_fee * 25 / 100.
ELSE.
ev_surcharge = 0.
ENDIF.
lv_sum = ev_base_fee + ev_travel_fee + ev_surcharge.
IF iv_customer = 'GOLD'.
ev_discount = lv_sum * 10 / 100.
ELSE.
ev_discount = 0.
ENDIF.
ev_total = lv_sum - ev_discount.
ev_base_fee = round( val = ev_base_fee dec = 2 mode = cl_abap_math=>round_half_up ).
ev_travel_fee = round( val = ev_travel_fee dec = 2 mode = cl_abap_math=>round_half_up ).
ev_surcharge = round( val = ev_surcharge dec = 2 mode = cl_abap_math=>round_half_up ).
ev_discount = round( val = ev_discount dec = 2 mode = cl_abap_math=>round_half_up ).
ev_total = round( val = ev_total dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.