Stage 2 summary at 50 accepted trajectories

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 18:02:52 +02:00
parent 332fb4601d
commit 5bcd1bf9cd
1230 changed files with 77563 additions and 33 deletions

View File

@@ -0,0 +1,80 @@
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.

View File

@@ -0,0 +1,19 @@
CLASS {{p}}ext_seed DEFINITION PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_oo_adt_classrun.
ENDCLASS.
CLASS {{p}}ext_seed IMPLEMENTATION.
METHOD if_oo_adt_classrun~main.
DELETE FROM {{p}}exting.
INSERT {{p}}exting FROM TABLE @( VALUE #(
( ext_id = 1 site = 'W1' ext_type = 'CO2' weight_g = 3500 pressure_bar = 15 last_check = '20260105' next_check = '20270105' )
( ext_id = 2 site = 'W1' ext_type = 'PW' weight_g = 6000 pressure_bar = 8 last_check = '20260120' next_check = '20270120' )
( ext_id = 3 site = 'W2' ext_type = 'PW' weight_g = 9000 pressure_bar = 14 last_check = '20260201' next_check = '20260501' )
( ext_id = 4 site = 'W2' ext_type = 'CO2' weight_g = 5000 pressure_bar = 10 last_check = '20260215' next_check = '20270215' )
( ext_id = 5 site = 'W3' ext_type = 'PW' weight_g = 3999 pressure_bar = 13 last_check = '20260301' next_check = '20270301' )
( ext_id = 6 site = 'W4' ext_type = 'CO2' weight_g = 7000 pressure_bar = 9 last_check = '20251220' next_check = '20261220' )
( ext_id = 7 site = 'W3' ext_type = 'PW' weight_g = 4000 pressure_bar = 11 last_check = '20251228' next_check = '20261024' ) ) ).
out->write( sy-dbcnt ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,15 @@
@EndUserText.label : 'Fire extinguishers'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table {{p}}exting {
key client : abap.clnt not null;
key ext_id : abap.int4 not null;
site : abap.char(6);
ext_type : abap.char(2);
weight_g : abap.int4;
pressure_bar : abap.int4;
last_check : abap.dats;
next_check : abap.dats;
}