Restore faz1/yol-haritasi docs (overwritten by copy); stage1 docs; G0174 new gap; stage1 25-task subset

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 17:33:55 +02:00
parent 01e99158a9
commit 65322f27ff
44 changed files with 2137 additions and 855 deletions

View File

@@ -0,0 +1,67 @@
FUNCTION {{p}}bowl_fee_old
IMPORTING
iv_lanes TYPE i
iv_minutes TYPE i
iv_players TYPE i
iv_day TYPE string
iv_start TYPE t
iv_member TYPE abap_bool
EXPORTING
ev_fee TYPE decfloat34
EXCEPTIONS
invalid_input.
DATA: lv_a TYPE decfloat34,
lv_b TYPE decfloat34,
lv_c TYPE decfloat34,
lv_slots TYPE i,
lv_day TYPE string,
lv_shoe TYPE decfloat34 VALUE '2.5'.
IF iv_lanes < 1.
RAISE invalid_input.
ELSE.
IF iv_minutes < 1.
RAISE invalid_input.
ELSE.
IF iv_players < 0.
RAISE invalid_input.
ENDIF.
ENDIF.
ENDIF.
lv_slots = iv_minutes / 30.
IF lv_slots * 30 < iv_minutes.
lv_slots = lv_slots + 1.
ENDIF.
lv_a = iv_lanes * lv_slots * 6.
IF iv_start >= '180000'.
IF iv_start < '220000'.
lv_a = lv_a * 12 / 10.
ENDIF.
ENDIF.
lv_day = iv_day.
IF lv_day = 'SAT'.
lv_a = lv_a * 115 / 100.
ELSE.
IF lv_day = 'SUN'.
lv_a = lv_a * 115 / 100.
ENDIF.
ENDIF.
lv_b = iv_players * lv_shoe.
lv_c = lv_a + lv_b.
IF iv_member = 'X'.
IF lv_c >= 20.
lv_c = lv_c * 9 / 10.
ENDIF.
ENDIF.
ev_fee = round( val = lv_c dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.

View File

@@ -0,0 +1,17 @@
FUNCTION {{p}}bowl_info
IMPORTING
iv_day TYPE string
EXPORTING
ev_open TYPE t
ev_close TYPE t.
CASE iv_day.
WHEN 'SUN'.
ev_open = '100000'.
ev_close = '200000'.
WHEN OTHERS.
ev_open = '140000'.
ev_close = '230000'.
ENDCASE.
ENDFUNCTION.

View File

@@ -1,71 +0,0 @@
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.