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:
64
tasks_gen/train/G1042/seed/snow_fee.clas.abap
Normal file
64
tasks_gen/train/G1042/seed/snow_fee.clas.abap
Normal 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.
|
||||
Reference in New Issue
Block a user