Application Development 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: 

File opening error in SAP

Former Member
1,942

Hi All,

If the file is open when we are uploading the data into SAP, it shoud show the error message ' cant read the file'. I am using ALSM_EXCEL_TO_INTERNAL_TABLE FM to upload the data.

Please let me know if there's any sample code which i can make use of.

Thanks and Regards,

Sireesha

1 ACCEPTED SOLUTION

Former Member
0 Kudos
358

Hi ,

Here is the sample code :

&----


*& Report Y_TEST_ZEXCELUP

*&

&----


*&

*&

&----


REPORT y_test_zexcelup.

*REPORT ZEXCELUP.

TABLES: alsmex_tabline.

DATA: BEGIN OF iexcel OCCURS 0.

INCLUDE STRUCTURE alsmex_tabline.

DATA: END OF iexcel.

  • No of columns

DATA: BEGIN OF data_tab OCCURS 0,

value_0001(10),

value_0002(10),

value_0003(10),

value_0004(10),

value_0005(10),

value_0006(10),

value_0007(10),

value_0008(10),

value_0009(10),

value_0010(10),

value_0011(10),

value_0012(10),

value_0013(10),

value_0014(10),

value_0015(10),

value_0016(10),

value_0017(10),

value_0018(10),

value_0019(10),

value_0020(10),

value_0021(10),

value_0022(10),

value_0023(10),

value_0024(10),

value_0025(10),

value_0026(10),

value_0027(10),

value_0028(10),

value_0029(10),

value_0030(10),

value_0031(10),

value_0032(10),

value_0033(10),

value_0034(10),

value_0035(10),

value_0036(10),

value_0037(10),

value_0038(10),

value_0039(10),

value_0040(10),

value_0041(10),

value_0042(10),

value_0043(10),

value_0044(10),

value_0045(10),

value_0046(10),

value_0047(10),

value_0048(10),

value_0049(10),

value_0050(10),

value_0051(10),

value_0052(10),

value_0053(10),

value_0054(10),

value_0055(10),

value_0056(10),

value_0057(10),

value_0058(10),

value_0059(10),

value_0060(10),

value_0061(10),

value_0062(10),

value_0063(10),

value_0064(10),

value_0065(10),

value_0066(10),

value_0067(10),

value_0068(10),

value_0069(10),

value_0070(10),

value_0071(10),

value_0072(10),

value_0073(10),

value_0074(10),

value_0075(10),

value_0076(10),

value_0077(10),

value_0078(10),

value_0079(10),

value_0080(10),

value_0081(10),

value_0082(10),

value_0083(10),

value_0084(10),

value_0085(10),

value_0086(10),

value_0087(10),

value_0088(10),

value_0089(10),

value_0090(10),

value_0091(10),

value_0092(10),

value_0093(10),

value_0094(10),

value_0095(10),

value_0096(10),

value_0097(10),

value_0098(10),

value_0099(10),

value_0100(10).

DATA: END OF data_tab.

DATA: tind(4) TYPE n.

DATA: zwfeld(19).

FIELD-SYMBOLS: <fs1>.

PARAMETERS: filenm LIKE rlgrap-filename MEMORY ID m01,

noheader AS CHECKBOX.

  • At selection screen

AT SELECTION-SCREEN ON VALUE-REQUEST FOR filenm.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

field_name = 'FILENM'

IMPORTING

file_name = filenm.

  • start of selection

START-OF-SELECTION.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

filename = filenm

i_begin_col = 1

i_begin_row = 1

i_end_col = 10

i_end_row = 2

TABLES

intern = iexcel

EXCEPTIONS

inconsistent_parameters = 1

upload_ole = 2

OTHERS = 3.

IF sy-subrc <> 0.

WRITE: / 'EXCEL UPLOAD FAILED ', filenm, sy-subrc.

ELSE.

SORT iexcel BY row col.

LOOP AT iexcel.

IF noheader = 'X'

AND iexcel-row = 1.

CONTINUE.

ENDIF.

tind = iexcel-col.

CONCATENATE 'DATA_TAB-VALUE_' tind INTO zwfeld.

ASSIGN (zwfeld) TO <fs1>.

<fs1> = iexcel-value.

AT END OF row.

APPEND data_tab.

WRITE:/ 'data_tab ', data_tab-value_0001, data_tab-value_0002,

data_tab-value_0003, data_tab-value_0004.

CLEAR data_tab.

ENDAT.

ENDLOOP.

ENDIF.

Regards

2 REPLIES 2

Former Member
0 Kudos
358

ALSM_EXCEL_TO_INTERNAL_TABLE---function module uses OLE technic to read the EXCEL file data. So we should close the file before reading the file content. Other wise OLE errors will raise while using that function module.

Former Member
0 Kudos
359

Hi ,

Here is the sample code :

&----


*& Report Y_TEST_ZEXCELUP

*&

&----


*&

*&

&----


REPORT y_test_zexcelup.

*REPORT ZEXCELUP.

TABLES: alsmex_tabline.

DATA: BEGIN OF iexcel OCCURS 0.

INCLUDE STRUCTURE alsmex_tabline.

DATA: END OF iexcel.

  • No of columns

DATA: BEGIN OF data_tab OCCURS 0,

value_0001(10),

value_0002(10),

value_0003(10),

value_0004(10),

value_0005(10),

value_0006(10),

value_0007(10),

value_0008(10),

value_0009(10),

value_0010(10),

value_0011(10),

value_0012(10),

value_0013(10),

value_0014(10),

value_0015(10),

value_0016(10),

value_0017(10),

value_0018(10),

value_0019(10),

value_0020(10),

value_0021(10),

value_0022(10),

value_0023(10),

value_0024(10),

value_0025(10),

value_0026(10),

value_0027(10),

value_0028(10),

value_0029(10),

value_0030(10),

value_0031(10),

value_0032(10),

value_0033(10),

value_0034(10),

value_0035(10),

value_0036(10),

value_0037(10),

value_0038(10),

value_0039(10),

value_0040(10),

value_0041(10),

value_0042(10),

value_0043(10),

value_0044(10),

value_0045(10),

value_0046(10),

value_0047(10),

value_0048(10),

value_0049(10),

value_0050(10),

value_0051(10),

value_0052(10),

value_0053(10),

value_0054(10),

value_0055(10),

value_0056(10),

value_0057(10),

value_0058(10),

value_0059(10),

value_0060(10),

value_0061(10),

value_0062(10),

value_0063(10),

value_0064(10),

value_0065(10),

value_0066(10),

value_0067(10),

value_0068(10),

value_0069(10),

value_0070(10),

value_0071(10),

value_0072(10),

value_0073(10),

value_0074(10),

value_0075(10),

value_0076(10),

value_0077(10),

value_0078(10),

value_0079(10),

value_0080(10),

value_0081(10),

value_0082(10),

value_0083(10),

value_0084(10),

value_0085(10),

value_0086(10),

value_0087(10),

value_0088(10),

value_0089(10),

value_0090(10),

value_0091(10),

value_0092(10),

value_0093(10),

value_0094(10),

value_0095(10),

value_0096(10),

value_0097(10),

value_0098(10),

value_0099(10),

value_0100(10).

DATA: END OF data_tab.

DATA: tind(4) TYPE n.

DATA: zwfeld(19).

FIELD-SYMBOLS: <fs1>.

PARAMETERS: filenm LIKE rlgrap-filename MEMORY ID m01,

noheader AS CHECKBOX.

  • At selection screen

AT SELECTION-SCREEN ON VALUE-REQUEST FOR filenm.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

field_name = 'FILENM'

IMPORTING

file_name = filenm.

  • start of selection

START-OF-SELECTION.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

filename = filenm

i_begin_col = 1

i_begin_row = 1

i_end_col = 10

i_end_row = 2

TABLES

intern = iexcel

EXCEPTIONS

inconsistent_parameters = 1

upload_ole = 2

OTHERS = 3.

IF sy-subrc <> 0.

WRITE: / 'EXCEL UPLOAD FAILED ', filenm, sy-subrc.

ELSE.

SORT iexcel BY row col.

LOOP AT iexcel.

IF noheader = 'X'

AND iexcel-row = 1.

CONTINUE.

ENDIF.

tind = iexcel-col.

CONCATENATE 'DATA_TAB-VALUE_' tind INTO zwfeld.

ASSIGN (zwfeld) TO <fs1>.

<fs1> = iexcel-value.

AT END OF row.

APPEND data_tab.

WRITE:/ 'data_tab ', data_tab-value_0001, data_tab-value_0002,

data_tab-value_0003, data_tab-value_0004.

CLEAR data_tab.

ENDAT.

ENDLOOP.

ENDIF.

Regards