Pipeline controller: plan 2 (hard +, error +50 %), backlog throttle, 2 trajectory workers, stop rules, summaries every 50; budget reserve

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 13:35:54 +02:00
parent 1c4667a0fc
commit 13360292dd
781 changed files with 50211 additions and 22 deletions

View File

@@ -0,0 +1,64 @@
CLASS {{p}}snow_fee DEFINITION PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
TYPES ty_area TYPE i.
TYPES ty_priority TYPE c LENGTH 1.
TYPES ty_distance TYPE i.
TYPES ty_fee TYPE p LENGTH 9 DECIMALS 2.
METHODS calculate
IMPORTING iv_area TYPE ty_area
iv_priority TYPE ty_priority
iv_distance TYPE ty_distance
RETURNING VALUE(rv_fee) TYPE ty_fee.
ENDCLASS.
CLASS {{p}}snow_fee IMPLEMENTATION.
METHOD calculate.
" legacy implementation - the result must not change
DATA: lv_rate TYPE ty_fee,
lv_base TYPE ty_fee,
lv_sum TYPE ty_fee,
lv_km TYPE ty_distance.
rv_fee = 0.
IF iv_area > 0.
IF iv_area <= 500.
lv_rate = '0.20'.
ELSE.
IF iv_area <= 2000.
lv_rate = '0.16'.
ELSE.
lv_rate = '0.12'.
ENDIF.
ENDIF.
lv_base = iv_area * lv_rate.
IF lv_base < 45.
lv_base = 45.
ENDIF.
IF iv_priority = 'E'.
lv_base = lv_base * 125 / 100.
ELSE.
IF iv_priority = 'X'.
lv_base = lv_base * 150 / 100.
ENDIF.
ENDIF.
lv_sum = lv_base.
lv_km = iv_distance - 10.
IF lv_km > 0.
lv_rate = '0.40'.
lv_sum = lv_sum + lv_km * lv_rate.
ENDIF.
rv_fee = lv_sum.
ENDIF.
ENDMETHOD.
ENDCLASS.