Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
14
tasks_gen/train/G1094/seed/booking.tabl.asabap
Normal file
14
tasks_gen/train/G1094/seed/booking.tabl.asabap
Normal file
@@ -0,0 +1,14 @@
|
||||
@EndUserText.label : 'Court bookings'
|
||||
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
|
||||
@AbapCatalog.tableCategory : #TRANSPARENT
|
||||
@AbapCatalog.deliveryClass : #A
|
||||
@AbapCatalog.dataMaintenance : #RESTRICTED
|
||||
define table {{p}}booking {
|
||||
key client : abap.clnt not null;
|
||||
key booking_id : abap.int4 not null;
|
||||
court_id : abap.char(4);
|
||||
member_id : abap.char(10);
|
||||
booking_date : abap.dats;
|
||||
duration_min : abap.int4;
|
||||
booking_state : abap.char(1);
|
||||
}
|
||||
12
tasks_gen/train/G1094/seed/court.tabl.asabap
Normal file
12
tasks_gen/train/G1094/seed/court.tabl.asabap
Normal file
@@ -0,0 +1,12 @@
|
||||
@EndUserText.label : 'Tennis courts'
|
||||
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
|
||||
@AbapCatalog.tableCategory : #TRANSPARENT
|
||||
@AbapCatalog.deliveryClass : #A
|
||||
@AbapCatalog.dataMaintenance : #RESTRICTED
|
||||
define table {{p}}court {
|
||||
key client : abap.clnt not null;
|
||||
key court_id : abap.char(4) not null;
|
||||
court_name : abap.char(20);
|
||||
court_kind : abap.char(1);
|
||||
hourly_rate : abap.dec(9,2);
|
||||
}
|
||||
92
tasks_gen/train/G1094/seed/court_old.prog.abap
Normal file
92
tasks_gen/train/G1094/seed/court_old.prog.abap
Normal file
@@ -0,0 +1,92 @@
|
||||
REPORT {{p}}court_old.
|
||||
|
||||
TYPES: BEGIN OF ty_result,
|
||||
court TYPE {{p}}court-court_id,
|
||||
bookings TYPE i,
|
||||
total_min TYPE i,
|
||||
charge TYPE p LENGTH 11 DECIMALS 2,
|
||||
END OF ty_result.
|
||||
|
||||
DATA: gt_booking TYPE STANDARD TABLE OF {{p}}booking,
|
||||
gt_court TYPE STANDARD TABLE OF {{p}}court,
|
||||
gt_result TYPE STANDARD TABLE OF ty_result,
|
||||
gs_booking TYPE {{p}}booking,
|
||||
gs_court TYPE {{p}}court,
|
||||
gs_result TYPE ty_result,
|
||||
gs_next TYPE ty_result,
|
||||
gv_court TYPE {{p}}court-court_id,
|
||||
gv_fee TYPE p LENGTH 11 DECIMALS 2,
|
||||
gv_lines TYPE i,
|
||||
gv_outer TYPE i,
|
||||
gv_inner TYPE i,
|
||||
gv_i TYPE i,
|
||||
gv_j TYPE i,
|
||||
gv_k TYPE i,
|
||||
go_alv TYPE REF TO cl_salv_table.
|
||||
|
||||
PARAMETERS p_date TYPE d OBLIGATORY.
|
||||
SELECT-OPTIONS s_court FOR gv_court.
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
||||
SELECT * FROM {{p}}court INTO TABLE gt_court.
|
||||
|
||||
SELECT * FROM {{p}}booking INTO TABLE gt_booking WHERE booking_date = p_date.
|
||||
|
||||
LOOP AT gt_booking INTO gs_booking.
|
||||
IF gs_booking-booking_state <> 'X'.
|
||||
IF gs_booking-court_id IN s_court.
|
||||
READ TABLE gt_court INTO gs_court WITH KEY court_id = gs_booking-court_id.
|
||||
IF sy-subrc = 0.
|
||||
CLEAR gv_fee.
|
||||
gv_fee = gs_booking-duration_min * gs_court-hourly_rate / 60.
|
||||
READ TABLE gt_result INTO gs_result WITH KEY court = gs_booking-court_id.
|
||||
IF sy-subrc = 0.
|
||||
gv_i = sy-tabix.
|
||||
gs_result-bookings = gs_result-bookings + 1.
|
||||
gs_result-total_min = gs_result-total_min + gs_booking-duration_min.
|
||||
gs_result-charge = gs_result-charge + gv_fee.
|
||||
MODIFY gt_result FROM gs_result INDEX gv_i.
|
||||
ELSE.
|
||||
CLEAR gs_result.
|
||||
gs_result-court = gs_booking-court_id.
|
||||
gs_result-bookings = 1.
|
||||
gs_result-total_min = gs_booking-duration_min.
|
||||
gs_result-charge = gv_fee.
|
||||
APPEND gs_result TO gt_result.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
LOOP AT gt_result INTO gs_result.
|
||||
IF gs_result-bookings < 2.
|
||||
DELETE gt_result INDEX sy-tabix.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
gv_lines = lines( gt_result ).
|
||||
gv_outer = gv_lines - 1.
|
||||
DO gv_outer TIMES.
|
||||
gv_i = sy-index.
|
||||
gv_inner = gv_lines - gv_i.
|
||||
DO gv_inner TIMES.
|
||||
gv_j = sy-index.
|
||||
gv_k = gv_j + 1.
|
||||
READ TABLE gt_result INTO gs_result INDEX gv_j.
|
||||
READ TABLE gt_result INTO gs_next INDEX gv_k.
|
||||
IF gs_next-court < gs_result-court.
|
||||
MODIFY gt_result FROM gs_next INDEX gv_j.
|
||||
MODIFY gt_result FROM gs_result INDEX gv_k.
|
||||
ENDIF.
|
||||
ENDDO.
|
||||
ENDDO.
|
||||
|
||||
TRY.
|
||||
cl_salv_table=>factory(
|
||||
IMPORTING r_salv_table = go_alv
|
||||
CHANGING t_table = gt_result ).
|
||||
go_alv->display( ).
|
||||
CATCH cx_salv_msg.
|
||||
ENDTRY.
|
||||
32
tasks_gen/train/G1094/seed/court_seed.clas.abap
Normal file
32
tasks_gen/train/G1094/seed/court_seed.clas.abap
Normal file
@@ -0,0 +1,32 @@
|
||||
CLASS {{p}}court_seed DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES if_oo_adt_classrun.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS {{p}}court_seed IMPLEMENTATION.
|
||||
METHOD if_oo_adt_classrun~main.
|
||||
DELETE FROM {{p}}booking.
|
||||
DELETE FROM {{p}}court.
|
||||
|
||||
INSERT {{p}}court FROM TABLE @( VALUE #(
|
||||
( court_id = 'C001' court_name = 'Centre Court' court_kind = 'I' hourly_rate = '12.00' )
|
||||
( court_id = 'C002' court_name = 'North Court' court_kind = 'O' hourly_rate = '16.00' )
|
||||
( court_id = 'C003' court_name = 'East Court' court_kind = 'I' hourly_rate = '20.00' )
|
||||
( court_id = 'C004' court_name = 'West Court' court_kind = 'O' hourly_rate = '10.00' ) ) ).
|
||||
|
||||
INSERT {{p}}booking FROM TABLE @( VALUE #(
|
||||
( booking_id = 1 court_id = 'C001' member_id = 'M01' booking_date = '20260401' duration_min = 60 booking_state = 'B' )
|
||||
( booking_id = 2 court_id = 'C001' member_id = 'M02' booking_date = '20260401' duration_min = 30 booking_state = 'B' )
|
||||
( booking_id = 3 court_id = 'C001' member_id = 'M03' booking_date = '20260401' duration_min = 60 booking_state = 'X' )
|
||||
( booking_id = 4 court_id = 'C002' member_id = 'M04' booking_date = '20260401' duration_min = 90 booking_state = 'B' )
|
||||
( booking_id = 5 court_id = 'C002' member_id = 'M05' booking_date = '20260401' duration_min = 30 booking_state = 'B' )
|
||||
( booking_id = 6 court_id = 'C002' member_id = 'M06' booking_date = '20260401' duration_min = 60 booking_state = 'X' )
|
||||
( booking_id = 7 court_id = 'C003' member_id = 'M07' booking_date = '20260401' duration_min = 60 booking_state = 'B' )
|
||||
( booking_id = 8 court_id = 'C004' member_id = 'M08' booking_date = '20260401' duration_min = 45 booking_state = 'B' )
|
||||
( booking_id = 9 court_id = 'C002' member_id = 'M09' booking_date = '20260331' duration_min = 60 booking_state = 'B' )
|
||||
( booking_id = 10 court_id = 'C003' member_id = 'M10' booking_date = '20260331' duration_min = 60 booking_state = 'B' )
|
||||
( booking_id = 11 court_id = 'C003' member_id = 'M11' booking_date = '20260331' duration_min = 60 booking_state = 'B' ) ) ).
|
||||
|
||||
out->write( sy-dbcnt ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user