@@ -20,57 +20,82 @@ CLASS zcl_ale_log_reader_bal IMPLEMENTATION.
2020 DATA message_parameters TYPE STANDARD TABLE OF balmp.
2121 DATA contexts TYPE STANDARD TABLE OF balc.
2222 DATA exceptions TYPE STANDARD TABLE OF bal_s_exception.
23+ DATA log_entry TYPE string .
2324
25+ FIELD-SYMBOLS <object_range> TYPE STANDARD TABLE .
26+ FIELD-SYMBOLS <subobject_range> TYPE STANDARD TABLE .
2427
25- DATA (object ) = VALUE balobj_d( filter_values[ key = 'OBJECT' ]-value ).
26- DATA (subobject ) = VALUE balsubobj( filter_values[ key = 'SUBOBJECT' ]-value ).
27- DATA (date_from ) = VALUE baldate( filter_values[ key = 'DATE_FROM' ]-value ).
28- DATA (time_from ) = VALUE baltime( filter_values[ key = 'TIME_FROM' ]-value ).
29- DATA (date_to ) = VALUE baldate( filter_values[ key = 'DATE_TO' ]-value ).
30- DATA (time_to ) = VALUE baltime( filter_values[ key = 'TIME_TO' ]-value ).
31-
32-
33- CALL FUNCTION 'APPL_LOG_READ_DB'
34- EXPORTING
35- object = object
36- subobject = subobject
37- * external_number = space " external number
38- date_from = date_from
39- date_to = date_to
40- time_from = time_from
41- time_to = time_to
42- * log_class = '4' " Problem class
43- * program_name = '*' " Program name
44- * transaction_code = '*' " Transaction name
45- * user_id = space " User name
46- * mode = '+' " Operating mode
47- * put_into_memory = space
48- * IMPORTING
49- * number_of_logs = " Number of logs read
50- TABLES
51- header_data = header_data
52- header_parameters = header_parameters
53- messages = messages
54- message_parameters = message_parameters
55- contexts = contexts
56- t_exceptions = exceptions .
57-
58- DATA log_entry TYPE string .
59- LOOP AT header_data ASSIGNING FIELD-SYMBOL (<header_data> ).
60- LOOP AT messages ASSIGNING FIELD-SYMBOL (<message> ) WHERE lognumber = <header_data> -lognumber.
61-
62- MESSAGE ID <message> -msgid TYPE <message> -msgty NUMBER <message> -msgno
63- WITH <message> -msgv1 <message> -msgv2 <message> -msgv3 <message> -msgv4
64- INTO log_entry.
65-
66- DATA (additional_fields ) = VALUE zif_ale_log_reader=>ty_additional_fields( ( field = 'object' value = <header_data> -object )
67- ( field = 'subobject' value = <header_data> -subobject ) ).
68-
69- logs = VALUE #( BASE logs ( level = <message> -msgty
70- header_text = | { <header_data>-extnumber } / { <header_data>-object } / { <header_data>-subobject } |
71- item_text = log_entry
72- additional_fields = additional_fields ) ).
28+ DATA (object_ref ) = filter_values[ key = 'OBJECT' ]-value.
29+ ASSIGN object_ref->* TO <object_range> .
30+
31+ DATA (subobject_ref ) = filter_values[ key = 'SUBOBJECT' ]-value.
32+ ASSIGN subobject_ref->* TO <subobject_range> .
33+
34+ SELECT
35+ object ,
36+ subobject
37+ FROM balsub
38+ INTO TABLE @DATA (objects )
39+ WHERE object IN @<object_range>
40+ AND subobject IN @<subobject_range> .
41+
42+
43+ DATA (date_from_ref ) = filter_values[ key = 'DATE_FROM' ]-value.
44+ ASSIGN date_from_ref->* TO FIELD-SYMBOL (<date_from> ).
45+
46+ DATA (time_from_ref ) = filter_values[ key = 'TIME_FROM' ]-value.
47+ ASSIGN time_from_ref->* TO FIELD-SYMBOL (<time_from> ).
7348
49+ DATA (date_to_ref ) = filter_values[ key = 'DATE_TO' ]-value.
50+ ASSIGN date_to_ref->* TO FIELD-SYMBOL (<date_to> ).
51+
52+ DATA (time_to_ref ) = filter_values[ key = 'TIME_TO' ]-value.
53+ ASSIGN time_to_ref->* TO FIELD-SYMBOL (<time_to> ).
54+
55+
56+ LOOP AT objects ASSIGNING FIELD-SYMBOL (<object> ).
57+
58+ CALL FUNCTION 'APPL_LOG_READ_DB'
59+ EXPORTING
60+ object = <object> -object
61+ subobject = <object> -subobject
62+ * external_number = space " external number
63+ date_from = CONV baldate( <date_from> )
64+ date_to = CONV baldate( <date_to> )
65+ time_from = CONV baltime( <time_from> )
66+ time_to = CONV baltime( <time_to> )
67+ * log_class = '4' " Problem class
68+ * program_name = '*' " Program name
69+ * transaction_code = '*' " Transaction name
70+ * user_id = space " User name
71+ * mode = '+' " Operating mode
72+ * put_into_memory = space
73+ * IMPORTING
74+ * number_of_logs = " Number of logs read
75+ TABLES
76+ header_data = header_data
77+ header_parameters = header_parameters
78+ messages = messages
79+ message_parameters = message_parameters
80+ contexts = contexts
81+ t_exceptions = exceptions .
82+
83+ LOOP AT header_data ASSIGNING FIELD-SYMBOL (<header_data> ).
84+ LOOP AT messages ASSIGNING FIELD-SYMBOL (<message> ) WHERE lognumber = <header_data> -lognumber.
85+
86+ MESSAGE ID <message> -msgid TYPE <message> -msgty NUMBER <message> -msgno
87+ WITH <message> -msgv1 <message> -msgv2 <message> -msgv3 <message> -msgv4
88+ INTO log_entry.
89+
90+ DATA (additional_fields ) = VALUE zif_ale_log_reader=>ty_additional_fields( ( field = 'object' value = <header_data> -object )
91+ ( field = 'subobject' value = <header_data> -subobject ) ).
92+
93+ logs = VALUE #( BASE logs ( level = <message> -msgty
94+ header_text = | { <header_data>-extnumber } / { <header_data>-object } / { <header_data>-subobject } |
95+ item_text = log_entry
96+ additional_fields = additional_fields ) ).
97+
98+ ENDLOOP .
7499 ENDLOOP .
75100 ENDLOOP .
76101
0 commit comments