81 lines
2.1 KiB
ABAP
81 lines
2.1 KiB
ABAP
REPORT {{p}}ext_check_old.
|
|
|
|
DATA gv_site TYPE {{p}}exting-site.
|
|
|
|
PARAMETERS: p_from TYPE d OBLIGATORY,
|
|
p_to TYPE d OBLIGATORY.
|
|
|
|
SELECT-OPTIONS: s_site FOR gv_site.
|
|
|
|
PARAMETERS p_defect AS CHECKBOX.
|
|
|
|
TYPES: BEGIN OF ty_line,
|
|
ext_id TYPE {{p}}exting-ext_id,
|
|
site TYPE {{p}}exting-site,
|
|
ext_type TYPE {{p}}exting-ext_type,
|
|
weight_g TYPE i,
|
|
pressure_bar TYPE i,
|
|
state TYPE c LENGTH 7,
|
|
urgency TYPE i,
|
|
END OF ty_line.
|
|
|
|
DATA: gt_lines TYPE STANDARD TABLE OF ty_line WITH DEFAULT KEY,
|
|
gs_line TYPE ty_line,
|
|
lt_ext TYPE STANDARD TABLE OF {{p}}exting,
|
|
ls_ext TYPE {{p}}exting,
|
|
lv_state TYPE c LENGTH 7,
|
|
lv_prio TYPE i,
|
|
lo_alv TYPE REF TO cl_salv_table.
|
|
|
|
START-OF-SELECTION.
|
|
|
|
SELECT * FROM {{p}}exting INTO TABLE lt_ext.
|
|
|
|
LOOP AT lt_ext INTO ls_ext.
|
|
IF ls_ext-last_check >= p_from AND ls_ext-last_check <= p_to
|
|
AND ls_ext-site IN s_site.
|
|
IF ls_ext-weight_g < 4000.
|
|
IF ls_ext-ext_type = 'CO2'.
|
|
lv_state = 'REPLACE'.
|
|
ELSE.
|
|
lv_state = 'REFILL'.
|
|
ENDIF.
|
|
lv_prio = 1.
|
|
ELSEIF ls_ext-pressure_bar < 10.
|
|
lv_state = 'SERVICE'.
|
|
lv_prio = 2.
|
|
ELSEIF ls_ext-next_check - ls_ext-last_check < 300.
|
|
lv_state = 'SHORT'.
|
|
lv_prio = 3.
|
|
ELSE.
|
|
lv_state = 'OK'.
|
|
lv_prio = 4.
|
|
ENDIF.
|
|
IF p_defect = 'X' AND lv_prio = 4.
|
|
CONTINUE.
|
|
ENDIF.
|
|
CLEAR gs_line.
|
|
gs_line-ext_id = ls_ext-ext_id.
|
|
gs_line-site = ls_ext-site.
|
|
gs_line-ext_type = ls_ext-ext_type.
|
|
gs_line-weight_g = ls_ext-weight_g.
|
|
gs_line-pressure_bar = ls_ext-pressure_bar.
|
|
gs_line-state = lv_state.
|
|
gs_line-urgency = lv_prio.
|
|
APPEND gs_line TO gt_lines.
|
|
ENDIF.
|
|
ENDLOOP.
|
|
|
|
SORT gt_lines BY urgency ASCENDING ext_id ASCENDING.
|
|
|
|
PERFORM display_alv.
|
|
|
|
FORM display_alv.
|
|
TRY.
|
|
cl_salv_table=>factory( IMPORTING r_salv_table = lo_alv
|
|
CHANGING t_table = gt_lines ).
|
|
lo_alv->display( ).
|
|
CATCH cx_salv_msg.
|
|
ENDTRY.
|
|
ENDFORM.
|