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:
Kral
2026-10-03 12:10:52 +02:00
parent d3250acfb8
commit 39769afce8
741 changed files with 40573 additions and 317 deletions

View File

@@ -0,0 +1,93 @@
CLASS {{p}}bag_drop DEFINITION PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
TYPES:
ty_tag TYPE c LENGTH 10,
ty_weight TYPE p LENGTH 5 DECIMALS 2,
ty_size TYPE i,
ty_count TYPE i,
ty_minutes TYPE i.
METHODS accept_bag
IMPORTING
iv_tag TYPE ty_tag
iv_weight TYPE ty_weight
iv_length TYPE ty_size
iv_width TYPE ty_size
iv_height TYPE ty_size
iv_bags_checked TYPE ty_count
iv_min_to_dep TYPE ty_minutes
RAISING
{{p}}cx_bag_tag
{{p}}cx_bag_weight
{{p}}cx_bag_size
{{p}}cx_bag_limit
{{p}}cx_bag_late.
PRIVATE SECTION.
CONSTANTS:
c_max_weight TYPE ty_weight VALUE 23,
c_max_size TYPE ty_size VALUE 158,
c_max_bags TYPE ty_count VALUE 2,
c_min_minutes TYPE ty_minutes VALUE 40.
METHODS check_tag
IMPORTING iv_tag TYPE ty_tag
RAISING {{p}}cx_bag_tag.
METHODS check_weight
IMPORTING iv_weight TYPE ty_weight
RAISING {{p}}cx_bag_weight.
METHODS check_size
IMPORTING iv_length TYPE ty_size
iv_width TYPE ty_size
iv_height TYPE ty_size
RAISING {{p}}cx_bag_size.
METHODS check_bag_count
IMPORTING iv_bags_checked TYPE ty_count
RAISING {{p}}cx_bag_limit.
METHODS check_departure
IMPORTING iv_min_to_dep TYPE ty_minutes
RAISING {{p}}cx_bag_late.
ENDCLASS.
CLASS {{p}}bag_drop IMPLEMENTATION.
METHOD accept_bag.
check_tag( iv_tag ).
check_weight( iv_weight ).
check_size( iv_length = iv_length
iv_width = iv_width
iv_height = iv_height ).
check_bag_count( iv_bags_checked ).
check_departure( iv_min_to_dep ).
ENDMETHOD.
METHOD check_tag.
IF iv_tag CN '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
RAISE EXCEPTION TYPE {{p}}cx_bag_tag.
ENDIF.
ENDMETHOD.
METHOD check_weight.
IF iv_weight > c_max_weight.
RAISE EXCEPTION TYPE {{p}}cx_bag_weight.
ENDIF.
ENDMETHOD.
METHOD check_size.
IF iv_length - iv_width + iv_height > c_max_size.
RAISE EXCEPTION TYPE {{p}}cx_bag_size.
ENDIF.
ENDMETHOD.
METHOD check_bag_count.
IF iv_bags_checked >= c_max_bags.
RAISE EXCEPTION TYPE {{p}}cx_bag_limit.
ENDIF.
ENDMETHOD.
METHOD check_departure.
IF iv_min_to_dep < c_min_minutes.
RAISE EXCEPTION TYPE {{p}}cx_bag_late.
ENDIF.
ENDMETHOD.
ENDCLASS.