SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives...

126
Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes © 2005 SAP AG The SAP Developer Network: http://sdn.sap.com SDN Community Contribution Disclaimer & Liability Notice This document may discuss sample coding or other information that does not include SAP offic and therefore is not supported by SAP. Changes made based on this information are not suppor be overwritten during an upgrade. SAP will not be held liable for any damages caused by using or misusing the information, cod suggested in this document, and anyone using these methods does so at his/her own risk. SAP offers no guarantees and assumes no responsibility or liability of any type with respect this technical article or code sample, including any liability resulting from incompatibilit within this document and the materials and services offered by SAP. You agree that you will to hold, SAP responsible or liable with respect to the content of this document. 1

Transcript of SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives...

Page 1: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com

SDN Community Contribution

Disclaimer & Liability Notice

This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade.

SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document, and anyone using these methods does so at his/her own risk.

SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this document.

1

Page 2: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 2

Applies To:

Web Application Server, Business Server Pages and Global Classes in ABAP.

Summary

BSP applications are very critical and high value adding applications in most SAP implementation scenarios. Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase of a BSP application is thus very desirable. Currently we do not have a tool or utility program at the ABAP Workbench using which one can take a backup of a BSP application on the presentation server. Attempting to have a back up of any BSP application is a cumbersome process involving saving each piece of code and later uploading them independently that is prone to committing errors.

The code presented in this document addresses this requirement. It will save the entire source code of any BSP application to a local drive in to different folders in a well-organized manner. This code also works to save (download to local drives) any Global classes and their Methods.

The way this code functions in case of saving a BSP application and in case of saving Global classes is further explained below.

BSP Application

Application related information like it’s Name, Description etc is downloaded and saved into a .txt file.

Creates CONTROLLERS folder in which all the Controllers for that particular BSP application will be downloaded.

Creates a xxxx.do file for each Controller and saves the Controller information in it. The file can be viewed using Windows Notepad. It also downloads the Controller Class Methods, Attributes, Interfaces, Types etc and saves into a .txt file.

All the PAGEWITHFLOWLOGIC source code will be downloaded and saved into a .htm file.

Page 3: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 3

It downloads the PAGEFRAGMENTS into separate directory.

It downloads all the Views into separate directory, with the same extension that can be viewed using Windows Notepad.

Can download multiple BSP Applications at a time.

Global Classes

Downloads the Attributes, Methods, Method Parameters and Source Code for each Method of the Class and saves into a .txt file.

By: BOGA UMASHANKAR

Company: INTELLIGROUP ASIA PVT. LTD.

Date: 29th Nov 2005

Table of Contents

SDN Community Contribution ..........................................................................................................1

Disclaimer & Liability Notice.............................................................................................................1

Applies To:........................................................................................................................................2

Summary ..........................................................................................................................................2

Table of Contents .............................................................................................................................3

Page 4: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 4

Before Running.................................................................................................................................4

Screen Shots ................................................................................................................................5

Source Code ............................................................................................................................8

Author Bio.....................................................................................................................................126

Before Running

Few things to do before running the program

You need to create the following text elements to understand more clearly

Selection Texts

CHK_ATTR Attributes

CHK_BSP DownLoad BSP

CHK_CLS DownLoad Class

CHK_CONT Controllers

CHK_EVTS Events

CHK_FRAG Page Fragments

CHK_METH Methods

CHK_PGFL Page with Flow Logic

CHK_TYPE Types

Page 5: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com

CHK_VIEW Views

P_DIRCLS Folder Name

P_DIRNAM Folder Name

R_ALL All Components

R_BSPALL All Components

R_BSPPAR Partial Components

R_PAR Partial Components

S_BSPAPP BSP Application/s

S_CLSNAM Class Name/s

Screen Shots

5

Page 6: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com

6

Page 7: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com

Preview of the Folder Structure

7

Page 8: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 8

Source Code

*&---------------------------------------------------------------------*

*& Report Z_UMA_BSP_DOWNLOAD

*&

*&---------------------------------------------------------------------*

report z_uma_bsp_download message-id zmsgcls line-size 180.

***********************************************************************

* TABLES

**********************************************************************

Page 9: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 9

tables: seoclass,

o2appl,

o2pagcon.

***********************************************************************

* TYPE-POOLS

**********************************************************************

type-pools: seoo,seos,seor,seof,seot,seok,seop.

***********************************************************************

* TYPE DEFINITIONS

**********************************************************************

types: begin of t_class,

clsname type seoclass-clsname, "Class Name

descrip type seoclasstx-descript, "Class Description

end of t_class.

Page 10: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 10

types: begin of t_component,

clsname type seoclsname,

cmpname type seocmpname,

cmptype type seocmptype,

mtdtype type seomtdtype,

descrip type seodescr,

end of t_component.

types: begin of t_format,

cmpname(30),

decltyp(20),

exposur(15),

typtype(15),

type(110),

attval(110),

desc(100),

end of t_format.

Page 11: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 11

types: begin of t_format1,

pad(4),

sconame(30),

decl(10),

pass(20),

optn(10),

typtype(15),

type(100),

valu(100),

desc(100),

end of t_format1.

types: begin of t_format2,

pad(4),

sconame(30),

desc(100),

Page 12: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 12

end of t_format2.

types: begin of t_mtd_compo,

clsname type seoclsname,

cmpname type seocmpname,

sconame type seosconame,

scotype type seoscotype,

descrip type seodescr,

end of t_mtd_compo.

types: begin of t_bspappl,

applname type o2applname,

applclas type o2applclas,

startpage type o2pageext,

stateful type o2stateful,

descrip type o2descr,

end of t_bspappl.

Page 13: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 13

types: begin of t_pagdetl,

applname type o2applname,

pagekey type o2page,

pagename type o2pageext,

implclass type o2ctrcls,

pagetype type o2pagtyp,

controllerurl type o2pageext,

lifetime type o2lifetime,

state type o2pagstate,

is_error_page type o2errpag,

error_page type o2pageext,

browser_cache type o2bcache,

server_cache type o2scache,

author type cnam,

createdon type rdir_cdate,

changedby type unam,

Page 14: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 14

changedon type rdir_udate,

end of t_pagdetl.

types: begin of t_pagcon,

applname type o2applname,

pagekey type o2page,

objtype type o2objtype,

version type r3state,

end of t_pagcon.

types: begin of t_pagedata,

content type o2pageline_table,

ev_handler type o2pagevh_tabletype,

parameters type o2pagpar_tabletype,

typesource type rswsourcet,

xml_source type xstring,

otr_guids type bsp_guids,

Page 15: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 15

html_pool type string,

end of t_pagedata.

types : begin of t_scr_out,

appname type string,

component type string,

path type string,

status type string ,

etype type c,

end of t_scr_out.

***********************************************************************

* DATA DECLARATIONS

**********************************************************************

data: v_langu type sy-langu,

v_filename type string,

x_format type t_format,

Page 16: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 16

x_format1 type t_format1,

x_format2 type t_format2,

v_lines type i,

x_mtdkey type seocpdkey,

x_transport type trkey,

v_sourcename type programm,

v_repid type sy-repid,

v_dynnr type sy-dynnr,

v_uzeit type sy-uzeit,

v_filestr type string,

v_datum type sy-datum,

r_temp_all type c,

v_cnt_cls type string.

***********************************************************************

* INTERNAL TABLE DECLARTIONS

**********************************************************************

Page 17: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 17

data: it_class type standard table of t_class with header line,

it_compo type standard table of t_component with header line,

it_mtd_compo type standard table of t_mtd_compo with header line,

it_attributes type seoo_attributes_r,

it_methods type seoo_methods_r,

it_events type seoo_events_r,

it_types type seoo_types_r,

it_parameters type seos_parameters_r,

it_exceps type seos_exceptions_r,

it_implementings type seor_implementings_r,

it_redefinitions type seor_redefinitions_r,

it_friendships type seof_friendships_r,

it_typepusages type seot_typepusages_r,

it_clsdeferrds type seot_clsdeferrds_r,

it_intdeferrds type seot_intdeferrds_r,

it_explore_inheritance type seok_cls_typeinfos,

it_explore_implementings type seok_int_typeinfos,

