cancel
Showing results for 
Search instead for 
Did you mean: 

WD -Select options - DUMP -Practicing Rich heilman's app

Former Member
0 Kudos

Hi,

I am practising the tutorial created by Rich heilman /people/rich.heilman2/blog/2005/12/20/using-select-options-in-a-web-dynproabap-application

I am getting following dump while running i browser.

Error when processing your request

What has happened?

The URL http://ssss.com/sap/bc/webdynpro/sap/ytest/ was not called due to an error.

Note

The following error text was processed in the system DV1 : Exception condition "TYPE_NOT_FOUND" raised.

The error occurred on the application server sape-dev_DV1_00 and in the work process 0 .

The termination type was: RABAX_STATE

The ABAP call stack was:

Method: DESCRIBE_BY_NAME of program CL_ABAP_TYPEDESCR=============CP

What can I do?

If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system DV1 in transaction ST22.

If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server sape-dev_DV1_00 in transaction SM21.

If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 0 in transaction ST11 on the application server sape-dev_DV1_00 . In some situations, you may also need to analyze the trace files of other work processes.

If you do not yet have a user ID, contact your system administrator.

Error code: ICF-IE-http -c: 180 -u: XXXXX -l: E -s: DV1 -i: sape-dev_DV1_00 -w: 0 -d: 20090112 -t: 162129 -v: RABAX_STATE -e: RAISE_EXCEPTION

All I did is i used a different table and follwed all steps.

Rich,

Thank you for the wonderful blog.

Any idea?

rgds

Vara

Edited by: Vara K on Jan 12, 2009 11:26 PM

Edited by: Vara K on Jan 12, 2009 11:34 PM

Accepted Solutions (1)

Accepted Solutions (1)

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Im afraid I would need more information than that. What exactly did you change, and have you debugged the application to see exactly where it is failing?

Regards,

Rich Heilman

Former Member
0 Kudos

Rich,

Here is what I did.

I changed SFLIGHT TABLE to PROJ and tried to put only one select-options for field PSPNR.

Node name = PROJ.

I kept a break-point in these methods but it got dumped before that only.

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.
* create the used component
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_PSPNR_ID' ).

*add a new field to the selection
wd_this->m_handler->add_selection_field(
i_id = 'S_PSPNR_ID'
it_result = lt_range_table
i_read_only = read_only ).



endmethod.

method ONACTIONCONTINUE .

data: node_proj type ref to if_wd_context_node.
data: rt_pspnr type ref to data.
data: iproj type table of proj.
data: wproj type proj.

field-symbols: <fs_pspnr> type table.

* Retrieve the data from the select option
rt_pspnr = wd_this->m_handler->get_range_table_of_sel_field(
i_id = 'S_PSPNR_ID' ).
* Assign it to a field symbol
assign rt_pspnr->* to <fs_pspnr>.


* 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 iproj. refresh iproj.
select * into corresponding fields of table iproj from proj
where pspnr in <fs_pspnr>.

* Bind the data to the context
node_proj = wd_context->get_child_node( name = `PROJ` ).
node_proj->bind_elements( iproj ).

endmethod.

rgds

vara

Edited by: Vara K on Jan 13, 2009 12:10 AM

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Check the dump in ST22 and see what that says.

Regards,

RIch Heilman

Former Member
0 Kudos

Rich,

While debugging I was able to get into method WDOINIT and it is failing at this point.

* create a range table that consists of this new data element
lt_range_table =
wd_this->m_handler->create_range_table(
i_typename = 'S_PSPNR_ID' ).

Any idea? or do you see something wrong with my code?

FYI.. PSPNR is type NUMC

Rgds

vara

Edited by: Vara K on Jan 13, 2009 12:43 AM

Edited by: Vara K on Jan 13, 2009 12:46 AM

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Ah yes, 'S_PSPNR_ID' does not exist in the data dictionary, right? Notice that in my example, I am using S_CARR_ID in that piece of code. That S_CARR_ID is actually a data element which is defined in the ABAP Dictionary. You must create the same for yours, or find an existing data element and reference it here. For example, say you create a "Z" data element, you would do this.

lt_range_table =
    wd_this->m_handler->create_range_table(
         i_typename = 'Z_PSPNR_ID' ).

Hope this helps,

Regards,

Rich Heilman

Former Member
0 Kudos

Rich,

Thank you.

It solved my problem.I would aslo like to add two new columns to output.How do we handle this in Weebdynpro? I can also create a new message for this.

Rgds

vara

Answers (0)