<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Data from excel sheet into my own created database table??? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301326#M790350</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u can use gui_upload to upload the data into an internal table from excel sheet and then use the bdc to update the data into database table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the sample code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ekpo, t006a, zmcutmigr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: client LIKE sy-mandt,&lt;/P&gt;&lt;P&gt;      wa_tabix TYPE i,&lt;/P&gt;&lt;P&gt;      keep VALUE 'X',&lt;/P&gt;&lt;P&gt;      holddate LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_lines TYPE i VALUE 0.&lt;/P&gt;&lt;P&gt;DATA filename TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for the bdcdata&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF bdcdata OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcdata.&lt;/P&gt;&lt;P&gt;DATA: END OF bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for holding purchase order history from source client&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF iekbe OCCURS 0,&lt;/P&gt;&lt;P&gt;   ebeln LIKE ekbe-ebeln,&lt;/P&gt;&lt;P&gt;   ebelp LIKE ekbe-ebelp,&lt;/P&gt;&lt;P&gt;   zekkn LIKE ekbe-zekkn,&lt;/P&gt;&lt;P&gt;   vgabe LIKE ekbe-vgabe,&lt;/P&gt;&lt;P&gt;   gjahr LIKE ekbe-gjahr,&lt;/P&gt;&lt;P&gt;   belnr LIKE ekbe-belnr,&lt;/P&gt;&lt;P&gt;   buzei LIKE ekbe-buzei,&lt;/P&gt;&lt;P&gt;   bewtp LIKE ekbe-bewtp,&lt;/P&gt;&lt;P&gt;   bwart LIKE ekbe-bwart,&lt;/P&gt;&lt;P&gt;   budat LIKE ekbe-budat,&lt;/P&gt;&lt;P&gt;   menge LIKE ekbe-menge,&lt;/P&gt;&lt;P&gt;   bpmng LIKE ekbe-bpmng,&lt;/P&gt;&lt;P&gt;   dmbtr LIKE ekbe-dmbtr,&lt;/P&gt;&lt;P&gt;   wrbtr LIKE ekbe-wrbtr,&lt;/P&gt;&lt;P&gt;   waers LIKE ekbe-waers,&lt;/P&gt;&lt;P&gt;   cpudt LIKE ekbe-cpudt,&lt;/P&gt;&lt;P&gt;   cputm LIKE ekbe-cputm,&lt;/P&gt;&lt;P&gt;   mandt  LIKE ekbe-mandt,&lt;/P&gt;&lt;P&gt;   ekorg LIKE ekko-ekorg,&lt;/P&gt;&lt;P&gt;   END OF iekbe.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for holding material doc header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF imkpf OCCURS 0,&lt;/P&gt;&lt;P&gt;      mblnr LIKE mkpf-mblnr,&lt;/P&gt;&lt;P&gt;      mjahr LIKE mkpf-mjahr,&lt;/P&gt;&lt;P&gt;      xblnr LIKE mkpf-xblnr,&lt;/P&gt;&lt;P&gt;      frbnr LIKE mkpf-frbnr,&lt;/P&gt;&lt;P&gt;      bktxt LIKE mkpf-bktxt,&lt;/P&gt;&lt;P&gt;      budat LIKE mkpf-budat,&lt;/P&gt;&lt;P&gt;      END OF imkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for holding material doc pos.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF imseg OCCURS 0,&lt;/P&gt;&lt;P&gt;     mblnr LIKE mseg-mblnr,&lt;/P&gt;&lt;P&gt;     mjahr LIKE mseg-mjahr,&lt;/P&gt;&lt;P&gt;     zeile LIKE mseg-zeile,&lt;/P&gt;&lt;P&gt;     erfmg LIKE mseg-erfmg,&lt;/P&gt;&lt;P&gt;     erfme LIKE mseg-erfme,&lt;/P&gt;&lt;P&gt;     ablad LIKE mseg-ablad,&lt;/P&gt;&lt;P&gt;     sgtxt LIKE mseg-sgtxt,&lt;/P&gt;&lt;P&gt;     weanz LIKE mseg-weanz,&lt;/P&gt;&lt;P&gt;     grund LIKE mseg-grund,&lt;/P&gt;&lt;P&gt;     lgort LIKE mseg-lgort,&lt;/P&gt;&lt;P&gt;     werks LIKE mseg-werks,&lt;/P&gt;&lt;P&gt;     END OF imseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;PARAMETERS: jobname(12) DEFAULT 'GR_LKV',   "group name of session&lt;/P&gt;&lt;P&gt;            user(12) TYPE c DEFAULT sy-uname.   "user name for starting&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;*date added 20070102&lt;/P&gt;&lt;P&gt;PARAMETERS: docdate LIKE sy-datum DEFAULT '20061231' OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;PARAMETERS: fileekbe LIKE rlgrap-filename DEFAULT&lt;/P&gt;&lt;P&gt;'C:ekbe.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: filemkpf LIKE rlgrap-filename DEFAULT&lt;/P&gt;&lt;P&gt;'C:mkpf.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: filemseg LIKE rlgrap-filename DEFAULT&lt;/P&gt;&lt;P&gt;'C:mseg.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR fileekbe.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name = fileekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filemkpf.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name = filemkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filemseg.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name = filemseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;  INCLUDE: zbbatch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  client = sy-mandt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM upload_from_pc.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if the file contains header line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;remove header line in extracted file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_tabix = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT iekbe.&lt;/P&gt;&lt;P&gt;    IF iekbe-ebeln CA '0123456789' OR&lt;/P&gt;&lt;P&gt;       wa_tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      DELETE iekbe.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    wa_tabix = wa_tabix + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  wa_tabix = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT imkpf.&lt;/P&gt;&lt;P&gt;    IF imkpf-mblnr CA '0123456789' OR&lt;/P&gt;&lt;P&gt;       wa_tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      DELETE imkpf.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    wa_tabix = wa_tabix + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  wa_tabix = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT imseg.&lt;/P&gt;&lt;P&gt;    IF imseg-mblnr CA '0123456789' OR&lt;/P&gt;&lt;P&gt;       wa_tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      DELETE imseg.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    wa_tabix = wa_tabix + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE iekbe LINES v_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF v_lines &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    SORT iekbe BY ebeln ebelp cpudt cputm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM create_group.&lt;/P&gt;&lt;P&gt;    v_lines = 0.&lt;/P&gt;&lt;P&gt;    PERFORM gen_bdc.&lt;/P&gt;&lt;P&gt;    PERFORM close_group.&lt;/P&gt;&lt;P&gt;    WRITE:/ 'Session ', jobname, 'created.'.&lt;/P&gt;&lt;P&gt;    WRITE:/ 'Number of transactions:', v_lines.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  gen_bdc&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM gen_bdc.&lt;/P&gt;&lt;P&gt;  DATA: v_erfmg(13) VALUE space,&lt;/P&gt;&lt;P&gt;        v_ebeln LIKE ekpo-ebeln..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT iekbe.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check material document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    READ TABLE imkpf WITH KEY mblnr = iekbe-belnr&lt;/P&gt;&lt;P&gt;                              mjahr = iekbe-gjahr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / iekbe-ebeln,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              iekbe-ebelp,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              'kommer ej att godsmottagas. Mtrl.dok huvud saknas !'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             COLOR COL_NEGATIVE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert PO number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    v_ebeln = iekbe-ebeln.&lt;/P&gt;&lt;P&gt;    PERFORM change_po_number USING iekbe-mandt&lt;/P&gt;&lt;P&gt;                                   v_ebeln&lt;/P&gt;&lt;P&gt;                                  iekbe-ekorg&lt;/P&gt;&lt;P&gt;            CHANGING iekbe-ebeln.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Purchase order line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM ekpo&lt;/P&gt;&lt;P&gt;     WHERE ebeln = iekbe-ebeln&lt;/P&gt;&lt;P&gt;       AND ebelp = iekbe-ebelp.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              'Inköps order rad ej konverterad!'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------- Creating mtrl.dok, starting screen ------------------------*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPMM07M' '200'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform bdc_field using 'MKPF-BUDAT' imkpf-budat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dates added 20070102&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-BLDAT' docdate.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-BUDAT' docdate.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-LFSNR' imkpf-xblnr.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-FRBNR' imkpf-frbnr.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-BKTXT' imkpf-bktxt.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-BWARTWE' iekbe-bwart.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-EBELN' iekbe-ebeln.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-EBELP' iekbe-ebelp.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; Creating mtrl.dok pos info screen----&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    READ TABLE imseg WITH KEY mblnr = iekbe-belnr&lt;/P&gt;&lt;P&gt;                              mjahr = iekbe-gjahr&lt;/P&gt;&lt;P&gt;                              zeile = iekbe-buzei.&lt;/P&gt;&lt;P&gt;    PERFORM convert_lgort.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    PERFORM convert_unit CHANGING  imseg-erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'BDC_OKCODE' 'SP'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPMM07M' '210'.&lt;/P&gt;&lt;P&gt;    WRITE imseg-erfmg TO v_erfmg UNIT imseg-erfme LEFT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-ERFMG' v_erfmg. "Registr. ME&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-ERFME' imseg-erfme. "Enhet&lt;/P&gt;&lt;P&gt;    IF ekpo-lgort IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field USING 'MSEG-LGORT' imseg-lgort. "St loc&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform bdc_field using 'MSEG-ELIKZ' imseg-elikz. "Slutleverans&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-ABLAD' imseg-ablad.&lt;/P&gt;&lt;P&gt;    IF iekbe-bwart = '122'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field USING 'MSEG-GRUND' imseg-grund.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-SGTXT' imseg-sgtxt.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-WEANZ' imseg-weanz.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'BDC_OKCODE' 'BU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              tcode     = 'MB01'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;    REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;    v_lines = v_lines + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " gen_bdc&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPLOAD_FROM_PC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM upload_from_pc.&lt;/P&gt;&lt;P&gt;  CLEAR:   iekbe, imkpf,imseg .&lt;/P&gt;&lt;P&gt;  REFRESH: iekbe, imkpf, imseg .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  filename = fileekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            filename                = filename&lt;/P&gt;&lt;P&gt;            filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            has_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = iekbe&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_open_error         = 1&lt;/P&gt;&lt;P&gt;            file_read_error         = 2&lt;/P&gt;&lt;P&gt;            no_batch                = 3&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;            invalid_type            = 5&lt;/P&gt;&lt;P&gt;            no_authority            = 6&lt;/P&gt;&lt;P&gt;            unknown_error           = 7&lt;/P&gt;&lt;P&gt;            bad_data_format         = 8&lt;/P&gt;&lt;P&gt;            header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;            separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;            header_too_long         = 11&lt;/P&gt;&lt;P&gt;            unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;            access_denied           = 13&lt;/P&gt;&lt;P&gt;            dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;            disk_full               = 15&lt;/P&gt;&lt;P&gt;            dp_timeout              = 16&lt;/P&gt;&lt;P&gt;            OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001(38) WITH fileekbe 'Return code:' sy-subrc.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  filename = filemkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            filename                = filename&lt;/P&gt;&lt;P&gt;            filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            has_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = imkpf&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_open_error         = 1&lt;/P&gt;&lt;P&gt;            file_read_error         = 2&lt;/P&gt;&lt;P&gt;            no_batch                = 3&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;            invalid_type            = 5&lt;/P&gt;&lt;P&gt;            no_authority            = 6&lt;/P&gt;&lt;P&gt;            unknown_error           = 7&lt;/P&gt;&lt;P&gt;            bad_data_format         = 8&lt;/P&gt;&lt;P&gt;            header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;            separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;            header_too_long         = 11&lt;/P&gt;&lt;P&gt;            unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;            access_denied           = 13&lt;/P&gt;&lt;P&gt;            dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;            disk_full               = 15&lt;/P&gt;&lt;P&gt;            dp_timeout              = 16&lt;/P&gt;&lt;P&gt;            OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001(38) WITH filemkpf 'Return code:' sy-subrc.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  filename = filemseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            filename                = filename&lt;/P&gt;&lt;P&gt;            filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            has_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = imseg&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_open_error         = 1&lt;/P&gt;&lt;P&gt;            file_read_error         = 2&lt;/P&gt;&lt;P&gt;            no_batch                = 3&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;            invalid_type            = 5&lt;/P&gt;&lt;P&gt;            no_authority            = 6&lt;/P&gt;&lt;P&gt;            unknown_error           = 7&lt;/P&gt;&lt;P&gt;            bad_data_format         = 8&lt;/P&gt;&lt;P&gt;            header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;            separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;            header_too_long         = 11&lt;/P&gt;&lt;P&gt;            unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;            access_denied           = 13&lt;/P&gt;&lt;P&gt;            dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;            disk_full               = 15&lt;/P&gt;&lt;P&gt;            dp_timeout              = 16&lt;/P&gt;&lt;P&gt;            OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001(38) WITH filemseg 'Return code:' sy-subrc.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_FROM_PC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  change_po_number&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IEKBE_MANDT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IEKBE_EBELN  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IEKBE_PURCH_ORG  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_IEKBE_EBELN  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM change_po_number USING    p_iekbe_mandt&lt;/P&gt;&lt;P&gt;                               p_iekbe_ebeln&lt;/P&gt;&lt;P&gt;                               p_iekbe_purch_org&lt;/P&gt;&lt;P&gt;                      CHANGING p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;  IF p_iekbe_mandt = 100.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase order extracted in client 100&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    CONCATENATE 'Q' p_iekbe_ebeln+1&lt;/P&gt;&lt;P&gt;      INTO p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase order extracted in client 001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check purchase org&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF p_iekbe_purch_org = '5000'.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'P' p_iekbe_ebeln+1&lt;/P&gt;&lt;P&gt;        INTO p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'N' p_iekbe_ebeln+1&lt;/P&gt;&lt;P&gt;        INTO p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " change_po_number&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  convert_unit&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_IMSEG_ERFME  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM convert_unit CHANGING p_imseg_erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: unit_out LIKE mseg-erfme.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 1 - CHECK IF UNIT EXISTS IN ENGLISH&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t006a&lt;/P&gt;&lt;P&gt;   WHERE spras = 'EN'&lt;/P&gt;&lt;P&gt;    AND mseh3 =  p_imseg_erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 2 - UNIT NOT FOUND AS ENGLISH - CALL CONVERSION EXIT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input                = p_imseg_erfme&lt;/P&gt;&lt;P&gt;        language             = 'E'&lt;/P&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LONG_TEXT            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       output               = unit_out&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SHORT_TEXT           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       unit_not_found       = 1&lt;/P&gt;&lt;P&gt;       OTHERS               = 2&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      p_imseg_erfme = unit_out.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 3 - UNIT NOT CONVERTED - CHECK ZMCUTMIGR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM zmcutmigr&lt;/P&gt;&lt;P&gt;                      WHERE tecnname = 'MEINS'&lt;/P&gt;&lt;P&gt;                      AND   oldvalue =  p_imseg_erfme&lt;/P&gt;&lt;P&gt;                      AND   oldvalue2 = ' '.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        p_imseg_erfme = zmcutmigr-newvalue.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " convert_unit&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  convert_lgort&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM convert_lgort.&lt;/P&gt;&lt;P&gt;  IF imseg-werks = '3050'.&lt;/P&gt;&lt;P&gt;    imseg-lgort = '3500'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF iekbe-mandt = '100'.&lt;/P&gt;&lt;P&gt;      CASE imseg-lgort.&lt;/P&gt;&lt;P&gt;        WHEN '1005'.&lt;/P&gt;&lt;P&gt;          imseg-lgort = '8012'.&lt;/P&gt;&lt;P&gt;        WHEN '1011'.&lt;/P&gt;&lt;P&gt;          imseg-lgort = '8091'.&lt;/P&gt;&lt;P&gt;        WHEN '1012'.&lt;/P&gt;&lt;P&gt;          imseg-lgort = '8012'.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " convert_lgort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;pavan.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Feb 2008 12:00:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-06T12:00:46Z</dc:date>
    <item>
      <title>Data from excel sheet into my own created database table???</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301324#M790348</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Can anyone tell me how to transfer the data from the excel sheet into a database table created by me???&lt;/P&gt;&lt;P&gt;please give some example programs..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you..&lt;/P&gt;&lt;P&gt;Santhosh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Feb 2008 11:54:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301324#M790348</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-06T11:54:57Z</dc:date>
    </item>
    <item>
      <title>Re: Data from excel sheet into my own created database table???</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301325#M790349</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just have a look at the following example program . First upload the file using the fm then process the data using the required internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZEXL_UPLOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: ZEMPLOY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Internal table for holding data from the excel sheet &lt;/P&gt;&lt;P&gt;DATA: tb_intern TYPE STANDARD TABLE OF alsmex_tabline WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Internal table like database table to hold excel data. &lt;/P&gt;&lt;P&gt;data: begin of tb_data occurs 0,&lt;/P&gt;&lt;P&gt;field1(5),&lt;/P&gt;&lt;P&gt;field2(5),&lt;/P&gt;&lt;P&gt;end of tb_data.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tb_data_tab OCCURS 0.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE ZEMPLOY.&lt;/P&gt;&lt;P&gt;DATA: END OF TB_DATA_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Constants &lt;/P&gt;&lt;P&gt;constants : c_1 type i value 1, "Constant value of 1&lt;/P&gt;&lt;P&gt;c_2 type i value 2, "Constant value of 2&lt;/P&gt;&lt;P&gt;c_6 type i value 6, "Constant value of 6&lt;/P&gt;&lt;P&gt;c_28 type i value 15, "Constant value of 15&lt;/P&gt;&lt;P&gt;c_9999 type i value 9999, "Constant value of 9999&lt;/P&gt;&lt;P&gt;c_x type c value 'X'. "Constant for value 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Selection screen &lt;/P&gt;&lt;P&gt;selection-screen begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_file like rlgrap-filename obligatory. " File name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_colbeg type i default c_1 no-display. " Column beginning&lt;/P&gt;&lt;P&gt;parameters: p_colend type i default c_28 no-display. " Column end&lt;/P&gt;&lt;P&gt;parameters: p_rowbeg type i default c_2 no-display. " Row beginning&lt;/P&gt;&lt;P&gt;parameters: p_rowend type i default c_9999 no-display." Row end&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block b1.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT S E L E C T I O N S C R E E N ON VALUE REQUEST &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;at selection-screen on value-request for p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To get the F4 help for file &lt;/P&gt;&lt;P&gt;perform get_filename.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;S T A R T O F S E L E C T I O N * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Load data from Excel file &lt;/P&gt;&lt;P&gt;perform upload_data.&lt;/P&gt;&lt;P&gt;perform process_data.&lt;/P&gt;&lt;P&gt;perform update_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form get_filename&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_filename .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function module used for F4 help &lt;/P&gt;&lt;P&gt;call function 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;program_name = syst-cprog&lt;/P&gt;&lt;P&gt;dynpro_number = syst-dynnr&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;ENDFORM. " get_filename&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form upload_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM upload_data .&lt;/P&gt;&lt;P&gt;data: l_excel type rlgrap-filename. " Variable for filename&lt;/P&gt;&lt;P&gt;l_excel = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FM to upload data from excel sheet to internal table &lt;/P&gt;&lt;P&gt;call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;filename = l_excel&lt;/P&gt;&lt;P&gt;i_begin_col = p_colbeg&lt;/P&gt;&lt;P&gt;i_begin_row = p_rowbeg&lt;/P&gt;&lt;P&gt;i_end_col = p_colend&lt;/P&gt;&lt;P&gt;i_end_row = p_rowend&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;intern = tb_intern&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;inconsistent_parameters = 1&lt;/P&gt;&lt;P&gt;upload_ole = 2&lt;/P&gt;&lt;P&gt;others = 3.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;ENDFORM. " upload_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form process_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM process_data .&lt;/P&gt;&lt;P&gt;*--Processing the internal table generated from the function module&lt;/P&gt;&lt;P&gt;*--Passing data from Excel file to internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: tb_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at tb_intern.&lt;/P&gt;&lt;P&gt;AT NEW row.&lt;/P&gt;&lt;P&gt;CLEAR tb_data_tab.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE tb_intern-col.&lt;/P&gt;&lt;P&gt;WHEN '0001'.&lt;/P&gt;&lt;P&gt;tb_data_tab-KUNNR = tb_intern-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0002'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tb_data_tab-name1 = tb_intern-value.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Appending the internal table tb_data&lt;/P&gt;&lt;P&gt;AT END OF row.&lt;/P&gt;&lt;P&gt;APPEND tb_data_tab.&lt;/P&gt;&lt;P&gt;CLEAR tb_data_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. " process_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form update_table&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM update_table .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;modify ZEMPLOY FROM table tb_data_tab ."client specified.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " update_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Hope this is helpful, Do reward.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Feb 2008 11:59:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301325#M790349</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-06T11:59:34Z</dc:date>
    </item>
    <item>
      <title>Re: Data from excel sheet into my own created database table???</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301326#M790350</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u can use gui_upload to upload the data into an internal table from excel sheet and then use the bdc to update the data into database table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the sample code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ekpo, t006a, zmcutmigr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: client LIKE sy-mandt,&lt;/P&gt;&lt;P&gt;      wa_tabix TYPE i,&lt;/P&gt;&lt;P&gt;      keep VALUE 'X',&lt;/P&gt;&lt;P&gt;      holddate LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      v_lines TYPE i VALUE 0.&lt;/P&gt;&lt;P&gt;DATA filename TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for the bdcdata&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF bdcdata OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bdcdata.&lt;/P&gt;&lt;P&gt;DATA: END OF bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for holding purchase order history from source client&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF iekbe OCCURS 0,&lt;/P&gt;&lt;P&gt;   ebeln LIKE ekbe-ebeln,&lt;/P&gt;&lt;P&gt;   ebelp LIKE ekbe-ebelp,&lt;/P&gt;&lt;P&gt;   zekkn LIKE ekbe-zekkn,&lt;/P&gt;&lt;P&gt;   vgabe LIKE ekbe-vgabe,&lt;/P&gt;&lt;P&gt;   gjahr LIKE ekbe-gjahr,&lt;/P&gt;&lt;P&gt;   belnr LIKE ekbe-belnr,&lt;/P&gt;&lt;P&gt;   buzei LIKE ekbe-buzei,&lt;/P&gt;&lt;P&gt;   bewtp LIKE ekbe-bewtp,&lt;/P&gt;&lt;P&gt;   bwart LIKE ekbe-bwart,&lt;/P&gt;&lt;P&gt;   budat LIKE ekbe-budat,&lt;/P&gt;&lt;P&gt;   menge LIKE ekbe-menge,&lt;/P&gt;&lt;P&gt;   bpmng LIKE ekbe-bpmng,&lt;/P&gt;&lt;P&gt;   dmbtr LIKE ekbe-dmbtr,&lt;/P&gt;&lt;P&gt;   wrbtr LIKE ekbe-wrbtr,&lt;/P&gt;&lt;P&gt;   waers LIKE ekbe-waers,&lt;/P&gt;&lt;P&gt;   cpudt LIKE ekbe-cpudt,&lt;/P&gt;&lt;P&gt;   cputm LIKE ekbe-cputm,&lt;/P&gt;&lt;P&gt;   mandt  LIKE ekbe-mandt,&lt;/P&gt;&lt;P&gt;   ekorg LIKE ekko-ekorg,&lt;/P&gt;&lt;P&gt;   END OF iekbe.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for holding material doc header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF imkpf OCCURS 0,&lt;/P&gt;&lt;P&gt;      mblnr LIKE mkpf-mblnr,&lt;/P&gt;&lt;P&gt;      mjahr LIKE mkpf-mjahr,&lt;/P&gt;&lt;P&gt;      xblnr LIKE mkpf-xblnr,&lt;/P&gt;&lt;P&gt;      frbnr LIKE mkpf-frbnr,&lt;/P&gt;&lt;P&gt;      bktxt LIKE mkpf-bktxt,&lt;/P&gt;&lt;P&gt;      budat LIKE mkpf-budat,&lt;/P&gt;&lt;P&gt;      END OF imkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab for holding material doc pos.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF imseg OCCURS 0,&lt;/P&gt;&lt;P&gt;     mblnr LIKE mseg-mblnr,&lt;/P&gt;&lt;P&gt;     mjahr LIKE mseg-mjahr,&lt;/P&gt;&lt;P&gt;     zeile LIKE mseg-zeile,&lt;/P&gt;&lt;P&gt;     erfmg LIKE mseg-erfmg,&lt;/P&gt;&lt;P&gt;     erfme LIKE mseg-erfme,&lt;/P&gt;&lt;P&gt;     ablad LIKE mseg-ablad,&lt;/P&gt;&lt;P&gt;     sgtxt LIKE mseg-sgtxt,&lt;/P&gt;&lt;P&gt;     weanz LIKE mseg-weanz,&lt;/P&gt;&lt;P&gt;     grund LIKE mseg-grund,&lt;/P&gt;&lt;P&gt;     lgort LIKE mseg-lgort,&lt;/P&gt;&lt;P&gt;     werks LIKE mseg-werks,&lt;/P&gt;&lt;P&gt;     END OF imseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;PARAMETERS: jobname(12) DEFAULT 'GR_LKV',   "group name of session&lt;/P&gt;&lt;P&gt;            user(12) TYPE c DEFAULT sy-uname.   "user name for starting&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;*date added 20070102&lt;/P&gt;&lt;P&gt;PARAMETERS: docdate LIKE sy-datum DEFAULT '20061231' OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;PARAMETERS: fileekbe LIKE rlgrap-filename DEFAULT&lt;/P&gt;&lt;P&gt;'C:ekbe.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: filemkpf LIKE rlgrap-filename DEFAULT&lt;/P&gt;&lt;P&gt;'C:mkpf.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: filemseg LIKE rlgrap-filename DEFAULT&lt;/P&gt;&lt;P&gt;'C:mseg.txt'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR fileekbe.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name = fileekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filemkpf.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name = filemkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR filemseg.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name = filemseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;  INCLUDE: zbbatch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  client = sy-mandt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  PERFORM upload_from_pc.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if the file contains header line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;remove header line in extracted file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_tabix = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT iekbe.&lt;/P&gt;&lt;P&gt;    IF iekbe-ebeln CA '0123456789' OR&lt;/P&gt;&lt;P&gt;       wa_tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      DELETE iekbe.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    wa_tabix = wa_tabix + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  wa_tabix = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT imkpf.&lt;/P&gt;&lt;P&gt;    IF imkpf-mblnr CA '0123456789' OR&lt;/P&gt;&lt;P&gt;       wa_tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      DELETE imkpf.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    wa_tabix = wa_tabix + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  wa_tabix = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT imseg.&lt;/P&gt;&lt;P&gt;    IF imseg-mblnr CA '0123456789' OR&lt;/P&gt;&lt;P&gt;       wa_tabix &amp;gt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      DELETE imseg.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    wa_tabix = wa_tabix + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE iekbe LINES v_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF v_lines &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    SORT iekbe BY ebeln ebelp cpudt cputm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM create_group.&lt;/P&gt;&lt;P&gt;    v_lines = 0.&lt;/P&gt;&lt;P&gt;    PERFORM gen_bdc.&lt;/P&gt;&lt;P&gt;    PERFORM close_group.&lt;/P&gt;&lt;P&gt;    WRITE:/ 'Session ', jobname, 'created.'.&lt;/P&gt;&lt;P&gt;    WRITE:/ 'Number of transactions:', v_lines.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  gen_bdc&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM gen_bdc.&lt;/P&gt;&lt;P&gt;  DATA: v_erfmg(13) VALUE space,&lt;/P&gt;&lt;P&gt;        v_ebeln LIKE ekpo-ebeln..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT iekbe.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check material document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    READ TABLE imkpf WITH KEY mblnr = iekbe-belnr&lt;/P&gt;&lt;P&gt;                              mjahr = iekbe-gjahr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / iekbe-ebeln,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              iekbe-ebelp,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              'kommer ej att godsmottagas. Mtrl.dok huvud saknas !'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             COLOR COL_NEGATIVE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert PO number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    v_ebeln = iekbe-ebeln.&lt;/P&gt;&lt;P&gt;    PERFORM change_po_number USING iekbe-mandt&lt;/P&gt;&lt;P&gt;                                   v_ebeln&lt;/P&gt;&lt;P&gt;                                  iekbe-ekorg&lt;/P&gt;&lt;P&gt;            CHANGING iekbe-ebeln.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check Purchase order line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM ekpo&lt;/P&gt;&lt;P&gt;     WHERE ebeln = iekbe-ebeln&lt;/P&gt;&lt;P&gt;       AND ebelp = iekbe-ebelp.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              'Inköps order rad ej konverterad!'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      CONTINUE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------- Creating mtrl.dok, starting screen ------------------------*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPMM07M' '200'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform bdc_field using 'MKPF-BUDAT' imkpf-budat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dates added 20070102&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-BLDAT' docdate.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-BUDAT' docdate.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-LFSNR' imkpf-xblnr.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-FRBNR' imkpf-frbnr.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MKPF-BKTXT' imkpf-bktxt.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-BWARTWE' iekbe-bwart.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-EBELN' iekbe-ebeln.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'RM07M-EBELP' iekbe-ebelp.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; Creating mtrl.dok pos info screen----&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    READ TABLE imseg WITH KEY mblnr = iekbe-belnr&lt;/P&gt;&lt;P&gt;                              mjahr = iekbe-gjahr&lt;/P&gt;&lt;P&gt;                              zeile = iekbe-buzei.&lt;/P&gt;&lt;P&gt;    PERFORM convert_lgort.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    PERFORM convert_unit CHANGING  imseg-erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'BDC_OKCODE' 'SP'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro USING 'SAPMM07M' '210'.&lt;/P&gt;&lt;P&gt;    WRITE imseg-erfmg TO v_erfmg UNIT imseg-erfme LEFT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-ERFMG' v_erfmg. "Registr. ME&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-ERFME' imseg-erfme. "Enhet&lt;/P&gt;&lt;P&gt;    IF ekpo-lgort IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field USING 'MSEG-LGORT' imseg-lgort. "St loc&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   perform bdc_field using 'MSEG-ELIKZ' imseg-elikz. "Slutleverans&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-ABLAD' imseg-ablad.&lt;/P&gt;&lt;P&gt;    IF iekbe-bwart = '122'.&lt;/P&gt;&lt;P&gt;      PERFORM bdc_field USING 'MSEG-GRUND' imseg-grund.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-SGTXT' imseg-sgtxt.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'MSEG-WEANZ' imseg-weanz.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field USING 'BDC_OKCODE' 'BU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              tcode     = 'MB01'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              dynprotab = bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR bdcdata.&lt;/P&gt;&lt;P&gt;    REFRESH bdcdata.&lt;/P&gt;&lt;P&gt;    v_lines = v_lines + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " gen_bdc&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UPLOAD_FROM_PC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM upload_from_pc.&lt;/P&gt;&lt;P&gt;  CLEAR:   iekbe, imkpf,imseg .&lt;/P&gt;&lt;P&gt;  REFRESH: iekbe, imkpf, imseg .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  filename = fileekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            filename                = filename&lt;/P&gt;&lt;P&gt;            filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            has_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = iekbe&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_open_error         = 1&lt;/P&gt;&lt;P&gt;            file_read_error         = 2&lt;/P&gt;&lt;P&gt;            no_batch                = 3&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;            invalid_type            = 5&lt;/P&gt;&lt;P&gt;            no_authority            = 6&lt;/P&gt;&lt;P&gt;            unknown_error           = 7&lt;/P&gt;&lt;P&gt;            bad_data_format         = 8&lt;/P&gt;&lt;P&gt;            header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;            separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;            header_too_long         = 11&lt;/P&gt;&lt;P&gt;            unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;            access_denied           = 13&lt;/P&gt;&lt;P&gt;            dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;            disk_full               = 15&lt;/P&gt;&lt;P&gt;            dp_timeout              = 16&lt;/P&gt;&lt;P&gt;            OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001(38) WITH fileekbe 'Return code:' sy-subrc.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  filename = filemkpf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            filename                = filename&lt;/P&gt;&lt;P&gt;            filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            has_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = imkpf&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_open_error         = 1&lt;/P&gt;&lt;P&gt;            file_read_error         = 2&lt;/P&gt;&lt;P&gt;            no_batch                = 3&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;            invalid_type            = 5&lt;/P&gt;&lt;P&gt;            no_authority            = 6&lt;/P&gt;&lt;P&gt;            unknown_error           = 7&lt;/P&gt;&lt;P&gt;            bad_data_format         = 8&lt;/P&gt;&lt;P&gt;            header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;            separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;            header_too_long         = 11&lt;/P&gt;&lt;P&gt;            unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;            access_denied           = 13&lt;/P&gt;&lt;P&gt;            dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;            disk_full               = 15&lt;/P&gt;&lt;P&gt;            dp_timeout              = 16&lt;/P&gt;&lt;P&gt;            OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001(38) WITH filemkpf 'Return code:' sy-subrc.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  filename = filemseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            filename                = filename&lt;/P&gt;&lt;P&gt;            filetype                = 'ASC'&lt;/P&gt;&lt;P&gt;            has_field_separator     = 'X'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data_tab                = imseg&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            file_open_error         = 1&lt;/P&gt;&lt;P&gt;            file_read_error         = 2&lt;/P&gt;&lt;P&gt;            no_batch                = 3&lt;/P&gt;&lt;P&gt;            gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;            invalid_type            = 5&lt;/P&gt;&lt;P&gt;            no_authority            = 6&lt;/P&gt;&lt;P&gt;            unknown_error           = 7&lt;/P&gt;&lt;P&gt;            bad_data_format         = 8&lt;/P&gt;&lt;P&gt;            header_not_allowed      = 9&lt;/P&gt;&lt;P&gt;            separator_not_allowed   = 10&lt;/P&gt;&lt;P&gt;            header_too_long         = 11&lt;/P&gt;&lt;P&gt;            unknown_dp_error        = 12&lt;/P&gt;&lt;P&gt;            access_denied           = 13&lt;/P&gt;&lt;P&gt;            dp_out_of_memory        = 14&lt;/P&gt;&lt;P&gt;            disk_full               = 15&lt;/P&gt;&lt;P&gt;            dp_timeout              = 16&lt;/P&gt;&lt;P&gt;            OTHERS                  = 17.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001(38) WITH filemseg 'Return code:' sy-subrc.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " UPLOAD_FROM_PC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  change_po_number&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IEKBE_MANDT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IEKBE_EBELN  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IEKBE_PURCH_ORG  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_IEKBE_EBELN  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM change_po_number USING    p_iekbe_mandt&lt;/P&gt;&lt;P&gt;                               p_iekbe_ebeln&lt;/P&gt;&lt;P&gt;                               p_iekbe_purch_org&lt;/P&gt;&lt;P&gt;                      CHANGING p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;  IF p_iekbe_mandt = 100.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase order extracted in client 100&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    CONCATENATE 'Q' p_iekbe_ebeln+1&lt;/P&gt;&lt;P&gt;      INTO p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase order extracted in client 001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check purchase org&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF p_iekbe_purch_org = '5000'.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'P' p_iekbe_ebeln+1&lt;/P&gt;&lt;P&gt;        INTO p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'N' p_iekbe_ebeln+1&lt;/P&gt;&lt;P&gt;        INTO p_iekbe_ebeln2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " change_po_number&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  convert_unit&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_IMSEG_ERFME  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM convert_unit CHANGING p_imseg_erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: unit_out LIKE mseg-erfme.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 1 - CHECK IF UNIT EXISTS IN ENGLISH&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t006a&lt;/P&gt;&lt;P&gt;   WHERE spras = 'EN'&lt;/P&gt;&lt;P&gt;    AND mseh3 =  p_imseg_erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 2 - UNIT NOT FOUND AS ENGLISH - CALL CONVERSION EXIT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        input                = p_imseg_erfme&lt;/P&gt;&lt;P&gt;        language             = 'E'&lt;/P&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LONG_TEXT            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       output               = unit_out&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SHORT_TEXT           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       unit_not_found       = 1&lt;/P&gt;&lt;P&gt;       OTHERS               = 2&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      p_imseg_erfme = unit_out.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STEP 3 - UNIT NOT CONVERTED - CHECK ZMCUTMIGR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM zmcutmigr&lt;/P&gt;&lt;P&gt;                      WHERE tecnname = 'MEINS'&lt;/P&gt;&lt;P&gt;                      AND   oldvalue =  p_imseg_erfme&lt;/P&gt;&lt;P&gt;                      AND   oldvalue2 = ' '.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        p_imseg_erfme = zmcutmigr-newvalue.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " convert_unit&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  convert_lgort&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM convert_lgort.&lt;/P&gt;&lt;P&gt;  IF imseg-werks = '3050'.&lt;/P&gt;&lt;P&gt;    imseg-lgort = '3500'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF iekbe-mandt = '100'.&lt;/P&gt;&lt;P&gt;      CASE imseg-lgort.&lt;/P&gt;&lt;P&gt;        WHEN '1005'.&lt;/P&gt;&lt;P&gt;          imseg-lgort = '8012'.&lt;/P&gt;&lt;P&gt;        WHEN '1011'.&lt;/P&gt;&lt;P&gt;          imseg-lgort = '8091'.&lt;/P&gt;&lt;P&gt;        WHEN '1012'.&lt;/P&gt;&lt;P&gt;          imseg-lgort = '8012'.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " convert_lgort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;pavan.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Feb 2008 12:00:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301326#M790350</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-06T12:00:46Z</dc:date>
    </item>
    <item>
      <title>Re: Data from excel sheet into my own created database table???</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301327#M790351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this below code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zmat_upload MESSAGE-ID zgaurav.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: truxs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TABLES: MARC, "Plant Data for Material&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MARA. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_file1 TYPE string MODIF ID id1 DEFAULT 'C:\Case\abccode.xls'.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_file2 TYPE string MODIF ID id2 DEFAULT 'C:\Case\mrp_cont.xls'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK b2 WITH FRAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: abc_code RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND ucomm.&lt;/P&gt;&lt;P&gt;PARAMETERS: mrp_cont RADIOBUTTON GROUP g1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_datatab,&lt;/P&gt;&lt;P&gt;matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;werks TYPE werks_d,&lt;/P&gt;&lt;P&gt;abc_id TYPE c,&lt;/P&gt;&lt;P&gt;END OF t_datatab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_datatab TYPE STANDARD TABLE OF t_datatab,&lt;/P&gt;&lt;P&gt;wa_datatab TYPE t_datatab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;internal table that will store excel data &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab TYPE STANDARD TABLE OF alsmex_tabline WITH DEFAULT KEY,&lt;/P&gt;&lt;P&gt;w_itab LIKE LINE OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;declaration for bapi &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: bapi_head LIKE bapimathead,&lt;/P&gt;&lt;P&gt;bapi_marc LIKE bapi_marc,&lt;/P&gt;&lt;P&gt;bapi_marcx LIKE bapi_marcx,&lt;/P&gt;&lt;P&gt;bapi_return LIKE bapiret2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_value TYPE i VALUE 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: l_ret1(1) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: l_filename1 TYPE rlgrap-filename .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: l_ret2(1) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: l_filename2 TYPE rlgrap-filename .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A T S E L E C T I O N S C R E E N &lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN OUTPUT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF abc_code = 'X'.&lt;/P&gt;&lt;P&gt;g_value = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-group1 = 'ID2' OR screen-group1 ='ID3' OR screen-group1 ='ID4'&lt;/P&gt;&lt;P&gt;OR screen-group1 = 'ID5' OR screen-group1 ='ID6'.&lt;/P&gt;&lt;P&gt;screen-active = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF mrp_cont = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_value = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-group1 = 'ID1' OR screen-group1 ='ID3' OR screen-group1 ='ID4'&lt;/P&gt;&lt;P&gt;OR screen-group1 = 'ID5' OR screen-group1 ='ID6'.&lt;/P&gt;&lt;P&gt;screen-active = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check whether the filename is entered or not &lt;/P&gt;&lt;P&gt;IF g_value = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_file1 = ''.&lt;/P&gt;&lt;P&gt;MESSAGE e031.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;IF p_file1 ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD cl_gui_frontend_services=&amp;gt;file_exist&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;file = l_filename1 &lt;/P&gt;&lt;P&gt;file = p_file1&lt;/P&gt;&lt;P&gt;RECEIVING&lt;/P&gt;&lt;P&gt;result = l_ret1&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF l_ret1 = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'File exists'. &lt;/P&gt;&lt;P&gt;MESSAGE i011.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'file doesnt exist'. &lt;/P&gt;&lt;P&gt;MESSAGE i012.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSEIF g_value = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_file2 = ''.&lt;/P&gt;&lt;P&gt;MESSAGE e031.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;IF p_file2 ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD cl_gui_frontend_services=&amp;gt;file_exist&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;file = p_file2&lt;/P&gt;&lt;P&gt;RECEIVING&lt;/P&gt;&lt;P&gt;result = l_ret2&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF l_ret2 = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'File exists'. &lt;/P&gt;&lt;P&gt;MESSAGE i011.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ 'file doesnt exist'. &lt;/P&gt;&lt;P&gt;MESSAGE i012.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;S T A R T - O F - S E L E C T I O N &lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM excel_to_internal_upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form excel_to_internal_upload&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM excel_to_internal_upload .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_filename1 = p_file1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;filename = p_file1 &lt;/P&gt;&lt;P&gt;filename = l_filename1&lt;/P&gt;&lt;P&gt;i_begin_col = '1'&lt;/P&gt;&lt;P&gt;i_begin_row = '1'&lt;/P&gt;&lt;P&gt;i_end_col = '4'&lt;/P&gt;&lt;P&gt;i_end_row = '4'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;intern = itab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS &lt;/P&gt;&lt;P&gt;INCONSISTENT_PARAMETERS = 1 &lt;/P&gt;&lt;P&gt;UPLOAD_OLE = 2 &lt;/P&gt;&lt;P&gt;OTHERS = 3 &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc 0. &lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Append excel data into internal table &lt;/P&gt;&lt;P&gt;LOOP AT itab INTO w_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE w_itab-row. " This is Case of Rows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0001'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE w_itab-col. "This is case of first column&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0001'.&lt;/P&gt;&lt;P&gt;wa_datatab-matnr = w_itab-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0002'.&lt;/P&gt;&lt;P&gt;wa_datatab-werks = w_itab-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0003'.&lt;/P&gt;&lt;P&gt;wa_datatab-abc_id = w_itab-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE. " This is end case of first column&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT END OF row. " This is the start of event of first row&lt;/P&gt;&lt;P&gt;IF NOT wa_datatab IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND wa_datatab TO it_datatab.&lt;/P&gt;&lt;P&gt;CLEAR wa_datatab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDAT. " this is end of event of first row&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0002'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE w_itab-col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0001'.&lt;/P&gt;&lt;P&gt;wa_datatab-matnr = w_itab-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0002'.&lt;/P&gt;&lt;P&gt;wa_datatab-werks = w_itab-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0003'.&lt;/P&gt;&lt;P&gt;wa_datatab-abc_id = w_itab-value.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT END OF row.&lt;/P&gt;&lt;P&gt;IF NOT wa_datatab IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND wa_datatab TO it_datatab.&lt;/P&gt;&lt;P&gt;CLEAR wa_datatab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0003'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE w_itab-col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0001'.&lt;/P&gt;&lt;P&gt;wa_datatab-matnr = w_itab-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0002'.&lt;/P&gt;&lt;P&gt;wa_datatab-werks = w_itab-value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN '0003'.&lt;/P&gt;&lt;P&gt;wa_datatab-abc_id = w_itab-value.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT END OF row.&lt;/P&gt;&lt;P&gt;IF NOT wa_datatab IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND wa_datatab TO it_datatab.&lt;/P&gt;&lt;P&gt;CLEAR wa_datatab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*write: 'abccode is succefully uploaded '.&lt;/P&gt;&lt;P&gt;*endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not it_datatab[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;LOOP AT it_datatab INTO wa_datatab.&lt;/P&gt;&lt;P&gt;*header&lt;/P&gt;&lt;P&gt;bapi_head-material = wa_datatab-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BAPI_HEAD-MATL_TYPE = 'HALB'. &lt;/P&gt;&lt;P&gt;bapi_head-mrp_view = 'X'.&lt;/P&gt;&lt;P&gt;*client&lt;/P&gt;&lt;P&gt;bapi_marc-plant = wa_datatab-werks.&lt;/P&gt;&lt;P&gt;bapi_marcx-plant = wa_datatab-werks.&lt;/P&gt;&lt;P&gt;bapi_marcx-abc_id = wa_datatab-abc_id.&lt;/P&gt;&lt;P&gt;bapi_marc-abc_id = wa_datatab-abc_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;headdata = bapi_head&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLIENTDATA = &lt;/P&gt;&lt;P&gt;CLIENTDATAX = &lt;/P&gt;&lt;P&gt;plantdata = bapi_marc&lt;/P&gt;&lt;P&gt;plantdatax = bapi_marcx&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORECASTPARAMETERS = &lt;/P&gt;&lt;P&gt;FORECASTPARAMETERSX = &lt;/P&gt;&lt;P&gt;PLANNINGDATA = &lt;/P&gt;&lt;P&gt;PLANNINGDATAX = &lt;/P&gt;&lt;P&gt;STORAGELOCATIONDATA = &lt;/P&gt;&lt;P&gt;STORAGELOCATIONDATAX = &lt;/P&gt;&lt;P&gt;VALUATIONDATA = &lt;/P&gt;&lt;P&gt;VALUATIONDATAX = &lt;/P&gt;&lt;P&gt;WAREHOUSENUMBERDATA = &lt;/P&gt;&lt;P&gt;WAREHOUSENUMBERDATAX = &lt;/P&gt;&lt;P&gt;SALESDATA = &lt;/P&gt;&lt;P&gt;SALESDATAX = &lt;/P&gt;&lt;P&gt;STORAGETYPEDATA = &lt;/P&gt;&lt;P&gt;STORAGETYPEDATAX = &lt;/P&gt;&lt;P&gt;FLAG_ONLINE = ' ' &lt;/P&gt;&lt;P&gt;FLAG_CAD_CALL = ' ' &lt;/P&gt;&lt;P&gt;NO_DEQUEUE = ' ' &lt;/P&gt;&lt;P&gt;NO_ROLLBACK_WORK = ' ' &lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;return = bapi_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;MATERIALDESCRIPTION = &lt;/P&gt;&lt;P&gt;UNITSOFMEASURE = &lt;/P&gt;&lt;P&gt;UNITSOFMEASUREX = &lt;/P&gt;&lt;P&gt;INTERNATIONALARTNOS = &lt;/P&gt;&lt;P&gt;MATERIALLONGTEXT = &lt;/P&gt;&lt;P&gt;TAXCLASSIFICATIONS = &lt;/P&gt;&lt;P&gt;RETURNMESSAGES = &lt;/P&gt;&lt;P&gt;PRTDATA = &lt;/P&gt;&lt;P&gt;PRTDATAX = &lt;/P&gt;&lt;P&gt;EXTENSIONIN = &lt;/P&gt;&lt;P&gt;EXTENSIONINX = &lt;/P&gt;&lt;P&gt;IF bapi_return-TYPE = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;write: 'success'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;WAIT = &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;RETURN = &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;RETURN = &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;write: ' failure'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;ENDFORM. " excel_to_internal_upload&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Note:Reward points if you find useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Feb 2008 12:01:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-from-excel-sheet-into-my-own-created-database-table/m-p/3301327#M790351</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-06T12:01:06Z</dc:date>
    </item>
  </channel>
</rss>

