Properties SourceCde
txt
1
*&---------------------------------------------------------------------*
2
*&  Include           ZSOFTCOPY_GUI                                    *
3
*&                                                                     *
4
*&---------------------------------------------------------------------*
5
*&                                                                     *
6
*& This file is part of ZSOFTCOPY.                                     *
7
*&                                                                     *
8
*& ZSOFTCOPY is free software: you can redistribute it and/or modify   *
9
*& it under the terms of the GNU General Public License as published   *
10
*& by the Free Software Foundation, either version 3 of the License,   *
11
*& or any later version.                                               *
12
*&                                                                     *
13
*& ZSOFTCOPY is distributed in the hope that it will be useful,        *
14
*& but WITHOUT ANY WARRANTY; without even the implied warranty of      *
15
*& MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *
16
*& GNU General Public License for more details.                        *
17
*&                                                                     *
18
*& You should have received a copy of the GNU General Public License   *
19
*& along with ZDOWNLOAD. If not, see <http://www.gnu.org/licenses/>.   *
20
*&                                                                     *
21
*&---------------------------------------------------------------------*
22
*&                                                                     *
23
*&  Author:     Ruediger von Creytz     ruediger.creytz@globalbit.net  *
24
*&  Copyright:  globalBIT, LLC          http://www.globalbit.net       *
25
*&                                                                     *
26
*&---------------------------------------------------------------------*
27
 
28
 
29
*-----------------------------------------------------------------------
30
*  Selection screen declaration
31
*-----------------------------------------------------------------------
32
SELECTION-SCREEN FUNCTION KEY 1.
33
SELECTION-SCREEN FUNCTION KEY 2.
34
SELECTION-SCREEN FUNCTION KEY 3.
35
 
36
*-----------------------------------------------------------------------
37
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE t_choice.
38
* Package
39
SELECTION-SCREEN BEGIN OF LINE.
40
SELECTION-SCREEN COMMENT 1(22) t_pack.
41
SELECT-OPTIONS p_devcl FOR tdevc-devclass.
42
SELECTION-SCREEN END OF LINE.
43
* Folder
44
SELECTION-SCREEN BEGIN OF LINE.
45
SELECTION-SCREEN COMMENT 1(25) t_path.
46
PARAMETERS p_folder TYPE rlgrap-filename MEMORY ID mfolder.
47
SELECTION-SCREEN END OF LINE.
48
SELECTION-SCREEN END OF BLOCK b1.
49
 
50
*-----------------------------------------------------------------------
51
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t_opts.
52
* Add SourceCode
53
SELECTION-SCREEN BEGIN OF LINE.
54
SELECTION-SCREEN COMMENT 1(25) t_add_sc.
55
PARAMETERS p_add_sc AS CHECKBOX DEFAULT abap_true.
56
SELECTION-SCREEN END OF LINE.
57
* Empty Tab: display|disabled|hidden
58
SELECTION-SCREEN ULINE.
59
SELECTION-SCREEN BEGIN OF LINE.
60
SELECTION-SCREEN COMMENT 1(25) t_etab.
61
PARAMETERS p_etab_n RADIOBUTTON GROUP etab.
62
SELECTION-SCREEN COMMENT 34(10) t_etab_n FOR FIELD p_etab_n.
63
PARAMETERS p_etab_d RADIOBUTTON GROUP etab DEFAULT 'X'.
64
SELECTION-SCREEN COMMENT 49(10) t_etab_d FOR FIELD p_etab_d.
65
PARAMETERS p_etab_h RADIOBUTTON GROUP etab.
66
SELECTION-SCREEN COMMENT 64(10) t_etab_h FOR FIELD p_etab_h.
67
SELECTION-SCREEN END OF LINE.
68
* database content
69
SELECTION-SCREEN ULINE.
70
SELECTION-SCREEN BEGIN OF LINE.
71
SELECTION-SCREEN COMMENT 1(25) t_dbcont.
72
PARAMETERS p_dbcont AS CHECKBOX DEFAULT abap_true
73
  MODIF ID dis
74
  USER-COMMAND u_dbcont.
75
SELECTION-SCREEN END OF LINE.
76
SELECTION-SCREEN BEGIN OF LINE.
77
SELECTION-SCREEN COMMENT 6(20) t_dbform.
78
PARAMETERS p_db_csv AS CHECKBOX DEFAULT abap_true.
79
SELECTION-SCREEN COMMENT 29(15) t_db_csv.
80
PARAMETERS p_db_xml AS CHECKBOX DEFAULT abap_false.
81
SELECTION-SCREEN COMMENT 47(15) t_db_xml.
82
SELECTION-SCREEN END OF LINE.
83
SELECTION-SCREEN BEGIN OF LINE.
84
SELECTION-SCREEN COMMENT 6(20) t_dbmax.
85
PARAMETERS p_dbmax TYPE i DEFAULT 2000.
86
SELECTION-SCREEN END OF LINE.
87
SELECTION-SCREEN BEGIN OF LINE.
88
SELECTION-SCREEN COMMENT 6(17) t_dblim.
89
SELECT-OPTIONS p_dblim FOR dd02l-tabname.
90
SELECTION-SCREEN END OF LINE.
91
SELECTION-SCREEN BEGIN OF LINE.
92
SELECTION-SCREEN COMMENT 6(20) t_dbcls.
93
PARAMETERS p_dbclsa AS CHECKBOX DEFAULT abap_true.
94
SELECTION-SCREEN COMMENT 29(4) t_dbclsa.
95
PARAMETERS p_dbclsc AS CHECKBOX DEFAULT abap_true.
96
SELECTION-SCREEN COMMENT 36(4) t_dbclsc.
97
PARAMETERS p_dbclse AS CHECKBOX DEFAULT abap_true.
98
SELECTION-SCREEN COMMENT 43(4) t_dbclse.
99
PARAMETERS p_dbclsg AS CHECKBOX DEFAULT abap_true.
100
SELECTION-SCREEN COMMENT 50(4) t_dbclsg.
101
PARAMETERS p_dbclsl AS CHECKBOX DEFAULT abap_true.
102
SELECTION-SCREEN COMMENT 57(4) t_dbclsl.
103
PARAMETERS p_dbclss AS CHECKBOX DEFAULT abap_true.
104
SELECTION-SCREEN COMMENT 64(4) t_dbclss.
105
PARAMETERS p_dbclsw AS CHECKBOX DEFAULT abap_true.
106
SELECTION-SCREEN COMMENT 71(4) t_dbclsw.
107
SELECTION-SCREEN PUSHBUTTON 78(4) b_dbcls USER-COMMAND b_dbcls.
108
SELECTION-SCREEN END OF LINE.
109
* variants of reports
110
SELECTION-SCREEN ULINE.
111
SELECTION-SCREEN BEGIN OF LINE.
112
SELECTION-SCREEN COMMENT 1(25) t_add_rv.
113
PARAMETERS p_add_rv AS CHECKBOX DEFAULT abap_true.
114
SELECTION-SCREEN END OF LINE.
115
SELECTION-SCREEN END OF BLOCK b2.
116
 
