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:
77
tasks_gen/train/G1029/faulty/m0_licence_merger.clas.abap
Normal file
77
tasks_gen/train/G1029/faulty/m0_licence_merger.clas.abap
Normal file
@@ -0,0 +1,77 @@
|
||||
CLASS {{p}}licence_merger DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_licence_merge.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES tt_merged TYPE HASHED TABLE OF {{p}}if_licence_merge=>ty_licence
|
||||
WITH UNIQUE KEY product cost_centre.
|
||||
|
||||
METHODS add_rows
|
||||
IMPORTING it_rows TYPE {{p}}if_licence_merge=>tt_licences
|
||||
CHANGING ct_merged TYPE tt_merged.
|
||||
|
||||
METHODS normalize
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rs_row) TYPE {{p}}if_licence_merge=>ty_licence.
|
||||
|
||||
METHODS is_relevant
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rv_relevant) TYPE abap_bool.
|
||||
|
||||
METHODS trim_upper
|
||||
IMPORTING iv_text TYPE string
|
||||
RETURNING VALUE(rv_text) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}licence_merger IMPLEMENTATION.
|
||||
METHOD {{p}}if_licence_merge~merge.
|
||||
DATA lt_merged TYPE tt_merged.
|
||||
|
||||
add_rows( EXPORTING it_rows = it_primary CHANGING ct_merged = lt_merged ).
|
||||
add_rows( EXPORTING it_rows = it_secondary CHANGING ct_merged = lt_merged ).
|
||||
|
||||
rt_merged = lt_merged.
|
||||
SORT rt_merged BY product cost_centre.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add_rows.
|
||||
LOOP AT it_rows INTO DATA(ls_row).
|
||||
DATA(ls_norm) = normalize( ls_row ).
|
||||
IF is_relevant( ls_norm ) <> abap_false.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
READ TABLE ct_merged ASSIGNING FIELD-SYMBOL(<ls_merged>)
|
||||
WITH TABLE KEY product = ls_norm-product
|
||||
cost_centre = ls_norm-cost_centre.
|
||||
IF sy-subrc = 0.
|
||||
<ls_merged>-seats = <ls_merged>-seats + ls_norm-seats.
|
||||
IF ls_norm-unit_price > <ls_merged>-unit_price.
|
||||
<ls_merged>-unit_price = ls_norm-unit_price.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
INSERT ls_norm INTO TABLE ct_merged.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD normalize.
|
||||
rs_row = is_row.
|
||||
rs_row-product = trim_upper( CONV string( is_row-product ) ).
|
||||
rs_row-cost_centre = trim_upper( CONV string( is_row-cost_centre ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_relevant.
|
||||
rv_relevant = xsdbool( is_row-product IS NOT INITIAL
|
||||
AND is_row-cost_centre IS NOT INITIAL
|
||||
AND is_row-seats >= 1 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD trim_upper.
|
||||
DATA(lv_text) = iv_text.
|
||||
SHIFT lv_text LEFT DELETING LEADING space.
|
||||
SHIFT lv_text RIGHT DELETING TRAILING space.
|
||||
rv_text = to_upper( lv_text ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
77
tasks_gen/train/G1029/faulty/m1_licence_merger.clas.abap
Normal file
77
tasks_gen/train/G1029/faulty/m1_licence_merger.clas.abap
Normal file
@@ -0,0 +1,77 @@
|
||||
CLASS {{p}}licence_merger DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_licence_merge.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES tt_merged TYPE HASHED TABLE OF {{p}}if_licence_merge=>ty_licence
|
||||
WITH UNIQUE KEY product cost_centre.
|
||||
|
||||
METHODS add_rows
|
||||
IMPORTING it_rows TYPE {{p}}if_licence_merge=>tt_licences
|
||||
CHANGING ct_merged TYPE tt_merged.
|
||||
|
||||
METHODS normalize
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rs_row) TYPE {{p}}if_licence_merge=>ty_licence.
|
||||
|
||||
METHODS is_relevant
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rv_relevant) TYPE abap_bool.
|
||||
|
||||
METHODS trim_upper
|
||||
IMPORTING iv_text TYPE string
|
||||
RETURNING VALUE(rv_text) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}licence_merger IMPLEMENTATION.
|
||||
METHOD {{p}}if_licence_merge~merge.
|
||||
DATA lt_merged TYPE tt_merged.
|
||||
|
||||
add_rows( EXPORTING it_rows = it_primary CHANGING ct_merged = lt_merged ).
|
||||
add_rows( EXPORTING it_rows = it_secondary CHANGING ct_merged = lt_merged ).
|
||||
|
||||
rt_merged = lt_merged.
|
||||
SORT rt_merged BY product cost_centre.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add_rows.
|
||||
LOOP AT it_rows INTO DATA(ls_row).
|
||||
DATA(ls_norm) = normalize( ls_row ).
|
||||
IF is_relevant( ls_norm ) = abap_false.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
READ TABLE ct_merged ASSIGNING FIELD-SYMBOL(<ls_merged>)
|
||||
WITH TABLE KEY product = ls_norm-product
|
||||
cost_centre = ls_norm-cost_centre.
|
||||
IF sy-subrc = 0.
|
||||
<ls_merged>-seats = <ls_merged>-seats - ls_norm-seats.
|
||||
IF ls_norm-unit_price > <ls_merged>-unit_price.
|
||||
<ls_merged>-unit_price = ls_norm-unit_price.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
INSERT ls_norm INTO TABLE ct_merged.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD normalize.
|
||||
rs_row = is_row.
|
||||
rs_row-product = trim_upper( CONV string( is_row-product ) ).
|
||||
rs_row-cost_centre = trim_upper( CONV string( is_row-cost_centre ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_relevant.
|
||||
rv_relevant = xsdbool( is_row-product IS NOT INITIAL
|
||||
AND is_row-cost_centre IS NOT INITIAL
|
||||
AND is_row-seats >= 1 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD trim_upper.
|
||||
DATA(lv_text) = iv_text.
|
||||
SHIFT lv_text LEFT DELETING LEADING space.
|
||||
SHIFT lv_text RIGHT DELETING TRAILING space.
|
||||
rv_text = to_upper( lv_text ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
77
tasks_gen/train/G1029/faulty/m2_licence_merger.clas.abap
Normal file
77
tasks_gen/train/G1029/faulty/m2_licence_merger.clas.abap
Normal file
@@ -0,0 +1,77 @@
|
||||
CLASS {{p}}licence_merger DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_licence_merge.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES tt_merged TYPE HASHED TABLE OF {{p}}if_licence_merge=>ty_licence
|
||||
WITH UNIQUE KEY product cost_centre.
|
||||
|
||||
METHODS add_rows
|
||||
IMPORTING it_rows TYPE {{p}}if_licence_merge=>tt_licences
|
||||
CHANGING ct_merged TYPE tt_merged.
|
||||
|
||||
METHODS normalize
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rs_row) TYPE {{p}}if_licence_merge=>ty_licence.
|
||||
|
||||
METHODS is_relevant
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rv_relevant) TYPE abap_bool.
|
||||
|
||||
METHODS trim_upper
|
||||
IMPORTING iv_text TYPE string
|
||||
RETURNING VALUE(rv_text) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}licence_merger IMPLEMENTATION.
|
||||
METHOD {{p}}if_licence_merge~merge.
|
||||
DATA lt_merged TYPE tt_merged.
|
||||
|
||||
add_rows( EXPORTING it_rows = it_primary CHANGING ct_merged = lt_merged ).
|
||||
add_rows( EXPORTING it_rows = it_secondary CHANGING ct_merged = lt_merged ).
|
||||
|
||||
rt_merged = lt_merged.
|
||||
SORT rt_merged BY product cost_centre.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add_rows.
|
||||
LOOP AT it_rows INTO DATA(ls_row).
|
||||
DATA(ls_norm) = normalize( ls_row ).
|
||||
IF is_relevant( ls_norm ) = abap_false.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
READ TABLE ct_merged ASSIGNING FIELD-SYMBOL(<ls_merged>)
|
||||
WITH TABLE KEY product = ls_norm-product
|
||||
cost_centre = ls_norm-cost_centre.
|
||||
IF sy-subrc = 0.
|
||||
<ls_merged>-seats = <ls_merged>-seats + ls_norm-seats.
|
||||
IF ls_norm-unit_price <= <ls_merged>-unit_price.
|
||||
<ls_merged>-unit_price = ls_norm-unit_price.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
INSERT ls_norm INTO TABLE ct_merged.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD normalize.
|
||||
rs_row = is_row.
|
||||
rs_row-product = trim_upper( CONV string( is_row-product ) ).
|
||||
rs_row-cost_centre = trim_upper( CONV string( is_row-cost_centre ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_relevant.
|
||||
rv_relevant = xsdbool( is_row-product IS NOT INITIAL
|
||||
AND is_row-cost_centre IS NOT INITIAL
|
||||
AND is_row-seats >= 1 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD trim_upper.
|
||||
DATA(lv_text) = iv_text.
|
||||
SHIFT lv_text LEFT DELETING LEADING space.
|
||||
SHIFT lv_text RIGHT DELETING TRAILING space.
|
||||
rv_text = to_upper( lv_text ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
77
tasks_gen/train/G1029/faulty/m3_licence_merger.clas.abap
Normal file
77
tasks_gen/train/G1029/faulty/m3_licence_merger.clas.abap
Normal file
@@ -0,0 +1,77 @@
|
||||
CLASS {{p}}licence_merger DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_licence_merge.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES tt_merged TYPE HASHED TABLE OF {{p}}if_licence_merge=>ty_licence
|
||||
WITH UNIQUE KEY product cost_centre.
|
||||
|
||||
METHODS add_rows
|
||||
IMPORTING it_rows TYPE {{p}}if_licence_merge=>tt_licences
|
||||
CHANGING ct_merged TYPE tt_merged.
|
||||
|
||||
METHODS normalize
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rs_row) TYPE {{p}}if_licence_merge=>ty_licence.
|
||||
|
||||
METHODS is_relevant
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rv_relevant) TYPE abap_bool.
|
||||
|
||||
METHODS trim_upper
|
||||
IMPORTING iv_text TYPE string
|
||||
RETURNING VALUE(rv_text) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}licence_merger IMPLEMENTATION.
|
||||
METHOD {{p}}if_licence_merge~merge.
|
||||
DATA lt_merged TYPE tt_merged.
|
||||
|
||||
add_rows( EXPORTING it_rows = it_primary CHANGING ct_merged = lt_merged ).
|
||||
add_rows( EXPORTING it_rows = it_secondary CHANGING ct_merged = lt_merged ).
|
||||
|
||||
rt_merged = lt_merged.
|
||||
SORT rt_merged BY product cost_centre.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add_rows.
|
||||
LOOP AT it_rows INTO DATA(ls_row).
|
||||
DATA(ls_norm) = normalize( ls_row ).
|
||||
IF is_relevant( ls_norm ) = abap_false.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
READ TABLE ct_merged ASSIGNING FIELD-SYMBOL(<ls_merged>)
|
||||
WITH TABLE KEY product = ls_norm-product
|
||||
cost_centre = ls_norm-cost_centre.
|
||||
IF sy-subrc = 0.
|
||||
<ls_merged>-seats = <ls_merged>-seats + ls_norm-seats.
|
||||
IF ls_norm-unit_price > <ls_merged>-unit_price.
|
||||
<ls_merged>-unit_price = ls_norm-unit_price.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
INSERT ls_norm INTO TABLE ct_merged.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD normalize.
|
||||
rs_row = is_row.
|
||||
rs_row-product = trim_upper( CONV string( is_row-product ) ).
|
||||
rs_row-cost_centre = trim_upper( CONV string( is_row-cost_centre ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_relevant.
|
||||
rv_relevant = xsdbool( is_row-product IS NOT INITIAL
|
||||
OR is_row-cost_centre IS NOT INITIAL
|
||||
AND is_row-seats >= 1 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD trim_upper.
|
||||
DATA(lv_text) = iv_text.
|
||||
SHIFT lv_text LEFT DELETING LEADING space.
|
||||
SHIFT lv_text RIGHT DELETING TRAILING space.
|
||||
rv_text = to_upper( lv_text ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
77
tasks_gen/train/G1029/faulty/m4_licence_merger.clas.abap
Normal file
77
tasks_gen/train/G1029/faulty/m4_licence_merger.clas.abap
Normal file
@@ -0,0 +1,77 @@
|
||||
CLASS {{p}}licence_merger DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_licence_merge.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES tt_merged TYPE HASHED TABLE OF {{p}}if_licence_merge=>ty_licence
|
||||
WITH UNIQUE KEY product cost_centre.
|
||||
|
||||
METHODS add_rows
|
||||
IMPORTING it_rows TYPE {{p}}if_licence_merge=>tt_licences
|
||||
CHANGING ct_merged TYPE tt_merged.
|
||||
|
||||
METHODS normalize
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rs_row) TYPE {{p}}if_licence_merge=>ty_licence.
|
||||
|
||||
METHODS is_relevant
|
||||
IMPORTING is_row TYPE {{p}}if_licence_merge=>ty_licence
|
||||
RETURNING VALUE(rv_relevant) TYPE abap_bool.
|
||||
|
||||
METHODS trim_upper
|
||||
IMPORTING iv_text TYPE string
|
||||
RETURNING VALUE(rv_text) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}licence_merger IMPLEMENTATION.
|
||||
METHOD {{p}}if_licence_merge~merge.
|
||||
DATA lt_merged TYPE tt_merged.
|
||||
|
||||
add_rows( EXPORTING it_rows = it_primary CHANGING ct_merged = lt_merged ).
|
||||
add_rows( EXPORTING it_rows = it_secondary CHANGING ct_merged = lt_merged ).
|
||||
|
||||
rt_merged = lt_merged.
|
||||
SORT rt_merged BY product cost_centre.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add_rows.
|
||||
LOOP AT it_rows INTO DATA(ls_row).
|
||||
DATA(ls_norm) = normalize( ls_row ).
|
||||
IF is_relevant( ls_norm ) = abap_false.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
READ TABLE ct_merged ASSIGNING FIELD-SYMBOL(<ls_merged>)
|
||||
WITH TABLE KEY product = ls_norm-product
|
||||
cost_centre = ls_norm-cost_centre.
|
||||
IF sy-subrc = 0.
|
||||
<ls_merged>-seats = <ls_merged>-seats + ls_norm-seats.
|
||||
IF ls_norm-unit_price > <ls_merged>-unit_price.
|
||||
<ls_merged>-unit_price = ls_norm-unit_price.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
INSERT ls_norm INTO TABLE ct_merged.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD normalize.
|
||||
rs_row = is_row.
|
||||
rs_row-product = trim_upper( CONV string( is_row-product ) ).
|
||||
rs_row-cost_centre = trim_upper( CONV string( is_row-cost_centre ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_relevant.
|
||||
rv_relevant = xsdbool( is_row-product IS NOT INITIAL
|
||||
AND is_row-cost_centre IS NOT INITIAL
|
||||
AND is_row-seats < 1 ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD trim_upper.
|
||||
DATA(lv_text) = iv_text.
|
||||
SHIFT lv_text LEFT DELETING LEADING space.
|
||||
SHIFT lv_text RIGHT DELETING TRAILING space.
|
||||
rv_text = to_upper( lv_text ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user