Stage 2 summary at 50 accepted trajectories

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 18:02:52 +02:00
parent 332fb4601d
commit 5bcd1bf9cd
1230 changed files with 77563 additions and 33 deletions

View File

@@ -0,0 +1,59 @@
FUNCTION {{p}}wash_fee
IMPORTING
iv_program TYPE string
iv_vehicle TYPE string
iv_extra_wax TYPE abap_bool
iv_fleet TYPE abap_bool
EXPORTING
ev_reject TYPE abap_bool
CHANGING
cv_price TYPE decfloat34
EXCEPTIONS
invalid_program
invalid_vehicle.
DATA lv_price TYPE decfloat34.
ev_reject = abap_false.
IF iv_program <> 'BASIC' AND iv_program <> 'PLUS' AND iv_program <> 'PREMIUM'.
RAISE invalid_program.
ENDIF.
IF iv_vehicle <> 'S' AND iv_vehicle <> 'M' OR iv_vehicle <> 'L'.
RAISE invalid_vehicle.
ENDIF.
IF iv_vehicle = 'L' AND iv_program = 'BASIC'.
ev_reject = abap_true.
cv_price = 0.
RETURN.
ENDIF.
CASE iv_program.
WHEN 'BASIC'.
lv_price = '8.50'.
WHEN 'PLUS'.
lv_price = '12.50'.
WHEN 'PREMIUM'.
lv_price = '18.50'.
ENDCASE.
CASE iv_vehicle.
WHEN 'M'.
lv_price = lv_price + '2.50'.
WHEN 'L'.
lv_price = lv_price + '5.50'.
ENDCASE.
IF iv_extra_wax = abap_true AND iv_program <> 'PREMIUM'.
lv_price = lv_price + '3.50'.
ENDIF.
IF iv_fleet = abap_true.
lv_price = round( val = lv_price * 85 / 100 dec = 2 mode = cl_abap_math=>round_half_up ).
ENDIF.
cv_price = lv_price.
ENDFUNCTION.

View File

@@ -0,0 +1,59 @@
FUNCTION {{p}}wash_fee
IMPORTING
iv_program TYPE string
iv_vehicle TYPE string
iv_extra_wax TYPE abap_bool
iv_fleet TYPE abap_bool
EXPORTING
ev_reject TYPE abap_bool
CHANGING
cv_price TYPE decfloat34
EXCEPTIONS
invalid_program
invalid_vehicle.
DATA lv_price TYPE decfloat34.
ev_reject = abap_false.
IF iv_program <> 'BASIC' AND iv_program <> 'PLUS' AND iv_program <> 'PREMIUM'.
RAISE invalid_program.
ENDIF.
IF iv_vehicle <> 'S' AND iv_vehicle <> 'M' AND iv_vehicle <> 'L'.
RAISE invalid_vehicle.
ENDIF.
IF iv_vehicle = 'L' AND iv_program = 'BASIC'.
ev_reject = abap_true.
cv_price = 0.
RETURN.
ENDIF.
CASE iv_program.
WHEN 'BASIC'.
lv_price = '8.50'.
WHEN 'PLUS'.
lv_price = '12.50'.
WHEN 'PREMIUM'.
lv_price = '18.50'.
ENDCASE.
CASE iv_vehicle.
WHEN 'M'.
lv_price = lv_price - '2.50'.
WHEN 'L'.
lv_price = lv_price + '5.50'.
ENDCASE.
IF iv_extra_wax = abap_true AND iv_program <> 'PREMIUM'.
lv_price = lv_price + '3.50'.
ENDIF.
IF iv_fleet = abap_true.
lv_price = round( val = lv_price * 85 / 100 dec = 2 mode = cl_abap_math=>round_half_up ).
ENDIF.
cv_price = lv_price.
ENDFUNCTION.

View File

