Ver Mensaje Individual
  #4  
Viejo 26/07/07, 10:08:06
Avatar de nenuke
nenuke nenuke is offline
Member
 
Fecha de Ingreso: sep 2006
Localización: Madrid
Mensajes: 87
Hola,

¿que error te da? Un error muy frecuente al utilizar esa función es que declares el la variable que almacena el path del archivo como char. Debe ser de tipo string y lo mas comodo es que lo definas asi:

Si se introduce por pantalla: DATA: fich_path LIKE rlgrap-filename.

Aquí te dejo un ejemplo con otra función que tambien sirve para cargar excel a tablas internas, la única pega es que tiene un límite de lectura de 9999 celdas.

Un saludo!!


FORM read_excel_files TABLES itab
USING fich
ncol TYPE i.

data: lap type i value 0.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = fich_dat
i_begin_col = '1'
i_begin_row = '1'
i_end_col = ncol
i_end_row = '65000'
TABLES
intern = i_xlaux
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
IF sy-subrc = 1.
MESSAGE s016(zdeloitte) WITH
'Los campos no coinciden'.
STOP.

ELSEIF sy-subrc = 2.
MESSAGE s016(zdeloitte) WITH
'El fichero indicado no existe'.
STOP.
ENDIF.
ENDIF.

* la función anterior sólo permite lecturas de hasta 9999 celdas, a partir de ahi el campo filas se reinicia
* lo solicunamos en el siguiente loop.
loop at i_xlaux.
st_xls2-fila = i_xlaux-fila + lap.
st_xls2-columna = i_xlaux-columna.
st_xls2-valor = i_xlaux-valor.
append st_xls2 to itab.
if st_xls2-fila = 9999.
lap = lap + 9999.
endif.
clear st_xls2.
endloop.



ENDFORM. " read_excel_files
Responder Con Cita