2008 Jan 22 1:31 PM
hi gurus.....
plz check the code of my BDC.....
i am uploading data from an excel sheet to ztable.
in my excel sheet i got 5 rows to be uploaded bt only first row is uploaded.....
in internal table i_excel only first row is coming....
plz help me out as soon as possible......
DATA : I_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF I_BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA : END OF I_BDCDATA.
DATA : L_MODE TYPE C.
PARAMETER : FILENAME LIKE RLGRAP-FILENAME OBLIGATORY.
PARAMETER : LINENO TYPE I OBLIGATORY.
PARAMETER : LINENO1 TYPE I OBLIGATORY.
PARAMETER : COL_NO TYPE I OBLIGATORY.
PARAMETER : COL_NO1 TYPE I OBLIGATORY.
SELECTION-SCREEN SKIP 2.
PARAMETERS : RB1 RADIOBUTTON GROUP RBG1,
RB2 RADIOBUTTON GROUP RBG1,
RB3 RADIOBUTTON GROUP RBG1 DEFAULT 'X'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILENAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = 'X'
MASK = ' '
CHANGING
FILE_NAME = FILENAME
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.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FILENAME
I_BEGIN_COL = COL_NO
I_BEGIN_ROW = LINENO
I_END_COL = COL_NO1
I_END_ROW = LINENO
TABLES
INTERN = I_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR RECORD.
LOOP AT I_EXCEL.
CASE I_EXCEL-COL.
WHEN 1.
RECORD-SRL = I_EXCEL-VALUE.
WHEN 2.
RECORD-MTHYR = I_EXCEL-VALUE.
WHEN 3.
RECORD-SOURCE = I_EXCEL-VALUE.
WHEN 4.
RECORD-GRADE1 = I_EXCEL-VALUE.
WHEN 5.
RECORD-GRADE2 = I_EXCEL-VALUE.
WHEN 6.
RECORD-LOCATION = I_EXCEL-VALUE.
WHEN 7.
RECORD-MINTHICK = I_EXCEL-VALUE.
WHEN 8.
RECORD-MAXTHICK = I_EXCEL-VALUE.
WHEN 9.
RECORD-RATE = I_EXCEL-VALUE.
WHEN 10.
RECORD-ERNAM = I_EXCEL-VALUE.
WHEN 11.
RECORD-ERDAT = I_EXCEL-VALUE.
ENDCASE.
AT END OF ROW.
APPEND RECORD.
CLEAR RECORD.
ENDAT.
ENDLOOP.
2008 Jan 22 1:49 PM
Hi
see this report in which i had writen to upload the data from EXCEL sheet to INTERNAL table and then to application server
&----
*& Report ZSD_EXCEL_INT_APP
*&
&----
*&
*&
&----
REPORT ZSD_EXCEL_INT_APP.
parameter: file_nm type localfile.
types : begin of it_tab1,
f1(20),
f2(40),
f3(20),
end of it_tab1.
data : it_tab type table of ALSMEX_TABLINE with header line,
file type rlgrap-filename.
data : it_tab2 type it_tab1 occurs 1,
wa_tab2 type it_tab1,
w_message(100) TYPE c.
at selection-screen on value-request for file_nm.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = 'X'
MASK = ' '
CHANGING
file_name = file_nm
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
start-of-selection.
refresh it_tab2[].clear wa_tab2.
file = file_nm.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = file
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '10'
i_end_row = '35'
tables
intern = it_tab
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at it_tab.
case it_tab-col.
when '002'.
wa_tab2-f1 = it_tab-value.
when '004'.
wa_tab2-f2 = it_tab-value.
when '008'.
wa_tab2-f3 = it_tab-value.
endcase.
at end of row.
append wa_tab2 to it_tab2.
clear wa_tab2.
endat.
endloop.
data : p_file TYPE rlgrap-filename value 'TEST3.txt'.
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*--- Display error messages if any.
IF sy-subrc NE 0.
MESSAGE e001(zsd_mes).
EXIT.
ELSE.
*---Data is downloaded to the application server file path
LOOP AT it_tab2 INTO wa_tab2.
TRANSFER wa_tab2 TO p_file.
ENDLOOP.
ENDIF.
*--Close the Application server file (Mandatory).
CLOSE DATASET p_file.
loop at it_tab2 into wa_tab2.
write : / wa_tab2-f1,wa_tab2-f2,wa_tab2-f3.
endloop.
hi gurus.....
plz check the code of my BDC.....
i am uploading data from an excel sheet to ztable.
in my excel sheet i got 5 rows to be uploaded bt only first row is uploaded.....
in internal table i_excel only first row is coming....
plz help me out as soon as possible......
DATA : I_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF I_BDCDATA OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA : END OF I_BDCDATA.
DATA : L_MODE TYPE C.
PARAMETER : FILENAME LIKE RLGRAP-FILENAME OBLIGATORY.
PARAMETER : LINENO TYPE I OBLIGATORY.
PARAMETER : LINENO1 TYPE I OBLIGATORY.
PARAMETER : COL_NO TYPE I OBLIGATORY.
PARAMETER : COL_NO1 TYPE I OBLIGATORY.
SELECTION-SCREEN SKIP 2.
PARAMETERS : RB1 RADIOBUTTON GROUP RBG1,
RB2 RADIOBUTTON GROUP RBG1,
RB3 RADIOBUTTON GROUP RBG1 DEFAULT 'X'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILENAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = 'X'
MASK = ' '
CHANGING
FILE_NAME = FILENAME
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.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FILENAME
I_BEGIN_COL = COL_NO
I_BEGIN_ROW = LINENO
I_END_COL = COL_NO1
I_END_ROW = LINENO
TABLES
INTERN = I_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR RECORD.
LOOP AT I_EXCEL.
CASE I_EXCEL-COL.
WHEN 1.
RECORD-SRL = I_EXCEL-VALUE.
WHEN 2.
RECORD-MTHYR = I_EXCEL-VALUE.
WHEN 3.
RECORD-SOURCE = I_EXCEL-VALUE.
WHEN 4.
RECORD-GRADE1 = I_EXCEL-VALUE.
WHEN 5.
RECORD-GRADE2 = I_EXCEL-VALUE.
WHEN 6.
RECORD-LOCATION = I_EXCEL-VALUE.
WHEN 7.
RECORD-MINTHICK = I_EXCEL-VALUE.
WHEN 8.
RECORD-MAXTHICK = I_EXCEL-VALUE.
WHEN 9.
RECORD-RATE = I_EXCEL-VALUE.
WHEN 10.
RECORD-ERNAM = I_EXCEL-VALUE.
WHEN 11.
RECORD-ERDAT = I_EXCEL-VALUE.
ENDCASE.
AT END OF ROW.
APPEND RECORD.
CLEAR RECORD.
ENDAT.
ENDLOOP.
2008 Jan 22 1:44 PM
Hi,
What are the values you are passing to the below parameters?
PARAMETER : LINENO TYPE I OBLIGATORY.
PARAMETER : LINENO1 TYPE I OBLIGATORY.
PARAMETER : COL_NO TYPE I OBLIGATORY.
PARAMETER : COL_NO1 TYPE I OBLIGATORY.
Regards,
Satish
2008 Jan 22 1:48 PM
i am pssing the columns nos. and row nos. which i have to upload.
2008 Jan 22 1:49 PM
Hi
see this report in which i had writen to upload the data from EXCEL sheet to INTERNAL table and then to application server
&----
*& Report ZSD_EXCEL_INT_APP
*&
&----
*&
*&
&----
REPORT ZSD_EXCEL_INT_APP.
parameter: file_nm type localfile.
types : begin of it_tab1,
f1(20),
f2(40),
f3(20),
end of it_tab1.
data : it_tab type table of ALSMEX_TABLINE with header line,
file type rlgrap-filename.
data : it_tab2 type it_tab1 occurs 1,
wa_tab2 type it_tab1,
w_message(100) TYPE c.
at selection-screen on value-request for file_nm.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = 'X'
MASK = ' '
CHANGING
file_name = file_nm
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
start-of-selection.
refresh it_tab2[].clear wa_tab2.
file = file_nm.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = file
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '10'
i_end_row = '35'
tables
intern = it_tab
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at it_tab.
case it_tab-col.
when '002'.
wa_tab2-f1 = it_tab-value.
when '004'.
wa_tab2-f2 = it_tab-value.
when '008'.
wa_tab2-f3 = it_tab-value.
endcase.
at end of row.
append wa_tab2 to it_tab2.
clear wa_tab2.
endat.
endloop.
data : p_file TYPE rlgrap-filename value 'TEST3.txt'.
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*--- Display error messages if any.
IF sy-subrc NE 0.
MESSAGE e001(zsd_mes).
EXIT.
ELSE.
*---Data is downloaded to the application server file path
LOOP AT it_tab2 INTO wa_tab2.
TRANSFER wa_tab2 TO p_file.
ENDLOOP.
ENDIF.
*--Close the Application server file (Mandatory).
CLOSE DATASET p_file.
loop at it_tab2 into wa_tab2.
write : / wa_tab2-f1,wa_tab2-f2,wa_tab2-f3.
endloop.
2008 Jan 22 1:59 PM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |