Respaldos Programas SE80

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • dpalma
    Junior Member
    • dic
    • 14

    #1

    Respaldos Programas SE80

    Alguien me podría decir como realizar un respaldo de una aplicación hecha en la transaccion SE80, la cual tiene varios includes?...
    El respaldo que quiero hacer debe incluir las pantallas, funciones, includes, tablas, etc...
    Gracias!!..
    Espero comentarios!
  • calanis
    Senior Member
    • oct
    • 147

    #2
    Hola Dpalma

    Hay varios programas dando vueltas en la WEB
    Por ejemplo este de autoria de Blag
    Código:
    **************************************************************
    * Programa : Z_PROGRAMS_DOWNLOAD.                            *
    * Módulo   : BC - Basis.                                     *
    * Consultor ABAP     : Alvaro Tejada Galindo.                *
    * February 14, 2006   12:33:22 PM                            *
    **************************************************************
    
    REPORT  Z_DUMMY_ATG NO STANDARD PAGE HEADING.
    
    *=============================================================
    * VARIABLES
    *=============================================================
    DATA: FULLNAME(30) TYPE C,
          ONE  LIKE PCFILE-DRIVE,
          TWO  LIKE PCFILE-PATH,
          FILEPATH(128) TYPE C.
    
    DATA: APP_NAME TYPE STRING,
          DDTEXT_NAME TYPE STRING,
          DUMMY TYPE STRING,
          INCLUDE_NAME TYPE STRING.
    
    *=============================================================
    * TABLAS INTERNAS
    *=============================================================
    DATA: BEGIN OF SOURCE_TABLE OCCURS 0,
          LINEA(150) TYPE C.
    DATA: END OF SOURCE_TABLE.
    
    DATA: BEGIN OF INCLUDE_TABLE OCCURS 0,
          LINEA(150) TYPE C.
    DATA: END OF INCLUDE_TABLE.
    
    DATA: BEGIN OF DYNPRO_TABLE OCCURS 0,
          LINEA(250) TYPE C.
    DATA: END OF DYNPRO_TABLE.
    
    DATA: BEGIN OF T_TRDIR OCCURS 0,
          NAME LIKE TRDIR-NAME,
    END OF T_TRDIR.
    
    DATA: BEGIN OF T_LOG OCCURS 0,
          ERROR TYPE STRING,
          END OF T_LOG.
    
    DATA: DATA_DDTEXT TYPE STANDARD TABLE OF TEXTPOOL 
          WITH HEADER LINE.
    
    *=============================================================
    * SELECTION-SCREEN
    *=============================================================
    SELECTION-SCREEN BEGIN OF BLOCK TEST WITH FRAME.
    PARAMETERS:
               PRGNAME LIKE TRDIR-NAME,
               LISTNAME LIKE RLGRAP-FILENAME.
    SELECTION-SCREEN END OF BLOCK TEST.
    
    *=============================================================
    * AT SELECTION-SCREEN
    *=============================================================
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR LISTNAME.
      PERFORM GET_FILENAME CHANGING LISTNAME.
    
    *=============================================================
    * START-OF-SELECTION
    *=============================================================
    START-OF-SELECTION.
      PERFORM LOAD_DATA.
    
      IF NOT T_LOG[] IS INITIAL.
        WRITE: 'Se encontraron los siguientes errores: '.
      ENDIF.
    
      ULINE.
      SKIP 1.
    
      LOOP AT T_LOG.
        WRITE:/ T_LOG-ERROR.
      ENDLOOP.
    
    *-----------------------------------------------------------*
    *       FORM GET_FILENAME                                   *
    *-----------------------------------------------------------*
    FORM GET_FILENAME CHANGING LISTNAME.
    
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          DEF_FILENAME     = LISTNAME
          DEF_PATH         = 'C:\downloads\lista'
          MASK             = ',*.*,*.*. '
          MODE             = 'S'
          TITLE            = 'Guardar en'
        IMPORTING
          FILENAME         = LISTNAME
        EXCEPTIONS
          INV_WINSYS       = 1
          NO_BATCH         = 2
          SELECTION_CANCEL = 3
          SELECTION_ERROR  = 4
          OTHERS           = 5.
    ENDFORM.                    "GET_FILENAME
    
    *-----------------------------------------------------------*
    *       FORM LOAD_DATA                                      *
    *-----------------------------------------------------------*
    FORM LOAD_DATA.
      DATA: W_FILE LIKE PCFILE-PATH.
      W_FILE = LISTNAME.
      CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
        EXPORTING
          COMPLETE_FILENAME = W_FILE
        IMPORTING
          DRIVE             = ONE
          PATH              = TWO
        EXCEPTIONS
          INVALID_DRIVE     = 1
          INVALID_EXTENSION = 2
          INVALID_NAME      = 3
          INVALID_PATH      = 4
          OTHERS            = 5.
      CONCATENATE ONE ':' TWO INTO FILEPATH.
    
      CONCATENATE PRGNAME   '%' INTO FULLNAME.
    
      SELECT NAME
      INTO TABLE T_TRDIR
      FROM TRDIR
      WHERE NAME LIKE FULLNAME.
    
      IF SY-SUBRC EQ 0.
        PERFORM FILL_LIST.
    
        PERFORM DOWNLOAD_APPS.
      ENDIF.
    
    ENDFORM.                    "LOAD_DATA
    
    *-----------------------------------------------------------*
    *       FORM FILL_LIST                                      *
    *-----------------------------------------------------------*
    FORM FILL_LIST.
      CALL FUNCTION 'WS_DOWNLOAD'
        EXPORTING
          FILENAME            = FILEPATH
          FILETYPE            = 'ASC'
        TABLES
          DATA_TAB            = T_TRDIR
        EXCEPTIONS
          FILE_OPEN_ERROR     = 1
          FILE_WRITE_ERROR    = 02
          INVALID_FILESIZE    = 03
          INVALID_TABLE_WIDTH = 04
          INVALID_TYPE        = 05
          NO_BATCH            = 06
          UNKNOWN_ERROR       = 07.
    ENDFORM.                    "FILL_LIST
    
    *-----------------------------------------------------------*
    *       FORM FILL_LIST                                      *
    *-----------------------------------------------------------*
    FORM FILL_LIST_INCLUDE.
    
      CONCATENATE FILEPATH 'Includes.txt' INTO LISTNAME.
    
      CALL FUNCTION 'WS_DOWNLOAD'
        EXPORTING
          FILENAME            = LISTNAME
          FILETYPE            = 'ASC'
          MODE                = 'A'
        TABLES
          DATA_TAB            = INCLUDE_TABLE
        EXCEPTIONS
          FILE_OPEN_ERROR     = 1
          FILE_WRITE_ERROR    = 02
          INVALID_FILESIZE    = 03
          INVALID_TABLE_WIDTH = 04
          INVALID_TYPE        = 05
          NO_BATCH            = 06
          UNKNOWN_ERROR       = 07.
    ENDFORM.                    "FILL_LIST_INCLUDE
    
    *&----------------------------------------------------------*
    *&      Form  DOWNLOAD_APPS                                 *
    *&----------------------------------------------------------*
    FORM DOWNLOAD_APPS.
    
      LOOP AT T_TRDIR.
        CLEAR: APP_NAME, INCLUDE_NAME.
    
        REFRESH: SOURCE_TABLE.
        CLEAR: SOURCE_TABLE.
    
        READ REPORT T_TRDIR-NAME INTO SOURCE_TABLE.
        READ TEXTPOOL T_TRDIR-NAME INTO DATA_DDTEXT LANGUAGE SY-LANGU.
    
        CONCATENATE FILEPATH T_TRDIR-NAME '.abp' INTO APP_NAME.
        CONCATENATE FILEPATH T_TRDIR-NAME '_DDTEXT.txt' 
                    INTO DDTEXT_NAME.
    
        PERFORM DOWNLOAD_FORM USING APP_NAME.
        PERFORM DOWNLOAD_DDTEXT USING DDTEXT_NAME.
    
        LOOP AT SOURCE_TABLE.
          SEARCH SOURCE_TABLE-LINEA FOR 'INCLUDE'.
          IF SY-SUBRC EQ 0.
    
            IF SOURCE_TABLE-LINEA+0(8) NE 'INCLUDE'.
              CONTINUE.
            ENDIF.
    
            CLEAR INCLUDE_NAME.
    
            SPLIT SOURCE_TABLE-LINEA AT SPACE
            INTO DUMMY INCLUDE_NAME.
            SPLIT INCLUDE_NAME AT '.'
            INTO INCLUDE_NAME DUMMY.
    
            REFRESH: SOURCE_TABLE.
            CLEAR: SOURCE_TABLE.
    
            MOVE INCLUDE_NAME TO INCLUDE_TABLE.
            READ TABLE INCLUDE_TABLE WITH KEY LINEA = INCLUDE_TABLE.
            IF SY-SUBRC NE 0.
              APPEND INCLUDE_TABLE.
            ENDIF.
    
            READ REPORT INCLUDE_TABLE INTO SOURCE_TABLE.
    
            IF SY-SUBRC EQ 0.
              CONCATENATE FILEPATH INCLUDE_NAME '.abp' 
              INTO INCLUDE_NAME.
              PERFORM DOWNLOAD_FORM USING INCLUDE_NAME.
              PERFORM FILL_LIST_INCLUDE.
            ENDIF.
    
          ENDIF.
        ENDLOOP.
    
      ENDLOOP.
    
    ENDFORM.                    "DOWNLOAD_APPS
    
    *-----------------------------------------------------------*
    *       FORM DOWNLOAD_FORM                                  *
    *-----------------------------------------------------------*
    FORM DOWNLOAD_FORM USING APP_NAME.
    
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME         = APP_NAME
          FILETYPE         = 'ASC'
        TABLES
          DATA_TAB         = SOURCE_TABLE
        EXCEPTIONS
          FILE_WRITE_ERROR = 1
          NO_BATCH         = 2
          INVALID_TYPE     = 4
          NO_AUTHORITY     = 5
          UNKNOWN_ERROR    = 6
          FILE_NOT_FOUND   = 19
          OTHERS           = 22.
    
      IF SY-SUBRC NE 0.
        T_LOG-ERROR = APP_NAME.
        APPEND T_LOG.
      ENDIF.
    ENDFORM.                    "DOWNLOAD_FORM
    
    *-----------------------------------------------------------*
    *       FORM DOWNLOAD_DDTEXT                                *
    *-----------------------------------------------------------*
    FORM DOWNLOAD_DDTEXT USING DDTEXT_NAME.
    
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME         = DDTEXT_NAME
          FILETYPE         = 'ASC'
        TABLES
          DATA_TAB         = DATA_DDTEXT
        EXCEPTIONS
          FILE_WRITE_ERROR = 1
          NO_BATCH         = 2
          INVALID_TYPE     = 4
          NO_AUTHORITY     = 5
          UNKNOWN_ERROR    = 6
          FILE_NOT_FOUND   = 19
          OTHERS           = 22.
    
      IF SY-SUBRC NE 0.
        T_LOG-ERROR = DDTEXT_NAME.
        APPEND T_LOG.
      ENDIF.
    ENDFORM.                    "DOWNLOAD_DDTEXT
    Espero te sirva de guía.

    Saludos
    Carlos D. Alanis
    <=<< Compartir conocimiento es una manera de innovar >>=>

    Comentario

    Trabajando...