Page 18: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 18

it_aliases type seoo_aliases_r,

it_bspappl type standard table of t_bspappl with header line,

it_pagdetl type standard table of t_pagdetl with header line,

it_pagcon type standard table of t_pagcon with header line,

it_source type t_pagedata,

it_scr_out type standard table of t_scr_out with header line,

it_data(400) occurs 0 with header line,

wa_source type line of o2pageline_table,

wa_pagecon_key type o2pconkey.

***********************************************************************

* CONSTANTS DECLARATIONS

**********************************************************************

constants: gc_cmp_attr type n value 0, "COMPONENT ATTRIBUTE

gc_cmp_meth type n value 1, "COMPONENT METHOD

gc_cmp_evnt type n value 2, "COMPONENT EVENT

Page 19: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 19

gc_cmp_type type n value 3, "COMPONENT TYPE

gc_mtd_meth type n value 0, "METHOD METHOD

gc_mtd_evnt type n value 1, "METHOD EVENT

gc_mtd_cons type n value 2, "METHOD CONSTRUCTOR

gc_mtd_dest type n value 3, "METHOD DESTRUCTOR

gc_mtd_getm type n value 4, "METHOD GET

gc_mtd_setm type n value 5, "METHOD SET

gc_sco_para type n value 0, "SCOPE PARAMETER

gc_sco_excp type n value 1, "SCOPE EXCEPTION

gc_exp_priv type n value 0, "EXPOSURE PRIVATE

gc_exp_prot type n value 1, "EXPOSURE PROTECTED

gc_exp_publ type n value 2, "EXPOSURE PUBLIC

gc_typ_like type n value 0, "TYPE LIKE

gc_typ_type type n value 1, "TYPE TYPE

gc_typ_otyp type n value 2, "TYPE OBJECT TYPE

gc_typ_tref type n value 3, "TYPE TYPE REF TO

gc_atr_inst type n value 0, "ATTRIBUTE INSTANCE

Page 20: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 20

gc_atr_stat type n value 1, "ATTRIBUTE STATIC

gc_atr_cnst type n value 2, "ATTRIBUTE CONSTANT

gc_par_impo type n value 0, "PARAMETER IMPORTING

gc_par_expo type n value 1, "PARAMETER EXPORTING

gc_par_chng type n value 2, "PARAMETER CHANGING

gc_par_retn type n value 3, "PARAMETER RETURNING

gc_pas_valu type n value 0, "PARAMETER PASS BY VALUE

gc_pas_refr type n value 1, "PARAMETER CALL BY REFERENCE

gc_yes type c value 'X',

gc_no type c value space,

gc_tab(8) type c value ' ',

gc_bsp_ctrl type o2pagtyp value 'C',

gc_bsp_pgfr type o2pagtyp value 'X',

gc_bsp_pgfl type o2pagtyp value space,

gc_bsp_view type o2pagtyp value 'V',

gc_lft_upgc type c value space,

gc_lft_requ type c value '1',

Page 21: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 21

gc_lft_sess type c value '2'.

***********************************************************************

* SELECTION SCREENS

**********************************************************************

*Selection Screen for the Options

selection-screen : begin of block b_main with frame title text-009.

parameters : chk_bsp as checkbox user-command ucom,

chk_cls as checkbox user-command ucom1.

selection-screen : end of block b_main.

*Selection Screen for the BSP Application

selection-screen : begin of block b_bsp1 with frame title text-005.

selection-screen : begin of block b_bsp2 with frame title text-006.

select-options : s_bspapp for o2appl-applname no intervals modif id bsp.

parameters : p_dirnam type rlgrap-filename default 'C:\' modif id bsp.

Page 22: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 22

selection-screen : end of block b_bsp2.

selection-screen : begin of block b_bsp3 with frame title text-007.

parameters : r_bspall radiobutton group rad1 user-command u1 modif id bsp default 'X',

r_bsppar radiobutton group rad1 modif id bsp.

selection-screen : begin of block b_bsp4 with frame title text-008.

parameters : chk_cont as checkbox modif id bs1,

chk_view as checkbox modif id bs1,

chk_pgfl as checkbox modif id bs1,

chk_frag as checkbox modif id bs1.

selection-screen : end of block b_bsp4.

selection-screen : end of block b_bsp3.

selection-screen : end of block b_bsp1.

*Selection Screen for Class Download

selection-screen : begin of block b1 with frame title text-001.

Page 23: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 23

selection-screen : begin of block b2 with frame title text-002.

select-options : s_clsnam for seoclass-clsname no intervals modif id cls.

parameters : p_dircls like rlgrap-filename default 'C:\' modif id cls.

selection-screen : end of block b2.

selection-screen : begin of block b3 with frame title text-003.

parameters : r_all radiobutton group rbsp user-command u2 modif id cls default 'X',

r_par radiobutton group rbsp modif id cls.

selection-screen : begin of block b4 with frame title text-004.

parameters : chk_attr as checkbox modif id cl1,

chk_meth as checkbox modif id cl1,

chk_evts as checkbox modif id cl1,

chk_type as checkbox modif id cl1.

selection-screen : end of block b4.

selection-screen : end of block b3.

selection-screen : end of block b1.

Page 24: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 24

***********************************************************************

* INTIALIZATION

**********************************************************************

initialization.

v_repid = sy-repid.

v_dynnr = sy-dynnr.

v_langu = sy-langu.

***********************************************************************

* AT SELECTION-SCREEN OUTPUT

**********************************************************************

at selection-screen output.

loop at screen.

if chk_bsp = 'X'.

Page 25: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 25

if screen-group1 = 'BSP' or screen-group1 = 'BS1'.

screen-active = 1.

endif.

else.

if screen-group1 = 'BSP' or screen-group1 = 'BS1' .

screen-active = 0.

endif.

endif.

if r_bspall = 'X'.

if screen-group1 = 'BS1'.

screen-active = 0.

endif.

else.

if screen-group1 = 'BS1'.

screen-active = 1.

endif.

Page 26: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 26

endif.

modify screen.

endloop.

loop at screen.

if chk_cls = 'X'.

if screen-group1 = 'CLS' or screen-group1 = 'cl1'.

screen-active = 1.

endif.

else.

if screen-group1 = 'CLS' or screen-group1 = 'cl1'.

screen-active = 0.

endif.

endif.

if r_all = 'X'.

Page 27: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 27

if screen-group1 = 'CL1'.

screen-active = 0.

endif.

else.

if screen-group1 = 'CL1'.

screen-active = 1.

endif.

endif.

modify screen.

endloop.

***********************************************************************

* AT SELECTION-SCREEN

**********************************************************************

at selection-screen.

Page 28: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 28

***********************************************************************

* START OF SELECTION

**********************************************************************

start-of-selection.

* If the user selected BSP check box then we need to do down load the BSP application

if chk_cls is initial and

chk_bsp is initial.

message i001 with 'Select any download option'(007).

exit.

endif.

if chk_bsp = 'X'.

refresh it_bspappl.

clear it_bspappl.

* check bsp application name is empty or not

Page 29: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 29

if s_bspapp is initial.

set pf-status'AA'.

message i002 with 'Enter BSP Application Names'(010).

exit.

endif.

* Check the directory name is entered or not

if p_dirnam is initial.

message i004 with 'Enter Directory name for BSP Download'(012).

exit.

else.

if r_bspall = 'X'.

clear : chk_cont,chk_view,chk_pgfl,chk_frag.

endif.

select a~applname

a~applclas

a~startpage

Page 30: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 30

a~stateful

b~text into table it_bspappl

from o2appl as a inner join o2applt as b

on a~applname = b~applname

where a~applname in s_bspapp and

a~version = 'A' and

b~langu = v_langu.

* Check we got any entries in the class internal table

clear v_lines.

describe table it_bspappl lines v_lines.

if v_lines > 0.

loop at it_bspappl.

perform save_bspappl_details using it_bspappl.

perform get_bspappl_compo using it_bspappl.

endloop.

else.

write:/ 'Enter Valid BSP Application Names'.

Page 31: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 31

endif.

endif.

endif.

* If the user selected class check box then we need to do down load the class

if chk_cls = 'X'.

refresh it_class.

clear it_class.

