'NAVIGATION_FILENAME_HELP + file_open_error

hi there,
I am making a BDC, i am supplying the input as a txt file using navigation_filename_help, now as soon as i open the f4 for the file name i get a file_open_error error.
Can anyone please help.
Regards

can u send the coding. there is many probs like u enter file name in small use only caps like 'ABC.TXT' or in sap gui prob. please send urs coding part.
Manish Kumar

Similar Messages

  • FILE_OPEN_ERROR  gui_upload

    Hi there , I´m  facing some troubles with the following code :
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                       = c:/example.txt
        FILETYPE                       = 'ASC'
       HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
      VIRUS_SCAN_PROFILE            =
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      TABLES
        DATA_TAB                      = reg_maestro
      EXCEPTIONS
       FILE_OPEN_ERROR               = 1
       FILE_READ_ERROR               = 2
       NO_BATCH                      = 3
       GUI_REFUSE_FILETRANSFER       = 4
       INVALID_TYPE                  = 5
       NO_AUTHORITY                  = 6
       UNKNOWN_ERROR                 = 7
       BAD_DATA_FORMAT               = 8
       HEADER_NOT_ALLOWED            = 9
       SEPARATOR_NOT_ALLOWED         = 10
       HEADER_TOO_LONG               = 11
       UNKNOWN_DP_ERROR              = 12
       ACCESS_DENIED                 = 13
       DP_OUT_OF_MEMORY              = 14
       DISK_FULL                     = 15
       DP_TIMEOUT                    = 16
       OTHERS                        = 17        .
    I´ve created a empty  example.txt file  and  put this in c:/ , but I got the error FILE_OPEN_ERROR , we recently upgrade to ecc 6.0 but I don´t if something is missing in the process about this kind of fuction.

    HI,
      Just try it simply as below.
    the possible reasons could be.
    1) file with that name is not existing in that path
    2) path name is wrong (u gave it as c:/ give it as c:\)
    3) file may be open..
    how ever just try with giving the file path and the output table and see how it works
    *-- Read the File From PC
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME = V_FILENAME
        TABLES
          DATA_TAB = I_FILE
        EXCEPTIONS
          OTHERS   = 17.
    Thanks
    mahesh

  • File_open_error while applying SAINT module - step DISASSEMBLE

    Hi there!
    I'm a newbie here
    I'm trying to apply a new module through SAINT transaction then when I start importing after few minutes I receive an error like this:
    file_open_error RC=03 DISASSEMBLE
    I've tried lots of times but always the same problem also if I try to import the same module in another r3 installation...
    What's the solution? thank you very much
    Sonya (Italy)

    Make sure your Tranport Management System (TMS, TCODE STMS) is working.
    The disassemble step is the process of moving files from the EPS/IN directory to the /usr/sap/trans/data and /usr/sap/trans/cofiles directoires.  You require the porper permissions and directory availability to perform this process of disassemble.
    lascia punto

  • File_Open_Error=1 message for SAP Gui 7.10 when running GUI_IS_ITS

    Hello,
    I'm trying to upload a text file using gui_is_its. When using sap gui 7.10 (SP 14) I get a file_open_error = 1 message. However, when I run the same option using sap gui 6.40 - the file uploads OK.
    Can you tell me why I get the error with the latest sap gui patch and how I can resolve this issue?

    Hi ,
    I have updated the GUI for the latest patch , that is 5. and still at sometimes when using query designer "critical Error" msg used to appear.. i have checked the logs but it doesnt give out any clue why this error occurs.. if  ya have any suggestion please let me inform as well..
    Thanks !

  • File_open_error with GUI_UPLOAD

    Hi All !
    I would like to upload the file which is under the path /interfaces/DEC120/Synchrolink/in in our SAP server.
    I use in the abap program :
    fic1 = '/interfaces/DEC120/Synchrolink/In/mv_slr.asc'.
    CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = fic1
          filetype                      = 'ASC'
        TABLES
          data_tab                      = wt_zinvslr
       EXCEPTIONS
    but I have an error open file in return.
    If I change the path by :  fic1 = 'C:\mv_slr.asc'
    it works...
    I checked the autorisations and all seems be ok.
    Anyone has an idea ?
    Thanks in advance,
    Sandrine
    Edited by: CHRISTIAN MEYER on Jul 6, 2010 5:51 PM

    Hi !
    Thanks for your help ! I use open dataset ....
    it works !!
    best regards,
    Sandrine

  • Dowload open and cleared invoices to Users PC

    Hi Friends..
    Can someone suggest how to download the open and cleared invoices in an excel format to users PC either in foreground or bakground based on customer account (KNA1-kunnr) and company code..
    your help is greatly appreciateld and rightly rewarded...
    Thanks again..

    hi Kranthi,
    here is the sample code for GUI_DOWNLOAD AND GUI_UPLOAD
    hope this might help you
    GUI_DOWNLOAD
          DATA: W_WSD_FILENAME01 TYPE STRING,
                W_WSD_FILETYPE01 TYPE CHAR10.
          W_WSD_FILENAME01 = P_OUT1.
          W_WSD_FILETYPE01 = 'DAT'.
          CALL FUNCTION 'GUI_DOWNLOAD'
               EXPORTING
                 BIN_FILESIZE                    =
                   FILENAME                        = W_WSD_FILENAME01
                   FILETYPE                        = W_WSD_FILETYPE01
                 APPEND                          = ' '
                 WRITE_FIELD_SEPARATOR           = ' '
                 HEADER                          = '00'
                 TRUNC_TRAILING_BLANKS           = ' '
                 WRITE_LF                        = 'X'
                 COL_SELECT                      = ' '
                 COL_SELECT_MASK                 = ' '
                 DAT_MODE                        = ' '
                 CONFIRM_OVERWRITE               = ' '
                 NO_AUTH_CHECK                   = ' '
                 CODEPAGE                        = ' '
                 IGNORE_CERR                     = ABAP_TRUE
                 REPLACEMENT                     = '#'
                 WRITE_BOM                       = ' '
                 TRUNC_TRAILING_BLANKS_EOL       = 'X'
                 WK1_N_FORMAT                    = ' '
                 WK1_N_SIZE                      = ' '
                 WK1_T_FORMAT                    = ' '
                 WK1_T_SIZE                      = ' '
             IMPORTING
                 FILELENGTH                      =
               TABLES
                   DATA_TAB                        = ITAB_VBAK
                 FIELDNAMES                      =
               EXCEPTIONS
                   FILE_WRITE_ERROR                = 1
                   NO_BATCH                        = 2
                   GUI_REFUSE_FILETRANSFER         = 3
                   INVALID_TYPE                    = 4
                   NO_AUTHORITY                    = 5
                   UNKNOWN_ERROR                   = 6
                   HEADER_NOT_ALLOWED              = 7
                   SEPARATOR_NOT_ALLOWED           = 8
                   FILESIZE_NOT_ALLOWED            = 9
                   HEADER_TOO_LONG                 = 10
                   DP_ERROR_CREATE                 = 11
                   DP_ERROR_SEND                   = 12
                   DP_ERROR_WRITE                  = 13
                   UNKNOWN_DP_ERROR                = 14
                   ACCESS_DENIED                   = 15
                   DP_OUT_OF_MEMORY                = 16
                   DISK_FULL                       = 17
                   DP_TIMEOUT                      = 18
                   FILE_NOT_FOUND                  = 19
                   DATAPROVIDER_EXCEPTION          = 20
                   CONTROL_FLUSH_ERROR             = 21
                   OTHERS                          = 22  .
               IF SY-SUBRC <> 0.
                 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
               ENDIF.
    GUI_UPLOAD
    DATA W_WSU_FILENAME02 TYPE STRING.
      DATA W_WSU_FILETYPE02 TYPE CHAR10.
      W_WSU_FILETYPE02 = 'ASC'.
    CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME                      = W_WSU_FILENAME02
          FILETYPE                      = W_WSU_FILETYPE02
        TABLES
          DATA_TAB                      = ITAB_INFILE
        EXCEPTIONS
          FILE_OPEN_ERROR               = 1
          FILE_READ_ERROR               = 2
          NO_BATCH                      = 3
          GUI_REFUSE_FILETRANSFER       = 4
          INVALID_TYPE                  = 5
          NO_AUTHORITY                  = 6
          UNKNOWN_ERROR                 = 7
          BAD_DATA_FORMAT               = 8
          HEADER_NOT_ALLOWED            = 9
          SEPARATOR_NOT_ALLOWED         = 10
          HEADER_TOO_LONG               = 11
          UNKNOWN_DP_ERROR              = 12
          ACCESS_DENIED                 = 13
          DP_OUT_OF_MEMORY              = 14
          DISK_FULL                     = 15
          DP_TIMEOUT                    = 16
          OTHERS                        = 17
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Regards,
    Santosh

  • Change sales orders from report

    Hi there,
    My report shows grid_display,
    column1 is chechbox,
    column2 is Sales Order number,
    column3 is Sales Order description. here user has to check required sales Orders and press pushbutton in appl tool bar, all these Sales Orders(i.e. checked by user) have to be opend in changemode automatically one after another, where user can change accordingly. can anybody pls sugest logic for this.
    thanks in advance.
    Zakir.

    used bapi .
    pass those data to bapi.
    **&#12288;Program ID &#65306;
    **&#12288;Program Desc &#65306;              
    **&#12288;Process Overview &#65306;          SD
    **&#12288;Created By &#65306;                P.KARTHIKEYAN
    REPORT  ZBAPI_SALESORDER_CHANGE LINE-SIZE 132 MESSAGE-ID ZMMBAPI .
           Internal table definition                                     *
    *****<<<< BAPI Sales Order>>>>>>>>>>>>>>>>>>>>>>>
    DATA: GT_SALESDOCUMENT LIKE  BAPIVBELN-VBELN,
    ******<<<<Communication Fields: SD Order Header>>>
          GT_ORDER_HEADER_IN  LIKE BAPISDH1,
    ******<<<<<Checkbox List: SD Order Header>>>>>>>>>
          GT_ORDER_HEADER_INX LIKE BAPISDH1X,
    *****<<<Return Parameter>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
         GT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE,
    *******<<<<<<<Communication Fields: Sales and Distribution Document Item>>
         GT_ORDER_ITEM_IN LIKE BAPISDITM OCCURS 0 WITH HEADER LINE,
    *******<<<<<<<Communication Fields: Sales and Distribution Document Item>>
         GT_ORDER_ITEM_INX LIKE BAPISDITMX OCCURS 0 WITH HEADER LINE,
    *******<<<<<<<<Communication Fields for Maintaining Conditions in the Order
         GT_CONDITIONS_IN LIKE BAPICOND OCCURS 0 WITH HEADER LINE,
    *******<<<<<<<<Communication Fields for Maintaining Conditions in the Order
         GT_CONDITIONS_INX LIKE BAPICONDX OCCURS 0 WITH HEADER LINE.
       FLAT FLIE Internal table definition                                     *
    DATA: BEGIN OF GT_FT_SALES OCCURS 0,
          SALESDOCUMENT(10), "SALESDOCUMENT
          SALES_ORG(4) , "Sales Organization
          DISTR_CHAN(2), "Sales Organization
          DIVISION(2) ,  " DIVISION
          PURCH_NO_C(35)  , "Customer purchase order number
          SALES_DIST(6) , "Sales district
          INCOTERMS1(3)  ,                                      "INCOTERMS1
          PMNTTRMS(4)  , "Terms of payment key
          ITM_NUMBER(6) ,   "Sales Document Item
          PO_ITM_NO(6)  ,   "Item Number of the Underlying Purchase Order
          MATERIAL(18), "Material Number
    END OF GT_FT_SALES,
    MSG(240) TYPE  C,  " Return Message
    E_REC(8) TYPE C,    " Error Records Counter
    REC_NO(8) TYPE C, " Records Number Indicator
    S_REC(8) TYPE C,   " Successful Records Counter
    T_REC(8) TYPE C,   " Total Records Counter
    ERR_ORDER(10) TYPE C.  " Order Number Indicator
    selection block for EXCEL UPLOAD FILE>>>>>>>>>>>>>>>>>>>>>>>>
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    PARAMETERS FILE TYPE  IBIPPARMS-PATH OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1.
    *<<<<AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .>>>>>>>>>>>>
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
        IMPORTING
          FILE_NAME     = FILE.
    **<<<<<<<<<<<<<<<<<START-OF-SELECTION.>>>>>>>>>>>>>>>>>>>>>>>>>>>
    START-OF-SELECTION.
      CALL FUNCTION 'WS_UPLOAD'                                 "#EC *
        EXPORTING
          FILENAME                = FILE
          FILETYPE                = 'DAT'
        TABLES
          DATA_TAB                =  GT_FT_SALES
        EXCEPTIONS
          CONVERSION_ERROR        = 1
          FILE_OPEN_ERROR         = 2
          FILE_READ_ERROR         = 3
          INVALID_TYPE            = 4
          NO_BATCH                = 5
          UNKNOWN_ERROR           = 6
          INVALID_TABLE_WIDTH     = 7
          GUI_REFUSE_FILETRANSFER = 8
          CUSTOMER_ERROR          = 9
          NO_AUTHORITY            = 10
          OTHERS                  = 11.
      IF  SY-SUBRC <> 0  .
        MESSAGE E000.
      ENDIF.
      SKIP 3.
      FORMAT COLOR COL_HEADING INVERSE ON.
      WRITE 40 TEXT-001.
      FORMAT COLOR COL_HEADING INVERSE OFF.
      SKIP 1.
      FORMAT COLOR COL_NEGATIVE INVERSE ON.
      WRITE :/ TEXT-002, 13 SY-MANDT , 104 TEXT-003, 111 SY-UNAME,
                / TEXT-004, 13 SY-DATUM , 104 TEXT-005, 111 SY-UZEIT.
      FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      SKIP 3.
      LOOP AT GT_FT_SALES.
        PERFORM UPLOAD_FILE.
      ENDLOOP.
      T_REC = E_REC + S_REC.
      SKIP 3.
      FORMAT COLOR COL_TOTAL INVERSE ON.
      WRITE: /38 TEXT-007, T_REC.
      FORMAT COLOR COL_TOTAL INVERSE OFF.
      FORMAT COLOR COL_NEGATIVE INVERSE ON.
      WRITE: /38 TEXT-008, E_REC.
      FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      FORMAT COLOR COL_TOTAL INVERSE ON.
      WRITE: /38 TEXT-009, S_REC.
      FORMAT COLOR COL_TOTAL INVERSE OFF.
    *&      Form  UPLOAD_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM UPLOAD_FILE .
    ********<<<< BAPI Sales Order>>>>>>>>>>>>>>>>>>>>>>>
      GT_SALESDOCUMENT = GT_FT_SALES-SALESDOCUMENT . " '0000000233' "Order Number
    ******<<<<Communication Fields: SD Order Header>>>
      GT_ORDER_HEADER_IN-SALES_ORG = GT_FT_SALES-SALES_ORG .   "'0001' "Sales Organization
      GT_ORDER_HEADER_IN-DISTR_CHAN = GT_FT_SALES-DISTR_CHAN . "Distribution Channel
      GT_ORDER_HEADER_IN-DIVISION = GT_FT_SALES-DIVISION .    "Division
      GT_ORDER_HEADER_IN-PURCH_NO_C = GT_FT_SALES-PURCH_NO_C . "Customer purchase order number
      GT_ORDER_HEADER_IN-SALES_DIST = GT_FT_SALES-SALES_DIST . " Sales district
      GT_ORDER_HEADER_IN-INCOTERMS1 = GT_FT_SALES-INCOTERMS1 . "Incoterms (part 1)
      GT_ORDER_HEADER_IN-PMNTTRMS = GT_FT_SALES-PMNTTRMS .      "Terms of payment key
    ******<<<<Communication Fields: SD Order Header FLAG>>>
      GT_ORDER_HEADER_INX-UPDATEFLAG = 'U'.
      GT_ORDER_HEADER_INX-SALES_ORG = 'X'. "Sales Organization
      GT_ORDER_HEADER_INX-DISTR_CHAN = 'X'. "Distribution Channel
      GT_ORDER_HEADER_INX-DIVISION = 'X'. "Division
      GT_ORDER_HEADER_INX-PURCH_NO_C = 'X' ."Customer purchase order number
      GT_ORDER_HEADER_INX-SALES_DIST = 'X'. " Sales district
      GT_ORDER_HEADER_INX-INCOTERMS1 = 'X'."Incoterms (part 1)
      GT_ORDER_HEADER_INX-PMNTTRMS = 'X'. "Terms of payment key
    *******<<<<<<<Communication Fields: Sales and Distribution Document Item>>
      GT_ORDER_ITEM_IN-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER . "'000010' "Sales Document Item
      GT_ORDER_ITEM_IN-PO_ITM_NO   = GT_FT_SALES-PO_ITM_NO .  "'PO-129' "Item Number of the Underlying Purchase Order
      GT_ORDER_ITEM_IN-MATERIAL  = GT_FT_SALES-MATERIAL . "'M-24' "Material Number
      APPEND GT_ORDER_ITEM_IN.
    *******<<<<<<<Communication Fields: Sales and Distribution Document Item>>
      GT_ORDER_ITEM_INX-UPDATEFLAG  = 'U'.
      GT_ORDER_ITEM_INX-ITM_NUMBER = '000010'. "Sales Document Item
      GT_ORDER_ITEM_INX-PO_ITM_NO   = 'X'.  "Item Number of the Underlying Purchase Order
      GT_ORDER_ITEM_INX-MATERIAL  = 'X'. "Material Number
      APPEND GT_ORDER_ITEM_INX.
    *******<<<<<<<<Communication Fields for Maintaining Conditions in the Order>>>>
      GT_CONDITIONS_IN-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER . "'000010'  "Condition item number
      APPEND GT_CONDITIONS_IN.
    *******<<<<<<<<Communication Fields for Maintaining Conditions in the Order FLAG>>>
      GT_CONDITIONS_INX-ITM_NUMBER = '000010' ."Condition item number
      APPEND GT_CONDITIONS_INX.
      CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
        EXPORTING
          SALESDOCUMENT    = GT_SALESDOCUMENT
          ORDER_HEADER_IN  = GT_ORDER_HEADER_IN
          ORDER_HEADER_INX = GT_ORDER_HEADER_INX
        TABLES
          RETURN           = GT_RETURN
          ORDER_ITEM_IN    = GT_ORDER_ITEM_IN
          ORDER_ITEM_INX   = GT_ORDER_ITEM_INX
          CONDITIONS_IN    = GT_CONDITIONS_IN
          CONDITIONS_INX   = GT_CONDITIONS_INX.
      IF GT_RETURN-TYPE EQ 'E'.
        ERR_ORDER = GT_RETURN-MESSAGE_V1.
        READ TABLE GT_RETURN WITH KEY ID = 'V1'.
        E_REC = E_REC + 1.
        CONCATENATE TEXT-006 ERR_ORDER ':' GT_RETURN-MESSAGE INTO MSG SEPARATED BY SPACE .
        CONDENSE MSG.
        FORMAT COLOR COL_NEGATIVE INVERSE ON.
        WRITE / MSG  .
        FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      ELSEIF GT_RETURN-TYPE EQ 'S'.
        S_REC = S_REC + 1.
        FORMAT COLOR COL_POSITIVE INVERSE ON.
        WRITE / GT_RETURN-MESSAGE .
        FORMAT COLOR COL_POSITIVE INVERSE OFF.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            WAIT   = 'X'
          IMPORTING
            RETURN = GT_RETURN.
      ENDIF.
    ENDFORM.                    " UPLOAD_FILE

  • To upload a RTF and a PDF file to SAP R/3 and print the same through SAP

    Hi,
    I have a requirement to upload a PDF file and a RTF file to SAP R/3 and print the same.
    I wrote the following code for uploading a RTF file to SAP R/3 and print the same. However, the problem is , the formatting present in the RTF document( bold/italics..etc) is not being reflected when I do the 'print-preview' after the executing the code below :
    report z_test_upload .
    data: begin of itab occurs 0,
             rec type string,
          end of itab.
    data: options like itcpo.
    data: filename type string,
          count type i.
    data: filetype(10) type c value 'ASC'.
    DATA: HEADER  LIKE THEAD    OCCURS   0 WITH HEADER LINE.
    DATA: NEWHEADER  LIKE THEAD    OCCURS   0 WITH HEADER LINE.
    DATA: ITFLINE LIKE TLINE    OCCURS   0 WITH HEADER LINE.
    DATA: RTFLINE LIKE HELP_STFA OCCURS   0 WITH HEADER LINE.
    DATA:   string_len TYPE i,
            n1 TYPE i.
    selection-screen begin of block b1.
      parameter: p_file1(128) default 'C:\test_itf.rtf'.
    selection-screen end of block b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
      CALL FUNCTION 'F4_FILENAME'
           IMPORTING
                file_name = p_file1.
    start-of-selection.
    move p_file1 to filename.
    call function 'GUI_UPLOAD'
         EXPORTING
              filename                = filename
              filetype                = filetype
         TABLES
              data_tab                = itab
         EXCEPTIONS
              file_open_error         = 1
              file_read_error         = 2
              no_batch                = 3
              gui_refuse_filetransfer = 4
              invalid_type            = 5
              no_authority            = 6
              unknown_error           = 7
              bad_data_format         = 8
              header_not_allowed      = 9
              separator_not_allowed   = 10
              header_too_long         = 11
              unknown_dp_error        = 12
              access_denied           = 13
              dp_out_of_memory        = 14
              disk_full               = 15
              dp_timeout              = 16
              others                  = 17.
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    loop at itab.
      string_len = strlen( itab-rec ).
      n1 = string_len DIV 134.
      ADD 1 TO n1.
      DO n1 TIMES.
        rtfline-line = itab-rec.
        APPEND rtfline.
        SHIFT itab-rec BY 134 PLACES.
      ENDDO.
    endloop.
    HEADER-TDSTYLE = 'S_DOCUS1'.
    HEADER-TDFORM = 'S_DOCU_SHOW'.
    header-tdspras = 'E'.
    CALL FUNCTION 'CONVERT_TEXT'
      EXPORTING
      CODEPAGE               = '0000'
        DIRECTION              = 'IMPORT'
        FORMAT_TYPE            = 'RTF'
       FORMATWIDTH            = 72
        HEADER                 = header
        SSHEET                 = 'WINHELP.DOT'
        WITH_TAB               = 'X'
        WORD_LANGU             = SY-LANGU
        TABLETYPE              = 'ASC'
      TAB_SUBSTITUTE         = 'X09  '
      LF_SUBSTITUTE          = ' '
      REPLACE_SYMBOLS        = 'X'
      REPLACE_SAPCHARS       = 'X'
      MASK_BRACKETS          = 'X'
      IMPORTING
        NEWHEADER              = NEWHEADER
      WITH_TAB_E             =
      FORMATWIDTH_E          =
      TABLES
        FOREIGN                = RTFLINE
        ITF_LINES              = ITFLINE.
      LINKS_TO_CONVERT       =
    if sy-subrc <> 0.
    endif.
    CALL FUNCTION 'PRINT_TEXT_ITF'
      EXPORTING
         HEADER        = newheader
         OPTIONS       = options
    IMPORTING
      RESULT        =
      TABLES
        LINES         = itfline.
    if sy-subrc <> 0.
    endif.
    Any hints or suggestions to solve this problem will be highly appreciated.
    Thanks,
    Avra

    Hi Vishwas,
    Check out the thread [Efficient way of saving documents uploaded|Re: Efficient way of saving documents uploaded by users; and check the blog by Raja Thangamani.
    Also check the thread [Export Images through Function Modules   |Export Images through Function Modules;.
    Hope it helps you.

  • How to see the file at the application server

    HI TO ALL SDNERS ,
                                 THIS IS MY CODE WHERE TO CHECK THE DOWNLOADED FILE AT THE APPLICATION SERVER.IN TCODE AL11 I HAVE SEEN THERE IS NO FILE GETTING CREATED.WHEN TRANSFERRING THE SY-SUBRC VALUE IS ZERO.
    Program Name        : ZME11_BDC.
    Title               : PURCHASE INFORMATION RECORD LOAD PROGRAM
    Program Objective   : THIS PROGRAM READS IN THE PURCHASE
                          INFORMATION FILE. IT CREATES A BDC SESSION TO
                          USE TO LOAD THE PURCHASE INFORMATION RECORDS
                          INTO SAP using the ME11 Transaction.
    REPORT  ZME11_BDC no standard page heading MESSAGE-ID ZHNC line-size 55.
                constants declaration
    constants: c_x value 'X',
               c_sess type apqi-groupid value 'zcustomer',
               c_xd01 type tstc-tcode value 'ME11'.
                  DECLARING VARIABLES
    DATA: V_MSG(255),
          V_ERREC TYPE I,"NO OF FAILED RECORDS
          V_LINES."NO OF RECORDS
           FLAG DECLARATIONS
    DATA: FG_DATA_EXIST VALUE 'X',"CHECK FOR DATA
          FG_SESSION_OPEN VALUE ''.
          STRUCTURES AND INTERNAL TABLE DECLARATIONS
    TYPES :BEGIN OF TY_PIR,
             LIFNR TYPE EINA-LIFNR,
             MATNR TYPE EINA-MATNR,
             EKORG TYPE EINE-EKORG,
             WERKS TYPE EINE-WERKS,
             VERKF TYPE EINA-VERKF,"sales person
             TELF1 TYPE EINA-TELF1,"telephone
             URZLA TYPE EINA-URZLA,"country
             REGIO TYPE EINA-REGIO,"region
             APLFZ(5),"plan deleivery time
             EKGRP TYPE EINE-EKGRP,"purchase group
             NORBM(13),
             NETPR(13),
         END OF TY_PIR.
    DATA : IT_PIR TYPE TABLE OF TY_PIR,
           WA_PIR LIKE LINE OF IT_PIR.
    DATA: BEGIN OF IT_BDCDATA.
    INCLUDE STRUCTURE BDCDATA.
    DATA END OF IT_BDCDATA.
    DATA : BEGIN OF IT_BDCMSG.
    INCLUDE STRUCTURE BDCMSGCOLL.
    DATA END OF IT_BDCMSG.
                      SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETER : FNAME TYPE RLGRAP-FILENAME.
    SELECTION-SCREEN END OF BLOCK B1.
                           AT SELECTION ON VALUE REQUEST
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
       PROGRAM_NAME        = SYST-CPROG
       DYNPRO_NUMBER       = SYST-DYNNR
       FIELD_NAME          = ' '
    IMPORTING
       FILE_NAME           = FNAME.
                             START OF SELECTION
    START-OF-SELECTION.
    PERFORM F_GET_DATA USING FNAME
                       CHANGING IT_PIR.
    PERFORM F_GENERATE_DATASET USING FNAME
                               CHANGING IT_PIR WA_PIR.
    *&      Form  F_GET_DATA
          text
         -->P_V_FNAME  text
         <--P_IT_PIR  text
    FORM F_GET_DATA  USING    P_FNAME LIKE FNAME
                     CHANGING P_IT_PIR LIKE IT_PIR.
    DATA: LV_FILE TYPE STRING.
    LV_FILE  = FNAME.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = LV_FILE
       FILETYPE                      = 'DAT'
      HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      TABLES
        DATA_TAB                      = P_IT_PIR
    EXCEPTIONS
       FILE_OPEN_ERROR               = 1
       FILE_READ_ERROR               = 2
       NO_BATCH                      = 3
       GUI_REFUSE_FILETRANSFER       = 4
       INVALID_TYPE                  = 5
       NO_AUTHORITY                  = 6
       UNKNOWN_ERROR                 = 7
       BAD_DATA_FORMAT               = 8
       HEADER_NOT_ALLOWED            = 9
       SEPARATOR_NOT_ALLOWED         = 10
       HEADER_TOO_LONG               = 11
       UNKNOWN_DP_ERROR              = 12
       ACCESS_DENIED                 = 13
       DP_OUT_OF_MEMORY              = 14
       DISK_FULL                     = 15
       DP_TIMEOUT                    = 16
       OTHERS                        = 17
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    IF P_IT_PIR IS INITIAL.
    FG_DATA_EXIST = ''.
    ENDIF.
    ENDFORM.                    " F_GET_DATA
    *&      Form  F_GENERATE_DATASET
          text
         -->P_V_FNAME  text
         <--P_IT_PIR  text
    FORM F_GENERATE_DATASET  USING    P_V_FNAME LIKE FNAME
                             CHANGING P_IT_PIR LIKE IT_PIR
                                      P_WA_PIR LIKE WA_PIR.
    MESSAGE I001(ZHNC).
    *OPENING FILE AT THE APPLICATION SERVER FOR WRITING
    OPEN DATASET FNAME FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    IF SY-SUBRC  EQ 0.
    MESSAGE I002(ZHNC).
    LOOP AT P_IT_PIR INTO P_WA_PIR.
    SPLIT P_WA_PIR AT '*' INTO P_WA_PIR-LIFNR
                               P_WA_PIR-MATNR
                               P_WA_PIR-EKORG
                               P_WA_PIR-WERKS
                               P_WA_PIR-VERKF
                               P_WA_PIR-TELF1
                               P_WA_PIR-URZLA
                               P_WA_PIR-REGIO
                               P_WA_PIR-APLFZ
                               P_WA_PIR-EKGRP
                               P_WA_PIR-NORBM.
    *TRANSFER THE FILE FROM INTERNAL TABLE TO APPLICATION SERVER
    MESSAGE I003(ZHNC).
    TRANSFER P_WA_PIR TO FNAME.
    ENDLOOP.
    *CLOSING THE FILE AT THE APPLICATION SERVER
    CLOSE DATASET FNAME.
    ENDIF.

    Hello,
    I made a similar program. You can have a look at it.
    *&      Form  write_to_app_server
          text
    -->  p1        text
    <--  p2        text
    FORM write_to_app_server.
    To get filename
      PERFORM get_filename.
    To write into the application server
      OPEN DATASET g_filename_with_path FOR OUTPUT IN TEXT MODE.
      IF sy-subrc = 0.
        LOOP AT <l_table> INTO <l_line>.
          TRANSFER <l_line> TO g_filename_with_path.
        ENDLOOP.
        CLOSE DATASET g_filename_with_path.
      ELSE.
        CLOSE DATASET g_filename_with_path.
      ENDIF.
    To send mail
      PERFORM send_mail.
    ENDFORM.                    " write_to_app_server
    *&      Form  get_filename
          text
    -->  p1        text
    <--  p2        text
    FORM get_filename.
      DATA : l_log_path TYPE  filepath-pathintern
                          VALUE 'Y28M_DOWNLOADS_BACKGROUND' .
      CALL FUNCTION 'FILE_GET_NAME_USING_PATH'
           EXPORTING
                client                     = sy-mandt
                logical_path               = l_log_path
                operating_system           = sy-opsys
                file_name                  = p_fname
           IMPORTING
                file_name_with_path        = g_filename_with_path
           EXCEPTIONS
                path_not_found             = 1
                missing_parameter          = 2
                operating_system_not_found = 3
                file_system_not_found      = 4
                OTHERS                     = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " get_filename
    You may find it useful.
    Regards,
    Karuna.

  • Open data set and close data set

    hi all,
    i have some doubt in open/read/close data set
    how to transfer data from internal table to sequential file, how we find sequential file.
    thanks and regards
    chaitanya

    Hi Chaitanya,
    Refer Sample Code:
    constants:   c_split         TYPE c
                               VALUE cl_abap_char_utilities=>horizontal_tab,
               c_path          TYPE char100
                               VALUE '/local/data/interface/A28/DM/OUT'.
    Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS : rb_pc    RADIOBUTTON GROUP r1 DEFAULT 'X'
                                    USER-COMMAND ucomm,    "For Presentation
                 p_f1     LIKE rlgrap-filename
                                          MODIF ID rb1,    "Input File
                 rb_srv   RADIOBUTTON GROUP r1,             "For Application
                 p_f2     LIKE rlgrap-filename
                                         MODIF ID rb2,     "Input File
                 p_direct TYPE char128 MODIF ID abc DEFAULT c_path.
                                                           "File directory
    SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f1.
    *-- Browse Presentation Server
      PERFORM f1000_browse_presentation_file.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f2.
    *-- Browse Application Server
      PERFORM f1001_browse_appl_file.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF rb_pc = 'X' AND screen-group1 = 'RB2'.
          screen-input = '0'.
          MODIFY SCREEN.
        ELSEIF rb_srv = 'X' AND screen-group1 = 'RB1'.
          screen-input = '0'.
          MODIFY SCREEN.
        ENDIF.
        IF screen-group1 = 'ABC'.
          screen-input = '0'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    *&      Form  f1000_browse_presentation_file
          Pick up the filepath for the file in the presentation server
    FORM f1000_browse_presentation_file .
      CONSTANTS: lcl_path TYPE char20 VALUE 'C:'.
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_path         = lcl_path
          mask             = c_mask  "',.,..'
          mode             = c_mode
          title            = text-006
        IMPORTING
          filename         = p_f1
        EXCEPTIONS
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          OTHERS           = 5.
      IF sy-subrc <> 0.
       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        flg_pre = c_x.
      ENDIF.
    ENDFORM.                    " f1000_browse_presentation_file
    *&      Form  f1001_browse_appl_file
       Pick up the file path for the file in the application server
    FORM f1001_browse_appl_file .
      DATA:  lcl_directory  TYPE char128.
      lcl_directory  = p_direct.
      CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
        EXPORTING
          directory        = lcl_directory
          filemask         = c_mask
        IMPORTING
          serverfile       = p_f2
        EXCEPTIONS
          canceled_by_user = 1
          OTHERS           = 2.
      IF sy-subrc <> 0.
       MESSAGE e000(zmm) WITH text-039.
       flg_app = 'X'.
      ENDIF.
    ENDFORM.                    " f1001_browse_appl_file
    *&      Form  f1003_pre_file
        Upload the file from the presentation server
    FORM f1003_pre_file .
      DATA: lcl_filename TYPE string.
      lcl_filename = p_f1.
      IF p_f1 IS NOT INITIAL.
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            filename                = lcl_filename
            filetype                = 'ASC'
            has_field_separator     = 'X'
          TABLES
            data_tab                = i_input
          EXCEPTIONS
            file_open_error         = 1
            file_read_error         = 2
            no_batch                = 3
            gui_refuse_filetransfer = 4
            invalid_type            = 5
            no_authority            = 6
            unknown_error           = 7
            bad_data_format         = 8
            header_not_allowed      = 9
            separator_not_allowed   = 10
            header_too_long         = 11
            unknown_dp_error        = 12
            access_denied           = 13
            dp_out_of_memory        = 14
            disk_full               = 15
            dp_timeout              = 16
            OTHERS                  = 17.
        IF sy-subrc <> 0.
          MESSAGE s000 WITH text-031.
          EXIT.
        ENDIF.
      ELSE.
       PERFORM populate_error_log USING space
                                        text-023.
      ENDIF.
    ENDFORM.                    " f1003_pre_file
    *&      Form  f1004_app_file
         upload the file from the application server
    FORM f1004_app_file .
      REFRESH: i_input.
      OPEN DATASET p_f2 IN TEXT MODE ENCODING DEFAULT FOR INPUT.
      IF sy-subrc EQ 0.
        DO.
          READ DATASET p_f2 INTO  wa_input_rec.
          IF sy-subrc EQ 0.
    *-- Split The CSV record into Work Area
            PERFORM f0025_record_split.
    *-- Populate internal table.
            APPEND wa_input TO i_input.
            CLEAR wa_input.
            IF sy-subrc <> 0.
              MESSAGE s000 WITH text-030.
              EXIT.
            ENDIF.
          ELSE.
            EXIT.
          ENDIF.
        ENDDO.
      ENDIF.
    ENDFORM. " f1004_app_file
    Move the assembly layer file into the work area
    FORM f0025_record_split .
      CLEAR wa_input.
      SPLIT wa_input_rec AT c_split INTO
        wa_input-legacykey
        wa_input-bu_partner
        wa_input-anlage.
    ENDFORM.                    " f0025_record_split
    Reward points if this helps.
    Manish

  • Mass creation of Material Master Records

    Hi all,
    I have to create 50.000 materials the first time and then, once a month, I have to manage the update of 50/100 materials.
    What do you suggest ?
    Direct input the first time and Idoc (Matmas) to manage the updating?
    Thanks in advance
    Bye

    Hi
    Use LSMW Direct Input Method/Manually code it to imitate LSMW Direct Input Method .
    or
    Use BAPI to Create Materials .
    if u are going for BAPI u can use the following code.
    REPORT Z_NEW_PROGRAM2 .
    *TO CREATE MATERIAL USING BAPI.
                   STRUCTURE  DECLARATIONS                             *
    TABLES: BAPIMATHEAD,  "Headerdata
            BAPI_MARA,    "Clientdata
            BAPI_MARAX,   "Clientdatax
            BAPI_MARC,    "Plantdata
            BAPI_MARCX,   "Plantdatax
            BAPI_MAKT,    "Material description
            BAPI_MBEW,    "VALUATION DATA
            BAPI_MBEWX,
            BAPI_MARM,
            BAPI_MARMX,
            bapi_mean,
            BAPIRET2.     "Return messages
    DATA:V_FILE TYPE STRING.   "input data file
    DATA:
      BEGIN OF LSMW_MATERIAL_MASTER,
        MATNR(018) TYPE C,  "Material number
        MTART(004) TYPE C,  "Material type
        MBRSH(001) TYPE C,  "Industry sector
        WERKS(004) TYPE C,  "Plant
        MAKTX(040) TYPE C,  "Material description
        DISMM(002) TYPE C,  "Extra Field Added In the Program as itsrequired
        MEINS(003) TYPE C,  "Base unit of measure
        MATKL(009) TYPE C,  "Material group
        SPART(002) TYPE C,  "Division
        LABOR(003) TYPE C,  "Lab/office
        PRDHA(018) TYPE C,  "Product hierarchy
        MSTAE(002) TYPE C,  "X-plant matl status
        MTPOS_MARA(004) TYPE C,  "Gen item cat group
        BRGEW(017) TYPE C,  "Gross weight
        GEWEI(003) TYPE C,  "Weight unit
        NTGEW(017) TYPE C,  "Net weight
        GROES(032) TYPE C,  "Size/Dimensions
        MAGRV(004) TYPE C,  "Matl grp pack matls
        BISMT(018) TYPE C,  "Old material number
        WRKST(048) TYPE C,  "Basic material
        PROFL(003) TYPE C,  "DG indicator profile
        KZUMW(001) TYPE C,  "Environmentally rlvt
        BSTME(003) TYPE C,  "Order unit
        VABME(001) TYPE C,
        EKGRP(003) TYPE C,  "Purchasing group
        XCHPF(001) TYPE C,  "Batch management
        EKWSL(004) TYPE C,  "Purchasing key value
        WEBAZ(003) TYPE C,  "GR processing time
        MFRPN(040) TYPE C,  "Manufacturer part number
        MFRNR(010) TYPE C,  "Manufacturer number
        VPRSV(001) TYPE C,  "Price control indicator
        STPRS(015) TYPE C,  "Standard price
        BWPRH(014) TYPE C,  "Commercial price1
        BKLAS(004) TYPE C,  "Valuation class
        bwkey(004) type c,
      END OF LSMW_MATERIAL_MASTER.
                   INTERNAL TABLE DECLARATIONS                         *
    *to store the input data
    DATA:
      BEGIN OF it_matmaster OCCURS 0.
            INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.
    DATA:
      END OF it_matmaster.
    *for material description
    DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
         INCLUDE STRUCTURE BAPI_MAKT .
    DATA:END OF IT_MATERIALDESC.
    *FOR gross wt
    data: begin of it_uom occurs 0.
          include structure BAPI_MARM.
    data:end of it_uom.
    DATA: BEGIN OF IT_UOMX OCCURS 0.
          INCLUDE STRUCTURE BAPI_MARMX.
    DATA:END OF IT_UOMX.
    data:begin of it_mean occurs 0.
         include structure bapi_mean.
    data:end of it_mean.
    DATA:BEGIN OF IT_MLTX OCCURS 0.
         INCLUDE STRUCTURE BAPI_MLTX.
    DATA:END OF IT_MLTX.
    *to return messages
    DATA:BEGIN OF IT_RETURN OCCURS 0.
         INCLUDE STRUCTURE BAPIRET2.
    DATA:END OF IT_RETURN.
    SELECTION SCREEN                                                    *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.
    PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1 .
    AT SELECTION SCREEN                                                  *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = 'P_FILE'
        IMPORTING
          FILE_NAME     = P_FILE.
                   TO UPLOAD THE DATA                                  *
    START-OF-SELECTION.
    V_FILE = P_FILE.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = V_FILE
       FILETYPE                      = 'ASC'
       HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      =  IT_MATMASTER
    EXCEPTIONS
       FILE_OPEN_ERROR               = 1
       FILE_READ_ERROR               = 2
       NO_BATCH                      = 3
       GUI_REFUSE_FILETRANSFER       = 4
       INVALID_TYPE                  = 5
       NO_AUTHORITY                  = 6
       UNKNOWN_ERROR                 = 7
       BAD_DATA_FORMAT               = 8
       HEADER_NOT_ALLOWED            = 9
       SEPARATOR_NOT_ALLOWED         = 10
       HEADER_TOO_LONG               = 11
       UNKNOWN_DP_ERROR              = 12
       ACCESS_DENIED                 = 13
       DP_OUT_OF_MEMORY              = 14
       DISK_FULL                     = 15
       DP_TIMEOUT                    = 16
       OTHERS                        = 17
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ELSE.
    *DELETE IT_MATMASTER INDEX 1.
    ENDIF.
                   DATA POPULATIONS                                    *
    LOOP AT  IT_MATMASTER.
    *HEADER DATA
      BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.
      BAPIMATHEAD-IND_SECTOR = IT_MATMASTER-Mbrsh.
      BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.
      BAPIMATHEAD-BASIC_VIEW = 'X'.
      BAPIMATHEAD-PURCHASE_VIEW = 'X'.
      BAPIMATHEAD-ACCOUNT_VIEW = 'X'.
    *CLIENTDATA
      BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.
      BAPI_MARA-DIVISION = IT_MATMASTER-SPART.
      BAPI_MARA-DSN_OFFICE = IT_MATMASTER-LABOR.
      BAPI_MARA-PROD_HIER = IT_MATMASTER-PRDHA.
      BAPI_MARA-PUR_STATUS = IT_MATMASTER-MSTAE.
      BAPI_MARA-ITEM_CAT = IT_MATMASTER-MTPOS_MARA.
      BAPI_MARA-NET_WEIGHT = IT_MATMASTER-NTGEW.
    BAPI_MARA-PO_UNIT = 'KG'.
    BAPI_MARA-UNIT_OF_WT_ISO = 'KG'.
      BAPI_MARA-UNIT_OF_WT = 'KG'.
    BAPI_MARA-PACK_VO_UN = 'KG'.
    BAPI_MARA-BASE_UOM_ISO = 'KG'.
      bapi_mara-size_dim = it_matmaster-groes.
      BAPI_MARA-MAT_GRP_SM = IT_MATMASTER-MAGRV.
      BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.
      BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.
      BAPI_MARA-BASIC_MATL = IT_MATMASTER-WRKST.
      BAPI_MARA-HAZMATPROF = IT_MATMASTER-PROFL.
      BAPI_MARA-ENVT_RLVT = IT_MATMASTER-KZUMW.
      BAPI_MARA-PO_UNIT = IT_MATMASTER-BSTME.
      BAPI_MARA-VAR_ORD_UN = IT_MATMASTER-VABME.
      BAPI_MARA-PUR_VALKEY = IT_MATMASTER-EKWSL.
      BAPI_MARA-MANU_MAT = IT_MATMASTER-MFRPN.
      BAPI_MARA-MFR_NO = IT_MATMASTER-MFRNR.
      BAPI_MARAX-MATL_GROUP = 'X'.
      BAPI_MARAX-DIVISION = 'X'.
      BAPI_MARAX-DSN_OFFICE = 'X'.
      BAPI_MARAX-PROD_HIER = 'X'.
      BAPI_MARAX-PUR_STATUS = 'X'.
      BAPI_MARAX-ITEM_CAT = 'X'.
      BAPI_MARAX-NET_WEIGHT = 'X'.
      BAPI_MARAX-UNIT_OF_WT = 'X'.
    BAPI_MARAX-UNIT_OF_WT_ISO = 'X'.
      bapi_maraX-size_dim = 'X'.
      BAPI_MARAX-MAT_GRP_SM = 'X'.
      BAPI_MARAX-OLD_MAT_NO = 'X'.
      BAPI_MARAX-BASE_UOM = 'X'.
      BAPI_MARAX-BASE_UOM_ISO = 'X'.
      BAPI_MARAX-BASIC_MATL = 'X'.
      BAPI_MARAX-MFR_NO = 'X'.
      BAPI_MARAX-HAZMATPROF = 'X'.
      BAPI_MARAX-ENVT_RLVT = 'X'.
      BAPI_MARAX-PO_UNIT = 'X'.
    BAPI_MARAX-PACK_VO_UN = 'X'.
      BAPI_MARAX-VAR_ORD_UN = 'X'.
      BAPI_MARAX-PUR_VALKEY = 'X'.
      BAPI_MARAX-MANU_MAT = 'X'.
      BAPI_MARAX-MFR_NO = 'X'.
    *PLANT DATA
      BAPI_MARC-PLANT = IT_MATMASTER-WERKS.
      BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP.
      BAPI_MARC-BATCH_MGMT = IT_MATMASTER-XCHPF.
      BAPI_MARC-GR_PR_TIME = IT_MATMASTER-WEBAZ.
      BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.
      BAPI_MARCX-PUR_GROUP = 'X'.
      BAPI_MARCX-BATCH_MGMT = 'X'.
      BAPI_MARCX-GR_PR_TIME = 'X'.
    *VALUATION DATA
      BAPI_MBEW-PRICE_CTRL = IT_MATMASTER-VPRSV.
      BAPI_MBEW-STD_PRICE = IT_MATMASTER-STPRS.
      BAPI_MBEW-COMMPRICE1 = IT_MATMASTER-BWPRH.
      BAPI_MBEW-VAL_AREA = IT_MATMASTER-BWKEY.
      BAPI_MBEW-VAL_CLASS = IT_MATMASTER-BKLAS.
      BAPI_MBEWX-PRICE_CTRL = 'X'.
      BAPI_MBEWX-STD_PRICE = 'X'.
      BAPI_MBEWX-COMMPRICE1 = 'X'.
      BAPI_MBEWX-VAL_AREA = IT_MATMASTER-BWKEY.
      BAPI_MBEWX-VAL_CLASS = 'X'.
      IT_MATERIALDESC-LANGU = 'EN'.
      IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
      append IT_materialdesc.
      IT_UOM-GROSS_WT = IT_MATMASTER-BRGEW.
      IT_UOM-ALT_UNIT = 'KG'.
      IT_UOM-ALT_UNIT_ISO = 'KG'.
        IT_UOM-UNIT_OF_WT = IT_MATMASTER-GEWEI.
        APPEND IT_UOM.
      IT_UOMX-GROSS_WT = 'X'.
      IT_UOMX-ALT_UNIT = 'KG'.
      IT_UOMX-ALT_UNIT_ISO = 'KG'.
      IT_UOMX-UNIT_OF_WT = 'X'.
      APPEND IT_UOMX.
      it_mean-unit = 'KD3'.
      append it_mean.
      it_mltx-langu = 'E'.
      it_mltx-text_name = it_matmaster-matnr.
      APPEND IT_MLTX.
      CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
        EXPORTING
          headdata                   = BAPIMATHEAD
          CLIENTDATA                 = BAPI_MARA
          CLIENTDATAX                = BAPI_MARAx
         PLANTDATA                  =  BAPI_MARc
         PLANTDATAX                 =  BAPI_MARcx
        FORECASTPARAMETERS         =
        FORECASTPARAMETERSX        =
        PLANNINGDATA               =
        PLANNINGDATAX              =
        STORAGELOCATIONDATA        =
        STORAGELOCATIONDATAX       =
         VALUATIONDATA              = BAPI_MBEW
         VALUATIONDATAX             = BAPI_MBEWX
        WAREHOUSENUMBERDATA        =
        WAREHOUSENUMBERDATAX       =
        SALESDATA                  =
        SALESDATAX                 =
        STORAGETYPEDATA            =
        STORAGETYPEDATAX           =
        FLAG_ONLINE                = ' '
        FLAG_CAD_CALL              = ' '
       IMPORTING
         RETURN                     = IT_RETURN
       TABLES
         MATERIALDESCRIPTION        = IT_MATERIALDESC
         UNITSOFMEASURE             = IT_UOM
         UNITSOFMEASUREX            = IT_UOMX
         INTERNATIONALARTNOS        = it_mean
        MATERIALLONGTEXT           = IT_MLTX
        TAXCLASSIFICATIONS         =
        RETURNMESSAGES             =
        PRTDATA                    =
        PRTDATAX                   =
        EXTENSIONIN                =
        EXTENSIONINX               =
    read table it_return with key TYPE = 'S'.
    if sy-subrc = 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT          =
      IMPORTING
        RETURN        =
    *else.
    *CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
    IMPORTING
      RETURN        =
    endif.
    WRITE:/    IT_RETURN-TYPE,
            2   IT_RETURN-ID,
            22  IT_RETURN-NUMBER,
            25  IT_RETURN-MESSAGE.
               IT_RETURN-LOG_NO,
               IT_RETURN-LOG_MSG_NO,
               IT_RETURN-MESSAGE_V1,
               IT_RETURN-MESSAGE_V2,
               IT_RETURN-MESSAGE_V3,
               IT_RETURN-MESSAGE_V4,
               IT_RETURN-PARAMETER,
               IT_RETURN-ROW,
               IT_RETURN-FIELD,
               IT_RETURN-SYSTEM.
    ENDLOOP.
    This will Create Mass .

  • How to populate data in dynamic internal table

    Hi Expert,
    fyi. My dynamic internal table field is created base on data selected. Eg. select table qpcd has 5 records.  These 5 recods will become fieldname to my dynamic internal table. My dynamic internal table will be
    ...itab
          01
          02
          03
          04
          05
    The 5 records from qpcd is populated in another table call viqmel.  I need to find the occurance of each code in viqmel and populate the number of occurance in itab in each of column.  The final dynamic itab will be like this
    table itab
    01       02     03    04     05   -
    > field name
    2         0        1     0       1    -
    > data
    my source code like below
    Report ZPLYGRND2.
    TABLES: mara, makt.
    TYPE-POOLS: slis, sydes.
    DATA:it_fcat TYPE slis_t_fieldcat_alv,
         is_fcat LIKE LINE OF it_fcat,
         ls_layout TYPE slis_layout_alv.
    DATA: it_fieldcat TYPE lvc_t_fcat,
          is_fieldcat LIKE LINE OF it_fieldcat.
    DATA: new_table TYPE REF TO data,
          new_line TYPE REF TO data,
          ob_cont_alv TYPE REF TO cl_gui_custom_container,
          ob_alv TYPE REF TO cl_gui_alv_grid,
          vg_campos(255) TYPE c,
          i_campos LIKE TABLE OF vg_campos,
          vg_campo(30) TYPE c,
          vg_tables(60) TYPE c.
    types : begin of t_qpcd,
             codegruppe like qpcd-codegruppe,
             code like qpcd-code,
            end of t_qpcd.
    data:wa_qpcd type t_qpcd,
         i_qpcd type standard table of t_qpcd initial size 0.
    FIELD-SYMBOLS: <l_table> TYPE table,
                   <l_line> TYPE ANY,
                   <l_field> TYPE ANY.
    select * into corresponding fields of wa_qpcd from qpcd
    where katalogart = 'D'
    and   codegruppe = 'OOT01'.
    append wa_qpcd to i_qpcd.
    endselect.
    loop at i_qpcd into wa_qpcd.
      is_fcat-fieldname = wa_qpcd-code.
      APPEND is_fcat TO it_fcat.
    endloop.
    LOOP AT it_fcat INTO is_fcat.
        is_fieldcat-fieldname = is_fcat-fieldname.
        is_fieldcat-ref_field = is_fcat-ref_fieldname.
        is_fieldcat-ref_table = is_fcat-ref_tabname.
        APPEND is_fieldcat TO it_fieldcat.
    ENDLOOP.
    *... Create the dynamic internal table
    CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
            it_fieldcatalog = it_fieldcat
        IMPORTING
            ep_table = new_table.
    if sy-subrc = 0.
    endif.
    *... Create a new line
    ASSIGN new_table->* TO <l_table>.
    CREATE DATA new_line LIKE LINE OF <l_table>.
    ASSIGN new_line->* TO <l_line>.
    LOOP AT <l_table> INTO <l_line>.
    ENDLOOP.

    hello dear i m giving u a code in this a dynamic table is made on the basis of table in database , and u can download this data correct it , see it, or even change it....and upload in tht table help full if u dont know the table name...in advance.
    also the code to populate data in dynamic table is in this code like:
    SELECT * FROM (MTABLE_N)
    INTO CORRESPONDING FIELDS OF TABLE <FS_ITAB> .
    look at the whole program .hope this solve ur problem thanks.
    REPORT ZTESTA  MESSAGE-ID ZIMM    .
    TYPES : DATA_OBJECT TYPE REF TO DATA.
    DATA : MITAB TYPE REF TO DATA .
    TYPE-POOLS : SLIS .
    DATA : IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
    WITH HEADER LINE .
    DATA : IT_FIELDCATALOG TYPE LVC_T_FCAT .
    DATA : WA_FIELDCATALOG TYPE LVC_S_FCAT .
    DATA : I_STRUCTURE_NAME LIKE DD02L-TABNAME .
    DATA : I_CALLBACK_PROGRAM LIKE SY-REPID .
    DATA : DYN_LINE TYPE DATA_OBJECT .
    FIELD-SYMBOLS : <FS_ITAB> TYPE STANDARD TABLE .
    DATA : TABLE_NAME_IS_VALID TYPE C .
    DATA : DYNAMIC_IT_INSTANTIATED TYPE C .
    CONSTANTS BUTTONSELECTED TYPE C VALUE 'X' .
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) T_TABL.
    PARAMETERS : MTABLE_N LIKE RSRD1-TBMA_VAL
    MATCHCODE OBJECT DD_DBTB_16 OBLIGATORY .
    DATA CHECKTABLED.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) T_FILE.
    PARAMETERS : MFILENAM LIKE RLGRAP-FILENAME .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) T_DOWN.
    PARAMETERS : P_DOWNLD RADIOBUTTON GROUP GRP1
    USER-COMMAND M_UCOMM .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) T_CHKF.
    PARAMETERS : P_CHKFIL RADIOBUTTON GROUP GRP1 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) T_UPLD.
    PARAMETERS : P_UPLOAD RADIOBUTTON GROUP GRP1 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(29) T_SHOW.
    PARAMETERS : P_SHOW_T RADIOBUTTON GROUP GRP1 .
    SELECTION-SCREEN END OF LINE.
    AT SELECTION-SCREEN OUTPUT .
      PERFORM CHECK_FILENAME .
    AT SELECTION-SCREEN.
      IF SY-UCOMM = 'ONLI'.
        CHECKTABLED = MTABLE_N+0(1).
        IF CHECKTABLED NE 'Z'.
          MESSAGE I017.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF SY-UNAME NE 'KAMESH.K'.
          MESSAGE I023 WITH SY-UNAME.
          LEAVE TO SCREEN 1000.
        ENDIF.
      ENDIF.
      IF SY-UCOMM = 'PRIN'.
        CHECKTABLED = MTABLE_N+0(1).
        IF CHECKTABLED NE 'Z'.
          MESSAGE I017.
          LEAVE TO SCREEN 1000.
        ENDIF.
        IF SY-UNAME NE 'KAMESH.K'.
          MESSAGE I023 WITH SY-UNAME.
          LEAVE TO SCREEN 1000.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR MFILENAM .
      PERFORM F4_FOR_FILENAME .
    INITIALIZATION .
      T_TABL = 'Table Name' .
      T_FILE = 'File Name' .
      T_DOWN = 'Download Table' .
      T_CHKF = 'Check File to Upload' .
      T_UPLD = 'Upload File' .
      T_SHOW = 'Show Table Contents' .
    START-OF-SELECTION .
      PERFORM CHECK_TABLE_NAME_IS_VALID .
    END-OF-SELECTION .
      IF TABLE_NAME_IS_VALID EQ ' ' .
        MESSAGE I398(00) WITH 'INVALID TABLE NAME' .
      ELSE .
        PERFORM INSTANTIATE_DYNAMIC_INTERNAL_T .
        CHECK DYNAMIC_IT_INSTANTIATED = 'X' .
        CASE BUTTONSELECTED .
          WHEN P_DOWNLD .
            PERFORM SELECT_AND_DOWNLOAD .
          WHEN P_CHKFIL .
            PERFORM CHECK_FILE_TO_UPLOAD .
          WHEN P_UPLOAD .
            PERFORM UPLOAD_FROM_FILE .
          WHEN P_SHOW_T .
            PERFORM SHOW_CONTENTS .
        ENDCASE .
      ENDIF .
    FORM CHECK_TABLE_NAME_IS_VALID.
      DATA MCOUNT TYPE I .
      TABLES DD02L .
      CLEAR TABLE_NAME_IS_VALID .
      SELECT COUNT(*) INTO MCOUNT FROM TADIR
      WHERE PGMID = 'R3TR'
      AND OBJECT = 'TABL'
      AND OBJ_NAME = MTABLE_N .
      IF MCOUNT EQ 1 .
        CLEAR DD02L .
        SELECT SINGLE * FROM DD02L WHERE TABNAME = MTABLE_N .
        IF SY-SUBRC EQ 0.
          IF DD02L-TABCLASS = 'TRANSP' .
            TABLE_NAME_IS_VALID = 'X' .
          ENDIF .
        ENDIF.
      ENDIF .
    ENDFORM. " CHECK_TABLE_NAME_IS_VALID
    FORM SELECT_AND_DOWNLOAD.
      CLEAR : <FS_ITAB> .
      SELECT * FROM (MTABLE_N)
      INTO CORRESPONDING FIELDS OF TABLE <FS_ITAB> .
      PERFORM CHECK_FILENAME.
      CALL FUNCTION 'WS_DOWNLOAD'
           EXPORTING
                FILENAME                = MFILENAM
                FILETYPE                = 'DAT'
           TABLES
                DATA_TAB                = <FS_ITAB>
           EXCEPTIONS
                FILE_OPEN_ERROR         = 1
                FILE_WRITE_ERROR        = 2
                INVALID_FILESIZE        = 3
                INVALID_TYPE            = 4
                NO_BATCH                = 5
                UNKNOWN_ERROR           = 6
                INVALID_TABLE_WIDTH     = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
      IF SY-SUBRC EQ 0.
        MESSAGE I398(00) WITH 'Table' MTABLE_N
        'successfully downloaded to '
        MFILENAM .
      ENDIF.
    ENDFORM. " SELECT_AND_DOWNLOAD
    FORM UPLOAD_FROM_FILE.
      DATA : ANS TYPE C .
      DATA : LINES_OF_ITAB TYPE I .
      DATA : MSY_SUBRC TYPE I .
      CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
           EXPORTING
                TEXTLINE1 = 'Are you sure you wish to upload'
                TEXTLINE2 = 'data from ASCII File to DB table '
                TITEL     = 'Confirmation of Data Upload'
           IMPORTING
                ANSWER    = ANS.
      IF ANS = 'J' .
        PERFORM CHECK_FILENAME.
        CLEAR MSY_SUBRC .
        CALL FUNCTION 'WS_UPLOAD'
             EXPORTING
                  FILENAME                = MFILENAM
                  FILETYPE                = 'DAT'
             TABLES
                  DATA_TAB                = <FS_ITAB>
             EXCEPTIONS
                  CONVERSION_ERROR        = 1
                  FILE_OPEN_ERROR         = 2
                  FILE_READ_ERROR         = 3
                  INVALID_TYPE            = 4
                  NO_BATCH                = 5
                  UNKNOWN_ERROR           = 6
                  INVALID_TABLE_WIDTH     = 7
                  GUI_REFUSE_FILETRANSFER = 8
                  CUSTOMER_ERROR          = 9
                  OTHERS                  = 10.
        MSY_SUBRC = MSY_SUBRC + SY-SUBRC .
        IF SY-SUBRC EQ 0.
          DESCRIBE TABLE <FS_ITAB> LINES LINES_OF_ITAB .
          IF LINES_OF_ITAB GT 0 .
            MODIFY (MTABLE_N) FROM TABLE <FS_ITAB> .
            MSY_SUBRC = MSY_SUBRC + SY-SUBRC .
          ENDIF .
        ENDIF.
        IF MSY_SUBRC EQ 0 .
          MESSAGE I398(00) WITH LINES_OF_ITAB
          'Record(s) inserted in table'
          MTABLE_N .
        ELSE .
          MESSAGE I398(00) WITH
          'Errors occurred No Records inserted in table'
          MTABLE_N .
        ENDIF .
      ENDIF .
    ENDFORM. " UPLOAD_FROM_FILE
    FORM F4_FOR_FILENAME.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_PATH         = 'C:\'
                MASK             = ',.,..'
                MODE             = '0'
           IMPORTING
                FILENAME         = MFILENAM
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
    ENDFORM. " F4_FOR_FILENAME
    FORM CHECK_FILENAME.
      IF MFILENAM IS INITIAL
      AND NOT ( MTABLE_N IS INITIAL )
      AND P_SHOW_T NE BUTTONSELECTED.
        CONCATENATE 'C:\'
        MTABLE_N '.TXT' INTO MFILENAM.
      ENDIF .
    ENDFORM. " CHECK_FILENAME
    FORM INSTANTIATE_DYNAMIC_INTERNAL_T.
      CLEAR DYNAMIC_IT_INSTANTIATED .
      I_STRUCTURE_NAME = MTABLE_N .
      CLEAR IT_FIELDCAT[] .
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                I_STRUCTURE_NAME       = I_STRUCTURE_NAME
           CHANGING
                CT_FIELDCAT            = IT_FIELDCAT[]
           EXCEPTIONS
                INCONSISTENT_INTERFACE = 1
                PROGRAM_ERROR          = 2
                OTHERS                 = 3.
      IF SY-SUBRC EQ 0.
        LOOP AT IT_FIELDCAT .
          CLEAR WA_FIELDCATALOG .
          MOVE-CORRESPONDING IT_FIELDCAT TO WA_FIELDCATALOG .
          WA_FIELDCATALOG-REF_FIELD = IT_FIELDCAT-FIELDNAME .
          WA_FIELDCATALOG-REF_TABLE = MTABLE_N .
          APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG .
        ENDLOOP .
        CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
        EXPORTING
        IT_FIELDCATALOG = IT_FIELDCATALOG
        IMPORTING
        EP_TABLE = MITAB .
        ASSIGN MITAB->* TO <FS_ITAB> .
        DYNAMIC_IT_INSTANTIATED = 'X' .
      ENDIF.
    ENDFORM. " INSTANTIATE_DYNAMIC_INTERNAL_T
    FORM SHOW_CONTENTS.
      CLEAR : <FS_ITAB> .
      SELECT * FROM (MTABLE_N)
      INTO CORRESPONDING FIELDS OF TABLE <FS_ITAB> .
      I_CALLBACK_PROGRAM = SY-REPID .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
           EXPORTING
                I_CALLBACK_PROGRAM = I_CALLBACK_PROGRAM
                IT_FIELDCAT        = IT_FIELDCAT[]
           TABLES
                T_OUTTAB           = <FS_ITAB>
           EXCEPTIONS
                PROGRAM_ERROR      = 1
                OTHERS             = 2.
    ENDFORM. " SHOW_CONTENTS
    FORM CHECK_FILE_TO_UPLOAD.
      PERFORM CHECK_FILENAME.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                FILENAME                = MFILENAM
                FILETYPE                = 'DAT'
           TABLES
                DATA_TAB                = <FS_ITAB>
           EXCEPTIONS
                CONVERSION_ERROR        = 1
                FILE_OPEN_ERROR         = 2
                FILE_READ_ERROR         = 3
                INVALID_TYPE            = 4
                NO_BATCH                = 5
                UNKNOWN_ERROR           = 6
                INVALID_TABLE_WIDTH     = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
      IF SY-SUBRC EQ 0.
        I_CALLBACK_PROGRAM = SY-REPID .
        CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
             EXPORTING
                  I_CALLBACK_PROGRAM = I_CALLBACK_PROGRAM
                  IT_FIELDCAT        = IT_FIELDCAT[]
             TABLES
                  T_OUTTAB           = <FS_ITAB>
             EXCEPTIONS
                  PROGRAM_ERROR      = 1
                  OTHERS             = 2.
      ENDIF .
    ENDFORM. " CHECK_FILE_TO_UPLOAD
    Message was edited by:
            SAURABH SINGH
            SENIOR EXECUTIVE
            SAMSUNG INDIA ELECTRONICS LTD.,NOIDA

  • Difference between GUI_UPLOAD and WS_UPLOAD

    Hi,
    Please make me clear about the difference between GUI_UPLOAD and WS_UPLOAD. In which cases we need to use these modules...??
    Thanks,
    Satish

    I would suggest to always use the GUI_UPLOAD.  I say this because this is the function module which is used in the GUI_UPLOAD method of the class CL_GUI_FRONTEND_SERVICES.   Really, you should probably use the class/method instead of the function module.
      data: filename type string.
      filename = p_file.
      call method cl_gui_frontend_services=>gui_upload
             exporting
                  filename                = filename
                  filetype                = 'ASC'
             changing
                  data_tab                = iflatf
             exceptions
                  file_open_error         = 1
                  file_read_error         = 2
                  no_batch                = 3
                  gui_refuse_filetransfer = 4
                  no_authority            = 6
                  unknown_error           = 7
                  bad_data_format         = 8
                  unknown_dp_error        = 12
                  access_denied           = 13
                  others                  = 17.
    Regards,
    Rich Heilman

  • How to give path at runtime in GUI_DOWNLOAD

    Hi experts,
    I have a below given parameter on the selection screen:
    SELECTION-SCREEN: BEGIN OF BLOCK b5 WITH FRAME TITLE text-005.
    PARAMETERS: p_path LIKE RLGRAP-FILENAME modif id ZF1.
    SELECTION-SCREEN: END OF BLOCK b5.
    I am using the FM GUI_DOWNLOAD in my report.
    My requirement is that I need to pass the path given
    in p_path in this FM, i.e. I need not hard code the path in the
    FM parameter 'filename', but need to pass it at runtime.
    How can this functionality be achieved?
    Thanks,
    Ajay.

    Hi Ajay,
    check the below code i hope it will help you.
    SELECTION-SCREEN BEGIN OF BLOCK upfile WITH FRAME TITLE text-009.
    PARAMETERS: p_file     TYPE rlgrap-filename OBLIGATORY.       "Source  file name
    SELECTION-SCREEN END OF BLOCK upfile.
    *AT SELECTION-SCREEN
    Browse source file name
      AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
       PERFORM f_browse_file CHANGING p_file.
    FORM f_browse_file CHANGING p_p_file.
      DATA: it_l_filetab  TYPE filetable,
            wa_l_filetab  TYPE file_table,
            l_rc          TYPE i.
      CLEAR it_l_filetab.
    Browsing file
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        CHANGING
          file_table              = it_l_filetab
          rc                      = l_rc
        EXCEPTIONS
          file_open_dialog_failed = 1
          cntl_error              = 2
          error_no_gui            = 3
          not_supported_by_gui    = 4
          OTHERS                  = 5.
      IF sy-subrc IS NOT INITIAL.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        READ TABLE it_l_filetab INTO wa_l_filetab INDEX 1.
        IF sy-subrc IS INITIAL.
          p_p_file = wa_l_filetab-filename.
        ENDIF. " sy-subrc  Read
      ENDIF. " sy-subrc-call method
    ENDFORM.                    " f_browse_file
    START-OF-SELECTION.
    *Upload File
      PERFORM f110_upload_from_pc.
    FORM f110_upload_from_pc .
    DATA :  lv_file TYPE rlgrap-filename.
      DATA :  l_files TYPE string,
              l_ret   TYPE abap_bool.
      CLEAR  it_file_data.
      lv_file = p_file.
      l_files = p_file.
      CONSTANTS: c_tab    TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = l_files
          filetype                = 'ASC'
          has_field_separator     = c_tab
         codepage                = '6300'
         READ_BY_LINE            = 'X'
         replacement             = '-'
        TABLES
          data_tab                = i_tab_order
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
          no_batch                = 3
          gui_refuse_filetransfer = 4
          invalid_type            = 5
          no_authority            = 6
          unknown_error           = 7
          bad_data_format         = 8
          header_not_allowed      = 9
          separator_not_allowed   = 10
          header_too_long         = 11
          unknown_dp_error        = 12
          access_denied           = 13
          dp_out_of_memory        = 14
          disk_full               = 15
          dp_timeout              = 16
          OTHERS                  = 17.
      IF sy-subrc <> 0.
        MESSAGE 'Error in upload'(008) TYPE 'I' DISPLAY LIKE 'E' .
        LEAVE TO LIST-PROCESSING.
      ENDIF.
    ENDFORM.                    " f_UPLOAD_FROM_PC
    I hopr this will helps you
    Regards,
    Tarun
    Edited by: Devalla T Kumar on Dec 29, 2009 9:54 AM

  • Looking for some assistancte in GUI_DOWNLOAD

    Hi there,
    See I have this exercise I have to do here. Basically I have to create a program that will download the contects of SBOOK to my pc. I have to use GUI_DOWNLOAD in this exercise. Also, the user will have to input the path and file name of the file to be downloaded to. I have place appropriate error message on the screen as well but I'm not sure how to do this.Being relatively new to this, I tried looking for some samples and this is what I came up so far.
    REPORT  ZISTANZS_TRNG_EX9C.
    TABLES: SBOOK.
    PARAMETERS: FILEINP(30) DEFAULT 'c:\TEMP\wee.txt' OBLIGATORY.
    DATA: BEGIN OF ITAB OCCURS 100.
          INCLUDE STRUCTURE SBOOK.
    DATA: END OF ITAB.
    CALL FUNCTION 'GUI_DOWNLOAD'
         EXPORTING
             FILENAME            = FILEINP
             FILETYPE            = 'ASC'
             write_field_separator = 'X'
         TABLES
             DATA_TAB            = ITAB
         EXCEPTIONS
             FILE_OPEN_ERROR     = 1
             FILE_WRITE_ERROR    = 2
             OTHERS              = 3.
    Unfortunately, it doesn't work though. It keeps saying that my FILENAME is not the same data type as FILEINP? I'm asking for some assistance in how this can be properly solved? Any help would be appreciated /

    Hi,
    Please refer the code below:
    * File download, uses older techniques but achieves a perfectly
    * acceptable solution which also allows the user to append data to
    * an existing file.
      PARAMETERS: p_file like rlgrap-filename.
    * Internal table to store export data
      DATA: begin of it_excelfile occurs 0,
       row(500) type c,
       end of it_excelfile.
      DATA: rc TYPE sy-ucomm,
            ld_answer TYPE c.
      CALL FUNCTION 'WS_QUERY'
           EXPORTING
                query    = 'FE'  "File Exist?
                filename = p_file
           IMPORTING
                return   = rc.
      IF rc NE 0.                       "If File alread exists
        CALL FUNCTION 'POPUP_TO_CONFIRM'
          EXPORTING
    *          TITLEBAR              = ' '
    *          DIAGNOSE_OBJECT       = ' '
               text_question         = 'File Already exists!!'
               text_button_1         = 'Replace'
    *          ICON_BUTTON_1         = ' '
               text_button_2         = 'New name'
    *          ICON_BUTTON_2         = ' '
    *          DEFAULT_BUTTON        = '1'
    *          DISPLAY_CANCEL_BUTTON = 'X'
    *          USERDEFINED_F1_HELP   = ' '
    *          START_COLUMN          = 25
    *          START_ROW             = 6
    *          POPUP_TYPE            =
          IMPORTING
               answer                = ld_answer
    *     TABLES
    *         PARAMETER              =
          EXCEPTIONS
              text_not_found         = 1
              OTHERS                 = 2.
    * Option 1: Overwrite
        IF ld_answer EQ '1'.
          CALL FUNCTION 'GUI_DOWNLOAD'
            EXPORTING
    *            BIN_FILESIZE            =
                 filename                = p_file        "File Name
                 filetype                = 'ASC'
    *       IMPORTING
    *            FILELENGTH              =
            TABLES
                data_tab                = it_excelfile   "Data table
            EXCEPTIONS
                file_write_error        = 1
                no_batch                = 2
                gui_refuse_filetransfer = 3
                invalid_type            = 4
                OTHERS                  = 5.
          IF sy-subrc <> 0.
            MESSAGE i003(zp) WITH
                     'There was an error during Excel file creation'(200).
            exit. "Causes short dump if removed and excel document was open
          ENDIF.
    * Option 2: New name.
        ELSEIF ld_answer EQ '2'.
          CALL FUNCTION 'DOWNLOAD'
            EXPORTING
                 filename            = p_file          "File name
                 filetype            = 'ASC'           "File type
    *             col_select          = 'X'            "COL_SELECT
    *             col_selectmask      = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'
    *                                                   "COL_SELECTMASK
                 filetype_no_show    = 'X'     "Show file type selection?
    *       IMPORTING
    *             act_filename        = filename_dat
            TABLES
                 data_tab            = it_excelfile    "Data table
    *            fieldnames          =
            EXCEPTIONS
                 file_open_error     = 01
                 file_write_error    = 02
                 invalid_filesize    = 03
                 invalid_table_width = 04
                 invalid_type        = 05
                 no_batch            = 06
                 unknown_error       = 07.
        ENDIF.
      ELSE.                               "File does not alread exist.
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
    *          BIN_FILESIZE            =
               filename                = p_file         "File name
               filetype                = 'ASC'          "File type
    *     IMPORTING
    *          FILELENGTH              =
          TABLES
               data_tab                = it_excelfile   "Data table
          EXCEPTIONS
               file_write_error        = 1
               no_batch                = 2
               gui_refuse_filetransfer = 3
               invalid_type            = 4
               OTHERS                  = 5.
        IF sy-subrc <> 0.
          MESSAGE i003(zp) WITH
                   'There was an error during Excel file creation'(200).
          exit. "Causes short dump if removed and excel document was open
        ENDIF.
      ENDIF.
    Thanks,
    Sriram Ponna.

Maybe you are looking for