<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: File Handling in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141238#M114674</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1.for ws_query&lt;/P&gt;&lt;P&gt;Internal table to store export data   &lt;/P&gt;&lt;P&gt;  DATA: begin of it_excelfile occurs 0,&lt;/P&gt;&lt;P&gt;   row(500) type c,&lt;/P&gt;&lt;P&gt;   end of it_excelfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: rc TYPE sy-ucomm,&lt;/P&gt;&lt;P&gt;        ld_answer TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_QUERY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            query    = 'FE'  "File Exist?&lt;/P&gt;&lt;P&gt;            filename = p_file&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            return   = rc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rc NE 0.                       "If File alread exists&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TITLEBAR              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         DIAGNOSE_OBJECT       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           text_question         = 'File Already exists!!'&lt;/P&gt;&lt;P&gt;           text_button_1         = 'Replace'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ICON_BUTTON_1         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           text_button_2         = 'New name'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ICON_BUTTON_2         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         DEFAULT_BUTTON        = '1'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         DISPLAY_CANCEL_BUTTON = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         USERDEFINED_F1_HELP   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         START_COLUMN          = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         START_ROW             = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         POPUP_TYPE            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;           answer                = ld_answer&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PARAMETER              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;          text_not_found         = 1&lt;/P&gt;&lt;P&gt;          OTHERS                 = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Option 1: Overwrite&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************&lt;/P&gt;&lt;P&gt;    IF ld_answer EQ '1'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           BIN_FILESIZE            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             filename                = p_file        "File Name&lt;/P&gt;&lt;P&gt;             filetype                = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FILELENGTH              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = it_excelfile   "Data table&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_write_error        = 1&lt;/P&gt;&lt;P&gt;            no_batch                = 2&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 3&lt;/P&gt;&lt;P&gt;            invalid_type            = 4&lt;/P&gt;&lt;P&gt;            OTHERS                  = 5.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE i003(zp) WITH&lt;/P&gt;&lt;P&gt;                 'There was an error during Excel file creation'(200).&lt;/P&gt;&lt;P&gt;        exit. "Causes short dump if removed and excel document was open  &lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Option 2: New name.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************&lt;/P&gt;&lt;P&gt;    ELSEIF ld_answer EQ '2'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'DOWNLOAD'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;             filename            = p_file          "File name&lt;/P&gt;&lt;P&gt;             filetype            = 'ASC'           "File type&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            col_select          = 'X'            "COL_SELECT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            col_selectmask      = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  "COL_SELECTMASK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             filetype_no_show    = 'X'     "Show file type selection?&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            act_filename        = filename_dat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;             data_tab            = it_excelfile    "Data table&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           fieldnames          = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;             file_open_error     = 01&lt;/P&gt;&lt;P&gt;             file_write_error    = 02&lt;/P&gt;&lt;P&gt;             invalid_filesize    = 03&lt;/P&gt;&lt;P&gt;             invalid_table_width = 04&lt;/P&gt;&lt;P&gt;             invalid_type        = 05&lt;/P&gt;&lt;P&gt;             no_batch            = 06&lt;/P&gt;&lt;P&gt;             unknown_error       = 07.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.                               "File does not alread exist.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         BIN_FILESIZE            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           filename                = p_file         "File name&lt;/P&gt;&lt;P&gt;           filetype                = 'ASC'          "File type&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         FILELENGTH              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;           data_tab                = it_excelfile   "Data table&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;           file_write_error        = 1&lt;/P&gt;&lt;P&gt;           no_batch                = 2&lt;/P&gt;&lt;P&gt;           gui_refuse_filetransfer = 3&lt;/P&gt;&lt;P&gt;           invalid_type            = 4&lt;/P&gt;&lt;P&gt;           OTHERS                  = 5.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE i003(zp) WITH&lt;/P&gt;&lt;P&gt;               'There was an error during Excel file creation'(200).&lt;/P&gt;&lt;P&gt;      exit. "Causes short dump if removed and excel document was open  &lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. for ws_filename_get..&lt;/P&gt;&lt;P&gt;REPORT ZEXCEL LINE-SIZE 170 LINE-COUNT 58&lt;/P&gt;&lt;P&gt;                 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: BEGIN OF TBXLS OCCURS 5,&lt;/P&gt;&lt;P&gt;           LINE         LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;           COLN         TYPE I,&lt;/P&gt;&lt;P&gt;           STRING(1024) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TBXLS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         BEGIN OF TABXLS OCCURS 5,&lt;/P&gt;&lt;P&gt;           LINEA TYPE I,&lt;/P&gt;&lt;P&gt;           CODIGO(10) TYPE C,&lt;/P&gt;&lt;P&gt;           NUMLINEA TYPE I,&lt;/P&gt;&lt;P&gt;           TEXTO(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         END OF TABXLS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: P_NCOLN TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ole objects declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: H_APPL  LIKE OBJ_RECORD,&lt;/P&gt;&lt;P&gt;         H_WORK  LIKE OBJ_RECORD,&lt;/P&gt;&lt;P&gt;         H_CELL  LIKE OBJ_RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INCLUDE OLE2INCL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INCLUDE DOCSINCL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   SELECTION-SCREEN  BEGIN OF BLOCK B0 WITH FRAME.&lt;/P&gt;&lt;P&gt;   PARAMETERS:     P_CAMI     LIKE RLGRAP-FILENAME. "Archivo Excel&lt;/P&gt;&lt;P&gt;   PARAMETERS:     P_NLINE    LIKE SY-INDEX. "Numero aproximado de lineas&lt;/P&gt;&lt;P&gt;   SELECTION-SCREEN END OF BLOCK B0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_CAMI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;               DEF_FILENAME     = ' '&lt;/P&gt;&lt;P&gt;               DEF_PATH         = P_CAMI&lt;/P&gt;&lt;P&gt;               MASK             = ',*.xls.'&lt;/P&gt;&lt;P&gt;               MODE             = 'O'&lt;/P&gt;&lt;P&gt;               TITLE            = 'Archivo a importar'&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;               FILENAME         = P_CAMI&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;               INV_WINSYS       = 01&lt;/P&gt;&lt;P&gt;               NO_BATCH         = 02&lt;/P&gt;&lt;P&gt;               SELECTION_CANCEL = 03&lt;/P&gt;&lt;P&gt;               SELECTION_ERROR  = 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     P_CAMI = 'C:PLANTILLAS.XLS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF P_NLINE IS INITIAL.&lt;/P&gt;&lt;P&gt;       P_NLINE = 1000.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Numero de columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     P_NCOLN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM PROCESSA_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM IMPRIMIR_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Criar remessas de Exporta&amp;#135;Æo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESSA_PLANILHA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   FORM PROCESSA_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start Excel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF H_APPL-HEADER = SPACE OR H_APPL-HANDLE = -1.&lt;/P&gt;&lt;P&gt;       CREATE OBJECT   H_APPL  'EXCEL.APPLICATION'.&lt;/P&gt;&lt;P&gt;       IF SY-SUBRC NE 0. MESSAGE I002(SY) WITH SY-MSGLI. ENDIF.&lt;/P&gt;&lt;P&gt;       SET PROPERTY OF H_APPL  'VISIBLE' = 0.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Open file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     CALL METHOD OF H_APPL 'WORKBOOKS' = H_WORK.&lt;/P&gt;&lt;P&gt;     CALL METHOD OF H_WORK 'OPEN' EXPORTING #1 = P_CAMI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ler dados da tabela Excel.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     PERFORM CAPTURAR_DADOS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Excel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     CALL METHOD OF    H_APPL  'QUIT'.&lt;/P&gt;&lt;P&gt;     FREE OBJECT H_APPL.&lt;/P&gt;&lt;P&gt;     H_APPL-HANDLE = -1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Se a primeira linha for comentarios (nome dos campos)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE tbxls WHERE ( string = space ) OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   ( line = 1 ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     SORT TBXLS BY LINE COLN.&lt;/P&gt;&lt;P&gt;     REFRESH TABXLS.&lt;/P&gt;&lt;P&gt;     CLEAR TABXLS.&lt;/P&gt;&lt;P&gt;     LOOP AT TBXLS.&lt;/P&gt;&lt;P&gt;       AT NEW LINE.&lt;/P&gt;&lt;P&gt;         CLEAR TABXLS.&lt;/P&gt;&lt;P&gt;       ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IF ( TBXLS-COLN = 1 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-LINEA.&lt;/P&gt;&lt;P&gt;       ELSEIF ( TBXLS-COLN = 2 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-CODIGO.&lt;/P&gt;&lt;P&gt;       ELSEIF ( TBXLS-COLN = 3 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-NUMLINEA.&lt;/P&gt;&lt;P&gt;       ELSEIF ( TBXLS-COLN = 4 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-TEXTO.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       AT END OF LINE.&lt;/P&gt;&lt;P&gt;         APPEND TABXLS.&lt;/P&gt;&lt;P&gt;       ENDAT.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDFORM.                               " PROCESSA_PLANILHA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM CAPTURAR_DADOS                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;   FORM CAPTURAR_DADOS.&lt;/P&gt;&lt;P&gt;     DATA: EXCEL_LINE LIKE SY-INDEX,&lt;/P&gt;&lt;P&gt;           EXCEL_COLN LIKE SY-INDEX,&lt;/P&gt;&lt;P&gt;           CELL_VALUE(132) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     DO P_NLINE TIMES.&lt;/P&gt;&lt;P&gt;       EXCEL_LINE = SY-INDEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DO P_NCOLN TIMES.&lt;/P&gt;&lt;P&gt;         EXCEL_COLN = SY-INDEX.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get cell value data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         CALL METHOD OF   H_APPL 'CELLS' = H_CELL&lt;/P&gt;&lt;P&gt;                                         EXPORTING #1 = EXCEL_LINE&lt;/P&gt;&lt;P&gt;                                                   #2 = EXCEL_COLN.&lt;/P&gt;&lt;P&gt;         GET PROPERTY OF  H_CELL 'VALUE'      = CELL_VALUE.&lt;/P&gt;&lt;P&gt;         CLEAR: TBXLS.&lt;/P&gt;&lt;P&gt;         TBXLS-LINE   = EXCEL_LINE.&lt;/P&gt;&lt;P&gt;         TBXLS-COLN   = EXCEL_COLN.&lt;/P&gt;&lt;P&gt;         TBXLS-STRING = CELL_VALUE.&lt;/P&gt;&lt;P&gt;         APPEND TBXLS.&lt;/P&gt;&lt;P&gt;       ENDDO.&lt;/P&gt;&lt;P&gt;     ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDFORM.                               " Capturar_dados&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  IMPRIMIR_PLANILHA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   FORM IMPRIMIR_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     LOOP AT TABXLS.&lt;/P&gt;&lt;P&gt;       WRITE: / TABXLS-LINEA, TABXLS-CODIGO, TABXLS-NUMLINEA, TABXLS-TEXTO.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points if helpful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 08 Feb 2006 08:31:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-02-08T08:31:51Z</dc:date>
    <item>
      <title>File Handling</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141237#M114673</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts..&lt;/P&gt;&lt;P&gt;Can any body tell me how to use WS_QUERY and WS_FILENAME_GET with some example code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx in Advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2006 08:28:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141237#M114673</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-08T08:28:03Z</dc:date>
    </item>
    <item>
      <title>Re: File Handling</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141238#M114674</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1.for ws_query&lt;/P&gt;&lt;P&gt;Internal table to store export data   &lt;/P&gt;&lt;P&gt;  DATA: begin of it_excelfile occurs 0,&lt;/P&gt;&lt;P&gt;   row(500) type c,&lt;/P&gt;&lt;P&gt;   end of it_excelfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: rc TYPE sy-ucomm,&lt;/P&gt;&lt;P&gt;        ld_answer TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_QUERY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            query    = 'FE'  "File Exist?&lt;/P&gt;&lt;P&gt;            filename = p_file&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            return   = rc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rc NE 0.                       "If File alread exists&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         TITLEBAR              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         DIAGNOSE_OBJECT       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           text_question         = 'File Already exists!!'&lt;/P&gt;&lt;P&gt;           text_button_1         = 'Replace'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ICON_BUTTON_1         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           text_button_2         = 'New name'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ICON_BUTTON_2         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         DEFAULT_BUTTON        = '1'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         DISPLAY_CANCEL_BUTTON = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         USERDEFINED_F1_HELP   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         START_COLUMN          = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         START_ROW             = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         POPUP_TYPE            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;           answer                = ld_answer&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PARAMETER              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;          text_not_found         = 1&lt;/P&gt;&lt;P&gt;          OTHERS                 = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Option 1: Overwrite&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************&lt;/P&gt;&lt;P&gt;    IF ld_answer EQ '1'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           BIN_FILESIZE            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             filename                = p_file        "File Name&lt;/P&gt;&lt;P&gt;             filetype                = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FILELENGTH              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = it_excelfile   "Data table&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_write_error        = 1&lt;/P&gt;&lt;P&gt;            no_batch                = 2&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 3&lt;/P&gt;&lt;P&gt;            invalid_type            = 4&lt;/P&gt;&lt;P&gt;            OTHERS                  = 5.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE i003(zp) WITH&lt;/P&gt;&lt;P&gt;                 'There was an error during Excel file creation'(200).&lt;/P&gt;&lt;P&gt;        exit. "Causes short dump if removed and excel document was open  &lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Option 2: New name.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************&lt;/P&gt;&lt;P&gt;    ELSEIF ld_answer EQ '2'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'DOWNLOAD'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;             filename            = p_file          "File name&lt;/P&gt;&lt;P&gt;             filetype            = 'ASC'           "File type&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            col_select          = 'X'            "COL_SELECT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            col_selectmask      = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  "COL_SELECTMASK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             filetype_no_show    = 'X'     "Show file type selection?&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            act_filename        = filename_dat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;             data_tab            = it_excelfile    "Data table&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           fieldnames          = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;             file_open_error     = 01&lt;/P&gt;&lt;P&gt;             file_write_error    = 02&lt;/P&gt;&lt;P&gt;             invalid_filesize    = 03&lt;/P&gt;&lt;P&gt;             invalid_table_width = 04&lt;/P&gt;&lt;P&gt;             invalid_type        = 05&lt;/P&gt;&lt;P&gt;             no_batch            = 06&lt;/P&gt;&lt;P&gt;             unknown_error       = 07.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.                               "File does not alread exist.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         BIN_FILESIZE            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           filename                = p_file         "File name&lt;/P&gt;&lt;P&gt;           filetype                = 'ASC'          "File type&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         FILELENGTH              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;           data_tab                = it_excelfile   "Data table&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;           file_write_error        = 1&lt;/P&gt;&lt;P&gt;           no_batch                = 2&lt;/P&gt;&lt;P&gt;           gui_refuse_filetransfer = 3&lt;/P&gt;&lt;P&gt;           invalid_type            = 4&lt;/P&gt;&lt;P&gt;           OTHERS                  = 5.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE i003(zp) WITH&lt;/P&gt;&lt;P&gt;               'There was an error during Excel file creation'(200).&lt;/P&gt;&lt;P&gt;      exit. "Causes short dump if removed and excel document was open  &lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. for ws_filename_get..&lt;/P&gt;&lt;P&gt;REPORT ZEXCEL LINE-SIZE 170 LINE-COUNT 58&lt;/P&gt;&lt;P&gt;                 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: BEGIN OF TBXLS OCCURS 5,&lt;/P&gt;&lt;P&gt;           LINE         LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;           COLN         TYPE I,&lt;/P&gt;&lt;P&gt;           STRING(1024) TYPE C,&lt;/P&gt;&lt;P&gt;         END OF TBXLS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         BEGIN OF TABXLS OCCURS 5,&lt;/P&gt;&lt;P&gt;           LINEA TYPE I,&lt;/P&gt;&lt;P&gt;           CODIGO(10) TYPE C,&lt;/P&gt;&lt;P&gt;           NUMLINEA TYPE I,&lt;/P&gt;&lt;P&gt;           TEXTO(80),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         END OF TABXLS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: P_NCOLN TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ole objects declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   DATA: H_APPL  LIKE OBJ_RECORD,&lt;/P&gt;&lt;P&gt;         H_WORK  LIKE OBJ_RECORD,&lt;/P&gt;&lt;P&gt;         H_CELL  LIKE OBJ_RECORD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INCLUDE OLE2INCL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INCLUDE DOCSINCL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   SELECTION-SCREEN  BEGIN OF BLOCK B0 WITH FRAME.&lt;/P&gt;&lt;P&gt;   PARAMETERS:     P_CAMI     LIKE RLGRAP-FILENAME. "Archivo Excel&lt;/P&gt;&lt;P&gt;   PARAMETERS:     P_NLINE    LIKE SY-INDEX. "Numero aproximado de lineas&lt;/P&gt;&lt;P&gt;   SELECTION-SCREEN END OF BLOCK B0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_CAMI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;               DEF_FILENAME     = ' '&lt;/P&gt;&lt;P&gt;               DEF_PATH         = P_CAMI&lt;/P&gt;&lt;P&gt;               MASK             = ',*.xls.'&lt;/P&gt;&lt;P&gt;               MODE             = 'O'&lt;/P&gt;&lt;P&gt;               TITLE            = 'Archivo a importar'&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;               FILENAME         = P_CAMI&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;               INV_WINSYS       = 01&lt;/P&gt;&lt;P&gt;               NO_BATCH         = 02&lt;/P&gt;&lt;P&gt;               SELECTION_CANCEL = 03&lt;/P&gt;&lt;P&gt;               SELECTION_ERROR  = 04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     P_CAMI = 'C:PLANTILLAS.XLS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF P_NLINE IS INITIAL.&lt;/P&gt;&lt;P&gt;       P_NLINE = 1000.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Numero de columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     P_NCOLN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM PROCESSA_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     PERFORM IMPRIMIR_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Criar remessas de Exporta&amp;#135;Æo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESSA_PLANILHA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   FORM PROCESSA_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start Excel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     IF H_APPL-HEADER = SPACE OR H_APPL-HANDLE = -1.&lt;/P&gt;&lt;P&gt;       CREATE OBJECT   H_APPL  'EXCEL.APPLICATION'.&lt;/P&gt;&lt;P&gt;       IF SY-SUBRC NE 0. MESSAGE I002(SY) WITH SY-MSGLI. ENDIF.&lt;/P&gt;&lt;P&gt;       SET PROPERTY OF H_APPL  'VISIBLE' = 0.&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Open file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     CALL METHOD OF H_APPL 'WORKBOOKS' = H_WORK.&lt;/P&gt;&lt;P&gt;     CALL METHOD OF H_WORK 'OPEN' EXPORTING #1 = P_CAMI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ler dados da tabela Excel.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     PERFORM CAPTURAR_DADOS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release Excel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     CALL METHOD OF    H_APPL  'QUIT'.&lt;/P&gt;&lt;P&gt;     FREE OBJECT H_APPL.&lt;/P&gt;&lt;P&gt;     H_APPL-HANDLE = -1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Se a primeira linha for comentarios (nome dos campos)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DELETE tbxls WHERE ( string = space ) OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   ( line = 1 ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     SORT TBXLS BY LINE COLN.&lt;/P&gt;&lt;P&gt;     REFRESH TABXLS.&lt;/P&gt;&lt;P&gt;     CLEAR TABXLS.&lt;/P&gt;&lt;P&gt;     LOOP AT TBXLS.&lt;/P&gt;&lt;P&gt;       AT NEW LINE.&lt;/P&gt;&lt;P&gt;         CLEAR TABXLS.&lt;/P&gt;&lt;P&gt;       ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IF ( TBXLS-COLN = 1 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-LINEA.&lt;/P&gt;&lt;P&gt;       ELSEIF ( TBXLS-COLN = 2 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-CODIGO.&lt;/P&gt;&lt;P&gt;       ELSEIF ( TBXLS-COLN = 3 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-NUMLINEA.&lt;/P&gt;&lt;P&gt;       ELSEIF ( TBXLS-COLN = 4 ).&lt;/P&gt;&lt;P&gt;         MOVE TBXLS-STRING TO TABXLS-TEXTO.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       AT END OF LINE.&lt;/P&gt;&lt;P&gt;         APPEND TABXLS.&lt;/P&gt;&lt;P&gt;       ENDAT.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDFORM.                               " PROCESSA_PLANILHA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM CAPTURAR_DADOS                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;   FORM CAPTURAR_DADOS.&lt;/P&gt;&lt;P&gt;     DATA: EXCEL_LINE LIKE SY-INDEX,&lt;/P&gt;&lt;P&gt;           EXCEL_COLN LIKE SY-INDEX,&lt;/P&gt;&lt;P&gt;           CELL_VALUE(132) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     DO P_NLINE TIMES.&lt;/P&gt;&lt;P&gt;       EXCEL_LINE = SY-INDEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display indicator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DO P_NCOLN TIMES.&lt;/P&gt;&lt;P&gt;         EXCEL_COLN = SY-INDEX.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get cell value data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         CALL METHOD OF   H_APPL 'CELLS' = H_CELL&lt;/P&gt;&lt;P&gt;                                         EXPORTING #1 = EXCEL_LINE&lt;/P&gt;&lt;P&gt;                                                   #2 = EXCEL_COLN.&lt;/P&gt;&lt;P&gt;         GET PROPERTY OF  H_CELL 'VALUE'      = CELL_VALUE.&lt;/P&gt;&lt;P&gt;         CLEAR: TBXLS.&lt;/P&gt;&lt;P&gt;         TBXLS-LINE   = EXCEL_LINE.&lt;/P&gt;&lt;P&gt;         TBXLS-COLN   = EXCEL_COLN.&lt;/P&gt;&lt;P&gt;         TBXLS-STRING = CELL_VALUE.&lt;/P&gt;&lt;P&gt;         APPEND TBXLS.&lt;/P&gt;&lt;P&gt;       ENDDO.&lt;/P&gt;&lt;P&gt;     ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDFORM.                               " Capturar_dados&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  IMPRIMIR_PLANILHA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   FORM IMPRIMIR_PLANILHA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     LOOP AT TABXLS.&lt;/P&gt;&lt;P&gt;       WRITE: / TABXLS-LINEA, TABXLS-CODIGO, TABXLS-NUMLINEA, TABXLS-TEXTO.&lt;/P&gt;&lt;P&gt;     ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points if helpful&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2006 08:31:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141238#M114674</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-08T08:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: File Handling</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141239#M114675</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can find example code at : &lt;A href="http://www.sapgenie.com/abap/code/abap1.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/code/abap1.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;tables:
       SSCRFIELDS. "

   data:
       IT(5000) OCCURS 100 WITH HEADER LINE.

   *-parameters----------------------------------------------------------*
   selection-screen:
       begin of block b1 with frame title text-004.
   parameters:
       sfn(128) obligatory lower case memory id z0s   " server file name
                default '/usr/sap/tmp/?',
       pfn(128) obligatory lower case memory id z0p   " pc file name
                default 'c:temptemp.txt',
       efn(128) obligatory lower case                 " editor file name
                DEFAULT 'notepad.exe'.
   selection-screen:
       skip,
       PUSHBUTTON /05(23) TEXT-001 USER-COMMAND ZGET, "Serv -&amp;gt; PC
       PUSHBUTTON  30(23) TEXT-002 USER-COMMAND ZPUT, "PC -&amp;gt; Serv
       PUSHBUTTON  55(23) TEXT-003 USER-COMMAND ZPAD, "Ver fichero
       end of block b1.
