Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
Kral
2026-10-03 12:10:52 +02:00
parent d3250acfb8
commit 39769afce8
741 changed files with 40573 additions and 317 deletions

View File

@@ -0,0 +1,79 @@
REPORT {{p}}carwash_rpt.
TABLES: {{p}}carwash, {{p}}washpgm.
PARAMETERS: p_from TYPE d OBLIGATORY,
p_to TYPE d OBLIGATORY.
SELECT-OPTIONS: s_prog FOR {{p}}carwash-wash_prog.
TYPES: BEGIN OF ty_out,
wash_prog TYPE {{p}}carwash-wash_prog,
prog_text TYPE {{p}}washpgm-prog_text,
washes TYPE i,
revenue TYPE {{p}}carwash-price,
vip_washes TYPE i,
vip_revenue TYPE {{p}}carwash-price,
END OF ty_out.
TYPES: BEGIN OF ty_data,
wash_prog TYPE {{p}}carwash-wash_prog,
price TYPE {{p}}carwash-price,
cust_type TYPE {{p}}carwash-cust_type,
END OF ty_data.
DATA: gt_out TYPE STANDARD TABLE OF ty_out WITH HEADER LINE,
gt_data TYPE STANDARD TABLE OF ty_data WITH HEADER LINE.
DATA: gv_text TYPE {{p}}washpgm-prog_text,
gv_alv TYPE REF TO cl_salv_table.
START-OF-SELECTION.
SELECT * FROM {{p}}carwash INTO CORRESPONDING FIELDS OF TABLE gt_data
WHERE wash_date >= p_from AND wash_date <= p_to.
LOOP AT gt_data.
IF gt_data-wash_prog IN s_prog.
READ TABLE gt_out WITH KEY wash_prog = gt_data-wash_prog.
IF sy-subrc = 0.
gt_out-washes = gt_out-washes + 1.
gt_out-revenue = gt_out-revenue + gt_data-price.
IF gt_data-cust_type = 'VIP'.
gt_out-vip_washes = gt_out-vip_washes + 1.
gt_out-vip_revenue = gt_out-vip_revenue + gt_data-price.
ENDIF.
MODIFY gt_out INDEX sy-tabix.
ELSE.
CLEAR gt_out.
gt_out-wash_prog = gt_data-wash_prog.
gt_out-washes = 1.
gt_out-revenue = gt_data-price.
IF gt_data-cust_type = 'VIP'.
gt_out-vip_washes = 1.
gt_out-vip_revenue = gt_data-price.
ELSE.
gt_out-vip_washes = 0.
gt_out-vip_revenue = 0.
ENDIF.
APPEND gt_out.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT gt_out.
CLEAR gv_text.
SELECT SINGLE prog_text FROM {{p}}washpgm INTO gv_text
WHERE wash_prog = gt_out-wash_prog.
gt_out-prog_text = gv_text.
MODIFY gt_out.
ENDLOOP.
SORT gt_out BY revenue DESCENDING.
TRY.
cl_salv_table=>factory(
IMPORTING r_salv_table = gv_alv
CHANGING t_table = gt_out[] ).
gv_alv->display( ).
CATCH cx_salv_msg.
ENDTRY.