Snapshot: new training tasks (balanced generation), docs

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 22:08:59 +02:00
parent eb13453097
commit 6984fc7917
572 changed files with 30024 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
CLASS {{p}}rope_checker DEFINITION PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES {{p}}if_rope_check.
PRIVATE SECTION.
TYPES:
BEGIN OF ty_limit,
ticket TYPE {{p}}if_rope_check=>ty_ticket,
min_age TYPE i,
min_hours TYPE i,
max_height TYPE i,
END OF ty_limit,
tt_limit TYPE HASHED TABLE OF ty_limit WITH UNIQUE KEY ticket.
METHODS normalize_ticket
IMPORTING iv_ticket TYPE {{p}}if_rope_check=>ty_ticket
RETURNING VALUE(rv_ticket) TYPE {{p}}if_rope_check=>ty_ticket.
METHODS limits
RETURNING VALUE(rt_limit) TYPE tt_limit.
ENDCLASS.
CLASS {{p}}rope_checker IMPLEMENTATION.
METHOD {{p}}if_rope_check~check.
DATA(lv_ticket) = normalize_ticket( iv_ticket ).
IF lv_ticket IS INITIAL.
rv_reason = {{p}}if_rope_check=>c_reason-empty.
RETURN.
ENDIF.
DATA(lt_limit) = limits( ).
ASSIGN lt_limit[ ticket = lv_ticket ] TO FIELD-SYMBOL(<ls_limit>).
IF sy-subrc <> 0.
rv_reason = {{p}}if_rope_check=>c_reason-ticket.
RETURN.
ENDIF.
IF iv_age < <ls_limit>-min_age.
rv_reason = {{p}}if_rope_check=>c_reason-age.
RETURN.
ENDIF.
IF iv_logged_hours < <ls_limit>-min_hours.
rv_reason = {{p}}if_rope_check=>c_reason-hours.
RETURN.
ENDIF.
IF iv_height_m > <ls_limit>-max_height.
rv_reason = {{p}}if_rope_check=>c_reason-height.
RETURN.
ENDIF.
rv_reason = {{p}}if_rope_check=>c_reason-ok.
ENDMETHOD.
METHOD normalize_ticket.
rv_ticket = to_upper( replace( val = iv_ticket sub = ` ` with = `` occ = 0 ) ).
ENDMETHOD.
METHOD limits.
rt_limit = VALUE #(
( ticket = {{p}}if_rope_check=>c_ticket-level_1 min_age = 18 min_hours = 0 max_height = 30 )
( ticket = {{p}}if_rope_check=>c_ticket-level_2 min_age = 18 min_hours = 500 max_height = 60 )
( ticket = {{p}}if_rope_check=>c_ticket-level_3 min_age = 21 min_hours = 1000 max_height = 120 ) ).
ENDMETHOD.
ENDCLASS.