*-mainline------------------------------------------------------------*

*-events--------------------------------------------------------------*
   at selection-screen.
       case sscrfields-ucomm.
       when 'ZGET'.  perform getfrsrv.
       when 'ZPUT'.  perform puttosrv.
       when 'ZPAD'.  perform editfile.
       endcase.

   AT SELECTION-SCREEN ON VALUE-REQUEST FOR EFN.
     CALL FUNCTION 'WS_FILENAME_GET'
          EXPORTING
               DEF_FILENAME     = EFN
               DEF_PATH         = '/'
               MASK             = ',*.*,*.*.'
               MODE             = 'O'
               TITLE            = 'Get filename'
          IMPORTING
               FILENAME         = EFN
*              rc               =
          EXCEPTIONS
               INV_WINSYS       = 01
               NO_BATCH         = 02
               SELECTION_CANCEL = 03
               SELECTION_ERROR  = 04.

*-forms---------------------------------------------------------------*
   form editfile.
       data:
           exists value '0'.
       perform fileexists
           changing exists.
       if exists = '0'.
           refresh it.
           perform download.
           endif.
       perform runnotepad.
       endform.

*---------------------------------------------------------------------*
   form fileexists
       changing exists.
       call function 'WS_QUERY'
            exporting
                 filename       = pfn
                 query          = 'FE'     " file exists?
            importing
                 return         = exists
            exceptions
                 inv_query      = 1
                 no_batch       = 2
                 frontend_error = 3
                 others         = 4.
       endform.