117
*-----------------------------------------------------------------------
118
SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE t_elems.
119
SELECTION-SCREEN BEGIN OF LINE.
120
* Dictionary Objects
121
PARAMETERS p_ddic AS CHECKBOX DEFAULT abap_true
122
  MODIF ID dis
123
  USER-COMMAND u_ddic.
124
SELECTION-SCREEN COMMENT 5(39) t_ddic.
125
* Transactions
126
PARAMETERS p_tran AS CHECKBOX DEFAULT abap_true.
127
SELECTION-SCREEN COMMENT 49(39) t_tran.
128
* ---
129
SELECTION-SCREEN END OF LINE.
130
SELECTION-SCREEN BEGIN OF LINE.
131
* Dictionary Objects - Database Tables
132
SELECTION-SCREEN POSITION 6.
133
PARAMETERS p_tabl AS CHECKBOX DEFAULT abap_true.
134
SELECTION-SCREEN COMMENT 10(34) t_tabl.
135
* Message Classes
136
PARAMETERS p_msag AS CHECKBOX DEFAULT abap_true.
137
SELECTION-SCREEN COMMENT 49(39) t_msag.
138
* ---
139
SELECTION-SCREEN END OF LINE.
140
SELECTION-SCREEN BEGIN OF LINE.
141
* Dictionary Objects - Views
142
SELECTION-SCREEN POSITION 6.
143
PARAMETERS p_view AS CHECKBOX DEFAULT abap_true.
144
SELECTION-SCREEN COMMENT 10(34) t_view.
145
* SET/GET Parameters
146
PARAMETERS p_para AS CHECKBOX DEFAULT abap_true.
147
SELECTION-SCREEN COMMENT 49(39) t_para.
148
* ---
149
SELECTION-SCREEN END OF LINE.
150
SELECTION-SCREEN BEGIN OF LINE.
151
* Dictionary Objects - Table Types
152
SELECTION-SCREEN POSITION 6.
153
PARAMETERS p_ttyp AS CHECKBOX DEFAULT abap_true.
154
SELECTION-SCREEN COMMENT 10(34) t_ttyp.
155
* Authorization Object
156
PARAMETERS p_tobj AS CHECKBOX DEFAULT abap_true.
157
SELECTION-SCREEN COMMENT 49(39) t_tobj.
158
* ---
159
SELECTION-SCREEN END OF LINE.
160
SELECTION-SCREEN BEGIN OF LINE.
161
* Dictionary Objects - Structures
162
SELECTION-SCREEN POSITION 6.
163
PARAMETERS p_struc AS CHECKBOX DEFAULT abap_true.
164
SELECTION-SCREEN COMMENT 10(34) t_struc.
165
* Transformations
166
PARAMETERS p_xslt AS CHECKBOX DEFAULT abap_true.
167
SELECTION-SCREEN COMMENT 49(39) t_xslt.
168
* ---
169
SELECTION-SCREEN END OF LINE.
170
SELECTION-SCREEN BEGIN OF LINE.
171
* Dictionary Objects - Data Elements
172
SELECTION-SCREEN POSITION 6.
173
PARAMETERS p_dtel AS CHECKBOX DEFAULT abap_true.
174
SELECTION-SCREEN COMMENT 10(34) t_dtel.
175
* BSP Library
176
PARAMETERS p_bsplib AS CHECKBOX DEFAULT abap_true
177
  MODIF ID dis
178
  USER-COMMAND u_bsplib.
179
SELECTION-SCREEN COMMENT 49(39) t_bsplib.
180
* ---
181
SELECTION-SCREEN END OF LINE.
182
SELECTION-SCREEN BEGIN OF LINE.
183
* Dictionary Objects - Domains
184
SELECTION-SCREEN POSITION 6.
185
PARAMETERS p_doma AS CHECKBOX DEFAULT abap_true.
186
SELECTION-SCREEN COMMENT 10(34) t_doma.
187
* BSP Library - BSP Applications
188
SELECTION-SCREEN POSITION 50.
189
PARAMETERS p_bspapp AS CHECKBOX DEFAULT abap_true
190
  MODIF ID dis
191
  USER-COMMAND u_bspapp.
