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/user action in the web dynpro abap?

    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.
    Thanks

    Hi
    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
    Srini

    hi,
    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.                    "dISABLE

    Hello 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,
    Debabrata

    While 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, Lutz

    Dear 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.
    Moosa

    hi
    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 PM

    hello 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 Banerjee

    Hi
    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