Save/download program to client-pc

hi,
is there an easy way to save/download abap-programs to your own desktop? to get it on your own pc?
at least the sources of reports and module pools? i doubt that there is a way to include dictionary objects, too.
thanx for hints, matthias

REPORT ZBACKUP06.
$$********************************************************************
$$* parametros
$$********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK SEL WITH FRAME TITLE  TITLE1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_NOME FOR FIELD NOME.
PARAMETERS: NOME LIKE RS38M-PROGRAMM DEFAULT '*'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_PATH FOR FIELD PATH.
PARAMETERS: PATH(250) TYPE C DEFAULT 'C:'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_EXPORT FOR FIELD EXPORT.
PARAMETERS: EXPORT RADIOBUTTON GROUP RAD2 DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_IMPORT FOR FIELD IMPORT.
PARAMETERS: IMPORT RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK SEL.
SELECTION-SCREEN BEGIN OF BLOCK CHK WITH FRAME TITLE TITLE2.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_RELA FOR FIELD RELATOR.
PARAMETERS: RELATOR  RADIOBUTTON GROUP RADI.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_ONLINE FOR FIELD ON_LINE.
PARAMETERS: ON_LINE  RADIOBUTTON GROUP RADI.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_SAPSCP FOR FIELD SAP_SCRP.
PARAMETERS: SAP_SCRP RADIOBUTTON GROUP RADI.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_TABELA FOR FIELD TABELA.
PARAMETERS: TABELA   RADIOBUTTON GROUP RADI.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK CHK.
SELECTION-SCREEN: BEGIN OF SCREEN 9001 TITLE TITLE_1 AS WINDOW.
SELECTION-SCREEN BEGIN OF BLOCK BLOQUE WITH FRAME TITLE TITLE3.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_OBJ FOR FIELD OBJECT.
PARAMETERS: OBJECT LIKE TADIR-OBJECT DEFAULT 'FORM'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_OBJ_N FOR FIELD OBJ_NAME.
PARAMETERS: OBJ_NAME(40) DEFAULT 'Z*'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_DATA FOR FIELD DATASET.
PARAMETERS: DATASET(250) TYPE C DEFAULT 'C:'.
SELECTION-SCREEN END OF LINE.
PARAMETERS: MODE(6) NO-DISPLAY.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) C_LSTF FOR FIELD LISTFILE.
PARAMETERS: LISTFILE AS CHECKBOX DEFAULT SPACE.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PLANGVEC(60) DEFAULT SPACE NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK BLOQUE.
SELECTION-SCREEN: END   OF SCREEN 9001.
$$********************************************************************
$$ Tabelas
$$********************************************************************
TABLES: D020T,
        TITLE.
$$********************************************************************
$$ Variaveis
$$********************************************************************
DATA : LIM_LINHA TYPE I,
       LIM_PORCENT TYPE I,
       ADM LIKE RSMPE_ADM,
       TRKEY LIKE TRKEY,
       LAST LIKE RSEU1_LST,
       I TYPE I,
       SLASH(1) TYPE C,
       ITAB2(300) TYPE C ,
       POSICAO(2) TYPE N,
       BEGIN OF DR_READNAME,
         PROG LIKE D020S-PROG,
         DNUM LIKE D020S-DNUM,
       END OF DR_READNAME,
       FNAM(30) TYPE C,
       DIDX(10) TYPE C,
       FLG1(10) TYPE C,
       FLG2(10) TYPE C,
       FLG3(10) TYPE C,
       FILL(10) TYPE C,
       FMB1(10) TYPE C,
       FMB2(10) TYPE C,
       COLR(10) TYPE C,
       LENG(10) TYPE C,
       LINE(10) TYPE C,
       COLN(10) TYPE C,
       LTYP(10) TYPE C,
       LANF(10) TYPE C,
       LBLK(10) TYPE C,
       LREP(10) TYPE C,
       FMKY(10) TYPE C,
       PAID(10) TYPE C,
       UCNV(10) TYPE C,
       TYPE(10) TYPE C,
       AUTH(10) TYPE C,
       WNAM(30) TYPE C,
       DMAC(31) TYPE C,
       GRP1(10) TYPE C,
       GRP2(10) TYPE C,
       GRP3(10) TYPE C,
       GRP4(10) TYPE C,
       ITYP(10) TYPE C,
       AGLT(10) TYPE C,
       ADEZ(10) TYPE C,
       STXT(132) TYPE C,
       BEGIN OF HC,
         PROG(08),
         DNUM(4),
         TYPE(1),
         FNUM(4),
         DGRP(4),
         BZMX(3),
         BZBR(3),
         MILI(3),
         MICO(3),
         MALI(3),
         MACO(3),
         NOLI(3),
         NOCO(3),
         VALP(3),
         CUAN(1),
         HDAT(1),
         SPRA(1),
         CUPO(30),
         DGEN(6),
         TGEN(6),
       END OF HC,
      N_MARCA TYPE I,
      FLAG_MARC(4) TYPE C,
      NOME2 LIKE RS38M-PROGRAMM,
      NOME_TELA(60) TYPE C.
$$********************************************************************
$$ Tabelas internas
$$********************************************************************
DATA: BEGIN OF ITRDIR OCCURS 0,
        NAME     LIKE TRDIRT-NAME,
        TEXT     LIKE TRDIRT-TEXT,
      END OF ITRDIR.
DATA : STA LIKE  RSMPE_STAT  OCCURS 0 WITH HEADER LINE,
       FUN LIKE  RSMPE_FUNT  OCCURS 0 WITH HEADER LINE,
       MEN LIKE  RSMPE_MEN   OCCURS 0 WITH HEADER LINE,
       MTX LIKE  RSMPE_MNLT  OCCURS 0 WITH HEADER LINE,
       ACT LIKE  RSMPE_ACT   OCCURS 0 WITH HEADER LINE,
       BUT LIKE  RSMPE_BUT   OCCURS 0 WITH HEADER LINE,
       PFK LIKE  RSMPE_PFK   OCCURS 0 WITH HEADER LINE,
       SET LIKE  RSMPE_STAF  OCCURS 0 WITH HEADER LINE,
       DOC LIKE  RSMPE_ATRT  OCCURS 0 WITH HEADER LINE,
       TIT LIKE  RSMPE_TITT  OCCURS 0 WITH HEADER LINE,
       PROGRAMAS LIKE RS38M-PROGRAMM OCCURS 0 WITH HEADER LINE,
       PROGRAMAS2 LIKE RS38M-PROGRAMM OCCURS 0 WITH HEADER LINE,
       TEXTOS LIKE TEXTPOOL OCCURS 0 WITH HEADER LINE,
       REPORT(72) TYPE C OCCURS 0 WITH HEADER LINE,
       ITAB(300) TYPE C OCCURS 0 WITH HEADER LINE,
       E LIKE D022S OCCURS 0 WITH HEADER LINE,
       H LIKE D020S OCCURS 0 WITH HEADER LINE,
       F LIKE D021S OCCURS 0 WITH HEADER LINE,
       M LIKE D023S OCCURS 0 WITH HEADER LINE,
       DNUM LIKE D020S-DNUM OCCURS 0 WITH HEADER LINE,
      H_BDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE, " Dados da transação
      MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
$$********************************************************************
$$* Variaveis de Sapscript.
$$********************************************************************
DATA: ACTIVATE_OBJECT,     "tried to activate object
      ACTIVATE_OBJECT_OK.  "activate o.k.
DATA:
  BINFILE(1),
INDICE TYPE I,
i type i,
slash(1) type c,
BINFILE_CODEPAGE LIKE TCP02-CPCODEPAGE VALUE '0000',
TRUE(01) TYPE C  VALUE 'X',
FALSE(01) TYPE C  VALUE ' ',
  NAME(89) TYPE C,  "B20K016101
  NAME_LEN LIKE SY-INDEX VALUE 88,                "B20K016101
  RC LIKE SY-SUBRC,
EXPORT_FLAG,
  IMPORT_OK,