192
SELECTION-SCREEN COMMENT 54(34) t_bspapp.
193
* ---
194
SELECTION-SCREEN END OF LINE.
195
SELECTION-SCREEN BEGIN OF LINE.
196
* Dictionary Objects - Search Helps
197
SELECTION-SCREEN POSITION 6.
198
PARAMETERS p_shlp AS CHECKBOX DEFAULT abap_true.
199
SELECTION-SCREEN COMMENT 10(34) t_shlp.
200
* BSP Library - BSP Applications - Controller
201
SELECTION-SCREEN POSITION 55.
202
PARAMETERS p_wctrl AS CHECKBOX DEFAULT abap_true.
203
SELECTION-SCREEN COMMENT 59(29) t_wctrl.
204
* ---
205
SELECTION-SCREEN END OF LINE.
206
SELECTION-SCREEN BEGIN OF LINE.
207
* Dictionary Objects - Lock Objects
208
SELECTION-SCREEN POSITION 6.
209
PARAMETERS p_enqu AS CHECKBOX DEFAULT abap_true.
210
SELECTION-SCREEN COMMENT 10(34) t_enqu.
211
* BSP Library - BSP Applications - Views
212
SELECTION-SCREEN POSITION 55.
213
PARAMETERS p_wview AS CHECKBOX DEFAULT abap_true.
214
SELECTION-SCREEN COMMENT 59(29) t_wview.
215
* ---
216
SELECTION-SCREEN END OF LINE.
217
SELECTION-SCREEN BEGIN OF LINE.
218
* Dictionary Objects - Type Groups
219
SELECTION-SCREEN POSITION 6.
220
PARAMETERS p_type AS CHECKBOX DEFAULT abap_true.
221
SELECTION-SCREEN COMMENT 10(34) t_type.
222
* BSP Library - BSP Applications - Pages with Flow Logic
223
SELECTION-SCREEN POSITION 55.
224
PARAMETERS p_wbsp AS CHECKBOX DEFAULT abap_true.
225
SELECTION-SCREEN COMMENT 59(29) t_wbsp.
226
* ---
227
SELECTION-SCREEN END OF LINE.
228
SELECTION-SCREEN BEGIN OF LINE.
229
* Class Library
230
PARAMETERS p_clslib AS CHECKBOX DEFAULT abap_true
231
  MODIF ID dis
232
  USER-COMMAND u_clslib.
233
SELECTION-SCREEN COMMENT 5(39) t_clslib.
234
* BSP Library - BSP Applications - Page Fragments
235
SELECTION-SCREEN POSITION 55.
236
PARAMETERS p_wincl AS CHECKBOX DEFAULT abap_true.
237
SELECTION-SCREEN COMMENT 59(29) t_wincl.
238
 
239
* ---
240
SELECTION-SCREEN END OF LINE.
241
SELECTION-SCREEN BEGIN OF LINE.
242
* Class Library - Classes
243
SELECTION-SCREEN POSITION 6.
244
PARAMETERS p_clas AS CHECKBOX DEFAULT abap_true.
245
SELECTION-SCREEN COMMENT 10(34) t_clas.
246
* BSP Library - BSP Applications - MIMEs
247
SELECTION-SCREEN POSITION 55.
248
PARAMETERS p_wmime AS CHECKBOX DEFAULT abap_true.
249
SELECTION-SCREEN COMMENT 59(29) t_wmime.
250
 
251
* ---
252
SELECTION-SCREEN END OF LINE.
253
SELECTION-SCREEN BEGIN OF LINE.
254
* Class Library - Interfaces
255
SELECTION-SCREEN POSITION 6.
256
PARAMETERS p_intf AS CHECKBOX DEFAULT abap_true.
257
SELECTION-SCREEN COMMENT 10(34) t_intf.
258
* BSP Library - BSP Extensions
259
SELECTION-SCREEN POSITION 50.
260
PARAMETERS p_bsptag AS CHECKBOX DEFAULT abap_true.
261
SELECTION-SCREEN COMMENT 54(34) t_bsptag.
262
* ---
263
SELECTION-SCREEN END OF LINE.
264
SELECTION-SCREEN BEGIN OF LINE.
265
* Programs
266
PARAMETERS p_prog AS CHECKBOX DEFAULT abap_true.
267
SELECTION-SCREEN COMMENT 5(39) t_prog.
268
* ---
269
SELECTION-SCREEN END OF LINE.
270
SELECTION-SCREEN BEGIN OF LINE.
271
* Function Groups
272
PARAMETERS p_fugr AS CHECKBOX DEFAULT abap_true
273
  MODIF ID dis
274
  USER-COMMAND u_fugr.
275
SELECTION-SCREEN COMMENT 5(39) t_fugr.
276
* ---
277
SELECTION-SCREEN END OF LINE.
278
SELECTION-SCREEN BEGIN OF LINE.
279
* Function Groups - Function Modules
280
SELECTION-SCREEN POSITION 6.
281
PARAMETERS p_fuba AS CHECKBOX DEFAULT abap_true.
282
SELECTION-SCREEN COMMENT 10(34) t_fuba.
283
* ---
284
SELECTION-SCREEN END OF LINE.
285
SELECTION-SCREEN BEGIN OF LINE.
286
* Function Groups - Screens
287
SELECTION-SCREEN POSITION 6.
288
PARAMETERS p_scr AS CHECKBOX DEFAULT abap_true.
289
SELECTION-SCREEN COMMENT 10(34) t_scr.
290
* ---
291
SELECTION-SCREEN END OF LINE.
292
SELECTION-SCREEN BEGIN OF LINE.
293
* Function Groups - Includes
294
SELECTION-SCREEN POSITION 6.
295
PARAMETERS p_fuincl AS CHECKBOX DEFAULT abap_true.
296
SELECTION-SCREEN COMMENT 10(34) t_fuincl.
297
* ---
298
SELECTION-SCREEN END OF LINE.
299
SELECTION-SCREEN BEGIN OF LINE.
300
* Includes
301
PARAMETERS p_incl AS CHECKBOX DEFAULT abap_true.
302
SELECTION-SCREEN COMMENT 5(39) t_incl.
303
* ---
304
SELECTION-SCREEN END OF LINE.
305
SELECTION-SCREEN END OF BLOCK b3.
306
 
307
 
308
*-----------------------------------------------------------------------
309
* Display a directory picker window
310
*-----------------------------------------------------------------------
311
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_folder.
312
 
313
  DATA:
314
  l_obj_file TYPE REF TO cl_gui_frontend_services,
315
  l_selected_folder TYPE string,
316
  l_initial_folder TYPE string,
317
  l_message TYPE string,
318
  l_txt TYPE string,
319
  l_subrc TYPE sysubrc.
320
 
321
  IF sy-batch IS INITIAL.
322
    PERFORM cl_gui_get_folder
323
      CHANGING
324
        l_selected_folder
325
        l_subrc.
326
 
327
    IF l_subrc = 0.
328
      p_folder = l_selected_folder.
329
    ELSE.
330
      PERFORM get_message_text USING 'EA' '334'
331
                                   p_folder space space space
332
                             CHANGING l_message.
333
      PERFORM decode_html_io
334
        USING txt_please_enter_a_root_dir
335
        CHANGING l_txt.
336
      WRITE: / l_message, / l_txt.
337
    ENDIF.