clear r_temp_all.

* Check Class name is empty or not

if s_clsnam is initial.

message i003 with 'Enter Class Names'(011).

exit.

endif.

* Check the directory name is entered or not

if p_dircls is initial.

message i000 with 'Enter Directory name for Class Download'(008).

Page 32: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 32

exit.

else.

* if user selected All Components in Class Down Load

* then clear all the check box variables

move r_all to r_temp_all.

if r_temp_all = 'X'.

clear: chk_attr,chk_meth,chk_evts,chk_type.

endif.

* get the class name and Class Description from the table SEOCLASS

* for all the classes which user entered in selection screen based on

* the system language

select a~clsname b~descript into table it_class

from seoclass as a left outer join seoclasstx as b

on a~clsname = b~clsname and

b~langu = v_langu

where a~clsname in s_clsnam.

* Check we got any entries in the class internal table

Page 33: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 33

clear v_lines.

describe table it_class lines v_lines.

* if you got any enties in class interbnal table then we need to

* get the other details about that class

if v_lines > 0.

perform add_slash_4dir changing p_dircls.

perform check_dir_exists using p_dircls.

loop at it_class.

perform get_class_details using it_class-clsname 'X' ' '.

endloop.

else.

write:/ 'PLEASE ENTER VALID CLASS NAMES'.

endif.

endif.

endif.

***********************************************************************

Page 34: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 34

* END OF SELECTION

**********************************************************************

end-of-selection.

write: /1(25) 'Application Name',

26(25) 'Component Name',

52(50) 'Download Path',

102(50) 'ErrorSuccess Message'.

write:/ sy-uline.

loop at it_scr_out.

write:/1(25) it_scr_out-appname,

26(25) it_scr_out-component,

52(50) it_scr_out-path,

102(50) it_scr_out-status.

endloop.

*&---------------------------------------------------------------------*

Page 35: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 35

*& Form GET_CLASS_DETAILS

*&---------------------------------------------------------------------*

* used to get the other details of the class

*----------------------------------------------------------------------*

form get_class_details using p_clsname p_check p_filename.

* Data Declarations

data: x_class type vseoclass,

x_inheritance type vseoextend,

x_seoclskey type seoclskey,

x_attributes type line of seoo_attributes_r,

x_methods type line of seoo_methods_r,

x_events type line of seoo_events_r,

x_types type line of seoo_types_r,

x_parameters type line of seos_parameters_r,

x_exceps type line of seos_exceptions_r,

x_implementings type line of seor_implementings_r,

Page 36: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 36

x_redefinitions type line of seor_redefinitions_r,

x_friendships type line of seof_friendships_r,

x_typepusages type line of seot_typepusages_r,

x_clsdeferrds type line of seot_clsdeferrds_r,

x_intdeferrds type line of seot_intdeferrds_r,

x_explore_inheritance type line of seok_cls_typeinfos,

x_explore_implementings type line of seok_int_typeinfos,

x_aliases type line of seoo_aliases_r.

* REFRESH & CLEAR ALL THE VARIABLES.

refresh: it_attributes,it_methods,it_events,it_types,it_parameters,

it_exceps,it_implementings,it_redefinitions,it_friendships,

it_typepusages,it_clsdeferrds,it_intdeferrds,it_data,

it_explore_inheritance,it_explore_implementings,it_aliases.

clear : it_attributes,it_methods,it_events,it_types,it_parameters,

it_exceps,it_implementings,it_redefinitions,it_friendships,

Page 37: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 37

it_typepusages,it_clsdeferrds,it_intdeferrds,it_data,

it_explore_inheritance,it_explore_implementings,it_aliases.

clear : x_attributes,x_methods,x_events,x_types,x_parameters,

x_exceps,x_implementings,x_redefinitions,x_friendships,

x_typepusages,x_clsdeferrds,x_intdeferrds,

x_explore_inheritance,x_explore_implementings,x_aliases,

x_class,x_inheritance,x_seoclskey.

* SET THE CLASS NAME TO THE STRUCTURE

x_seoclskey-clsname = p_clsname.

call function 'SEO_CLASS_TYPEINFO_GET'

exporting

clskey = x_seoclskey

importing

class = x_class

attributes = it_attributes

Page 38: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 38

methods = it_methods

events = it_events

types = it_types

parameters = it_parameters

exceps = it_exceps

implementings = it_implementings

inheritance = x_inheritance

redefinitions = it_redefinitions

friendships = it_friendships

typepusages = it_typepusages

clsdeferrds = it_clsdeferrds

intdeferrds = it_intdeferrds

explore_inheritance = it_explore_inheritance

explore_implementings = it_explore_implementings

aliases = it_aliases

exceptions

not_existing = 1

Page 39: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 39

is_interface = 2

model_only = 3

others = 4.

if sy-subrc <> 0.

it_scr_out-component = p_clsname.

it_scr_out-status = 'ERROR'.

it_scr_out-etype = 'E'.

append it_scr_out.

clear it_scr_out.

else.

* DOWNLOAD CLASS INFORMATION

perform download_class_info using x_class.

* DOWNLOAD INHERITANCE INFORMATION

perform download_class_inht using x_inheritance.

* DOWNLOAD CLASS IMPLEMENTATION

perform download_class_otherdetails using p_clsname seop_ext_class_locals_imp.

* DOWNLOAD CLASS TYPES

Page 40: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 40

perform download_class_otherdetails using p_clsname seop_ext_class_locals_def.

* DOWNLOAD CLASS MACROS

perform download_class_otherdetails using p_clsname seop_ext_class_macros.

* DOWNLOAD CLASS ATTRIBUTES

if r_temp_all = 'X' or chk_attr = 'X'.

perform download_class_attr tables it_attributes.

endif.

* DOWNLOAD CLASS METHODS

if r_temp_all = 'X' or chk_meth = 'X'.

perform download_class_meth tables it_methods

it_parameters

it_exceps.

endif.

* Interface Implementations.

perform download_class_implementation tables it_explore_implementings.

* DOWNLOAD CLASS EVENTS.

if r_temp_all = 'X' or chk_evts = 'X'.

Page 41: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 41

perform download_class_evts.

endif.

* DOWNLOAD CLASS TYPE GROUPS.

perform download_class_type_groups.

* DOWNLOAD INTERNAL TYPES

if r_temp_all = 'X' or chk_type = 'X'.

perform download_class_internal_types.

endif.

if p_check = 'X'.

* DOWNLOAD CLASS DEFINITION

perform download_classdef using p_filename.

else.

* while downloading the bsp we need to pass the directory and

* class name to the function module so the file will create

perform download_class using p_check.

endif.

endif.

Page 42: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 42

endform. " GET_CLASS_DETAILS

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASS_INFO

*&---------------------------------------------------------------------*

* used to download the class information

*----------------------------------------------------------------------*

form download_class_info using p_x_class structure vseoclass.

it_data = p_x_class-clsname.

append it_data.

clear it_data.

it_data = p_x_class-descript.

append it_data.

clear it_data.

endform. " DOWNLOAD_CLASS_INFO

Page 43: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 43

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASS_INHT

*&---------------------------------------------------------------------*

* used to download the inheritance

*----------------------------------------------------------------------*

form download_class_inht using p_x_inheritance structure vseoextend.

if not p_x_inheritance-refclsname is initial.

concatenate 'INHERITED FROM: ' p_x_inheritance-refclsname into it_data.

append it_data.

clear it_data.

endif.

endform. " DOWNLOAD_CLASS_INHT

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASS_ATTR

Page 44: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 44

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

form download_class_attr tables p_it_attr type seoo_attributes_r.

data: x_attributes type line of seoo_attributes_r.

it_data = '*********************************************************'.

append it_data.

clear it_data.

it_data = 'ATTRIBUTES'.

append it_data.

clear it_data.

it_data = '-----------'.

append it_data.

clear it_data.

Page 45: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 45

loop at p_it_attr into x_attributes.

clear x_format.

* ATTRIBUTE NAME

x_format-cmpname = x_attributes-cmpname.

* ATTRIBUTE DECLARATION LEVEL

case x_attributes-attdecltyp.

when gc_atr_inst.

x_format-decltyp = 'INSTANCE ATTRIBUTE'.