NOTHING,
END_OF_DATA,
  FUNC_ACTIVATE(4)  VALUE 'ACTV',
  FUNC_OLANGUAGE(4) VALUE 'OLAN',
  FUNC_NOTHING(4)   VALUE 'NONE',
  FUNC_DEL_PAPER(4) VALUE 'DPAP',
  FUNC_DEL_FORM(4)  VALUE 'DFOR',                           "B20K022630
  FUNC_DEL_STYL(4)  VALUE 'DSTY',                           "B20K022630
  LANGUAGE_VECTOR(60) TYPE C,
  CUSTOM_LANGUAGE_VECTOR(60) TYPE C,
  CUSTOM_LANGUAGE_VECTOR_VALID(8) TYPE C VALUE SPACE,
  CUSTOM_LANGUAGE_VECTOR_MAGIC(8) TYPE C VALUE 'LangVect',
NLP_LV1(1) TYPE C VALUE '1',
      NLP_LV2(1) TYPE C VALUE '2',
      NLP_LV3(1) TYPE C VALUE '3',
      NLP_ERR(1) TYPE C VALUE 'E',     "error
      NLP_WAR(1) TYPE C VALUE 'W',     "warning
      NLP_INF(1) TYPE C VALUE ' ',     "info
      NLP_LAN(1) TYPE C VALUE 'E',     "default message language
      NLP_MID(2) TYPE C VALUE 'TD',    "message id
      NLP_NOB(1) TYPE C VALUE ' ',     "no new object?
SYSTEM_CODEPAGE LIKE TCP02-CPCODEPAGE,
  OBJECT_STYLE  LIKE THEAD-TDOBJECT    VALUE 'STYLE     ',
  OBJECT_FORM   LIKE THEAD-TDOBJECT    VALUE 'FORM      ',
  OBJECT_DOKU   LIKE THEAD-TDOBJECT    VALUE 'DOKU      ',
  OBJECT_DSYS   LIKE THEAD-TDOBJECT    VALUE 'DSYS      ',
  OBJECT_TEXT   LIKE THEAD-TDOBJECT    VALUE 'TEXT      ',
  BINARY_FILE_FORMAT_VALID(7) TYPE C VALUE SPACE,
  BINARY_FILE_FORMAT_MAGIC(7) TYPE C VALUE 'BinFile',
END_OF_OBJDATA(01) TYPE C,
END_OF_CLIPBOARD(01) TYPE C,
FILENAME(60),
  COUNT_ERROR(3) TYPE N,
  COUNT_WARNING(3) TYPE N,
SUBRC LIKE SY-SUBRC,
CLIPBOARD(01) TYPE C,
LIST_FILE_CONTENTS(1) TYPE C,
   TEXTNAME(70) VALUE 'TEXT,*,ST,&',
   SUFFIX(4),
   FILE(60),
DATASET_AUX(50),
   TAB_NOME(30) TYPE C OCCURS 0 WITH HEADER LINE,
   CORRECTION_CHECK(1).
TABLES : *TADIR, TCP00, STXH, TSP0A, TSP09, TFO03, TFO06, T022D,
         TSP06, TSP1D, TFO04, ITCRS, T100.
DATA : BEGIN OF TAB_PC OCCURS 100,
       LINHA(1024) TYPE C,
       END OF TAB_PC.
DATA BEGIN OF PAPER.
DATA  PDPAPER LIKE TSP06-PDPAPER.
DATA  PDPTYPE LIKE TSP06-PDPTYPE.
DATA END OF PAPER.
DATA:BEGIN OF TSP06_LINE,
       PDLFDNR(3) TYPE N,
       PDDATALEN(3) TYPE N,
       ALL(240),
     END OF TSP06_LINE.
DATA:BEGIN OF TFO03_LINE,
       CPI(10),
       ALL(240),
     END OF TFO03_LINE.
DATA :
  BEGIN OF RECORD OCCURS 0,
    TYP(1),
    COMMAND(4),
    DATA(507),                                              "B20K043010
  END OF RECORD.
DATA BEGIN OF HEADER_TAB OCCURS 20.
        INCLUDE STRUCTURE THEAD.
DATA END OF HEADER_TAB.
DATA:
  BEGIN OF TEXTLOW,
    TDOBJECT LIKE THEAD-TDOBJECT,
    TDNAME   LIKE THEAD-TDNAME,
    TDID     LIKE THEAD-TDID,
    TDSPRAS  LIKE THEAD-TDSPRAS,
  END OF TEXTLOW.
DATA BEGIN OF HEADER_DEF.
        INCLUDE STRUCTURE THEAD.
DATA END OF HEADER_DEF.
DATA BEGIN OF HEADER.
       INCLUDE STRUCTURE THEAD.
DATA END OF HEADER.
DATA BEGIN OF LINES OCCURS 50.
       INCLUDE STRUCTURE TLINE.
DATA END OF LINES.
DATA:
  TRANSLATION_WANTED        LIKE ITCDA-TDTRANSTAT VALUE 0,
  TRANSLATION_NOT_WANTED    LIKE ITCDA-TDTRANSTAT VALUE 1.
DATA: FC_FULL_TAB_LINES LIKE SY-TABIX.
DATA: BEGIN OF FC_FULL_TAB OCCURS 0,
  RECORD(512),
      END   OF FC_FULL_TAB.
DATA: BEGIN OF FC_COMP_TAB OCCURS 0,
  RECORD(1024),
      END   OF FC_COMP_TAB.
DATA: FC_COMP_TAB_LINES LIKE SY-TABIX.
DATA:
  ID_STANDARD          LIKE THEAD-TDID VALUE 'ST  ',
  ID_DEF               LIKE THEAD-TDID VALUE 'DEF',
  ID_TXT               LIKE THEAD-TDID VALUE 'TXT'.
DATA:
  STATUS_ACTIVE   LIKE ITCDA-TDSTATUS VALUE '   ',
  STATUS_SAP      LIKE ITCDA-TDSTATUS VALUE 'SAP',
  STATUS_CUSTOMER LIKE ITCDA-TDSTATUS VALUE 'CUS'.
DATA BEGIN OF BUF_T022D OCCURS 50.
  INCLUDE STRUCTURE T022D.
DATA END OF BUF_T022D.
DATA BEGIN OF BUF_TSP06 OCCURS 200.
  INCLUDE STRUCTURE TSP06.
DATA END OF BUF_TSP06.
DATA BEGIN OF BUF_TFO03 OCCURS 20.
  INCLUDE STRUCTURE TFO03.
DATA END OF BUF_TFO03.
DATA BEGIN OF BUF_TFO04 OCCURS 1000.
  INCLUDE STRUCTURE TFO04.
DATA END OF BUF_TFO04.
DATA BEGIN OF BUF_TFO06 OCCURS 10.
  INCLUDE STRUCTURE TFO06.
DATA END OF BUF_TFO06.
FIELD-SYMBOLS:
DATA  NAME_POS LIKE SY-INDEX.
CONSTANTS:
  BINARY_FILE_HEADER_BYTE1(2) VALUE '52',                   "R
  BINARY_FILE_HEADER_BYTE2(2) VALUE '53',                   "S
  BINARY_FILE_HEADER_BYTE3(2) VALUE '54',                   "T
  BINARY_FILE_HEADER_BYTE4(2) VALUE '58',                   "X
  BINARY_FILE_HEADER_BYTE5(2) VALUE '40'. "@
CONSTANTS: FC_FULL_TAB_MAXLINES LIKE SY-TABIX VALUE 5000.
$$********************************************************************
$$*Constantes
$$********************************************************************
CONSTANTS: SEPARADOR(50) TYPE C VALUE
           '*** Agora vem o Programa ***'.
$$********************************************************************
$$*Inicialização
$$********************************************************************
INITIALIZATION.
  TITLE2 = 'Tipo de PRG'.
  TITLE3 = TITLE1 = 'Parametros de Import e Export'.
  C_OBJ_N = C_NOME = 'Nome do PRG :'.
  C_DATA = C_PATH = 'Caminho :'.
  C_IMPORT = 'Importar'.
  C_EXPORT = 'Exportar'.
  C_ONLINE = 'On Line'.
  TITLE_1 = C_SAPSCP = 'Sapscript'.
  C_TABELA = 'Tabelas'.
  C_RELA   = 'Relatórios'.
  C_OBJ    = 'Categoria'.
  C_LSTF   = 'Listar'.