338
  ENDIF.
339
 
340
 
341
*-----------------------------------------------------------------------
342
* at selection-screen
343
*-----------------------------------------------------------------------
344
AT SELECTION-SCREEN.
345
 
346
  CASE sscrfields-ucomm.
347
    WHEN 'FC01'.
348
      p_bsplib = abap_true.
349
      p_bspapp = abap_true.
350
      p_wbsp = abap_true.
351
      p_wctrl = abap_true.
352
      p_wincl = abap_true.
353
      p_wmime = abap_true.
354
      p_wview = abap_true.
355
      p_bsptag = abap_true.
356
*
357
      p_clslib = abap_true.
358
      p_clas = abap_true.
359
      p_intf = abap_true.
360
*
361
      p_ddic = abap_true.
362
      p_doma = abap_true.
363
      p_dtel = abap_true.
364
      p_enqu = abap_true.
365
      p_shlp = abap_true.
366
      p_struc = abap_true.
367
      p_tabl = abap_true.
368
      p_ttyp = abap_true.
369
      p_type = abap_true.
370
      p_view = abap_true.
371
*
372
      p_fugr = abap_true.
373
      p_fuba = abap_true.
374
      p_fuincl = abap_true.
375
      p_scr = abap_true.
376
*
377
      p_incl = abap_true.
378
*
379
      p_msag = abap_true.
380
*
381
      p_para = abap_true.
382
*
383
      p_prog = abap_true.
384
*
385
      p_tobj = abap_true.
386
*
387
      p_tran = abap_true.
388
*
389
      p_xslt = abap_true.
390
    WHEN 'FC02'.
391
      p_bsplib = abap_false.
392
      p_bspapp = abap_false.
393
      p_wbsp = abap_false.
394
      p_wctrl = abap_false.
395
      p_wincl = abap_false.
396
      p_wmime = abap_false.
397
      p_wview = abap_false.
398
      p_bsptag = abap_false.
399
*
400
      p_clslib = abap_false.
401
      p_clas = abap_false.
402
      p_intf = abap_false.
403
 
404
      p_ddic = abap_false.
405
      p_doma = abap_false.
406
      p_dtel = abap_false.
407
      p_enqu = abap_false.
408
      p_shlp = abap_false.
409
      p_struc = abap_false.
410
      p_tabl = abap_false.
411
      p_ttyp = abap_false.
412
      p_type = abap_false.
413
      p_view = abap_false.
414
*
415
      p_fugr = abap_false.
416
      p_fuba = abap_false.
417
      p_fuincl = abap_false.
418
      p_scr = abap_false.
419
*
420
      p_incl = abap_false.
421
*
422
      p_msag = abap_false.
423
*
424
      p_para = abap_false.
425
*
426
      p_prog = abap_false.
427
*
428
      p_tobj = abap_false.
429
*
430
      p_tran = abap_false.
431
*
432
      p_xslt = abap_false.
433
    WHEN 'FC03'.
434
      PERFORM gui_info_page.
435
  ENDCASE.
436
*---------------------------
437
  CASE sy-ucomm.
438
    WHEN 'B_DBCLS'.
439
      PERFORM gui_info_dbcls.
440
    WHEN 'U_BSPAPP'.
441
      IF p_bspapp = abap_false.
442
        p_wbsp = abap_false.
443
        p_wctrl = abap_false.
444
        p_wincl = abap_false.
445
        p_wmime = abap_false.
446
        p_wview = abap_false.
447
      ELSE.
448
        p_wbsp = abap_true.
449
        p_wctrl = abap_true.
450
        p_wincl = abap_true.
451
        p_wmime = abap_true.
452
        p_wview = abap_true.
453
      ENDIF.
454
    WHEN 'U_BSPLIB'.
455
      IF p_bsplib = abap_false.
456
        p_bspapp = abap_false.
457
        p_bsptag = abap_false.
458
        p_wbsp = abap_false.
459
        p_wctrl = abap_false.
460
        p_wincl = abap_false.
461
        p_wmime = abap_false.
462
        p_wview = abap_false.
463
      ELSE.
464
        p_bspapp = abap_true.
465
        p_bsptag = abap_true.
466
        p_wbsp = abap_true.
467
        p_wctrl = abap_true.
468
        p_wincl = abap_true.
469
        p_wmime = abap_true.
470
        p_wview = abap_true.
471
      ENDIF.
472
    WHEN 'U_CLSLIB'.
473
      IF p_clslib = abap_false.
474
        p_clas = abap_false.
475
        p_intf = abap_false.
476
      ELSE.
477
        p_clas = abap_true.
478
        p_intf = abap_true.
479
      ENDIF.
480
    WHEN 'U_DBCONT'.
481
      IF p_dbcont = abap_false.
482
        p_db_csv = abap_false.
483
        p_db_xml = abap_false.
484
        p_dbclsa = abap_false.
485
        p_dbclsc = abap_false.
486
        p_dbclsl = abap_false.
487
        p_dbclsg = abap_false.
488
        p_dbclse = abap_false.
489
        p_dbclss = abap_false.
490
        p_dbclsw = abap_false.
491
      ELSE.
492
        p_db_csv = abap_true.
493
        p_db_xml = abap_true.
494
        p_dbclsa = abap_true.
495
        p_dbclsc = abap_true.
496
        p_dbclsl = abap_true.
497
        p_dbclsg = abap_true.
498
        p_dbclse = abap_true.
499
        p_dbclss = abap_true.
500
        p_dbclsw = abap_true.
501
      ENDIF.
502
    WHEN 'U_DDIC'.
503
      IF p_ddic = abap_false.
504
        p_doma = abap_false.
505
        p_dtel = abap_false.
506
        p_enqu = abap_false.
507
        p_shlp = abap_false.
508
        p_struc = abap_false.
509
        p_tabl = abap_false.
510
        p_ttyp = abap_false.
511
        p_type = abap_false.
512
        p_view = abap_false.
513
      ELSE.
514
        p_doma = abap_true.
515
        p_dtel = abap_true.
516
        p_enqu = abap_true.
517
        p_shlp = abap_true.
518
        p_struc = abap_true.
519
        p_tabl = abap_true.
520
        p_ttyp = abap_true.
