Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Error in calling F4 help in select-option field

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

Not what you were looking for? View more on this topic or Ask a question