$$********************************************************************
$$*Macros
$$********************************************************************
  DEFINE MENSSAGEM.
    IF &4 = ' '.
      DESCRIBE TABLE &1 LINES LIM_LINHA.
      LIM_PORCENT = ( 100 * &2 ) / LIM_LINHA.
    ELSE.
      LIM_PORCENT = &2.
    ENDIF.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = LIM_PORCENT
              TEXT       = &3
         EXCEPTIONS
              OTHERS     = 0.
  END-OF-DEFINITION.
$$********************************************************************
$$ inicio do codigo
$$********************************************************************
START-OF-SELECTION.
  MESSTAB[] = MESSTAB[].
  MESSTAB = MESSTAB.
  IF RELATOR = 'X'.
    CASE IMPORT.
      WHEN ' '.                        " EXPORTAR
        PERFORM EXPORT_RELATORIO.
      WHEN: 'X'.                       " IMPORTAR
        PERFORM IMPORT_RELATORIO.
    ENDCASE.
  ELSEIF ON_LINE = 'X'.
    CASE IMPORT.
      WHEN ' '.                        " EXPORTAR
        PERFORM EXPORT_ON_LINE.
      WHEN: 'X'.                       " IMPORTAR
        PERFORM IMPORT_ON_LINE.
    ENDCASE.
  ELSEIF SAP_SCRP = 'X'.
    CASE IMPORT.
      WHEN ' '.                        " EXPORTAR
        TITLE_1 = 'Sapscript - Exportar'.
      WHEN: 'X'.                       " IMPORTAR
        TITLE_1 = 'Sapscript - Importar'.
    ENDCASE.
    DATASET = PATH.
    CALL SELECTION-SCREEN 9001 STARTING AT 5 6.
    CHECK SY-SUBRC EQ 0.
    CHECK NOT OBJ_NAME IS INITIAL.
    PERFORM Z_SAPSCRIPT.
  ELSEIF TABELA = 'X'.
    CASE IMPORT.
      WHEN ' '.                        " EXPORTAR
     Incluir
      WHEN: 'X'.                       " IMPORTAR
     Incluir
    ENDCASE.
  ENDIF.
END-OF-SELECTION.
      FORM DOWNLOAD                                                 *
FORM DOWNLOAD.
  DATA: NOMBRE LIKE RLGRAP-FILENAME.
  CONCATENATE PATH PROGRAMAS '.TXT' INTO NOMBRE.
  MENSSAGEM STA[] 50 'Exportando Programa' 'X'.
  CALL FUNCTION 'WS_DOWNLOAD'
       EXPORTING
            FILENAME         = NOMBRE
            FILETYPE         = 'ASC'
       TABLES
            DATA_TAB         = ITAB
       EXCEPTIONS
            FILE_OPEN_ERROR  = 1
            FILE_WRITE_ERROR = 2
            OTHERS           = 3.
  CASE SY-SUBRC.
    WHEN 0.
      WRITE: / 'Abaixou : ', NOMBRE .
    WHEN 1.
      WRITE: / 'FILE_OPEN_ERROR: ', NOMBRE.
    WHEN 2.
      WRITE: / 'FILE_WRITE_ERROR: ', NOMBRE.
  ENDCASE.
ENDFORM.
*&      Form  UPLOAD
FORM UPLOAD.
  DATA: C_AUX LIKE RLGRAP-FILENAME.
  CONCATENATE PATH NOME '.TXT' INTO C_AUX.
  CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
            FILENAME            = C_AUX
            FILETYPE            = 'ASC'
       TABLES
            DATA_TAB            = ITAB
       EXCEPTIONS
            CONVERSION_ERROR    = 1
            FILE_OPEN_ERROR     = 2
            FILE_READ_ERROR     = 3
            INVALID_TABLE_WIDTH = 4
            INVALID_TYPE        = 5
            NO_BATCH            = 6
            UNKNOWN_ERROR       = 7
            OTHERS              = 8.
  IF SY-SUBRC = 0. ENDIF.
ENDFORM.                               " UPLOAD
*&      Form  INSERT_LINE
FORM INSERT_LINE USING LC_START TYPE C LC_NAME TYPE C LC_VALUE TYPE ANY.
  CLEAR H_BDC.
  MOVE LC_START TO H_BDC-DYNBEGIN.
  IF LC_START = 'X'.
    MOVE:
      LC_NAME  TO H_BDC-PROGRAM,
      LC_VALUE TO H_BDC-DYNPRO.
  ELSE.
    MOVE:
      LC_NAME  TO H_BDC-FNAM,
      LC_VALUE TO H_BDC-FVAL.
  ENDIF.
  APPEND H_BDC.