when gc_atr_stat.

x_format-decltyp = 'STATIC ATTRIBUTE'.

when gc_atr_cnst.

x_format-decltyp = 'CONSTANT ATTRIBUTE'.

endcase.

* ATTRIBUTE EXPOSURE

case x_attributes-exposure.

when gc_exp_priv.

Page 46: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 46

x_format-exposur = 'PRIVATE'.

when gc_exp_publ.

x_format-exposur = 'PUBLIC'.

when gc_exp_prot.

x_format-exposur = 'PROTECTED'.

endcase.

* ATTRIBUTE TYPTYPE

case x_attributes-typtype.

when gc_typ_like.

x_format-typtype = 'LIKE'.

when gc_typ_type.

x_format-typtype = 'TYPE'.

when gc_typ_otyp.

x_format-typtype = 'OBJECT TYPE'.

when gc_typ_tref.

x_format-typtype = 'TYPE REF TO'.

endcase.

Page 47: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 47

* ATTRIBUTE REFERNCE TYPE

x_format-type = x_attributes-type.

* ATTRIBUTE INITIAL VALUE

x_format-attval = x_attributes-attvalue.

* ATTRIBUTE DESCRIPTION

x_format-desc = x_attributes-descript.

move x_format to it_data.

append it_data.

clear it_data.

endloop.

it_data = '*********************************************************'.

append it_data.

clear it_data.

endform. " DOWNLOAD_CLASS_ATTR

*&---------------------------------------------------------------------*

Page 48: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 48

*& Form DOWNLOAD_CLASS_METH

*&---------------------------------------------------------------------*

* used to download the methods of the class

*----------------------------------------------------------------------*

form download_class_meth tables p_it_meth type seoo_methods_r

p_it_parm type seos_parameters_r

p_it_excp type seos_exceptions_r.

data: x_methods type line of seoo_methods_r,

x_params type line of seos_parameters_r,

x_exceps type line of seos_exceptions_r.

clear: x_methods,x_params,x_exceps.

it_data = 'METHODS'.

append it_data.

clear it_data.

Page 49: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 49

it_data = '-------'.

append it_data.

clear it_data.

loop at p_it_meth into x_methods.

clear: x_format.

* METHOD NAME

x_format-cmpname = x_methods-cmpname.

* METHOD DECLARATION TYPE

case x_methods-mtddecltyp.

when gc_atr_inst.

x_format-decltyp = 'INSTANCE METHOD'.

when gc_atr_stat.

x_format-decltyp = 'STATIC METHOD'.

endcase.

* METHOD EXPOSURE

Page 50: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 50

case x_methods-exposure.

when gc_exp_priv.

x_format-exposur = 'PRIVATE'.

when gc_exp_publ.

x_format-exposur = 'PUBLIC'.

when gc_exp_prot.

x_format-exposur = 'PROTECTED'.

endcase.

* METHOD DESCRIPTION.

x_format-desc = x_methods-descript.

move x_format to it_data.

append it_data.

clear it_data.

* DOWNLOAD METHOD PARAMETERS

perform download_method_params tables it_parameters

using x_methods-cmpname.

* DOWNLOAD METHOD EXCEPTIONS

Page 51: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 51

perform download_method_exceps tables it_exceps

using x_methods-cmpname.

* DOWNLOAD METHOD SOURCE

perform download_method_source using it_class-clsname

x_methods-cmpname.

endloop.

* DOWNLOAD RE-DEFINED METHODS IF ANY

perform download_redef_methods.

endform. " DOWNLOAD_CLASS_METH

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_METHOD_PARAMS

*&---------------------------------------------------------------------*

* used to download the method parameters

*----------------------------------------------------------------------*

Page 52: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 52

form download_method_params tables p_it_params type seos_parameters_r

using p_cmpname.

data: x_parameters type line of seos_parameters_r.

clear: x_parameters.

it_data = '^^^^PARAMETERS'.

append it_data.

clear it_data.

loop at p_it_params into x_parameters where cmpname = p_cmpname.

clear: x_format1.

* METHOD PARAMETER NAME

x_format1-sconame = x_parameters-sconame.

* METHOD PARAMETER DECLARATION TYPE

case x_parameters-pardecltyp.

when gc_par_impo.

x_format1-decl = 'IMPORTING'.

when gc_par_expo.

Page 53: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 53

x_format1-decl = 'EXPORTING'.

when gc_par_chng.

x_format1-decl = 'CHANGING'.

when gc_par_retn.

x_format1-decl = 'RETURNING'.

endcase.

* METHOD PARAMETERS PASSING TYOE

case x_parameters-parpasstyp.

when gc_pas_valu.

x_format1-pass = 'PASS BY VALUE'.

when gc_pas_refr.

x_format1-pass = 'PASS BY REFERENCE'.

endcase.

* METHOD PARAMETER TYPTYPE

case x_parameters-typtype.

Page 54: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 54

when gc_typ_like.

x_format1-typtype = 'LIKE'.

when gc_typ_type.

x_format1-typtype = 'TYPE'.

when gc_typ_otyp.

x_format1-typtype = 'OBJECT TYPE'.

when gc_typ_tref.

x_format1-typtype = 'TYPE REF TO'.

endcase.

* METHOD PARAMETER OPTIONAL/MANDATORY

case x_parameters-paroptionl.

when gc_yes.

x_format1-optn = 'OPTIONAL'.

when gc_no.

x_format1-optn = 'MANDATORY'.

endcase.

Page 55: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 55

* METHOD PARAMETER TYPE

x_format1-type = x_parameters-type.

* METHOD PARAMETER INITIAL VALUE

x_format1-valu = x_parameters-parvalue.

* METHOD PARAMETER DESCRIPTION

x_format1-desc = x_parameters-descript.

move x_format1 to it_data.

append it_data.

clear it_data.

endloop.

endform. " DOWNLOAD_METHOD_PARAMS

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_METHOD_EXCEPS

*&---------------------------------------------------------------------*

* used to download the Exceptions of methods

Page 56: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 56

*----------------------------------------------------------------------*

form download_method_exceps tables p_it_exceps type seos_exceptions_r

using p_cmpname.

data: x_exceps type line of seos_exceptions_r.

clear: x_exceps.

it_data = '^^^^EXCEPTION'.

append it_data.

loop at p_it_exceps into x_exceps where cmpname = p_cmpname.

clear x_format2.

* METHOD EXCEPTION NAME

x_format2-sconame = x_exceps-sconame.

* METHOD EXCEPTION DESCRIPTION

x_format2-desc = x_exceps-descript.

move x_format2 to it_data.

append it_data.

clear it_data.

endloop.

Page 57: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 57

endform. " DOWNLOAD_METHOD_EXCEPS

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_METHOD_SOURCE

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

form download_method_source using p_clsname

p_cmpname.

data : x_mtdkey type seocpdkey,

x_source type line of seop_source,

it_source type seop_source.

refresh: it_source.

clear : it_source,x_source,x_mtdkey.

Page 58: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 58

x_mtdkey-clsname = p_clsname.

x_mtdkey-cpdname = p_cmpname.

call function 'SEO_METHOD_GET_SOURCE'

exporting

mtdkey = x_mtdkey

importing

source = it_source

exceptions

_internal_method_not_existing = 1

_internal_class_not_existing = 2

others = 3.

if sy-subrc <> 0.

it_scr_out-component = p_cmpname.

it_scr_out-status = ' FAILED '.

it_scr_out-etype = 'E'.

append it_scr_out.

Page 59: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 59

clear it_scr_out.

else.

it_data = '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.

append it_data.

clear it_data.

loop at it_source into x_source.

move x_source to it_data.

append it_data.

clear it_data.

endloop.

it_data = '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.

append it_data.

clear it_data.

endif.

Page 60: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 60

endform. " DOWNLOAD_METHOD_SOURCE

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_REDEF_METHODS

*&---------------------------------------------------------------------*

* used to download any redefined methods if any

*----------------------------------------------------------------------*

form download_redef_methods .

data: x_redef type line of seor_redefinitions_r.

loop at it_redefinitions into x_redef.

* DOWNLOAD METHOD SOURCE

perform download_method_source using it_class-clsname

