on 04-24-2009 9:45 AM
Hi,
I am trying to display a dynamic context node in ALV, using the SALV_WD_TABLE component. When I execute the application, I get the following errror:
The following error text was processed in the system XXX : Invalid operand type for the
MOVE-CORRESPONDING statement.
The error occurred on the application server XXX_XXX_XX and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was:
Method: IF_WD_CONTEXT_NODE~GET_STATIC_ATTRIBUTES_TABLE of program
CL_WDR_CONTEXT_NODE_VAL=======CP
Method: GET_REF_TO_TABLE of program
CL_SALV_WD_DATA_TABLE=========CP
Method: EXECUTE of program
CL_SALV_BS_SERVICE_MNGR_TABLE=CP
Method: EXECUTE of program
CL_SALV_WD_SERVICE_MANAGER====CP
Method: APPLY_SERVICES of program
CL_SALV_BS_RESULT_DATA_TABLE==CP
Method: REFRESH of program
CL_SALV_BS_RESULT_DATA_TABLE==CP
Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE_DATA of program
CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE of program
CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_COMP_TABLE_DATA~UPDATE of program
CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_VIEW~MODIFY of program
CL_SALV_WD_C_TABLE_V_TABLE====CP
Using a non-dynamic context node everything works fine.
The dynamic context node is created as follows.
lr_child_node_info = lr_node_info->add_new_child_node(
name = 'DYNAMIC_CONTEXT_NODE'
is_mandatory = abap_false
is_mandatory_selection = abap_false
is_initialize_lead_selection = abap_false
is_static = abap_false
attributes = lt_context_attr_info ).
Any ideas how I can solve the issue?
Thanks!
Björn-Henrik
hi,
Refer this:
It may help you.
Thanx.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Saurav,
the problem is that I do not have a DDIC structure and that is what is puzzeling me. The document you are referring to is using DDIC tables and that makes it a whole lot easier, I believe. Any idea how I get the structure of my dynamic context?
Is there an easy way to convert
attributes = lt_context_attr_info_tab
to
static_element_rtti = lr_strucdescr
?
Thanks!
Hi,
wd_comp_controller->gr_str_disc is of type ref to CL_ABAP_STRUCTDESCR.
DATA:
table1 TYPE REF TO data,
root_node_info TYPE REF TO if_wd_context_node_info,
lr_node_info TYPE REF TO if_wd_context_node_info,
lr_table_type TYPE REF TO cl_abap_tabledescr,
lr_structure TYPE REF TO cl_abap_typedescr,
lr_table_data TYPE REF TO data.
FIELD-SYMBOLS:
<data>TYPE STANDARD TABLE.
<fs_table1> TYPE STANDARD TABLE.
For Ex: I got the data into table1 type ref to data.
ASSIGN table1->* TO <data>.
lr_structure = cl_abap_structdescr=>describe_by_data_ref( table1 ).
lr_table_type ?= lr_structure.
CREATE DATA lr_table_data TYPE HANDLE lr_table_type.
ASSIGN lr_table_data->* TO <fs_table1>.
<fs_table1> = <data>.
wd_comp_controller->gr_str_disc ?= lr_table_type->get_table_line_type( ).
root_node_info = wd_context->get_node_info( ).
** CREATE NODE
lr_node_info = root_node_info->add_new_child_node(
name = NODE1
static_element_rtti = wd_comp_controller->gr_str_disc
is_static = abap_false
is_mandatory = abap_false
is_mandatory_selection = abap_false
is_multiple = abap_true
is_multiple_selection = abap_true
is_singleton = abap_false ).
lr_node = wd_context->get_child_node( 'NODE1').
Try the above way...
Regards,
Lekha.
User | Count |
---|---|
84 | |
24 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.