Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
68
tasks_gen/eval/G0135/seed/pool_fee.clas.abap
Normal file
68
tasks_gen/eval/G0135/seed/pool_fee.clas.abap
Normal file
@@ -0,0 +1,68 @@
|
||||
CLASS {{p}}pool_fee DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
TYPES ty_ticket TYPE c LENGTH 1.
|
||||
TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2.
|
||||
METHODS calculate_fee
|
||||
IMPORTING iv_ticket TYPE ty_ticket
|
||||
iv_minutes TYPE i
|
||||
iv_sauna TYPE abap_bool
|
||||
RETURNING VALUE(rv_fee) TYPE ty_amount.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}pool_fee IMPLEMENTATION.
|
||||
METHOD calculate_fee.
|
||||
DATA: lv_fee TYPE ty_amount,
|
||||
lv_base TYPE ty_amount,
|
||||
lv_min TYPE i,
|
||||
lv_blocks TYPE i,
|
||||
lv_i TYPE i,
|
||||
lv_help TYPE ty_amount.
|
||||
|
||||
" Eintrittspreis berechnen
|
||||
CLEAR lv_fee.
|
||||
lv_min = iv_minutes.
|
||||
IF lv_min < 0.
|
||||
lv_min = 0.
|
||||
ENDIF.
|
||||
|
||||
" Grundpreis je Ticketart
|
||||
IF iv_ticket = 'A'.
|
||||
lv_base = '6.50'.
|
||||
ELSEIF iv_ticket = 'C'.
|
||||
lv_base = '3.50'.
|
||||
ELSEIF iv_ticket = 'S'.
|
||||
lv_base = '4.50'.
|
||||
ELSEIF iv_ticket = 'F'.
|
||||
lv_base = '15.00'.
|
||||
ELSE.
|
||||
CLEAR lv_base.
|
||||
ENDIF.
|
||||
lv_fee = lv_base.
|
||||
|
||||
" Die ersten 60 Minuten sind frei
|
||||
IF lv_min > 60.
|
||||
CLEAR lv_blocks.
|
||||
lv_i = 60.
|
||||
WHILE lv_i < lv_min.
|
||||
lv_i = lv_i + 30.
|
||||
lv_blocks = lv_blocks + 1.
|
||||
ENDWHILE.
|
||||
lv_help = lv_blocks * 1.
|
||||
lv_fee = lv_fee + lv_help.
|
||||
ENDIF.
|
||||
|
||||
" Sauna
|
||||
IF iv_sauna = 'X'.
|
||||
IF iv_ticket = 'C'.
|
||||
" Kinder zahlen keine Sauna
|
||||
ELSEIF iv_ticket = 'F'.
|
||||
lv_fee = lv_fee + 8.
|
||||
ELSE.
|
||||
lv_fee = lv_fee + 5.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
rv_fee = lv_fee.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user