x_redef-mtdname.

endloop.

endform. " DOWNLOAD_REDEF_METHODS

Page 61: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 61

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASS_EVTS

*&---------------------------------------------------------------------*

* used to download the class events types

*----------------------------------------------------------------------*

form download_class_evts .

data: x_events type line of seoo_events_r.

it_data = 'EVENTS'.

append it_data.

clear it_data.

it_data = '-------'.

append it_data.

clear it_data.

Page 62: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 62

loop at it_events into x_events.

clear: x_format.

* EVENT NAME

x_format-cmpname = x_events-cmpname.

* METHOD DECLARATION TYPE

case x_events-evtdecltyp.

when gc_atr_inst.

x_format-decltyp = 'INSTANCE EVENT'.

when gc_atr_stat.

x_format-decltyp = 'STATIC EVENT'.

endcase.

* EVENT EXPSOURE.

case x_events-exposure.

when gc_exp_priv.

x_format-exposur = 'PRIVATE'.

when gc_exp_publ.

x_format-exposur = 'PUBLIC'.

Page 63: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 63

when gc_exp_prot.

x_format-exposur = 'PROTECTED'.

endcase.

* EVENT DESCRIPTION

x_format-desc = x_events-descript.

append x_format to it_data.

clear it_data.

endloop.

endform. " DOWNLOAD_CLASS_EVTS

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASS_TYPE_GROUPS

*&---------------------------------------------------------------------*

* used to download the type groups

*----------------------------------------------------------------------*

form download_class_type_groups .

Page 64: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 64

data: x_typep type line of seot_typepusages_r.

it_data = '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.

append it_data.

clear it_data.

it_data = 'TYPE-GROUPS'.

append it_data.

clear it_data.

it_data = '------------'.

append it_data.

clear it_data.

loop at it_typepusages into x_typep.

Page 65: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 65

it_data = x_typep-typegroup.

append it_data.

clear it_data.

endloop.

endform. " DOWNLOAD_CLASS_TYPE_GROUPS

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASS_INTERNAL_TYPES

*&---------------------------------------------------------------------*

* used to download the class type internal type definitions

*----------------------------------------------------------------------*

form download_class_internal_types .

data: x_types type line of seoo_types_r.

Page 66: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 66

it_data = '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.

append it_data.

clear it_data.

it_data = 'INTERNAL TYPES'.

append it_data.

clear it_data.

it_data = '------------'.

append it_data.

clear it_data.

loop at it_types into x_types.

clear: x_format.

* TYPE NAME

x_format-cmpname = x_types-cmpname.

Page 67: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 67

* TYPE EXPSOURE.

case x_types-exposure.

when gc_exp_priv.

x_format-exposur = 'PRIVATE'.

when gc_exp_publ.

x_format-exposur = 'PUBLIC'.

when gc_exp_prot.

x_format-exposur = 'PROTECTED'.

endcase.

* TYPTYPE

case x_types-typtype.

when gc_typ_like.

x_format-typtype = 'LIKE'.

when gc_typ_type.

x_format-typtype = 'TYPE'.

when gc_typ_otyp.

x_format-typtype = 'OBJECT TYPE'.

Page 68: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 68

when gc_typ_tref.

x_format-typtype = 'TYPE REF TO'.

endcase.

* TYPE

x_format-type = x_types-type.

* DESCRIPTION

x_format-desc = x_types-descript.

append x_format to it_data.

clear it_data.

endloop.

endform. " DOWNLOAD_CLASS_INTERNAL_TYPES

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASSDEF

*&---------------------------------------------------------------------*

* used to download total class to the text file

*----------------------------------------------------------------------*

Page 69: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 69

form download_classdef using p_p_filename.

data: lv_filename type string.

if p_p_filename = ' '.

v_filename = it_class-clsname.

concatenate p_dircls v_filename '.txt' into lv_filename.

else.

move p_p_filename to lv_filename.

concatenate lv_filename '.txt' into lv_filename.

endif.

call function 'GUI_DOWNLOAD'

exporting

filename = lv_filename

tables

data_tab = it_data

exceptions

Page 70: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 70

file_write_error = 1

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

Page 71: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 71

dp_timeout = 18

file_not_found = 19

dataprovider_exception = 20

control_flush_error = 21

others = 22.

if sy-subrc <> 0.

it_scr_out-component = it_class-clsname.

it_scr_out-path = lv_filename.

it_scr_out-status = 'FAILED'.

it_scr_out-etype = 'E'.

append it_scr_out.

clear it_scr_out.

else.

it_scr_out-component = it_class-clsname.

it_scr_out-path = lv_filename.

it_scr_out-status = 'SUCCESSFULL'.

it_scr_out-etype = 'S'.

Page 72: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 72

append it_scr_out.

clear it_scr_out.

endif.

endform. " DOWNLOAD_CLASSDEF

*&---------------------------------------------------------------------*

*& Form SAVE_BSPAPPL_DETAILS

*&---------------------------------------------------------------------*

* Used to Save the Bsp Application Details

*----------------------------------------------------------------------*

form save_bspappl_details using p_it_bspappl type t_bspappl.

data: lv_filestr type string,

lv_filenam type rlgrap-filename.

refresh it_data.

clear: it_data,lv_filestr.

concatenate 'APPLICATION NAME: ' p_it_bspappl-applname into it_data.

Page 73: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 73

append it_data.

concatenate 'DESCRIPTION: ' p_it_bspappl-descrip into it_data.

append it_data.

concatenate 'APPLICATION CLASS: ' p_it_bspappl-applclas into it_data.

append it_data.

concatenate 'START PAGE: ' p_it_bspappl-startpage into it_data.

append it_data.

if p_it_bspappl-stateful is initial.

it_data = 'STATELESS APPLICATION'.

else.

it_data = 'STATEFUL APPLICATION'.

endif.

append it_data.

perform add_slash_4dir changing p_dirnam.

concatenate p_dirnam it_bspappl-applname '\' into lv_filenam.

move lv_filenam to lv_filestr.

Page 74: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 74

call function 'GUI_CREATE_DIRECTORY'

exporting

dirname = lv_filenam

exceptions

failed = 1

others = 2.

move lv_filestr to v_filestr.

concatenate lv_filestr it_bspappl-applname '.TXT' into lv_filestr.

call function 'GUI_DOWNLOAD'

exporting

filename = lv_filestr

tables

data_tab = it_data

exceptions

file_write_error = 1

Page 75: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 75

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

dp_timeout = 18

Page 76: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 76

file_not_found = 19

dataprovider_exception = 20

control_flush_error = 21

others = 22.

if sy-subrc <> 0.

it_scr_out-appname = p_it_bspappl-applname.

it_scr_out-component = 'Application Details'.

it_scr_out-path = lv_filestr.

it_scr_out-status = 'FAILED'.

it_scr_out-etype = 'E'.

append it_scr_out.

clear it_scr_out.

else.

it_scr_out-appname = p_it_bspappl-applname.

it_scr_out-component = 'Application Details'.

it_scr_out-path = lv_filestr.

Page 77: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 77

it_scr_out-status = 'SUCCESSFULL'.

it_scr_out-etype = 'S'.

append it_scr_out.

clear it_scr_out.

endif.

endform. " SAVE_BSPAPPL_DETAILS

*&---------------------------------------------------------------------*

*& Form ADD_SLASH_4DIR

*&---------------------------------------------------------------------*

* used to add '/' after the direcory if necessary

*----------------------------------------------------------------------*

form add_slash_4dir changing p_dirnamcls.

data: lv_tempvar(1),

lv_length type i.

lv_length = strlen( p_dirnamcls ).

Page 78: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 78

lv_length = lv_length - 1.

lv_tempvar = p_dirnam+lv_length(1).

if lv_tempvar <> '\'.

concatenate p_dirnamcls '\' into p_dirnamcls.

endif.

endform. " ADD_SLASH_4DIR

*&---------------------------------------------------------------------*

*& Form CHECK_DIR_EXISTS

*&---------------------------------------------------------------------*

* Check the Directory Exists or Not

*----------------------------------------------------------------------*

form check_dir_exists using p_dirnamcls.

data: lv_filename type rlgrap-filename,