ENDFORM.                               " INSERT_LINE
*&      Form  EXPORT_ON_LINE
FORM EXPORT_ON_LINE.
  TRANSLATE NOME USING '*%?_'.
  I = STRLEN( PATH ) - 1.
  MOVE PATH+I(1) TO SLASH.
  IF SLASH <> ''.
    CONCATENATE PATH '' INTO PATH.
  ENDIF.
  REFRESH: PROGRAMAS, PROGRAMAS2.
  SELECT NAME FROM TRDIR INTO TABLE PROGRAMAS
         WHERE NAME LIKE NOME.
  IF SY-SUBRC <> 0.
    MESSAGE S208(00) WITH 'Programa Não Encontrado na Biblioteca'.
    STOP.
  ENDIF.
  REFRESH: REPORT, TEXTOS, ITAB.
  LOOP AT PROGRAMAS.
    ITAB = PROGRAMAS .
    APPEND ITAB.
    READ REPORT PROGRAMAS INTO REPORT.
    CONCATENATE '###PROG##' PROGRAMAS INTO ITAB.
    MESSAGE S208(00) WITH 'Exportando Programa Principal'.
    APPEND ITAB.
    LOOP AT REPORT INTO ITAB.
      ITAB2 = ITAB.
      APPEND ITAB.
      CONDENSE ITAB2 NO-GAPS.
      SEARCH ITAB2 FOR 'include'.
      IF SY-SUBRC = 0.
        POSICAO = 7 + SY-FDPOS.
        PROGRAMAS2 = ITAB2+POSICAO(30).
        TRANSLATE PROGRAMAS2 USING '. '.
        APPEND PROGRAMAS2.
      ENDIF.
    ENDLOOP.
    ITAB = '###FIM##'.
    APPEND ITAB.
    CONCATENATE '###TEXT##' PROGRAMAS INTO ITAB.
    APPEND ITAB.
    MESSAGE S208(00) WITH 'Exportando Textos'.
    READ TEXTPOOL PROGRAMAS INTO TEXTOS LANGUAGE 'P'.
    LOOP AT TEXTOS.
      ITAB = TEXTOS.
      APPEND ITAB.
    ENDLOOP.
    ITAB = '###FIM##'.
    APPEND ITAB.
    DATA LC_MENS(50) TYPE C.
    LOOP AT PROGRAMAS2.
      CLEAR LC_MENS.
      CONCATENATE 'Exportando Include :' PROGRAMAS2 INTO LC_MENS
                           SEPARATED BY SPACE.
      MENSSAGEM PROGRAMAS2[] SY-TABIX LC_MENS ' '.
      READ TEXTPOOL PROGRAMAS2 INTO TEXTOS LANGUAGE 'P'.
      READ REPORT PROGRAMAS2 INTO REPORT.
      CONCATENATE '###INCL##' PROGRAMAS2 INTO ITAB.
      APPEND ITAB.
      LOOP AT REPORT INTO ITAB.
        APPEND ITAB.
      ENDLOOP.
      ITAB = '###FIM##'.
      APPEND ITAB.
    ENDLOOP.
  ENDLOOP.
  SELECT DNUM FROM D020S INTO TABLE DNUM
                      WHERE PROG = NOME.
  LOOP AT DNUM.
    DR_READNAME-DNUM = DNUM.
    DR_READNAME-PROG = NOME.
    CLEAR LC_MENS.
    CONCATENATE 'Exportando Tela :' DNUM INTO LC_MENS
                              SEPARATED BY SPACE.
    MENSSAGEM DNUM[] SY-TABIX LC_MENS ' '.
    IMPORT DYNPRO H F E M ID DR_READNAME.
    CONCATENATE '###Tela###' DR_READNAME INTO ITAB.
    APPEND ITAB.
    SELECT SINGLE * FROM D020T WHERE PROG = NOME
                                 AND DYNR = DNUM
                                 AND LANG = SY-LANGU.
    CONCATENATE '###NP###' D020T-DTXT INTO ITAB.
    APPEND ITAB.
    CONCATENATE '###H###' DR_READNAME INTO ITAB.
    APPEND ITAB.
    HC-PROG = H-PROG.
    HC-DNUM = H-DNUM.
    HC-TYPE = H-TYPE.
    HC-FNUM = H-FNUM.
    HC-DGRP = H-DGRP.
    HC-BZMX = H-BZMX.
    HC-BZBR = H-BZBR.
    HC-MILI = H-MILI.
    HC-MICO = H-MICO.
    HC-MALI = H-MALI.
    HC-MACO = H-MACO.
    HC-NOLI = H-NOLI.
    HC-NOCO = H-NOCO.
    HC-VALP = H-VALP.
    HC-CUAN = H-CUAN.
    HC-HDAT = H-HDAT.
    HC-SPRA = H-SPRA.
    HC-CUPO = H-CUPO.
    HC-DGEN = H-DGEN.
    HC-TGEN = H-TGEN.
    ITAB = HC.
    APPEND ITAB.
    CONCATENATE '###F###' DR_READNAME INTO ITAB.
    APPEND ITAB.
    LOOP AT F.                         " into itab.
      FNAM = F-FNAM.
      DIDX = F-DIDX.
      FLG1 = F-FLG1.
      FLG2 = F-FLG2.
      FLG3 = F-FLG3.
      FILL = F-FILL.
      FMB1 = F-FMB1.
      FMB2 = F-FMB2.
      COLR = F-COLR.
      LENG = F-LENG.
      LINE = F-LINE.
      COLN = F-COLN.
      LTYP = F-LTYP.
      LANF = F-LANF.
      LBLK = F-LBLK.
      LREP = F-LREP.
      FMKY = F-FMKY.
      PAID = F-PAID.
      UCNV = F-UCNV.
      TYPE = F-TYPE.
      AUTH = F-AUTH.
      WNAM = F-WNAM.
      DMAC = F-DMAC.
      GRP1 = F-GRP1.
      GRP2 = F-GRP2.
      GRP3 = F-GRP3.
      GRP4 = F-GRP4.
      ITYP = F-ITYP.
      AGLT = F-AGLT.
      ADEZ = F-ADEZ.
      STXT = F-STXT.
      CONCATENATE
      FNAM '|' DIDX '|' FLG1 '|' FLG2 '|' FLG3 '|' FILL '|'
      FMB1 '|' FMB2 '|' COLR '|' LENG '|' LINE '|' COLN '|'
      LTYP '|' LANF '|' LBLK '|' LREP '|' FMKY '|' PAID '|'
      UCNV '|' TYPE '|' AUTH '|' WNAM '|' DMAC '|' GRP1 '|'
      GRP2 '|' GRP3 '|' GRP4 '|' ITYP '|' AGLT '|' ADEZ '|' STXT
      INTO ITAB.
      APPEND ITAB.
    ENDLOOP.
    CONCATENATE '###E###' DR_READNAME INTO ITAB.
    APPEND ITAB.
    LOOP AT E INTO ITAB.
      APPEND ITAB.
    ENDLOOP.
    CONCATENATE '###M###' DR_READNAME INTO ITAB.
    APPEND ITAB.
    LOOP AT M INTO ITAB.
      APPEND ITAB.
    ENDLOOP.
    ITAB = '###FIM##'.
    APPEND ITAB.
  ENDLOOP.
  CONCATENATE '###TITLE##' PROGRAMAS INTO ITAB.
  APPEND ITAB.
  SELECT * FROM TITLE
       WHERE DDLANGUAGE = SY-LANGU
       AND   PROGNAME   = PROGRAMAS.
    CONCATENATE TITLE-DDNR '|' TITLE-TEXT_LINE INTO ITAB.
    APPEND ITAB.
  ENDSELECT.
  ITAB = '###FIM##'.
  APPEND ITAB.
  CALL FUNCTION 'RS_CUA_INTERNAL_FETCH'
       EXPORTING
            PROGRAM   = PROGRAMAS
       IMPORTING
            ADM       = ADM
       TABLES
            STA       = STA
            FUN       = FUN
            MEN       = MEN
            MTX       = MTX
            ACT       = ACT
            BUT       = BUT
            PFK       = PFK
            SET       = SET
            DOC       = DOC
            TIT       = TIT
       EXCEPTIONS
            NOT_FOUND = 1
            OTHERS    = 2.
  IF SY-SUBRC = 0. ENDIF.
  ITAB = '*INIC_LAST*'.
  APPEND ITAB.
  ITAB = LAST.
  APPEND ITAB.
  ITAB = '*FIM_LAST*'.
  APPEND ITAB.
  MENSSAGEM STA[] 10 'Exportando Gui-Status 10%' 'X'.
  ITAB = '*INIC_STA*'.
  APPEND ITAB.
  LOOP AT STA.
    ITAB = STA.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_STA*'.
  APPEND ITAB.
  ITAB = '*INIC_FUN*'.
  APPEND ITAB.
  LOOP AT FUN.
    ITAB = FUN.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_FUN*'.
  APPEND ITAB.
  MENSSAGEM STA[] 20 'Exportando Gui-Status 20%' 'X'.
  ITAB = '*INIC_MTX*'.
  APPEND ITAB.
  LOOP AT MTX.
    ITAB = MTX.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_MTX*'.
  APPEND ITAB.
  MENSSAGEM STA[] 30 'Exportando Gui-Status 30%' 'X'.
  ITAB = '*INIC_DOC*'.
  APPEND ITAB.
  LOOP AT DOC.
    ITAB = DOC.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_DOC*'.
  APPEND ITAB.
  MENSSAGEM STA[] 40 'Exportando Gui-Status 40%' 'X'.
  ITAB = '*INIC_TIT*'.
  APPEND ITAB.
  LOOP AT TIT.
    ITAB = TIT.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_TIT*'.
  APPEND ITAB.
  MENSSAGEM STA[] 50 'Exportando Gui-Status 50%' 'X'.
  ITAB = '*INIC_MEN*'.
  APPEND ITAB.
  LOOP AT MEN.
    ITAB = MEN.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_MEN*'.
  APPEND ITAB.
  MENSSAGEM STA[] 60 'Exportando Gui-Status 60%' 'X'.
  ITAB = '*INIC_ACT*'.
  APPEND ITAB.
  LOOP AT ACT.
    ITAB = ACT.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_ACT*'.
  APPEND ITAB.
  MENSSAGEM STA[] 70 'Exportando Gui-Status 70%' 'X'.
  ITAB = '*INIC_ADM*'.
  APPEND ITAB.
  ITAB = ADM.
  APPEND ITAB.
  ITAB = '*FIM_ADM*'.
  APPEND ITAB.
  MENSSAGEM STA[] 80 'Exportando Gui-Status 80%' 'X'.
  ITAB = '*INIC_BUT*'.
  APPEND ITAB.
  LOOP AT BUT.
    ITAB = BUT.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_BUT*'.
  APPEND ITAB.
  MENSSAGEM STA[] 90 'Exportando Gui-Status 90%' 'X'.
  ITAB = '*INIC_PFK*'.
  APPEND ITAB.
  LOOP AT PFK.
    ITAB = PFK.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_PFK*'.
  APPEND ITAB.
  MENSSAGEM STA[] 100 'Exportando Gui-Status 100%' 'X'.
  ITAB = '*INIC_SET*'.
  APPEND ITAB.
  LOOP AT SET.
    ITAB = SET.
    APPEND ITAB.
  ENDLOOP.
  ITAB = '*FIM_SET*'.
  APPEND ITAB.
  PERFORM DOWNLOAD.
