2007 Nov 27 9:06 AM
What are all the Function Modules available to upload the data from the excel sheet into the SAP System.
Please help.
Hi,
The Function Module Used For Uploading the data from Excal to Internal Table is
ALSM_EXCEl_TO_INTERNAL_TABLE
Or You Can Use..
GUI_UPLOAD
2007 Nov 27 9:08 AM
2007 Nov 27 9:09 AM
Hi,
The Function Module Used For Uploading the data from Excal to Internal Table is
ALSM_EXCEl_TO_INTERNAL_TABLE
Or You Can Use..
GUI_UPLOAD
2007 Nov 27 9:10 AM
Hi
U can use 'GUI_UPLOAD' or 'ALSM_EXCEL_TO_INTERNAL_TABLE'.
Thanks
Vasudha
2007 Nov 27 9:10 AM
Hi Supriya,
this FM will help u for processing the XL file ALSM_EXCEL_TO_INTERNAL_TABLE
Regards.
2007 Nov 27 9:10 AM
if your excel is a CSV file, you could also use function module GUI_UPLOAD (or alternatively the method in cl_gui_frontend_services class).
2007 Nov 27 9:12 AM
2007 Nov 27 9:10 AM
2007 Nov 27 9:13 AM
Hi
<b>'ALSM_EXCEL_TO_INTERNAL_TABLE'</b>FI-AA Legacy Data Transfer w/ Excel
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.
2007 Nov 27 9:29 AM
Hi Supriya,
This is kiran.G ( working in SAP).Better to use this function module to upload xls file into SAP.i will develop a small code for u.
FUNCTION MODULE : F4_FILENAME.
ACTUALLY I WILL DEVELOP SOME PROGRAMS.I WILL SEND A SMALL PRPGRAM ALONG WITH FLAT FILE.I WILL ATTACH FLATFILE CONTENT IN THE BELOW OF THE PROGRAM.PLZ FILL THAT DATA IN FLATFILE OK.
NOTE: WE HAVE TO SAVE THE FILE AS .XLS WITH TAB DELIMETED OPTION(AT THE TIME U HAVE TO SAVE THE XLS FILE THERE IS ANOTHER BOX PRESENT BELOW THE NAME U GIVEN IN THE SAVE BOX.FROM THAT U HAVE TO CHOOSE TAB DELIMITED OPTION)
IF U R SATISFY WITH THE CODE PLZ GIVE ME REWARD POINTS.
code:
----
Tables
----
TABLES : mara.
----
Global BDCDATA Structure
----
DATA: it_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,
it_msgtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
----
Global Variables
----
DATA: gl_infile TYPE string,
gv_msg TYPE string,
v_update VALUE 'A'.
----
Internal Table
*----
DATA: BEGIN OF g_itab OCCURS 0,
matnr(20), "Material Number
mbrsh(20), "Account Group
mtart(20), "Material Type
maktx(20), "Material Description
meins(20), "Base Unit Of Measure
END OF g_itab.
----
Selection-screen
----
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file LIKE rlgrap-filename,
p_mode.
SELECTION-SCREEN : END OF BLOCK b1.
----
Fetch A File
----
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM fetch_file.
START-OF-SELECTION.
----
Fetch Data From XLS File
----
PERFORM fetch_data.
----
Fetch Data From XLS File
----
PERFORM place_data.
&----
*& Form fetch_file
&----
text
----
--> p1 text
<-- p2 text
----
FORM fetch_file .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
FIELD_NAME = ' '
IMPORTING
file_name = p_file
.
gl_infile = p_file.
ENDFORM. " fetch_file
&----
*& Form fetch_data
&----
text
----
--> p1 text
<-- p2 text
----
FORM fetch_data .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = gl_infile
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = g_itab
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " fetch_data
&----
*& Form place_data
&----
text
----
--> p1 text
<-- p2 text
----
FORM place_data .
LOOP AT g_itab.
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MATNR'.
perform bdc_field using 'BDC_OKCODE'
'=AUSW'.
perform bdc_field using 'RMMG1-MATNR'
g_itab-matnr."record-MATNR_001.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'."record-KZSEL_01_002.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'BDC_CURSOR'
'MAKT-MAKTX'.
perform bdc_field using 'MAKT-MAKTX'
g_itab-maktx. "record-MAKTX_003.
perform bdc_field using 'MARA-MEINS'
g_itab-meins.record-MEINS_004.
perform bdc_field using 'MARA-MTPOS_MARA'
'NORM'."record-MTPOS_MARA_005.
CALL TRANSACTION 'MM02' USING it_bdcdata MODE p_mode
update v_update
MESSAGES INTO it_msgtab.
LOOP AT it_msgtab.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = sy-langu
no = sy-msgno
v1 = sy-msgv1
v2 = sy-msgv2
v3 = sy-msgv3
v4 = sy-msgv4
IMPORTING
msg = gv_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.
IF sy-tabix = 1.
WRITE: / 'Process Log' COLOR 3.
ENDIF.
WRITE:/ gv_msg.
ENDLOOP.
REFRESH it_msgtab.
REFRESH it_bdcdata.
ENDLOOP.
ENDFORM. " place_data
----
Start new screen *
----
FORM bdc_dynpro USING program dynpro.
CLEAR it_bdcdata.
it_bdcdata-program = program.
it_bdcdata-dynpro = dynpro.
it_bdcdata-dynbegin = 'X'.
APPEND it_bdcdata.
ENDFORM. "BDC_DYNPRO
----
Insert field *
----
FORM bdc_field USING fnam fval.
IF FVAL <> NODATA.
CLEAR it_bdcdata.
it_bdcdata-fnam = fnam.
it_bdcdata-fval = fval.
APPEND it_bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
*************************************************************************************
FLAT FILE
*************************************************************************************
M FERT STEEL KG
M ROH IRON KG
2007 Nov 27 10:16 AM
Hi,
Use this code
&----
*& Report ZE0232_EXCEL_SHEET *
*& *
&----
*& *
*& *
&----
REPORT ZE0232_EXCEL_SHEET LINE-SIZE 700.
DATA : ITAB1 LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
DATA : B1 TYPE I VALUE 1,
C1 TYPE I VALUE 1,
B2 TYPE I VALUE 100,
C2 TYPE I VALUE 9999.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = 'C:\Documents and Settings\uday\Desktop\Excel files\EXCEL_TRAIN.XLS'
I_BEGIN_COL = B1
I_BEGIN_ROW = C1
I_END_COL = B2
I_END_ROW = C2
TABLES
INTERN = itab1
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 itab1.
ON CHANGE OF ITAB1-ROW.
WRITE: /.
ENDON.
write:itab1-VALUE.
Endloop.
IF HELPFULL REWARD
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |