Upload the Excel shet through BPM

Hi,
I have a kind of functionality that client user can upload a excel sheet and create the instance based on the excel sheet records. So from the JSP side I am uploading the file and I have given the file type as a BINARY, then I am able to check the file. Length(). But if I am using Java.Io.File or Fueog.Io.File then this value is assigned to NULL
So I have done coding like this.
Binary io = adhocCreation.attachment;
logMessage("file length is = " + Binary(data : io).length());
ByteArrayInputStream bis = ByteArrayInputStream(arg1 : io);
logMessage("bis is = " + bis);
InputStream s = bis;
FileOutputStream outStream = FileOutputStream(arg1 : Fuego.Server.homeDir + "check.xls");
outStream.write(arg1 : io);
outStream.flush();
logMessage("outStream is = " + outStream);
ExternalClasses.Jxl.Write.WritableWorkbook workBook = Workbook.createWorkbook(os : outStream);
logMessage("numberOfSheets are " + workBook.numberOfSheets);
ExternalClasses.Jxl.Write.WritableSheet writableSheet = workBook.getSheet(arg1 : 0);
logMessage("writableSheet = " + writableSheet);
Cell[] cells = writableSheet.getRow(arg1 : 0);
if (cells != null || cells.length() == 0) {
logMessage("result2 = " + cells[0].contents);
And getting the output like this:
file length is = 30208
bis is = java.io.ByteArrayInputStream@35834c
outStream is = java.io.FileOutputStream@13efefe
numberOfSheets are 0
but what ever the file I am uploading that is having 3 sheets on excel sheet
any idea why it is not able to read that.
Thanks
Brijesh Kumar Singh

I'm trying to move data from excel into an Oracle forms field. This involves coping 2 columns of data cells in excel and pasting it into an Oracle forms field. I can get the date pasted into the Oracle forms field but there is a invisible character that separates the 2 columns of data coming from Excel. I do not know what this character is but it is causing the error 'Line 1 is invalid. Check forms'.
Any ideas how to get pass this?
Thank you

Similar Messages

  • Upload the excel file in oracle db through oracle forms

    Hi all,
    I want to upload the excel file in oracle db through oracle forms...I am new to oracle forms .
    I have searched a lot but not getting exact solution
    Is there anyone who will help me out with this .....
    Any help will be appriciated

    I'm trying to move data from excel into an Oracle forms field. This involves coping 2 columns of data cells in excel and pasting it into an Oracle forms field. I can get the date pasted into the Oracle forms field but there is a invisible character that separates the 2 columns of data coming from Excel. I do not know what this character is but it is causing the error 'Line 1 is invalid. Check forms'.
    Any ideas how to get pass this?
    Thank you

  • FM to upload the Excel file to internal table

    Hi
    Is any FM available to upload the Excel file to internal table.
    Thanks
    Anbu

    Hi
    se this code
    EXCEL to INTERNAL TABLE and then to APPLICATION SERVER
    *& Report  ZSD_EXCEL_INT_APP
    REPORT  ZSD_EXCEL_INT_APP.
    parameter: file_nm type localfile.
    types : begin of it_tab1,
            f1(20),
            f2(40),
            f3(20),
           end of it_tab1.
    data : it_tab type table of ALSMEX_TABLINE with header line,
           file type rlgrap-filename.
    data : it_tab2 type it_tab1 occurs 1,
           wa_tab2 type it_tab1,
           w_message(100)  TYPE c.
    at selection-screen on value-request for file_nm.
    CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
    EXPORTING
      PROGRAM_NAME        = SYST-REPID
      DYNPRO_NUMBER       = SYST-DYNNR
      FIELD_NAME          = ' '
       STATIC              = 'X'
      MASK                = ' '
      CHANGING
       file_name           = file_nm
    EXCEPTIONS
       MASK_TOO_LONG       = 1
       OTHERS              = 2
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    start-of-selection.
    refresh it_tab2[].clear wa_tab2.
    file = file_nm.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        filename                      = file
        i_begin_col                   = '1'
        i_begin_row                   =  '1'
        i_end_col                     = '10'
        i_end_row                     = '35'
      tables
        intern                        = it_tab
    EXCEPTIONS
       INCONSISTENT_PARAMETERS       = 1
       UPLOAD_OLE                    = 2
       OTHERS                        = 3
    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 it_tab.
      case it_tab-col.
       when '002'.
        wa_tab2-f1 = it_tab-value.
       when '004'.
        wa_tab2-f2 = it_tab-value.
      when '008'.
        wa_tab2-f3 = it_tab-value.
    endcase.
    at end of row.
      append wa_tab2 to it_tab2.
    clear wa_tab2.
      endat.
    endloop.
    data : p_file TYPE  rlgrap-filename value 'TEST3.txt'.
    OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    *--- Display error messages if any.
      IF sy-subrc NE 0.
        MESSAGE e001(zsd_mes).
        EXIT.
      ELSE.
    *---Data is downloaded to the application server file path
        LOOP AT it_tab2 INTO wa_tab2.
          TRANSFER wa_tab2 TO p_file.
        ENDLOOP.
      ENDIF.
    *--Close the Application server file (Mandatory).
      CLOSE DATASET p_file.
    loop at it_tab2 into wa_tab2.
      write : / wa_tab2-f1,wa_tab2-f2,wa_tab2-f3.
    endloop.

  • While uploading the excel BOM to SAP in PRD getting the ABAP dump error not

    Hi Experts,
    While uploading the excel BOM to SAP in PRD getting the ABAP dump error not able to proceed further.
    and if I visit ST22 t code it is telling that :RAISE_EXCEPTION and DYNPRO_NOT_FOUND.
    PLease help.
    Regards,
    Mohan

    Hi,
    Better ask this question in ABAP forums.
    Regards,
    Harsh.

  • Need to upload the excel file having extension .XLSX

    Hello,
    I am not able to upload the excel file having extension .XLSX But i can upload the excel file having extension .XLS .
    Please Guide me what are the changes i need to do... for uploading the excel file".XLSX".
    Thanks.

    Hi,
    What issue you are facing? Refer this document:  Upload/Read .xlsx file in SAP Web Dynpro . You need to on Netweaver 712 to use the classes mentioned in this document.
    Regards,
    Kiran

  • Upload the excel sheet in table maintenance

    Hi,
    I have a requirement to add a button in the application toolbar of the table maintenance screen of a custom table. This button should upload the excel sheet data into the maintenance screen online.
    I have created the button in the table maintenance generator. Also, uploaded the data into the internal table from the excel sheet.
    The problem is I am unable to populate the data from the internal table to the maintenance screen online.
    Any pointers in this regards will be appreciated.
    Thanks,
    Best regards,
    Ajith

    Hi Mukul,
      I created a custom table ZHEDGERES. Then in the table maintenance -> environment -> modification -> user interface I selected Individual interface.
      Then, in the Menu painter for the program SAPLZHEDGERES, modified the PF status EULG and added the additional button in the Application toolbar. This application toolbar needs to be used to trigger the upload of excel into the custom table.
      Below is the standard code which is generated in the screen painter of the custom table.
    PROCESS BEFORE OUTPUT.
    MODULE LISTE_INITIALISIEREN.
    LOOP AT EXTRACT WITH CONTROL
      TCTRL_ZHEDGERES CURSOR NEXTLINE.
       MODULE LISTE_SHOW_LISTE.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
    MODULE LISTE_BEFORE_LOOP.
    LOOP AT EXTRACT.
       MODULE LISTE_INIT_WORKAREA.
       CHAIN.
        FIELD ZHEDGERES-HDATE .
        FIELD ZHEDGERES-CHAIN .
        FIELD ZHEDGERES-HEDGE_VALUE .
        FIELD ZHEDGERES-CURRENCY .
        MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
       ENDCHAIN.
       FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
       CHAIN.
        FIELD ZHEDGERES-HDATE .
        MODULE LISTE_UPDATE_LISTE.
       ENDCHAIN.
    ENDLOOP.
    MODULE LISTE_AFTER_LOOP. 
      Need to add logic to extract the values from the excel sheet to an internal table and append the values from the internal table to the table control of the table maintenance.
    Thanks,
    Best regards,
    Ajith

  • Uploading the EXCEL file  in transaction QM02

    Hi SAP  Gurus,
    I am uploading the EXCEL file  in transaction QM02 >services for object >Create attachment. But after uploading it I am not able to find where it is stored
    Best Regards,
    Parag Save.

    hi
    kindly refer [HERE |http://help.sap.com/erp2005_ehp_04/helpdata/EN/be/3fe63659241157e10000009b38f889/frameset.htm] for more details
    regards
    thyagarajan

  • How to Upload the excel flat file in LSMW

    Hi all,
    Can any one plz Help me,
    How to Upload a excel file format by suing the lsmw .
    Regadrs.
    [email protected]
    Upender..
    Edited by: Upender Reddy on Sep 12, 2008 8:37 AM

    Hi,
    In 7 th step of LSMW we need to specify the file ie flat file.
    In this step you describe all files to be used in the following steps:
    · Your legacy data on the PC and/or R/3 server
    · The file for the read data
    · The file for the converted data.
    As your legacy data is on the PC: ie your excel file that is tab delimited or comma delimited.
    here give ur file name, description , click data from one src structure, then delimiter is tabulator if so, in file structure click both check boxes if in ur flat file ur first row is column, file type is record end indicator, code page ASCII and conitnue that's it.
    you can go through this link very useful :
    ****************/Tutorials/LSMW/LSMWMainPage.htm.
    thanx.

  • Upload the excel file

    HI,
      In my requirement i want to upload excel file and then i have to validate the belnr value present in the excel.How to do it.Can somebody help me with a sample code

    Hi,
    Please use following FM,
    TYPES : BEGIN OF t_text,
             field(255) TYPE c,
            END OF t_text.
    DATA : lt_table TYPE TABLE OF t_text,
                ls_table TYPE t_text,
               p_file1  TYPE string.
    PARAMETERS : p_file LIKE ibipparms-path OBLIGATORY.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
      EXPORTING
        PROGRAM_NAME        = SYST-CPROG
        DYNPRO_NUMBER       = SYST-DYNNR
        FIELD_NAME          = ' '
       IMPORTING
         file_name           = p_file
    START-OF-SELECTION.
      p_file1 = p_file.
      CONDENSE p_file1.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename = p_file1   " File Path Name
        filetype = 'ASC'
      TABLES
        data_tab = lt_table.
    Thanks & Regards,
    ShreeMohan

  • Uploading the excel  sheet in XLSX format

    Hi ,
    While   uploading  excel sheet  into sap , I am using the FM  'TEXT_CONVERT_XLS_TO_SAP' .This FM works fine when the excel  sheet is in 'XLS' format .But when the excel  sheet is in 'XLSX'  format this FM  is giving  error .Please advice how to correct  the error.
    Any pointers will be highly  appreciated.
    Thanks ,
    Nikhil

    Copied from the link given above
    hi,
    try like this once
    After calling FM 'ALSM_EXCEL_TO_INTERNAL_TABLE', need to fill the final table at each row and column level,
    Please check this sample of code below.
    Call FM to upload file from Presentation server.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
    filename = rp_file
    i_begin_col = 1
    i_begin_row = 2
    i_end_col = 3
    i_end_row = 6000
    TABLES
    intern = rt_excel[]
    EXCEPTIONS
    inconsistent_parameters = 1
    upload_ole = 2
    OTHERS = 3.
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Process Records and get only records into table T_FINAL.
    IF rt_excel[] IS NOT INITIAL.
    LOOP AT rt_excel INTO lw_file.
    Move the records into final table.
    IF lw_file-col = c_1.
    lw_final-bukrs = lw_file-value .
    ELSEIF lw_file-col = c_2.
    lw_final-csl_type = lw_file-value.
    ELSEIF lw_file-col = c_3.
    lw_final-fpl = lw_file-value.
    ENDIF.
    AT END OF row.
    APPEND lw_final TO rt_final.
    CLEAR lw_final.
    ENDAT.
    CLEAR : lw_file.
    ENDLOOP.
    endif.
    regards,
    bab
    Edited by: Matt on Jan 14, 2010 9:20 AM

  • How to upload the Excel sheet into SAP

    Hello Gurus,
    Please let me know the steps how to upload excel sheet file in sap at one time.Suppose i have entered the employee details and their caste .This detail has been maintained in Excel.I want to know the total steps how to upload this total file into SAP System.
    Regards
    AM

    . TCode : LSMW.
    2. Enter Project name, sub project name and object name.
    Execute.
    3. Maintain object attributes.
    Execute
    select Batch Input recording
    goto->Recording overview
    create
    recording name.
    enter transaction code.
    start recording
    do recording as per ur choice.
    save + back.
    enter recording name in lsmw screen.
    save + back
    Now there will be 14 steps.
    2. MAINTAIN SOURCE STRUCTURES.
    Here you have to enter the name of internal table.
    display change
    create
    save + back
    3. MAINTAIN SOURCE FIELDS.
    display change
    select structure
    source_fields->copy fields.
    a dialogue window will come .
    select -> from data file
    apply source fields
    enter No. of fields
    length of fields
    attach file
    save + back
    4. MAINTAIN STRUCTURE RELATIONS
    display change
    save + back
    5. MAINTAN FIELD MAPPING & CONVERSION RULE
    display change
    click on source field, select exact field from structue and enter
    repeat these steps for all fields.
    save+back
    6. MAINTAIN FIXED VALUES, TRANSACTION, USER DEFINED
    execute
    save + back
    7. SPECIFY FILES.
    display change
    click on legacy data
    attah flat file
    give description
    select tabulatore
    enter
    save + back
    8. ASSIGN FILE
    execute
    display change
    save + back
    9. IMPORT DATA.
    execute
    display change
    save + back
    10. DISPLAY IMPORTED DATA
    enter ok, it willl show records only.
    back
    11. CONVERT DATA
    execute
    display change
    save + back
    12. DISPLAY CONVERTED DATA
    execute
    display change
    save + back
    13. CREATE BATCH INPUT SESSION
    tick keep batch input folder
    F8
    back
    14. RUN BATCH INPUT SESSION.
    sm35 will come
    Object name will be shown here
    select object & process
    inputs given by KAPIL

  • Upload the excel File to the Internal Table

    Hello Friends,
    i wrote the source code like this,
    iam getting the run time error can u tell where iam going wrong.
    data : begin of itab occurs 3,
           a type i,
           b type i,
           end of itab.
           CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
             EXPORTING
               FILENAME  = 'D:\Siemens\asd.xls'
               I_BEGIN_COL                   = 1
               I_BEGIN_ROW                   = 1
               I_END_COL                     = 2
               I_END_ROW                     = 3
             TABLES
               INTERN                        = itab
            EXCEPTIONS
              INCONSISTENT_PARAMETERS       = 1
              UPLOAD_OLE                    = 2
              OTHERS                        = 3
           IF SY-SUBRC <> 0.
    write : / 'this is not executed'.
    exit.
           ENDIF.
           loop at itab.
           write : / itab-a,itab-b.
           endloop.
    and in excel file the data is
    1     2
    3     4
    5     6

    Hi,
    Currently in ur program, FM is returning the value but on getting the value 'EXIT, command is executed. This might be the cause of the problem.
    Try like this:
    data : begin of itab occurs 3,
    a type i,
    b type i,
    end of itab.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
    FILENAME = 'D:\Siemens\asd.xls'
    I_BEGIN_COL = 1
    I_BEGIN_ROW = 1
    I_END_COL = 2
    I_END_ROW = 3
    TABLES
    INTERN = itab
    EXCEPTIONS
    INCONSISTENT_PARAMETERS = 1
    UPLOAD_OLE = 2
    OTHERS = 3
    IF SY-SUBRC 0.
    If sy-subrc ne 0.
    write : / 'this is not executed'.
    else.
    loop at itab.
    write : / itab-a,itab-b.
    endloop.
    ENDIF.
    Thanks,
    Parul.

  • Validation of data fields in the Excel through webdynpro java

    Hi all,
         I have requirement as below:
                  There are data fields in the Excel File which are mandatory.When we are uploading the Excel file through webdynpro java it should validate the  mandatory data fields are filled or not.Can anybody please send the required code or any related links.
    Thanks,
    Prakash.

    Hi Surya,
    As per my info, you need to upload the file first then only web dynpro will be able to check for the mandatory fields.
    Do this, while reading the buffer from the excel, just check the size of desired columns. Hope that will help.
    Best Regards
    Chander Kararia

  • Upload data in excel sheet through BDC

    Dear all,
    How do we upload data in excel sheet through BDC?
    Thanks in advance.
    Regards,
    Sandra.

    Hi,
         The sample code is as given below:
    REPORT  upload_supply_area.
    *include for dispaying icons in error log
    INCLUDE <icon>.
    *Declaration of structure.
    TYPES:BEGIN OF x_struct,
          werks TYPE v_pvbe-werks,          "Plant
          prvbe TYPE v_pvbe-prvbe,          "Supply Area
          pvbtx TYPE v_pvbe-pvbtx,          "Production supply area description
          lgort TYPE v_pvbe-lgort,          "Storage Location
          rgver TYPE v_pvbe-rgver,          "Person responsible for one or more supply areas
          END OF x_struct.
    TYPES:BEGIN OF x_messages,
           msgtyp(1) type c,
           werks TYPE v_pvbe-werks,          "Plant
           prvbe TYPE v_pvbe-prvbe,          "Supply Area
           message(120) type c,
           END OF x_messages.
    DATA: it_messages  TYPE STANDARD TABLE OF x_messages .
    DATA: wa_messages TYPE x_messages.
    DATA:it_msgtab TYPE STANDARD TABLE OF bdcmsgcoll,
         wa_msgtab TYPE bdcmsgcoll.
    *internal table for BDC
    DATA: it_bdcdata TYPE STANDARD TABLE OF bdcdata.
    DATA: wa_bdcdata TYPE bdcdata.
    DATA:it_file TYPE STANDARD TABLE OF x_struct.        "internal table which has same structure as file
    DATA:wa_file TYPE x_struct.                          "work area which has same structure as file
    DATA: it_excel TYPE STANDARD TABLE OF alsmex_tabline,
          wa_excel TYPE alsmex_tabline.
    DATA: x_ctuprms TYPE ctu_params.
    DATA:nodata TYPE c VALUE '/'.
    data:con(50) type c.
    data:con1(50) type c.
    *selection screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    *Enter file name on presentation server
    PARAMETERS:  p_file TYPE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    *Function which enables the user to browse the files on hard disk
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          program_name  = syst-repid
          static        = 'X'
        CHANGING
          file_name     = p_file
        EXCEPTIONS
          mask_too_long = 1
          OTHERS        = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    START-OF-SELECTION.
    *Subroutine to upload excel file and read it
      PERFORM upload.
    *Subroutine to upload supply area data
      PERFORM fill.
    *&      Form  bdc_dynpro
          Fill the BDC table
    FORM bdc_dynpro USING program dynpro.                       "#EC *
      CLEAR wa_bdcdata.
      wa_bdcdata-program  = program.
      wa_bdcdata-dynpro   = dynpro.
      wa_bdcdata-dynbegin = 'X'.
      APPEND wa_bdcdata TO it_bdcdata.
    ENDFORM.                    "BDC_DYNPRO
    *&      Form  bdc_field
           Fill the BDC table
    FORM bdc_field USING fnam fval.                             "#EC *
      IF fval <> nodata.
        CLEAR wa_bdcdata.
        wa_bdcdata-fnam = fnam.
        wa_bdcdata-fval = fval.
        APPEND wa_bdcdata TO it_bdcdata.                        "#EC
      ENDIF.
    ENDFORM.                    "BDC_FIELD
    *&      Form  collect_messages
          Collect the messages from transaction
    FORM collect_messages .                                     "#EC *
      DATA: w_msg(100).
      LOOP AT it_msgtab INTO wa_msgtab.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = wa_msgtab-msgid
            lang      = wa_msgtab-msgspra
            no        = wa_msgtab-msgnr
            v1        = wa_msgtab-msgv1
            v2        = wa_msgtab-msgv2
          IMPORTING
            msg       = w_msg
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        CONDENSE w_msg.
        CLEAR wa_messages.
        wa_messages-msgtyp = wa_msgtab-msgtyp.
        wa_messages-message = w_msg.
        wa_messages-werks = wa_file-werks.
        wa_messages-prvbe = wa_file-prvbe.
    if wa_messages-message eq 'Formatting error in the field V_PVBE-RGVER; see next message'.
    wa_messages-message = 'Invalid name of the person responsible'.
    endif.
    if wa_messages-message eq 'Formatting error in the field V_PVBE-LGORT; see next message'.
    wa_messages-message = 'Enter the storage location'.
    endif.
        APPEND wa_messages TO it_messages .
      ENDLOOP.
      REFRESH it_msgtab.
    ENDFORM.                    "collect_messages
    *&      Form  write_messages
          Display the messages
    FORM write_messages .
      DELETE ADJACENT DUPLICATES FROM it_messages COMPARING werks prvbe.
      LOOP AT it_messages INTO wa_messages .
        WRITE:/1 sy-vline.
        IF wa_messages-msgtyp = 'S'.
          WRITE: 10 icon_green_light.
        ELSEIF wa_messages-msgtyp = 'E'.
          WRITE: 10 icon_red_light.
        ELSEIF wa_messages-msgtyp = 'W'.
          WRITE: 10 icon_yellow_light.
        ENDIF.
        WRITE: 20 sy-vline.
        WRITE : 30 'Plant-', wa_messages-werks .                "#EC NOTEXT
        WRITE: 48 sy-vline.
        WRITE : 49 'Supply Area-', wa_messages-prvbe .          "#EC NOTEXT
        WRITE: 79 sy-vline.
        WRITE : 80 wa_messages-message .
        WRITE: 180 sy-vline.
        WRITE:/1 sy-vline.
        ULINE 1(180).
      ENDLOOP.
    ENDFORM.                    " write_m
    *&      Form  fill_params
          Processing mode for the transaction
    FORM fill_params .
      x_ctuprms-dismode = 'N'.
      x_ctuprms-updmode = 'A'.
      x_ctuprms-defsize = 'X'.
    ENDFORM.                    "fill_params
    *&      Form  upload
          Upload the excel file and read the data
    FORM upload .
    *Function to upload excel file
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_file
          i_begin_col             = 1
          i_begin_row             = 2
          i_end_col               = 5
          i_end_row               = 9999
        TABLES
          intern                  = it_excel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CLEAR wa_file.
    *Read the file row-wise
      LOOP AT it_excel INTO wa_excel.
        CASE wa_excel-col .
    *Read plant
          WHEN '1'.
            wa_file-werks = wa_excel-value.
    *Read supply area
          WHEN '2'.
            wa_file-prvbe = wa_excel-value.
    *Read decription
          WHEN '3'.
            wa_file-pvbtx = wa_excel-value.
    *Read storage location
          WHEN '4'.
            wa_file-lgort = wa_excel-value.
    *Read Person responsible
          WHEN '5'.
            IF STRLEN( wa_excel-value ) = 1.
              CONCATENATE '00' wa_excel-value INTO con.
              wa_file-rgver = con.
            ELSEIF STRLEN( wa_excel-value ) = 2.
              CONCATENATE '0' wa_excel-value INTO con1.
              wa_file-rgver = con1.
            ELSE.
              wa_file-rgver = wa_excel-value.
            ENDIF.
        ENDCASE.
        AT END OF row.
          CONDENSE:wa_file-werks,wa_file-prvbe,wa_file-pvbtx,wa_file-lgort,wa_file-rgver.
          APPEND wa_file TO it_file.
          CLEAR wa_file.
        ENDAT .
      ENDLOOP.
    ENDFORM.                    " upload
    *&      Form  fill
          Call the transaction 'PK05'
    FORM fill .
    *Upload the data through transaction 'PK05'
      PERFORM fill_params.
      LOOP AT it_file INTO wa_file.
        PERFORM bdc_dynpro      USING 'SAPLSVIX' '0100'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'D0100_FIELD_TAB-LOWER_LIMIT(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=OKAY'.
        PERFORM bdc_dynpro      USING 'SAPL0PK1' '0020'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'V_PVBE-PVBTX(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=NEWL'.
        PERFORM bdc_dynpro      USING 'SAPL0PK1' '0021'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'V_PVBE-RGVER'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'V_PVBE-WERKS'
                                      wa_file-werks.
        PERFORM bdc_field       USING 'V_PVBE-PRVBE'
                                      wa_file-prvbe.
        PERFORM bdc_field       USING 'V_PVBE-PVBTX'
                                      wa_file-pvbtx.
        PERFORM bdc_field       USING 'V_PVBE-LGORT'
                                      wa_file-lgort.
        PERFORM bdc_field       USING 'V_PVBE-RGVER'
                                      wa_file-rgver.
        PERFORM bdc_dynpro      USING 'SAPL0PK1' '0021'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'V_PVBE-WERKS'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=SAVE'.
        PERFORM bdc_field       USING 'V_PVBE-WERKS'
                                      wa_file-werks.
        PERFORM bdc_field       USING 'V_PVBE-PRVBE'
                                      wa_file-prvbe.
        PERFORM bdc_field       USING 'V_PVBE-PVBTX'
                                      wa_file-pvbtx.
        PERFORM bdc_field       USING 'V_PVBE-LGORT'
                                      wa_file-lgort.
        PERFORM bdc_field       USING 'V_PVBE-RGVER'
                                      wa_file-rgver.
        CALL TRANSACTION 'PK05'
                           USING it_bdcdata
                           OPTIONS FROM x_ctuprms
                           MESSAGES INTO it_msgtab.
        REFRESH it_bdcdata.
        PERFORM collect_messages.
        CLEAR wa_file.
      ENDLOOP.
      PERFORM write_messages.
    ENDFORM.                    " fill

  • How to handle merge cells in the excel sheet while uploading

    Hi guys,
    I have a requirement where i need to upload the excel sheet. The data is given below.
    field1     field2     field3     field4
    a     x     1     1
              2     2
              3     3
         y1     4     4
         y2     5     5
         y3          6
    The output must be
    a     x     1     1
    a     x     2     2
    a     x     3     3
    a     y1     4     4
    a     y2     5     5
    a     y3     5     6
    Here the field1 column is merged.
    Please let me know if you guys have sample code to handle the merge cells in the excel sheet, that would be of gereat help.
    Regards,
    Karthik

    Hi guys,
    I have a requirement where i need to upload the excel sheet. The data is given below.
    field1     field2     field3     field4
    a     x     1     1
              2     2
              3     3
         y1     4     4
         y2     5     5
         y3          6
    The output must be
    a     x     1     1
    a     x     2     2
    a     x     3     3
    a     y1     4     4
    a     y2     5     5
    a     y3     5     6
    Here the field1 column is merged.
    Please let me know if you guys have sample code to handle the merge cells in the excel sheet, that would be of gereat help.
    Regards,
    Karthik

Maybe you are looking for