ENDFORM.                               " EXPORT_ON_LINE
*&      Form  IMPORT_ON_LINE
FORM IMPORT_ON_LINE.
  CLEAR N_MARCA.
  CLEAR FLAG_MARC.
  IF NOME CS '*' OR NOME CS '?'.
    MESSAGE S208(00) WITH 'Erro importar Um a Um'.
    STOP.
  ENDIF.
  REFRESH: REPORT, TEXTOS, ITAB.
  CLEAR I.
  PERFORM UPLOAD.
  DATA FLAG(4) TYPE C.
  CLEAR FLAG.
  LOOP AT ITAB.
    IF ITAB CS '###PROG##'.
      MESSAGE S208(00) WITH 'Importando Programa Principal'.
      FLAG = 'PROG'.
    ENDIF.
    IF ITAB CS '###FIM##' AND FLAG = 'PROG'.
      INSERT REPORT NOME FROM REPORT.  " CRIA PROGRAMA
      REFRESH REPORT.
      COMMIT WORK.
    ENDIF.
    IF ITAB CS '###TITLE##'.
      FLAG = 'TITL'.
    ENDIF.
    IF ITAB CS '###FIM##' AND FLAG = 'TITL'.
      INSERT TEXTPOOL NOME FROM TEXTOS." CRIA TEXTOS
      REFRESH TEXTOS.
      COMMIT WORK.
    ENDIF.
    IF ITAB CS '###TEXT##'.
      MESSAGE S208(00) WITH 'Importando Textos'.
      FLAG = 'TEXT'.
    ENDIF.
    IF ITAB CS '###FIM##' AND FLAG = 'TEXT'.
      INSERT TEXTPOOL NOME FROM TEXTOS." CRIA TEXTOS
      REFRESH TEXTOS.
      COMMIT WORK.
    ENDIF.
    IF ITAB CS '###INCL##'.
      NOME2 = ITAB+15(8).
      FLAG = 'INCL'.
    ENDIF.
    IF ITAB CS '###FIM##' AND FLAG = 'INCL'.
      MESSAGE S368(00) WITH 'Importando Include :' NOME2.
      INSERT REPORT NOME2 FROM REPORT. " CRIA PROGRAMA
      REFRESH REPORT.
      COMMIT WORK.
    ENDIF.
    IF ITAB CS '###Tela###'.
      FLAG = 'TELA'.
      DR_READNAME = ITAB+16.
      MESSAGE S368(00) WITH 'Importando Tela :' DR_READNAME-DNUM.
    ENDIF.
    IF ITAB CS '###FIM##' AND FLAG = 'M'.
      EXPORT DYNPRO H F E M ID DR_READNAME.
      CLEAR : H, F, E, M.
      REFRESH : H, F, E, M.
      COMMIT WORK.
      REFRESH H_BDC.
      N_MARCA = N_MARCA + 1.
      PERFORM INSERT_LINE USING:
        'X' 'SAPMSEUS'       '0100',
        ' ' 'RS37A-DYNPROG'   DR_READNAME-PROG,
        ' ' 'FELD-DYNNR'      DR_READNAME-DNUM,
        ' ' 'RS37A-FUNHD'     'X',
        ' ' 'BDC_OKCODE'     'AEND',
        'X' 'SAPMSEUS'       '0150',
        ' ' 'RS37A-DTXT'      NOME_TELA,
        ' ' 'BDC_OKCODE'     '/11'.
      IF N_MARCA = 1.
        PERFORM INSERT_LINE USING:
          'X' 'SAPLSTRD'       '0100',
          ' ' 'BDC_OKCODE'     '/7'.
      ENDIF.
      PERFORM INSERT_LINE USING:
        'X' 'SAPMSEUS'       '0150',
        ' ' 'BDC_OKCODE'     'UPD',
        'X' 'SAPMSEUS'       '0150',
        ' ' 'BDC_OKCODE'     '/3',
        'X' 'SAPMSEUS'       '0100',
        ' ' 'BDC_OKCODE'     '/3'.
      CALL TRANSACTION 'SE51'
           USING  H_BDC
           MODE   'E'
           UPDATE 'S'
           MESSAGES INTO MESSTAB.
    ENDIF.
    IF ITAB CS '###NP###'.
      CLEAR NOME_TELA.
      NOME_TELA = ITAB+14(60).
    ENDIF.
    IF ITAB CS '###H###'.
      FLAG = 'H'.
    ENDIF.
    IF ITAB CS '###F###'.
      FLAG = 'F'.
    ENDIF.
    IF ITAB CS '###E###'.
      FLAG = 'E'.
    ENDIF.
    IF ITAB CS '###M###'.
      FLAG = 'M'.
    ENDIF.
    CASE FLAG.
      WHEN : 'PROG'.
        CHECK NOT ITAB CS '###PROG##'.
        CHECK NOT ITAB CS '###FIM##'.
        REPORT = ITAB.
        APPEND REPORT.
      WHEN : 'INCL'.
        CHECK NOT ITAB CS '###INCL##'.
        CHECK NOT ITAB CS '###FIM##'.
        REPORT = ITAB.
        APPEND REPORT.
      WHEN : 'TITL'.
        CHECK NOT ITAB CS '###TITLE##'.
        CHECK NOT ITAB CS '###FIM##'.
        REFRESH H_BDC.
        PERFORM INSERT_LINE USING:
          'X' 'SAPMSEU0'       '0200',
          ' ' 'RSEUX-CP'       'X',
          ' ' 'RSEUX-CP_VALUE' NOME,
          ' ' 'BDC_OKCODE'     'OBJA',
          'X' 'SAPMSSY0'       '0120',
          ' ' 'BDC_OKCODE'     '/5',
          'X' 'SAPMSEU0'       '0220',
          ' ' 'RSEUX-EP_VALUE'  NOME,
          ' ' 'RSEUX-CPZ'      'X',
          ' ' 'RSEUX-CPZ_VALUE' ITAB+0(3),
          ' ' 'BDC_OKCODE'     '/5',
          'X' 'SAPLSEU0'       '0302',
          ' ' 'RSEU1-TIT_TEXT' ITAB+4(60),
          ' ' 'BDC_OKCODE'     'SAVE',
          'X' 'SAPLSTRD'       '0100',
          ' ' 'KO007-L_DEVCLASS' ' ',
          ' ' 'BDC_OKCODE'     'TEMP',
          'X' 'SAPMSSY0'       '0120',
          ' ' 'BDC_OKCODE'     'TRRT',
          'X' 'SAPMSEU0'       '0200',
          ' ' 'BDC_OKCODE'     '/3'.
        CALL TRANSACTION 'SE80'
             USING  H_BDC
             MODE   'N'
             UPDATE 'S'
             MESSAGES INTO MESSTAB.
      WHEN : 'TEXT'.
        CHECK NOT ITAB CS '###TEXT##'.
        CHECK NOT ITAB CS '###FIM##'.
        TEXTOS = ITAB.
        APPEND TEXTOS.
      WHEN : 'H'.
        CHECK NOT ITAB CS '###H###'.
        CHECK NOT ITAB CS '###FIM##'.
        HC = ITAB.
        H-PROG = HC-PROG.
        H-DNUM = HC-DNUM.
        H-TYPE = HC-TYPE.
        H-FNUM = HC-FNUM.
        H-DGRP = HC-DGRP.
        H-BZMX = HC-BZMX.
        H-BZBR = HC-BZBR.
        H-MILI = HC-MILI.
        H-MICO = HC-MICO.
        H-MALI = HC-MALI.
        H-MACO = HC-MACO.
        H-NOLI = HC-NOLI.
        H-NOCO = HC-NOCO.
        H-VALP = HC-VALP.
        H-CUAN = HC-CUAN.
        H-HDAT = HC-HDAT.
        H-SPRA = HC-SPRA.
        H-CUPO = HC-CUPO.
        H-DGEN = HC-DGEN.
        H-TGEN = HC-TGEN.
        APPEND H.
      WHEN : 'F'.
        CHECK NOT ITAB CS '###F###'.
        CHECK NOT ITAB CS '###FIM##'.
        SPLIT ITAB AT '|' INTO
        FNAM DIDX FLG1 FLG2 FLG3 FILL FMB1 FMB2 COLR
        LENG LINE COLN LTYP LANF LBLK LREP FMKY PAID
        UCNV TYPE AUTH WNAM DMAC GRP1 GRP2 GRP3 GRP4
        ITYP AGLT ADEZ STXT.
        F-FNAM = FNAM.
        F-DIDX = DIDX.
        F-FLG1 = FLG1.
        F-FLG2 = FLG2.
        F-FLG3 = FLG3.
        F-FILL = FILL.
        F-FMB1 = FMB1.
        F-FMB2 = FMB2.
        F-COLR = COLR.
        F-LENG = LENG.
        F-LINE = LINE.
        F-COLN = COLN.
        F-LTYP = LTYP.
        F-LANF = LANF.
        F-LBLK = LBLK.
        F-LREP = LREP.
        F-FMKY = FMKY.
        F-PAID = PAID.
        F-UCNV = UCNV.
        F-TYPE = TYPE.
        F-AUTH = AUTH.
        F-WNAM = WNAM.
        F-DMAC = DMAC.
        F-GRP1 = GRP1.
        F-GRP2 = GRP2.
        F-GRP3 = GRP3.
        F-GRP4 = GRP4.
        F-ITYP = ITYP.
        F-AGLT = AGLT.
        F-ADEZ = ADEZ.
        F-STXT = STXT.
        APPEND F.
        CLEAR F.
      WHEN : 'E'.
        CHECK NOT ITAB CS '###E###'.
        CHECK NOT ITAB CS '###FIM##'.
        E = ITAB.
        APPEND E.
      WHEN : 'M'.
        CHECK NOT ITAB CS '###M###'.
        CHECK NOT ITAB CS '###FIM##'.
        M = ITAB.
        APPEND M.
    ENDCASE.
    IF ITAB CS '*INIC_LAST*'.
      FLAG_MARC = 'LAST'.
    ENDIF.
    IF ITAB CS '*FIM_LAST*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'LAST' AND
       NOT ITAB CS '*INIC_LAST*' AND
       NOT ITAB CS '*FIM_LAST*'.
      LAST = ITAB.
    ENDIF.
    IF ITAB CS '*INIC_STA*'.
      MESSAGE S208(00) WITH 'Importando Gui-Status'.
      FLAG_MARC = 'STA'.
    ENDIF.
    IF ITAB CS '*FIM_STA*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'STA' AND
       NOT ITAB CS '*INIC_STA*' AND
       NOT ITAB CS '*FIM_STA*'.
      STA = ITAB.
      APPEND STA.
    ENDIF.
    IF ITAB CS '*INIC_FUN*'.
      FLAG_MARC = 'FUN'.
    ENDIF.
    IF ITAB CS '*FIM_FUN*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'FUN' AND
       NOT ITAB CS '*INIC_FUN*' AND
       NOT ITAB CS '*FIM_FUN*'.
      FUN = ITAB.
      APPEND FUN.
    ENDIF.
    IF ITAB CS '*INIC_MTX*'.
      FLAG_MARC = 'MTX'.
    ENDIF.
    IF ITAB CS '*FIM_MTX*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'MTX' AND
       NOT ITAB CS '*INIC_MTX*' AND
       NOT ITAB CS '*FIM_MTX*'.
      MTX = ITAB.
      APPEND MTX.
    ENDIF.
    IF ITAB CS '*INIC_DOC*'.
      FLAG_MARC = 'DOC'.
    ENDIF.
    IF ITAB CS '*FIM_DOC*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'DOC' AND
       NOT ITAB CS '*INIC_DOC*' AND
       NOT ITAB CS '*FIM_DOC*'.
      DOC = ITAB.
      APPEND DOC.
    ENDIF.
    IF ITAB CS '*INIC_TIT*'.
      FLAG_MARC = 'TIT'.
    ENDIF.
    IF ITAB CS '*FIM_TIT*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'TIT' AND
       NOT ITAB CS '*INIC_TIT*' AND
       NOT ITAB CS '*FIM_TIT*'.
      TIT = ITAB.
      APPEND TIT.
    ENDIF.
    IF ITAB CS '*INIC_MEN*'.
      FLAG_MARC = 'MEN'.
    ENDIF.
    IF ITAB CS '*FIM_MEN*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'MEN' AND
       NOT ITAB CS '*INIC_MEN*' AND
       NOT ITAB CS '*FIM_MEN*'.
      MEN = ITAB.
      APPEND MEN.
    ENDIF.
    IF ITAB CS '*INIC_ACT*'.
      FLAG_MARC = 'ACT'.
    ENDIF.
    IF ITAB CS '*FIM_ACT*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'ACT' AND
       NOT ITAB CS '*INIC_ACT*' AND
       NOT ITAB CS '*FIM_ACT*'.
      ACT = ITAB.
      APPEND ACT.
    ENDIF.
    IF ITAB CS '*INIC_ADM*'.
      FLAG_MARC = 'ADM'.
    ENDIF.
    IF ITAB CS '*FIM_ADM*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'ADM' AND
       NOT ITAB CS '*INIC_ADM*' AND
       NOT ITAB CS '*FIM_ADM*'.
      ADM = ITAB.
    ENDIF.
    IF ITAB CS '*INIC_BUT*'.
      FLAG_MARC = 'BUT'.
    ENDIF.
    IF ITAB CS '*FIM_BUT*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'BUT' AND
       NOT ITAB CS '*INIC_BUT*' AND
       NOT ITAB CS '*FIM_BUT*'.
      BUT = ITAB.
      APPEND BUT.
    ENDIF.
    IF ITAB CS '*INIC_PFK*'.
      FLAG_MARC = 'PFK'.
    ENDIF.
    IF ITAB CS '*FIM_PFK*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'PFK' AND
       NOT ITAB CS '*INIC_PFK*' AND
       NOT ITAB CS '*FIM_PFK*'.
      PFK = ITAB.
      APPEND PFK.
    ENDIF.
    IF ITAB CS '*INIC_SET*'.
      FLAG_MARC = 'SET'.
    ENDIF.
    IF ITAB CS '*FIM_SET*'.
      CLEAR FLAG_MARC.
    ENDIF.
    IF FLAG_MARC = 'SET' AND
       NOT ITAB CS '*INIC_SET*' AND
       NOT ITAB CS '*FIM_SET*'.
      SET = ITAB.
      APPEND SET.
    ENDIF.
  ENDLOOP.
  TRKEY-DEVCLASS = '$TMP'.
  TRKEY-OBJ_TYPE = 'PROG'.
  TRKEY-OBJ_NAME = NOME.
  TRKEY-SUB_TYPE = 'CUAD'.
  TRKEY-SUB_NAME = NOME.
  CALL FUNCTION 'RS_CUA_INTERNAL_WRITE'
       EXPORTING
            PROGRAM   = NOME
            LANGUAGE  = SY-LANGU
            TR_KEY    = TRKEY
            ADM       = ADM
       TABLES
            STA       = STA
            FUN       = FUN
            MEN       = MEN
            MTX       = MTX
            ACT       = ACT
            BUT       = BUT
            PFK       = PFK
            SET       = SET
            DOC       = DOC
            TIT       = TIT
       EXCEPTIONS
            NOT_FOUND = 1
            OTHERS    = 2.
  IF SY-SUBRC = 0. ENDIF.
