Files
abap-llm/tasks_gen/eval/G0141/seed/helpdesk_old.prog.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.