*&---------------------------------------------------------------------* *& Report Z_ZAKE_SVN *& *&---------------------------------------------------------------------* *& Checkout / Checkin the ZAKE_SVN Project *& *&---------------------------------------------------------------------* REPORT zake_svn_a2x. CONSTANTS cl_svn TYPE seoclsname VALUE 'ZCL_ZAKE_SVN'. CONSTANTS cl_tortoise_svn TYPE seoclsname VALUE 'ZCL_ZAKE_TORTOISE_SVN'. DATA package TYPE devclass. DATA zake TYPE REF TO zake. DATA zake_objects TYPE scts_tadir. DATA files TYPE string_table. DATA file LIKE LINE OF files. DATA zake_build TYPE string. DATA zake_nuggetname TYPE string. DATA comment_str TYPE string. DATA loclpath_str TYPE string. DATA svnpath_str TYPE string. DATA username_str TYPE string. DATA password_str TYPE string. DATA class TYPE seoclsname. DATA: ex TYPE REF TO zcx_saplink, message TYPE string. SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE a. PARAMETERS: checkout TYPE flag RADIOBUTTON GROUP act, update TYPE flag RADIOBUTTON GROUP act DEFAULT 'X', checkin TYPE flag RADIOBUTTON GROUP act. SELECTION-SCREEN END OF BLOCK a. SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE b. PARAMETERS: svn TYPE flag RADIOBUTTON GROUP cl, tortoise TYPE flag RADIOBUTTON GROUP cl. SELECTION-SCREEN END OF BLOCK b. SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE c. PARAMETERS: loclpath TYPE char512 DEFAULT 'C:\ZAKE_SVN\Projects\abap2xlsx' LOWER CASE OBLIGATORY, zakebuil TYPE char512 DEFAULT 'C:\ZAKE_SVN\Projects\abap2xlsx\build\NUGG_ABAP2XLSX_V_1_0.nugg' LOWER CASE OBLIGATORY, zakenugg TYPE char512 DEFAULT 'C:\ZAKE_SVN\Projects\abap2xlsx\nuggs\NUGG_ABAP2XLSX_V_1_0.nugg' LOWER CASE OBLIGATORY, svnpath TYPE char512 DEFAULT 'https://abap2xlsx.googlecode.com/svn/trunk/abap2xlsx' LOWER CASE OBLIGATORY, comment TYPE char512 DEFAULT '' LOWER CASE, username TYPE char512 LOWER CASE, password TYPE char512 LOWER CASE, testrun TYPE flag DEFAULT 'X'. SELECTION-SCREEN END OF BLOCK c. INITIALIZATION. a = 'Action'. b = 'Version Controll Program'. c = 'Parameters'. START-OF-SELECTION. svnpath_str = svnpath. loclpath_str = loclpath. zake_build = zakebuil. zake_nuggetname = zakenugg. comment_str = comment. SELECT * INTO TABLE zake_objects FROM tadir WHERE devclass = 'ZABAP2XLSX'. DELETE zake_objects WHERE object = 'DEVC'. TRY. IF svn = 'X'. class = cl_svn. ELSE. class = cl_tortoise_svn. ENDIF. CREATE OBJECT zake TYPE (class) EXPORTING i_svnpath = svnpath_str i_localpath = loclpath_str. zake->set_testrun( testrun ). IF checkin = 'X'. zake->set_package( 'ZA2X' ). zake->set_checkin_objects( zake_objects ). zake->create_slinkees( zake_nuggetname ). " Build a complete package for download * zake->set_package( 'ZA2X' ). * zake->set_checkin_objects( zake_objects ). * " Let's add the CMD Scripts to the complete package * CONCATENATE loclpath 'bin/svn-script.cmd' INTO file. * APPEND file TO files. * CONCATENATE loclpath 'bin/tortoise-svn-script.cmd' INTO file. * APPEND file TO files. * zake->add_files_to_zip( files ). * " We don't want that for the complete Package Slinkees are created * " in the ZAKE folder * zake->download_slinkees_to_lm = space. * zake->download_nugget_to_lm = space. * zake->create_slinkees( zake_nuggetname ). IF testrun IS INITIAL. zake->checkin( comment_str ). ENDIF. ELSE. IF update = 'X'. zake->update( ). ELSE. zake->checkout( ). ENDIF. " zake->install_slinkees_from_lm( testrun ). zake->install_objects( zake_objects ). ENDIF. CATCH zcx_saplink INTO ex. message = ex->msg. WRITE: / 'An Error occured: ', message. ENDTRY.