@@ -0,0 +1,59 @@
FUNCTION {{p}}wash_fee
IMPORTING
iv_program TYPE string
iv_vehicle TYPE string
iv_extra_wax TYPE abap_bool
iv_fleet TYPE abap_bool
EXPORTING
ev_reject TYPE abap_bool
CHANGING
cv_price TYPE decfloat34
EXCEPTIONS
invalid_program
invalid_vehicle.
DATA lv_price TYPE decfloat34.
ev_reject = abap_false.
IF iv_program <> 'BASIC' AND iv_program <> 'PLUS' AND iv_program <> 'PREMIUM'.
RAISE invalid_program.
ENDIF.
IF iv_vehicle <> 'S' AND iv_vehicle <> 'M' AND iv_vehicle <> 'L'.
RAISE invalid_vehicle.
ENDIF.
IF iv_vehicle = 'L' AND iv_program = 'BASIC'.
ev_reject = abap_true.
cv_price = 0.
RETURN.
ENDIF.
CASE iv_program.
WHEN 'BASIC'.
lv_price = '8.50'.
WHEN 'PLUS'.
lv_price = '12.50'.
WHEN 'PREMIUM'.
lv_price = '18.50'.
ENDCASE.
CASE iv_vehicle.
WHEN 'M'.
lv_price = lv_price + '2.50'.
WHEN 'L'.
lv_price = lv_price + '5.50'.
ENDCASE.
IF iv_extra_wax <> abap_true AND iv_program <> 'PREMIUM'.
lv_price = lv_price + '3.50'.
ENDIF.
IF iv_fleet = abap_true.
lv_price = round( val = lv_price * 85 / 100 dec = 2 mode = cl_abap_math=>round_half_up ).
ENDIF.
cv_price = lv_price.
ENDFUNCTION.

View File

@@ -0,0 +1,59 @@
FUNCTION {{p}}wash_fee
IMPORTING
iv_program TYPE string
iv_vehicle TYPE string
iv_extra_wax TYPE abap_bool
iv_fleet TYPE abap_bool
EXPORTING
ev_reject TYPE abap_bool
CHANGING
cv_price TYPE decfloat34
EXCEPTIONS
invalid_program
invalid_vehicle.
DATA lv_price TYPE decfloat34.
ev_reject = abap_false.
IF iv_program <> 'BASIC' AND iv_program <> 'PLUS' AND iv_program <> 'PREMIUM'.
RAISE invalid_program.
ENDIF.
IF iv_vehicle <> 'S' AND iv_vehicle <> 'M' AND iv_vehicle <> 'L'.
RAISE invalid_vehicle.
ENDIF.
IF iv_vehicle = 'L' AND iv_program = 'BASIC'.
ev_reject = abap_true.
cv_price = 0.
RETURN.
ENDIF.
CASE iv_program.
WHEN 'BASIC'.
lv_price = '8.50'.
WHEN 'PLUS'.
lv_price = '12.50'.
WHEN 'PREMIUM'.
lv_price = '18.50'.
ENDCASE.
CASE iv_vehicle.
WHEN 'M'.
lv_price = lv_price + '2.50'.
WHEN 'L'.
lv_price = lv_price + '5.50'.
ENDCASE.
IF iv_extra_wax = abap_true AND iv_program <> 'PREMIUM'.
lv_price = lv_price + '3.50'.
ENDIF.
IF iv_fleet = abap_false.
lv_price = round( val = lv_price * 85 / 100 dec = 2 mode = cl_abap_math=>round_half_up ).
ENDIF.
cv_price = lv_price.
ENDFUNCTION.

View File

@@ -0,0 +1,59 @@
FUNCTION {{p}}wash_fee
IMPORTING
iv_program TYPE string
iv_vehicle TYPE string
iv_extra_wax TYPE abap_bool
iv_fleet TYPE abap_bool
EXPORTING
ev_reject TYPE abap_bool
CHANGING
cv_price TYPE decfloat34
EXCEPTIONS
invalid_program
invalid_vehicle.
DATA lv_price TYPE decfloat34.
ev_reject = abap_false.
IF iv_program <> 'BASIC' AND iv_program <> 'PLUS' AND iv_program <> 'PREMIUM'.
RAISE invalid_program.
ENDIF.
IF iv_vehicle <> 'S' AND iv_vehicle <> 'M' AND iv_vehicle <> 'L'.
RAISE invalid_vehicle.
ENDIF.
IF iv_vehicle = 'L' AND iv_program = 'BASIC'.
ev_reject = abap_true.
cv_price = 0.
RETURN.
ENDIF.
CASE iv_program.
WHEN 'BASIC'.
lv_price = '8.50'.
WHEN 'PLUS'.
lv_price = '12.50'.
WHEN 'PREMIUM'.
lv_price = '18.50'.
ENDCASE.
CASE iv_vehicle.
WHEN 'M'.
lv_price = lv_price + '2.50'.
WHEN 'L'.
lv_price = lv_price + '5.50'.
ENDCASE.
IF iv_extra_wax = abap_true AND iv_program <> 'PREMIUM'.
lv_price = lv_price + '3.50'.
ENDIF.
IF iv_fleet = abap_true.
lv_price = round( val = lv_price * 85 / 100 dec = 3 mode = cl_abap_math=>round_half_up ).
ENDIF.
cv_price = lv_price.
ENDFUNCTION.