521
        p_type = abap_true.
522
        p_view = abap_true.
523
      ENDIF.
524
    WHEN 'U_FUGR'.
525
      IF p_fugr = abap_false.
526
        p_fuba = abap_false.
527
        p_fuincl = abap_false.
528
        p_scr = abap_false.
529
      ELSE.
530
        p_fuba = abap_true.
531
        p_fuincl = abap_true.
532
        p_scr = abap_true.
533
      ENDIF.
534
  ENDCASE.
535
 
536
 
537
*-----------------------------------------------------------------------
538
*  at selection-screen OUTPUT
539
*-----------------------------------------------------------------------
540
AT SELECTION-SCREEN OUTPUT.
541
  LOOP AT SCREEN.
542
* BSP Library
543
    IF screen-name = 'P_BSPAPP'
544
    OR screen-name = 'P_BSPTAG'.
545
      IF p_bsplib = abap_false.
546
        screen-input = 0.
547
      ELSE.
548
        screen-input = 1.
549
      ENDIF.
550
      MODIFY SCREEN.
551
    ENDIF.
552
    IF screen-name = 'P_WBSP'
553
    OR screen-name = 'P_WCTRL'
554
    OR screen-name = 'P_WINCL'
555
    OR screen-name = 'P_WMIME'
556
    OR screen-name = 'P_WVIEW'.
557
      IF p_bspapp = abap_false.
558
        screen-input = 0.
559
      ELSE.
560
        screen-input = 1.
561
      ENDIF.
562
      MODIFY SCREEN.
563
    ENDIF.
564
* Class Library
565
    IF screen-name = 'P_CLAS'
566
    OR screen-name = 'P_INTF'.
567
      IF p_clslib = abap_false.
568
        screen-input = 0.
569
      ELSE.
570
        screen-input = 1.
571
      ENDIF.
572
      MODIFY SCREEN.
573
    ENDIF.
574
* Dictionary Objects
575
    IF screen-name = 'P_DOMA'
576
    OR screen-name = 'P_DTEL'
577
    OR screen-name = 'P_ENQU'
578
    OR screen-name = 'P_SHLP'
579
    OR screen-name = 'P_STRUC'
580
    OR screen-name = 'P_TABL'
581
    OR screen-name = 'P_TTYP'
582
    OR screen-name = 'P_TYPE'
583
    OR screen-name = 'P_VIEW'.
584
      IF p_ddic = abap_false.
585
        screen-input = 0.
586
      ELSE.
587
        screen-input = 1.
588
      ENDIF.
589
      MODIFY SCREEN.
590
    ENDIF.
591
* Function Group
592
    IF screen-name = 'P_FUBA'
593
    OR screen-name = 'P_FUINCL'
594
    OR screen-name = 'P_SCR'.
595
      IF p_fugr = abap_false.
596
        screen-input = 0.
597
      ELSE.
598
        screen-input = 1.
599
      ENDIF.
600
      MODIFY SCREEN.
601
    ENDIF.
602
* database content
603
    IF screen-name = 'P_DB_CSV'
604
    OR screen-name = 'P_DB_XML'
605
    OR screen-name = 'P_DBCLSA'
606
    OR screen-name = 'P_DBCLSC'
607
    OR screen-name = 'P_DBCLSL'
608
    OR screen-name = 'P_DBCLSG'
609
    OR screen-name = 'P_DBCLSE'
610
    OR screen-name = 'P_DBCLSS'
611
    OR screen-name = 'P_DBCLSW'
612
    OR screen-name = 'P_DBMAX'
613
    OR screen-name = 'P_DBLIM-HIGH'
614
    OR screen-name = 'P_DBLIM-LOW'
615
    OR screen-name = '%_P_DBLIM_%_APP_%-VALU_PUSH'.
616
      IF p_dbcont = abap_false.
617
        screen-input = 0.
618
      ELSE.
619
        screen-input = 1.
620
      ENDIF.
621
      MODIFY SCREEN.
622
    ENDIF.
623
  ENDLOOP.
624
 
625
 
626
*-----------------------------------------------------------------------
627
*  Initialization
628
*-----------------------------------------------------------------------
629
INITIALIZATION.
630
* load...
631
  PERFORM csv_tools.
632
 
633
  DATA:
634
  lt_exclude TYPE TABLE OF sy-ucomm,
635
  ls_dyntxt TYPE smp_dyntxt,
636
  ls_fupararef TYPE fupararef,
637
  l_text TYPE string.
638
 
639
* Remove buttons
640
  APPEND 'DOCU' TO lt_exclude.
641
  CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
642
    EXPORTING
643
      p_status  = sy-pfkey
644
    TABLES
645
      p_exclude = lt_exclude
646
    EXCEPTIONS
647
      OTHERS    = 1.
648
 
649
* button "Select All"
650
  ls_dyntxt-icon_id = '@4B@'.
651
  ls_dyntxt-quickinfo = txt_select_all.
652
  sscrfields-functxt_01 = ls_dyntxt.
653
* button "Deselect All"
654
  ls_dyntxt-icon_id = '@4D@'.
655
  ls_dyntxt-quickinfo = txt_deselect_all.
656
  sscrfields-functxt_02 = ls_dyntxt.
657
* button "Information"
658
  ls_dyntxt-icon_id = '@0S@'.
659
  ls_dyntxt-quickinfo = txt_information.
660
  sscrfields-functxt_03 = ls_dyntxt.
661
 
662
  b_dbcls = '@0S@'.
663
 
664
  PERFORM decode_html_io USING txt_source_code      CHANGING t_add_sc.
665
  PERFORM decode_html_io USING txt_variants_of_reports
666
      CHANGING t_add_rv.
667
  PERFORM decode_html_io USING txt_bsp_applications CHANGING t_bspapp.
668
  PERFORM decode_html_io USING txt_bsp_library      CHANGING t_bsplib.
669
  PERFORM decode_html_io USING txt_bsp_extensions   CHANGING t_bsptag.
670
  PERFORM decode_html_io USING txt_selection        CHANGING t_choice.
671
  PERFORM decode_html_io USING txt_classes          CHANGING t_clas.
672
  PERFORM decode_html_io USING txt_class_library    CHANGING t_clslib.
