‎2007 May 12 12:36 PM
Hello all,
How to upload data from excel to internal table..please step wise explain me...
Thanks in Advance
‎2007 May 12 12:40 PM
HI,
Check this URL's.
http://searchsap.techtarget.com/search/1,293876,sid21,00.html?query=Howtouploaddatafromexceltointernaltable&bucket=ALL
http://www.ask.com/web?q=Howtouploaddatafromexceltointernaltable&qsrc=1&o=333&l=dir
Reward if it useful .
Thanks and Regards,
Vinoth.
‎2007 May 12 12:42 PM
HI,
<b>Here is sample code :</b>
REPORT Z_FIHR_UPLOAD NO STANDARD PAGE HEADING LINE-SIZE 80
LINE-COUNT 65.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FNAM LIKE RLGRAP-FILENAME
OBLIGATORY DEFAULT 'C:\'.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_MODE DEFAULT 'A' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
PARAMETERS: DISP RADIOBUTTON GROUP GRP1 DEFAULT 'X',
POST RADIOBUTTON GROUP GRP1.
SELECTION-SCREEN END OF BLOCK B3.
data: begin of itab occurs 0,
ID TYPE P,
*Header Information
****************************************************
BUDAT(10), "Posting Date
BLDAT(10), "Bill Date
BUKRS LIKE BKPF-BUKRS, "Company Code
BLART LIKE BKPF-BLART, "Document Type
waers LIKE bkpf-waers, "Currency
XBLNR LIKE BKPF-XBLNR, "Ref Text
BKTXT LIKE BKPF-BKTXT, "Header Text
NEWBS LIKE RF05A-NEWBS, "Posting Key
NEWKO LIKE RF05A-NEWKO, "GL A/C
WRBTR LIKE BSEG-WRBTR, "Amount
GSBER LIKE COBL-GSBER, "Business Area
end of itab.
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
MTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,
W_AMNT(17),
W_BUDAT LIKE BKPF-BUDAT,
W_BLDAT LIKE BKPF-BLDAT,
W_WRBTR LIKE ITAB-WRBTR,
W_BUKRS LIKE ITAB-BUKRS,
W_BLART LIKE ITAB-BLART,
W_XBLNR LIKE ITAB-XBLNR,
W_BKTXT LIKE ITAB-BKTXT,
W_NEWBS LIKE ITAB-NEWBS,
W_NEWKO LIKE ITAB-NEWKO,
W_LINEITEM(1).
*******************************************************
A T S E L E C T I O N - S C R E E N
*******************************************************
AT SELECTION-SCREEN.
IF P_MODE EQ ''.
P_MODE = 'E'.
ENDIF.
*******************************************************
S T A R T - O F - S E L E C E T I O N
*******************************************************
start-of-selection.
PERFORM UPLOAD_DATA.
IF POST EQ 'X'.
PERFORM POST_DOCUMENT.
ELSE.
PERFORM DISPLAY_DATA.
ENDIF.
----
FORM post_document *
----
........ *
----
form post_document.
********************************************************
*Header Data
********************************************************
SORT ITAB BY ID.
LOOP AT ITAB.
IF W_LINEITEM NE 'X'.
WRITE: ITAB-BUDAT TO W_BUDAT,
ITAB-BLDAT TO W_BLDAT.
MOVE: ITAB-WRBTR TO W_WRBTR,
ITAB-BUKRS TO W_BUKRS,
ITAB-BLART TO W_BLART,
ITAB-XBLNR TO W_XBLNR,
ITAB-BKTXT TO W_BKTXT,
ITAB-NEWBS TO W_NEWBS,
ITAB-NEWKO TO W_NEWKO.
ENDIF.
Header Information
AT NEW ID.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0100'.
PERFORM BDC_FIELD USING :
'BDC_OKCODE' '/00',
'BKPF-BLDAT' W_BLDAT,
'BKPF-BUDAT' W_BUDAT,
'BKPF-BLART' W_BLART,
'BKPF-BUKRS' W_BUKRS,
'BKPF-WAERS' 'INR',
'BKPF-XBLNR' W_XBLNR,
'BKPF-BKTXT' W_BKTXT,
'FS006-DOCID' '',
'RF05A-NEWBS' W_NEWBS,
'RF05A-NEWKO' W_NEWKO.
W_AMNT = W_WRBTR.
W_LINEITEM = 'X'. "Activate Line item Check.
CONTINUE.
ENDAT.
*******************************************************
Line Item
*******************************************************
IF W_LINEITEM EQ 'X'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0300'.
PERFORM BDC_FIELD USING:
'BDC_OKCODE' '/00',
'BSEG-WRBTR' W_AMNT,
'RF05A-NEWBS' ITAB-NEWBS,
'RF05A-NEWKO' ITAB-NEWKO.
perform bdc_field using 'BDC_SUBSCR'
'SAPLKACB'
& ' 0001BLOCK'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
perform bdc_field using :
'BDC_OKCODE' '=ENTE',
'COBL-GSBER' ITAB-GSBER.
perform bdc_field using 'BDC_SUBSCR'
'SAPLKACB'
& ' 0003BLOCK1'.
ENDIF.
W_AMNT = ITAB-WRBTR.
AT END OF ID.
Save Document ***************************************
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' 'BU'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR' W_AMNT.
CLEAR : W_LINEITEM.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' 'ENTE'.
CALL TRANSACTION 'FB01' USING BDCDATA MODE P_MODE MESSAGES INTO MTAB.
IF SY-SUBRC = 0.
LOOP AT MTAB WHERE MSGTYP = 'S'.
WRITE: MTAB-MSGV1, 'Has Posted'.
ENDLOOP.
ELSE.
FORMAT COLOR COL_NEGATIVE.
WRITE: 'Check for ', ITAB-ID, 'Again....'.
ENDIF.
ENDAT.
ENDLOOP.
endform.
*******************************************************
Fill bdc dynpro
*******************************************************
form bdc_dynpro using program dynpro.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
endform.
*******************************************************
Fill bdc Field Name and Value
*******************************************************
form bdc_field using fnam fval.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
endform.
&----
*& Form UPLOAD_DATA
&----
FORM UPLOAD_DATA.
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = P_FNAM
FILETYPE = 'DAT'
TABLES
DATA_TAB = ITAB.
ENDFORM. " UPLOAD_DATA
&----
*& Form DISPLAY_DATA
&----
FORM DISPLAY_DATA.
FORMAT COLOR COL_NORMAL.
LOOP AT ITAB.
WRITE:/ ITAB.
ENDLOOP.
ENDFORM. " DISPLAY_DATA
This is the complete program. Hope this will help u out.
<b>Reward for all useful answers.</b>
Message was edited by:
Vinoth
‎2007 May 12 3:40 PM
Hi,
You can use FM ALSM_EXCEL_TO_INTERNAL_TABLE and check this link for sample code.
http://www.sapdevelopment.co.uk/file/file_upexcel2.htm
Regards,
Ferry Lianto
‎2007 May 12 5:43 PM
You can use the Function modules:
ALSM_EXCEL_TO_INTERNAL_TABLE and GUI_UPLOAD
Reward points if helpful
Rewards