*---------------------------------------------------------------------*
   form getfrsrv.
       refresh it.
       perform dsopen_input_text
           using sfn.
       perform xfer2it.
       perform download.
       perform runnotepad.
       endform.

*-forms---------------------------------------------------------------*
  form puttosrv.
       refresh it.
       perform upload.
       perform dsopen_output_text
          using sfn.
       perform xferfromit
           using sfn.
       endform.

*---------------------------------------------------------------------*
   form xferfromit
       using dsn.
       loop at it.
           perform dswrite
               using dsn
                     it.
           endloop.
       endform.

*---------------------------------------------------------------------*
   form xfer2it.
       while sy-subrc = 0.
           perform dsread
               using    sfn
               changing it.
           if sy-subrc &amp;lt;&amp;gt; 0.
               exit.
               endif.
           append it.
           endwhile.
       perform dsclose
           using sfn.
       endform.

*---------------------------------------------------------------------*
   form download.
       call function 'WS_DOWNLOAD'
            exporting
                 filename            = pfn
            tables
                 data_tab            = it
            exceptions
                 file_open_error     = 1
                 file_write_error    = 2
                 invalid_filesize    = 3
                 invalid_table_width = 4
                 invalid_type        = 5
                 no_batch            = 6
                 unknown_error       = 7
                 others              = 8.
      perform checkrc
           using 'WS_DOWNLOAD'.
       endform.