ENDFORM.                               " IMPORT_ON_LINE
*&      Form  EXPORT_RELATORIO
FORM EXPORT_RELATORIO.
  TRANSLATE NOME USING '*%?_'.
  I = STRLEN( PATH ) - 1.
  MOVE PATH+I(1) TO SLASH.
  IF SLASH <> ''.
    CONCATENATE PATH '' INTO PATH.
  ENDIF.
  REFRESH: PROGRAMAS.
  SELECT NAME FROM TRDIR INTO TABLE PROGRAMAS
         WHERE NAME LIKE NOME.
  LOOP AT PROGRAMAS.
    REFRESH: REPORT, TEXTOS, ITAB.
    READ TEXTPOOL PROGRAMAS INTO TEXTOS LANGUAGE 'P'.
    ITAB[] = TEXTOS[].
    READ REPORT PROGRAMAS INTO REPORT.
    ITAB = SEPARADOR.
    APPEND ITAB.
    LOOP AT REPORT INTO ITAB.
      APPEND ITAB.
    ENDLOOP.
    CHECK SY-SUBRC = 0.
    PERFORM DOWNLOAD.
  ENDLOOP.
  PERFORM DOWN_LOAD_CATALOGO.
ENDFORM.                               " EXPORT_RELATORIO
*&      Form  IMPORT_RELATORIO
FORM IMPORT_RELATORIO.
  REFRESH: REPORT, TEXTOS, ITAB.
  CLEAR I.
  PERFORM UPLOAD.
  LOOP AT ITAB.
    IF ITAB = SEPARADOR.
      I = 1.
    ENDIF.
    CASE I.
      WHEN 0.
        APPEND ITAB TO TEXTOS.
      WHEN 1.
        APPEND ITAB TO  REPORT.
    ENDCASE.
  ENDLOOP.
  DELETE REPORT INDEX 1.
  INSERT TEXTPOOL NOME FROM TEXTOS.    " CRIA TEXTOS
  INSERT REPORT   NOME FROM REPORT.    " CRIA PROGRAMA