lv_filestr type string,

it_data(10) occurs 0 with header line.

Page 79: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 79

clear: lv_filename.

v_datum = sy-datum.

v_uzeit = sy-uzeit.

concatenate p_dirnamcls 'TESTFIL_09087' '.TXT' into lv_filename.

move lv_filename to lv_filestr.

call function 'GUI_DOWNLOAD'

exporting

filename = lv_filestr

tables

data_tab = it_data

exceptions

file_write_error = 1

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

Page 80: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 80

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

dp_timeout = 18

file_not_found = 19

dataprovider_exception = 20

control_flush_error = 21

others = 22.

Page 81: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 81

if sy-subrc <> 0.

message e901(zt) with 'INVALID DIRECTORY'.

endif.

endform. " CHECK_DIR_EXISTS

*&---------------------------------------------------------------------*

*& Form GET_BSPAPPL_COMPO

*&---------------------------------------------------------------------*

* To get the BSP Applciation Component Details

*----------------------------------------------------------------------*

form get_bspappl_compo using p_it_bspappl type t_bspappl.

data: lv_filestr type string,

lv_tempstr type string,

lv_fn type rlgrap-filename.

Page 82: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 82

refresh it_pagdetl.

clear it_pagdetl.

select applname

pagekey

pagename

implclass

pagetype

controllerurl

lifetime

state

is_error_page

error_page

browser_cache

server_cache

author

createdon

Page 83: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 83

changedby

changedon

into table it_pagdetl

from o2pagdir

where applname = p_it_bspappl-applname.

* Downloading the application Class Details

if not p_it_bspappl-applclas is initial.

clear : lv_filestr.

concatenate v_filestr 'APPLICATIONCLASS' '\' into lv_filestr.

it_scr_out-appname = p_it_bspappl-applname.

perform create_directory using lv_filestr.

it_scr_out-appname = p_it_bspappl-applname.

perform download_class_details using lv_filestr p_it_bspappl-applclas.

endif.

if r_bspall = 'X' or chk_cont = 'X'.

Page 84: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 84

clear : lv_filestr.

concatenate v_filestr 'CONTROLLERS' '\' into lv_filestr.

perform create_directory using lv_filestr.

* DOWNLOADING THE CONTROLLER DETAILS

loop at it_pagdetl where pagetype = gc_bsp_ctrl.

concatenate lv_filestr it_pagdetl-pagename '\' into lv_tempstr.

perform create_directory using lv_tempstr.

clear: lv_fn.

move lv_tempstr to lv_fn.

it_scr_out-appname = p_it_bspappl-applname.

perform download_controller_details using lv_tempstr .

it_scr_out-appname = p_it_bspappl-applname.

perform download_class_details using lv_tempstr it_pagdetl-implclass.

endloop.

endif.

if r_bspall = 'X' or chk_view = 'X'.

Page 85: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 85

clear : lv_filestr.

concatenate v_filestr 'VIEWS' '\' into lv_filestr.

perform create_directory using lv_filestr.

* DOWNLOADING THE VIEW DETAILS

loop at it_pagdetl where pagetype = gc_bsp_view.

concatenate lv_filestr it_pagdetl-pagename '\' into lv_tempstr.

perform create_directory using lv_tempstr.

it_scr_out-appname = p_it_bspappl-applname.

perform download_html_event_details using it_pagdetl-applname

it_pagdetl-pagekey

lv_tempstr.

endloop.

endif.

if r_bspall = 'X' or chk_frag = 'X'.

clear : lv_filestr.

concatenate v_filestr 'PAGEFRAGMENTS' '\' into lv_filestr.

Page 86: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 86

perform create_directory using lv_filestr.

* DOWNLOADING THE PAGE FRAGMENTS DETAILS.

loop at it_pagdetl where pagetype = gc_bsp_pgfr.

concatenate lv_filestr it_pagdetl-pagename '\' into lv_tempstr.

perform create_directory using lv_tempstr.

it_scr_out-appname = p_it_bspappl-applname.

perform download_html_event_details using it_pagdetl-applname

it_pagdetl-pagekey

lv_tempstr.

endloop.

endif.

if r_bspall = 'X' or chk_pgfl = 'X'.

clear : lv_filestr.

concatenate v_filestr 'PAGEFLOWLOGIC' '\' into lv_filestr.

perform create_directory using lv_filestr.

Page 87: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 87

* DOWNLOADING THE PAGES WITH FLOW LOGIC DETAILS.

loop at it_pagdetl where pagetype = gc_bsp_pgfl.

concatenate lv_filestr it_pagdetl-pagename '\' into lv_tempstr.

perform create_directory using lv_tempstr.

it_scr_out-appname = p_it_bspappl-applname.

perform download_html_event_details using it_pagdetl-applname

it_pagdetl-pagekey

lv_tempstr.

endloop.

endif.

endform. " GET_BSPAPPL_COMPO

*&---------------------------------------------------------------------*

*& Form CREATE_DIRECTORY

*&---------------------------------------------------------------------*

* To Create Directory

Page 88: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 88

*----------------------------------------------------------------------*

form create_directory using p_lv_filestr.

data: lv_filename type rlgrap-filename.

move p_lv_filestr to lv_filename.

call function 'GUI_CREATE_DIRECTORY'

exporting

dirname = lv_filename

exceptions

failed = 1

others = 2.

endform. " CREATE_DIRECTORY

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CONTROLLER_DETAILS

*&---------------------------------------------------------------------*

* Controller Details

Page 89: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 89

*----------------------------------------------------------------------*

form download_controller_details using p_lv_tempstr .

data: lv_temp type n.

refresh it_data.

clear : it_data,

v_cnt_cls.

concatenate 'CONTROLLER_NAME: ' it_pagdetl-pagekey into it_data.

append it_data.

it_data = space.

append it_data.

concatenate 'ERROR HANDLING' ':' into it_data.

append it_data.

if it_pagdetl-is_error_page is initial.

concatenate 'IS ERROR PAGE? ' 'NO' into it_data.

else.

Page 90: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 90

concatenate 'IS ERROR PAGE? ' 'YES' into it_data.

endif.

append it_data.

concatenate 'ERROR PAGE: ' it_pagdetl-error_page into it_data.

append it_data.

concatenate 'CONTROLLER CLASS : ' it_pagdetl-implclass into it_data.

append it_data.

it_data = space.

append it_data.

it_data = 'STATUS'.

append it_data.

case it_pagdetl-state.

when gc_lft_requ.

it_data = 'STATE: STATELESS FROM NOW ON'.

when gc_lft_sess.

it_data = 'STATE: STATEFUL FROM NOW ON'.

when others.

Page 91: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 91

it_data = 'STATE: UNCHANGED'.

endcase.

append it_data.

case it_pagdetl-state.

when gc_lft_requ.

it_data = 'LIFETIME: REQUEST'.

when gc_lft_sess.

it_data = 'LIFETIME: SESSION'.

when others.

it_data = 'LIFETIME: UNTIL PAGE CHANGE'.

endcase.

append it_data.

it_data = space.

append it_data.

Page 92: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 92

it_data = 'CACHING'.

append it_data.

lv_temp = it_pagdetl-browser_cache.

concatenate 'BROWSER CACHE: ' lv_temp into it_data.

append it_data.

lv_temp = it_pagdetl-server_cache.

concatenate 'SERVER CACHE: ' lv_temp into it_data.

append it_data.

it_data = space.

append it_data.

it_data = 'LOG DETAILS'.

append it_data.

concatenate 'CREATED BY: ' it_pagdetl-author ' ON ' it_pagdetl-createdon into it_data.

append it_data.

concatenate 'CHANGED BY: ' it_pagdetl-changedby ' ON ' it_pagdetl-changedon into it_data.

append it_data.

Page 93: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 93

concatenate p_lv_tempstr it_pagdetl-pagename into p_lv_tempstr.

call function 'GUI_DOWNLOAD'

exporting

filename = p_lv_tempstr

tables

data_tab = it_data

exceptions

file_write_error = 1

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

Page 94: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 94

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

dp_timeout = 18

file_not_found = 19

dataprovider_exception = 20

control_flush_error = 21

others = 22.

if sy-subrc <> 0.

