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 t. |
33 |
34 | PERFORM t_r3tr_msag. |
35 |
36 | PERFORM t_r3tr_tobj. |
37 |
38 | PERFORM t_r3tr_para. |
39 |
40 | PERFORM t_r3tr_tran. |
41 | ENDFORM. "t |
42 | |
43 | |
44 |
45 |
46 |
47 | FORM t_r3tr_msag. |
48 | |
49 | DATA: |
50 | ls_ti TYPE st_textinput, |
51 | lt_attr TYPE it_textinput, |
52 | lt_box TYPE it_textinput, |
53 | l_arbgb TYPE arbgb, |
54 | l_bname TYPE xubname, |
55 | l_name_text TYPE ad_namtext, |
56 | ls_t100a TYPE t100a, |
57 | l_laiso TYPE laiso, |
58 | l_sptxt TYPE sptxt, |
59 | lt_html TYPE it_string, |
60 | ls_tabstrip TYPE st_tabstrip, |
61 | lt_tabstrip TYPE it_tabstrip, |
62 | lt_t100 TYPE STANDARD TABLE OF t100, |
63 | ls_t100ext TYPE st_t100ext, |
64 | lt_t100ext TYPE it_t100ext, |
65 | lt_doc TYPE it_string. |
66 | |
67 | FIELD-SYMBOLS: |
68 | <ls_ztadir> TYPE st_ztadir, |
69 | <ls_t100> TYPE t100, |
70 | <ls_t100ext> TYPE st_t100ext. |
71 | |
72 | LOOP AT gt_ztadir ASSIGNING <ls_ztadir> |
73 | WHERE pgmid = 'R3TR' |
74 | AND object = 'MSAG' |
75 | AND downloaded = abap_false. |
76 | |
77 | CLEAR: |
78 | ls_ti, |
79 | ls_t100a. |
80 | |
81 | REFRESH: |
82 | lt_attr, |
83 | lt_box, |
84 | lt_html, |
85 | lt_t100, |
86 | lt_t100ext, |
87 | lt_tabstrip, |
88 | lt_doc. |
89 | |
90 | l_arbgb = <ls_ztadir>-obj_name. |
91 | |
92 | SELECT SINGLE * FROM t100a INTO ls_t100a |
93 | WHERE arbgb = l_arbgb. |
94 |
95 | PERFORM get_tabstrip |
96 | USING 'T_R3TR_MSAG' space |
97 | CHANGING lt_tabstrip. |
98 |
99 |
100 | CLEAR ls_ti. |
101 | ls_ti-name = txt_package. |
102 | ls_ti-value = <ls_ztadir>-devclass. |
103 | ls_ti-input = abap_true. |
104 | APPEND ls_ti TO lt_attr. |
105 |
106 | CLEAR ls_ti. |
107 | ls_ti-name = txt_last_changed_by___3. |
108 | ls_ti-value = ls_t100a-lastuser. |
109 | l_bname = ls_t100a-lastuser. |
110 | PERFORM get_user |
111 | USING l_bname |
112 | CHANGING l_name_text. |
113 | ls_ti-value_text = l_name_text. |
114 | ls_ti-value_ext_space = abap_true. |
115 | ls_ti-input = abap_true. |
116 | ls_ti-has_value_ext = abap_true. |
117 | APPEND ls_ti TO lt_attr. |
118 |
119 | CLEAR ls_ti. |
120 | ls_ti-name = txt_changed_on. |
121 | PERFORM get_date |
122 | USING |
123 | ls_t100a-ldate |
124 | CHANGING |
125 | ls_ti-value. |
126 | ls_ti-value_ext_space = abap_true. |
127 | ls_ti-input = abap_true. |
128 | ls_ti-has_value_ext = abap_true. |
129 | APPEND ls_ti TO lt_attr. |
130 |
131 | CLEAR ls_ti. |
132 | ls_ti-name = txt_last_changed_at. |
133 | PERFORM get_time |
134 | USING |
135 | ls_t100a-ltime |
136 | CHANGING |
137 | ls_ti-value. |
138 | ls_ti-value_ext_space = abap_true. |
139 | ls_ti-input = abap_true. |
140 | ls_ti-has_value_ext = abap_true. |
141 | APPEND ls_ti TO lt_attr. |
142 |
143 |
144 | CLEAR ls_ti. |
145 | ls_ti-name = txt_original_lang. |
146 | PERFORM get_spras |
147 | USING ls_t100a-masterlang |
148 | CHANGING l_laiso l_sptxt. |
149 | ls_ti-value = l_laiso. |
150 | ls_ti-value_text = l_sptxt. |
151 | ls_ti-value_ext_space = abap_true. |
152 | ls_ti-input = abap_true. |
153 | ls_ti-has_value_ext = abap_true. |
154 | APPEND ls_ti TO lt_box. |
155 |
156 | CLEAR ls_ti. |
157 | ls_ti-name = txt_person_respons. |
158 | ls_ti-value = ls_t100a-respuser. |
159 | l_bname = ls_t100a-respuser. |
160 | PERFORM get_user |
161 | USING l_bname |
162 | CHANGING l_name_text. |
163 | ls_ti-value_text = l_name_text. |
164 | ls_ti-value_ext_space = abap_true. |
165 | ls_ti-input = abap_true. |
166 | ls_ti-has_value_ext = abap_true. |
167 | APPEND ls_ti TO lt_box. |
168 |
169 | CLEAR ls_ti. |
170 | ls_ti-name = txt_short_text___1. |
171 | ls_ti-value = <ls_ztadir>-descript. |
172 | ls_ti-input = abap_true. |
173 | APPEND ls_ti TO lt_box. |
174 |
175 | SELECT * FROM t100 INTO TABLE lt_t100 |
176 | WHERE arbgb = l_arbgb |
177 | AND sprsl = sy-langu. |
178 | LOOP AT lt_t100 ASSIGNING <ls_t100>. |
179 | CLEAR ls_t100ext. |
180 |
181 | SELECT SINGLE name datum FROM t100u |
182 | INTO (ls_t100ext-name,ls_t100ext-datum) |
183 | WHERE arbgb = <ls_t100>-arbgb |
184 | AND msgnr = <ls_t100>-msgnr. |
185 | l_bname = ls_t100ext-name. |
186 | IF NOT l_bname IS INITIAL. |
187 | PERFORM get_user |
188 | USING l_bname |
189 | CHANGING ls_t100ext-name_text. |
190 | PERFORM get_date |
191 | USING ls_t100ext-datum |
192 | CHANGING ls_t100ext-datum_text. |
193 | ENDIF. |
194 |
195 | CALL FUNCTION 'DOCU_OBJECT_NAME_CONCATENATE' |
196 | EXPORTING |
197 | docu_id = 'NA' |
198 | element = <ls_t100>-arbgb |
199 | addition = <ls_t100>-msgnr |
200 | IMPORTING |
201 | object = ls_t100ext-object_name |
202 | EXCEPTIONS |
203 | OTHERS = 0. |
204 | CALL FUNCTION 'DOCU_SELFDEF_READ' |
205 | EXPORTING |
206 | object_id = 'NA' |
207 | object_name = ls_t100ext-object_name |
208 | IMPORTING |
209 | selfdef = ls_t100ext-selfdef |
210 | EXCEPTIONS |
211 | OTHERS = 0. |
212 | IF NOT ls_t100ext-selfdef IS INITIAL. |
213 | ls_t100ext-no_docu = abap_true. |
214 | ELSE. |
215 | ls_t100ext-ltext = '-->'. |
216 | CONCATENATE 'switchContent(''' ls_t100ext-object_name ''')' |
217 | INTO ls_t100ext-ltext_onclick. |
218 | CLEAR ls_tabstrip. |
219 | ls_tabstrip-id = ls_t100ext-object_name. |
220 | ls_tabstrip-hidden = abap_true. |
221 | APPEND ls_tabstrip TO lt_tabstrip. |
222 | ENDIF. |
223 | APPEND ls_t100ext TO lt_t100ext. |
224 | ENDLOOP. |
225 |
226 | PERFORM html_main_header |
227 | USING |
228 | tpt_msag |
229 | txt_message_class |
230 | <ls_ztadir>-obj_name |
231 | txt_active___1 |
232 | space |
233 | space |
234 | space |
235 | lt_tabstrip |
236 | gt_link |
237 | CHANGING |
238 | lt_html. |
239 |
240 | PERFORM html_add_textinput_subbox |
241 | USING |
242 | lt_attr |
243 | txt_attributes___2 |
244 | lt_box |
245 | 'ATTRIBUTES' |
246 | abap_true |
247 | CHANGING |
248 | lt_html. |
249 |
250 | PERFORM html_add_table |
251 | USING |
252 | 'MSAG_MESS' |
253 | lt_t100 |
254 | lt_t100ext |
255 | 'MESSAGES' |
256 | abap_false |
257 | CHANGING |
258 | lt_html. |
259 |
260 | LOOP AT lt_t100ext ASSIGNING <ls_t100ext> |
261 | WHERE no_docu = abap_false. |
262 | PERFORM get_docu |
263 | USING |
264 | 'NA' |
265 | <ls_t100ext>-object_name |
266 | 'E' |
267 | CHANGING |
268 | lt_doc. |
269 | PERFORM html_add_doc |
270 | USING |
271 | lt_doc |
272 | <ls_t100ext>-object_name |
273 | abap_false |
274 | CHANGING |
275 | lt_html. |
276 | ENDLOOP. |
277 | * |
278 | PERFORM html_main_footer |
279 | USING |
280 | lt_html. |
281 | |
282 | PERFORM download |
283 | USING |
284 | lt_html |
285 | <ls_ztadir>-pgmid |
286 | <ls_ztadir>-object |
287 | <ls_ztadir>-obj_name |
288 | gc_extension_htm |
289 | abap_true. |
290 | <ls_ztadir>-downloaded = abap_true. |
291 | ENDLOOP. |
292 | |
293 | ENDFORM. "r3tr_msag |
294 | |
295 | |
296 |
297 |
298 |
299 | FORM t_r3tr_tobj. |
300 | |
301 | DATA: |
302 | l_objct TYPE xuobject, |
303 | ls_tobj TYPE tobj, |
304 | ls_ti TYPE st_textinput, |
305 | lt_attr TYPE it_textinput, |
306 | lt_box TYPE it_textinput, |
307 | lt_actvt_attr TYPE it_textinput, |
308 | lt_actvt TYPE it_textinput, |
309 | lt_tactz TYPE STANDARD TABLE OF tactz, |
310 | l_xutxt TYPE xutxt30, |
311 | lt_html TYPE it_string, |
312 | l_ctext TYPE xutext, |
313 | l_bname TYPE xubname, |
314 | l_name_text TYPE ad_namtext, |
315 | l_field TYPE tobj-fiel1, |
316 | l_text TYPE as4text, |
317 | l_has_actvt TYPE flag, |
318 | lt_doc TYPE it_string, |
319 | lt_tabstrip TYPE it_tabstrip, |
320 | l_javascript TYPE string. |
321 | |
322 | FIELD-SYMBOLS: |
323 | <ls_ztadir> TYPE st_ztadir, |
324 | <ls_tactz> TYPE tactz, |
325 | <ls_tabstrip> TYPE st_tabstrip. |
326 | |
327 |
328 | PERFORM get_tabstrip |
329 | USING 'T_R3TR_TOBJ' space |
330 | CHANGING lt_tabstrip. |
331 | |
332 | LOOP AT gt_ztadir ASSIGNING <ls_ztadir> |
333 | WHERE pgmid = 'R3TR' |
334 | AND object = 'SUSO' |
335 | AND downloaded = abap_false. |
336 | |
337 | CLEAR: |
338 | l_objct, |
339 | ls_tobj, |
340 | ls_ti, |
341 | l_ctext, |
342 | l_bname, |
343 | l_name_text, |
344 | l_has_actvt, |
345 | l_javascript. |
346 | |
347 | REFRESH: |
348 | lt_attr, |
349 | lt_box, |
350 | lt_actvt_attr, |
351 | lt_actvt, |
352 | lt_tactz, |
353 | lt_doc, |
354 | lt_html. |
355 | |
356 | l_objct = <ls_ztadir>-obj_name. |
357 | |
358 | SELECT SINGLE * FROM tobj INTO ls_tobj |
359 | WHERE objct = l_objct. |
360 | |
361 | SELECT SINGLE ctext FROM tobct INTO l_ctext |
362 | WHERE oclss = ls_tobj-oclss |
363 | AND langu = sy-langu. |
364 | |
365 |
366 |
367 | CLEAR ls_ti. |
368 | ls_ti-name = txt_class. |
369 | ls_ti-value = ls_tobj-oclss. |
370 | ls_ti-value_ext = l_ctext. |
371 | ls_ti-input = abap_true. |
372 | ls_ti-has_value_ext = abap_true. |
373 | APPEND ls_ti TO lt_attr. |
374 |
375 | CLEAR ls_ti. |
376 | ls_ti-name = txt_autor. |
377 | ls_ti-value = ls_tobj-bname. |
378 | l_bname = ls_tobj-bname. |
379 | PERFORM get_user |
380 | USING l_bname |
381 | CHANGING l_name_text. |
382 | ls_ti-value_text = l_name_text. |
383 | ls_ti-input = abap_true. |
384 | APPEND ls_ti TO lt_attr. |
385 |
386 | DO 10 TIMES VARYING l_field |
387 | FROM ls_tobj-fiel1 NEXT ls_tobj-fiel2. |
388 | CLEAR: |
389 | l_text, |
390 | ls_ti. |
391 | IF NOT l_field IS INITIAL. |
392 | IF l_field = 'ACTVT'. |
393 | l_has_actvt = abap_true. |
394 | ENDIF. |
395 | CALL FUNCTION 'AUTH_FIELD_GET_INFO' |
396 | EXPORTING |
397 | fieldname = l_field |
398 | IMPORTING |
399 | text = l_text. |
400 | ENDIF. |
401 | ls_ti-value = l_field. |
402 | ls_ti-value_ext = l_text. |
403 | ls_ti-has_value_ext = abap_true. |
404 | ls_ti-no_name = abap_true. |
405 | ls_ti-input = abap_true. |
406 | APPEND ls_ti TO lt_box. |
407 | ENDDO. |
408 |
409 | PERFORM get_docu |
410 | USING |
411 | 'UO' |
412 | l_objct |
413 | 'E' |
414 | CHANGING |
415 | lt_doc. |
416 |
417 | SELECT * FROM tactz INTO TABLE lt_tactz |
418 | WHERE brobj = l_objct. |
419 | SORT lt_tactz BY actvt. |
420 | LOOP AT lt_tactz ASSIGNING <ls_tactz>. |
421 | SELECT SINGLE ltext FROM tactt INTO l_xutxt |
422 | WHERE actvt = <ls_tactz>-actvt |
423 | AND spras = sy-langu. |
424 | CLEAR ls_ti. |
425 | ls_ti-name = <ls_tactz>-actvt. |
426 | ls_ti-value = abap_true. |
427 | ls_ti-flag = abap_true. |
428 | ls_ti-description = l_xutxt. |
429 | APPEND ls_ti TO lt_actvt. |
430 | ENDLOOP. |
431 |
432 | CLEAR ls_ti. |
433 | ls_ti-name = txt_conversion_for_authorizati. |
434 | ls_ti-value = ls_tobj-conversion. |
435 | ls_ti-flag = abap_true. |
436 | APPEND ls_ti TO lt_actvt_attr. |
437 | CLEAR ls_ti. |
438 | ls_ti-name = txt_activity. |
439 | IF l_has_actvt = abap_true. |
440 | ls_ti-value = 'ACTVT'. |
441 | ENDIF. |
442 | ls_ti-input = abap_true. |
443 | APPEND ls_ti TO lt_actvt_attr. |
444 |
445 | LOOP AT lt_tabstrip ASSIGNING <ls_tabstrip>. |
446 | <ls_tabstrip>-empty = abap_false. |
447 | CASE <ls_tabstrip>-id. |
448 | WHEN 'DOC'. |
449 | IF lt_doc IS INITIAL. |
450 | <ls_tabstrip>-empty = abap_true. |
451 | ENDIF. |
452 | ENDCASE. |
453 | ENDLOOP. |
454 |
455 | IF NOT lt_doc IS INITIAL. |
456 | l_javascript = 'makeDivSize(''DOC'');'. |
457 | ENDIF. |
458 | PERFORM html_main_header |
459 | USING |
460 | tpt_tobj |
461 | txt_object |
462 | <ls_ztadir>-obj_name |
463 | space |
464 | txt_text |
465 | <ls_ztadir>-descript |
466 | l_javascript |
467 | lt_tabstrip |
468 | gt_link |
469 | CHANGING |
470 | lt_html. |
471 |
472 | PERFORM html_add_textinput_subbox |
473 | USING |
474 | lt_attr |
475 | txt_authorization_fields |
476 | lt_box |
477 | 'ATTRIBUTES' |
478 | abap_true |
479 | CHANGING |
480 | lt_html. |
481 |
482 | PERFORM html_add_textinput_subbox |
483 | USING |
484 | lt_actvt_attr |
485 | txt_values |
486 | lt_actvt |
487 | 'ACTVT' |
488 | abap_false |
489 | CHANGING |
490 | lt_html. |
491 |
492 | IF NOT lt_doc IS INITIAL |
493 | OR g_empty_tab = gc_empty_tab_display. |
494 | PERFORM html_add_doc |
495 | USING |
496 | lt_doc |
497 | 'DOC' |
498 | abap_false |
499 | CHANGING |
500 | lt_html. |
501 | ENDIF. |
502 | * |
503 | PERFORM html_main_footer |
504 | USING |
505 | lt_html. |
506 | |
507 | PERFORM download |
508 | USING |
509 | lt_html |
510 | <ls_ztadir>-pgmid |
511 | <ls_ztadir>-object |
512 | <ls_ztadir>-obj_name |
513 | gc_extension_htm |
514 | abap_true. |
515 | <ls_ztadir>-downloaded = abap_true. |
516 | ENDLOOP. |
517 | |
518 | ENDFORM. "r3tr_tobj |
519 | |
520 | |
521 |
522 |
523 |
524 | FORM t_r3tr_para. |
525 | |
526 | DATA: |
527 | ls_ti TYPE st_textinput, |
528 | lt_ti TYPE it_textinput, |
529 | l_filename TYPE string, |
530 | lt_html TYPE it_string. |
531 | |
532 | FIELD-SYMBOLS: |
533 | <ls_ztadir> TYPE st_ztadir. |
534 | |
535 | LOOP AT gt_ztadir ASSIGNING <ls_ztadir> |
536 | WHERE pgmid = 'R3TR' |
537 | AND object = 'PARA' |
538 | AND downloaded = abap_false. |
539 | |
540 | REFRESH: |
541 | lt_html, |
542 | lt_ti. |
543 | |
544 | CLEAR ls_ti. |
545 | ls_ti-name = txt_parameter_id. |
546 | ls_ti-value = <ls_ztadir>-obj_name. |
547 | ls_ti-input = abap_true. |
548 | APPEND ls_ti TO lt_ti. |
549 | |
550 | CLEAR ls_ti. |
551 | ls_ti-name = txt_text. |
552 | ls_ti-value = <ls_ztadir>-descript. |
553 | ls_ti-input = abap_true. |
554 | APPEND ls_ti TO lt_ti. |
555 | |
556 | l_filename = <ls_ztadir>-obj_name. |
557 | PERFORM encode_uri_link CHANGING l_filename. |
558 | PERFORM replace_all |
559 | USING '%' 'x' |
560 | CHANGING l_filename. |
561 | |
562 | PERFORM replace_all |
563 | USING '<' '-' |
564 | CHANGING l_filename. |
565 | PERFORM replace_all |
566 | USING '>' '-' |
567 | CHANGING l_filename. |
568 | PERFORM encode_uri |
569 | CHANGING l_filename. |
570 | |
571 |
572 | PERFORM html_main_popupheader |
573 | USING |
574 | txt_component_information |
575 | CHANGING |
576 | lt_html. |
577 |
578 | PERFORM html_add_textinputnodiv |
579 | USING |
580 | lt_ti |
581 | CHANGING |
582 | lt_html. |
583 |
584 | PERFORM html_main_popupfooter |
585 | CHANGING lt_html. |
586 |
587 | PERFORM download |
588 | USING |
589 | lt_html |
590 | <ls_ztadir>-pgmid |
591 | <ls_ztadir>-object |
592 | l_filename |
593 | gc_extension_htm |
594 | abap_true. |
595 | |
596 | ENDLOOP. |
597 | |
598 | ENDFORM. "r3tr_para |
599 | |
600 | |
601 |
602 |
603 |
604 | FORM t_r3tr_tran. |
605 | |
606 | DATA: |
607 | ls_tran TYPE st_transaction, |
608 | ls_tstc TYPE tstc, |
609 | ls_tstc_tmp TYPE tstc, |
610 | lt_tstca TYPE STANDARD TABLE OF tstca, |
611 | ls_tstcc TYPE tstcc, |
612 | l_param TYPE tcdparam, |
613 | l_tcode TYPE tcode, |
614 | l_gui_title TYPE string, |
615 | ls_ti TYPE st_textinput, |
616 | lt_defval TYPE it_textinput, |
617 | lt_gui_support TYPE it_textinput, |
618 | lt_para TYPE it_transaction_para, |
619 | ls_para TYPE st_transaction_para, |
620 | lt_html TYPE it_string, |
621 | l_off TYPE i, |
622 | l_length TYPE i, |
623 | l_str TYPE string, |
624 | lt_str TYPE it_string, |
625 | lt_tabstrip TYPE it_tabstrip. |
626 | |
627 | CONSTANTS: |
628 | lc_hex_tra TYPE x VALUE '00', " Transaktion T |
629 | lc_hex_men TYPE x VALUE '01', " Bereichsmenue M |
630 | lc_hex_par TYPE x VALUE '02', " Parametertrans. P |
631 | lc_hex_rep TYPE x VALUE '80', " Report R |
632 | lc_hex_rpv TYPE x VALUE '10', " Report mit Variante |
633 | lc_hex_obj TYPE x VALUE '08', " Objekttransaktionen |
634 | lc_hex_chk TYPE x VALUE '04', " mit Pruefobjekt |
635 | lc_oo_program(9) VALUE '\PROGRAM=', |
636 | lc_oo_class(7) VALUE '\CLASS=', |
637 | lc_oo_method(8) VALUE '\METHOD=', |
638 | lc_oo_tcode LIKE tstc-tcode VALUE 'OS_APPLICATION'. |
639 | |
640 | FIELD-SYMBOLS: |
641 | <ls_ztadir> TYPE st_ztadir, |
642 | <ls_tstca> TYPE tstca, |
643 | <l_pervas> TYPE ANY. |
644 | |
645 | LOOP AT gt_ztadir ASSIGNING <ls_ztadir> |
646 | WHERE pgmid = 'R3TR' |
647 | AND object = 'TRAN' |
648 | AND downloaded = abap_false. |
649 | |
650 | CLEAR: |
651 | ls_para, |
652 | ls_tran, |
653 | ls_ti, |
654 | ls_tstc, |
655 | ls_tstc_tmp, |
656 | ls_tstcc, |
657 | l_param, |
658 | l_tcode, |
659 | l_gui_title, |
660 | l_off, |
661 | l_length, |
662 | l_str. |
663 | |
664 | REFRESH: |
665 | lt_tstca, |
666 | lt_defval, |
667 | lt_gui_support, |
668 | lt_para, |
669 | lt_html, |
670 | lt_str, |
671 | lt_tabstrip. |
672 | |
673 | |
674 | l_tcode = <ls_ztadir>-obj_name. |
675 | |
676 | SELECT SINGLE * FROM tstc INTO ls_tstc |
677 | WHERE tcode = l_tcode. |
678 | ls_tran-pgmna = ls_tstc-pgmna. |
679 | ls_tran-dypno = ls_tstc-dypno. |
680 | IF ls_tstc-arbgb <> '&&'. |
681 | ls_tran-trans_var = abap_true. |
682 | ENDIF. |
683 | |
684 | SELECT * FROM tstca INTO TABLE lt_tstca |
685 | WHERE tcode = l_tcode. |
686 | LOOP AT lt_tstca ASSIGNING <ls_tstca>. |
687 | ls_tran-objct = <ls_tstca>-objct. |
688 | EXIT. |
689 | ENDLOOP. |
690 | |
691 | SELECT SINGLE * FROM tstcc INTO ls_tstcc |
692 | WHERE tcode = l_tcode. |
693 | IF ls_tstcc-s_webgui = '2'. |
694 | ls_tran-clf_ewt = abap_true. |
695 | ls_tran-clf_profi = abap_false. |
696 | ELSE. |
697 | ls_tran-clf_ewt = abap_false. |
698 | ls_tran-clf_profi = abap_true. |
699 | ENDIF. |
700 | ASSIGN COMPONENT 'S_PERVAS' OF STRUCTURE ls_tstcc TO <l_pervas>. |
701 | IF <l_pervas> IS ASSIGNED. |
702 | ls_tran-clf_pervas = <l_pervas>. |
703 | UNASSIGN <l_pervas>. |
704 | ENDIF. |
705 | ls_tran-clf_service = ls_tstcc-s_service. |
706 |
707 | SELECT SINGLE param FROM tstcp INTO l_param |
708 | WHERE tcode = l_tcode. |
709 | |
710 | CASE l_param(1). |
711 | WHEN '\'. |
712 | IF l_param CS lc_oo_program. |
713 | l_off = sy-fdpos + 9. |
714 | l_length = strlen( l_param ) - l_off. |
715 | l_str = l_param+l_off(l_length). |
716 | IF l_str CA '\'. |
717 | ls_tran-pgmna = l_str+0(sy-fdpos). |
718 | ELSE. |
719 | ls_tran-pgmna = l_str. |
720 | ENDIF. |
721 | ENDIF. |
722 | IF l_param CS lc_oo_class. |
723 | l_off = sy-fdpos + 7. |
724 | l_length = strlen( l_param ) - l_off. |
725 | l_str = l_param+l_off(l_length). |
726 | IF l_str CA '\'. |
727 | ls_tran-classname = l_str+0(sy-fdpos). |
728 | ELSE. |
729 | ls_tran-classname = l_str. |
730 | ENDIF. |
731 | ENDIF. |
732 | IF l_param CS lc_oo_method. |
733 | l_off = sy-fdpos + 8. |
734 | l_length = strlen( l_param ) - l_off. |
735 | l_str = l_param+l_off(l_length). |
736 | IF l_str CA '\'. |
737 | ls_tran-method = l_str+0(sy-fdpos). |
738 | ELSE. |
739 | ls_tran-method = l_str. |
740 | ENDIF. |
741 | ENDIF. |
742 | IF NOT ls_tstc-pgmna IS INITIAL. |
743 | ls_tran-local = abap_true. |
744 | ENDIF. |
745 | WHEN '@'. |
746 | l_off = 1. |
747 | IF l_param(2) = '@@'. |
748 | l_off = 2. |
749 | ls_tran-ind_vari = abap_true. |
750 | ENDIF. |
751 | IF l_param CA space. ENDIF. |
752 | l_length = sy-fdpos - l_off. |
753 | ls_tran-def_call_tcode = l_param+l_off(l_length). |
754 | |
755 | l_off = l_off + l_length + 1. |
756 | l_length = strlen( l_param ). |
757 | SUBTRACT l_off FROM l_length. |
758 | ls_tran-variant = l_param+l_off(l_length). |
759 | WHEN '/'. |
760 | IF l_param+1(1) = '*'. |
761 | ls_tran-def_skip_1 = abap_true. |
762 | ENDIF. |
763 | |
764 | IF l_param CA space. ENDIF. |
765 | l_length = sy-fdpos. |
766 | IF l_length > 2. |
767 | SUBTRACT 2 FROM l_length. |
768 | ls_tran-def_call_tcode = l_param+2(l_length). |
769 | SELECT SINGLE * FROM tstc INTO ls_tstc_tmp |
770 | WHERE tcode = ls_tran-def_call_tcode. |
771 | IF sy-subrc = 0. |
772 | "... |
773 | ENDIF. |
774 | |
775 | IF l_param CA '='. |
776 | l_off = 3 + l_length. |
777 | l_length = strlen( l_param ). |
778 | SUBTRACT l_off FROM l_length. |
779 | l_str = l_param+l_off(l_length). |
780 | |
781 | SPLIT l_str AT ';' INTO TABLE lt_str. |
782 | LOOP AT lt_str INTO l_str. |
783 | IF l_str CA '='. |
784 | CLEAR ls_para. |
785 | SPLIT l_str AT '=' INTO |
786 | ls_para-para_field ls_para-para_value. |
787 | APPEND ls_para TO lt_para. |
788 | ENDIF. |
789 | ENDLOOP. |
790 | ENDIF. |
791 | ENDIF. |
792 | WHEN OTHERS. |
793 | IF l_param CA '='. |
794 | SPLIT l_param AT ';' INTO TABLE lt_str. |
795 | LOOP AT lt_str INTO l_str. |
796 | IF l_str CA '='. |
797 | CLEAR ls_para. |
798 | SPLIT l_str AT '=' INTO |
799 | ls_para-para_field ls_para-para_value. |
800 | APPEND ls_para TO lt_para. |
801 | ENDIF. |
802 | ENDLOOP. |
803 | ENDIF. |
804 | ENDCASE. |
805 |
806 | SELECT SINGLE ttext FROM tstct INTO ls_tran-ttext |
807 | WHERE sprsl = sy-langu |
808 | AND tcode = l_tcode. |
809 |
810 | IF ls_tstc-cinfo O lc_hex_rep. "report transaction |
811 | ls_tran-ttype = gc_tcode_report. |
812 | l_gui_title = tpt_tran_repo. |
813 | IF ls_tran-dypno IS INITIAL. |
814 | ls_tran-dypno = '1000'. |
815 | ENDIF. |
816 | IF ls_tstc-cinfo O lc_hex_rpv AND NOT l_param IS INITIAL. |
817 | ls_tran-repo_vari = l_param. |
818 | ENDIF. |
819 | ELSEIF ls_tstc-cinfo O lc_hex_obj. "object transaction |
820 | ls_tran-ttype = gc_tcode_object. |
821 | l_gui_title = tpt_tran_obj. |
822 | IF ls_tran-def_call_tcode = lc_oo_tcode. |
823 | ls_tran-trframe = abap_true. |
824 | ENDIF. |
825 | ELSEIF ls_tstc-cinfo O lc_hex_par. "parameter transaction |
826 | ls_tran-ttype = gc_tcode_parameter. |
827 | l_gui_title = tpt_tran_param. |
828 | IF NOT l_param IS INITIAL |
829 | AND l_param(1) = '@'. "variant transaction |
830 | ls_tran-ttype = gc_tcode_variant. |
831 | l_gui_title = tpt_tran_vari. |
832 | ELSEIF ls_tran-def_call_tcode = lc_oo_tcode. |
833 | "object transaction |
834 | ls_tran-ttype = gc_tcode_object. |
835 | l_gui_title = tpt_tran_obj. |
836 | ls_tran-trframe = abap_true. |
837 | ENDIF. |
838 | ELSEIF ls_tstc-cinfo O lc_hex_men. "menue |
839 | ELSE. "dialog transaction |
840 | ls_tran-ttype = gc_tcode_dialog. |
841 | l_gui_title = tpt_tran_dialog. |
842 | ENDIF. |
843 | |
844 | IF NOT ls_tran-def_call_tcode IS INITIAL |
845 | AND ( ls_tstcc IS INITIAL OR ls_tstcc = l_tcode ) |
846 | AND ls_tran-ttype <> gc_tcode_object. |
847 | ls_tran-clf_inhe = abap_true. |
848 | SELECT SINGLE * FROM tstcc INTO ls_tstcc |
849 | WHERE tcode = ls_tran-def_call_tcode. |
850 | IF ls_tstcc-s_webgui = '2'. |
851 | ls_tran-clf_ewt = abap_true. |
852 | ls_tran-clf_profi = abap_false. |
853 | ELSE. |
854 | ls_tran-clf_ewt = abap_false. |
855 | ls_tran-clf_profi = abap_true. |
856 | ENDIF. |
857 | ASSIGN COMPONENT 'S_PERVAS' OF STRUCTURE ls_tstcc TO <l_pervas>. |
858 | IF <l_pervas> IS ASSIGNED. |
859 | ls_tran-clf_pervas = <l_pervas>. |
860 | UNASSIGN <l_pervas>. |
861 | ENDIF. |
862 | ls_tran-clf_service = ls_tstcc-s_service. |
863 | ENDIF. |
864 | |
865 |
866 | CLEAR ls_ti. |
867 | ls_ti-name = txt_transaction. |
868 | ls_ti-value = ls_tran-def_call_tcode. |
869 | ls_ti-input = abap_true. |
870 | APPEND ls_ti TO lt_defval. |
871 | CLEAR ls_ti. |
872 | ls_ti-name = txt_skip_initial_screen. |
873 | ls_ti-value = ls_tran-def_skip_1. |
874 | ls_ti-flag = abap_true. |
875 | APPEND ls_ti TO lt_defval. |
876 | CLEAR ls_ti. |
877 | ls_ti-name = txt_screen. |
878 | ls_ti-value = ls_tran-dypno. |
879 | ls_ti-input = abap_true. |
880 | ls_ti-has_value_ext = abap_true. |
881 | ls_ti-value_ext_space = abap_true. |
882 | APPEND ls_ti TO lt_defval. |
883 | CLEAR ls_ti. |
884 | ls_ti-name = txt_from_module_pool. |
885 | ls_ti-value = ls_tran-pgmna. |
886 | ls_ti-input = abap_true. |
887 | APPEND ls_ti TO lt_defval. |
888 |
889 | CLEAR ls_ti. |
890 | ls_ti-name = txt_sapgui_for_html. |
891 | ls_ti-flag = abap_true. |
892 | IF NOT ls_tstcc-s_webgui IS INITIAL. |
893 | ls_ti-value = abap_true. |
894 | ENDIF. |
895 | APPEND ls_ti TO lt_gui_support. |
896 | CLEAR ls_ti. |
897 | ls_ti-name = txt_sapgui_for_java. |
898 | ls_ti-flag = abap_true. |
899 | ls_ti-value = ls_tstcc-s_platin. |
900 | APPEND ls_ti TO lt_gui_support. |
901 | CLEAR ls_ti. |
902 | ls_ti-name = txt_sapgui_for_windows. |
903 | ls_ti-flag = abap_true. |
904 | ls_ti-value = ls_tstcc-s_win32. |
905 | APPEND ls_ti TO lt_gui_support. |
906 | |
907 |
908 | PERFORM html_main_header |
909 | USING |
910 | l_gui_title |
911 | txt_transaction_code |
912 | <ls_ztadir>-obj_name |
913 | space |
914 | txt_package |
915 | <ls_ztadir>-devclass |
916 | 'makeDivSize(''TRANSACTION'');' |
917 | lt_tabstrip |
918 | gt_link |
919 | CHANGING |
920 | lt_html. |
921 |
922 | PERFORM html_add_transaction |
923 | USING |
924 | ls_tran |
925 | lt_tstca |
926 | lt_defval |
927 | lt_gui_support |
928 | lt_para |
929 | 'TRANSACTION' |
930 | abap_true |
931 | CHANGING |
932 | lt_html. |
933 | * |
934 | PERFORM html_main_footer |
935 | USING |
936 | lt_html. |
937 | |
938 | PERFORM download |
939 | USING |
940 | lt_html |
941 | <ls_ztadir>-pgmid |
942 | <ls_ztadir>-object |
943 | <ls_ztadir>-obj_name |
944 | gc_extension_htm |
945 | abap_true. |
946 | <ls_ztadir>-downloaded = abap_true. |
947 | ENDLOOP. |
948 | ENDFORM. "r3tr_tran |