ENDFORM.                               " IMPORT_RELATORIO
*&      Form  Z_EXPORTA_SAPSCRIPT
FORM Z_EXPORTA_SAPSCRIPT.
ENDFORM.                               " Z_EXPORTA_SAPSCRIPT
*&      Form  Z_IMPORTA_SAPSCRIPT
FORM Z_IMPORTA_SAPSCRIPT.
ENDFORM.                               " Z_IMPORTA_SAPSCRIPT
*&      Form  DOWN_LOAD_CATALOGO
      text
-->  p1        text
<--  p2        text
FORM DOWN_LOAD_CATALOGO.
  DATA : BEGIN OF PRG OCCURS 0,
           NOME LIKE RS38M-PROGRAMM,
         END OF PRG.
  PRG[] = PROGRAMAS[].
  SELECT NAME TEXT FROM TRDIRT INTO TABLE ITRDIR
         FOR ALL ENTRIES IN PRG
         WHERE SPRSL EQ SY-LANGU
           AND NAME  = PRG-NOME.
  DATA: NOMBRE LIKE RLGRAP-FILENAME.
  CONCATENATE PATH 'catalogo.TXT' INTO NOMBRE.
  MENSSAGEM STA[] 50 'Exportando Programa' 'X'.
  CALL FUNCTION 'WS_DOWNLOAD'
       EXPORTING
            FILENAME         = NOMBRE
            FILETYPE         = 'ASC'
       TABLES
            DATA_TAB         = ITRDIR
       EXCEPTIONS
            FILE_OPEN_ERROR  = 1
            FILE_WRITE_ERROR = 2
            OTHERS           = 3.
  IF SY-SUBRC = 0. ENDIF.
ENDFORM.                               " DOWN_LOAD_CATALOGO
*&      Form  Z_SAPSCRIPT
      text
-->  p1        text
<--  p2        text
FORM Z_SAPSCRIPT.
  REFRESH: TAB_NOME.
  IF NOT IMPORT IS INITIAL.
    MODE = 'IMPORT'.
    IF DATASET CS '%' OR DATASET CS '?'.
      MESSAGE E002(TD) WITH OBJ_NAME.
    ENDIF.
    TAB_NOME = OBJ_NAME.
    APPEND TAB_NOME.
  ELSE.
    TRANSLATE OBJ_NAME USING '*%?_'.
    MODE = 'EXPORT'.
    SELECT OBJ_NAME FROM *TADIR INTO TABLE TAB_NOME
                       WHERE OBJECT = OBJECT AND OBJ_NAME LIKE OBJ_NAME.
    DATASET_AUX = DATASET.
    I = STRLEN( DATASET_AUX ) - 1.
    MOVE DATASET_AUX+I(1) TO SLASH.
    IF SLASH <> ''.
      CONCATENATE DATASET_AUX '' INTO DATASET_AUX.
    ENDIF.
  ENDIF.
  LOOP AT TAB_NOME.
    OBJ_NAME = TAB_NOME.
    CONDENSE OBJ_NAME NO-GAPS.
check OBJECT
    CASE OBJECT.
      WHEN 'PRIN'. SUFFIX = '.PRI'.
      WHEN 'TEXT'. SUFFIX = '.TXT'.
      WHEN 'STYL'. SUFFIX = '.STY'.
      WHEN 'FORM'. SUFFIX = '.FOR'.
      WHEN OTHERS.
        WRITE: /
          'Fehler, als Objekt ist nur TEXT,STYL,FORM,PRIN möglich'.
        EXIT.
    ENDCASE.
    IF IMPORT IS INITIAL.
      CONCATENATE DATASET_AUX TAB_NOME SUFFIX INTO DATASET.
    ENDIF.

