cancel
Showing results for 
Search instead for 
Did you mean: 

WEB DYNPRO ABAP - query

Former Member
0 Kudos

HI EXPERTS,

I am new to web dynpro abap, i used the below code to entry the fields of the alv table from the uploaded excel file. But it does not throw any error and the table remains empty. Can any one suggest what mistake i have done.

method ONACTIONUPLOAD .

TYPES :

BEGIN OF str_itab,

solution(20) TYPE c,

skill_cat(20) TYPE c,

process_area(20) TYPE c,

skill(20) TYPE c,

experience(20) TYPE c,

local_handed(20) TYPE c,

resource_type(20) TYPE c,

location(20) TYPE c,

region(20) TYPE c,

currency(20) TYPE c,

price(20) TYPE c,

END OF str_itab.

DATA : t_table1 TYPE STANDARD TABLE OF str_itab,

i_data TYPE STANDARD TABLE OF string,

lo_nd_data_tab TYPE REF TO if_wd_context_node,

lo_el_data_tab TYPE REF TO if_wd_context_element,

l_string TYPE string,

fs_table TYPE str_itab,

l_xstring TYPE xstring,

fields TYPE string_table,

lv_field TYPE string.

DATA : t_table TYPE if_v_main=>elements_data_tab,

data_table TYPE if_v_main=>elements_data_tab.

  • get single attribute

wd_context->get_attribute(

EXPORTING name = `DATASOURCE`

IMPORTING

value = l_xstring ).

CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'

EXPORTING

in_xstring = l_xstring

IMPORTING

out_string = l_string.

SPLIT l_string AT cl_abap_char_utilities=>newline INTO TABLE i_data.

  • Bind With table Element.

LOOP AT i_data INTO l_string.

SPLIT l_string AT cl_abap_char_utilities=>horizontal_tab INTO TABLE fields.

READ TABLE fields INTO lv_field INDEX 1.

fs_table-solution = lv_field.

READ TABLE fields INTO lv_field INDEX 2.

fs_table-skill_cat = lv_field.

READ TABLE fields INTO lv_field INDEX 3.

fs_table-process_area = lv_field.

READ TABLE fields INTO lv_field INDEX 4.

fs_table-skill = lv_field.

READ TABLE fields INTO lv_field INDEX 5.

fs_table-experience = lv_field.

READ TABLE fields INTO lv_field INDEX 6.

fs_table-local_handed = lv_field.

READ TABLE fields INTO lv_field INDEX 7.

fs_table-resource_type = lv_field.

READ TABLE fields INTO lv_field INDEX 8.

fs_table-location = lv_field.

READ TABLE fields INTO lv_field INDEX 9.

fs_table-region = lv_field.

READ TABLE fields INTO lv_field INDEX 10.

fs_table-currency = lv_field.

READ TABLE fields INTO lv_field INDEX 11.

fs_table-price = lv_field.

APPEND fs_table TO t_table1.

ENDLOOP.

lo_nd_data_tab = wd_context->get_child_node( 'DATA_TAB' ).

lo_nd_data_tab->bind_table( t_table1 ).

endmethod.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi ,

I assume that your alv data node is binded to this DATA_TAB node.

Have checked in the debug mode that this table is filled ?

You could try few things like set_data method of the ALV .

lo_interfacecontroller->set_data(

  • only_if_new_descr = " wdy_boolean

r_node_data = lo_nd_data_tab " ref to if_wd_context_node

).

You can try the refresh method of the ALV.

Edited by: Baskaran Senthivel on Mar 17, 2011 9:11 PM