1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | |
28 | |
29 |
30 |
31 |
32 | FORM csv_tools. |
33 | PERFORM csv_tools_text_elements. |
34 | PERFORM text_tools. |
35 | |
36 | PERFORM csv_tools_table_structure. |
37 | PERFORM csv_tools_tabstrip. |
38 | PERFORM csv_tools_varid_broken. |
39 | ENDFORM. "csv_tools |
40 | |
41 | |
42 |
43 |
44 |
45 | FORM csv_tools_table_structure. |
46 | DATA: |
47 | lt_csv TYPE it_string, |
48 | lt_row TYPE it_string, |
49 | ls_row TYPE string, |
50 | ls_table TYPE st_table_structure. |
51 | |
52 | FIELD-SYMBOLS: |
53 | <ls_csv> TYPE string, |
54 | <l_fs> TYPE ANY. |
55 | |
56 | REFRESH gt_table_structure. |
57 | |
58 | PERFORM csv_table_structure CHANGING lt_csv. |
59 | |
60 | LOOP AT lt_csv ASSIGNING <ls_csv>. |
61 | SPLIT <ls_csv> AT '|' INTO TABLE lt_row. |
62 | LOOP AT lt_row INTO ls_row. |
63 | IF NOT ls_row IS INITIAL. |
64 | CLEAR ls_table. |
65 | SPLIT ls_row AT ';' INTO |
66 | ls_table-id |
67 | ls_table-row_nr |
68 | ls_table-fieldname |
69 | ls_table-title_elem |
70 | ls_table-link_row |
71 | ls_table-row_def |
72 | ls_table-colored_row |
73 | ls_table-comparator |
74 | ls_table-comp_value. |
75 | IF NOT ls_table-title_elem IS INITIAL. |
76 | ASSIGN (ls_table-title_elem) TO <l_fs>. |
77 | ls_table-title = <l_fs>. |
78 | UNASSIGN <l_fs>. |
79 | ENDIF. |
80 | APPEND ls_table TO gt_table_structure. |
81 | ENDIF. |
82 | ENDLOOP. |
83 | ENDLOOP. |
84 | ENDFORM. "csv_tools_table_structure |
85 | |
86 | |
87 |
88 |
89 |
90 | FORM csv_tools_tabstrip. |
91 | DATA: |
92 | lt_csv TYPE it_string, |
93 | lt_row TYPE it_string, |
94 | ls_row TYPE string, |
95 | ls_tabstrip TYPE st_tabstrip. |
96 | |
97 | FIELD-SYMBOLS: |
98 | <ls_csv> TYPE string, |
99 | <l_fs> TYPE ANY. |
100 | |
101 | REFRESH gt_tabstrip. |
102 | |
103 | PERFORM csv_tabstrip CHANGING lt_csv. |
104 | |
105 | LOOP AT lt_csv ASSIGNING <ls_csv>. |
106 | SPLIT <ls_csv> AT '|' INTO TABLE lt_row. |
107 | LOOP AT lt_row INTO ls_row. |
108 | IF NOT ls_row IS INITIAL. |
109 | CLEAR ls_tabstrip. |
110 | SPLIT ls_row AT ';' INTO |
111 | ls_tabstrip-form |
112 | ls_tabstrip-id |
113 | ls_tabstrip-parent_id |
114 | ls_tabstrip-tab_nr |
115 | ls_tabstrip-firstrow |
116 | ls_tabstrip-active_order |
117 | ls_tabstrip-text_elem |
118 | ls_tabstrip-comparator |
119 | ls_tabstrip-comp_value. |
120 | IF NOT ls_tabstrip-text_elem IS INITIAL. |
121 | ASSIGN (ls_tabstrip-text_elem) TO <l_fs>. |
122 | ls_tabstrip-text = <l_fs>. |
123 | UNASSIGN <l_fs>. |
124 | ENDIF. |
125 | APPEND ls_tabstrip TO gt_tabstrip. |
126 | ENDIF. |
127 | ENDLOOP. |
128 | ENDLOOP. |
129 | ENDFORM. "csv_tools_tabstrip |
130 | |
131 | |
132 |
133 |
134 |
135 | FORM csv_tools_text_elements. |
136 | DATA: |
137 | lt_csv TYPE it_string, |
138 | lt_row TYPE it_string, |
139 | ls_row TYPE string, |
140 | ls_text_element TYPE st_text_element, |
141 | ls_text_element_t TYPE st_text_element_t. |
142 | |
143 | FIELD-SYMBOLS: |
144 | <ls_csv> TYPE string. |
145 | |
146 |
147 | REFRESH gt_text_element. |
148 | |
149 | PERFORM csv_text_elements_1 CHANGING lt_csv. |
150 | |
151 | LOOP AT lt_csv ASSIGNING <ls_csv>. |
152 | SPLIT <ls_csv> AT '|' INTO TABLE lt_row. |
153 | LOOP AT lt_row INTO ls_row. |
154 | IF NOT ls_row IS INITIAL. |
155 | SPLIT ls_row AT ';' INTO |
156 | ls_text_element-fieldname |
157 | ls_text_element-txt_prefix |
158 | ls_text_element-dtel_rollname |
159 | ls_text_element-dtel_field |
160 | ls_text_element-domname |
161 | ls_text_element-domvalue |
162 | ls_text_element-icon_id |
163 | ls_text_element-icon_field |
164 | ls_text_element-conc_v1 |
165 | ls_text_element-conc_copula |
166 | ls_text_element-conc_v2 |
167 | ls_text_element-conc_sep_space |
168 | ls_text_element-msg_id |
169 | ls_text_element-msg_nr |
170 | ls_text_element-msg_v1 |
171 | ls_text_element-msg_v2 |
172 | ls_text_element-msg_v3 |
173 | ls_text_element-msg_v4. |
174 | APPEND ls_text_element TO gt_text_element. |
175 | ENDIF. |
176 | ENDLOOP. |
177 | ENDLOOP. |
178 | |
179 |
180 | REFRESH gt_text_element_t. |
181 | |
182 | PERFORM csv_text_elements_2 CHANGING lt_csv. |
183 | |
184 | LOOP AT lt_csv ASSIGNING <ls_csv>. |
185 | SPLIT <ls_csv> AT '|' INTO TABLE lt_row. |
186 | LOOP AT lt_row INTO ls_row. |
187 | IF NOT ls_row IS INITIAL. |
188 | SPLIT ls_row AT ';' INTO |
189 | ls_text_element_t-fieldname |
190 | ls_text_element_t-spras |
191 | ls_text_element_t-text. |
192 | APPEND ls_text_element_t TO gt_text_element_t. |
193 | ENDIF. |
194 | ENDLOOP. |
195 | ENDLOOP. |
196 | ENDFORM. "csv_tools_text_elements |
197 | |
198 | |
199 |
200 |
201 |
202 | FORM csv_tools_varid_broken. |
203 | DATA: |
204 | lt_csv TYPE it_string, |
205 | lt_row TYPE it_string, |
206 | ls_row TYPE string, |
207 | ls_varid TYPE st_varid. |
208 | |
209 | FIELD-SYMBOLS: |
210 | <ls_csv> TYPE string. |
211 | |
212 | REFRESH gt_varid_broken. |
213 | |
214 | PERFORM csv_varid_broken CHANGING lt_csv. |
215 | |
216 | LOOP AT lt_csv ASSIGNING <ls_csv>. |
217 | SPLIT <ls_csv> AT '|' INTO TABLE lt_row. |
218 | LOOP AT lt_row INTO ls_row. |
219 | IF NOT ls_row IS INITIAL. |
220 | SPLIT ls_row AT ';' INTO ls_varid-report ls_varid-vari. |
221 | APPEND ls_varid TO gt_varid_broken. |
222 | ENDIF. |
223 | ENDLOOP. |
224 | ENDLOOP. |
225 | ENDFORM. "csv_tools_varid_broken |