Está en la página 1de 11

Upload Archivo EXCEL

Crear componente web dynpro

En la vista contexto crear un atributo como se muestra en la imagen


Y un nodo tipo estructura como se muestra a continuacin
Despus vamos a la pestaa layout e insertamos los siguientes elementos.

File_upload

Botn

Tabla

Como se muestra en las siguientes imgenes.

Fila upload

Hacemos referencia a nuestro atributo creado en contexto


Botn

Crear una accin sobre el botn

Creamos una tabla referenciada al nodo


Dentro de la pestaa mtodos en el mtodo ONACTIONUPLOAD_FILE ingresaremos el siguiente
cdigo.

METHOD onactionupload_file.

DATA: lo_nd_file TYPE REF TO if_wd_context_node,


lo_el_file TYPE REF TO if_wd_context_element,
lv_xstring TYPE etxml_line_str,"xstring,
lv_string TYPE string,
li_data TYPE STANDARD TABLE OF string.

data: lv_fecha TYPE c LENGTH 10.

DATA: lw_alumnos TYPE zyg_alumnos,


li_alumnos TYPE TABLE OF zyg_alumnos.

* get single attribute


wd_context->get_attribute(
EXPORTING
name = 'DATA_FILE'
IMPORTING
value = lv_xstring ).

CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'


EXPORTING
in_xstring = lv_xstring
IMPORTING
out_string = lv_string.

SPLIT lv_string AT cl_abap_char_utilities=>newline INTO TABLE li_data.


CLEAR: lv_string.

LOOP AT li_data
INTO lv_string.

" Header File


IF sy-tabix EQ 1.

CONTINUE.

ENDIF.

SPLIT lv_string
AT cl_abap_char_utilities=>horizontal_tab
INTO lw_alumnos-matricula
lw_alumnos-nombre
lw_alumnos-apellidop
lw_alumnos-apellidom
lv_fecha.

CONCATENATE lv_fecha+6(4)
lv_fecha+3(2)
lv_fecha+0(2)
into lw_alumnos-fechanac.

APPEND lw_alumnos
TO li_alumnos.

CLEAR: lw_alumnos.

ENDLOOP.

lo_nd_file = wd_context->get_child_node( 'T_ALUMNOS' ).


lo_nd_file->bind_table( li_alumnos ).
ENDMETHOD.

Generamos aplicacin web dynpro


Archivo para ejemplo
Carga.xls

También podría gustarte