673
  t_db_csv = gc_extension_csv.
674
  t_db_xml = gc_extension_xml.
675
  PERFORM decode_html_io USING txt_database_content CHANGING t_dbcont.
676
  PERFORM decode_html_io USING txt_format           CHANGING t_dbform.
677
  PERFORM decode_html_io USING txt_restrict         CHANGING t_dblim.
678
  PERFORM decode_html_io USING txt_max_no_of_lines  CHANGING t_dbmax.
679
  PERFORM decode_html_io USING txt_delivery_class   CHANGING t_dbcls.
680
  t_dbclsa = 'A'.
681
  t_dbclsc = 'C'.
682
  t_dbclsl = 'L'.
683
  t_dbclsg = 'G'.
684
  t_dbclse = 'E'.
685
  t_dbclss = 'S'.
686
  t_dbclsw = 'W'.
687
  PERFORM decode_html_io USING txt_dict_objs        CHANGING t_ddic.
688
  PERFORM decode_html_io USING txt_domains          CHANGING t_doma.
689
  PERFORM decode_html_io USING txt_data_elements    CHANGING t_dtel.
690
  PERFORM decode_html_io USING txt_objects          CHANGING t_elems.
691
  PERFORM decode_html_io USING txt_lock_objects     CHANGING t_enqu.
692
  PERFORM decode_html_io USING txt_empty_tab        CHANGING t_etab.
693
  PERFORM decode_html_io USING txt_disabled         CHANGING t_etab_d.
694
  PERFORM decode_html_io USING txt_hidden           CHANGING t_etab_h.
695
  PERFORM decode_html_io USING txt_display          CHANGING t_etab_n.
696
  PERFORM decode_html_io USING txt_function_modules CHANGING t_fuba.
697
  PERFORM decode_html_io USING txt_function_groups  CHANGING t_fugr.
698
  PERFORM decode_html_io USING txt_includes         CHANGING t_fuincl.
699
  PERFORM decode_html_io USING txt_includes         CHANGING t_incl.
700
  PERFORM decode_html_io USING txt_interfaces       CHANGING t_intf.
701
  PERFORM decode_html_io USING txt_message_classes  CHANGING t_msag.
702
  PERFORM decode_html_io USING txt_options          CHANGING t_opts.
703
  PERFORM decode_html_io USING txt_package          CHANGING t_pack.
704
  PERFORM decode_html_io USING txt_set_get_parameters
705
      CHANGING t_para.
706
  PERFORM decode_html_io USING txt_directory        CHANGING t_path.
707
  PERFORM decode_html_io USING txt_programs         CHANGING t_prog.
708
  PERFORM decode_html_io USING txt_screens          CHANGING t_scr.
709
  PERFORM decode_html_io USING txt_srch_helps       CHANGING t_shlp.
710
  PERFORM decode_html_io USING txt_structures       CHANGING t_struc.
711
  PERFORM decode_html_io USING txt_database_tables  CHANGING t_tabl.
712
  PERFORM decode_html_io USING txt_authorization_object___2
713
      CHANGING t_tobj.
714
  PERFORM decode_html_io USING txt_transactions     CHANGING t_tran.
715
  PERFORM decode_html_io USING txt_table_types      CHANGING t_ttyp.
716
  PERFORM decode_html_io USING txt_type_grps        CHANGING t_type.
717
  PERFORM decode_html_io USING txt_views            CHANGING t_view.
718
  PERFORM decode_html_io USING txt_pages_with_flow_logic
719
      CHANGING t_wbsp.
720
  PERFORM decode_html_io USING txt_controller       CHANGING t_wctrl.
721
  PERFORM decode_html_io USING txt_page_fragments   CHANGING t_wincl.
722
  PERFORM decode_html_io USING txt_mimes            CHANGING t_wmime.
723
  PERFORM decode_html_io USING txt_views            CHANGING t_wview.
724
  PERFORM decode_html_io USING txt_transformations  CHANGING t_xslt.
725
 
726
  SELECT SINGLE * FROM fupararef INTO ls_fupararef
727
    WHERE funcname = 'GUI_DOWNLOAD'
728
    AND r3state = 'A'
729
    AND parameter = 'SHOW_TRANSFER_STATUS'.
730
  IF sy-subrc = 0.
731
    g_has_download_status = abap_true.
732
  ENDIF.
733
 
734
 
735
*-----------------------------------------------------------------------
736
* start-of-selection
737
*-----------------------------------------------------------------------
738
START-OF-SELECTION.
739
  DATA:
740
  l_dir TYPE string,
741
  l_dir_check TYPE flag,
742
  l_dir_rc TYPE i,
743
  l_message TYPE string,
744
  l_txt TYPE string,
745
  lt_tadir TYPE STANDARD TABLE OF tadir,
746
  l_tabname TYPE tabname,
747
  ls_contflag TYPE st_contflag_range,
748
  lt_contflag TYPE it_contflag_range.
749
 
750
  FIELD-SYMBOLS:
751
  <ls_tadir> TYPE tadir.
752
 
753
  CLEAR:
754
  g_folder,
755
  g_pack.
756
 
757
  REFRESH:
758
  gt_tadir.
759
 
760
 
761
  IF p_devcl IS INITIAL.
762
    PERFORM decode_html_io
763
      USING txt_enter_a_package
764
      CHANGING l_txt.
765
    WRITE / l_txt.
766
  ELSEIF p_folder IS INITIAL.
767
    PERFORM decode_html_io
768
      USING txt_please_enter_a_root_dir
769
      CHANGING l_txt.
770
    WRITE / l_txt.
771
  ELSE.
772
*   block3
773
    g_add_elem_ddic       = p_ddic.
774
    g_add_elem_tabl       = p_tabl.
775
    g_add_elem_view       = p_view.
776
    g_add_elem_ttyp       = p_ttyp.
777
    g_add_elem_struc      = p_struc.
778
    g_add_elem_dtel       = p_dtel.
779
    g_add_elem_doma       = p_doma.
780
    g_add_elem_shlp       = p_shlp.
781
    g_add_elem_enqu       = p_enqu.
782
    g_add_elem_type       = p_type.
783
    g_add_elem_clslib     = p_clslib.
