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
-
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
KrupaliHi,
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 -
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.
thanksDownload 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. -
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
right click the executable > click 'run as administrator'.
-
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.
-
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
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. thanksHi 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?
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
-
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