on 05-31-2009 1:35 PM
Hi
I'm using the method report_element_error_message to display an error message.
l_element = wd_context->get_element( ).
CALL METHOD lo_message_manager->report_element_error_message
EXPORTING
message_text = lv_message
element = l_element
* attributes = l_attribute
* params =
* msg_user_data =
* is_permanent = ABAP_FALSE
* scope_permanent_msg = CO_MSG_SCOPE_CTXT_ELEMENT
* msg_index =
* cancel_navigation =
* is_validation_independent = ABAP_FALSE
.
I wanted to focus on a specific UI element (file input) after the display of the message. But what happens here is that somehow the radio buttons get underlined with tooltips.
Thanks
Pushpraj
Hi,
Use report_attribute_errror_message then you get the focus on Input field automatically by passing the attribute name.
Hope it helps!
Regards,
Radhika.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Radhika
Ok the radio buttons getting focussed upon problem gets solved with this method but I still can't get the focus on the UI element fileUpload (whose name property is bound with the attribute upload_filename).
CALL METHOD lo_message_manager->report_attribute_error_message
EXPORTING
message_text = lv_message
element = l_element
attribute_name = 'UPLOAD_FILENAME'
* params =
* msg_user_data =
* is_permanent = ABAP_FALSE
* scope_permanent_msg = CO_MSG_SCOPE_CTXT_ELEMENT
* msg_index =
* cancel_navigation =
* is_validation_independent = ABAP_FALSE
.
Pushpraj
Hi Pushpraj,
Whenever WDA is throwing any messages the framework does automatically set the focus to the MessageArea of your component. Using report_attribute_error_message all the messages get displayed with a LinkToAction field, up on clicking which the focus would shift to that particular ui element. Its not possible to both display a message and have that particular ui element focused for the user.
Regards,
Uday
Hi,
With the method "report_attribute_errror_message " you should be able to give an error message and at the same time highlight the UI element for which the error has occured. You have to make sure that you pass the correct the "UI element name and the correct node element reference to the method". Once this is done, the UI element for which the error has occured will be highlighted. Also, put this validation code in wddobeforeaction.
Best Regards,
Ashish.
Hi,
l_element = wd_context->get_element( ).
Is this attribute is under any node or directly to root context.
If it is driectly under the root context then there is no need of the INDEX.
If it under the node with cardinality (1:N, 0:N) then you can use INDEX to get that particular element.
In your case if you give other than 1 it will throw error because the attribute is under the ROOT context
as you are using the WDCONTEXT key word.
Is this clear.
Regards,
Lekha.
Hi,
You can use the GET_ATTRIBUTE method of IF_WD_CONTEXT_NODE, pass the ATTRIBUTE name.
In this case you need to use the method REPORT_ATTRIBUTE_ERROR_MESSAGE not element.
If you use element as specified by you then you need to again use the GET_ATTRIBUTE of IF_WD_CONTEXT_ELEMENT and pass the attribute name.
Then you can use the method REPORT_ELEMENT_ERROR_MESSAGE.
Is this clear.
Regards,
Lekha.
Ok I think it's simply not possible to have the focus on the UIelement after an error display. I give up.
I've tried
attribute_name = 'MAIN.UPLOAD_FILENAME'
attribute_name = 'UPLOAD_FILENAME'
* nothing works.
Thnks for the reply Lekha, but get_attribute gets the value of the attribute (the file path in this case) and not the name (or whatever it is that this method wants).
Pushpraj
Hi,
attribute_name = `MAIN.UPLOAD_FILENAME`
attribute_name = `UPLOAD_FILENAME` Use the tilde opertor.
nothing works
for GET_ATTRIBUTE, pass the context attribute name and import the value.
Use the code wizard by reading that attribute.
For Ex: if your context attribute for sorting file name FILE_NAME as string.
You can use the get_attribute by passing this FILE_NAME and returns a string.
If you want the attribute names then use the method GET_ATTRIBUTE_NAMES of the IF_WD_CONTEXT_NODE_INFO.
First get the ndoe info
lr_nd_info = wd_context->get_node_info.
lt_names = lr_nd_info->get_attributes_names.
Regards,
Lekha.
Hi Pushparaj,
Joined the conversation late. As how I said earlier its not possible to have the erroneous ui element set in focus. The system does by default highlight all the ui elements where an error has occured. But it doesn't set the focus on any specific one nor can we do the same. You can try coding your own set focus stuff but they all wouldn't work.
Regards,
Uday
Hi Uday
I thought highlight and focus were the same thing.
But in my case it doesn't even do that.
Anyway its not really all that important now.
Hi Lekha
Tilde ` doesn't help either. And wouldn't get_attribute_names get the same thing that I'm anyways putting into the method?
Thanks for your help guys.
Edited by: Pushpraj Singh on Jun 1, 2009 5:48 PM
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.