ADD_PARAMETER_FIELD
Hi,
I am using method 'ADD_PARAMETER_FIELD' every thing is working fine but the length of the parametere will be set to default length one.
You will have to set the i_value field. Below is the sample code.
DATA: lr_value TYPE REF TO data.
DATA: m_handler TYPE REF TO if_wd_select_options.
FIELD-SYMBOLS: <fs_bukrs> TYPE bukrs.
CREATE DATA lr_value TYPE bukrs.
ASSIGN lr_value->* TO <fs_bukrs>.
wd_this->m_handler->add_parameter_field(
i_id = 'BUKRS_PRM'
i_value = lr_value ).
Regards,
Radhika.
Edited by: Radhika Vadher on Jun 4, 2009 12:18 PM
Similar Messages
-
Hi everyone,
I would like to know if there's a way to set the width of UI controls defined for IF_WD_SELECT_OPTIONS.
In particular I've created a selection screen using
wd_this->m_handler_simple_left->add_parameter_field( i_id = 'CONTRACT_DESCRIPTION' i_value = lr_field
i_description = 'Contract description'
i_within_block = 'BL01' ).
but I'm unable to set the width of this field and the final rendering isn't very nice at all (all input fields have different data types and different size).
Thank you.
RegardsHi,
I think we dont have any width type parameter to set width in selectoptions. The width comes directly from Domain.
Cheers,
Kris. -
Hello,
I created a Selection screen by adding attribute M_HANDLER of type IF_WD_SELECT_OPTIONS.
This way I can create a selection screen with normal select-options.
Now I added a parameter for a dropdown list. The Value set is passed correctly. No problem there. The values are filled and diplayed correctly.
* add the SHIP-TO field to the selection
DATA: ltp_text TYPE string.
DATA: lta_ship_to_table type WDY_KEY_VALUE_table,
lwa_ship_to like LINE OF lta_ship_to_table.
DATA: context_node_ship_to_table TYPE REF TO if_wd_context_node.
* get all declared attributes
context_node_ship_to_table = wd_context->get_child_node( 'SHIP_TO_TABLE' ).
context_node_ship_to_table->get_static_attributes_table(
IMPORTING
table = lta_ship_to_table ).
ltp_text = wd_assist->if_wd_component_assistance~get_text( 'L01' ).
wd_this->m_handler_dlv->add_parameter_field(
i_id = 'KUNWE'
i_description = ltp_text
i_as_dropdown = 'X'
it_value_set = lta_ship_to_table
i_within_block = 'BLK1' ).
The problem is to GET the selected value in the method that is called after clicking on the Search button.
I tried using several methods, for example GET_PARAMETER_FIELD and GET_SELECTION_SCREEN_ITEMS.
* Get the Ship-to
DATA: ltp_kunwe TYPE REF TO data.
ltp_kunwe = wd_this->m_handler_dlv->get_value_of_parameter_field(
i_id = 'KUNWE' ).
* Assign it to a field symbol
ASSIGN ltp_kunwe->* TO <fs_kunwe>.
Result was INITIAL.
DATA: lrf_get_selection_screen_items TYPE if_wd_select_options=>tt_selection_screen_item.
wd_this->m_handler_dlv->get_selection_screen_items(
IMPORTING
et_selection_screen_items = lrf_get_selection_screen_items ).
Result was INITIAL, although the table was retrieved with all values.
wd_this->m_handler_dlv->get_parameter_field(
EXPORTING
i_id = 'KUNWE'
IMPORTING
e_value = ltp_kunwe ).
Also INITIAL.
It looks like I am missing a step (maybe to set lead selection for this field). What did I miss?
How can I get to the value?Thanks!
Problem solved:
DATA: lr_value TYPE REF TO data.
CREATE DATA lr_value TYPE string. "<---- I was missing this code
LOOP AT lta_ship_to_table INTO lwa_ship_to.
value_set-key = lwa_ship_to-key.
value_set-value = lwa_ship_to-value.
* INSERT value_set INTO TABLE lt_value_set.
append value_set TO lt_value_set.
ENDLOOP.
ltp_text = wd_assist->if_wd_component_assistance~get_text( 'L01' ).
wd_this->m_handler_dlv->add_parameter_field(
i_description = ltp_text
i_id = 'KUNWE'
i_value = lr_value "<---- I was missing this code
i_as_dropdown = abap_true
it_value_set = lt_value_set
i_within_block = 'BLK1' ).
I looked at that parameter, but thought is was only used to SET the value, not required to get it back as well. Because it IS an import parameter... -
One search help for multiple select-options in webdynpro abap
Hi,
I need a way to use one search help for multiple select-options fields. My scenario is :
I have a table for keeping different organizational units' values of different systems. I have pasted some sample data from this table at the end of this mail. On the screen I want to have 1 select-options filed for werks, and 1 select-options filed for vkorg. (In fact I will have more org. unit fields...) In the beginning of my application the user will select sid.
If the user selects ADS as SID, when he opens search-help for the first org. unit (werks), he will see the records with SID: ADS, VARBL = $WERKS, LANGU = SY-LANGU.
If the user selects AGT as SID, when he opens search-help for the second org. unit (vkorg), he will see the records with SID: AGT, VARBL = $VKORG, LANGU = SY-LANGU.
I have created a search-help taking SIDD, VARBL and LANGU as import parameters; used field mapping and bound this search help to my table. I have created 2 context nodes : org1 and org2 having attributes SID, VARBL, VALUE, LANGU .
I have assigned related SID, VARBL and Langu values to these attributes at runtime as I needed. That way, if I use input field and reference to the related context attributes org1-value and org2-value2 accordingly, search help works well as I want.
However, when I use select-options field , I can not bind the field to the context data. I can give reference only to ddic structure. Is there any way to reference to a context attribute? I searched for this in SDN, but could find nothing.
I think I won't be able to use this way. What do you say?
As I read from forums maybe using OVS help will be suitable for me. But I have to use one search-help for all select-options fields. Do you know how I can determine the active select-options field and pass its name (for instance "werks" ) as parameter to this OVS search help. (Also I'll pass SID and LANGU.)
MY TABLE (ZBYYT080) CONTENTS:
SID VARBL VALUE LANGU VTEXT
ADS $WERKS 1 T Werk 0001
ADS $WERKS 11 T OZYAS GIDA URETIM YERI
ADS $WERKS 5501 T BOYA GEBZE FABRİKASI
ADS $WERKS 5502 T BOYA CIGLI FABRİKASI
AGT $WERKS 2301 T KAMLI DAMIZLIK
AGT $WERKS 9601 T PANAR DENIZ URETIM YERI
ADS $VKORG 22 T AA KİMYASALLAR
ADS $VKORG 8001 T İINSAAT BOYALARI
AGT $VKORG 6500 T DAMk St.Org
AGT $VKORG 5400 T PANAR St.Org.
I wish I'm clear enough..
I will be gald if someone answers me as soon as possible...
Thanks İn advance..
MERALHi,
Your ques is how to refer to a DDIC search help to refer to selection screen parameter ?
Am I right ?
If Yes, then in the interface IF_WD_SELECT_OPTIONS
method ADD_SELECTION_FIELD, ADD_PARAMETER_FIELD etc
have importing param like I_VALUE_HELP_TYPE and I_VALUE_HELP_ID, I_VALUE_HELP_MODE, I_VALUE_HELP_STRUCTURE
etc which may help you to link your create DDIC Search help to selection screen params.
this is just a clue from my side. I haven't tried it myself.
You can go to the where used list of this method and find some sample implementations which use these params.
Hope this helps.
Regards
Manas Dua -
Selection screen with Parameter - field name not coming when made mandatory
Hi Experts,
I have added a parameter in my selection screen which has other select options as well.
I used below code in wd_initi to add parameter
create data LR_LIFNR type LIFNR.
WD_THIS->M_HANDLER->ADD_PARAMETER_FIELD(
I_ID = 'LIFNR'
I_VALUE = LR_LIFNR
I_OBLIGATORY = ABAP_TRUE
I_READ_ONLY = L_READ_ONLY ).
I have a submit button in the selection screen, so when ever the value is empty in parameter for LIFNR, system throws an error *Enter selection in Field "" * but error message is unable to take the name of the parameter?
It is expected to give as Enter selection in Field "Vendor"
This throwing of error message is working fine for another select-options for PO which is also mandatory.
What could be the error?
Any clue is highly appreciated.
Regards,
AjayHi,
WDDOINIT the code is:
lt_range_table = wd_this->m_handle->create_range_table(
i_typename = 'ZRM_T_CV_END_DATE1' ).
wd_this->m_handle->add_selection_field(
i_id = 'ZRM_T_CV_END_DATE1'
i_description = 'Project End Date (MM.YYYY)'
it_result = lt_range_table
i_read_only = read_only ).
on submit the code is :
rt_prj_end = wd_this->m_handle->get_range_table_of_sel_field(
i_id = 'ZRM_T_CV_END_DATE1' ).
ASSIGN rt_prj_end->* TO <fs_prj_end>.
1.is the data element the same in both the methods u mentioned.i,e on WDDOINIT AND ON ACTION OF SUBMIT.
please check it once.
2.2does the data element LIFNR has field label assosciated with it.(check in domain).
3.check adding description to the field shown as below.
wd_this->m_handle->add_selection_field(
i_id = 'ZRM_T_CV_END_DATE1'
i_description = 'Project End Date (MM.YYYY)'
it_result = lt_range_table
i_read_only = read_only )
Try checking these 3 cases.
Priya -
Using Select options how to validate
Hi Experts,
I am using webdynpro abap component select options.In select options i am using vbeln field i want to validate the entered value.How to validate it.Can give me for this solution is there any example provide me.Hi Chandra sekhar ,
Can you give me the clear idea for validation.I have done initially in wddoinit
method WDDOINIT .
* Reference variable used instantiate the select-options component
DATA
lr_cmp_usage TYPE REF TO if_wd_component_usage.
* Variables used to create the select-options fields and
* define its initial values
DATA:
lr_field TYPE REF TO data.
FIELD-SYMBOLS:
<fs_field> TYPE ANY,
<fs_range> TYPE INDEX TABLE.
* Instantiate the select-options component
lr_cmp_usage = wd_this->wd_cpuse_cmp_sel_opt( ).
IF lr_cmp_usage->has_active_component( ) IS INITIAL.
lr_cmp_usage->create_component( ).
ENDIF.
* Sets the helper reference
wd_this->m_sel_opt = wd_this->wd_cpifc_cmp_sel_opt( ).
wd_this->m_helper = wd_this->m_sel_opt->init_selection_screen( ).
* Hide the standard select-options components.
wd_this->m_helper->set_global_options(
i_display_btn_cancel = abap_false
i_display_btn_check = abap_false
i_display_btn_reset = abap_false ).
* Adding a block (type Tray) to the select-options
wd_this->m_helper->add_block(
i_id = `BL01`
i_block_type = if_wd_select_options=>mc_block_type_tray
i_title = `Flight Booking` ).
* Adding a parameter field to the created block
* Create a reference to the type of airline code
CREATE DATA lr_field TYPE s_carr_id.
* Sets the airline code initial value
ASSIGN lr_field->* TO <fs_field>.
<fs_field> = 'AA '.
* Add the parameter to the group
wd_this->m_helper->add_parameter_field(
i_id = `CARRID`
i_within_block = `BL01`
i_value = lr_field ).
FREE lr_field.
UNASSIGN <fs_field>.
* Adding a select-options field to the created block
* Create a reference to the connection number range table
lr_field = wd_this->m_helper->create_range_table( `S_CONN_ID` ).
* Add the select-option to the group
wd_this->m_helper->add_selection_field(
i_id = `CONNID`
i_within_block = `BL01`
it_result = lr_field ).
FREE lr_field.
endmethod.
and in button i have done as
method ONACTIONON_EXECUTE .
TYPES:
lty_r_connid TYPE RANGE OF s_conn_id.
DATA
lr_sbook TYPE REF TO if_wd_context_node.
* Variables used to retrieve the values of select-options fields
DATA
lt_sel_item TYPE if_wd_select_options=>tt_selection_screen_item.
FIELD-SYMBOLS:
<fs_sel_item> LIKE LINE OF lt_sel_item,
<fs_carrid> TYPE s_carr_id,
<fs_connid> TYPE lty_r_connid.
* Get the selection-screen items
wd_this->m_helper->get_selection_screen_items(
IMPORTING et_selection_screen_items = lt_sel_item ).
* Retrieve the values from the select-options items
LOOP AT lt_sel_item ASSIGNING <fs_sel_item>.
CASE <fs_sel_item>-m_id.
WHEN `CARRID`.
ASSIGN <fs_sel_item>-m_value->* TO <fs_carrid>.
WHEN `CONNID`.
ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_connid>.
ENDCASE.
ENDLOOP.
* Retrieve the data from the database, for simplicity, the
* SELECT statement has been implemented here.
SELECT * FROM sbook
INTO TABLE wd_this->t_sbook
WHERE carrid = <fs_carrid>
AND connid IN <fs_connid>.
* Bind the data to the context
lr_sbook = wd_context->get_child_node( name = `T_SBOOK`).
lr_sbook->bind_table( wd_this->t_sbook ).
endmethod.
now can you provide me the code for carrid and connid validation how has to be done.Please give me this solution -
User command in drop down in select options
Hi. I am able to build a drop down in select options via the method add_parameter_field, and setting option I_AS_DROPDOWN as true.
Now I want to trigger a user command when any value in the drop down is selected. Is it possible? I cannot find any method / means to do it.
Thanks in adv.Dear Aishi,
Try this code on your Dropdownindex object. Events->onSelecet(ONACTIONSELECT).
method ONACTIONSELECT .
wd_context->set_attribute( name = 'DROPDOWN_BY_IDX_1_INFO' value = index ).
if index = 1.
wd_this->onactionon_action1( EXPORTING wdevent = wdevent ). " action1 action
endif. index = 2.
wd_this->onactionon_action2( EXPORTING wdevent = wdevent ). " action2 action
endif.
endmethod.
Bulent -
Retrieving the drop down value used in wdr_select_options for default
Hello Experts,
I populated drop down using the method add_parameter_field by using WDR_SELECT_OPTIONS component.
Now my requirement is I need to default the value in some other parameter field based on drop down selection value.But the problem is WDDOMODIFY method is not triggreing while selecting the value from this dropdown for defaulting the value and even there is no method or option in the interface if_wd_select_options for creating an action while selecting the drop down like on slect in our manually creation drop down.
Please let me know if there is any solution for this.
Thanks and Regards,
VenkatHi venkatesh,
The eventhandlet ONENTER of WDR_SELECT_OPTIONS wont work for the drop down and also
there is no ONSELECT event of drop down in select options.
So i think there must be some kind of button action.
As you told you need to default the value of selection screen field based on drop down selection
why dont you remove that field from selection screen as you can however use the value later
while executing depending on drop down value. -
Parameters in selection screnn in webdynpro abap
Hello Gurus,
We have a requirement to maintain parameters in selection screnn in webdynpro abap.
now we are able to create parameters using wdr_select_options componet usage of method add_parameter_field.
we need f4 help also for this parameter.
how can we pass exporting parameters to this method.
Could anyone please suggest solutions?
and if possible send me the sample code for this requirement.
Thanks in Advance for your replies.
Regards,
BabuHi Rajsekhar,
this is sample code of select option for carr id field. so you can guess and change according to your requirement.
Observe the highlited code in below coding.
nOTE: S_CARR_ID IS THE DATA ELEMENT OF CARR ID FIELD, FOR THAT I AM APPLYING SELECT OPTIONS IN BELOW CODING.
WRITE THE BELOW CODE IN WDDOINT( ) METHOD OF REQUIRED VIEW
Data: lt_range_table type ref to data,
read_only type abap_bool.
WD_THIS->M_WD_SELECT_OPTIONS = WD_THIS->WD_CPIFC_SELECT_OPTIONS( ).
WD_THIS->M_HANDLER = WD_THIS->M_WD_SELECT_OPTIONS->INIT_SELECT_SCREEN( ).
WD_THIS->M_HANDLER->SET_GLOBAL_OPTIONS(
I_DISPLAY_BTN_CANCEL = ABAP_FALSE
I_DISPLAY_BTN_CHECK = ABAP_FALSE
I_DISPLAY_BTN_RESET = ABAP_FALSE
I_DISPLAY_BTN_EXECUTE = ABAP_FALSE ).
LT_RANGE_TABLE = WD_THIS->M_HANDLER->CREATE_RANGE_TABLE( I_TYPENAME = 'S_CARR_ID' ).
WD_THIS->M_HANDLER->ADD_SELECTION_FIELD(
* I_ID = 'S_CARR_ID'*
* IT_RESULT = LT_RANGE_TABLE*
* I_READ_ONLY = READ_ONLY* ).
BELOW CODE IN REQUIRED ACTION( SAY IN SOME BUTTON ACTION WHICH WILL RETRIEVE THE DATA FROM DATABASE TABLE USING SELECTI OPTIONS VALUES)
fIRST THE GET REFERENCE TO NODE( CTRL F7->READ CONTEXTB-FLIGHT NODE )
***THEN BELOW CODE
DATA: RT_CARRID TYPE REF TO DATA.
DATA:IS_FLIGHT TYPE TABLE OF SFLIGHT.
FIELD_SYMBOLS: <FS_CARRID> TYPE TABLE.
RT_CARRID = WD_THIS-> M_HANDLER->GET_RANGE_TABLE_OF_SEL_FIELD( I_ID = 'S_CARR_ID' ).
ASSIGN RT_CARRID->* TO <FS_CARRID>.
SELECT * INTO CORRRESPONDING FIELDS OF TABLE IS_FLIGHT
FROM SFLIGHT WHERE CARRID IN <FS_CARRID>
NODE_FLIGHT->BIND_TABLE( IS_FLIGHT ). -
Dynamically changing attributes of a field in view container UI element
In the layout of the web dynpro component I have added a view container UI element. I am populating the fields in the view container UI element in methods in component controller using the following code
*--Adding a Checkbox
lv_str = wd_assist->if_wd_component_assistance~get_text( '009' ).
CALL METHOD wd_this->att_wd_handler->add_parameter_field
EXPORTING
i_id = 'CHB_DOWNLOAD_CHECKBOX'
i_description = lv_str
i_value = lv_chb_download_checkbox
i_as_checkbox = abap_true.
*--Adding a Parameter
lv_str = wd_assist->if_wd_component_assistance~get_text( '010' ).
CALL METHOD wd_this->att_wd_handler->add_parameter_field
EXPORTING
i_id = 'CHB_DOWNLOAD_PATH'
i_description = lv_str
i_value = lv_chb_download_path
i_as_checkbox = abap_false.
Now based on the checkbox selection I want to make the field CHB_DOWNLOAD_PATH mandatory and also on F4 for CHB_DOWNLOAD_PATH I want a method to be called. Where must i write the coding for the above conditions and how? Please help.hi
In your method there would be a parameter ie ON_TOGGLE where you can write the name of your event .
Whenever your checkbox will be clicked that event wil be called.
You can write your code in that event itself.
Regards
Kuldeep -
Regarding get_parameter_field method in webdynpro abap
Hello Gurus,
We have a requirement in to prepare selection screen.we are implimenting selection screen with two select options and one parameter using add_selection_field and add_parameter_field methods respectively.now i need these values at runtime.so,ihave used two methods for this are get_range_table_of_sel_field and get_parameter_field .but the method get_parameter_field is not working properly.how can i get parameter value at runtime.this is the correct metod or not to get the parameter value at runtime.
Could anyone suggest me solutions?
could anyone send me sample code or reference links if possible.
Thanks in Advance for your replies.
Regards,
babuHi Rajasekhar,
Please go through below wiki. It uses another way to get data from all selection-screen items.
[Complex Select Option USage|http://wiki.sdn.sap.com/wiki/display/Snippets/WebDynproABAP-Complexselect-optionscomponent+usages]
I hope it helps.
Regards,
Sumit -
Hello All,
how to create a parameter field (as if it were in abap selection screen ) i am using the wd component WDR_SELECT_OPTIONS in my component. i want to display a parameter field with the description taken from DDIC. iam trying to use the method ADD_PARAMETER_FIELD of the interface IF_WD_SELECT_OPTIONS.
here i could not understand how to bind this parameter field with DDIC element so that the description, (if possible F4 help)is taken from ABAP dictionary.
can someone please help.
Thanks in advance
Regards
Amarender Reddy BHi ,
What i catch from ur query is that u want to create a parameter field in the selection screen .. if so... then see the below code .
declare a variable of type data
data : lr_type ref to data .
then initial that with the type of the data element u want to use ..like WERKS_D .
create data lr_data type WERKS_D .
and call this method ...
CALL METHOD WD_THIS->M_HANDLER->ADD_PARAMETER_FIELD
EXPORTING
I_ID = 'WERKS'
I_VALUE = lr_data
Regards
Yash -
Hi All.
I use Parameter (label & Input field) and Select-Option.
Is it possible to justify Select-option's input field position?
I want to align Select-Option's input field and Parameter's one .
Does anybody know about this and help me?
Thanks & Regards.
Sayako.Hi,
to some extent you can still achieve it.
Or esle you can create 2 blocks using ADD_BLOCK of the above interface. check the parameters of this method where you can provide the layout as GRP or TRAY or TRANPSARENT. When you create a selection field give this block id I_WITHIN_BLOCK of ADD_SELECTION_FIELD, and other block id for the paramter I_WITHIN_BLOCK of ADD_PARAMETER_FIELD
Regards,
Lekha.
Edited by: Lekha on Dec 19, 2011 11:13 AM -
Working with actions on drop down
Hi Gurus,
I have created a drop down box dynamically with fixed values using add_parameter_field. Now i want is when user selects particular value from the drop down box few fields should be disabled on the screen. Can you please help how to do this. i have added the code below
l_defdate_range-key = '1'."'01DAY'.
l_defdate_range-value = 'Yesterday'.
APPEND l_defdate_range TO lt_defdate_range.
l_defdate_range-key = '2'."'15DAY'.
l_defdate_range-value = 'Since 15 Days'.
APPEND l_defdate_range TO lt_defdate_range.
l_defdate_range-key = '3'."'30DAY'.
l_defdate_range-value = 'Since 30 Days'.
APPEND l_defdate_range TO lt_defdate_range.
l_defdate_range-key = '4'."'MONTH'.
l_defdate_range-value = 'Last Month'.
APPEND l_defdate_range TO lt_defdate_range.
*--Default date range
wd_this->m_handler->add_parameter_field(
i_id = 'P_DEF_DT_RANGE'
i_description = 'Default date range'
it_value_set = lt_defdate_range
i_as_dropdown = abap_true
i_within_block = 'DATES'
i_value = l_value ).
Thanks in advanceHi.,
Assign a Function Code to List Box., let say DRP .,
now in PAI.,
if sy-ucomm = 'DRP'.
read the value of List box.,
based on value ., disable the input fields.,
endif.,
for disabling input fields use
loop at screen.
if screen-group1 = 'SC1' " screen group which u assigned to input fields which u want to disable
screen-input = 0.
endif.
modify screen.
hope this helps ., u
Thanks & Regards,
Kiran -
Error occurs during select-options
hi friends,
i am developed a report for extracting data from vbap using select-options
i am using feilds,
vbeln erdat ernam vbtyp vkorg vtweg feilds
and vbeln vkorg vbtyp erdat as selection screen feilds.
i got selection screen screen with required feilds well .
but problem is with method onactiondisplay
the coding like this
method ONACTIONDISPLAY .
TYPES: lty_r_vbeln TYPE RANGE OF vbeln,
lty_r_erdat TYPE RANGE OF erdat,
lty_R_VKORG TYPE RANGE OF VKORG,
lty_r_vbtyp type range of vbtyp.
DATA: lo_customer TYPE REF TO if_wd_context_node.
Variables used to retrieve the values of select-options fields
DATA: lt_sel_item TYPE if_wd_select_options=>tt_selection_screen_item.
FIELD-SYMBOLS:
<fs_sel_item> LIKE LINE OF lt_sel_item,
<fs_vbeln> TYPE lty_r_vbeln,
<fs_vkorg> TYPE lty_r_vkorg,
<fs_vbtyp> TYPE lty_r_vbtyp,
<fs_erdat> TYPE lty_r_erdat.
Get the selection-screen items
wd_this->m_handler->get_selection_screen_items(
IMPORTING et_selection_screen_items = lt_sel_item ).
Retrieve the values from the select-options items
LOOP AT lt_sel_item ASSIGNING <fs_sel_item>.
CASE <fs_sel_item>-m_id.
WHEN `VBELN`.
ASSIGN <fs_sel_item>-m_value->* TO <fs_vbeln>.
WHEN `VKORG`.
ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_vkorg>.
WHEN `VBTYP`.
ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_vbtyp>.
WHEN `ERDAT`.
ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_erdat>.
ENDCASE.
ENDLOOP.
Retrieve the data from the database, for simplicity, the
SELECT statement has been implemented here.
SELECT * FROM vbak
INTO TABLE wd_this->customer
WHERE vbeln = <fs_vbeln>
AND vkorg IN <fs_vkorg>
AND vbtyp IN <fs_vbtyp>
AND erdat IN <fs_erdat>.
Bind the data to the context
lo_customer = wd_context->get_child_node( name = `customer`).
lo_customer->bind_table( wd_this->vbak ).
ENDMETHOD.
here customer is the node
and i refer attributes
m_handler = IF_WD_SELECT_OPTIONS
M_SELECT_OPTIONS = IWCI_WDR_SELECT_OPTIONS
and i defined vbeln as parameter only.
and i got error as
the feild customer is unknown but there is a feild with similar name wdctx_customer
can any one explain clearly to extracts the data by using select options ..?Hello Karunakar,
Since your problem was not getting solved, I took sometime to try this program on my own and figured out that getting value of parameter field is not same like selection field. we need to change only that part. anyhow since I tried this I;m sharing the complete code.
code for creating the selection fields and parameter fields. verify whether you are doing the same in INIT method
data lt_range type ref to data.
data lr_vbeln type ref to vbeln.
create data lr_vbeln.
wd_this->m_handler->add_parameter_field(
i_id = 'VBELN'
i_value = lr_vbeln ).
lt_range = wd_this->m_handler->create_range_table( 'VKORG' ).
wd_this->m_handler->add_selection_field(
i_id = 'VKORG'
it_result = lt_range ).
lt_range = wd_this->m_handler->create_range_table( 'VBTYP' ).
wd_this->m_handler->add_selection_field(
i_id = 'VBTYP'
it_result = lt_range ).
lt_range = wd_this->m_handler->create_range_table( 'ERDAT' ).
wd_this->m_handler->add_selection_field(
i_id = 'ERDAT'
it_result = lt_range ).
and code the action method
data:
lt_sel_item type if_wd_select_options=>tt_selection_screen_item,
lt_parameters type if_wd_select_options=>tt_selection_screen_item,
lt_r_vkorg type range of vkorg,
lt_r_vbtyp type range of vbtyp,
lt_r_erdat type range of erdat,
lv_condition type string,
lt_customer type wd_this->elements_customer,
lo_nd_customer type ref to if_wd_context_node.
field-symbols:
<fs_sel_item> like line of lt_sel_item,
<fv_vbeln> type vbeln,
<ft_r_vkorg> like lt_r_vkorg,
<ft_r_vbtyp> like lt_r_vbtyp,
<ft_r_erdat> like lt_r_erdat.
wd_this->m_handler->get_parameter_fields( importing et_fields = lt_parameters ).
wd_this->m_handler->get_selection_screen_items( importing et_selection_screen_items = lt_sel_item ).
loop at lt_parameters assigning <fs_sel_item>.
case <fs_sel_item>-m_id.
when `VBELN`.
assign <fs_sel_item>-m_value->* to <fv_vbeln>.
if <fv_vbeln> is assigned and <fv_vbeln> is not initial.
if lv_condition is not initial.
concatenate lv_condition 'AND' into lv_condition separated by space.
endif.
concatenate lv_condition 'VBELN = <FV_VBELN>' into lv_condition separated by space.
endif.
endcase.
endloop.
loop at lt_sel_item assigning <fs_sel_item>.
case <fs_sel_item>-m_id.
when `VKORG`.
assign <fs_sel_item>-mt_range_table->* to <ft_r_vkorg>.
if <ft_r_vkorg> is assigned and <ft_r_vkorg> is not initial.
if lv_condition is not initial.
concatenate lv_condition 'AND' into lv_condition separated by space.
endif.
concatenate lv_condition 'VKORG IN <FT_R_VKORG>' into lv_condition separated by space.
endif.
when `VBTYP`.
assign <fs_sel_item>-mt_range_table->* to <ft_r_vbtyp>.
if <ft_r_vbtyp> is assigned and <ft_r_vbtyp> is not initial.
if lv_condition is not initial.
concatenate lv_condition 'AND' into lv_condition separated by space.
endif.
concatenate lv_condition 'VBTYP IN <FT_R_VBTYP>' into lv_condition separated by space.
endif.
when `ERDAT`.
assign <fs_sel_item>-mt_range_table->* to <ft_r_erdat>.
if <ft_r_erdat> is assigned and <ft_r_erdat> is not initial.
if lv_condition is not initial.
concatenate lv_condition 'AND' into lv_condition separated by space.
endif.
concatenate lv_condition 'ERDAT IN <FT_R_ERDAT>' into lv_condition separated by space.
endif.
endcase.
endloop.
select * from vbak into table lt_customer where (lv_condition).
lo_nd_customer = wd_context->get_child_node( name = wd_this->wdctx_customer ).
lo_nd_customer->bind_table( lt_customer ).
this is working as expected. hope this works for you as well
BR, Saravanan
Maybe you are looking for
-
Hi there. I'm using LiveCycel designer ES to create several fillable pdfs and save the fillable pdfs as static forms. I use acrobat X pro to enable reader extension in order for the users to type in data and save the form, however, the fillable pdf
-
Printing of return delivery of multiple line items
Dear All, I have a requirment to print return delivery material document with multiple line items of a PO. I tried with collectve slip in MIGO. but still line item will come in different pages. Message details are maintained for all line items. Print
-
Use of SRW.SET_MAXROW
Hi Friends, By using SRW.SET_MAXROW we can limit the number of rows it should show on a page. 1. Lets say i set this as SRW.SET_MAXROW('Q_1',17) and i have 19 rows for my query, then it is fetching only 17 rows in report and 2 rows are not displaying
-
Apply custom style to the first tab of af|panelTab component
Hi, Could anyone please advice me how to apply custom style to the first and last tabs of af|panelTab component. For eg- If I have 6 tabs and I want tab1 and tab6 to be in Red and rest of the tabs in blue, what should I add. Please advice. Regards Je
-
As the title says, it will not restart and Im very frustrated. It worked all day, I had about a fourth of the battery left. I was looking online on the touchpad and it froze. I did a force restart and it shut down and now will not get past the loadin