784
    g_add_elem_clas       = p_clas.
785
    g_add_elem_intf       = p_intf.
786
    g_add_elem_prog       = p_prog.
787
    g_add_elem_fugr       = p_fugr.
788
    g_add_elem_fuba       = p_fuba.
789
    g_add_elem_msag       = p_msag.
790
    g_add_elem_scr        = p_scr.
791
    g_add_elem_fuincl     = p_fuincl.
792
    g_add_elem_incl       = p_incl.
793
    g_add_elem_o2appl     = p_bspapp.
794
    g_add_elem_o2applbsp  = p_wbsp.
795
    g_add_elem_o2applctrl = p_wctrl.
796
    g_add_elem_o2applincl = p_wincl.
797
    g_add_elem_o2applmime = p_wmime.
798
    g_add_elem_o2applview = p_wview.
799
    g_add_elem_o2taglib   = p_bsptag.
800
    g_add_elem_para       = p_para.
801
    g_add_elem_tobj       = p_tobj.
802
    g_add_elem_tran       = p_tran.
803
    g_add_elem_xslt       = p_xslt.
804
*   block2
805
    g_add_sourcecode = p_add_sc.
806
    CASE abap_true.
807
      WHEN p_etab_n.
808
        g_empty_tab = gc_empty_tab_display.
809
      WHEN p_etab_d.
810
        g_empty_tab = gc_empty_tab_disable.
811
      WHEN p_etab_h.
812
        g_empty_tab = gc_empty_tab_hide.
813
    ENDCASE.
814
    g_add_db_content = p_dbcont.
815
    g_add_db_format_csv = p_db_csv.
816
    g_add_db_format_xml = p_db_xml.
817
    g_add_db_max_lines = p_dbmax.
818
    ls_contflag-sign = 'I'.
819
    ls_contflag-option = 'EQ'.
820
    IF p_dbclsa = abap_true.
821
      ls_contflag-low = 'A'.
822
      APPEND ls_contflag TO lt_contflag.
823
    ENDIF.
824
    IF p_dbclsc = abap_true.
825
      ls_contflag-low = 'C'.
826
      APPEND ls_contflag TO lt_contflag.
827
    ENDIF.
828
    IF p_dbclse = abap_true.
829
      ls_contflag-low = 'E'.
830
      APPEND ls_contflag TO lt_contflag.
831
    ENDIF.
832
    IF p_dbclsg = abap_true.
833
      ls_contflag-low = 'G'.
834
      APPEND ls_contflag TO lt_contflag.
835
    ENDIF.
836
    IF p_dbclsl = abap_true.
837
      ls_contflag-low = 'L'.
838
      APPEND ls_contflag TO lt_contflag.
839
    ENDIF.
840
    IF p_dbclss = abap_true.
841
      ls_contflag-low = 'S'.
842
      APPEND ls_contflag TO lt_contflag.
843
    ENDIF.
844
    IF p_dbclsw = abap_true.
845
      ls_contflag-low = 'W'.
846
      APPEND ls_contflag TO lt_contflag.
847
    ENDIF.
848
    IF g_add_db_content = abap_true
849
    AND NOT lt_contflag IS INITIAL.
850
      IF NOT p_dblim IS INITIAL.
851
        SELECT * FROM tadir INTO TABLE lt_tadir
852
            WHERE pgmid = 'R3TR'
853
            AND object = 'TABL'
854
            AND obj_name IN p_dblim
855
            AND devclass IN p_devcl.
856
      ELSE.
857
        SELECT * FROM tadir INTO TABLE lt_tadir
858
            WHERE pgmid = 'R3TR'
859
            AND object = 'TABL'
860
            AND devclass IN p_devcl.
861
      ENDIF.
862
      LOOP AT lt_tadir ASSIGNING <ls_tadir>.
863
        l_tabname = <ls_tadir>-obj_name.
864
        SELECT SINGLE tabname FROM dd02l INTO l_tabname
865
            WHERE as4local = 'A'
866
            AND tabclass = 'TRANSP'
867
            AND tabname = l_tabname
868
            AND contflag IN lt_contflag.
869
        IF sy-subrc = 0.
870
          APPEND <ls_tadir> TO gt_tadir.
871
        ENDIF.
872
      ENDLOOP.
873
      REFRESH lt_tadir.
874
      REFRESH lt_contflag.
875
    ENDIF.
876
    g_add_report_variants = p_add_rv.
877
*   block 1
878
    l_dir = p_folder.
879
    CALL METHOD cl_gui_frontend_services=>directory_exist
880
      EXPORTING
881
        directory = l_dir
882
      RECEIVING
883
        result    = l_dir_check
884
      EXCEPTIONS
885
        OTHERS    = 1.
886
    IF sy-subrc = 0 AND l_dir_check = abap_false.
887
      CALL METHOD cl_gui_frontend_services=>directory_create
888
        EXPORTING
889
          directory = l_dir
890
        CHANGING
891
          rc        = l_dir_rc
892
        EXCEPTIONS
893
          OTHERS    = 1.
894
      IF sy-subrc = 0 AND l_dir_rc = 0.
895
        g_folder = p_folder.
896
      ENDIF.
897
    ELSEIF sy-subrc = 0.
898
      g_folder = p_folder.
899
    ENDIF.
900
    IF g_folder IS INITIAL.
901
      CLEAR l_message.
902
      PERFORM get_message_text
903
        USING 'EA' '334' p_folder space space space
904
        CHANGING l_message.
905
      PERFORM decode_html_io
906
        USING txt_please_enter_a_valid_path
907
        CHANGING l_txt.
908
      WRITE: / l_message, / l_txt.
909
    ELSE.
910
      SELECT * FROM tdevc INTO TABLE gt_tdevc
911
          WHERE devclass IN p_devcl.
912
      IF sy-subrc <> 0.
913
        CLEAR l_message.
914
        DO.
915
          IF p_devcl-low NA '%'.
916
            EXIT.
917
          ENDIF.
918
          PERFORM replace_all
919
            USING '%' '*'
920
            CHANGING p_devcl-low.
921
        ENDDO.
922
        PERFORM get_message_text
923
          USING 'PACKAGE_BUILDER01' '411' p_devcl-low
