Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
52 lines
1.5 KiB
ABAP
52 lines
1.5 KiB
ABAP
REPORT {{p}}helpdesk_old.
|
|
|
|
TYPES: BEGIN OF ty_line,
|
|
team TYPE {{p}}ticket-team,
|
|
tickets TYPE i,
|
|
urgent TYPE i,
|
|
END OF ty_line.
|
|
|
|
DATA: gt_line TYPE STANDARD TABLE OF ty_line,
|
|
gt_team TYPE STANDARD TABLE OF {{p}}ticket-team,
|
|
gv_tickets TYPE i,
|
|
gv_urgent TYPE i,
|
|
ls_line TYPE ty_line,
|
|
lv_team TYPE {{p}}ticket-team,
|
|
gv_team TYPE {{p}}ticket-team,
|
|
lo_alv TYPE REF TO cl_salv_table.
|
|
|
|
PARAMETERS p_from TYPE d OBLIGATORY.
|
|
PARAMETERS p_to TYPE d OBLIGATORY.
|
|
SELECT-OPTIONS s_team FOR gv_team.
|
|
|
|
START-OF-SELECTION.
|
|
SELECT DISTINCT team FROM {{p}}ticket INTO TABLE gt_team
|
|
WHERE opened_on >= p_from AND opened_on <= p_to
|
|
AND team IN s_team.
|
|
|
|
LOOP AT gt_team INTO lv_team.
|
|
SELECT COUNT(*) FROM {{p}}ticket INTO gv_tickets
|
|
WHERE team = lv_team
|
|
AND opened_on >= p_from AND opened_on <= p_to.
|
|
|
|
SELECT COUNT(*) FROM {{p}}ticket INTO gv_urgent
|
|
WHERE team = lv_team
|
|
AND opened_on >= p_from AND opened_on <= p_to
|
|
AND ( priority = '1' OR priority = '2' ).
|
|
|
|
ls_line-team = lv_team.
|
|
ls_line-tickets = gv_tickets.
|
|
ls_line-urgent = gv_urgent.
|
|
APPEND ls_line TO gt_line.
|
|
ENDLOOP.
|
|
|
|
SORT gt_line BY tickets DESCENDING team ASCENDING.
|
|
|
|
TRY.
|
|
cl_salv_table=>factory( IMPORTING r_salv_table = lo_alv
|
|
CHANGING t_table = gt_line ).
|
|
lo_alv->display( ).
|
|
CATCH cx_salv_msg INTO DATA(lx_error).
|
|
MESSAGE lx_error TYPE 'I' DISPLAY LIKE 'E'.
|
|
ENDTRY.
|