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:
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.
|
||||
Reference in New Issue
Block a user