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 seo. |
33 |
34 | PERFORM seo_r3tr_intf. |
35 |
36 | PERFORM seo_r3tr_clas. |
37 |
38 | PERFORM seo_r3tr_clas_methods. |
39 | |
40 | ENDFORM. "seo |
41 | |
42 | |
43 |
44 |
45 |
46 | FORM seo_clas_get_attribs |
47 | USING |
48 | value(i_clsname) |
49 | it_super_class TYPE it_seo_super_class |
50 | it_ref_interface TYPE it_ref_seointerface |
51 | CHANGING |
52 | ct_ref_attrib TYPE it_ref_seoattrib. |
53 | |
54 | REFRESH ct_ref_attrib. |
55 | |
56 |
57 | PERFORM seo_clas_get_attribs_from_intf |
58 | USING |
59 | i_clsname |
60 | it_super_class |
61 | it_ref_interface |
62 | CHANGING |
63 | ct_ref_attrib. |
64 |
65 | PERFORM seo_clas_get_attribs_from_clas |
66 | USING |
67 | i_clsname |
68 | it_super_class |
69 | CHANGING |
70 | ct_ref_attrib. |
71 | ENDFORM. "seo_clas_get_attribs |
72 | |
73 | |
74 |
75 |
76 |
77 | FORM seo_clas_get_aliases |
78 | USING |
79 | value(i_clsname) |
80 | it_ref_attrib TYPE it_ref_seoattrib |
81 | it_ref_method TYPE it_ref_seomethod |
82 | it_ref_event TYPE it_ref_seoevent |
83 | it_ref_type TYPE it_ref_seotype |
84 | CHANGING |
85 | ct_ref_alias TYPE it_ref_seoalias. |
86 | |
87 | DATA: |
88 | ls_ref_alias TYPE st_ref_seoalias, |
89 | lt_ref_alias_tmp TYPE it_ref_seoalias, |
90 | ls_clskey TYPE seoclskey, |
91 | lt_seoalias TYPE seo_aliases, |
92 | l_clsname TYPE seoclsname, |
93 | l_cmpname TYPE seocmpname. |
94 | |
95 | FIELD-SYMBOLS: |
96 | <ls_ref_attrib> TYPE st_ref_seoattrib, |
97 | <ls_ref_method> TYPE st_ref_seomethod, |
98 | <ls_ref_event> TYPE st_ref_seoevent, |
99 | <ls_ref_type> TYPE st_ref_seotype, |
100 | <ls_ref_alias> TYPE st_ref_seoalias, |
101 | <ls_alias> TYPE seoaliases. |
102 | |
103 | REFRESH: |
104 | ct_ref_alias. |
105 | |
106 | ls_ref_alias-type = txt_attribute. |
107 | LOOP AT it_ref_attrib ASSIGNING <ls_ref_attrib> |
108 | WHERE cpdname CP '*~*'. |
109 | ls_ref_alias-cpdname = <ls_ref_attrib>-cpdname. |
110 | ls_ref_alias-owner = <ls_ref_attrib>-owner. |
111 | APPEND ls_ref_alias TO lt_ref_alias_tmp. |
112 | ENDLOOP. |
113 | ls_ref_alias-type = txt_method. |
114 | LOOP AT it_ref_method ASSIGNING <ls_ref_method> |
115 | WHERE cpdname CP '*~*'. |
116 | ls_ref_alias-cpdname = <ls_ref_method>-cpdname. |
117 | ls_ref_alias-owner = <ls_ref_method>-owner. |
118 | APPEND ls_ref_alias TO lt_ref_alias_tmp. |
119 | ENDLOOP. |
120 | ls_ref_alias-type = txt_event. |
121 | LOOP AT it_ref_event ASSIGNING <ls_ref_event> |
122 | WHERE cpdname CP '*~*'. |
123 | ls_ref_alias-cpdname = <ls_ref_event>-cpdname. |
124 | ls_ref_alias-owner = <ls_ref_event>-owner. |
125 | APPEND ls_ref_alias TO lt_ref_alias_tmp. |
126 | ENDLOOP. |
127 | ls_ref_alias-type = txt_type___1. |
128 | LOOP AT it_ref_type ASSIGNING <ls_ref_type> |
129 | WHERE cpdname CP '*~*'. |
130 | ls_ref_alias-cpdname = <ls_ref_type>-cpdname. |
131 | ls_ref_alias-owner = <ls_ref_type>-owner. |
132 | APPEND ls_ref_alias TO lt_ref_alias_tmp. |
133 | ENDLOOP. |
134 | * |
135 | ls_clskey-clsname = i_clsname. |
136 | CALL FUNCTION 'SEO_ALIASES_GET' |
137 | EXPORTING |
138 | cifkey = ls_clskey |
139 | CHANGING |
140 | aliases = lt_seoalias. |
141 | l_clsname = i_clsname. |
142 | LOOP AT lt_ref_alias_tmp ASSIGNING <ls_ref_alias> |
143 | WHERE cpdname CP '*~*' |
144 | AND owner = i_clsname. |
145 | SPLIT <ls_ref_alias>-cpdname AT '~' |
146 | INTO l_clsname l_cmpname. |
147 | READ TABLE lt_seoalias ASSIGNING <ls_alias> |
148 | WITH KEY cmpname = l_cmpname. |
149 | IF sy-subrc = 0. |
150 | <ls_ref_alias>-refcmpname = <ls_alias>-cmpname. |
151 | PERFORM get_dom_value_text |
152 | USING |
153 | 'SEOEXPOSE' |
154 | <ls_alias>-exposure |
155 | CHANGING |
156 | <ls_ref_alias>-exposure. |
157 | IF NOT <ls_ref_alias>-refcmpname IS INITIAL |
158 | AND <ls_alias>-exposure > 0. |
159 | APPEND <ls_ref_alias> TO ct_ref_alias. |
160 | ENDIF. |
161 | ELSE. |
162 | APPEND <ls_ref_alias> TO ct_ref_alias. |
163 | ENDIF. |
164 | ENDLOOP. |
165 | SORT ct_ref_alias BY cpdname. |
166 | ENDFORM. "seo_clas_get_aliases |
167 | |
168 | |
169 |
170 |
171 |
172 | FORM seo_clas_get_attribs_from_clas |
173 | USING |
174 | value(i_clsname) |
175 | it_super_class TYPE it_seo_super_class |
176 | CHANGING |
177 | ct_ref_attrib TYPE it_ref_seoattrib. |
178 | |
179 | DATA: |
180 | lt_attrib TYPE STANDARD TABLE OF vseoattrib, |
181 | l_cpdname TYPE seocpdname, |
182 | ls_ref_attrib TYPE st_ref_seoattrib, |
183 | l_str TYPE string, |
184 | l_id TYPE string. |
185 | |
186 | FIELD-SYMBOLS: |
187 | <ls_super_class> TYPE st_seo_super_class, |
188 | <ls_attrib> TYPE vseoattrib, |
189 | <ls_ref_attrib> TYPE st_ref_seoattrib. |
190 | |
191 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
192 | SELECT * FROM vseoattrib INTO TABLE lt_attrib |
193 | WHERE clsname = <ls_super_class>-clsname |
194 | AND alias = abap_false |
195 | AND langu = sy-langu |
196 | AND version = '1' |
197 | ORDER BY editorder. |
198 | LOOP AT lt_attrib ASSIGNING <ls_attrib>. |
199 | l_cpdname = <ls_attrib>-cmpname. |
200 | READ TABLE ct_ref_attrib ASSIGNING <ls_ref_attrib> |
201 | WITH KEY cpdname = l_cpdname. |
202 | IF sy-subrc = 0. |
203 | IF <ls_super_class>-clsname = i_clsname. |
204 | <ls_ref_attrib>-inherited = abap_false. |
205 | ENDIF. |
206 | ELSEIF <ls_super_class>-clsname = i_clsname |
207 | OR <ls_attrib>-exposure > 0. |
208 | ls_ref_attrib-cpdname = l_cpdname. |
209 | IF <ls_super_class>-clsname = i_clsname. |
210 | ls_ref_attrib-inherited = abap_false. |
211 | ELSE. |
212 | ls_ref_attrib-inherited = abap_true. |
213 | ENDIF. |
214 | PERFORM get_dom_value_text |
215 | USING |
216 | 'SEOEXPOSE' |
217 | <ls_attrib>-exposure |
218 | CHANGING |
219 | ls_ref_attrib-exposure. |
220 | PERFORM seo_get_check_model |
221 | USING <ls_attrib> |
222 | CHANGING ls_ref_attrib. |
223 | PERFORM get_dom_value_text |
224 | USING |
225 | 'SEOATTDECL' |
226 | <ls_attrib>-attdecltyp |
227 | CHANGING |
228 | ls_ref_attrib-decltype. |
229 | ls_ref_attrib-attrdonly = <ls_attrib>-attrdonly. |
230 | PERFORM get_dom_value_text |
231 | USING |
232 | 'SEOTYPTYPE' |
233 | <ls_attrib>-typtype |
234 | CHANGING |
235 | ls_ref_attrib-typtype. |
236 | ls_ref_attrib-type = <ls_attrib>-type. |
237 | l_str = <ls_attrib>-exposure. |
238 | CONDENSE l_str. |
239 | CONCATENATE 'COMPONENTS_' l_str '_' INTO l_str. |
240 | PERFORM get_id |
241 | USING l_str <ls_super_class>-clsname |
242 | CHANGING l_id. |
243 | CONCATENATE 'switchContent(''' l_id ''')' |
244 | INTO ls_ref_attrib-onclick. |
245 | ls_ref_attrib-typelink = '->'. |
246 | ls_ref_attrib-descript = <ls_attrib>-descript. |
247 | ls_ref_attrib-attvalue = <ls_attrib>-attvalue. |
248 | ls_ref_attrib-owner = <ls_super_class>-clsname. |
249 | APPEND ls_ref_attrib TO ct_ref_attrib. |
250 | ENDIF. |
251 | ENDLOOP. |
252 | ENDLOOP. |
253 | ENDFORM. "seo_clas_get_attribs_from_clas |
254 | |
255 | |
256 |
257 |
258 |
259 | FORM seo_clas_get_attribs_from_intf |
260 | USING |
261 | value(i_clsname) |
262 | it_super_class TYPE it_seo_super_class |
263 | it_ref_interface TYPE it_ref_seointerface |
264 | CHANGING |
265 | ct_ref_attrib TYPE it_ref_seoattrib. |
266 | |
267 | DATA: |
268 | lt_attrib TYPE STANDARD TABLE OF vseoattrib, |
269 | l_cpdname TYPE seocpdname, |
270 | ls_ref_attrib TYPE st_ref_seoattrib, |
271 | l_str TYPE string, |
272 | l_id TYPE string. |
273 | |
274 | FIELD-SYMBOLS: |
275 | <ls_super_class> TYPE st_seo_super_class, |
276 | <ls_ref_interface> TYPE st_ref_seointerface, |
277 | <ls_attrib> TYPE vseoattrib, |
278 | <ls_ref_attrib> TYPE st_ref_seoattrib. |
279 | |
280 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
281 | LOOP AT it_ref_interface ASSIGNING <ls_ref_interface> |
282 | WHERE owner = <ls_super_class>-clsname. |
283 | SELECT * FROM vseoattrib INTO TABLE lt_attrib |
284 | WHERE clsname = <ls_ref_interface>-refclsname |
285 | AND alias = abap_false |
286 | AND langu = sy-langu |
287 | AND version = '1' |
288 | ORDER BY editorder. |
289 | LOOP AT lt_attrib ASSIGNING <ls_attrib>. |
290 | CONCATENATE |
291 | <ls_attrib>-clsname '~' <ls_attrib>-cmpname |
292 | INTO l_cpdname. |
293 | READ TABLE ct_ref_attrib ASSIGNING <ls_ref_attrib> |
294 | WITH KEY cpdname = l_cpdname. |
295 | IF sy-subrc <> 0 |
296 | AND ( <ls_super_class>-clsname = i_clsname |
297 | OR <ls_attrib>-exposure > 0 ). |
298 | ls_ref_attrib-cpdname = l_cpdname. |
299 | IF <ls_super_class>-clsname = i_clsname. |
300 | ls_ref_attrib-inherited = abap_false. |
301 | ELSE. |
302 | ls_ref_attrib-inherited = abap_true. |
303 | ENDIF. |
304 | PERFORM get_dom_value_text |
305 | USING |
306 | 'SEOEXPOSE' |
307 | <ls_attrib>-exposure |
308 | CHANGING |
309 | ls_ref_attrib-exposure. |
310 | PERFORM seo_get_check_model |
311 | USING <ls_attrib> |
312 | CHANGING ls_ref_attrib. |
313 | PERFORM get_dom_value_text |
314 | USING |
315 | 'SEOATTDECL' |
316 | <ls_attrib>-attdecltyp |
317 | CHANGING |
318 | ls_ref_attrib-decltype. |
319 | ls_ref_attrib-attrdonly = <ls_attrib>-attrdonly. |
320 | PERFORM get_dom_value_text |
321 | USING |
322 | 'SEOTYPTYPE' |
323 | <ls_attrib>-typtype |
324 | CHANGING |
325 | ls_ref_attrib-typtype. |
326 | ls_ref_attrib-type = <ls_attrib>-type. |
327 | l_str = <ls_attrib>-exposure. |
328 | CONDENSE l_str. |
329 | CONCATENATE 'COMPONENTS_' l_str '_' INTO l_str. |
330 | PERFORM get_id |
331 | USING l_str <ls_super_class>-clsname |
332 | CHANGING l_id. |
333 | CONCATENATE 'switchContent(''' l_id ''')' |
334 | INTO ls_ref_attrib-onclick. |
335 | ls_ref_attrib-typelink = '->'. |
336 | ls_ref_attrib-descript = <ls_attrib>-descript. |
337 | ls_ref_attrib-attvalue = <ls_attrib>-attvalue. |
338 | ls_ref_attrib-owner = <ls_super_class>-clsname. |
339 | APPEND ls_ref_attrib TO ct_ref_attrib. |
340 | ENDIF. |
341 | ENDLOOP. |
342 | ENDLOOP. |
343 | ENDLOOP. |
344 | ENDFORM. "seo_clas_get_attribs_from_intf |
345 | |
346 | |
347 |
348 |
349 |
350 | FORM seo_clas_get_events |
351 | USING |
352 | value(i_clsname) |
353 | it_super_class TYPE it_seo_super_class |
354 | it_ref_interface TYPE it_ref_seointerface |
355 | CHANGING |
356 | ct_ref_event TYPE it_ref_seoevent. |
357 | |
358 | REFRESH: |
359 | ct_ref_event. |
360 | |
361 |
362 | PERFORM seo_clas_get_events_from_intf |
363 | USING |
364 | i_clsname |
365 | it_super_class |
366 | it_ref_interface |
367 | CHANGING |
368 | ct_ref_event. |
369 |
370 | PERFORM seo_clas_get_events_from_clas |
371 | USING |
372 | i_clsname |
373 | it_super_class |
374 | CHANGING |
375 | ct_ref_event. |
376 | |
377 | ENDFORM. "seo_clas_get_events |
378 | |
379 | |
380 |
381 |
382 |
383 | FORM seo_clas_get_events_from_clas |
384 | USING |
385 | value(i_clsname) |
386 | it_super_class TYPE it_seo_super_class |
387 | CHANGING |
388 | ct_ref_event TYPE it_ref_seoevent. |
389 | |
390 | DATA: |
391 | lt_event TYPE STANDARD TABLE OF vseoevent, |
392 | ls_ref_event TYPE st_ref_seoevent, |
393 | ls_cmpkey TYPE seocmpkey. |
394 | |
395 | FIELD-SYMBOLS: |
396 | <ls_super_class> TYPE st_seo_super_class, |
397 | <ls_event> TYPE vseoevent. |
398 | |
399 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
400 | SELECT * FROM vseoevent INTO TABLE lt_event |
401 | WHERE clsname = <ls_super_class>-clsname |
402 | AND langu = sy-langu |
403 | AND alias = abap_false |
404 | AND version = '1' |
405 | ORDER BY editorder. |
406 | LOOP AT lt_event ASSIGNING <ls_event>. |
407 | CLEAR ls_ref_event. |
408 | ls_cmpkey-clsname = <ls_super_class>-clsname. |
409 | ls_cmpkey-cmpname = <ls_event>-cmpname. |
410 | CALL FUNCTION 'SEO_EVENT_GET' |
411 | EXPORTING |
412 | evtkey = ls_cmpkey |
413 | version = 1 |
414 | IMPORTING |
415 | event = <ls_event> |
416 | EXCEPTIONS |
417 | OTHERS = 1. |
418 | IF sy-subrc = 0 AND <ls_event>-alias = abap_false. |
419 | ls_ref_event-owner = <ls_super_class>-clsname. |
420 | IF <ls_super_class>-clsname <> i_clsname. |
421 | ls_ref_event-inherited = abap_true. |
422 | ENDIF. |
423 | ls_ref_event-cpdname = <ls_event>-cmpname. |
424 | PERFORM get_dom_value_text |
425 | USING |
426 | 'SEOEVTDECL' |
427 | <ls_event>-evtdecltyp |
428 | CHANGING |
429 | ls_ref_event-type. |
430 | PERFORM get_dom_value_text |
431 | USING |
432 | 'SEOEXPOSE' |
433 | <ls_event>-exposure |
434 | CHANGING |
435 | ls_ref_event-exposure. |
436 | PERFORM seo_get_check_model |
437 | USING <ls_event> |
438 | CHANGING ls_ref_event. |
439 | ls_ref_event-descript = <ls_event>-descript. |
440 | APPEND ls_ref_event TO ct_ref_event. |
441 | ENDIF. |
442 | ENDLOOP. |
443 | ENDLOOP. |
444 | ENDFORM. "seo_clas_get_events_from_clas |
445 | |
446 | |
447 |
448 |
449 |
450 | FORM seo_clas_get_events_from_intf |
451 | USING |
452 | value(i_clsname) |
453 | it_super_class TYPE it_seo_super_class |
454 | it_ref_interface TYPE it_ref_seointerface |
455 | CHANGING |
456 | ct_ref_event TYPE it_ref_seoevent. |
457 | |
458 | DATA: |
459 | lt_event TYPE STANDARD TABLE OF vseoevent, |
460 | ls_ref_event TYPE st_ref_seoevent, |
461 | ls_cmpkey TYPE seocmpkey. |
462 | |
463 | FIELD-SYMBOLS: |
464 | <ls_super_class> TYPE st_seo_super_class, |
465 | <ls_ref_interface> TYPE st_ref_seointerface, |
466 | <ls_event> TYPE vseoevent. |
467 | |
468 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
469 | LOOP AT it_ref_interface ASSIGNING <ls_ref_interface> |
470 | WHERE owner = <ls_super_class>-clsname. |
471 | SELECT * FROM vseoevent INTO TABLE lt_event |
472 | WHERE clsname = <ls_ref_interface>-refclsname |
473 | AND langu = sy-langu |
474 | AND alias = abap_false |
475 | AND version = '1' |
476 | ORDER BY editorder. |
477 | LOOP AT lt_event ASSIGNING <ls_event>. |
478 | CLEAR ls_ref_event. |
479 | ls_cmpkey-clsname = <ls_ref_interface>-refclsname. |
480 | IF <ls_super_class>-clsname <> i_clsname. |
481 | ls_ref_event-inherited = abap_true. |
482 | ENDIF. |
483 | ls_cmpkey-cmpname = <ls_event>-cmpname. |
484 | CALL FUNCTION 'SEO_EVENT_GET' |
485 | EXPORTING |
486 | evtkey = ls_cmpkey |
487 | version = 1 |
488 | IMPORTING |
489 | event = <ls_event> |
490 | EXCEPTIONS |
491 | OTHERS = 1. |
492 | IF sy-subrc = 0 AND <ls_event>-alias = abap_false. |
493 | ls_ref_event-owner = <ls_super_class>-clsname. |
494 | CONCATENATE <ls_ref_interface>-refclsname '~' |
495 | <ls_event>-cmpname INTO ls_ref_event-cpdname. |
496 | PERFORM get_dom_value_text |
497 | USING |
498 | 'SEOEVTDECL' |
499 | <ls_event>-evtdecltyp |
500 | CHANGING |
501 | ls_ref_event-type. |
502 | PERFORM get_dom_value_text |
503 | USING |
504 | 'SEOEXPOSE' |
505 | <ls_event>-exposure |
506 | CHANGING |
507 | ls_ref_event-exposure. |
508 | PERFORM seo_get_check_model |
509 | USING <ls_event> |
510 | CHANGING ls_ref_event. |
511 | ls_ref_event-descript = <ls_event>-descript. |
512 | APPEND ls_ref_event TO ct_ref_event. |
513 | ENDIF. |
514 | ENDLOOP. |
515 | ENDLOOP. |
516 | ENDLOOP. |
517 | |
518 | ENDFORM. "seo_clas_get_events_from_intf |
519 | |
520 | |
521 |
522 |
523 |
524 | FORM seo_clas_get_friends |
525 | USING |
526 | value(i_clsname) |
527 | CHANGING |
528 | ct_ref_friends TYPE it_ref_seofriends. |
529 | |
530 | DATA: |
531 | lt_friends TYPE STANDARD TABLE OF seofriends, |
532 | ls_ref_friends TYPE st_ref_seofriends. |
533 | |
534 | FIELD-SYMBOLS: |
535 | <ls_friends> TYPE seofriends. |
536 | |
537 | REFRESH: |
538 | ct_ref_friends. |
539 | |
540 | SELECT * FROM seofriends INTO TABLE lt_friends |
541 | WHERE clsname = i_clsname |
542 | AND version = '1' |
543 | ORDER BY refclsname. |
544 | LOOP AT lt_friends ASSIGNING <ls_friends>. |
545 | CLEAR ls_ref_friends. |
546 | READ TABLE ct_ref_friends TRANSPORTING NO FIELDS |
547 | WITH KEY refclsname = <ls_friends>-refclsname. |
548 | IF sy-subrc <> 0. |
549 | ls_ref_friends-refclsname = <ls_friends>-refclsname. |
550 | PERFORM seo_get_check_model |
551 | USING <ls_friends> |
552 | CHANGING ls_ref_friends. |
553 | SELECT SINGLE descript FROM seoclasstx |
554 | INTO ls_ref_friends-descript |
555 | WHERE clsname = <ls_friends>-refclsname |
556 | AND langu = sy-langu. |
557 | APPEND ls_ref_friends TO ct_ref_friends. |
558 | ENDIF. |
559 | ENDLOOP. |
560 | ENDFORM. "seo_clas_get_friends |
561 | |
562 | |
563 |
564 |
565 |
566 | FORM seo_clas_get_interfaces |
567 | USING |
568 | value(i_clsname) |
569 | it_super_class TYPE it_seo_super_class |
570 | CHANGING |
571 | ct_ref_interface TYPE it_ref_seointerface |
572 | ct_ref_interface_all TYPE it_ref_seointerface. |
573 | |
574 | DATA: |
575 | lt_ref_interface_tmp TYPE it_ref_seointerface, |
576 | lt_ref_interface_all_tmp TYPE it_ref_seointerface. |
577 | |
578 | FIELD-SYMBOLS: |
579 | <ls_super_class> TYPE st_seo_super_class, |
580 | <ls_ref_interface> TYPE st_ref_seointerface. |
581 | |
582 | REFRESH: |
583 | ct_ref_interface, |
584 | ct_ref_interface_all. |
585 | |
586 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
587 | REFRESH lt_ref_interface_tmp. |
588 | PERFORM seo_get_interfaces |
589 | USING |
590 | <ls_super_class>-clsname |
591 | 0 |
592 | CHANGING |
593 | lt_ref_interface_tmp |
594 | lt_ref_interface_all_tmp. |
595 | LOOP AT lt_ref_interface_tmp ASSIGNING <ls_ref_interface>. |
596 | <ls_ref_interface>-owner = <ls_super_class>. |
597 | IF <ls_super_class>-clsname <> i_clsname. |
598 | <ls_ref_interface>-inherited = abap_true. |
599 | ENDIF. |
600 | APPEND <ls_ref_interface> TO ct_ref_interface. |
601 | ENDLOOP. |
602 | LOOP AT lt_ref_interface_all_tmp |
603 | ASSIGNING <ls_ref_interface>. |
604 | <ls_ref_interface>-owner = <ls_super_class>. |
605 | IF <ls_super_class>-clsname <> i_clsname. |
606 | <ls_ref_interface>-inherited = abap_true. |
607 | ENDIF. |
608 | APPEND <ls_ref_interface> TO ct_ref_interface_all. |
609 | ENDLOOP. |
610 | ENDLOOP. |
611 | ENDFORM. "seo_clas_get_interfaces |
612 | |
613 | |
614 |
615 |
616 |
617 | FORM seo_clas_get_methods |
618 | USING |
619 | is_ztadir TYPE st_ztadir |
620 | it_super_class TYPE it_seo_super_class |
621 | it_ref_interface TYPE it_ref_seointerface |
622 | CHANGING |
623 | ct_ref_method TYPE it_ref_seomethod. |
624 | |
625 | DATA: |
626 | ls_zseomethod TYPE st_zseomethod, |
627 | l_cpdname TYPE seocpdname. |
628 | |
629 | FIELD-SYMBOLS: |
630 | <ls_ref_method> TYPE st_ref_seomethod. |
631 | |
632 | REFRESH: |
633 | ct_ref_method. |
634 | |
635 |
636 | PERFORM seo_clas_get_methods_from_intf |
637 | USING |
638 | is_ztadir-obj_name |
639 | it_super_class |
640 | it_ref_interface |
641 | CHANGING |
642 | ct_ref_method. |
643 |
644 | PERFORM seo_clas_get_methods_from_clas |
645 | USING |
646 | is_ztadir-obj_name |
647 | it_super_class |
648 | CHANGING |
649 | ct_ref_method. |
650 |
651 | PERFORM seo_clas_get_methods_redef |
652 | USING |
653 | is_ztadir-obj_name |
654 | it_super_class |
655 | CHANGING |
656 | ct_ref_method. |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 | LOOP AT ct_ref_method ASSIGNING <ls_ref_method>. |
669 | READ TABLE gt_zseomethod TRANSPORTING NO FIELDS |
670 | WITH KEY devclass = is_ztadir-devclass |
671 | pgmid = is_ztadir-pgmid |
672 | object = is_ztadir-object |
673 | clsname = <ls_ref_method>-owner |
674 | cpdname = <ls_ref_method>-cpdname. |
675 | IF sy-subrc <> 0. |
676 | CLEAR ls_zseomethod. |
677 | ls_zseomethod-pgmid = is_ztadir-pgmid. |
678 | ls_zseomethod-object = is_ztadir-object. |
679 | ls_zseomethod-devclass = is_ztadir-devclass. |
680 | ls_zseomethod-clsname = <ls_ref_method>-owner. |
681 | ls_zseomethod-cpdname = <ls_ref_method>-cpdname. |
682 | ls_zseomethod-active = <ls_ref_method>-active. |
683 | APPEND ls_zseomethod TO gt_zseomethod. |
684 | ENDIF. |
685 | ENDLOOP. |
686 | ENDFORM. "seo_clas_get_methods |
687 | |
688 | |
689 |
690 |
691 |
692 | FORM seo_clas_get_methods_from_clas |
693 | USING |
694 | value(i_clsname) |
695 | it_super_class TYPE it_seo_super_class |
696 | CHANGING |
697 | ct_ref_method TYPE it_ref_seomethod. |
698 | |
699 | DATA: |
700 | lt_method TYPE STANDARD TABLE OF vseomethod, |
701 | l_cpdname TYPE seocpdname, |
702 | ls_ref_method TYPE st_ref_seomethod, |
703 | lt_str TYPE it_string, |
704 | lt_redef TYPE STANDARD TABLE OF seoredef. |
705 | |
706 | FIELD-SYMBOLS: |
707 | <ls_super_class> TYPE st_seo_super_class, |
708 | <ls_method> TYPE vseomethod, |
709 | <ls_ref_method> TYPE st_ref_seomethod, |
710 | <ls_redef> TYPE seoredef. |
711 | |
712 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
713 | SELECT * FROM vseomethod INTO TABLE lt_method |
714 | WHERE clsname = <ls_super_class>-clsname |
715 | AND langu = sy-langu |
716 | AND alias = abap_false |
717 | AND version = '1' |
718 | ORDER BY editorder. |
719 | IF <ls_super_class>-clsname <> i_clsname. |
720 | DELETE lt_method WHERE cmpname = 'CLASS_CONSTRUCTOR' |
721 | OR cmpname = 'DESTRUCTOR'. |
722 | ENDIF. |
723 | LOOP AT lt_method ASSIGNING <ls_method>. |
724 | l_cpdname = <ls_method>-cmpname. |
725 | READ TABLE ct_ref_method ASSIGNING <ls_ref_method> |
726 | WITH KEY cpdname = l_cpdname. |
727 | IF sy-subrc = 0 |
728 | AND l_cpdname <> 'CONSTRUCTOR'. |
729 | IF <ls_super_class>-clsname = i_clsname. |
730 | <ls_ref_method>-inherited = abap_false. |
731 | UNASSIGN <ls_ref_method>. |
732 | ENDIF. |
733 | ELSEIF <ls_super_class>-clsname = i_clsname |
734 | OR <ls_method>-exposure > 0. |
735 | CLEAR ls_ref_method. |
736 | ls_ref_method-cpdname = l_cpdname. |
737 | IF <ls_super_class>-clsname <> i_clsname. |
738 | ls_ref_method-inherited = abap_true. |
739 | ENDIF. |
740 | PERFORM get_dom_value_text |
741 | USING |
742 | 'SEOVERSION' |
743 | <ls_method>-version |
744 | CHANGING |
745 | ls_ref_method-active. |
746 | PERFORM get_dom_value_text |
747 | USING |
748 | 'SEOMTDDECL' |
749 | <ls_method>-mtddecltyp |
750 | CHANGING |
751 | ls_ref_method-type. |
752 | PERFORM get_dom_value_text |
753 | USING |
754 | 'SEOEXPOSE' |
755 | <ls_method>-exposure |
756 | CHANGING |
757 | ls_ref_method-exposure. |
758 | PERFORM seo_get_check_model |
759 | USING <ls_method> |
760 | CHANGING ls_ref_method. |
761 | PERFORM get_dom_value_text |
762 | USING |
763 | 'SEOMTDTYPE' |
764 | <ls_method>-mtdtype |
765 | CHANGING |
766 | ls_ref_method-methodtype. |
767 | ls_ref_method-descript = <ls_method>-descript. |
768 | ls_ref_method-owner = <ls_super_class>-clsname. |
769 | CONCATENATE |
770 | ls_ref_method-owner '-' |
771 | ls_ref_method-cpdname |
772 | INTO ls_ref_method-onclick. |
773 | SPLIT ls_ref_method-onclick AT '/' INTO TABLE lt_str. |
774 | LOOP AT lt_str INTO ls_ref_method-onclick. |
775 | ENDLOOP. |
776 | CONCATENATE |
777 | 'loadIFrame(''IFRAME'', ''' |
778 | ls_ref_method-onclick '.' |
779 | gc_extension_htm ''');' |
780 | 'switchContent(''IFRAME' |
781 | ''')' |
782 | INTO ls_ref_method-onclick. |
783 | PERFORM replace_all |
784 | USING '~' '-' |
785 | CHANGING ls_ref_method-onclick. |
786 | IF l_cpdname = 'CONSTRUCTOR' |
787 | AND <ls_ref_method> IS ASSIGNED. |
788 | DELETE ct_ref_method |
789 | WHERE owner = <ls_ref_method>-owner |
790 | AND cpdname = <ls_ref_method>-cpdname. |
791 | ENDIF. |
792 | APPEND ls_ref_method TO ct_ref_method. |
793 | ENDIF. |
794 | ENDLOOP. |
795 | ENDLOOP. |
796 | ENDFORM. "seo_clas_get_methods_from_clas |
797 | |
798 | |
799 |
800 |
801 |
802 | FORM seo_clas_get_methods_from_intf |
803 | USING |
804 | value(i_clsname) |
805 | it_super_class TYPE it_seo_super_class |
806 | it_ref_interface TYPE it_ref_seointerface |
807 | CHANGING |
808 | ct_ref_method TYPE it_ref_seomethod. |
809 | |
810 | DATA: |
811 | lt_method TYPE STANDARD TABLE OF vseomethod, |
812 | l_cpdname TYPE seocpdname, |
813 | ls_ref_method TYPE st_ref_seomethod, |
814 | lt_str TYPE it_string. |
815 | |
816 | FIELD-SYMBOLS: |
817 | <ls_super_class> TYPE st_seo_super_class, |
818 | <ls_ref_interface> TYPE st_ref_seointerface, |
819 | <ls_method> TYPE vseomethod, |
820 | <ls_ref_method> TYPE st_ref_seomethod. |
821 | |
822 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
823 | LOOP AT it_ref_interface ASSIGNING <ls_ref_interface> |
824 | WHERE owner = <ls_super_class>-clsname. |
825 | SELECT * FROM vseomethod INTO TABLE lt_method |
826 | WHERE clsname = <ls_ref_interface>-refclsname |
827 | AND langu = sy-langu |
828 | AND alias = abap_false |
829 | AND version = '1' |
830 | ORDER BY editorder. |
831 | LOOP AT lt_method ASSIGNING <ls_method>. |
832 | CONCATENATE |
833 | <ls_ref_interface>-refclsname '~' |
834 | <ls_method>-cmpname |
835 | INTO l_cpdname. |
836 | READ TABLE ct_ref_method ASSIGNING <ls_ref_method> |
837 | WITH KEY cpdname = l_cpdname. |
838 | IF sy-subrc <> 0 |
839 | AND ( <ls_super_class>-clsname = i_clsname |
840 | OR <ls_method>-exposure > 0 ). |
841 | CLEAR ls_ref_method. |
842 | ls_ref_method-cpdname = l_cpdname. |
843 | IF <ls_super_class>-clsname <> i_clsname. |
844 | ls_ref_method-inherited = abap_true. |
845 | ENDIF. |
846 | PERFORM get_dom_value_text |
847 | USING |
848 | 'SEOVERSION' |
849 | <ls_method>-version |
850 | CHANGING |
851 | ls_ref_method-active. |
852 | PERFORM get_dom_value_text |
853 | USING |
854 | 'SEOMTDDECL' |
855 | <ls_method>-mtddecltyp |
856 | CHANGING |
857 | ls_ref_method-type. |
858 | PERFORM get_dom_value_text |
859 | USING |
860 | 'SEOEXPOSE' |
861 | <ls_method>-exposure |
862 | CHANGING |
863 | ls_ref_method-exposure. |
864 | PERFORM seo_get_check_model |
865 | USING <ls_method> |
866 | CHANGING ls_ref_method. |
867 | PERFORM get_dom_value_text |
868 | USING |
869 | 'SEOMTDTYPE' |
870 | <ls_method>-mtdtype |
871 | CHANGING |
872 | ls_ref_method-methodtype. |
873 | ls_ref_method-descript = <ls_method>-descript. |
874 | ls_ref_method-owner = <ls_super_class>-clsname. |
875 | ls_ref_method-onclick = ls_ref_method-owner. |
876 | SPLIT ls_ref_method-onclick AT '/' INTO TABLE lt_str. |
877 | LOOP AT lt_str INTO ls_ref_method-onclick. |
878 | ENDLOOP. |
879 | CONCATENATE |
880 | ls_ref_method-onclick '-' |
881 | ls_ref_method-cpdname |
882 | INTO ls_ref_method-onclick. |
883 | CONCATENATE |
884 | 'loadIFrame(''IFRAME'', ''' |
885 | ls_ref_method-onclick '.' |
886 | gc_extension_htm ''');' |
887 | 'switchContent(''IFRAME'')' |
888 | INTO ls_ref_method-onclick. |
889 | PERFORM replace_all |
890 | USING '~' '-' |
891 | CHANGING ls_ref_method-onclick. |
892 | APPEND ls_ref_method TO ct_ref_method. |
893 | ENDIF. |
894 | ENDLOOP. |
895 | ENDLOOP. |
896 | ENDLOOP. |
897 | ENDFORM. "seo_clas_get_methods_from_intf |
898 | |
899 | |
900 |
901 |
902 |
903 | FORM seo_clas_get_methods_redef |
904 | USING |
905 | value(i_clsname) |
906 | it_super_class TYPE it_seo_super_class |
907 | CHANGING |
908 | ct_ref_method TYPE it_ref_seomethod. |
909 | |
910 | DATA: |
911 | lt_str TYPE it_string, |
912 | lt_redef TYPE STANDARD TABLE OF seoredef. |
913 | |
914 | FIELD-SYMBOLS: |
915 | <ls_super_class> TYPE st_seo_super_class, |
916 | <ls_ref_method> TYPE st_ref_seomethod, |
917 | <ls_redef> TYPE seoredef. |
918 | |
919 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
920 | SELECT * FROM seoredef INTO TABLE lt_redef |
921 | WHERE clsname = <ls_super_class>-clsname |
922 | AND version = '1'. |
923 | LOOP AT lt_redef ASSIGNING <ls_redef>. |
924 | READ TABLE ct_ref_method ASSIGNING <ls_ref_method> |
925 | WITH KEY cpdname = <ls_redef>-mtdname. |
926 | IF sy-subrc = 0. |
927 | IF <ls_super_class>-clsname = i_clsname. |
928 | <ls_ref_method>-inherited = abap_false. |
929 | <ls_ref_method>-redefin = abap_true. |
930 | ENDIF. |
931 | <ls_ref_method>-owner = <ls_redef>-clsname. |
932 | CONCATENATE |
933 | <ls_ref_method>-owner '-' |
934 | <ls_ref_method>-cpdname |
935 | INTO <ls_ref_method>-onclick. |
936 | SPLIT <ls_ref_method>-onclick AT '/' INTO TABLE lt_str. |
937 | LOOP AT lt_str INTO <ls_ref_method>-onclick. |
938 | ENDLOOP. |
939 | CONCATENATE |
940 | 'loadIFrame(''IFRAME'', ''' |
941 | <ls_ref_method>-onclick '.' |
942 | gc_extension_htm ''');' |
943 | 'switchContent(''IFRAME'')' |
944 | INTO <ls_ref_method>-onclick. |
945 | PERFORM replace_all |
946 | USING '~' '-' |
947 | CHANGING <ls_ref_method>-onclick. |
948 | ENDIF. |
949 | ENDLOOP. |
950 | ENDLOOP. |
951 | ENDFORM. "seo_clas_get_methods_redef |
952 | |
953 | |
954 |
955 |
956 |
957 | FORM seo_clas_get_props |
958 | USING |
959 | value(i_clsname) |
960 | value(i_devclass) |
961 | CHANGING |
962 | cs_properties TYPE st_properties |
963 | ct_ti TYPE it_textinput |
964 | ct_typegroup TYPE it_seotypepls. |
965 | |
966 | DATA: |
967 | ls_clskey TYPE seoclskey, |
968 | ls_extend TYPE vseoextend, |
969 | lt_redefinition TYPE STANDARD TABLE OF seoredef |
970 | WITH KEY clsname refclsname version mtdname, |
971 | ls_relkey TYPE seorelkey, |
972 | ls_vseoclass TYPE vseoclass, |
973 | lt_typegroup TYPE it_seotypepls. |
974 | |
975 | FIELD-SYMBOLS: |
976 | <ls_typegroup> TYPE seotypepls, |
977 | <l_explicit> TYPE ANY, |
978 | <l_state> TYPE ANY. |
979 | |
980 | CLEAR: |
981 | cs_properties. |
982 | |
983 | REFRESH: |
984 | ct_typegroup. |
985 | |
986 | ls_clskey-clsname = i_clsname. |
987 | CALL FUNCTION 'SEO_CLASS_READ' |
988 | EXPORTING |
989 | clskey = ls_clskey |
990 | version = '1' |
991 | IMPORTING |
992 | class = ls_vseoclass. |
993 | IF ls_vseoclass-changedby IS INITIAL |
994 | AND ls_vseoclass-changedon IS INITIAL. |
995 | ls_vseoclass-changedby = ls_vseoclass-author. |
996 | ls_vseoclass-changedon = ls_vseoclass-createdon. |
997 | ENDIF. |
998 | SELECT * FROM seotypepls INTO TABLE lt_typegroup |
999 | WHERE clsname = ls_clskey-clsname |
1000 | AND version = '1' |
1001 | ORDER BY typegroup. |
1002 | LOOP AT lt_typegroup ASSIGNING <ls_typegroup>. |
1003 | ASSIGN COMPONENT 'EXPLICIT' OF STRUCTURE <ls_typegroup> |
1004 | TO <l_explicit>. |
1005 | IF <l_explicit> IS ASSIGNED AND <l_explicit> = abap_true. |
1006 | APPEND <ls_typegroup> TO ct_typegroup. |
1007 | ENDIF. |
1008 | ENDLOOP. |
1009 | ls_relkey-clsname = i_clsname. |
1010 | CALL FUNCTION 'SEO_INHERITANC_GET' |
1011 | EXPORTING |
1012 | inhkey = ls_relkey |
1013 | version = '1' |
1014 | IMPORTING |
1015 | inheritance = ls_extend |
1016 | redefinitions = lt_redefinition |
1017 | EXCEPTIONS |
1018 | OTHERS = 1. |
1019 | cs_properties-superclass = ls_extend-refclsname. |
1020 | ASSIGN COMPONENT 'STATE' OF STRUCTURE ls_extend TO <l_state>. |
1021 | IF <l_state> IS ASSIGNED. |
1022 | IF <l_state> = 0. |
1023 | cs_properties-check_model_inh = abap_true. |
1024 | ENDIF. |
1025 | ELSE. |
1026 | cs_properties-check_model_inh = abap_undefined. |
1027 | ENDIF. |
1028 | cs_properties-descript = ls_vseoclass-descript. |
1029 | IF ls_vseoclass-clsabstrct = abap_true. |
1030 | ls_vseoclass-exposure = 3. |
1031 | ENDIF. |
1032 | PERFORM get_dom_value_text USING 'SEOCREATE' |
1033 | ls_vseoclass-exposure |
1034 | CHANGING cs_properties-creatable. |
1035 | cs_properties-clsfinal = ls_vseoclass-clsfinal. |
1036 | IF ls_vseoclass-langu IS INITIAL. |
1037 | SELECT SINGLE masterlang FROM tadir INTO ls_vseoclass-langu |
1038 | WHERE pgmid = 'R3TR' |
1039 | AND object = 'CLAS' |
1040 | AND obj_name = i_clsname. |
1041 | ENDIF. |
1042 | |
1043 | PERFORM seo_clas_get_props_textinput |
1044 | USING |
1045 | i_clsname |
1046 | i_devclass |
1047 | ls_vseoclass |
1048 | CHANGING |
1049 | ct_ti. |
1050 | ENDFORM. "seo_clas_get_props |
1051 | |
1052 | |
1053 |
1054 |
1055 |
1056 | FORM seo_clas_get_props_textinput |
1057 | USING |
1058 | value(i_clsname) |
1059 | value(i_devclass) |
1060 | is_vseoclass TYPE vseoclass |
1061 | CHANGING |
1062 | ct_ti TYPE it_textinput. |
1063 | |
1064 | DATA: |
1065 | l_namtext TYPE ad_namtext, |
1066 | ls_ti TYPE st_textinput. |
1067 | |
1068 | FIELD-SYMBOLS: |
1069 | <l_clssharedmemory> TYPE ANY, |
1070 | <l_msg_id> TYPE ANY, |
1071 | <l_unicode> TYPE ANY. |
1072 | |
1073 | REFRESH: |
1074 | ct_ti. |
1075 | |
1076 | ls_ti-name = txt_released_internally. |
1077 | ls_ti-flag = abap_true. |
1078 | IF NOT is_vseoclass-release IS INITIAL. |
1079 | ls_ti-value = abap_true. |
1080 | ENDIF. |
1081 | APPEND ls_ti TO ct_ti. |
1082 | CLEAR ls_ti. |
1083 | ls_ti-name = txt_fixed_point_arithmetic. |
1084 | ls_ti-flag = abap_true. |
1085 | ls_ti-flag_col = 1. |
1086 | ls_ti-value = is_vseoclass-fixpt. |
1087 | APPEND ls_ti TO ct_ti. |
1088 | ASSIGN COMPONENT 'UNICODE' OF STRUCTURE is_vseoclass TO <l_unicode>. |
1089 | IF <l_unicode> IS ASSIGNED. |
1090 | CLEAR ls_ti. |
1091 | ls_ti-name = txtt_unicode_checks_active. |
1092 | ls_ti-flag = abap_true. |
1093 | ls_ti-flag_col = 2. |
1094 | ls_ti-value = is_vseoclass-unicode. |
1095 | APPEND ls_ti TO ct_ti. |
1096 | ENDIF. |
1097 | ASSIGN COMPONENT 'CLSSHAREDMEMORY' OF STRUCTURE is_vseoclass |
1098 | TO <l_clssharedmemory>. |
1099 | IF <l_clssharedmemory> IS ASSIGNED. |
1100 | CLEAR ls_ti. |
1101 | ls_ti-name = txt_shared_memory_enabled. |
1102 | ls_ti-flag = abap_true. |
1103 | ls_ti-value = <l_clssharedmemory>. |
1104 | APPEND ls_ti TO ct_ti. |
1105 | ENDIF. |
1106 | ASSIGN COMPONENT 'MSG_ID' OF STRUCTURE is_vseoclass TO <l_msg_id>. |
1107 | IF <l_msg_id> IS ASSIGNED. |
1108 | CLEAR ls_ti. |
1109 | ls_ti-name = txt_message_class. |
1110 | ls_ti-value = <l_msg_id>. |
1111 | ls_ti-input = abap_true. |
1112 | APPEND ls_ti TO ct_ti. |
1113 | ENDIF. |
1114 | CLEAR ls_ti. |
1115 | ls_ti-name = txt_program_status. |
1116 | PERFORM get_dom_value_text USING 'RSTAT' |
1117 | is_vseoclass-rstat |
1118 | CHANGING ls_ti-value. |
1119 | ls_ti-input = abap_true. |
1120 | APPEND ls_ti TO ct_ti. |
1121 | CLEAR ls_ti. |
1122 | ls_ti-name = txt_category. |
1123 | PERFORM get_dom_value_text USING 'SEOCATEGRY' |
1124 | is_vseoclass-category |
1125 | CHANGING ls_ti-value. |
1126 | ls_ti-input = abap_true. |
1127 | APPEND ls_ti TO ct_ti. |
1128 | CLEAR ls_ti. |
1129 | ls_ti-name = txt_package. |
1130 | ls_ti-value = i_devclass. |
1131 | ls_ti-input = abap_true. |
1132 | APPEND ls_ti TO ct_ti. |
1133 | CLEAR ls_ti. |
1134 | ls_ti-name = txt_original_language. |
1135 | ls_ti-value = is_vseoclass-langu. |
1136 | ls_ti-input = abap_true. |
1137 | APPEND ls_ti TO ct_ti. |
1138 | CLEAR ls_ti. |
1139 | ls_ti-name = txt_created_by___1. |
1140 | ls_ti-value = is_vseoclass-author. |
1141 | PERFORM get_user USING is_vseoclass-author |
1142 | CHANGING l_namtext. |
1143 | ls_ti-value_text = l_namtext. |
1144 | ls_ti-has_value_ext = abap_true. |
1145 | PERFORM get_date USING is_vseoclass-createdon |
1146 | CHANGING ls_ti-value_ext. |
1147 | ls_ti-input = abap_true. |
1148 | APPEND ls_ti TO ct_ti. |
1149 | CLEAR ls_ti. |
1150 | ls_ti-name = txt_last_changed_by___1. |
1151 | ls_ti-value = is_vseoclass-changedby. |
1152 | PERFORM get_user USING is_vseoclass-changedby |
1153 | CHANGING l_namtext. |
1154 | ls_ti-value_text = l_namtext. |
1155 | ls_ti-has_value_ext = abap_true. |
1156 | PERFORM get_date USING is_vseoclass-changedon |
1157 | CHANGING ls_ti-value_ext. |
1158 | ls_ti-input = abap_true. |
1159 | APPEND ls_ti TO ct_ti. |
1160 | ENDFORM. "seo_clas_get_props_textInput |
1161 | |
1162 | |
1163 |
1164 |
1165 |
1166 | FORM seo_clas_get_text_symbols |
1167 | USING |
1168 | value(i_clsname) |
1169 | CHANGING |
1170 | ct_text_symbols TYPE it_textpool |
1171 | ct_text_symbols_addons TYPE it_textpool_addons. |
1172 | |
1173 | DATA: |
1174 | l_clsname TYPE seoclsname, |
1175 | l_progname TYPE progname, |
1176 | ls_text_symbols_addons TYPE st_textpool_addons. |
1177 | |
1178 | FIELD-SYMBOLS: |
1179 | <ls_text_symbols> TYPE textpool. |
1180 | |
1181 | REFRESH: |
1182 | ct_text_symbols, |
1183 | ct_text_symbols_addons. |
1184 | |
1185 | l_clsname = i_clsname. |
1186 | PERFORM get_trdir_name |
1187 | USING l_clsname 'CP' |
1188 | CHANGING l_progname. |
1189 | READ TEXTPOOL l_progname INTO ct_text_symbols LANGUAGE sy-langu. |
1190 | DELETE ct_text_symbols WHERE id <> 'I'. |
1191 | |
1192 | LOOP AT ct_text_symbols ASSIGNING <ls_text_symbols>. |
1193 | ls_text_symbols_addons-strlen = strlen( |
1194 | <ls_text_symbols>-entry |
1195 | ). |
1196 | APPEND ls_text_symbols_addons TO ct_text_symbols_addons. |
1197 | ENDLOOP. |
1198 | ENDFORM. "seo_clas_get_text_symbols |
1199 | |
1200 | |
1201 |
1202 |
1203 |
1204 | FORM seo_clas_get_types |
1205 | USING |
1206 | value(i_clsname) |
1207 | it_super_class TYPE it_seo_super_class |
1208 | CHANGING |
1209 | ct_ref_type TYPE it_ref_seotype |
1210 | ct_ref_type_par TYPE it_ref_seotype. |
1211 | |
1212 | DATA: |
1213 | lt_seotype TYPE STANDARD TABLE OF vseotype, |
1214 | ls_ref_type TYPE st_ref_seotype, |
1215 | l_str TYPE string, |
1216 | l_id TYPE string. |
1217 | |
1218 | FIELD-SYMBOLS: |
1219 | <ls_super_class> TYPE st_seo_super_class, |
1220 | <ls_seotype> TYPE vseotype. |
1221 | |
1222 | REFRESH: |
1223 | ct_ref_type, |
1224 | ct_ref_type_par. |
1225 | |
1226 | LOOP AT it_super_class ASSIGNING <ls_super_class>. |
1227 | SELECT * FROM vseotype INTO TABLE lt_seotype |
1228 | WHERE clsname = <ls_super_class>-clsname |
1229 | AND langu = sy-langu |
1230 | AND version = '1' |
1231 | ORDER BY editorder. |
1232 | LOOP AT lt_seotype ASSIGNING <ls_seotype>. |
1233 | CLEAR ls_ref_type. |
1234 | ls_ref_type-cpdname = <ls_seotype>-cmpname. |
1235 | ls_ref_type-owner = <ls_super_class>-clsname. |
1236 | IF <ls_super_class>-clsname <> i_clsname. |
1237 | ls_ref_type-inherited = abap_true. |
1238 | ENDIF. |
1239 | PERFORM get_dom_value_text |
1240 | USING |
1241 | 'SEOTYPTYPE' |
1242 | <ls_seotype>-typtype |
1243 | CHANGING |
1244 | ls_ref_type-typtype. |
1245 | ls_ref_type-type = <ls_seotype>-type. |
1246 | l_str = <ls_seotype>-exposure. |
1247 | CONDENSE l_str. |
1248 | CONCATENATE 'COMPONENTS_' l_str '_' INTO l_str. |
1249 | PERFORM get_id |
1250 | USING l_str <ls_super_class>-clsname |
1251 | CHANGING l_id. |
1252 | CONCATENATE 'switchContent(''' l_id ''')' |
1253 | INTO ls_ref_type-onclick. |
1254 | ls_ref_type-typelink = '->'. |
1255 | ls_ref_type-descript = <ls_seotype>-descript. |
1256 | PERFORM get_dom_value_text |
1257 | USING |
1258 | 'SEOEXPOSE' |
1259 | <ls_seotype>-exposure |
1260 | CHANGING |
1261 | ls_ref_type-exposure. |
1262 | PERFORM seo_get_check_model |
1263 | USING <ls_seotype> |
1264 | CHANGING ls_ref_type. |
1265 | APPEND ls_ref_type TO ct_ref_type_par. |
1266 | IF <ls_super_class>-clsname = i_clsname |
1267 | OR <ls_seotype>-exposure <> 0. |
1268 | APPEND ls_ref_type TO ct_ref_type. |
1269 | ENDIF. |
1270 | ENDLOOP. |
1271 | ENDLOOP. |
1272 | |
1273 | |
1274 | ENDFORM. "seo_clas_get_types |
1275 | |
1276 | |
1277 |
1278 |
1279 |
1280 | FORM seo_get_check_model |
1281 | USING |
1282 | value(is_struc) TYPE any |
1283 | CHANGING |
1284 | cs_struc TYPE any. |
1285 | |
1286 | FIELD-SYMBOLS: |
1287 | <l_state> TYPE ANY, |
1288 | <l_check_model> TYPE ANY. |
1289 | |
1290 | ASSIGN COMPONENT 'STATE' OF STRUCTURE is_struc TO <l_state>. |
1291 | ASSIGN COMPONENT 'CHECK_MODEL' OF STRUCTURE cs_struc |
1292 | TO <l_check_model>. |
1293 | CHECK <l_check_model> IS ASSIGNED. |
1294 | IF <l_state> IS ASSIGNED. |
1295 | IF <l_state> = 0. |
1296 | <l_check_model> = abap_true. |
1297 | ELSE. |
1298 | <l_check_model> = abap_false. |
1299 | ENDIF. |
1300 | ELSE. |
1301 | <l_check_model> = abap_undefined. |
1302 | ENDIF. |
1303 | |
1304 | ENDFORM. "seo_get_check_model |
1305 | |
1306 | |
1307 |
1308 |
1309 |
1310 | FORM seo_get_interfaces |
1311 | USING |
1312 | value(i_clsname) |
1313 | value(i_hierlevel) |
1314 | CHANGING |
1315 | ct_ref_interface TYPE it_ref_seointerface |
1316 | ct_ref_interface_all TYPE it_ref_seointerface. |
1317 | |
1318 | DATA: |
1319 | l_hierlevel TYPE i, |
1320 | lt_metarel TYPE STANDARD TABLE OF seometarel, |
1321 | lt_ref_interface TYPE it_ref_seointerface, |
1322 | ls_ref_interface TYPE st_ref_seointerface. |
1323 | |
1324 | FIELD-SYMBOLS: |
1325 | <ls_metarel> TYPE seometarel, |
1326 | <ls_ref_interface> TYPE st_ref_seointerface, |
1327 | <l_impfinal> TYPE ANY, |
1328 | <l_impabstrct> TYPE ANY. |
1329 | |
1330 | l_hierlevel = i_hierlevel + 1. |
1331 | |
1332 | SELECT * FROM seometarel INTO TABLE lt_metarel |
1333 | WHERE clsname = i_clsname |
1334 | AND reltype <= 1. |
1335 | CLEAR ls_ref_interface. |
1336 | LOOP AT lt_metarel ASSIGNING <ls_metarel>. |
1337 | READ TABLE ct_ref_interface_all TRANSPORTING NO FIELDS |
1338 | WITH KEY refclsname = <ls_metarel>-refclsname. |
1339 | IF sy-subrc <> 0. |
1340 | ls_ref_interface-refclsname = <ls_metarel>-refclsname. |
1341 | ASSIGN COMPONENT 'IMPFINAL' OF STRUCTURE <ls_metarel> |
1342 | TO <l_impfinal>. |
1343 | IF <l_impfinal> IS ASSIGNED. |
1344 | ls_ref_interface-impfinal = <l_impfinal>. |
1345 | UNASSIGN <l_impfinal>. |
1346 | ELSE. |
1347 | ls_ref_interface-impfinal = abap_undefined. |
1348 | ENDIF. |
1349 | ASSIGN COMPONENT 'IMPABSTRCT' OF STRUCTURE <ls_metarel> |
1350 | TO <l_impabstrct>. |
1351 | IF <l_impabstrct> IS ASSIGNED. |
1352 | ls_ref_interface-impabstrct = <l_impabstrct>. |
1353 | UNASSIGN <l_impabstrct>. |
1354 | ELSE. |
1355 | ls_ref_interface-impabstrct = abap_undefined. |
1356 | ENDIF. |
1357 | PERFORM seo_get_check_model |
1358 | USING <ls_metarel> |
1359 | CHANGING ls_ref_interface. |
1360 | SELECT SINGLE descript FROM seoclasstx |
1361 | INTO ls_ref_interface-descript |
1362 | WHERE clsname = ls_ref_interface-refclsname |
1363 | AND langu = sy-langu. |
1364 | |
1365 | APPEND ls_ref_interface TO ct_ref_interface. |
1366 | APPEND ls_ref_interface TO ct_ref_interface_all. |
1367 | |
1368 | PERFORM seo_get_interfaces |
1369 | USING |
1370 | <ls_metarel>-refclsname |
1371 | l_hierlevel |
1372 | CHANGING |
1373 | lt_ref_interface |
1374 | ct_ref_interface_all. |
1375 | ENDIF. |
1376 | ENDLOOP. |
1377 | SORT ct_ref_interface_all BY |
1378 | hierlevel DESCENDING |
1379 | refclsname ASCENDING. |
1380 | SORT ct_ref_interface BY refclsname. |
1381 | ENDFORM. "seo_get_interfaces |
1382 | |
1383 | |
1384 |
1385 |
1386 |
1387 | FORM seo_get_superclasses |
1388 | USING |
1389 | value(i_clsname) |
1390 | CHANGING |
1391 | ct_super_class TYPE it_seo_super_class. |
1392 | |
1393 | DATA: |
1394 | ls_clskey TYPE seoclskey, |
1395 | ls_clsref TYPE seoclsref, |
1396 | ls_super_class TYPE st_seo_super_class, |
1397 | l_lines TYPE i. |
1398 | |
1399 | FIELD-SYMBOLS: |
1400 | <l_class> TYPE seoclsname. |
1401 | |
1402 | DESCRIBE TABLE ct_super_class LINES l_lines. |
1403 | ls_super_class-clsname = i_clsname. |
1404 | ls_super_class-hierlevel = l_lines + 1. |
1405 | APPEND ls_super_class TO ct_super_class. |
1406 | |
1407 | ls_clskey-clsname = i_clsname. |
1408 | CALL FUNCTION 'SEO_CLASS_GET' |
1409 | EXPORTING |
1410 | clskey = ls_clskey |
1411 | version = '1' |
1412 | state = '0' |
1413 | IMPORTING |
1414 | superclass = ls_clsref |
1415 | EXCEPTIONS |
1416 | OTHERS = 1. |
1417 | IF sy-subrc = 0 AND NOT ls_clsref-refclsname IS INITIAL. |
1418 | PERFORM seo_get_superclasses |
1419 | USING |
1420 | ls_clsref-refclsname |
1421 | CHANGING |
1422 | ct_super_class. |
1423 | ENDIF. |
1424 | SORT ct_super_class BY hierlevel DESCENDING. |
1425 | ENDFORM. "seo_get_superClasses |
1426 | |
1427 | |
1428 |
1429 |
1430 |
1431 | FORM seo_intf_get_aliases |
1432 | USING |
1433 | value(i_clsname) |
1434 | it_ref_attrib TYPE it_ref_seoattrib |
1435 | it_ref_method TYPE it_ref_seomethod |
1436 | it_ref_event TYPE it_ref_seoevent |
1437 | it_ref_type TYPE it_ref_seotype |
1438 | CHANGING |
1439 | ct_ref_alias TYPE it_ref_seoalias. |
1440 | |
1441 | DATA: |
1442 | ls_ref_alias TYPE st_ref_seoalias, |
1443 | ls_clskey TYPE seoclskey, |
1444 | lt_seoalias TYPE seo_aliases, |
1445 | l_cpdname TYPE seocpdname. |
1446 | |
1447 | FIELD-SYMBOLS: |
1448 | <ls_ref_attrib> TYPE st_ref_seoattrib, |
1449 | <ls_ref_method> TYPE st_ref_seomethod, |
1450 | <ls_ref_event> TYPE st_ref_seoevent, |
1451 | <ls_ref_type> TYPE st_ref_seotype, |
1452 | <ls_seoalias> TYPE seoaliases, |
1453 | <ls_ref_alias> TYPE st_ref_seoalias. |
1454 | |
1455 | REFRESH: |
1456 | ct_ref_alias. |
1457 | |
1458 | ls_ref_alias-type = txt_attribute. |
1459 | LOOP AT it_ref_attrib ASSIGNING <ls_ref_attrib> |
1460 | WHERE cpdname CP '*~*'. |
1461 | ls_ref_alias-cpdname = <ls_ref_attrib>-cpdname. |
1462 | APPEND ls_ref_alias TO ct_ref_alias. |
1463 | ENDLOOP. |
1464 | ls_ref_alias-type = txt_method. |
1465 | LOOP AT it_ref_method ASSIGNING <ls_ref_method> |
1466 | WHERE cpdname CP '*~*'. |
1467 | ls_ref_alias-cpdname = <ls_ref_method>-cpdname. |
1468 | APPEND ls_ref_alias TO ct_ref_alias. |
1469 | ENDLOOP. |
1470 | ls_ref_alias-type = txt_event. |
1471 | LOOP AT it_ref_event ASSIGNING <ls_ref_event> |
1472 | WHERE cpdname CP '*~*'. |
1473 | ls_ref_alias-cpdname = <ls_ref_event>-cpdname. |
1474 | APPEND ls_ref_alias TO ct_ref_alias. |
1475 | ENDLOOP. |
1476 | ls_ref_alias-type = txt_type___1. |
1477 | LOOP AT it_ref_type ASSIGNING <ls_ref_type> |
1478 | WHERE cpdname CP '*~*'. |
1479 | ls_ref_alias-cpdname = <ls_ref_type>-cpdname. |
1480 | APPEND ls_ref_alias TO ct_ref_alias. |
1481 | ENDLOOP. |
1482 | |
1483 | ls_clskey-clsname = i_clsname. |
1484 | CALL FUNCTION 'SEO_ALIASES_GET' |
1485 | EXPORTING |
1486 | cifkey = ls_clskey |
1487 | CHANGING |
1488 | aliases = lt_seoalias. |
1489 | LOOP AT lt_seoalias ASSIGNING <ls_seoalias>. |
1490 | CONCATENATE |
1491 | <ls_seoalias>-refclsname '~' |
1492 | <ls_seoalias>-refcmpname |
1493 | INTO l_cpdname. |
1494 | READ TABLE ct_ref_alias ASSIGNING <ls_ref_alias> |
1495 | WITH KEY cpdname = l_cpdname. |
1496 | IF sy-subrc = 0. |
1497 | <ls_ref_alias>-refcmpname = <ls_seoalias>-cmpname. |
1498 | ENDIF. |
1499 | ENDLOOP. |
1500 | SORT ct_ref_alias BY cpdname. |
1501 | ENDFORM. "seo_intf_get_aliases |
1502 | |
1503 | |
1504 |
1505 |
1506 |
1507 | FORM seo_intf_get_attribs |
1508 | USING |
1509 | value(i_clsname) |
1510 | it_ref_interface TYPE it_ref_seointerface |
1511 | CHANGING |
1512 | ct_ref_attrib TYPE it_ref_seoattrib. |
1513 | |
1514 | DATA: |
1515 | lt_attrib TYPE STANDARD TABLE OF vseoattrib, |
1516 | ls_ref_attrib TYPE st_ref_seoattrib, |
1517 | l_id TYPE string. |
1518 | |
1519 | FIELD-SYMBOLS: |
1520 | <ls_ref_interface> TYPE st_ref_seointerface, |
1521 | <ls_attrib> TYPE vseoattrib. |
1522 | |
1523 | REFRESH: |
1524 | ct_ref_attrib. |
1525 | |
1526 | LOOP AT it_ref_interface ASSIGNING <ls_ref_interface>. |
1527 | SELECT * FROM vseoattrib INTO TABLE lt_attrib |
1528 | WHERE clsname = <ls_ref_interface>-refclsname |
1529 | AND langu = sy-langu |
1530 | AND version = '1' |
1531 | ORDER BY editorder. |
1532 | LOOP AT lt_attrib ASSIGNING <ls_attrib>. |
1533 | CLEAR ls_ref_attrib. |
1534 | IF <ls_attrib>-alias = abap_false. |
1535 | ls_ref_attrib-cpdname = <ls_attrib>-cmpname. |
1536 | IF <ls_ref_interface>-refclsname <> i_clsname. |
1537 | CONCATENATE <ls_ref_interface>-refclsname '~' |
1538 | ls_ref_attrib-cpdname INTO ls_ref_attrib-cpdname. |
1539 | ENDIF. |
1540 | PERFORM seo_get_check_model |
1541 | USING <ls_attrib> |
1542 | CHANGING ls_ref_attrib. |
1543 | PERFORM get_dom_value_text |
1544 | USING |
1545 | 'SEOATTDECL' |
1546 | <ls_attrib>-attdecltyp |
1547 | CHANGING |
1548 | ls_ref_attrib-decltype. |
1549 | ls_ref_attrib-attrdonly = <ls_attrib>-attrdonly. |
1550 | PERFORM get_dom_value_text |
1551 | USING |
1552 | 'SEOTYPTYPE' |
1553 | <ls_attrib>-typtype |
1554 | CHANGING |
1555 | ls_ref_attrib-typtype. |
1556 | ls_ref_attrib-type = <ls_attrib>-type. |
1557 | PERFORM get_id |
1558 | USING 'COMPONENTS_' <ls_ref_interface>-refclsname |
1559 | CHANGING l_id. |
1560 | CONCATENATE 'switchContent(''' l_id ''')' |
1561 | INTO ls_ref_attrib-onclick. |
1562 | ls_ref_attrib-typelink = '->'. |
1563 | ls_ref_attrib-descript = <ls_attrib>-descript. |
1564 | ls_ref_attrib-attvalue = <ls_attrib>-attvalue. |
1565 | APPEND ls_ref_attrib TO ct_ref_attrib. |
1566 | ENDIF. |
1567 | ENDLOOP. |
1568 | ENDLOOP. |
1569 | ENDFORM. "seo_intf_get_attribs |
1570 | |
1571 | |
1572 |
1573 |
1574 |
1575 | FORM seo_intf_get_events |
1576 | USING |
1577 | value(i_clsname) |
1578 | it_ref_interface TYPE it_ref_seointerface |
1579 | CHANGING |
1580 | ct_ref_event TYPE it_ref_seoevent. |
1581 | |
1582 | DATA: |
1583 | lt_event TYPE STANDARD TABLE OF vseoevent, |
1584 | ls_ref_event TYPE st_ref_seoevent, |
1585 | ls_cmpkey TYPE seocmpkey, |
1586 | ls_event TYPE vseoevent. |
1587 | |
1588 | FIELD-SYMBOLS: |
1589 | <ls_ref_interface> TYPE st_ref_seointerface, |
1590 | <ls_event> TYPE vseoevent. |
1591 | |
1592 | REFRESH: |
1593 | ct_ref_event. |
1594 | |
1595 | LOOP AT it_ref_interface ASSIGNING <ls_ref_interface>. |
1596 | SELECT * FROM vseoevent INTO TABLE lt_event |
1597 | WHERE clsname = <ls_ref_interface>-refclsname |
1598 | AND langu = sy-langu |
1599 | AND version = '1' |
1600 | ORDER BY editorder. |
1601 | CLEAR ls_ref_event. |
1602 | LOOP AT lt_event ASSIGNING <ls_event>. |
1603 | ls_cmpkey-clsname = <ls_ref_interface>-refclsname. |
1604 | ls_cmpkey-cmpname = <ls_event>-cmpname. |
1605 | CALL FUNCTION 'SEO_EVENT_GET' |
1606 | EXPORTING |
1607 | evtkey = ls_cmpkey |
1608 | version = 1 |
1609 | IMPORTING |
1610 | event = ls_event |
1611 | EXCEPTIONS |
1612 | OTHERS = 1. |
1613 | IF sy-subrc = 0 AND ls_event-alias = abap_false. |
1614 | ls_ref_event-cpdname = ls_event-cmpname. |
1615 | IF <ls_ref_interface>-refclsname <> i_clsname. |
1616 | CONCATENATE <ls_ref_interface>-refclsname '~' |
1617 | ls_ref_event-cpdname INTO ls_ref_event-cpdname. |
1618 | ENDIF. |
1619 | PERFORM seo_get_check_model |
1620 | USING ls_event |
1621 | CHANGING ls_ref_event. |
1622 | PERFORM get_dom_value_text |
1623 | USING |
1624 | 'SEOEVTDECL' |
1625 | ls_event-evtdecltyp |
1626 | CHANGING |
1627 | ls_ref_event-type. |
1628 | ls_ref_event-descript = ls_event-descript. |
1629 | APPEND ls_ref_event TO ct_ref_event. |
1630 | ENDIF. |
1631 | ENDLOOP. |
1632 | ENDLOOP. |
1633 | ENDFORM. "seo_intf_get_events |
1634 | |
1635 | |
1636 |
1637 |
1638 |
1639 | FORM seo_intf_get_methods |
1640 | USING |
1641 | value(i_clsname) |
1642 | it_ref_interface TYPE it_ref_seointerface |
1643 | CHANGING |
1644 | ct_ref_method TYPE it_ref_seomethod. |
1645 | |
1646 | DATA: |
1647 | lt_method TYPE STANDARD TABLE OF vseomethod, |
1648 | ls_ref_method TYPE st_ref_seomethod. |
1649 | |
1650 | FIELD-SYMBOLS: |
1651 | <ls_ref_interface> TYPE st_ref_seointerface, |
1652 | <ls_method> TYPE vseomethod. |
1653 | |
1654 | REFRESH: |
1655 | ct_ref_method. |
1656 | |
1657 | LOOP AT it_ref_interface ASSIGNING <ls_ref_interface>. |
1658 | SELECT * FROM vseomethod INTO TABLE lt_method |
1659 | WHERE clsname = <ls_ref_interface>-refclsname |
1660 | AND langu = sy-langu |
1661 | AND version = '1' |
1662 | ORDER BY editorder. |
1663 | LOOP AT lt_method ASSIGNING <ls_method>. |
1664 | CLEAR ls_ref_method. |
1665 | IF <ls_method>-alias = abap_false. |
1666 | ls_ref_method-cpdname = <ls_method>-cmpname. |
1667 | IF <ls_ref_interface>-refclsname <> i_clsname. |
1668 | CONCATENATE <ls_ref_interface>-refclsname '~' |
1669 | ls_ref_method-cpdname INTO ls_ref_method-cpdname. |
1670 | ENDIF. |
1671 | PERFORM get_dom_value_text |
1672 | USING |
1673 | 'SEOMTDDECL' |
1674 | <ls_method>-mtddecltyp |
1675 | CHANGING |
1676 | ls_ref_method-type. |
1677 | PERFORM seo_get_check_model |
1678 | USING <ls_method> |
1679 | CHANGING ls_ref_method. |
1680 | PERFORM get_dom_value_text |
1681 | USING |
1682 | 'SEOMTDTYPE' |
1683 | <ls_method>-mtdtype |
1684 | CHANGING |
1685 | ls_ref_method-methodtype. |
1686 | ls_ref_method-descript = <ls_method>-descript. |
1687 | APPEND ls_ref_method TO ct_ref_method. |
1688 | ENDIF. |
1689 | ENDLOOP. |
1690 | ENDLOOP. |
1691 | ENDFORM. "seo_intf_get_methods |
1692 | |
1693 | |
1694 |
1695 |
1696 |
1697 | FORM seo_intf_get_props |
1698 | USING |
1699 | value(i_clsname) |
1700 | value(i_devclass) |
1701 | CHANGING |
1702 | cs_properties TYPE st_properties |
1703 | ct_ti TYPE it_textinput |
1704 | ct_typegroup TYPE it_seotypepls. |
1705 | |
1706 | DATA: |
1707 | ls_clskey TYPE seoclskey, |
1708 | ls_seointerf TYPE vseointerf, |
1709 | lt_typegroup TYPE it_seotypepls. |
1710 | |
1711 | FIELD-SYMBOLS: |
1712 | <ls_typegroup> TYPE seotypepls, |
1713 | <l_explicit> TYPE ANY. |
1714 | |
1715 | CLEAR: |
1716 | cs_properties. |
1717 | |
1718 | REFRESH: |
1719 | ct_typegroup. |
1720 | |
1721 | ls_clskey-clsname = i_clsname. |
1722 | CALL FUNCTION 'SEO_INTERFACE_READ' |
1723 | EXPORTING |
1724 | intkey = ls_clskey |
1725 | version = 1 |
1726 | IMPORTING |
1727 | interface = ls_seointerf. |
1728 | IF ls_seointerf-changedby IS INITIAL |
1729 | AND ls_seointerf-changedon IS INITIAL. |
1730 | ls_seointerf-changedby = ls_seointerf-author. |
1731 | ls_seointerf-changedon = ls_seointerf-createdon. |
1732 | ENDIF. |
1733 | SELECT * FROM seotypepls INTO TABLE lt_typegroup |
1734 | WHERE clsname = ls_clskey-clsname |
1735 | AND version = '1' |
1736 | ORDER BY typegroup. |
1737 | LOOP AT lt_typegroup ASSIGNING <ls_typegroup>. |
1738 | ASSIGN COMPONENT 'EXPLICIT' OF STRUCTURE <ls_typegroup> |
1739 | TO <l_explicit>. |
1740 | IF <l_explicit> IS ASSIGNED AND <l_explicit> = abap_true. |
1741 | APPEND <ls_typegroup> TO ct_typegroup. |
1742 | ENDIF. |
1743 | ENDLOOP. |
1744 | cs_properties-descript = ls_seointerf-descript. |
1745 | IF ls_seointerf-langu IS INITIAL. |
1746 | SELECT SINGLE masterlang FROM tadir INTO ls_seointerf-langu |
1747 | WHERE pgmid = 'R3TR' |
1748 | AND object = 'INTF' |
1749 | AND obj_name = i_clsname. |
1750 | ENDIF. |
1751 | |
1752 | PERFORM seo_intf_get_props_textinput |
1753 | USING |
1754 | i_clsname |
1755 | i_devclass |
1756 | ls_seointerf |
1757 | CHANGING |
1758 | ct_ti. |
1759 | ENDFORM. "seo_clas_get_props |
1760 | |
1761 | |
1762 |
1763 |
1764 |
1765 | FORM seo_intf_get_props_textinput |
1766 | USING |
1767 | value(i_clsname) |
1768 | value(i_devclass) |
1769 | is_seointerf TYPE vseointerf |
1770 | CHANGING |
1771 | ct_ti TYPE it_textinput. |
1772 | |
1773 | DATA: |
1774 | l_namtext TYPE ad_namtext, |
1775 | ls_ti TYPE st_textinput. |
1776 | |
1777 | FIELD-SYMBOLS: |
1778 | <l_unicode> TYPE ANY. |
1779 | |
1780 | REFRESH: |
1781 | ct_ti. |
1782 | |
1783 | ls_ti-name = txt_released_internally. |
1784 | ls_ti-flag = abap_true. |
1785 | ls_ti-flag_col = 1. |
1786 | IF NOT is_seointerf-release IS INITIAL. |
1787 | ls_ti-value = abap_true. |
1788 | ENDIF. |
1789 | APPEND ls_ti TO ct_ti. |
1790 | ASSIGN COMPONENT 'UNICODE' OF STRUCTURE is_seointerf TO <l_unicode>. |
1791 | IF <l_unicode> IS ASSIGNED. |
1792 | CLEAR ls_ti. |
1793 | ls_ti-name = txtt_unicode_checks_active. |
1794 | ls_ti-flag = abap_true. |
1795 | ls_ti-flag_col = 2. |
1796 | ls_ti-value = <l_unicode>. |
1797 | APPEND ls_ti TO ct_ti. |
1798 | ENDIF. |
1799 | CLEAR ls_ti. |
1800 | ls_ti-name = txt_package. |
1801 | ls_ti-value = i_devclass. |
1802 | ls_ti-input = abap_true. |
1803 | APPEND ls_ti TO ct_ti. |
1804 | CLEAR ls_ti. |
1805 | ls_ti-name = txt_original_language. |
1806 | ls_ti-value = is_seointerf-langu. |
1807 | ls_ti-input = abap_true. |
1808 | APPEND ls_ti TO ct_ti. |
1809 | CLEAR ls_ti. |
1810 | ls_ti-name = txt_created_by___1. |
1811 | ls_ti-value = is_seointerf-author. |
1812 | PERFORM get_user |
1813 | USING |
1814 | is_seointerf-author |
1815 | CHANGING |
1816 | l_namtext. |
1817 | ls_ti-value_text = l_namtext. |
1818 | ls_ti-has_value_ext = abap_true. |
1819 | PERFORM get_date |
1820 | USING |
1821 | is_seointerf-createdon |
1822 | CHANGING |
1823 | ls_ti-value_ext. |
1824 | ls_ti-input = abap_true. |
1825 | APPEND ls_ti TO ct_ti. |
1826 | CLEAR ls_ti. |
1827 | ls_ti-name = txt_last_changed_by___1. |
1828 | ls_ti-value = is_seointerf-changedby. |
1829 | PERFORM get_user |
1830 | USING |
1831 | is_seointerf-changedby |
1832 | CHANGING |
1833 | l_namtext. |
1834 | ls_ti-value_text = l_namtext. |
1835 | ls_ti-has_value_ext = abap_true. |
1836 | PERFORM get_date |
1837 | USING |
1838 | is_seointerf-changedon |
1839 | CHANGING |
1840 | ls_ti-value_ext. |
1841 | ls_ti-input = abap_true. |
1842 | APPEND ls_ti TO ct_ti. |
1843 | ENDFORM. "seo_intf_get_props_textInput |
1844 | |
1845 | |
1846 |
1847 |
1848 |
1849 | FORM seo_intf_get_types |
1850 | USING |
1851 | value(i_clsname) |
1852 | it_ref_interface TYPE it_ref_seointerface |
1853 | CHANGING |
1854 | ct_ref_type TYPE it_ref_seotype |
1855 | ct_ref_type_par TYPE it_ref_seotype. |
1856 | |
1857 | DATA: |
1858 | lt_type TYPE STANDARD TABLE OF vseotype, |
1859 | ls_ref_type TYPE st_ref_seotype, |
1860 | l_id TYPE string. |
1861 | |
1862 | FIELD-SYMBOLS: |
1863 | <ls_ref_interface> TYPE st_ref_seointerface, |
1864 | <ls_type> TYPE vseotype. |
1865 | |
1866 | REFRESH: |
1867 | ct_ref_type. |
1868 | |
1869 | LOOP AT it_ref_interface ASSIGNING <ls_ref_interface>. |
1870 | SELECT * FROM vseotype INTO TABLE lt_type |
1871 | WHERE clsname = <ls_ref_interface>-refclsname |
1872 | AND langu = sy-langu |
1873 | AND version = '1' |
1874 | ORDER BY editorder. |
1875 | CLEAR ls_ref_type. |
1876 | LOOP AT lt_type ASSIGNING <ls_type>. |
1877 | ls_ref_type-cpdname = <ls_type>-cmpname. |
1878 | IF <ls_ref_interface>-refclsname <> i_clsname. |
1879 | CONCATENATE <ls_ref_interface>-refclsname '~' |
1880 | ls_ref_type-cpdname INTO ls_ref_type-cpdname. |
1881 | ENDIF. |
1882 | PERFORM get_dom_value_text |
1883 | USING |
1884 | 'SEOTYPTYPE' |
1885 | <ls_type>-typtype |
1886 | CHANGING |
1887 | ls_ref_type-typtype. |
1888 | ls_ref_type-type = <ls_type>-type. |
1889 | PERFORM get_id |
1890 | USING 'COMPONENTS_' <ls_ref_interface>-refclsname |
1891 | CHANGING l_id. |
1892 | CONCATENATE 'switchContent(''' l_id ''')' |
1893 | INTO ls_ref_type-onclick. |
1894 | ls_ref_type-typelink = '->'. |
1895 | ls_ref_type-descript = <ls_type>-descript. |
1896 | APPEND ls_ref_type TO ct_ref_type_par. |
1897 | IF <ls_ref_interface>-refclsname = i_clsname. |
1898 | APPEND ls_ref_type TO ct_ref_type. |
1899 | ENDIF. |
1900 | ENDLOOP. |
1901 | ENDLOOP. |
1902 | ENDFORM. "seo_intf_get_types |
1903 | |
1904 | |
1905 |
1906 |
1907 |
1908 | FORM seo_r3tr_clas. |
1909 | |
1910 | DATA: |
1911 | lt_html TYPE it_string, |
1912 | ls_seoclass TYPE seoclass, |
1913 | lt_tabstrip TYPE it_tabstrip, |
1914 | ls_tabstrip TYPE st_tabstrip, |
1915 | lt_typegroup TYPE STANDARD TABLE OF seotypepls, |
1916 | ls_properties TYPE st_properties, |
1917 | lt_ti TYPE it_textinput, |
1918 | lt_super_class TYPE it_seo_super_class, |
1919 | lt_ref_interface TYPE it_ref_seointerface, |
1920 | lt_ref_interface_all TYPE it_ref_seointerface, |
1921 | lt_ref_attrib TYPE it_ref_seoattrib, |
1922 | lt_ref_friends TYPE it_ref_seofriends, |
1923 | lt_ref_method TYPE it_ref_seomethod, |
1924 | lt_ref_event TYPE it_ref_seoevent, |
1925 | lt_ref_type TYPE it_ref_seotype, |
1926 | lt_ref_type_par TYPE it_ref_seotype, |
1927 | lt_ref_alias TYPE it_ref_seoalias, |
1928 | l_clsname TYPE seoclsname, |
1929 | l_progname TYPE programm, |
1930 | lt_doc TYPE it_string, |
1931 | lt_text_symbols TYPE it_textpool, |
1932 | lt_text_symbols_addons TYPE it_textpool_addons, |
1933 | l_javascript TYPE string, |
1934 | l_filename TYPE string, |
1935 | l_id TYPE string, |
1936 | l_flag TYPE flag, |
1937 | l_has_cl_name TYPE flag, |
1938 | l_char TYPE c. |
1939 | |
1940 | FIELD-SYMBOLS: |
1941 | <ls_tabstrip> TYPE st_tabstrip, |
1942 | <ls_ztadir> TYPE st_ztadir, |
1943 | <ls_super_class> TYPE st_seo_super_class. |
1944 | |
1945 | |
1946 | LOOP AT gt_ztadir ASSIGNING <ls_ztadir> |
1947 | WHERE pgmid = 'R3TR' |
1948 | AND object = 'CLAS' |
1949 | AND downloaded = abap_false. |
1950 | <ls_ztadir>-downloaded = abap_true. |
1951 | |
1952 | CLEAR: |
1953 | l_javascript, |
1954 | ls_tabstrip. |
1955 | |
1956 | REFRESH: |
1957 | lt_html, |
1958 | lt_super_class, |
1959 | lt_ref_interface, |
1960 | lt_ref_interface_all, |
1961 | lt_doc. |
1962 | |
1963 | SELECT SINGLE * FROM seoclass INTO ls_seoclass |
1964 | WHERE clsname = <ls_ztadir>-obj_name |
1965 | AND clstype = 0. |
1966 | IF sy-subrc <> 0. |
1967 | <ls_ztadir>-subrc = sy-subrc. |
1968 | CONTINUE. |
1969 | ENDIF. |
1970 |
1971 | PERFORM get_docu |
1972 | USING |
1973 | 'CL' |
1974 | <ls_ztadir>-obj_name |
1975 | 'E' |
1976 | CHANGING |
1977 | lt_doc. |
1978 |
1979 | PERFORM seo_clas_get_text_symbols |
1980 | USING |
1981 | <ls_ztadir>-obj_name |
1982 | CHANGING |
1983 | lt_text_symbols |
1984 | lt_text_symbols_addons. |
1985 |
1986 | PERFORM seo_clas_get_props |
1987 | USING |
1988 | <ls_ztadir>-obj_name |
1989 | <ls_ztadir>-devclass |
1990 | CHANGING |
1991 | ls_properties |
1992 | lt_ti |
1993 | lt_typegroup. |
1994 |
1995 | PERFORM seo_get_superclasses |
1996 | USING |
1997 | <ls_ztadir>-obj_name |
1998 | CHANGING |
1999 | lt_super_class. |
2000 |
2001 | PERFORM seo_clas_get_interfaces |
2002 | USING |
2003 | <ls_ztadir>-obj_name |
2004 | lt_super_class |
2005 | CHANGING |
2006 | lt_ref_interface |
2007 | lt_ref_interface_all. |
2008 |
2009 | PERFORM seo_clas_get_friends |
2010 | USING |
2011 | <ls_ztadir>-obj_name |
2012 | CHANGING |
2013 | lt_ref_friends. |
2014 |
2015 | PERFORM seo_clas_get_attribs |
2016 | USING |
2017 | <ls_ztadir>-obj_name |
2018 | lt_super_class |
2019 | lt_ref_interface_all |
2020 | CHANGING |
2021 | lt_ref_attrib. |
2022 |
2023 | PERFORM seo_clas_get_methods |
2024 | USING |
2025 | <ls_ztadir> |
2026 | lt_super_class |
2027 | lt_ref_interface_all |
2028 | CHANGING |
2029 | lt_ref_method. |
2030 |
2031 | PERFORM seo_clas_get_events |
2032 | USING |
2033 | <ls_ztadir>-obj_name |
2034 | lt_super_class |
2035 | lt_ref_interface_all |
2036 | CHANGING |
2037 | lt_ref_event. |
2038 |
2039 | PERFORM seo_clas_get_types |
2040 | USING |
2041 | <ls_ztadir>-obj_name |
2042 | lt_super_class |
2043 | CHANGING |
2044 | lt_ref_type |
2045 | lt_ref_type_par. |
2046 |
2047 | PERFORM seo_clas_get_aliases |
2048 | USING |
2049 | <ls_ztadir>-obj_name |
2050 | lt_ref_attrib |
2051 | lt_ref_method |
2052 | lt_ref_event |
2053 | lt_ref_type_par |
2054 | CHANGING |
2055 | lt_ref_alias. |
2056 |
2057 | l_has_cl_name = abap_false. |
2058 | l_clsname = <ls_ztadir>-obj_name. |
2059 | PERFORM get_trdir_name |
2060 | USING l_clsname 'CL' |
2061 | CHANGING l_progname. |
2062 | SELECT SINGLE name FROM trdir INTO l_progname |
2063 | WHERE name = l_progname. |
2064 | IF sy-subrc = 0. |
2065 | l_has_cl_name = abap_true. |
2066 | ENDIF. |
2067 |
2068 | l_char = '-'. |
2069 | IF l_has_cl_name = abap_false. |
2070 | l_char = 'N'. |
2071 | ENDIF. |
2072 | PERFORM get_tabstrip |
2073 | USING 'SEO_R3TR_CLAS' l_char |
2074 | CHANGING lt_tabstrip. |
2075 | |
2076 | LOOP AT lt_tabstrip ASSIGNING <ls_tabstrip>. |
2077 | <ls_tabstrip>-empty = abap_false. |
2078 | CASE <ls_tabstrip>-id. |
2079 | WHEN 'DOC'. |
2080 | IF lt_doc IS INITIAL. |
2081 | <ls_tabstrip>-empty = abap_true. |
2082 | ENDIF. |
2083 | WHEN 'TEXTSYMBOLS'. |
2084 | IF lt_text_symbols IS INITIAL. |
2085 | <ls_tabstrip>-empty = abap_true. |
2086 | ENDIF. |
2087 | WHEN 'INTERFACES'. |
2088 | IF lt_ref_interface IS INITIAL. |
2089 | <ls_tabstrip>-empty = abap_true. |
2090 | ENDIF. |
2091 | WHEN 'FRIENDS'. |
2092 | IF lt_ref_friends IS INITIAL. |
2093 | <ls_tabstrip>-empty = abap_true. |
2094 | ENDIF. |
2095 | WHEN 'ATTRIBUTES'. |
2096 | IF lt_ref_attrib IS INITIAL. |
2097 | <ls_tabstrip>-empty = abap_true. |
2098 | ENDIF. |
2099 | WHEN 'METHODS'. |
2100 | IF lt_ref_method IS INITIAL. |
2101 | <ls_tabstrip>-empty = abap_true. |
2102 | ENDIF. |
2103 | WHEN 'EVENTS'. |
2104 | IF lt_ref_event IS INITIAL. |
2105 | <ls_tabstrip>-empty = abap_true. |
2106 | ENDIF. |
2107 | WHEN 'TYPES'. |
2108 | IF lt_ref_type IS INITIAL. |
2109 | <ls_tabstrip>-empty = abap_true. |
2110 | ENDIF. |
2111 | WHEN 'ALIASES'. |
2112 | IF lt_ref_alias IS INITIAL. |
2113 | <ls_tabstrip>-empty = abap_true. |
2114 | ENDIF. |
2115 | ENDCASE. |
2116 | ENDLOOP. |
2117 | |
2118 |
2119 | LOOP AT lt_super_class ASSIGNING <ls_super_class>. |
2120 |
2121 | PERFORM get_id |
2122 | USING 'COMPONENTS_2_' <ls_super_class>-clsname |
2123 | CHANGING ls_tabstrip-id. |
2124 | ls_tabstrip-text = space. |
2125 | ls_tabstrip-active = abap_false. |
2126 | ls_tabstrip-hidden = abap_true. |
2127 | APPEND ls_tabstrip TO lt_tabstrip. |
2128 | CONCATENATE l_javascript |
2129 | 'makeDivSize(''' ls_tabstrip-id ''');' |
2130 | INTO l_javascript. |
2131 |
2132 | PERFORM get_id |
2133 | USING 'COMPONENTS_0_' <ls_super_class>-clsname |
2134 | CHANGING ls_tabstrip-id. |
2135 | ls_tabstrip-text = space. |
2136 | ls_tabstrip-active = abap_false. |
2137 | ls_tabstrip-hidden = abap_true. |
2138 | APPEND ls_tabstrip TO lt_tabstrip. |
2139 | CONCATENATE l_javascript |
2140 | 'makeDivSize(''' ls_tabstrip-id ''');' |
2141 | INTO l_javascript. |
2142 |
2143 | PERFORM get_id |
2144 | USING 'COMPONENTS_1_' <ls_super_class>-clsname |
2145 | CHANGING ls_tabstrip-id. |
2146 | ls_tabstrip-text = space. |
2147 | ls_tabstrip-active = abap_false. |
2148 | ls_tabstrip-hidden = abap_true. |
2149 | APPEND ls_tabstrip TO lt_tabstrip. |
2150 | CONCATENATE l_javascript |
2151 | 'makeDivSize(''' ls_tabstrip-id ''');' |
2152 | INTO l_javascript. |
2153 | ENDLOOP. |
2154 | ls_tabstrip-id = 'IFRAME'. |
2155 | ls_tabstrip-text = space. |
2156 | ls_tabstrip-active = abap_false. |
2157 | ls_tabstrip-hidden = abap_true. |
2158 | APPEND ls_tabstrip TO lt_tabstrip. |
2159 |
2160 | CONCATENATE l_javascript |
2161 | 'makeDivSize(''IFRAME'');' |
2162 | 'makeDivSize(''LOCTYPES'');' |
2163 | 'makeDivSize(''IMPL'');' |
2164 | 'makeDivSize(''MACROS'');' |
2165 | 'makeDivSize(''DOC'');' |
2166 | INTO l_javascript. |
2167 |
2168 | PERFORM html_main_header |
2169 | USING |
2170 | tpt_seo_clas |
2171 | txt_class |
2172 | <ls_ztadir>-obj_name |
2173 | txt_implemented_active |
2174 | space |
2175 | space |
2176 | l_javascript |
2177 | lt_tabstrip |
2178 | gt_link |
2179 | CHANGING |
2180 | lt_html. |
2181 |
2182 | l_clsname = <ls_ztadir>-obj_name. |
2183 | IF l_has_cl_name = abap_true. |
2184 | PERFORM get_trdir_name |
2185 | USING l_clsname 'CL' |
2186 | CHANGING l_progname. |
2187 | CONCATENATE <ls_ztadir>-obj_name '.cl' INTO l_filename. |
2188 | PERFORM add_report_sourcecode |
2189 | USING |
2190 | l_progname |
2191 | l_filename |
2192 | gc_extension_txt |
2193 | abap_false |
2194 | <ls_ztadir> |
2195 | 'LOCTYPES' |
2196 | abap_false |
2197 | CHANGING |
2198 | lt_html. |
2199 | ELSE. |
2200 |
2201 | PERFORM get_trdir_name |
2202 | USING l_clsname 'CCDEF' |
2203 | CHANGING l_progname. |
2204 | CONCATENATE <ls_ztadir>-obj_name '.ccdef' INTO l_filename. |
2205 | PERFORM add_report_sourcecode |
2206 | USING |
2207 | l_progname |
2208 | l_filename |
2209 | gc_extension_txt |
2210 | abap_false |
2211 | <ls_ztadir> |
2212 | 'LOCTYPES' |
2213 | abap_false |
2214 | CHANGING |
2215 | lt_html. |
2216 |
2217 | PERFORM get_trdir_name |
2218 | USING l_clsname 'CCIMP' |
2219 | CHANGING l_progname. |
2220 | CONCATENATE <ls_ztadir>-obj_name '.ccimp' INTO l_filename. |
2221 | PERFORM add_report_sourcecode |
2222 | USING |
2223 | l_progname |
2224 | l_filename |
2225 | gc_extension_txt |
2226 | abap_false |
2227 | <ls_ztadir> |
2228 | 'IMPL' |
2229 | abap_false |
2230 | CHANGING |
2231 | lt_html. |
2232 |
2233 | PERFORM get_trdir_name |
2234 | USING l_clsname 'CCMAC' |
2235 | CHANGING l_progname. |
2236 | CONCATENATE <ls_ztadir>-obj_name '.ccmac' INTO l_filename. |
2237 | PERFORM add_report_sourcecode |
2238 | USING |
2239 | l_progname |
2240 | l_filename |
2241 | gc_extension_txt |
2242 | abap_false |
2243 | <ls_ztadir> |
2244 | 'MACROS' |
2245 | abap_false |
2246 | CHANGING |
2247 | lt_html. |
2248 | ENDIF. |
2249 |
2250 | IF NOT lt_doc IS INITIAL |
2251 | OR g_empty_tab = gc_empty_tab_display. |
2252 | PERFORM html_add_doc |
2253 | USING |
2254 | lt_doc |
2255 | 'DOC' |
2256 | abap_false |
2257 | CHANGING |
2258 | lt_html. |
2259 | ENDIF. |
2260 |
2261 | IF NOT lt_text_symbols IS INITIAL |
2262 | OR g_empty_tab = gc_empty_tab_display. |
2263 | PERFORM html_add_table |
2264 | USING |
2265 | 'CLAS_SYMBO' |
2266 | lt_text_symbols |
2267 | lt_text_symbols_addons |
2268 | 'TEXTSYMBOLS' |
2269 | abap_false |
2270 | CHANGING |
2271 | lt_html. |
2272 | ENDIF. |
2273 |
2274 | l_flag = abap_false. |
2275 | IF lt_ref_attrib IS INITIAL |
2276 | AND lt_ref_method IS INITIAL. |
2277 | l_flag = abap_true. |
2278 | ENDIF. |
2279 | PERFORM html_add_properties |
2280 | USING |
2281 | ls_properties |
2282 | lt_ti |
2283 | 'CLAS_TYPEG' |
2284 | lt_typegroup |
2285 | 'PROPERTIES' |
2286 | l_flag |
2287 | CHANGING |
2288 | lt_html. |
2289 |
2290 | IF NOT lt_ref_interface IS INITIAL |
2291 | OR g_empty_tab = gc_empty_tab_display. |
2292 | PERFORM html_add_table |
2293 | USING |
2294 | 'CLAS_INTER' |
2295 | lt_ref_interface |
2296 | lt_ref_interface |
2297 | 'INTERFACES' |
2298 | abap_false |
2299 | CHANGING |
2300 | lt_html. |
2301 | ENDIF. |
2302 |
2303 | IF NOT lt_ref_friends IS INITIAL |
2304 | OR g_empty_tab = gc_empty_tab_display. |
2305 | PERFORM html_add_table |
2306 | USING |
2307 | 'CLAS_FRIEN' |
2308 | lt_ref_friends |
2309 | lt_ref_friends |
2310 | 'FRIENDS' |
2311 | abap_false |
2312 | CHANGING |
2313 | lt_html. |
2314 | ENDIF. |
2315 |
2316 | IF NOT lt_ref_attrib IS INITIAL |
2317 | OR g_empty_tab = gc_empty_tab_display. |
2318 | l_flag = abap_false. |
2319 | IF lt_ref_method IS INITIAL. |
2320 | l_flag = abap_true. |
2321 | ENDIF. |
2322 | PERFORM html_add_table |
2323 | USING |
2324 | 'CLAS_ATTRI' |
2325 | lt_ref_attrib |
2326 | lt_ref_attrib |
2327 | 'ATTRIBUTES' |
2328 | l_flag |
2329 | CHANGING |
2330 | lt_html. |
2331 | ENDIF. |
2332 |
2333 | IF NOT lt_ref_method IS INITIAL |
2334 | OR g_empty_tab = gc_empty_tab_display. |
2335 | PERFORM html_add_table |
2336 | USING |
2337 | 'CLAS_METHO' |
2338 | lt_ref_method |
2339 | lt_ref_method |
2340 | 'METHODS' |
2341 | abap_true |
2342 | CHANGING |
2343 | lt_html. |
2344 | ENDIF. |
2345 |
2346 | IF NOT lt_ref_event IS INITIAL |
2347 | OR g_empty_tab = gc_empty_tab_display. |
2348 | PERFORM html_add_table |
2349 | USING |
2350 | 'CLAS_EVENT' |
2351 | lt_ref_event |
2352 | lt_ref_event |
2353 | 'EVENTS' |
2354 | abap_false |
2355 | CHANGING |
2356 | lt_html. |
2357 | ENDIF. |
2358 |
2359 | IF NOT lt_ref_type IS INITIAL |
2360 | OR g_empty_tab = gc_empty_tab_display. |
2361 | PERFORM html_add_table |
2362 | USING |
2363 | 'CLAS_TYPES' |
2364 | lt_ref_type |
2365 | lt_ref_type |
2366 | 'TYPES' |
2367 | abap_false |
2368 | CHANGING |
2369 | lt_html. |
2370 | ENDIF. |
2371 |
2372 | IF NOT lt_ref_alias IS INITIAL |
2373 | OR g_empty_tab = gc_empty_tab_display. |
2374 | PERFORM html_add_table |
2375 | USING |
2376 | 'CLAS_ALIAS' |
2377 | lt_ref_alias |
2378 | lt_ref_alias |
2379 | 'ALIASES' |
2380 | abap_false |
2381 | CHANGING |
2382 | lt_html. |
2383 | ENDIF. |
2384 |
2385 | LOOP AT lt_super_class ASSIGNING <ls_super_class>. |
2386 |
2387 | PERFORM get_trdir_name |
2388 | USING <ls_super_class>-clsname 'CU' |
2389 | CHANGING l_progname. |
2390 | PERFORM get_id |
2391 | USING 'COMPONENTS_2_' <ls_super_class>-clsname |
2392 | CHANGING l_id. |
2393 | CONCATENATE <ls_super_class>-clsname '.public' |
2394 | INTO l_filename. |
2395 | PERFORM add_report_sourcecode |
2396 | USING |
2397 | l_progname |
2398 | l_filename |
2399 | gc_extension_txt |
2400 | abap_false |
2401 | <ls_ztadir> |
2402 | l_id |
2403 | abap_false |
2404 | CHANGING |
2405 | lt_html. |
2406 |
2407 | PERFORM get_trdir_name |
2408 | USING <ls_super_class>-clsname 'CI' |
2409 | CHANGING l_progname. |
2410 | PERFORM get_id |
2411 | USING 'COMPONENTS_0_' <ls_super_class>-clsname |
2412 | CHANGING l_id. |
2413 | CONCATENATE <ls_super_class>-clsname '.private' |
2414 | INTO l_filename. |
2415 | PERFORM add_report_sourcecode |
2416 | USING |
2417 | l_progname |
2418 | l_filename |
2419 | gc_extension_txt |
2420 | abap_false |
2421 | <ls_ztadir> |
2422 | l_id |
2423 | abap_false |
2424 | CHANGING |
2425 | lt_html. |
2426 |
2427 | PERFORM get_trdir_name |
2428 | USING <ls_super_class>-clsname 'CO' |
2429 | CHANGING l_progname. |
2430 | PERFORM get_id |
2431 | USING 'COMPONENTS_1_' <ls_super_class>-clsname |
2432 | CHANGING l_id. |
2433 | CONCATENATE <ls_super_class>-clsname '.protected' |
2434 | INTO l_filename. |
2435 | PERFORM add_report_sourcecode |
2436 | USING |
2437 | l_progname |
2438 | l_filename |
2439 | gc_extension_txt |
2440 | abap_false |
2441 | <ls_ztadir> |
2442 | l_id |
2443 | abap_false |
2444 | CHANGING |
2445 | lt_html. |
2446 | ENDLOOP. |
2447 |
2448 | PERFORM html_add_iframe |
2449 | USING |
2450 | space |
2451 | 'IFRAME' |
2452 | abap_false |
2453 | CHANGING |
2454 | lt_html. |
2455 | * |
2456 | PERFORM html_main_footer |
2457 | USING |
2458 | lt_html. |
2459 | |
2460 | PERFORM download |
2461 | USING |
2462 | lt_html |
2463 | <ls_ztadir>-pgmid |
2464 | <ls_ztadir>-object |
2465 | <ls_ztadir>-obj_name |
2466 | gc_extension_htm |
2467 | abap_true. |
2468 | ENDLOOP. |
2469 | ENDFORM. "r3tr_clas |
2470 | |
2471 | |
2472 |
2473 |
2474 |
2475 | FORM seo_r3tr_clas_methods. |
2476 | |
2477 | DATA: |
2478 | lt_ref_signature TYPE it_ref_seosignature, |
2479 | ls_ref_signature TYPE st_ref_seosignature, |
2480 | ls_cpdkey TYPE seocpdkey, |
2481 | lt_vseomepara TYPE STANDARD TABLE OF vseomepara, |
2482 | lt_vseoexcep TYPE STANDARD TABLE OF vseoexcep, |
2483 | l_progname TYPE program, |
2484 | lt_sourcecode TYPE it_string, |
2485 | lt_html TYPE it_string, |
2486 | l_filename TYPE string, |
2487 | l_clsname TYPE seoclsname, |
2488 | l_cmpname TYPE seocmpname. |
2489 | |
2490 | FIELD-SYMBOLS: |
2491 | <ls_vseomepara> TYPE vseomepara, |
2492 | <ls_vseoexcep> TYPE vseoexcep, |
2493 | <ls_zseomethod> TYPE st_zseomethod. |
2494 | |
2495 | |
2496 | LOOP AT gt_zseomethod ASSIGNING <ls_zseomethod>. |
2497 | REFRESH lt_html. |
2498 | REFRESH lt_ref_signature. |
2499 | REFRESH lt_vseomepara. |
2500 | REFRESH lt_vseoexcep. |
2501 | REFRESH lt_sourcecode. |
2502 | CLEAR l_clsname. |
2503 | CLEAR l_cmpname. |
2504 | CLEAR l_filename. |
2505 | |
2506 | IF <ls_zseomethod>-cpdname NA '~'. |
2507 | l_clsname = <ls_zseomethod>-clsname. |
2508 | l_cmpname = <ls_zseomethod>-cpdname. |
2509 | ELSE. |
2510 | SPLIT <ls_zseomethod>-cpdname AT '~' |
2511 | INTO l_clsname l_cmpname. |
2512 | ENDIF. |
2513 |
2514 | SELECT * FROM vseomepara INTO TABLE lt_vseomepara |
2515 | WHERE clsname = l_clsname |
2516 | AND cmpname = l_cmpname |
2517 | AND langu = sy-langu |
2518 | AND version = '1' |
2519 | ORDER BY pardecltyp editorder. |
2520 | LOOP AT lt_vseomepara ASSIGNING <ls_vseomepara>. |
2521 | CLEAR ls_ref_signature. |
2522 | PERFORM get_dom_value_text |
2523 | USING |
2524 | 'SEOPARDECL' |
2525 | <ls_vseomepara>-pardecltyp |
2526 | CHANGING |
2527 | ls_ref_signature-declaration. |
2528 | IF <ls_vseomepara>-parpasstyp = 0. |
2529 | CONCATENATE 'VALUE(' <ls_vseomepara>-sconame ')' |
2530 | INTO ls_ref_signature-parameter SEPARATED BY space. |
2531 | ELSE. |
2532 | ls_ref_signature-parameter = <ls_vseomepara>-sconame. |
2533 | ENDIF. |
2534 | PERFORM get_dom_value_text |
2535 | USING |
2536 | 'SEOTYPTYPE' |
2537 | <ls_vseomepara>-typtype |
2538 | CHANGING |
2539 | ls_ref_signature-type. |
2540 | CONCATENATE ls_ref_signature-type <ls_vseomepara>-type |
2541 | INTO ls_ref_signature-type SEPARATED BY space. |
2542 | IF <ls_vseomepara>-paroptionl = abap_true. |
2543 | CONCATENATE ls_ref_signature-type '(optional)' |
2544 | INTO ls_ref_signature-type SEPARATED BY space. |
2545 | ENDIF. |
2546 | ls_ref_signature-descript = <ls_vseomepara>-descript. |
2547 | APPEND ls_ref_signature TO lt_ref_signature. |
2548 | ENDLOOP. |
2549 |
2550 | SELECT * FROM vseoexcep INTO TABLE lt_vseoexcep |
2551 | WHERE clsname = l_clsname |
2552 | AND cmpname = l_cmpname |
2553 | AND langu = sy-langu |
2554 | AND version = '1' |
2555 | ORDER BY editorder. |
2556 | LOOP AT lt_vseoexcep ASSIGNING <ls_vseoexcep>. |
2557 | CLEAR ls_ref_signature. |
2558 | ls_ref_signature-declaration = txt_exception___1. |
2559 | ls_ref_signature-parameter = <ls_vseoexcep>-sconame. |
2560 | ls_ref_signature-descript = <ls_vseoexcep>-descript. |
2561 | APPEND ls_ref_signature TO lt_ref_signature. |
2562 | ENDLOOP. |
2563 |
2564 | ls_cpdkey-clsname = <ls_zseomethod>-clsname. |
2565 | ls_cpdkey-cpdname = <ls_zseomethod>-cpdname. |
2566 | |
2567 | PERFORM get_trdir_name_method_include |
2568 | USING ls_cpdkey |
2569 | CHANGING l_progname. |
2570 | IF NOT l_progname IS INITIAL. |
2571 | PERFORM try_read_report |
2572 | USING l_progname |
2573 | CHANGING lt_sourcecode. |
2574 | ENDIF. |
2575 |
2576 | IF g_add_sourcecode = abap_true. |
2577 | CONCATENATE <ls_zseomethod>-clsname '-' |
2578 | <ls_zseomethod>-cpdname |
2579 | INTO l_filename. |
2580 | PERFORM replace_all |
2581 | USING '~' '-' |
2582 | CHANGING l_filename. |
2583 | PERFORM download |
2584 | USING |
2585 | lt_sourcecode |
2586 | <ls_zseomethod>-pgmid |
2587 | <ls_zseomethod>-object |
2588 | l_filename |
2589 | gc_extension_txt |
2590 | abap_false. |
2591 | ENDIF. |
2592 |
2593 | PERFORM html_main_iframeheader |
2594 | USING |
2595 | <ls_zseomethod>-cpdname |
2596 | CHANGING |
2597 | lt_html. |
2598 | PERFORM html_add_methodnodiv |
2599 | USING |
2600 | <ls_zseomethod>-cpdname |
2601 | <ls_zseomethod>-active |
2602 | txt_method |
2603 | 'CLAS_SIGNA' |
2604 | lt_ref_signature |
2605 | lt_ref_signature |
2606 | lt_sourcecode |
2607 | l_filename |
2608 | space |
2609 | space |
2610 | gc_extension_txt |
2611 | 'CONTENT' |
2612 | CHANGING |
2613 | lt_html. |
2614 | PERFORM html_main_iframefooter |
2615 | CHANGING |
2616 | lt_html. |
2617 |
2618 | CONCATENATE <ls_zseomethod>-clsname '-' <ls_zseomethod>-cpdname |
2619 | INTO l_filename. |
2620 | PERFORM replace_all |
2621 | USING '~' '-' |
2622 | CHANGING l_filename. |
2623 | PERFORM download |
2624 | USING |
2625 | lt_html |
2626 | <ls_zseomethod>-pgmid |
2627 | <ls_zseomethod>-object |
2628 | l_filename |
2629 | gc_extension_htm |
2630 | abap_false. |
2631 | ENDLOOP. |
2632 | |
2633 | ENDFORM. "r3tr_clas_methods |
2634 | |
2635 | |
2636 |
2637 |
2638 |
2639 | FORM seo_r3tr_intf. |
2640 | |
2641 | DATA: |
2642 | lt_html TYPE it_string, |
2643 | lt_tabstrip TYPE it_tabstrip, |
2644 | ls_tabstrip TYPE st_tabstrip, |
2645 | ls_seoclass TYPE seoclass, |
2646 | lt_typegroup TYPE STANDARD TABLE OF seotypepls, |
2647 | ls_properties TYPE st_properties, |
2648 | lt_ti TYPE it_textinput, |
2649 | lt_ref_interface TYPE it_ref_seointerface, |
2650 | lt_ref_interface_all TYPE it_ref_seointerface, |
2651 | ls_ref_interface TYPE st_ref_seointerface, |
2652 | lt_ref_attrib TYPE it_ref_seoattrib, |
2653 | lt_ref_method TYPE it_ref_seomethod, |
2654 | lt_ref_event TYPE it_ref_seoevent, |
2655 | lt_ref_type TYPE it_ref_seotype, |
2656 | lt_ref_type_par TYPE it_ref_seotype, |
2657 | lt_ref_alias TYPE it_ref_seoalias, |
2658 | lt_doc TYPE it_string, |
2659 | l_progname TYPE programm, |
2660 | l_javascript TYPE string, |
2661 | l_filename TYPE string, |
2662 | l_id TYPE string, |
2663 | l_flag. |
2664 | |
2665 | FIELD-SYMBOLS: |
2666 | <ls_tabstrip> TYPE st_tabstrip, |
2667 | <ls_ztadir> TYPE st_ztadir, |
2668 | <ls_ref_interface_all> TYPE st_ref_seointerface. |
2669 | |
2670 | |
2671 | LOOP AT gt_ztadir ASSIGNING <ls_ztadir> |
2672 | WHERE pgmid = 'R3TR' |
2673 | AND object = 'INTF' |
2674 | AND downloaded = abap_false. |
2675 | <ls_ztadir>-downloaded = abap_true. |
2676 | |
2677 | REFRESH: |
2678 | lt_html, |
2679 | lt_ref_interface, |
2680 | lt_ref_interface_all. |
2681 | |
2682 | SELECT SINGLE * FROM seoclass INTO ls_seoclass |
2683 | WHERE clsname = <ls_ztadir>-obj_name |
2684 | AND clstype = 1. |
2685 | IF sy-subrc <> 0. |
2686 | <ls_ztadir>-subrc = sy-subrc. |
2687 | CONTINUE. |
2688 | ENDIF. |
2689 |
2690 | PERFORM get_docu |
2691 | USING |
2692 | 'IF' |
2693 | <ls_ztadir>-obj_name |
2694 | 'E' |
2695 | CHANGING |
2696 | lt_doc. |
2697 |
2698 | PERFORM seo_intf_get_props |
2699 | USING |
2700 | <ls_ztadir>-obj_name |
2701 | <ls_ztadir>-devclass |
2702 | CHANGING |
2703 | ls_properties |
2704 | lt_ti |
2705 | lt_typegroup. |
2706 |
2707 | PERFORM seo_get_interfaces |
2708 | USING |
2709 | <ls_ztadir>-obj_name |
2710 | 0 |
2711 | CHANGING |
2712 | lt_ref_interface |
2713 | lt_ref_interface_all. |
2714 | ls_ref_interface-refclsname = <ls_ztadir>-obj_name. |
2715 | APPEND ls_ref_interface TO lt_ref_interface_all. |
2716 |
2717 | PERFORM seo_intf_get_attribs |
2718 | USING |
2719 | <ls_ztadir>-obj_name |
2720 | lt_ref_interface_all |
2721 | CHANGING |
2722 | lt_ref_attrib. |
2723 |
2724 | PERFORM seo_intf_get_methods |
2725 | USING |
2726 | <ls_ztadir>-obj_name |
2727 | lt_ref_interface_all |
2728 | CHANGING |
2729 | lt_ref_method. |
2730 |
2731 | PERFORM seo_intf_get_events |
2732 | USING |
2733 | <ls_ztadir>-obj_name |
2734 | lt_ref_interface_all |
2735 | CHANGING |
2736 | lt_ref_event. |
2737 |
2738 | PERFORM seo_intf_get_types |
2739 | USING |
2740 | <ls_ztadir>-obj_name |
2741 | lt_ref_interface_all |
2742 | CHANGING |
2743 | lt_ref_type |
2744 | lt_ref_type_par. |
2745 |
2746 | PERFORM seo_intf_get_aliases |
2747 | USING |
2748 | <ls_ztadir>-obj_name |
2749 | lt_ref_attrib |
2750 | lt_ref_method |
2751 | lt_ref_event |
2752 | lt_ref_type_par |
2753 | CHANGING |
2754 | lt_ref_alias. |
2755 |
2756 | PERFORM get_tabstrip |
2757 | USING 'SEO_R3TR_INTF' space |
2758 | CHANGING lt_tabstrip. |
2759 | |
2760 | LOOP AT lt_tabstrip ASSIGNING <ls_tabstrip>. |
2761 | <ls_tabstrip>-empty = abap_false. |
2762 | CASE <ls_tabstrip>-id. |
2763 | WHEN 'DOC'. |
2764 | IF lt_doc IS INITIAL. |
2765 | <ls_tabstrip>-empty = abap_true. |
2766 | ENDIF. |
2767 | WHEN 'INTERFACES'. |
2768 | IF lt_ref_interface IS INITIAL. |
2769 | <ls_tabstrip>-empty = abap_true. |
2770 | ENDIF. |
2771 | WHEN 'ATTRIBUTES'. |
2772 | IF lt_ref_attrib IS INITIAL. |
2773 | <ls_tabstrip>-empty = abap_true. |
2774 | ENDIF. |
2775 | WHEN 'METHODS'. |
2776 | IF lt_ref_method IS INITIAL. |
2777 | <ls_tabstrip>-empty = abap_true. |
2778 | ENDIF. |
2779 | WHEN 'EVENTS'. |
2780 | IF lt_ref_event IS INITIAL. |
2781 | <ls_tabstrip>-empty = abap_true. |
2782 | ENDIF. |
2783 | WHEN 'TYPES'. |
2784 | IF lt_ref_type IS INITIAL. |
2785 | <ls_tabstrip>-empty = abap_true. |
2786 | ENDIF. |
2787 | WHEN 'ALIASES'. |
2788 | IF lt_ref_alias IS INITIAL. |
2789 | <ls_tabstrip>-empty = abap_true. |
2790 | ENDIF. |
2791 | ENDCASE. |
2792 | ENDLOOP. |
2793 | |
2794 | LOOP AT lt_ref_interface_all ASSIGNING <ls_ref_interface_all>. |
2795 | CLEAR ls_tabstrip. |
2796 | PERFORM get_id |
2797 | USING 'COMPONENTS_' <ls_ref_interface_all>-refclsname |
2798 | CHANGING ls_tabstrip-id. |
2799 | ls_tabstrip-hidden = abap_true. |
2800 | APPEND ls_tabstrip TO lt_tabstrip. |
2801 | PERFORM get_id |
2802 | USING 'COMPONENTS_' <ls_ref_interface_all>-refclsname |
2803 | CHANGING l_id. |
2804 | CONCATENATE l_javascript 'makeDivSize(''' l_id ''');' |
2805 | INTO l_javascript. |
2806 | ENDLOOP. |
2807 |
2808 | PERFORM html_main_header |
2809 | USING |
2810 | tpt_seo_intf |
2811 | txt_interface |
2812 | <ls_ztadir>-obj_name |
2813 | txt_implemented_active |
2814 | space |
2815 | space |
2816 | l_javascript |
2817 | lt_tabstrip |
2818 | gt_link |
2819 | CHANGING |
2820 | lt_html. |
2821 |
2822 | IF NOT lt_doc IS INITIAL |
2823 | OR g_empty_tab = gc_empty_tab_display. |
2824 | PERFORM html_add_doc |
2825 | USING |
2826 | lt_doc |
2827 | 'DOC' |
2828 | abap_false |
2829 | CHANGING |
2830 | lt_html. |
2831 | ENDIF. |
2832 |
2833 | l_flag = abap_false. |
2834 | IF lt_ref_method IS INITIAL |
2835 | AND lt_ref_attrib IS INITIAL. |
2836 | l_flag = abap_true. |
2837 | ENDIF. |
2838 | PERFORM html_add_properties |
2839 | USING |
2840 | ls_properties |
2841 | lt_ti |
2842 | 'INTF_TYPEG' |
2843 | lt_typegroup |
2844 | 'PROPERTIES' |
2845 | l_flag |
2846 | CHANGING |
2847 | lt_html. |
2848 |
2849 | IF NOT lt_ref_interface IS INITIAL |
2850 | OR g_empty_tab = gc_empty_tab_display. |
2851 | PERFORM html_add_table |
2852 | USING |
2853 | 'INTF_INTER' |
2854 | lt_ref_interface |
2855 | lt_ref_interface |
2856 | 'INTERFACES' |
2857 | abap_false |
2858 | CHANGING |
2859 | lt_html. |
2860 | ENDIF. |
2861 |
2862 | IF NOT lt_ref_attrib IS INITIAL |
2863 | OR g_empty_tab = gc_empty_tab_display. |
2864 | l_flag = abap_false. |
2865 | IF lt_ref_method IS INITIAL. |
2866 | l_flag = abap_true. |
2867 | ENDIF. |
2868 | PERFORM html_add_table |
2869 | USING |
2870 | 'INTF_ATTRI' |
2871 | lt_ref_attrib |
2872 | lt_ref_attrib |
2873 | 'ATTRIBUTES' |
2874 | l_flag |
2875 | CHANGING |
2876 | lt_html. |
2877 | ENDIF. |
2878 |
2879 | IF NOT lt_ref_method IS INITIAL |
2880 | OR g_empty_tab = gc_empty_tab_display. |
2881 | PERFORM html_add_table |
2882 | USING |
2883 | 'INTF_METHO' |
2884 | lt_ref_method |
2885 | lt_ref_method |
2886 | 'METHODS' |
2887 | abap_true |
2888 | CHANGING |
2889 | lt_html. |
2890 | ENDIF. |
2891 |
2892 | IF NOT lt_ref_event IS INITIAL |
2893 | OR g_empty_tab = gc_empty_tab_display. |
2894 | PERFORM html_add_table |
2895 | USING |
2896 | 'INTF_EVENT' |
2897 | lt_ref_event |
2898 | lt_ref_event |
2899 | 'EVENTS' |
2900 | abap_false |
2901 | CHANGING |
2902 | lt_html. |
2903 | ENDIF. |
2904 |
2905 | IF NOT lt_ref_type IS INITIAL |
2906 | OR g_empty_tab = gc_empty_tab_display. |
2907 | PERFORM html_add_table |
2908 | USING |
2909 | 'INTF_TYPES' |
2910 | lt_ref_type |
2911 | lt_ref_type |
2912 | 'TYPES' |
2913 | abap_false |
2914 | CHANGING |
2915 | lt_html. |
2916 | ENDIF. |
2917 |
2918 | IF NOT lt_ref_alias IS INITIAL |
2919 | OR g_empty_tab = gc_empty_tab_display. |
2920 | PERFORM html_add_table |
2921 | USING |
2922 | 'INTF_ALIAS' |
2923 | lt_ref_alias |
2924 | lt_ref_alias |
2925 | 'ALIASES' |
2926 | abap_false |
2927 | CHANGING |
2928 | lt_html. |
2929 | ENDIF. |
2930 | LOOP AT lt_ref_interface_all ASSIGNING <ls_ref_interface_all>. |
2931 | PERFORM get_trdir_name |
2932 | USING <ls_ref_interface_all>-refclsname 'IU' |
2933 | CHANGING l_progname. |
2934 | PERFORM get_id |
2935 | USING 'COMPONENTS_' <ls_ref_interface_all>-refclsname |
2936 | CHANGING l_id. |
2937 | CONCATENATE <ls_ref_interface_all>-refclsname '.components' |
2938 | INTO l_filename. |
2939 | PERFORM add_report_sourcecode |
2940 | USING |
2941 | l_progname |
2942 | l_filename |
2943 | gc_extension_txt |
2944 | abap_false |
2945 | <ls_ztadir> |
2946 | l_id |
2947 | abap_false |
2948 | CHANGING |
2949 | lt_html. |
2950 | ENDLOOP. |
2951 | PERFORM html_main_footer |
2952 | USING |
2953 | lt_html. |
2954 | |
2955 | PERFORM download |
2956 | USING |
2957 | lt_html |
2958 | <ls_ztadir>-pgmid |
2959 | <ls_ztadir>-object |
2960 | <ls_ztadir>-obj_name |
2961 | gc_extension_htm |
2962 | abap_true. |
2963 | ENDLOOP. |
2964 | ENDFORM. "r3tr_intf |