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: 

Excel Upload , issues

Former Member
0 Kudos
403

Hi I am using the FM ALSM_EXCEL_TO_INTERNAL_TABLE to upload a excel file to an internal table. I am giving a row and column range and all data with in this range should be in the internal table. Now the problem is , those cells that are blank , are not uploaded , I want the blanks also to be loaded in to the internal table. Can this be achieved ?

Thank you

1 ACCEPTED SOLUTION

Former Member
0 Kudos
276

Using this fm it is not possible, but you can use GUI_UPLOAD and change EXCEL to CSV format and upload the file. This will help you to get blank cells.

ashish

7 REPLIES 7

Former Member
0 Kudos
277

Using this fm it is not possible, but you can use GUI_UPLOAD and change EXCEL to CSV format and upload the file. This will help you to get blank cells.

ashish

ferry_lianto
Active Contributor
0 Kudos
276

Hi,

Please try FM TEXT_CONVERT_XLS_TO_SAP.

Also check this link for sample codes.

http://www.sapdevelopment.co.uk/file/file_upexcel.htm

Regards,

Ferry Lianto

rainer_hbenthal
Active Contributor
0 Kudos
276

Why do you need that? when you didnt find a certain row/column in the table you know that its value is blank:

pseudocode:

read table it_excel with key row = 4 col = 6.

if sy-subrc = 0.

field = value.

else,

clear field.

endif.

former_member194669
Active Contributor
0 Kudos
276

Krish,

This fm has a limitation

It's the 50-character size of the VALUE field in structure ALSMEX_TABLINE.Some of the cells in the source files contain texts which are longer than 50 characters and therefore the texts are truncated.

Former Member
0 Kudos
276

try this...I think this should resolve ur problem....

v_semfile = p_ifname.

refresh it_input.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

FILENAME = v_semfile

I_BEGIN_COL = 1

I_BEGIN_ROW = 2

I_END_COL = 17

I_END_ROW = 6

TABLES

INTERN = it_input

EXCEPTIONS

INCONSISTENT_PARAMETERS = 1

UPLOAD_OLE = 2

OTHERS = 3.

Former Member
0 Kudos
276

Krish,

File manuplations...............................

1. At the presentation level:

->GUI_UPLOAD

->GUI_DOWNLOAD

->CL_GUI_FRONTEND

2. At the application server level:

->OPEN DATASET : open a file in the application server for reading or writing.

->READ DATASET : used to read from a file on the application server that has been opened for reading

-> TRANSFER DATASET : writing data to a file.

-> CLOSE DATASET : closes the file

-> DELETE DATASET : delete file

************************************************************************************************

If file is on the local PC,use the function module GUI_UPLOAD to upload it into an internal table by passing the given parameters......

call function 'GUI_UPLOAD'

exporting

filename = p_file

filetype = 'ASC'

has_field_separator = '#'

tables

data_tab = t_data

******************************************************************************

p_file : excel file path.

t_data : internal table

*******************************************************************************

reward points if useful.

regards,

Vinod Samuel.

Former Member
0 Kudos
276

Hi

this program is write like excel sheet to internal table and then to application server

see this you can understand very easily

&----


*& 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.

<b>Reward fi usefull</b>