*---------------------------------------------------------------------*
   form runnotepad.
       data pgm(128).
       concatenate
           efn pfn into pgm
           separated by space.
       call function 'WS_EXECUTE'
            exporting
                 program        = pgm
            exceptions
                 frontend_error = 1
                 no_batch       = 2
                 prog_not_found = 3
                 illegal_option = 4
                 others         = 5.
       perform checkrc
           using 'WS_EXECUTE'.
       endform.

*---------------------------------------------------------------------*
   form upload.
       call function 'WS_UPLOAD'
            exporting
                 filename            = pfn
           tables
                 data_tab            = it
            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.
       perform checkrc
           using 'WS_UPLOAD'.
       endform.

*---------------------------------------------------------------------*
   form writetoscrn.
       window starting at 5  3
              ending   at 90 15.
       loop at it.
           write it.
           endloop.
       endform.

*---------------------------------------------------------------------*
   form checkrc using n.
       if sy-subrc &amp;lt;&amp;gt; 0.
           write: / 'rc=', sy-subrc, 'from', n.
           stop.
           endif.
       endform.

*-macro-for-form-definition-------------------------------------------*
  define dsform_open.
       form dsopen_&amp;amp;1_&amp;amp;2 using
               dsn  type c.
           data msg(80).
           open dataset dsn for &amp;amp;1 in &amp;amp;2 mode message msg.
           if sy-subrc &amp;lt;&amp;gt; 0.
               message e001(zk) with 'Error opening' dsn msg.
               endif.
           endform.
       end-of-definition.

*---------------------------------------------------------------------*
  dsform_open input  text.
   dsform_open input  binary.
   dsform_open output text.
   dsform_open output binary.
*--------------------------------------------------------------------
   form dsread
       using    dsn type c
       changing rec.

       statics: rctr type i.

       read dataset dsn into rec.
       case sy-subrc.
       when 0.
           add 1 to rctr.
       when 4.
           message s001(zk) with rctr 'records read from' dsn.
       when others.
           message e001(zk) with 'Error reading' dsn 'rc=' sy-subrc.
           endcase.
       endform.

*--------------------------------------------------------------------
   form dswrite
       using    dsn type c
                rec.

    statics: rctr type i.

      transfer rec to dsn.
       case sy-subrc.
       when 0.
           add 1 to rctr.
       when others.
           message e001(zk) with 'Error writing to' dsn 'rc=' sy-subrc.
           endcase.
       endform.

*--------------------------------------------------------------------
   form dsclose
       using dsn type c.
       close dataset dsn.
       if sy-subrc &amp;lt;&amp;gt; 0.
           message e001(zk) with 'Error closing' dsn 'rc=' sy-subrc.
           endif.
       endform.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2006 08:31:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141239#M114675</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-08T08:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: File Handling</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141240#M114676</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is a sample program for ws_query&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/&lt;/STRONG&gt;**************************************************************/&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/&lt;/STRONG&gt; */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/&lt;/STRONG&gt; Check users workstation is running WINDOWS, */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/&lt;/STRONG&gt; WINDOWS 95, or WINDOWS NT. OS/2 no good for */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/&lt;/STRONG&gt; this application. */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/&lt;/STRONG&gt; */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;/&lt;/STRONG&gt;**************************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_QUERY'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;P&gt;          QUERY  = 'WS'&lt;/P&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;P&gt;          RETURN = WINSYS.&lt;/P&gt;&lt;P&gt;IF WINSYS(2) NE 'WN'.                  "Win 3.X no good either&lt;/P&gt;&lt;P&gt;  WRITE: / 'Windows NT or Windows 95/98 is required'.&lt;/P&gt;&lt;P&gt;  EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_file_name USING    x_file_field_name&lt;/P&gt;&lt;P&gt;                   CHANGING y_file_name_with_path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : lv_file_path TYPE rlgrap-filename,&lt;/P&gt;&lt;P&gt;         lv_file_name TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM read_screen_values USING    x_file_field_name&lt;/P&gt;&lt;P&gt;                             CHANGING y_file_name_with_path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM split_path USING    y_file_name_with_path&lt;/P&gt;&lt;P&gt;                     CHANGING lv_file_path&lt;/P&gt;&lt;P&gt;                              lv_file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            def_filename = lv_file_name&lt;/P&gt;&lt;P&gt;            def_path     = lv_file_path&lt;/P&gt;&lt;P&gt;            mask         = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;            mode         = 'O'&lt;/P&gt;&lt;P&gt;            title        = 'Directory'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            filename     = p_infile&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS       = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_file_name&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2006 08:37:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141240#M114676</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-08T08:37:46Z</dc:date>
    </item>
    <item>
      <title>Re: File Handling</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141241#M114677</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;below is the code for ws_filename_get.&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        DEF_PATH  =  P_FILE&lt;/P&gt;&lt;P&gt;        MASK      =  ',*.txt.'&lt;/P&gt;&lt;P&gt;        MODE      =  ' '&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        FILENAME  = F_NAME&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        INV_WINSYS          = 1&lt;/P&gt;&lt;P&gt;        NO_BATCH            = 2&lt;/P&gt;&lt;P&gt;        SELECTION_CANCEL    = 3&lt;/P&gt;&lt;P&gt;        SELECTION_ERROR     = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;instead of ws_filename_get u can use below functionmodule because ws_filename_get is obsolete in current version.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt;CALL METHOD CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_OPEN_DIALOG&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;       DEFAULT_EXTENSION        =&lt;/P&gt;&lt;P&gt;       DEFAULT_FILENAME         = 'c:temp.txt'&lt;/P&gt;&lt;P&gt;        FILE_FILTER              = FILTER01&lt;/P&gt;&lt;P&gt;        INITIAL_DIRECTORY        = DIRECTORY&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        FILE_TABLE               = ITAB&lt;/P&gt;&lt;P&gt;        RC                       = RC01&lt;/P&gt;&lt;P&gt;        USER_ACTION              = ACTION01&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FILE_ENCODING            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        FILE_OPEN_DIALOG_FAILED  = 1&lt;/P&gt;&lt;P&gt;        CNTL_ERROR               = 2&lt;/P&gt;&lt;P&gt;        ERROR_NO_GUI             = 3&lt;/P&gt;&lt;P&gt;        NOT_SUPPORTED_BY_GUI     = 4&lt;/P&gt;&lt;P&gt;        others                   = 5.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt;below is for ws_query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WS_QUERY'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              FILENAME       =  filename&lt;/P&gt;&lt;P&gt;              QUERY          = 'FE'&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              RETURN         = RC&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              INV_QUERY      = 1&lt;/P&gt;&lt;P&gt;              NO_BATCH       = 2&lt;/P&gt;&lt;P&gt;              FRONTEND_ERROR = 3&lt;/P&gt;&lt;P&gt;              OTHERS         = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;instead of ws_query u can use below function module because ws_query is obsolete in current version&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_EXIST&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        FILE                     = filename&lt;/P&gt;&lt;P&gt;        RECEIVING&lt;/P&gt;&lt;P&gt;        RESULT                   = W_RESULT&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        CNTL_ERROR               = 1&lt;/P&gt;&lt;P&gt;        ERROR_NO_GUI             = 2&lt;/P&gt;&lt;P&gt;        WRONG_PARAMETER          = 3&lt;/P&gt;&lt;P&gt;        NOT_SUPPORTED_BY_GUI     = 4&lt;/P&gt;&lt;P&gt;        others                   = 5.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;sunil.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2006 09:09:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141241#M114677</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-08T09:09:13Z</dc:date>
    </item>
    <item>
      <title>Re: File Handling</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141242#M114678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Go through the code extract below. Hope this will be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_FILENAME01     TYPE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;      V_RC             TYPE I,&lt;/P&gt;&lt;P&gt;      V_TEXT_QUESTION  TYPE STRING,&lt;/P&gt;&lt;P&gt;      V_TEXT_QUESTION1 TYPE STRING,&lt;/P&gt;&lt;P&gt;      V_ANSWER         TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEF_FILENAME           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   DEF_PATH               = 'C:\'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MASK                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MODE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TITLE                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FILENAME               = V_FILENAME01&lt;/P&gt;&lt;P&gt;   RC                     = V_RC&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   INV_WINSYS             = 1&lt;/P&gt;&lt;P&gt;   NO_BATCH               = 2&lt;/P&gt;&lt;P&gt;   SELECTION_CANCEL       = 3&lt;/P&gt;&lt;P&gt;   SELECTION_ERROR        = 4&lt;/P&gt;&lt;P&gt;   OTHERS                 = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_QUERY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENVIRONMENT          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    FILENAME             = V_FILENAME01&lt;/P&gt;&lt;P&gt;    QUERY                = 'FE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WINID                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RETURN               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   INV_QUERY            = 1&lt;/P&gt;&lt;P&gt;   NO_BATCH             = 2&lt;/P&gt;&lt;P&gt;   FRONTEND_ERROR       = 3&lt;/P&gt;&lt;P&gt;   OTHERS               = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE 'ARE YOU SURE TO DELETE FILE ' V_FILENAME01 ' ?' INTO&lt;/P&gt;&lt;P&gt;V_TEXT_QUESTION1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TITLEBAR                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DIAGNOSE_OBJECT             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TEXT_QUESTION               = V_TEXT_QUESTION1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TEXT_BUTTON_1               = 'Ja'(001)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_1               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TEXT_BUTTON_2               = 'Nein'(002)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_2               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DEFAULT_BUTTON              = '1'&lt;/P&gt;&lt;P&gt;    DISPLAY_CANCEL_BUTTON       = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USERDEFINED_F1_HELP         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_COLUMN                = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_ROW                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POPUP_TYPE                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_QUICKINFO_BUTTON_1       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_QUICKINFO_BUTTON_2       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;    ANSWER                      = V_ANSWER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PARAMETER                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   TEXT_NOT_FOUND              = 1&lt;/P&gt;&lt;P&gt;   OTHERS                      = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF V_ANSWER = '1'.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_FILE_DELETE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    FILE          = V_FILENAME01&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   RETURN        = V_RC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF V_RC = '0'.&lt;/P&gt;&lt;P&gt;WRITE: 'FILE DELETED SUCCESSFULLY'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vaitheeswaran.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2006 09:41:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-handling/m-p/1141242#M114678</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-08T09:41:11Z</dc:date>
    </item>
  </channel>
</rss>

