04-25-2006 4:28 PM - edited 02-04-2024 5:55 AM
Hi Experts,
I am getting a popup error when i try to call F4 help of my select-option in my view. This error comes only for the first time. Next time when I again call F4 help it works fine.
The error I am getting is:
Webdynpro (ABAP) error:
Calling the web dynpro page was terminated due to an error.
Error type:sapPopupMain_X1
Info about my webdynpro component:
I have 2 views in two different pages. The first view is a selection screen containing 2 select-option field for CARRID and CONNID of SFLIGHT. There is also a 'search' button.
On pressing the serach button the second view loads with ALV output displying flight details.
On the WDDOINIT method first view controller I loading the ranges to hold select-option values.
method WDDOINIT .
data:
lt_range_table type ref to data,
rt_range_table type ref to data,
read_only type abap_bool,
typename type string.
data:
lr_componentcontroller type ref to ig_componentcontroller,
l_ref_cmp_usage type ref to if_wd_component_usage.
l_ref_cmp_usage = wd_this->wd_cpuse_select_options( ).
IF l_ref_cmp_usage->has_active_component( ) IS INITIAL.
l_ref_cmp_usage->create_component( ).
ENDIF.
*get a pointer to the interface controller of the select options
*component
wd_this->m_wd_select_options =
wd_this->wd_cpifc_select_options( ).
init the select screen
wd_this->m_handler =
wd_this->m_wd_select_options->init_selection_screen( ).
create a range table that consists of this new data element
lt_range_table =
wd_this->m_handler->create_range_table(
i_typename = 'S_CARR_ID' ).
add a new field to the selection
wd_this->m_handler->add_selection_field(
i_id = 'S_CARR_ID'
it_result = lt_range_table
i_read_only = read_only ).
create a range table that consists of this new data element
lt_range_table =
wd_this->m_handler->create_range_table(
i_typename = 'S_CONN_ID' ).
add a new field to the selection
wd_this->m_handler->add_selection_field(
i_id = 'S_CONN_ID'
it_result = lt_range_table
i_read_only = read_only ).
endmethod.
In the ONACTIONSEARCH again in the first view controller I have written:
method ONACTIONSEARCH.
data: node_flights type ref to if_wd_context_node.
data: rt_carrid type ref to data.
data: rt_connid type ref to data.
data: isflight type table of sflight.
data: wsflight type sflight.
field-symbols: <fs_carrid> type table,
<fs_connid> type table.
Retrieve the data from the select option
rt_carrid = wd_this->m_handler->get_range_table_of_sel_field(
i_id = 'S_CARR_ID' ).
Assign it to a field symbol
assign rt_carrid->* to <fs_carrid>.
Retrieve the data from the select option
rt_connid = wd_this->m_handler->get_range_table_of_sel_field(
i_id = 'S_CONN_ID' ).
Assign it to a field symbol
assign rt_connid->* to <fs_connid>.
Retrieve that data from the database. Normally it is suggested to
encapsulate the data retrieval in a separate class.
For simplicity, the SELECT statement has been implemented here.
clear isflight. refresh isflight.
select * into corresponding fields of table isflight from sflight
where carrid in <fs_carrid>
and connid in <fs_connid>.
Bind the data to the context
node_flights = wd_context->get_child_node( name = `FLIGHTS` ).
node_flights->bind_elements( isflight ).
wd_this->fire_toresult_plg(
).
endmethod.
There is no implementation in WDDOMODIFYVIEW and there is no code in second view. My second view loads perfectly.
I have also mapped the view context to component controller. Navigation plugs are also properly set.
So what could be wrong? I am using IE6.0 browser.
Please help me!
Thanks
Gopal
Are you running 04S SP6? I used to run into this problem as well. However since upgrading to SP7, I have not encountered it. Have you tried searching the service marketplace. I don't think this problem is anything specific to something you have done.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
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.