cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Dynamic Input fields in wed Dynpro ABAP

0 Kudos

Hi Experts, We have a standard SRM web dynpro application

/SAPSRM/WDC_UI_DO_DYNATTR, which has dynamic created matrix data with a label and some text UI elements in multiple rows (View :V_BIDDER_QTE_VIEW),

now I have requirement to enhance this application by adding input field UI element dynamically in each row of the same matrix data and also need to sum up all rows input amounts , whenever user clicks on any other button like check in RFxR screen.

I am new to dynamic programing , I have done enhancement in Post exit of method WDDOMODIFYVIEW, I am able to get input fields in each row, but I am unable to capture the values entered users in input fields to calculate the sum .So please help me.

Below is part of my code

DATA: lr_container TYPE REF TO cl_wd_uielement_container,
lr_input_field TYPE REF TO cl_wd_input_field,
lr_flow_data TYPE REF TO cl_wd_matrix_head_data,
lr_mat_data TYPE REF TO cl_wd_matrix_data,
lr_mat_Head_data TYPE REF TO CL_WD_MATRIX_HEAD_DATA.

DATA : LR_NODE_INFO TYPE REF TO IF_WD_CONTEXT_NODE_INFO.

Data : lr_attribute_info TYPE wdr_context_attribute_info.

Data : lv_string1 type string,
lv_string2 type string,
lv_count type I.

lv_count = lv_count + 1.move lv_count to lv_string1.

concatenate 'ZZAMOUNT'
lv_string1 into lv_string1.
condense lv_string1 no-gaps.

lo_nd_attribute_list = wd_context->get_child_node( name = wd_this->wdctx_attribute_list ).
LR_NODE_INFO = lo_nd_attribute_list->get_node_info( ).

lr_attribute_info-name = lv_string1.
lr_attribute_info-type_name = 'STRING'.
lr_attribute_info-value_help_mode = '0'.
If FIRST_TIME = 'X'.
lr_node_info->add_attribute( EXPORTING attribute_info = lr_attribute_info ).

ENDIF.

"-- lv_string1 would contain the id to be assigned to our input field
lv_string1 = lv_count.concatenate 'ZZAMOUNT'
lv_string1 into lv_string1.condense lv_string1 no-gaps.

"-- lv_string2 would contain the path of the attribute under our node NODE

concatenate 'ATTRIBUTE_LIST.'
lv_string1 into lv_string2.condense lv_string2 no-gaps.


"-- Creating new input field & binding it to the above created attribute

CALL METHOD CL_WD_INPUT_FIELD=>NEW_INPUT_FIELD

EXPORTING

ID = lv_string1
bind_value = lv_string2
RECEIVING

CONTROL = lr_input_field.

lr_mat_data = cl_wd_matrix_data=>new_matrix_data( lr_input_field ).

lr_container ?= view->get_element( 'QUESTIONS_GROUP' ).
lr_container->add_child(EXPORTINGindex = lv_number + 4
the_child = lr_input_field).


Accepted Solutions (0)

Answers (0)