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
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
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |