Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
78
tasks_gen/train/G1090/seed/ski_lift_old.prog.abap
Normal file
78
tasks_gen/train/G1090/seed/ski_lift_old.prog.abap
Normal file
@@ -0,0 +1,78 @@
|
||||
REPORT {{p}}ski_lift_old.
|
||||
|
||||
DATA: gv_lift TYPE {{p}}skiride-lift_id.
|
||||
|
||||
PARAMETERS p_season TYPE c LENGTH 4 OBLIGATORY.
|
||||
SELECT-OPTIONS s_lift FOR gv_lift.
|
||||
|
||||
TYPES: BEGIN OF ty_line,
|
||||
lift_id TYPE {{p}}skiride-lift_id,
|
||||
rides TYPE i,
|
||||
tickets TYPE i,
|
||||
revenue TYPE p LENGTH 15 DECIMALS 2,
|
||||
END OF ty_line.
|
||||
|
||||
DATA: gt_rides TYPE STANDARD TABLE OF {{p}}skiride,
|
||||
gt_lines TYPE STANDARD TABLE OF ty_line,
|
||||
gs_ride TYPE {{p}}skiride,
|
||||
gs_line TYPE ty_line,
|
||||
gv_index TYPE i,
|
||||
gv_found TYPE c LENGTH 1,
|
||||
gv_rev TYPE p LENGTH 15 DECIMALS 2.
|
||||
|
||||
START-OF-SELECTION.
|
||||
PERFORM read_rides.
|
||||
PERFORM build_lines.
|
||||
PERFORM sort_lines.
|
||||
PERFORM show_lines.
|
||||
|
||||
FORM read_rides.
|
||||
SELECT * FROM {{p}}skiride INTO TABLE gt_rides
|
||||
WHERE season = p_season
|
||||
AND lift_id IN s_lift.
|
||||
ENDFORM.
|
||||
|
||||
FORM build_lines.
|
||||
LOOP AT gt_rides INTO gs_ride.
|
||||
CLEAR: gv_found, gs_line.
|
||||
LOOP AT gt_lines INTO gs_line.
|
||||
IF gs_line-lift_id = gs_ride-lift_id.
|
||||
gv_found = 'X'.
|
||||
gv_index = sy-tabix.
|
||||
EXIT.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
IF gv_found = 'X'.
|
||||
READ TABLE gt_lines INTO gs_line INDEX gv_index.
|
||||
gs_line-rides = gs_line-rides + 1.
|
||||
gs_line-tickets = gs_line-tickets + gs_ride-tickets.
|
||||
COMPUTE gv_rev = gs_ride-tickets * gs_ride-fare.
|
||||
gs_line-revenue = gs_line-revenue + gv_rev.
|
||||
MODIFY gt_lines FROM gs_line INDEX gv_index.
|
||||
ELSE.
|
||||
CLEAR gs_line.
|
||||
gs_line-lift_id = gs_ride-lift_id.
|
||||
gs_line-rides = 1.
|
||||
gs_line-tickets = gs_ride-tickets.
|
||||
COMPUTE gs_line-revenue = gs_ride-tickets * gs_ride-fare.
|
||||
APPEND gs_line TO gt_lines.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDFORM.
|
||||
|
||||
FORM sort_lines.
|
||||
SORT gt_lines BY revenue DESCENDING.
|
||||
ENDFORM.
|
||||
|
||||
FORM show_lines.
|
||||
DATA: lo_alv TYPE REF TO cl_salv_table,
|
||||
lx_msg TYPE REF TO cx_salv_msg.
|
||||
TRY.
|
||||
CALL METHOD cl_salv_table=>factory
|
||||
IMPORTING r_salv_table = lo_alv
|
||||
CHANGING t_table = gt_lines.
|
||||
CALL METHOD lo_alv->display.
|
||||
CATCH cx_salv_msg INTO lx_msg.
|
||||
MESSAGE lx_msg TYPE 'I' DISPLAY LIKE 'E'.
|
||||
ENDTRY.
|
||||
ENDFORM.
|
||||
18
tasks_gen/train/G1090/seed/ski_seed.clas.abap
Normal file
18
tasks_gen/train/G1090/seed/ski_seed.clas.abap
Normal file
@@ -0,0 +1,18 @@
|
||||
CLASS {{p}}ski_seed DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES if_oo_adt_classrun.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS {{p}}ski_seed IMPLEMENTATION.
|
||||
METHOD if_oo_adt_classrun~main.
|
||||
DELETE FROM {{p}}skiride.
|
||||
INSERT {{p}}skiride FROM TABLE @( VALUE #(
|
||||
( ride_id = 1 lift_id = 'NORD' season = '2026' tickets = 10 fare = '25.00' )
|
||||
( ride_id = 2 lift_id = 'NORD' season = '2026' tickets = 6 fare = '25.00' )
|
||||
( ride_id = 3 lift_id = 'SUED' season = '2026' tickets = 20 fare = '30.00' )
|
||||
( ride_id = 4 lift_id = 'SUED' season = '2026' tickets = 5 fare = '30.00' )
|
||||
( ride_id = 5 lift_id = 'OST' season = '2026' tickets = 3 fare = '20.00' )
|
||||
( ride_id = 6 lift_id = 'WEST' season = '2025' tickets = 100 fare = '40.00' ) ) ).
|
||||
out->write( sy-dbcnt ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
13
tasks_gen/train/G1090/seed/skiride.tabl.asabap
Normal file
13
tasks_gen/train/G1090/seed/skiride.tabl.asabap
Normal file
@@ -0,0 +1,13 @@
|
||||
@EndUserText.label : 'Rides of the ski lifts'
|
||||
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
|
||||
@AbapCatalog.tableCategory : #TRANSPARENT
|
||||
@AbapCatalog.deliveryClass : #A
|
||||
@AbapCatalog.dataMaintenance : #RESTRICTED
|
||||
define table {{p}}skiride {
|
||||
key client : abap.clnt not null;
|
||||
key ride_id : abap.int4 not null;
|
||||
lift_id : abap.char(4);
|
||||
season : abap.char(4);
|
||||
tickets : abap.int4;
|
||||
fare : abap.dec(15,2);
|
||||
}
|
||||
Reference in New Issue
Block a user