Generator: pilot analysis and fixes; G0002-G0021 tasks; handover notes merged
- Static bundle checks (name length, seed type, reserved words, contract test classes, testclasses_file), local abaplint parser check before SAP, max_tokens, robust JSON parse - Runner: G2 for CDS views with parameters, contract_check detail in report - G0020 and G0013 fixed by review and revalidated (oracle 100, null 0) - Pilot results in docs/faz1-tasarim.md 11e; handover notes merged into CLAUDE.md and docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
14
tasks_gen/eval/G0016/seed/move.tabl.asabap
Normal file
14
tasks_gen/eval/G0016/seed/move.tabl.asabap
Normal file
@@ -0,0 +1,14 @@
|
||||
@EndUserText.label : 'Stock movements'
|
||||
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
|
||||
@AbapCatalog.tableCategory : #TRANSPARENT
|
||||
@AbapCatalog.deliveryClass : #A
|
||||
@AbapCatalog.dataMaintenance : #RESTRICTED
|
||||
define table {{p}}move {
|
||||
key client : abap.clnt not null;
|
||||
key mov_id : abap.int4 not null;
|
||||
material : abap.char(10);
|
||||
plant : abap.char(4);
|
||||
move_date : abap.dats;
|
||||
move_type : abap.char(2);
|
||||
quantity : abap.dec(15,3);
|
||||
}
|
||||
20
tasks_gen/eval/G0016/seed/seed_move.clas.abap
Normal file
20
tasks_gen/eval/G0016/seed/seed_move.clas.abap
Normal file
@@ -0,0 +1,20 @@
|
||||
CLASS {{p}}seed_move DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES if_oo_adt_classrun.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS {{p}}seed_move IMPLEMENTATION.
|
||||
METHOD if_oo_adt_classrun~main.
|
||||
DELETE FROM {{p}}move.
|
||||
INSERT {{p}}move FROM TABLE @( VALUE #(
|
||||
( mov_id = 1 material = 'MAT-001' plant = '1000' move_date = '20260110' move_type = 'GR' quantity = '100.000' )
|
||||
( mov_id = 2 material = 'MAT-001' plant = '1000' move_date = '20260120' move_type = 'GR' quantity = '50.000' )
|
||||
( mov_id = 3 material = 'MAT-001' plant = '1000' move_date = '20260115' move_type = 'GI' quantity = '30.000' )
|
||||
( mov_id = 4 material = 'MAT-001' plant = '2000' move_date = '20260112' move_type = 'GI' quantity = '40.000' )
|
||||
( mov_id = 5 material = 'MAT-002' plant = '1000' move_date = '20260201' move_type = 'GR' quantity = '200.000' )
|
||||
( mov_id = 6 material = 'MAT-002' plant = '2000' move_date = '20260115' move_type = 'GR' quantity = '10.000' )
|
||||
( mov_id = 7 material = 'MAT-002' plant = '2000' move_date = '20260116' move_type = 'GI' quantity = '25.000' )
|
||||
( mov_id = 8 material = 'MAT-003' plant = '1000' move_date = '20251231' move_type = 'GR' quantity = '500.000' ) ) ).
|
||||
out->write( sy-dbcnt ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
82
tasks_gen/eval/G0016/seed/stock_net.prog.abap
Normal file
82
tasks_gen/eval/G0016/seed/stock_net.prog.abap
Normal file
@@ -0,0 +1,82 @@
|
||||
REPORT {{p}}stock_net.
|
||||
|
||||
TYPES: BEGIN OF ty_key,
|
||||
material TYPE {{p}}move-material,
|
||||
plant TYPE {{p}}move-plant,
|
||||
END OF ty_key,
|
||||
BEGIN OF ty_out,
|
||||
material TYPE {{p}}move-material,
|
||||
plant TYPE {{p}}move-plant,
|
||||
net_qty TYPE {{p}}move-quantity,
|
||||
move_count TYPE i,
|
||||
END OF ty_out.
|
||||
|
||||
DATA: gv_matnr TYPE {{p}}move-material,
|
||||
gv_from TYPE d,
|
||||
gv_to TYPE d,
|
||||
gv_gr TYPE {{p}}move-quantity,
|
||||
gv_gi TYPE {{p}}move-quantity,
|
||||
gv_cnt TYPE i,
|
||||
gs_key TYPE ty_key,
|
||||
gs_out TYPE ty_out,
|
||||
gt_keys TYPE STANDARD TABLE OF ty_key,
|
||||
gt_out TYPE STANDARD TABLE OF ty_out,
|
||||
go_alv TYPE REF TO cl_salv_table,
|
||||
gx_msg TYPE REF TO cx_salv_msg.
|
||||
|
||||
PARAMETERS: p_from TYPE d OBLIGATORY,
|
||||
p_to TYPE d OBLIGATORY.
|
||||
SELECT-OPTIONS: s_matnr FOR gv_matnr.
|
||||
|
||||
START-OF-SELECTION.
|
||||
gv_from = p_from.
|
||||
gv_to = p_to.
|
||||
|
||||
SELECT DISTINCT material, plant
|
||||
FROM {{p}}move
|
||||
INTO TABLE gt_keys
|
||||
WHERE move_date >= gv_from
|
||||
AND move_date <= gv_to
|
||||
AND material IN s_matnr
|
||||
ORDER BY material, plant.
|
||||
|
||||
LOOP AT gt_keys INTO gs_key.
|
||||
CLEAR: gv_gr, gv_gi, gv_cnt, gs_out.
|
||||
|
||||
SELECT SUM( quantity ) FROM {{p}}move INTO gv_gr
|
||||
WHERE material = gs_key-material
|
||||
AND plant = gs_key-plant
|
||||
AND move_type = 'GR'
|
||||
AND move_date >= gv_from
|
||||
AND move_date <= gv_to.
|
||||
|
||||
SELECT SUM( quantity ) FROM {{p}}move INTO gv_gi
|
||||
WHERE material = gs_key-material
|
||||
AND plant = gs_key-plant
|
||||
AND move_type = 'GI'
|
||||
AND move_date >= gv_from
|
||||
AND move_date <= gv_to.
|
||||
|
||||
SELECT COUNT(*) FROM {{p}}move INTO gv_cnt
|
||||
WHERE material = gs_key-material
|
||||
AND plant = gs_key-plant
|
||||
AND move_date >= gv_from
|
||||
AND move_date <= gv_to.
|
||||
|
||||
gs_out-material = gs_key-material.
|
||||
gs_out-plant = gs_key-plant.
|
||||
gs_out-net_qty = gv_gr - gv_gi.
|
||||
gs_out-move_count = gv_cnt.
|
||||
APPEND gs_out TO gt_out.
|
||||
ENDLOOP.
|
||||
|
||||
TRY.
|
||||
CALL METHOD cl_salv_table=>factory
|
||||
IMPORTING
|
||||
r_salv_table = go_alv
|
||||
CHANGING
|
||||
t_table = gt_out.
|
||||
CALL METHOD go_alv->display.
|
||||
CATCH cx_salv_msg INTO gx_msg.
|
||||
MESSAGE gx_msg TYPE 'I' DISPLAY LIKE 'E'.
|
||||
ENDTRY.
|
||||
82
tasks_gen/eval/G0016/seed/stock_net_old.prog.abap
Normal file
82
tasks_gen/eval/G0016/seed/stock_net_old.prog.abap
Normal file
@@ -0,0 +1,82 @@
|
||||
REPORT {{p}}stock_net_old.
|
||||
|
||||
TYPES: BEGIN OF ty_key,
|
||||
material TYPE {{p}}move-material,
|
||||
plant TYPE {{p}}move-plant,
|
||||
END OF ty_key,
|
||||
BEGIN OF ty_out,
|
||||
material TYPE {{p}}move-material,
|
||||
plant TYPE {{p}}move-plant,
|
||||
net_qty TYPE {{p}}move-quantity,
|
||||
move_count TYPE i,
|
||||
END OF ty_out.
|
||||
|
||||
DATA: gv_matnr TYPE {{p}}move-material,
|
||||
gv_from TYPE d,
|
||||
gv_to TYPE d,
|
||||
gv_gr TYPE {{p}}move-quantity,
|
||||
gv_gi TYPE {{p}}move-quantity,
|
||||
gv_cnt TYPE i,
|
||||
gs_key TYPE ty_key,
|
||||
gs_out TYPE ty_out,
|
||||
gt_keys TYPE STANDARD TABLE OF ty_key,
|
||||
gt_out TYPE STANDARD TABLE OF ty_out,
|
||||
go_alv TYPE REF TO cl_salv_table,
|
||||
gx_msg TYPE REF TO cx_salv_msg.
|
||||
|
||||
PARAMETERS: p_from TYPE d OBLIGATORY,
|
||||
p_to TYPE d OBLIGATORY.
|
||||
SELECT-OPTIONS: s_matnr FOR gv_matnr.
|
||||
|
||||
START-OF-SELECTION.
|
||||
gv_from = p_from.
|
||||
gv_to = p_to.
|
||||
|
||||
SELECT DISTINCT material plant
|
||||
FROM {{p}}move
|
||||
INTO TABLE gt_keys
|
||||
WHERE move_date >= gv_from
|
||||
AND move_date <= gv_to
|
||||
AND material IN s_matnr.
|
||||
SORT gt_keys BY material plant.
|
||||
|
||||
LOOP AT gt_keys INTO gs_key.
|
||||
CLEAR: gv_gr, gv_gi, gv_cnt, gs_out.
|
||||
|
||||
SELECT SUM( quantity ) FROM {{p}}move INTO gv_gr
|
||||
WHERE material = gs_key-material
|
||||
AND plant = gs_key-plant
|
||||
AND move_type = 'GR'
|
||||
AND move_date >= gv_from
|
||||
AND move_date <= gv_to.
|
||||
|
||||
SELECT SUM( quantity ) FROM {{p}}move INTO gv_gi
|
||||
WHERE material = gs_key-material
|
||||
AND plant = gs_key-plant
|
||||
AND move_type = 'GI'
|
||||
AND move_date >= gv_from
|
||||
AND move_date <= gv_to.
|
||||
|
||||
SELECT COUNT(*) FROM {{p}}move INTO gv_cnt
|
||||
WHERE material = gs_key-material
|
||||
AND plant = gs_key-plant
|
||||
AND move_date >= gv_from
|
||||
AND move_date <= gv_to.
|
||||
|
||||
gs_out-material = gs_key-material.
|
||||
gs_out-plant = gs_key-plant.
|
||||
gs_out-net_qty = gv_gr - gv_gi.
|
||||
gs_out-move_count = gv_cnt.
|
||||
APPEND gs_out TO gt_out.
|
||||
ENDLOOP.
|
||||
|
||||
TRY.
|
||||
CALL METHOD cl_salv_table=>factory
|
||||
IMPORTING
|
||||
r_salv_table = go_alv
|
||||
CHANGING
|
||||
t_table = gt_out.
|
||||
CALL METHOD go_alv->display.
|
||||
CATCH cx_salv_msg INTO gx_msg.
|
||||
MESSAGE gx_msg TYPE 'I' DISPLAY LIKE 'E'.
|
||||
ENDTRY.
|
||||
Reference in New Issue
Block a user