Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC transfer problem.....plz help me!!!!!

Former Member
0 Likes
626

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.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
598

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.

4 REPLIES 4
Read only

Former Member
0 Likes
598

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

Read only

0 Likes
598

i am pssing the columns nos. and row nos. which i have to upload.

Read only

Former Member
0 Likes
599

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.

Read only

0 Likes
598

THNKS BRO...

MY PROB IS SOLVED!!!!!!!!!!!!!!!!!!!!