concatenate 'CONTROLLER' it_pagdetl-pagekey into it_scr_out-component separated by ':'.

it_scr_out-path = p_lv_tempstr.

Page 95: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 95

it_scr_out-status = 'Cntl Class Details Download FAILED'.

it_scr_out-etype = 'E'.

append it_scr_out.

clear it_scr_out.

else.

concatenate 'CONTROLLER' it_pagdetl-pagekey into it_scr_out-component separated by ':'.

it_scr_out-path = p_lv_tempstr.

it_scr_out-status = 'SUCCESSFULL'.

it_scr_out-etype = 'S'.

append it_scr_out.

clear it_scr_out.

endif.

* Getting the Controller Class Name into Global Variable

clear v_cnt_cls.

move it_pagdetl-implclass to v_cnt_cls.

endform. " DOWNLOAD_CONTROLLER_DETAILS

Page 96: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 96

*&---------------------------------------------------------------------*

*& Form download_class

*&---------------------------------------------------------------------*

* DownLoading the Data to File

*----------------------------------------------------------------------*

form download_class using lv_filename.

call function 'GUI_DOWNLOAD'

exporting

filename = lv_filename

tables

data_tab = it_data

exceptions

file_write_error = 1

no_batch = 2

Page 97: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 97

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

dp_timeout = 18

file_not_found = 19

Page 98: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 98

dataprovider_exception = 20

control_flush_error = 21

others = 22.

if sy-subrc <> 0.

it_scr_out-component = lv_filename.

it_scr_out-status = 'FAILED'.

it_scr_out-etype = 'E'.

append it_scr_out.

clear it_scr_out.

else.

it_scr_out-component = lv_filename.

it_scr_out-status = 'SUCCESSFULL'.

it_scr_out-etype = 'S'.

append it_scr_out.

clear it_scr_out.

endif.

Page 99: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 99

endform. " download_class

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_HTML_EVENT_DETAILS

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

form download_html_event_details using p_applname

p_pagekey

p_lv_tempstr.

data: lv_tempstr type string,

lv_count type n.

refresh it_pagcon.

clear it_pagcon.

select applname

Page 100: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 100

pagekey

objtype

version

into table it_pagcon

from o2pagcon

where applname = p_applname and

pagekey = p_pagekey and

version = 'A' and

objtype = 'PD'.

lv_count = 0.

loop at it_pagcon.

clear: lv_tempstr,it_source,wa_source,wa_pagecon_key.

wa_pagecon_key-applname = it_pagcon-applname.

wa_pagecon_key-pagekey = it_pagcon-pagekey.

wa_pagecon_key-objtype = it_pagcon-objtype.

wa_pagecon_key-version = it_pagcon-version.

Page 101: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 101

if it_pagcon-objtype = 'PD'. "PAGE

concatenate p_lv_tempstr p_pagekey into lv_tempstr.

endif.

import content to it_source-content from database o2pagcon(tr) id wa_pagecon_key

accepting padding ignoring conversion errors.

if not it_source-content[] is initial.

call function 'GUI_DOWNLOAD'

exporting

filename = lv_tempstr

tables

data_tab = it_source-content

exceptions

file_write_error = 1

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

Page 102: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 102

no_authority = 5

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

dp_timeout = 18

file_not_found = 19

dataprovider_exception = 20

control_flush_error = 21

Page 103: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 103

others = 22.

if sy-subrc <> 0.

it_scr_out-component = p_pagekey.

it_scr_out-path = lv_tempstr.

it_scr_out-status = 'FAILED'.

it_scr_out-etype = 'E'.

append it_scr_out.

clear it_scr_out.

else.

it_scr_out-component = p_pagekey.

it_scr_out-path = lv_tempstr.

it_scr_out-status = 'SUCCESSFULL'.

it_scr_out-etype = 'S'.

append it_scr_out.

clear it_scr_out.

endif.

endif.

Page 104: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 104

endloop.

* NOW DOWNLOAD ALL THE PARAMETERS FOR THAT PAGE

perform download_params_for_page using p_applname

p_pagekey

p_lv_tempstr.

* NOW DOWNLOAD ALL EVENTS FOR THAT PAGE

perform download_events_for_page using p_applname

p_pagekey

p_lv_tempstr.

endform. " DOWNLOAD_HTML_EVENT_DETAILS

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_PARAMS_FOR_PAGE

*&---------------------------------------------------------------------*

Page 105: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 105

* text

*----------------------------------------------------------------------*

form download_params_for_page using p_applname

p_pagekey

p_lv_tempstr.

types: begin of t_dld_params,

compname type o2param,

auto(5),

typtype(15),

type1 type rs38l_typ,

parvalue type seovalue,

end of t_dld_params.

data: it_params type standard table of o2pagpar with header line.

data: it_dld_params type standard table of t_dld_params with header line.

data: lv_tempstr type string.

Page 106: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 106

refresh: it_params,it_dld_params.

clear : it_params,it_dld_params.

concatenate p_lv_tempstr 'PARAMETERS.TXT' into lv_tempstr.

select * from o2pagpar into table it_params

where applname = p_applname and

pagekey = p_pagekey and

version = 'A'.

loop at it_params.

it_dld_params-compname = it_params-compname.

it_dld_params-type1 = it_params-type.

it_dld_params-parvalue = it_params-parvalue.

if it_params-pardecltyp = '0'.

it_dld_params-auto = 'AUTO'.

endif.

Page 107: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 107

if it_params-typtype = '3'.

it_dld_params-typtype = 'TYPE REF TO'.

else.

it_dld_params-typtype = 'TYPE'.

endif.

append it_dld_params.

clear it_dld_params.

endloop.

if not it_dld_params[] is initial.

call function 'GUI_DOWNLOAD'

exporting

filename = lv_tempstr

tables

data_tab = it_dld_params.

Page 108: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 108

endif.

endform. " DOWNLOAD_PARAMS_FOR_PAGE

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_EVENTS_FOR_PAGE

*&---------------------------------------------------------------------*

* To Download the Events data

*----------------------------------------------------------------------*

form download_events_for_page using p_applname

p_pagekey

p_lv_tempstr.

data: lv_tempstr type string,

it_events type standard table of o2pagevh with header line,

lv_count type i.

types: begin of t_ev_handler,

name type o2evhandlr,

Page 109: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 109

source type rswsourcet,

end of t_ev_handler.

types : it_ev_handler type sorted table of t_ev_handler with unique key name.

data : it_ev_sources type it_ev_handler with header line.

field-symbols : <fs_ev_handler> type it_ev_handler.

refresh it_events.

clear : it_events,lv_count.

select * from o2pagevh into table it_events

where applname = p_applname and

pagekey = p_pagekey and

version = 'A'.

describe table it_events lines lv_count.

if lv_count > 0.

concatenate p_lv_tempstr 'EVENTS' '\' into lv_tempstr.

Page 110: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 110

perform create_directory using lv_tempstr.

p_lv_tempstr = lv_tempstr.

endif.

refresh: it_ev_sources.

clear: lv_tempstr,it_source,wa_source,wa_pagecon_key,it_ev_sources.

wa_pagecon_key-applname = p_applname.

wa_pagecon_key-pagekey = p_pagekey.

wa_pagecon_key-objtype = 'EV'.

wa_pagecon_key-version = 'A'.

import evhandler to it_ev_sources from database o2pagcon(tr) id wa_pagecon_key

accepting padding ignoring conversion errors.

loop at it_ev_sources.

concatenate p_lv_tempstr it_ev_sources-name '.TXT' into lv_tempstr.

Page 111: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 111

call function 'GUI_DOWNLOAD'

exporting

filename = lv_tempstr

tables

data_tab = it_ev_sources-source.

endloop.

endform. " DOWNLOAD_EVENTS_FOR_PAGE

*&---------------------------------------------------------------------*

*& Form download_cnt_class

*&---------------------------------------------------------------------*

* Perform to Download the Controller Class Details

*----------------------------------------------------------------------*

form download_class_details using p_lv_filestr pclassname.

Page 112: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 112

data : v_cnt_cls_name type string,

v_cnt_lines type i.

clear : v_cnt_cls_name.

* As We need to call the common perform which is used for Downloading

* Class . Before doing that we need to Set Some varibles.

if pclassname is not initial.

clear : r_temp_all,chk_attr,chk_meth,chk_evts,chk_type,it_class.

move 'X' to r_temp_all.

refresh it_class.

concatenate p_lv_filestr pclassname into v_cnt_cls_name.

* get the class name and Class Description from the table SEOCLASS

* for all the classes which user entered in selection screen based on

* the system language

select a~clsname b~descript

into table it_class

Page 113: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 113

from seoclass as a left outer join seoclasstx as b

on a~clsname = b~clsname and

b~langu = v_langu

where a~clsname = pclassname.

describe table it_class lines v_cnt_lines.

if v_cnt_lines > 0.

loop at it_class.

perform get_class_details using it_class-clsname 'X' v_cnt_cls_name .

endloop.

endif.

endif.

endform. " download_cnt_class

*&---------------------------------------------------------------------*

*& Form download_class_implementation

*&---------------------------------------------------------------------*

Page 114: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 114

* To Down Load the Class Implementaions

*----------------------------------------------------------------------*

form download_class_implementation tables p_implementation type seok_int_typeinfos.

data : x_imp type line of seok_int_typeinfos.

loop at p_implementation into x_imp.

perform get_inferface_data using x_imp.

endloop.

endform. " download_class_implementation

*&---------------------------------------------------------------------*

*& Form get_inferface_data

*&---------------------------------------------------------------------*

* Getting the Interface Data

*----------------------------------------------------------------------*

form get_inferface_data using p_x_imp type line of seok_int_typeinfos.

data : x_inmeth type line of seoo_methods_r,

Page 115: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 115

v_methodname type string,

v_classname type string.

it_data = 'INTERFACE'.

append it_data.

it_data = '----------'.

append it_data.

* Interface Name

clear it_data.

concatenate 'Interface Name : ' p_x_imp-interface-clsname into it_data.

append it_data.

* Interface Description

clear it_data.

concatenate 'Interface Description : ' p_x_imp-interface-descript into it_data.

Page 116: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 116

append it_data.

* Interace Methods

it_data = '-----------------'.

append it_data.

clear it_data.

it_data = 'Interface Methods'.

append it_data.

clear it_data.

it_data = '-----------------'.

append it_data.

loop at p_x_imp-methods into x_inmeth where clsname eq p_x_imp-interface-clsname .

data : temp_str type string.

Page 117: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 117

* Adding Class Name & Class Description

concatenate x_inmeth-cmpname cl_abap_char_utilities=>horizontal_tab x_inmeth-descript

cl_abap_char_utilities=>horizontal_tab into temp_str.

* Declaration Type

if x_inmeth-mtddecltyp eq 0.

concatenate temp_str 'Instance Method' into temp_str.

else.

concatenate temp_str 'Static Method' into temp_str.

endif.

* Visibility

case x_inmeth-exposure.

when 0.

concatenate temp_str cl_abap_char_utilities=>horizontal_tab 'PRIVATE' into temp_str.

when 2.

concatenate temp_str cl_abap_char_utilities=>horizontal_tab 'PUBLIC' into temp_str.

Page 118: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 118

when 1.

concatenate temp_str cl_abap_char_utilities=>horizontal_tab 'PROTECTED' into temp_str.

endcase.

it_data = temp_str.

append it_data.

* To Get Corresponding Paramenters.

perform get_int_meth_parameters using p_x_imp x_inmeth-cmpname.

* To Get Source Code for Interface methods.

clear v_methodname.

clear v_classname.

concatenate p_x_imp-interface-clsname '~' x_inmeth-cmpname into v_methodname.

v_classname = it_class-clsname.

perform download_method_source using v_classname

v_methodname.

Page 119: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 119

clear temp_str.

clear it_data.

append it_data.

endloop.

endform. " get_inferface_data

*&---------------------------------------------------------------------*

*& Form GET_INT_METH_PARAMETERS

*&---------------------------------------------------------------------*

* To get the method Parameters

*----------------------------------------------------------------------*

form get_int_meth_parameters using p_x_imp type line of seok_int_typeinfos

p_x_inmeth_cmpname.

data: x_parameters type line of seos_parameters_r,

temp_str type string.

Page 120: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 120

it_data = '^^^^PARAMETERS'.

append it_data.

clear it_data.

loop at p_x_imp-parameters into x_parameters where clsname eq p_x_imp-interface-clsname and

cmpname eq p_x_inmeth_cmpname.

concatenate cl_abap_char_utilities=>horizontal_tab

cl_abap_char_utilities=>horizontal_tab

x_parameters-sconame

cl_abap_char_utilities=>horizontal_tab into temp_str.

case x_parameters-pardecltyp.

when 0.

concatenate temp_str 'Importing' cl_abap_char_utilities=>horizontal_tab into temp_str.

when 1.

concatenate temp_str 'Exporting' cl_abap_char_utilities=>horizontal_tab into temp_str.

Page 121: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 121

when 2.

concatenate temp_str 'Changing' cl_abap_char_utilities=>horizontal_tab into temp_str.

when 3.

concatenate temp_str 'Returning' cl_abap_char_utilities=>horizontal_tab into temp_str.

endcase.

case x_parameters-typtype.

when 0.

concatenate temp_str 'Like' cl_abap_char_utilities=>horizontal_tab into temp_str.

when 1.

concatenate temp_str 'Type' cl_abap_char_utilities=>horizontal_tab into temp_str.

when 2.

concatenate temp_str 'Type Ref To' cl_abap_char_utilities=>horizontal_tab into temp_str.

endcase.

concatenate temp_str x_parameters-type cl_abap_char_utilities=>horizontal_tab x_parameters-parvalue into temp_str.

it_data = temp_str.

Page 122: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 122

append it_data.

clear it_data.

clear temp_str.

endloop.

endform. " GET_INT_METH_PARAMETERS

*&---------------------------------------------------------------------*

*& Form DOWNLOAD_CLASS_OTHERDETAILS

*&---------------------------------------------------------------------*

* Downloading Class Implementation , Types & Macros

*----------------------------------------------------------------------*

form download_class_otherdetails using p_p_clsname

p_inctype.

data : lv_inctype type string,

l_clsname type seoclskey,

Page 123: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 123

cl_source type seop_source,

cl_exsource type seop_source_string,

x_source type line of seop_source.

move p_p_clsname to l_clsname.

case p_inctype.

when seop_ext_class_locals_imp.

lv_inctype = 'CLASS IMPLEMENTAION'.

when seop_incextapp_definition.

lv_inctype = 'CLASS TYPES'.

when seop_incextapp_macros.

lv_inctype = 'CLASS MACROS'.

endcase.

call function 'SEO_CLASS_GET_INCLUDE_SOURCE'

exporting

Page 124: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 124

clskey = l_clsname

inctype = p_inctype

importing

source = cl_source

source_expanded = cl_exsource

exceptions

_internal_class_not_existing = 1

not_existing = 2

others = 3.

if sy-subrc <> 0.

it_scr_out-component = lv_inctype.

it_scr_out-status = 'FAILED'.

it_scr_out-etype = 'E'.

append it_scr_out.

clear it_scr_out.

else.

Page 125: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com 125

it_data = '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.

append it_data.

clear it_data.

it_data = lv_inctype .

append it_data.

clear it_data.

it_data = '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.

append it_data.

clear it_data.

loop at cl_source into x_source.

move x_source to it_data.

append it_data.

Page 126: SDN Community Contribution - Archive€¦ · Being able to have proper backups (on local drives i.e. on presentation server / desktop) of the source code in the development phase

Tool to download entire BSP Application including MVC, Views, Page with Flow logic, Page Fragments and Global Classes

© 2005 SAP AG The SAP Developer Network: http://sdn.sap.com

clear it_data.

endloop.

it_data = '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.

append it_data.

clear it_data.

endif.

endform. " DOWNLOAD_CLASS_OTHERDETAILS

Author Bio

Uma Shankar has around 6 years of experience in developing applications/programs using Java, ABAP, Business Server Pages. He is currently working as a Project Leader in Intelligroup Asia Pvt. Ltd and based in Hyderabad, India. He is also a core member of NetWeaver Competency group.

126