Alv oops (editable cells on the basis of selected rows)

Hi Gurus,
I am creating alv grid by using OOPS. It has multiple rows and five columns. Once it gets populated, I need to select more than one row. After selecting the rows, my requirement is to enable column two only for the selected rows for editing. I have tried all the possible demo programs but they are not fulfilling my requirement.
Sometimes It gives runtime error - Error inserting into a table with unique key and sometimes something else.
Please help asap. It's really urgent.
Thanks in advance.
Ritu

Hi,
  Refer the sample code
https://forums.sdn.sap.com/click.jspa?searchID=12153389&messageID=1593610
Regards
Kiran Sure

Similar Messages

  • HOW CAN I HAVE THE NUMBER OF SELECTED ROWS IN ALV GRID?

    HI.
    HOW CAN I HAVE THE NUMBER OF SELECTED ROWS IN ALV GRID????
    GABRY =)

    You need to use
    data : grid1  type ref to cl_gui_alv_grid.
      call method grid1->get_selected_rows
        importing
          et_index_rows = i_sel_alvrows[].

  • BDC uploading on the basis on first row

    hi experts,
    my requirement is, i have a flat file in excel with csv format, and i have the details of bank details with company name and debit account number and etc., in the first row,
    and from second row all the transactions done in that debit account had followed.
    my requirement is debit account is having hyphens in the number like,
    011-222545-434, i need to remove those hyphens and need to move to single string.
    like 011-222545-434 = 011222545435
    and then based on this, we need to check it out whether this number is available in the database of SAP, if it matches then,
    we need upload all the transactions under this account had to upload into database from the second row.
    so please help me out, how to remove hyphens and how to move to one string and how to validate with the sap system??
    and after this how to upload the data into database from the second row on the basis of first row details??
    it is very urgent, please help me out
    murali.

    Hi Check out this logic. It will work for ur requirement.
    DATA: w_data(20) TYPE c VALUE '011-222545-434'.
    WRITE:/1 'Before replacing', w_data.
    REPLACE ALL OCCURRENCES OF '-' IN w_data WITH space.
    CONDENSE w_data.
    WRITE:/1 'After replacing', w_data.
    If ur variable which hold this number is not character type then pass that value to character variable like above and then use REPLACE statement.
    Thanks,
    Vinod.

  • Need help in ALV grid editable cells

    Hi,
    I have created a ALV Grid program in which i made certain cells as editable cells.Now my question is if suppose i have 2 rows in my output then if i change the 2nd rows some cells, then some calculation has to perform till this it is fine but nw i want to modify the 3rd rows some cells as per the changes in 2nd row.
    How to do it with ALV oops concepts.
    I have refered BCALV_EDIT_02 and BCALV_EDIT_03 these std programs.
    Thanks & Regards
    Madhuri

    Hello Madhuri
    I recommend to do any post-processing of the changed data OUTSIDE your event handler method (HANDLE_DATA_CHANGED).
    Within the event handler method do all required validations and the trigger PAI by calling method CL_GUI_CFW=>SET_NEW_OK_CODE (for an example refer to my sample report ZUS_SDN_TWO_ALV_GRIDS in alv)
    Now at PAI of your screen you can do any kind of post-processing, calculation, etc. within the itab used for the ALV list.
    Regards
      Uwe

  • ALV Grid editing cell cursor position

    Hello !
    i hope i can get the answer to my question here.
    i have an alv-grid with editable cells
    when i click in one cell (it is a textfield) where there is no more written text it marks the hole cell and when i start to write, it overwrites the whole text.
    i would like the cursor to be placed at the end of the field in this case.
    when i click in the cell where there is written text it is ok - it puts the cursor to the clicked position.
    thanks very much for your help
    Helmut

    Hi, i am also facing same probelm.
    after  call method sender->refresh_table_display.
    i am using
    call method sender->set_current_cell_via_id
          exporting
            is_row_id    = l_rowid
            is_column_id = l_colid.
    this will simply select the cell. i am not able to see curser in end or front of the cell.Can anybody please suggest me how to it.
    Thanks
    Sudhakar

  • Display Partner Function on the basis of Selected Partner Function

    We have multiple "Ordering Address" and "Goods Supplier" for a particular vendor. When we use a particular vendor at the time of PO creation, we dont want all the OA and GS to be populated in the "Partner Functions" tab. The OA should be populated based on the Vendor & P Org, and on the basis of OA should be selected, the "GA" related to the OA should be populated.For ex, if each vendor has 5 OA and each OA has 3 GS and the user selects a vendor then all 5 OA should be displayed. When the user selects one  of the OA, all the 3 GS related to that OA should be displayed.
    Is this possible to maintain this scenario?If yes, how can we implement it?
    Thanks
    TM

    Hi,
    You can accomplish the above in below EXIT's
    There are two function modules available to pass partner data to the PO
    EXIT_SAPLEKPA_001 include ZXM06U07
    EXIT_SAPLEKPA_002 include ZXM06U08
    Also further you should write a logic in the BADI ME_PROCESS_PO_CUST
    regards,
    Lalita

  • How to get all the index of "selected rows" in table control?

    Hi Gurus,
    I have a table control, wherein I need to get selected row so that I can get its respective TABIX.
    I know that the event for capturing selected row is in PAI.
    I also ensure that the w/ selColumn name in my screenpainter is exactly the same as my declaration in ABAP.
    TOP INCLUDE
    YPES: BEGIN OF Y_ZQID_CHECK,
            IDNUM           TYPE ZQID_CHECK-IDNUM,
            WERKS           TYPE ZQID_CHECK-WERKS,
            MATNR           TYPE ZQID_CHECK-MATNR,
            LICHA           TYPE ZQID_CHECK-LICHA,
            LIFNR           TYPE ZQID_CHECK-LIFNR,
            ECOA_S          TYPE ZQID_CHECK-ECOA_S,
            ID_STAT         TYPE ZQID_CHECK-ID_STAT,
            ID_DATE         TYPE ZQID_CHECK-ID_DATE,
            FLAG_MAILCOA(1) TYPE C,
            MARK(1)         TYPE C, "Name of w/ SelColumn in ScreenPainter: T_ZQIDCHECK_DISCH-MARK
           END   OF Y_ZQID_CHECK.
    DATA: T_ZQIDCHECK_DISCH TYPE STANDARD TABLE OF Y_ZQID_CHECK WITH HEADER LINE.
    PAI
    PROCESS AFTER INPUT.
    * MODULE USER_COMMAND_9004.
    LOOP AT T_ZQIDCHECK_DISCH.
      MODULE READ_TC_DISCH .
    ENDLOOP.
    module READ_TC_DISCH input.
      DATA: W_LINE_SEL TYPE SY-STEPL,
                  W_TABIX    LIKE SY-TABIX.
      GET CURSOR LINE W_LINE_SEL.
      W_TABIX = TC_ID_ONLY-TOP_LINE + w_LINE_SEL - 1.
      MODIFY T_ZQIDCHECK_DISCH INDEX TC_ID_ONLY-current_line.
    If I am selecting single row, I can properly get the selected index via debug.
    BUG:
    When I'm selecting multiple rows in table control, only the last row is always being read inside the loop of my table control.
    Please see the screenshot.
    [url]http://img268.imageshack.us/img268/5739/tcselectedrows.jpg[url]
    Notice in the debug screenshot, even if it's just in the 1st loop of table control, it automatically gets the 4th table control index, instead of the 2nd one.
    Helpful inputs will be appreciated.
    Thanks.
    Jaime
    Edited by: Jaime Cabanban on Dec 9, 2009 3:16 PM

    Hi,
    Are you sure that you have selected multiple line for tablecontrol in the property window of the tablecontrol.
    Flowlogic.
    LOOP WITH CONTROL TC_01.
         Module Get_Marked.
    ENDLOOP.
    Module Pool
    Module Get_Marked.
    read the data from the internal table where mark  = 'X'.
    this should give you only selected records.
    Endmodule.
    Kindly check the tablecontrol property.
    Regards,
    Ranjith Nambiar

  • Help requested: How to pass the (check box) selected rows data to other scr

    Hi friends, Here is a situation where I have to pick only those records data which i select by checking the check boxes and carry on to next screen where I have to display them and do some processing on such selected rows of data. Can any one suggest me how to code this. Thanks in advance.

    Hi Subbarao,
    One way is to check if the field is selected by checking if the field value = 'X'.
    If it is a table control we will have to loop and find out which all records are selected..it is notable that the check box field will mostly be of single character and contain 'X' if it is checked and space if not checked
    Based on the structure where the check box is held we may have to implement various logic to retrieve whether the field is checked or not....for instance we can move data to another internal table for which the checkbox is checked and can retrieve it from the next screen
    Pls check,revert and reward if helpful
    Regards
    Byju

  • How to print smartform on the basis of selection criteria

    i want to print multiple pages in smartform by using  select-options  bkpf-belnr.
    ex:1500002103 to 1500002106.
    print all the pages lie in between this range.
    Moderator message : Spec dumping is not allowed, search for available information. Thread locked.
    Edited by: Vinod Kumar on Sep 27, 2011 12:21 PM

    Hi,
      Refer the link select option in smartforms and read what i suggested..
    Regards,
    Dhina..

  • Changing values of substitution variables on the basis of selection in Page

    Hi All,
    I am developing a classic planning application using hyperion 11.1.2.1. All of my data forms are based on substitution variables i.e. I define three variables:
    sv_CurrYear = FY12
    sv_CurrYearMinus1 = FY11
    sv_CurrYearMinus2 = FY10
    and i am using these 3 variables in columns section of my data form i.e First Column contains sv_CurrYearMinus2, second column contains sv_CurrYearMinus1 and third column contains sv_CurrYearMinus2.
    Now my understanding is that every year system admin will update the values of these variable and data form updated automatically.
    But my client want to have such a mechanism through which he would be able to see the data of previous years. i.e He want to have Year dimension in Page section, so that he will select his desired year from drop down and as a result form will display the desired year's data. Now if i have only one column(i.e curr year) in my data form then i could easily do that but since i have three different year's so it didn't seems easy to me.
    One idea that originate in my mind is that i add a custom dim by the name of Custom year and its member would be like this CY10, CY11, CY12 ... and so on, then i will place this dimension in Page so that user will select his desired year and when he presses the "Go" button then some sort of script executed which change the values of my Substitution Variables. But i don't know whether its possible or not? if yes, then how or any other alternate idea?

    I dont know if it is possible and make sense in your application, but you could create a new Custom Dimension with the members "Current Year" "Previous Year" etc. All values of the current plan period would be saved to "Current Year" and if you change to next plan period (FY+1) you need to copy the data from FY->"Current Year" to FY+1->"Previous Year" and so on.
    Then you would be able to put the Financial Year Dimension in Page and the Custom Dimension in Columns.
    Disadvantage: your cube data would grow faster.
    Kind regards
    André

  • In the af:table selected row need to display in the next page?

    Hi,
    I am using jdev 11.1.2.3.0.
    I tried one sample application, in that jspx page, I am having the af:table and button in my view activity. In that table select one row and click on the button that time, the navigation page always show the first row. Suppose I select the 5th ro and navigate the page also displaying the first row only. So I don't know how to proceed this? Kindly suggest me.
    Regards,
    Ragu

    Hi Timo,
    I used the selectionListener tag also.
    Anyway Here I posted my jspx page.
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document title="EmployeesView.jspx" id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:panelCollection id="pc1">
    <f:facet name="menus"/>
    <f:facet name="toolbar">
    <af:toolbar id="t2">
    <af:commandButton text="Edit Employee" id="cb1" action="Edit" />
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.EmployeesVO.collectionModel}" var="row" rows="#{bindings.EmployeesVO.rangeSize}"
    emptyText="#{bindings.EmployeesVO.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.EmployeesVO.rangeSize}" rowBandingInterval="0"
    filterModel="#{bindings.EmployeesVOQuery.queryDescriptor}"
    queryListener="#{bindings.EmployeesVOQuery.processQuery}" filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.EmployeesVO.collectionModel.selectedRow}"
    selectionListener="#{bindings.EmployeesVO.collectionModel.makeCurrent}" rowSelection="single"
    id="t1">
    <af:column sortProperty="#{bindings.EmployeesVO.hints.EmployeeId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.EmployeeId.label}" id="c1">
    <af:outputText value="#{row.EmployeeId}" id="ot1">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.EmployeeId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.FirstName.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.FirstName.label}" id="c2">
    <af:outputText value="#{row.FirstName}" id="ot2"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.LastName.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.LastName.label}" id="c3">
    <af:outputText value="#{row.LastName}" id="ot3"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.Email.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.Email.label}" id="c4">
    <af:outputText value="#{row.Email}" id="ot4"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.PhoneNumber.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.PhoneNumber.label}" id="c5">
    <af:outputText value="#{row.PhoneNumber}" id="ot5"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.HireDate.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.HireDate.label}" id="c6">
    <f:facet name="filter">
    <af:inputDate value="#{vs.filterCriteria.HireDate}" id="id1">
    <af:convertDateTime pattern="#{bindings.EmployeesVO.hints.HireDate.format}"/>
    </af:inputDate>
    </f:facet>
    <af:outputText value="#{row.HireDate}" id="ot6">
    <af:convertDateTime pattern="#{bindings.EmployeesVO.hints.HireDate.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.JobId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.JobId.label}" id="c7">
    <af:outputText value="#{row.JobId}" id="ot7"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.Salary.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.Salary.label}" id="c8">
    <af:outputText value="#{row.Salary}" id="ot8"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.CommissionPct.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.CommissionPct.label}" id="c9">
    <af:outputText value="#{row.CommissionPct}" id="ot9"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.ManagerId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.ManagerId.label}" id="c10">
    <af:outputText value="#{row.ManagerId}" id="ot10">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.ManagerId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.DepartmentId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.DepartmentId.label}" id="c11">
    <af:outputText value="#{row.DepartmentId}" id="ot11">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.DepartmentId.format}"/>
    </af:outputText>
    </af:column>
    </af:table>
    </af:panelCollection>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    After click the Edit Employee button it should navigate the another page and which record I choose.

  • How to get the class from selected row in af:table

    I know that you can get individual selcted row values from an af:table using getRow().getAttribute("attName").
    But, can I obtain the class that the table iterator used to populate the table?
    For instance, a table lists the result of an employee search that was bound to a session bean method returning List<Employee>.
    After selecting the employee of interest and clicking a command button I want to access that instance of the Employee class to pass onto the session bean to do some stuff.
    I don't want to hit the database to do it either (via a query on a key value for example) - the search iterator has already retrieved it, I just want to access it and do something with it.
    Possible?
    Thanks.

    Hi,
    if you use ADF try iterator.getCurrentRow().getDataProvider() on the binding container. If you use ADF Faces without then the Row object is the instance of your class
    Frank

  • Edit alv on the basis of filedname

    Hello,
    Well my scenario is that I have alv which is to be edited, which have different field of different table, am using Register_event, for editing the alv, its running fine when only one tables is involved it just select the row and update the table, but my porblem is that i want to update all the fields that is related to different tables,
    emp, employees name, employee department. corresponds to on table called zemployee, as far as one tables is concerned it got update successfully, but how can I update employee Adress details field given in above table, which corresponds to zemp_Adress table, I searched the web to how can I put case statement on fieldname but couldn't find any satisfactory answer,
      when I press saved button I am using this code which supported only one table at a time which zemployee,
    please help me In this regard.
    Form save_data.
    *case wa1_fcat-fieldname.   ///////// -----(I wanted to implement something like this but coulnot scuessful)
    *  when 'EMP_DEPT'.
    CALL METHOD o_grid->get_selected_rows
         IMPORTING  et_index_rows = i_selected_rows.
    * Through the index capturing the values of selected rows
       LOOP AT i_selected_rows INTO w_selected_rows.
         READ TABLE emp_itb INTO I_TB INDEX w_selected_rows-index.
         IF sy-subrc EQ 0.
           MOVE-CORRESPONDING I_TB TO w_modified.
           APPEND w_modified TO i_modified.
         ENDIF.
    endloop.
       MODIFY ZEMPLOYEE FROM TABLE i_modified.
    *   MODIFY ZEMP_Adress FROM TABLE i_modified.
    *  endcase.
    ENDFORM.

    Hi Amir,
    I hope that your tables ZEMPLOYEE and ZEMP_ADDRESS are related through EMP_NO. Within the loop that you had provided, you will be able to move the required fields for ZEMP_ADDRESS also. Using your own code for example:
    LOOP AT i_selected_rows INTO w_selected_rows.
         READ TABLE emp_itb INTO I_TB INDEX w_selected_rows-index.
         IF sy-subrc EQ 0.
           MOVE-CORRESPONDING I_TB TO w_modified.
           MOVE-CORRESPONDING I_TB TO w_empad.
           APPEND w_modified TO i_modified.
           APPEND w_empad TO i_empad.
         ENDIF.
    ENDLOOP.
    MODIFY ZEMPLOYEE FROM TABLE i_modified.
    MODIFY ZEMP_Adress FROM TABLE i_empad.
    Hope this will solve your issue.
    Regards,
    Abijith

  • History list in an ALV editable cell

    Hello
    I am trying to have a history list in my ALV editable cells as per described in the ALV Grid SAP documentation but I am unable to do so.  The documentation indicates that u201Cif the cursor is on the first item cell you can use Backspace to call up a history listu201D.
    I created a screen containing regular standard fields in the upper portion of the screen and I added an ALV grid (split into 3 sections) in the low part of the screen.  The ALV contain several editable cells.  The history list works very well for the regular fields on the screen but I cannot get the history list working for any of the editable cells in the ALV.
    I have defined the field catalog for the editable cells as follows (including the AUTO_VALUE field):
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname = 'SERNR'.
      wa_fieldcat-reptext   = text-002.
      wa_fieldcat-edit      = 'X'.
      wa_fieldcat-auto_value = 'X'.
      wa_fieldcat-checkbox  = ' '.
      wa_fieldcat-hotspot   = ' ' .
      wa_fieldcat-dd_outlen = ' '.
      wa_fieldcat-icon      = ' '.
      wa_fieldcat-no_zero   = 'X'.           
      APPEND wa_fieldcat TO it_fieldcat_notif.
    I then generate the 3 splitted ALV as follows:
      zlayout_header-grid_title = 'Repair Order and Delivery'.
      zlayout_header-no_toolbar = 'X'.
      zlayout_header-stylefname = 'CELLTAB'.
      CALL METHOD ob_grid1->set_table_for_first_display
        EXPORTING
          is_variant       =  ls_vari
          i_default        = ' '
          i_save           = 'A'
          is_layout        = zlayout_header
        CHANGING
          it_fieldcatalog  = it_fieldcat_repair
          it_outtab        = t_repair[].
      zlayout_header-grid_title = 'Notification'.
      zlayout_header-no_toolbar = 'X'.
      zlayout_header-stylefname = 'CELLTAB'.
      CALL METHOD ob_grid2->set_table_for_first_display
        EXPORTING
          is_variant       =  ls_vari
          i_default        = ' '
          i_save           = 'A'
          is_layout       = zlayout_header
        CHANGING
          it_fieldcatalog = it_fieldcat_notif
          it_outtab       = t_notif[].
      zlayout_header-grid_title = 'Service Order'.
      zlayout_header-no_toolbar = 'X'.
      zlayout_header-stylefname = 'CELLTAB'.
      CALL METHOD ob_grid3->set_table_for_first_display
        EXPORTING
          is_variant       =  ls_vari
          i_default        = ' '
          i_save           = 'A'
          is_layout       = zlayout_header
        CHANGING
          it_fieldcatalog = it_fieldcat_service
          it_outtab       = t_service[].
    I searched forums and OSS notes but I could not find any more information (except for the ALV Grid u2013 SAP Documentation) about the history list for editable ALV cells.  Currently, our application utilizes table controls in the lower part of the screen and the history list works well for the cells in the table control.  However, when I replace the table control for an ALV grid, I can no longer use the history list for those cells.
    Any help would be appreciated.

    Looks like the 2006 OSS note 825068 indicates the history list function is not supported for ALV grid.

  • How to make some fields in ALV tree editable

    Hello All,
    Can any one tell me how to make some fields in ALV tree editable.
    If possible please post some code.
    Regards,
    Lisa.

    Hi Lisa,
    I want to make 3 fields in the ALV tree editable and update the saved values in ztable.
    I tried making the wa_fieldcat-edit = 'X' But in vain.
    Also i made the layout fields  wa_layout-edit = 'X'  and wa_layout-edit_mode = 'X'.
    But still the alv tree field appears as display.
    As you have mentioned in the post as answered, So please guide me to make the field editable.
    I am using oops method.
    Please provide me code if any.
    Thanks & Regards,
    Mozila

Maybe you are looking for

  • COST CENTER AND PC BALANCES

    Hi all In which table balances(total) of the cost center and profit center's stored? Regards Hari

  • How to get the Broadband Tuner to install and work.

    How do I install Broadband Tuner and make it work?

  • What is a good recovery program

    Hi I am looking for a good recovery program, someone has mentioned  Disk Drill, can anyone recommend this, or are there better options.I've mistakenly deleted an image folder and hopefully I shall be able to recover it, as the images are quite import

  • Setting the default port

    Can I change Coldfusions default port form 80 to 110 and if so how? I have CF running on a windows server 2008 RT machine.

  • Jumpy video when exporting (sharing) to Quicktime

    Hi all, I'm doing a simple internet commercial for a conference in Chicago. I am having a new problem with imovie. When I try to make the video into a quicktime movie the transitions and frames are jumpy. Here's a clip http://timandalison.com/Transvi