924
            space space space
925
          CHANGING l_message.
926
        PERFORM decode_html_io
927
          USING txt_please_enter_a_root_dir
928
          CHANGING l_txt.
929
        WRITE: / l_message, / l_txt.
930
      ENDIF.
931
    ENDIF.
932
  ENDIF.
933
 
934
END-OF-SELECTION.
935
 
936
 
937
*-----------------------------------------------------------------------
938
  IF NOT gt_tdevc IS INITIAL AND NOT g_folder IS INITIAL.
939
    LOOP AT gt_tdevc INTO gs_tdevc.
940
      g_pack = gs_tdevc-devclass.
941
      PERFORM init.
942
 
943
      PERFORM select.
944
      PERFORM html_base.
945
 
946
      PERFORM optionals.
947
      PERFORM system.
948
    ENDLOOP.
949
 
950
    PERFORM decode_html_io
951
      USING txt_completed
952
      CHANGING l_txt.
953
    WRITE l_txt.
954
  ENDIF.
955
 
956
 
957
*-----------------------------------------------------------------------
958
* gui_info_dbcls
959
*-----------------------------------------------------------------------
960
FORM gui_info_dbcls.
961
 
962
  DATA:
963
  lt_type TYPE it_dom_value,
964
  ls_hinfo TYPE help_info,
965
*  ls_oheader type thead,
966
  ls_exclfun TYPE hlpfcode,
967
  lt_exclfun TYPE STANDARD TABLE OF hlpfcode,
968
  ls_hline TYPE tline,
969
  lt_hline TYPE STANDARD TABLE OF tline.
970
 
971
  FIELD-SYMBOLS:
972
  <ls_type> TYPE st_dom_value.
973
 
974
  PERFORM get_dom_value_texts
975
    USING 'CONTFLAG'
976
    CHANGING lt_type.
977
 
978
  ls_hline-tdformat = 'U1'.
979
  ls_hline-tdline = txt_delivery_class.
980
  APPEND ls_hline TO lt_hline.
981
 
982
  SORT lt_type BY value.
983
  LOOP AT lt_type ASSIGNING <ls_type>.
984
    ls_hline-tdformat = 'B1'.
985
    CONCATENATE '<ZK>' <ls_type>-value '</>:'
986
        INTO ls_hline-tdline.
987
    CONCATENATE ls_hline-tdline <ls_type>-text
988
        INTO ls_hline-tdline SEPARATED BY space.
989
    APPEND ls_hline TO lt_hline.
990
  ENDLOOP.
991
 
992
  CALL FUNCTION 'HELP_DOCULINES_SHOW'
993
    EXPORTING
994
*      cucol = 10
995
*      curow = 3
996
      help_infos = ls_hinfo
997
*      linenr = 1
998
*      not_help = abap_false
999
*      overlay_header = ls_oheader
1000
*      suppress_viewer = abap_false
1001
*      classic_sapscript = abap_false
1002
*    importing
1003
*      help_popup_cancel =
1004
    TABLES
1005
      excludefun = lt_exclfun
1006
      helplines = lt_hline.
1007
 
1008
ENDFORM.                    "gui_info_dbcls
1009
 
1010
 
1011
*-----------------------------------------------------------------------
1012
* gui_info_page
1013
*-----------------------------------------------------------------------
1014
FORM gui_info_page.
1015
 
1016
  DATA:
1017
  lt_type TYPE it_dom_value,
1018
  ls_hinfo TYPE help_info,
1019
*  ls_oheader type thead,
1020
  ls_exclfun TYPE hlpfcode,
1021
  lt_exclfun TYPE STANDARD TABLE OF hlpfcode,
1022
  ls_hline TYPE tline,
1023
  lt_hline TYPE STANDARD TABLE OF tline.
1024
 
1025
  ls_hline-tdformat = 'U1'.
1026
  ls_hline-tdline =
1027
      '&#x53;&#x6F;&#x66;&#x74;&#x43;&#x6F;&#x70;&#x79;'.
1028
  PERFORM decode_html CHANGING ls_hline-tdline.
1029
  APPEND ls_hline TO lt_hline.
1030
 
1031
  ls_hline-tdformat = 'AS'.
1032
  CONCATENATE '<ZK>' txt_version '</>:' INTO ls_hline-tdline.
1033
  CONCATENATE ls_hline-tdline gc_version
1034
      INTO ls_hline-tdline SEPARATED BY space.
1035
  PERFORM decode_html CHANGING ls_hline-tdline.
1036
  APPEND ls_hline TO lt_hline.
1037
 
1038
  ls_hline-tdformat = '*'.
1039
  CONCATENATE '&#xA9; 2008-' gc_version+0(4) ' globalBIT, LLC.'
1040
      INTO ls_hline-tdline.
1041
  PERFORM decode_html CHANGING ls_hline-tdline.
1042
  APPEND ls_hline TO lt_hline.
1043
 
1044
  ls_hline-tdformat = '/'.
1045
  ls_hline-tdline = txt_all_rights_reserved.
1046
  PERFORM decode_html CHANGING ls_hline-tdline.
1047
  APPEND ls_hline TO lt_hline.
1048
 
1049
  ls_hline-tdformat = 'AS'.
1050
  ls_hline-tdline = txt_product_under_gpl.
1051
  PERFORM replace_single
1052
    USING '#GPL#' 'GNU General Public License'
1053
    CHANGING ls_hline-tdline.
1054
  PERFORM decode_html CHANGING ls_hline-tdline.
1055
  APPEND ls_hline TO lt_hline.
1056
 
1057
  CALL FUNCTION 'HELP_DOCULINES_SHOW'
1058
    EXPORTING
1059
*      cucol = 10
1060
*      curow = 3
1061
      help_infos = ls_hinfo
1062
*      linenr = 1
1063
*      not_help = abap_false
1064
*      overlay_header = ls_oheader
1065
*      suppress_viewer = abap_false
1066
*      classic_sapscript = abap_false
1067
*    importing
1068
*      help_popup_cancel =
1069
    TABLES
1070
      excludefun = lt_exclfun
1071
      helplines = lt_hline.
1072
 
1073
ENDFORM.                    "gui_info_page