Disabling the input field inside a table
I am using a table having 5 fields. i am displaying the data in the table with all the fields as inputfields. When i click a button, the rows having the data should become disable and the rows which doesn,t have the records should be in enable mode only.
Can we achieve this functionality ?
Hi Manjunath,
Thatu2019s what I had suggested the solution foru2026 I will try to put it down again. Take 2 Boolean attributes at your context level:
1) Would be a flag to know whether the user has entered any data in this particular row (Lets say flag1). By default set it to false so that it would mean that for the 1st time the entire table being displayed would have the flag1u2019s value as u2018 u2018.
2) Would be a variable for using to bind to the table columnu2019s readOnly property (Lets say flag2) By default have this value to false so that the entire column would be in editable mode by default.
Say suppose you want to make all the working days for which the user has made entries you should bind the cell editors readOnly property of all those columns to flag1.
When the user enters some data into a row and presses on the save then change the flag1 value for that particular row to X. (So this changes should get reflected on the context nodes data) So for example the user has entered data for first 2 rows then flag1 would be X for both these rows in the context node.
Now when the user presses on the Freeze button just get your entire contexts data & loop through only those records where you have flag1 = u2018Xu2019
Loop at it_data into wa_data where wa_data-flag1 = u2018Xu2019.
Wa_data-flag2 = u2018Xu2019.
Modify it_data from wa_data transporting flag2.
Endloop.
So now you would only set the readOnly value for the rows where flag1 = u2018Xu2019 (i.e., where the user has made his entries). The rest of the rows would still continue to have the default value defined at context level u2018 u2018 and so would remain as editable. I hope that you have understood what I intended to say.
Regards,
Uday
Similar Messages
-
How to enable/disable the input fields based on the data entered in the web dynpro application abap? If the user enters data in one input field then only the next input field should be enabled else it should be in disabled state. Please guide.
Hi,
Try this code.
First create a attribute with the name readonly of type wdy_boolean and bind it read_only property of input field of which is you want to enable or disable.
Next go to Init method.
Set the readonly value as 'X'.
DATA lo_el_context TYPE REF TO if_wd_context_element.
DATA ls_context TYPE wd_this->element_context.
DATA lv_visible TYPE wd_this->element_context-visible.
* get element via lead selection
lo_el_context = wd_context->get_element( ).
* @TODO handle not set lead selection
IF lo_el_context IS INITIAL.
ENDIF.
* @TODO fill attribute
* lv_visible = 1.
* set single attribute
lo_el_context->set_attribute(
name = `READONLY`
value = 'X').
After that Go to the Action ENTER.
First read the input field ( first input field, which is value entered field) , next give a condition
if input value is not initial then set the readonly value is ' '.
DATA lo_nd_input TYPE REF TO if_wd_context_node.
DATA lo_el_input TYPE REF TO if_wd_context_element.
DATA ls_input TYPE wd_this->element_input.
DATA lv_vbeln TYPE wd_this->element_input-vbeln.
* navigate from <CONTEXT> to <INPUT> via lead selection
lo_nd_input = wd_context->get_child_node( name = wd_this->wdctx_input ).
* @TODO handle non existant child
* IF lo_nd_input IS INITIAL.
* ENDIF.
* get element via lead selection
lo_el_input = lo_nd_input->get_element( ).
* @TODO handle not set lead selection
IF lo_el_input IS INITIAL.
ENDIF.
* get single attribute
lo_el_input->get_attribute(
EXPORTING
name = `VBELN`
IMPORTING
value = lv_vbeln ).
if lv_vbeln IS not INITIAL.
DATA lo_el_context TYPE REF TO if_wd_context_element.
DATA ls_context TYPE wd_this->element_context.
DATA lv_visible TYPE wd_this->element_context-visible.
* get element via lead selection
lo_el_context = wd_context->get_element( ).
* @TODO handle not set lead selection
IF lo_el_context IS INITIAL.
ENDIF.
* @TODO fill attribute
* lv_visible = 1.
* set single attribute
lo_el_context->set_attribute(
name = `READONLY`
value = ' ' ). -
How to get the values from the input field of a table
Hello Friends
I am having table having one column as InputField and rest are the textview fields
I input the data and click the button that will add them to a node.
But what is happening is it is adding the current value to all the fields replacing other filelds.
Like suppose I am having 3 rows
In column I input 10
In column 2 input 20
In column 3 input 30
Now it is setting the value 30 to all the 3 fields.
Can any one tell me the code to set 10, 20 and 30 as different value in a node as entered by me.
ThanksHi
i am your scernario as follows
Context
TN_node (value node of cardinality 0:N)
val1 (value attribute under value node)
val2 (value attribute under value node)
i have binded Tn_node to table and val1 is textview and val2 is inputfield
public void wdDoInit()
//@@begin wdDoInit()
for(int i=0;i<5;i++)
IPrivateTestView.ITN_nodeElement ele=wdContext.nodeTN_node().createTN_nodeElement();
wdContext.nodeTN_node().addElement(ele);
ele.setVa1("val"+i);
//@@end
i have a button go in which printing all the values
public void onActionGo(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionGo(ServerEvent)
for(int j=0;j<wdContext.nodeTN_node().size();j++)
//IPrivateTestView.ITN_nodeElement
IPrivateTestView.ITN_nodeElement ele=wdContext.nodeTN_node().getTN_nodeElementAt(j);
wdComponentAPI.getMessageManager().reportSuccess("-----"+ele.getVa1());
wdComponentAPI.getMessageManager().reportSuccess("-----"+ele.getVa2());
Hope this helps,
If your problem is not solved please post your code like this
Thanks and Regards,
Arun -
How to disable the input fields and labels.
Hi,
I have a requirement, when i click on button all the fields and labels in the form will be disable .Hi,
You code wizard, in popup select set radio button and select the attribute and click on Ok, It will generate code automatically. Else find the below code
DATA lo_el_context TYPE REF TO if_wd_context_element.
lo_el_context = wd_context->get_element( ).
CALL METHOD lo_el_context->set_attribute
EXPORTING
name = `DISABLE` " Here disable is the name of attribute which u created in context of type wdy_boolean
value = 'X' .
Hope this helps u.,
Thanks & Regards,
Kiran. -
Dynamic filling of input fields in a table
Hi,
There are input fields in a two tables these are to be filled parallely at run time. the no of entries depend on the entires in internal table.
If internal table has more entries, then a certain entries is filled up; say 9 times the control should be given to a new tables and the remaining entries should be filled in the input fields of other table .
I appreciate help.Hi,
Actually there is two HTML tables, each table has nine rows. if the no of entries in the internal table exceeds nine then the second table should be filled after the first HTML table has filled with all the nine entries.
Both tables contains same input fields. How to fill both tables dynamically. I think now it makes sense. -
Changing color of text in the input field
hi
when i disable the input field , the text written in it has very light color. How can i change the color of the displayed text in the input field.Hi Harsimran,
changing the text color of an input field is not possible. However, you can build a workaround:
1. take an expression box, place it exactly over your input field
2. change its text color and take the value of your input field as value being displayed
3. instead of making your input field disabled, make it hidden and show the expression box instead.
Thus, instead of enabling/disabling your input field, switch between expression box/input field to be displayed. I hope it's clear what I mean. If not, don't hesitate to ask again.
Best regards,
Benni -
Disabling the Qty field for Input for Sub items in Sales Order and Delivery
Hi..
I have a requirement, where by we need to disable the qty field vbap-kwmeng for input for sub items of the BOM.
I am planning to use the user exit USEREXIT_FIELD_MODIFICATION...in the include MV45AFZZ for sales orders.
But i need to disable the input only after the BOM Explosion and item category determination in the sales order.
Can i Use the same exit ?? what additional conditions i need to take into account.
also we need to disable the delivery quantity field also for the sub items of this sales bom.
I see that this User exit is not available in delivery procesing. How to acheive the required functionality in the delivery processing...
your advice is much appreciated in this matter.
Regards
Srinihi,
Route is determined
1.Country of Departure & Departure Zone taken from Shipping Point
2.Country of Destination & receiving Zone from Ship to party
3.Shipping condition from CMR
4.Transportation Group from MMR
5.Weight Group which is optional.
Check the above.
Route is determined in delivery.
ASHA -
Value of the input field changing automatically on click of enter
I was trying to write a simple report that has a single input field with a f4 help for a directory browser attached. the input field can only be filled using the f4 help ( achieved through function module DYNP_VALUES_UPDATE) . The problem is after the input field is populatd if i click on enter or press f8 the text in the input field changes automatically. Please can anyone find the reason for this behaviour and provide a solution .Thanks in advance.report code attached.
Regards,
Kiran A.
REPORT zpgm_md61_error1.
PARAMETERS: p_file TYPE string MODIF ID abc LOWER CASE .
DATA: dyname TYPE programm,
dynumb TYPE sy-dynnr.
DATA: dynpfields TYPE TABLE OF dynpread WITH HEADER LINE.
DATA: lv_folder TYPE string,
sel_folder TYPE string.
AT SELECTION-SCREEN OUTPUT.
PERFORM disable.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL METHOD cl_gui_frontend_services=>directory_browse
EXPORTING
initial_folder = lv_folder
CHANGING
selected_folder = sel_folder
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
dynpfields-fieldname = 'P_FILE'.
MOVE sel_folder TO dynpfields-fieldvalue.
APPEND dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = dyname
dynumb = dynumb
TABLES
dynpfields = dynpfields.
FORM disable.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM. "dISABLEHello Kiran,
This is because you've defined the field as TYPE STRING.
Change the declaration & the problem should be solved:
PARAMETERS: p_file TYPE dynfieldvalue MODIF ID abc LOWER CASE .
BR,
Suhas -
SQL Loader need to insert the input filename into output table
Hi All,
I've a small problem with my SQL Loader query. My sql loader should read a file and write the data into a file. Also this sql loader should read the filename and write it into the same table. Here's my control file code:
LOAD DATA
APPEND
INTO TABLE XXMW_STG_SOH_HEADER_UK
WHEN (1:4) = '7010'
TRAILING NULLCOLS
(WH POSITION(5:6)
,ITEM POSITION(9:26)
,PRODUCT_STATUS POSITION(33:34)
,BALANCE_ON_HAND POSITION(35:43)
,TO_SHIP_QTY POSITION(71:79)
,RUSH_TO_SHIP_QTY POSITION(80:88)
,RESERVED_QTY POSITION(175:183)
,SNAPSHOT_DATE POSITION(134:143) CHAR "TO_DATE(:SNAPSHOT_DATE,'YYYY-MM-DD')"
,SNAPSHOT_TIME POSITION(144:151) CHAR "TO_DATE(:SNAPSHOT_TIME,'HH24:MI:SS')"
,PROCESSED_IND CONSTANT "N"
,PROCESSED_DATETIME SYSDATE
,_FILENAME POSITION(184) CHAR TERMINATED BY WHITESPACE_
My program should read the filename dynamically (means a shell script is calling this .ctl file which is reading multiple input files) and insert into the filename field in xxmw_stg_soh_header_uk table.
Please let me know for any questions/clarifications.
Regards,
DebabrataWhile I think Blu's suggestion to use external tables is better, if you need to use SQL Loader, you could do something like this.
Create a "generic" control file with a placeholder for the filename, something like:
LOAD DATA
APPEND
INTO TABLE XXMW_STG_SOH_HEADER_UK
WHEN (1:4) = '7010'
TRAILING NULLCOLS (
WH POSITION(5:6),
ITEM POSITION(9:26),
PRODUCT_STATUS POSITION(33:34),
BALANCE_ON_HAND POSITION(35:43),
TO_SHIP_QTY POSITION(71:79),
RUSH_TO_SHIP_QTY POSITION(80:88),
RESERVED_QTY POSITION(175:183),
SNAPSHOT_DATE POSITION(134:143) CHAR "TO_DATE(:SNAPSHOT_DATE,'YYYY-MM-DD')",
SNAPSHOT_TIME POSITION(144:151) CHAR "TO_DATE(:SNAPSHOT_TIME,'HH24:MI:SS')",
PROCESSED_IND CONSTANT "N",
PROCESSED_DATETIME SYSDATE,
FILENAME CONSTANT ":FILE"I am assuming that your shell script is looping through a set of file names and loading each one. So make your shell script look something like:
FILES=`ls *.txt`
CTL=generic.CTL
for f in $FILES
do
cat $CTL| sed "s/:FILE/$f/g" > $f.ctl
sqlldr usr/passwd control=$f.ctl data=$f
doneThe line cat $CTL| sed "s/:FILE/$f/g" > $f.ctl will create a "custom" control file for each file and add the filename as a constant at the end.
John -
Copy control for dates and disable the input
Hi All,
I have the following problem: I'm trying to copy dates in a follow-up order from the source order (which works fine by implementing the CRM_COPY_BADY method DATES) and disable the input of the copied dates in the follow-up order (which doesn't work).
In the change-parameter CT_INPUT_FIELDS you can specify the fields which have to be copied and furthermore you can control the modifiability of the field in the follow-up order via the parameter CHANGEABLE (e.g. 'A' means field can not be changed). This technique is the same in all methods of the copy BADI.
Unfortunately it doesn't work for the dates. As I said already, the date is copied but can be changed by the user in the follow-up order.
Anybody an idea?
Thanks and best regards, LutzDear John,
Actually, I have tried with copy requirement 2.However, it works for copying a different customer with the same sales area as original. Yes, I may need to ask developer to solve my solution. But I would like to keep it to be the last choice. I tried to search "How to copy document between inter-company businees"; but the I still not get what my custome's want. Anyways, thank you very much for sharing idea. -
In BSP how to give the input field as mandatory?
Hi friends,
In BSP how to give the input field as mandatory?
In BSP i want to validate the input field (example checking the material no is valid or not)
if this material no doesnot exit means i want to pass error message.What is the code for that.
Moosahi
try this
in LAYOUT
<htmlb:inputField id = "vname" disabled = "False" value = "<%= v_visitor %>"/> <font color="red" size="2"><b><%= page->messages->assert_message( 'vname' ) %></b></font></td>
in DO_HANDLE_EVENT
in oninputprocessing
CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.
DATA: event TYPE REF TO CL_HTMLB_EVENT.
event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
IF event->name = 'button' AND event->event_type = 'click'.
DATA: button_event TYPE REF TO CL_HTMLB_EVENT_BUTTON.
button_event ?= event.
ENDIF.
case event->id.
when 'select'.
if v_visitor = ''.
page->messages->add_message(
condition = 'vname'
message = 'Visitor Name can not be blank'
severity = page->messages->CO_SEVERITY_ERROR ).
ELSE.
here u can write ur when ur field getting filled
endif.
endcase.
endif.
give marks if it is helpful
thanks -
Disabling one input field if i enter text in second inputfield
Hi,
I am new to WebDynpro. My problem is very simple. I have two input fields. When i enter text in one input field i want the second input field to be disabled & Vice versa. The idea is that i want to give the user the option to enter in only 1 input field of his choice. The second input field should automatically get disabled. He can choose any input field of his choice. The second one should get disabled.
EG: Assume that there are two input fields "Item No" & "Material". The user wants do a search using any one of these parameters, but not both. So, when he chooses to do a search based on "Item No", the "Material" input field should be greyed out(disabled). And, vice versa. The user may decide to choose any one of these fields.
Please advise.This is not possible because there is no "onFocus" event on the input field.
But you could use two radio buttons R1, R2 to enable exactly one of the input fields F1, F2 at a time.
In the view designer, set R1.keyToSelect = "1", R2.keyToSelect = "2".
Bind R1.selectedKey and R2.selectedKey to a common context attribute A (type string).
If (at runtime) A contains "1", radio button R1 is selected, if A contains "2", radio button R2 is selected.
To enable input field F1 exactly if R1 is selected:
Create a calculated boolean attribute E1 that returns the boolean value ("1".equals(A)), bind property F1.enabled to E1. Do the same for F2.
Armin -
Making the input fields readonly
hi
iam calling a RFC and it is a Custom and not
a pre-defined
and now i need to show some data of the table
in the pop-up window in the input fields and all this
fields should be readonly . there are about 30
input fields and it difficult to make each and every input
field as readonly , is there any alternative that allows
me too make the all the input fields readonly.Hi, Kishore,
Even I tried the same but not successful. Because your container will not have Readonly propert so only way is to do it is doing for each and every element. for this also two ways are there.
1. directly set the readonly property of each and every element in Layout tab or
2. create a context variable of type boolean and map it to the readonly property of the UI.
Regards,
Srinivas. -
How can we change the input field on a view stop showing zeros
Hello,
To make screen look consistent with other character input field. How can we change the input field on the view stop displaying zeros even though the data type is NUMC and data type should not be change?
Edited by: sap_learner on Mar 25, 2010 5:44 PM
Edited by: sap_learner on Mar 25, 2010 5:49 PM
Edited by: sap_learner on Mar 25, 2010 5:55 PMhello Manas Dua,
Thanks for your help. I am able to resolve my problem.
My code will help the future comers to resolve this kind of issues.
*The code is applied to method WDDOINIT of the default view.
DATA lo_nd_terms_input TYPE REF TO if_wd_context_node.
DATA lo_nd_terms_input_i TYPE REF TO if_wd_context_node_info.
DATA lv_zeros TYPE wdy_attribute_format_prop.
lv_zeros-null_as_blank = 'X'.
lo_nd_terms_input = wd_context->get_child_node( name = wd_this->wdctx_input ).
lo_nd_terms_input_i = lo_nd_terms_input->get_node_info( ).
lo_nd_terms_input_i->set_attribute_format_props(
EXPORTING
name = `ENTER THE ATTRIBUTE NAME`
format_properties = lv_zeros ).
Edited by: sap_learner on Mar 26, 2010 5:02 PM -
Not able to display the values in the input fields of the view
Hi All.
I am facing an unique issue.
My custom element created in my custom node getting a null value
from a Get Vendor Details RFC written in RFC.
The values are getting populated in the custom element but not coming in the
input field of the corresponding view.
Then, I wrote this code
wdContext.nodeCustom.setLeadSelection(1);
and all the output came in the input field.
Now, after a build it is not coming in the input fields of the view.
All my custom nodes are Singleton and values are coming in the custom elements
as I can print them by wdComponentApi.getMessageManager.reportSuccess(""+customnode.getField());
All my nodes are Singleton.
Please give your valuable inputs.
Regards
Kaushik BanerjeeHi
Check the node property
initializeLeadSelection true
if not make it true , I would suggest to make a value node of the same structure as in RFC after execuation of the RFC populate the value manually.Dont bind it directly to the UI element.
BR
Satish Kumar
Maybe you are looking for
-
Attaching a document along with payment advice during F110
Hi All, when i run F110 all payments with payment mode 'T'(telegraphic) are mailed to the respective vendors and all payments with mode 'K'(Credit) are displayed in the spool(SP01). Now the requirement is that the contract of the vendor(contract docu
-
I have ios 5.1.1 and when I check for updates the phone says there are no updates
i have ios 5.1.1 and when I check for updates the phone says there are no updates
-
How do I transfre my itunes music to my new computer?
I need to move my music from my old PC to my new MAC. What is the simplest way to do that? I teach dance and need to take my music everywhere I go.
-
Updating a table through a manually created tabular form does not work.
Hi Friends, I don't know why the "On submit - After computations and validations" process does not update the referenced table. May I miss something. Here is my source : select apex_item.hidden(1,eqp_id) id, apex_item.hidden(2,tcs_tcs_id) tcs, apex_i
-
Selecting the particular cell in the datatable
hi all, sorry for such a stupid question. i have a datatable component. i can get the rowid of the particular row. but how can i identify the particular cell in that row so that i can update its value? is it possible to update the cell's value in jav