‎2006 Feb 16 9:12 PM
Hi.
in a program i'm downloading the data using "gui_download" function module.
could you please tell me how can i re-write it using "open dataset" method.
because, i used "gui_download" for downloading to local pc. now i dont want to download like that....
plz tell me how can i do that?
now the code is like this:
<b>form download_data.
data: p_file type c.
*---Download the data into text file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = p_file
FILETYPE = 'ASC'
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = t_data
EXCEPTIONS
OTHERS = 22
.
IF SY-SUBRC <> 0.
write: / 'error in writing the file'.
exit.
ENDIF.
endform. </b> "DOWNLOAD_DATA
thnx,
‎2006 Feb 16 9:15 PM
Try this
Open dataset <filename> for output.
Loop at itab.
Transfer itab to <filename>.
Endloop.
Close dataset <filename>.
‎2006 Feb 16 9:15 PM
Try this
Open dataset <filename> for output.
Loop at itab.
Transfer itab to <filename>.
Endloop.
Close dataset <filename>.
‎2006 Feb 16 9:17 PM
Hi,
Use like below...
Open dataset p_file for output.
Loop at t_data.
Transfer t_data to p_file.
Endloop.
Close dataset p_file.
‎2006 Feb 16 9:35 PM
‎2006 Feb 16 9:55 PM
‎2006 Feb 16 9:36 PM
hi ..
check program ......
TABLES:ZEJECUTIVOS. "Tabla de Ejecutivos
DATA: BEGIN OF I_ZEJECUTIVOS OCCURS 10,
KUNNR LIKE ZEJECUTIVOS-KUNNR,
CEJEC LIKE ZEJECUTIVOS-CEJEC,
ZCVEFUN LIKE ZEJECUTIVOS-ZCVEFUN,
BAJA.
DATA: END OF I_ZEJECUTIVOS.
DATA: BEGIN OF X_ZEJECUTIVOS OCCURS 10,
KUNNR(10),
CEJEC(10),
ZCVEFUN(3).
DATA: END OF X_ZEJECUTIVOS.
DATA: LENG_REG TYPE I VALUE 0024.
SELECTION-SCREEN BEGIN OF BLOCK 123 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP.
PARAMETERS: EN_UNIX AS CHECKBOX DEFAULT 'X',
FILE(145) DEFAULT
'/usr/sap/interfases/pluricom/out/zlog017po.001'
LOWER CASE OBLIGATORY.
SELECTION-SCREEN SKIP.
PARAMETERS: EN_PC AS CHECKBOX DEFAULT ' ',
FILE1 LIKE RLGRAP-FILENAME DEFAULT 'C:\zlog017po.001'
OBLIGATORY.
LOWER CASE OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK 123.
START-OF-SELECTION.
CLEAR I_ZEJECUTIVOS.
REFRESH I_ZEJECUTIVOS.
PERFORM F_SEL_ZEJECUTIVOS.
PERFORM F_LOAD.
END-OF-SELECTION.
&----
*& Form F_SEL_TBRC
&----
text
----
--> p1 text
<-- p2 text
----
FORM F_SEL_ZEJECUTIVOS.
SELECT * INTO CORRESPONDING FIELDS OF TABLE I_ZEJECUTIVOS
FROM ZEJECUTIVOS.
ENDFORM. " F_SEL_TBRC
&----
*& Form F_LOAD
&----
text
----
--> p1 text
<-- p2 text
----
FORM F_LOAD.
DATA: V_TABIX LIKE SYST-TABIX.
BREAK-POINT.
LOOP AT I_ZEJECUTIVOS.
MOVE SYST-TABIX TO V_TABIX.
IF I_ZEJECUTIVOS-KUNNR IS INITIAL OR
I_ZEJECUTIVOS-CEJEC IS INITIAL OR
I_ZEJECUTIVOS-ZCVEFUN IS INITIAL.
MOVE 'B' TO I_ZEJECUTIVOS-BAJA.
MODIFY I_ZEJECUTIVOS INDEX V_TABIX TRANSPORTING BAJA.
ENDIF.
ENDLOOP.
DELETE I_ZEJECUTIVOS WHERE BAJA EQ 'B'.
IF EN_UNIX EQ 'X'.
OPEN DATASET FILE FOR OUTPUT IN TEXT MODE.
LOOP AT I_ZEJECUTIVOS.
MOVE: I_ZEJECUTIVOS-KUNNR TO X_ZEJECUTIVOS-KUNNR,
I_ZEJECUTIVOS-CEJEC TO X_ZEJECUTIVOS-CEJEC,
I_ZEJECUTIVOS-ZCVEFUN TO X_ZEJECUTIVOS-ZCVEFUN.
TRANSFER X_ZEJECUTIVOS TO FILE LENGTH LENG_REG.
ENDLOOP.
CLOSE DATASET FILE.
ENDIF.
IF EN_PC EQ 'X'.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
FILENAME = FILE1
TABLES
DATA_TAB = I_ZEJECUTIVOS.
ENDIF.
ENDFORM. " F_LOAD