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 text_tools. |
33 | PERFORM text_tools_text_elements. |
34 | PERFORM text_tools_text_concatenated. |
35 | PERFORM text_tools_text_message. |
36 | |
37 |
38 | REFRESH: |
39 | gt_text_element, |
40 | gt_text_element_t. |
41 | ENDFORM. "text_tools |
42 | |
43 | |
44 |
45 |
46 |
47 | FORM text_tools_text_concatenated. |
48 | DATA: |
49 | l_text TYPE string, |
50 | l_str1 TYPE string, |
51 | l_str2 TYPE string. |
52 | |
53 | FIELD-SYMBOLS: |
54 | <ls_txt> TYPE st_text_element, |
55 | <l_fs> TYPE ANY, |
56 | <l_fs1> TYPE ANY, |
57 | <l_fs2> TYPE ANY. |
58 | |
59 | LOOP AT gt_text_element ASSIGNING <ls_txt> |
60 | WHERE is_set = abap_false |
61 | AND ( NOT conc_v1 IS INITIAL |
62 | or NOT conc_copula IS INITIAL |
63 | OR NOT conc_v2 IS INITIAL ). |
64 | CLEAR l_str1. |
65 | CLEAR l_str2. |
66 | CLEAR l_text. |
67 | IF NOT <ls_txt>-conc_v1 IS INITIAL. |
68 | ASSIGN (<ls_txt>-conc_v1) TO <l_fs1>. |
69 | l_str1 = <l_fs1>. |
70 | UNASSIGN <l_fs1>. |
71 | ENDIF. |
72 | IF NOT <ls_txt>-conc_v2 IS INITIAL. |
73 | ASSIGN (<ls_txt>-conc_v2) TO <l_fs2>. |
74 | l_str2 = <l_fs2>. |
75 | UNASSIGN <l_fs2>. |
76 | ENDIF. |
77 | IF <ls_txt>-conc_sep_space = abap_false. |
78 | CONCATENATE l_str1 <ls_txt>-conc_copula l_str2 |
79 | INTO l_text. |
80 | ELSE. |
81 | CONCATENATE l_str1 <ls_txt>-conc_copula l_str2 |
82 | INTO l_text SEPARATED BY space. |
83 | ENDIF. |
84 |
85 | IF NOT l_text IS INITIAL. |
86 | <ls_txt>-is_set = abap_true. |
87 | ASSIGN (<ls_txt>-fieldname) TO <l_fs>. |
88 | <l_fs> = l_text. |
89 | UNASSIGN <l_fs>. |
90 | ENDIF. |
91 | ENDLOOP. |
92 | ENDFORM. "text_tools_text_concatenated |
93 | |
94 | |
95 |
96 |
97 |
98 | FORM text_tools_text_elements. |
99 | DATA: |
100 | l_text TYPE string, |
101 | l_val_text TYPE val_text, |
102 | l_str TYPE string. |
103 | |
104 | FIELD-SYMBOLS: |
105 | <ls_txt> TYPE st_text_element, |
106 | <ls_txtt> TYPE st_text_element_t, |
107 | <l_fs> TYPE ANY. |
108 | |
109 | LOOP AT gt_text_element ASSIGNING <ls_txt>. |
110 | CLEAR: |
111 | l_text, |
112 | l_str. |
113 |
114 | READ TABLE gt_text_element_t ASSIGNING <ls_txtt> |
115 | WITH KEY fieldname = <ls_txt>-fieldname |
116 | spras = sy-langu. |
117 | IF sy-subrc = 0 AND NOT <ls_txtt>-text IS INITIAL. |
118 | <ls_txt>-is_set = abap_true. |
119 | l_text = <ls_txtt>-text. |
120 | ELSE. |
121 |
122 | READ TABLE gt_text_element_t ASSIGNING <ls_txtt> |
123 | WITH KEY fieldname = <ls_txt>-fieldname |
124 | spras = 'E'. |
125 | IF sy-subrc = 0. |
126 | l_text = <ls_txtt>-text. |
127 | ENDIF. |
128 | ENDIF. |
129 | UNASSIGN <ls_txtt>. |
130 |
131 | IF <ls_txt>-is_set = abap_false |
132 | AND NOT <ls_txt>-dtel_rollname IS INITIAL. |
133 | PERFORM get_dtel_text |
134 | USING |
135 | <ls_txt>-dtel_rollname |
136 | <ls_txt>-dtel_field |
137 | CHANGING |
138 | l_str. |
139 | IF NOT l_str IS INITIAL. |
140 | <ls_txt>-is_set = abap_true. |
141 | l_text = l_str. |
142 | ENDIF. |
143 | ENDIF. |
144 |
145 | IF <ls_txt>-is_set = abap_false |
146 | AND NOT <ls_txt>-domname IS INITIAL. |
147 | PERFORM get_dom_value_text |
148 | USING |
149 | <ls_txt>-domname |
150 | <ls_txt>-domvalue |
151 | CHANGING |
152 | l_val_text. |
153 | IF NOT l_val_text IS INITIAL. |
154 | <ls_txt>-is_set = abap_true. |
155 | l_text = l_val_text. |
156 | ENDIF. |
157 | ENDIF. |
158 |
159 | IF <ls_txt>-is_set = abap_false |
160 | AND NOT <ls_txt>-icon_id IS INITIAL. |
161 | PERFORM get_icon_text |
162 | USING |
163 | <ls_txt>-icon_id |
164 | <ls_txt>-icon_field |
165 | CHANGING |
166 | l_str. |
167 | IF NOT l_str IS INITIAL. |
168 | <ls_txt>-is_set = abap_true. |
169 | l_text = l_str. |
170 | ENDIF. |
171 | ENDIF. |
172 |
173 | IF NOT l_text IS INITIAL. |
174 | ASSIGN (<ls_txt>-fieldname) TO <l_fs>. |
175 | <l_fs> = l_text. |
176 | UNASSIGN <l_fs>. |
177 | ENDIF. |
178 | ENDLOOP. |
179 | ENDFORM. "text_tools_text_elements |
180 | |
181 | |
182 |
183 |
184 |
185 | FORM text_tools_text_message. |
186 | DATA: |
187 | l_text TYPE string, |
188 | l_str1 TYPE string, |
189 | l_str2 TYPE string, |
190 | l_str3 TYPE string, |
191 | l_str4 TYPE string. |
192 | |
193 | FIELD-SYMBOLS: |
194 | <ls_txt> TYPE st_text_element, |
195 | <l_fs> TYPE ANY, |
196 | <l_fs1> TYPE ANY, |
197 | <l_fs2> TYPE ANY, |
198 | <l_fs3> TYPE ANY, |
199 | <l_fs4> TYPE ANY. |
200 | |
201 | LOOP AT gt_text_element ASSIGNING <ls_txt> |
202 | WHERE is_set = abap_false |
203 | AND NOT msg_id IS INITIAL. |
204 | CLEAR: |
205 | l_str1, |
206 | l_str2, |
207 | l_str3, |
208 | l_str4, |
209 | l_text. |
210 | IF NOT <ls_txt>-msg_v1 IS INITIAL. |
211 | ASSIGN (<ls_txt>-msg_v1) TO <l_fs1>. |
212 | IF <l_fs1> IS ASSIGNED. |
213 | l_str1 = <l_fs1>. |
214 | ENDIF. |
215 | UNASSIGN <l_fs1>. |
216 | ENDIF. |
217 | IF NOT <ls_txt>-msg_v2 IS INITIAL. |
218 | ASSIGN (<ls_txt>-msg_v2) TO <l_fs2>. |
219 | IF <l_fs2> IS ASSIGNED. |
220 | l_str2 = <l_fs2>. |
221 | ENDIF. |
222 | UNASSIGN <l_fs2>. |
223 | ENDIF. |
224 | IF NOT <ls_txt>-msg_v3 IS INITIAL. |
225 | ASSIGN (<ls_txt>-msg_v3) TO <l_fs3>. |
226 | IF <l_fs3> IS ASSIGNED. |
227 | l_str3 = <l_fs3>. |
228 | ENDIF. |
229 | UNASSIGN <l_fs3>. |
230 | ENDIF. |
231 | IF NOT <ls_txt>-msg_v4 IS INITIAL. |
232 | ASSIGN (<ls_txt>-msg_v4) TO <l_fs4>. |
233 | IF <l_fs4> IS ASSIGNED. |
234 | l_str4 = <l_fs4>. |
235 | ENDIF. |
236 | UNASSIGN <l_fs4>. |
237 | ENDIF. |
238 | PERFORM get_message_text |
239 | USING |
240 | <ls_txt>-msg_id |
241 | <ls_txt>-msg_nr |
242 | l_str1 |
243 | l_str2 |
244 | l_str3 |
245 | l_str4 |
246 | CHANGING |
247 | l_text. |
248 |
249 | IF NOT l_text IS INITIAL. |
250 | <ls_txt>-is_set = abap_true. |
251 | ASSIGN (<ls_txt>-fieldname) TO <l_fs>. |
252 | <l_fs> = l_text. |
253 | UNASSIGN <l_fs>. |
254 | ENDIF. |
255 | ENDLOOP. |
256 | ENDFORM. "text_tools_text_message |