Similar Messages

  • When I try to download a program, the pop-up only gives me the option to "save" the program, instead of giving me the option to "run" the program. How do I fix this?

    I have tried downloading iTunes (and Quicktime), but instead of giving me the option to "run" the program, Firefox only gives me the option to "save" the program (which I already tried, does not work to give me access to the downloaded program). Is there a setting I need to change?

    That's intentional, because running exe files from your browser is a major security concern. You can run the file after you have downloaded it. If you don't know where it is on your computer, go to '''Tools > Downloads''', and double-click on it from the Downloads window.

  • How to download the SAP client into text file

    Hi,
    I want to download a SAP client to a text file for backup and then upload it again for restoration when needed. Can this be done?

    Hi,
    Regarding which data you want to export, you have to select the corresponding profiles in SCC8:
    If you want to export transaction data & master data (this is together known as application data), then you have to select the appropriate profile. Alongwith application data, customizing data would also be there, because it cant be transferred alone. ALso, you can choose whether to export user data or not.
    But please note that repository data (programs etc) would not be part of this export.
    The transaction is SCC8 for client export.
    For importing you can import like any other transport request.
    For details you could refer to the below link:
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c24c824ba111d189750000e8322d00/frameset.htm
    Thanks & Regards,
    Kunal.

  • Download recording from client 120 & upload it into 200

    Hi all.
    How to download recording from client 120, and upload it into client 200 in the same sap system ?
    Thanks
    Krupali

    Hi,
    I think u r talking about BDC recording.
    1. Record the transaction using SHDB in client 120.
    2. After recording u will get a Transaction Recorder page.
    3. In this page, click EXPORT button inn the application bar.
    4. Save it in the local file in ur desktop.
    5. Go to client 200, SHDB - New recording.
    6. Just give some transaction say SE38 and start recording.
    7. Come back. u will a Transaction recorder page.
    8. In this page, click IMPORT button and select the local file stored from client 120.
    9. Then u will same recording of client 120 in client 200.
    Regards,
    Prem

  • Upload/download program

    Hello, Java expert around the world:
    To create a uploading and downloading program, what are the considerations should i make before derive the coding?
    Is it the downloading program is the reverse of uploading program?

    My application just want to upload the file(all kind of format) from client to server, and download file(all kind of format) from server to client.
    I have tried the code below:
    import java.io.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletInputStream;
    public class FileUploadBean {
    public void doUpload(HttpServletRequest request, String f )
    throws IOException {
    PrintWriter pw = new PrintWriter(
    new BufferedWriter(new FileWriter( f )));
    ServletInputStream in = request.getInputStream();
    int i = in.read();
    while (i != -1) {
    pw.print((char) i);
    i = in.read();
    pw.close();
    The code have successful upload the file, but the file size is different after upload to server. How to correct the code above?

  • Help me for Programming Mail Client and Mail Server

    I need help on programming mail client.it is totaly new topic for me.
    and i hope some one experienced would surely help me.
    thanks

    Download mail api, it comes with tons of examples
    http://java.sun.com/products/javamail/
    amgandhi said it all... go download it ya lazy sack

  • Add Download Files to Client Software Page

    We need to add downloads to the novell client download page (/welcome/client-software.html). Can some kind sould point in a direction to add downloads to this page? I think the file i want to edit is client-software.html.en in the /srv/www/novell/welcome-novell folder.

    On 25/06/2013 23:26, carnold6 wrote:
    > Sorry, yes we are using OES11 SP2
    Since OES11 SP2 is currently pre-beta, I think you probably mean OES11
    SP1 (installed as an add-on to SLES11 SP2).
    > Yes, that helps a lot! We just want to add some files for download to
    > that client software download page. So, have a heading for "remote
    > control software" then list the software for download. In the same
    > layout/format as already exists on that page. I created a js file called
    > extradownloads.js:
    >
    > Code:
    > --------------------
    > addToWpProductNames("Remote Clients", "iFolder3");
    >
    >
    >
    > // Language = default
    > addToWpI18NProductNames("Remote Clients");
    >
    > var ifolder3clientLinks = new Array();
    > ifolder3clientLinks.push( new Array(1, "Teamviewer for Linux", "/novell/clients/remote/teamviewer_linux.tar.gz", "", "", "" ));
    > ifolder3clientLinks.push( new Array(1, "Teamviewer for Windows", "/novell/clients/remote/TeamViewerQS_en.exe", "", "", "" ));
    > ifolder3clientLinks.push( new Array(1, "Teamviewer for Mac", "/novell/clients/TeamViewerQS_en.dmg", "", "", "" ));
    > addToWpLinks("ifolder3client", ifolder3clientLinks);
    > --------------------
    >
    > I just created a clone js file from one that already existed. So this
    > may be why nothing is showing up on the page.
    Let me guess, you cloned it from ifolder3client.js?
    > I also linked the js file:
    >
    > Code:
    > --------------------
    > document.write('<script type="text/javascript" src="/welcome/links/extradownloads.js">\r\n</script>\r\n');
    > --------------------
    >
    > I have restarted apache with rcapache2 reload. When i go to the client
    > software page, nothing shows up from the added js file.
    The reason why I think you're not seeing your downloads is the same
    reason I think you created your file from ifolder3client.js - the
    presence of ifolder3clientLinks in your extradownloads.js file. What I
    suspect is happening is that an array called ifolder3clientLinks is
    created by your extradownloads.js file then recreated via ifolder3client.js.
    What you need to do is replace all occurrences of ifolder3clientLinks in
    your extradownloads.js file with something else (I'd suggest
    extradownloadsLinks to match filename).
    I don't think you'll need to restart Apache to see whether this works -
    just refresh/clear the browser cache for Client Software page.
    HTH.
    Simon
    Novell Knowledge Partner
    Do you work with Novell technologies at a university, college or school?
    If so, your campus could benefit from joining the Technology Transfer
    Partner (TTP) program. See novell.com/ttp for more details.

  • How many times can you install Lightroom 5? My problem is that I have saved my programs on C. To I have more space, I want to save my programs now on E. Can I now uninstall Lightroom and reinstall from C to E? Can I use the same license code as the first

    Please help!!
    How many times can you install Lightroom 5? My problem is that I have saved my programs on C. To I have more space, I want to save my programs now on E. Can I now uninstall Lightroom and reinstall from C to E? Can I use the same license code as the first installation?

    Thank you for your answers, it helps me a lot.
    But sorry for my ignorance. I understand how you mean it, but I don't know how to do it. I'm scared to lose the settings/edits of the images.

  • I've downloaded the Creative Cloud, once completed the creative cloud window pos up with spinning whell in center then the entire window disapears. How do I get it to remain open so that I can download programs needed.

    I've downloaded the Creative Cloud, once completed the creative cloud window pos up with spinning whell in center then the entire window disapears. How do I get it to remain open so that I can download programs needed

    right click the executable > click 'run as administrator'.

  • As I can download programs to my iPad, such s games, etc.thank you.is my first iPad and I want to lose all the things that can make my Ipad 4 16gb.

    hy how can i download programs to my ipad? how can i download games to my ipad? is my firts time with a ipad. please send to reply to my mail.thank you.

    Tap on the App Store icon and browse for something. Follow the prompts to download it (Authorizing payment if necessary) and you'l have a new app.

  • Depois de Atualizar para Mac 10.9 não consigo mais baixar Programas - Erro "hardware Gráfico "  (After Upgrading to Mac 10.9 I can no longer download Programs - Error "Hardware Graph" (

    Ola amigos
    Depois de atualizar para o sistema Mac OX 10.9 não consigo baixar programas e Games que tinha na versão anterior.
    Aparece um erro de " hardware Grafico não compativel"
    _____  Minha dúvida fica, porque antes eu comprei e baixo, e agora não baixa mais ?
    Alguem poderia ajudar ???
    my mac is Macbook Pro 5,2
    =============\\=============\\  in ingles     ==========================\\===============\\====================
    Hello friends
    After upgrading to Mac OX 10.9 system can not download programs and Games that had in the previous version.
    Appears an error of "hardware not compatible Grafico"
    _____ My question is, because before I bought and down, and now does not download anymore?
    Could someone help??

  • I bought photoshop from pc world, it was a download via activation code my computer has broken and had to be replaced how do i re download program as i no longer have the scratch card

    i bought photoshop from pc world, it was a download via activation code my computer has broken and had to be replaced how do i re download program as i no longer have the scratch card

    you just need your serial number.
    Downloads available:
    Suites and Programs:  CC 2014 | CC | CS6 | CS5.5 | CS5 | CS4 | CS3
    Acrobat:  XI, X | 9,8 | 9 standard
    Premiere Elements:  13 | 12 | 11, 10 | 9, 8, 7
    Photoshop Elements:  13 |12 | 11, 10 | 9,8,7
    Lightroom:  5.6| 5 | 4 | 3
    Captivate:  8 | 7 | 6 | 5
    Contribute:  CS5 | CS4, CS3
    Download and installation help for Adobe links
    Download and installation help for Prodesigntools links are listed on most linked pages.  They are critical; especially steps 1, 2 and 3.  If you click a link that does not have those steps listed, open a second window using the Lightroom 3 link to see those 'Important Instructions'.

  • How to download anyconnect vpn client 64 bit win 7

    Good day all,
    please i wanted to download anyconnect vpn client 64 bit win 7 from software.cisco.com and i was not able to do that after login in. please can someone help me on how or the steps i can take to get the download.
    secondly can i be able to install it using ASDM after the download because i do not have a tftp server for now. thanks

    Hi csco12434455 , 
    Try to go to the following link, the name of the file is: Web deployment package for Windows platforms.   
    This file does support W7 32 and 64 bits
    https://software.cisco.com/download/release.html?mdfid=286281272&flowid=72042&softwareid=282364313&release=3.1.06073&relind=AVAILABLE&rellifecycle=&reltype=latest
    Reference link:
    http://www.cisco.com/c/en/us/td/docs/security/asa/compatibility/asa-vpn-compatibility.html#47680
    And yes you can use ASDM to upload the file to the ASA flash , just go to  Tools > File managment. 
    Please rate helpful posts !
    Hope it helps
    - Randy - 

  • How do I save/download a PDF file  as an actual PDF that opens in Adobe Reader?

    When I save/download a PDF from Google Chrome it always saves as an Internet Explorer file instead of a PDF that opens in Adobe Reader.
    Why is this?
    And how can I fix it?
    I really need PDF files for school and work.

    What means "an Internet Explorer file"; what is the file type / extension?
    Also, how do you "save/download" these files?

  • Which Version of Adobe do I need to be able to "extract" a page from a existing  file and save/download to another file?

    Which Version of Adobe do I need to be able to "extract" a page from a existing  file and save/download to another file?

    Acrobat Pro or Standard.

Maybe you are looking for

  • Why I can't print a document that I received by email?

    any one can help?

  • Wow, faster speeds thanks to you guys! But I could...

    Hi, Me again. I would just like to say thank you to everyone here who helped me out. I bought a BT Business hub and my speed has rocketed. My line capacity was at around 650-750kbps, now I'm topping 950kbps, which means I went up a profile! This mean

  • 2013 workflow does not start on item created by a different worklow

    hi :) i have spd created reusable workflow 2010 on a list A creating an item in a list B. on that list - B - there is a 2013 spd reusable workflow which is supposed to start on item created but does not. the workflow does start manually. and it does

  • Report Viewer asking for Login credentials on Non-Development PC

    I have created several reports within Crystal 2008(using the push method). I run these reports in a VB6 application using the Report Viewer. Reports without sub-reports will run on both the development and non-development PC. If I try to run a report

  • ETA on next update?

    I've been using Muse for 11 whole days now and while I'm really enjoying it, it is absolutely riddled with annoying little bugs and weird behaviours that have, by in large, been reported in the bugs section. Silly things like the states in the accord