Disable specific Row in Matrix

Hello ,
I have created a matrix with two columns :-  Item Code & Qty .If the Qty field is entered then it cannot be changed but i am not able to restrict changing that specific row .Is it possible to disable a single row in matrix .Just like the SAP Forms where once the transaction for specific row is done then it become disable and the remaining rows still become editable..
Thanks & Regards,
Amit

Hi Amit,
We can't disable row wise in a matrix.  SAP handles that functionality in its default forms, but doesn't exposes the same for UDF's.  We can only disable columns in a matrix.
I can perhaps suggest you a work around for your functionality.  If the particular row satisfies the conditions for it to be disabled, then, once the user places the focus in the particular cell, then, you can check for the condition in Got_Focus event.  If the disabled condition is satisfied, then, you can push the focus to the last line, and give a message telling that the cell cannot be edited.
Hope this helps.
Regards,
Satish.

Similar Messages

  • Specific Row disabling in a matrix

    Is there away to disable only specific row in a matrix depending on a value? If so If you could provide a sample in VB or VB.net I would greatly appreciate it.
    Thank You
    Stephen Sjostrom

    Sorry ,Stephen Sjostrom
    There is no method to disable a  row or cell in a matrix.

  • How to disable some rows in a matrix

    Hi experts
    I have a matrix
    i want to do set line/rows disable and can't edit in rows
    please post example code
    thank you

    As far as I know there is no direct way to do this - you can only set columns editable or non-editable.
    A workaround could be:
    catch the "got_focus" event on the beforeaction=true; check if it is your matrix (pVal.ItemUID) and if it is your row that you want disabled (pVal.row) - if it is, set bubbleevent = false to stop it (and maybe display a status bar message to users so they don't think its a bug)
    Additionally for a visual clue, maybe put some sort of field at the start of the row that says "open" or "closed" or something, this way the user wont be confused when they cant enter the row.
    If got focus doesn't work properly (I havent tested) maybe try some other event like click or keypressed.

  • Disable particular row in a grid

    I displayed the table in a grid, and I want to disable the row if the field "Status" is equal to 1, how to do it?
    Ken

    Hi
    You can do it using workaround ....:)
    In ItemEvent handler add your check for KEY_DOWN event...
    Public Sub ManageItemEvent( _
          ByVal FormUID As String, _
          ByRef pVal As SAPbouiCOM.ItemEvent, _
          ByRef BubbleEvent As Boolean _
      Dim oForm As SAPbouiCOM.Form
      Try
          oForm = SBO_Application.Forms.Item(FormUID)
      Catch ex As Exception
          oForm = Nothing
      End Try
      If Not oForm Is Nothing Then
        Select Case oForm.TypeEx
          Case "YOUR_FORM_TYPEEX"
         Select Case pVal.EventType
           Case SAPbouiCOM.BoEventTypes.et_KEY_DOWN
             If pVal.BeforeAction Then
              Select Case pVal.ItemUID
                  Case "mtx00" ' PLACE HERE MATRIX ITEM UID
                   If pVal.ColUID.Equals("COLUMN_1_UID") _
                   Or pVal.ColUID.Equals("COLUMN_2_UID") _
                   Or pVal.ColUID.Equals("COLUMN_3_UID") _
                   ... all matrix columns uids what user can modify if your condition is True
                   Then
                       BubbleEvent = Matrix_CheckIfTheUserCanModifyThisRow( _
                             oForm, _
                             pVal.InnerEvent, _
                             pVal.ColUID, _
                             pVal.Row, _
                             pVal.CharPressed)
                   End If
              End Select
             End If
    End Sub
    Private Function Matrix_CheckIfTheUserCanModifyThisRow( _
        ByRef oForm As SAPbouiCOM.Form, _
        ByVal bInnerEvent As Boolean, _
        ByVal sColumnUID As String, _
        ByVal iRow As Integer, _
        ByVal iCharPressed As Integer, _
        ByVal sUserTable As String _
    ) As Boolean
        Dim b As Boolean = True
        Dim oMatrix As SAPbouiCOM.Matrix
        Dim oCheckBox As SAPbouiCOM.CheckBox
        Dim sCode As String = ""
        Try
         If Not iCharPressed = 9 Then
             oMatrix = oForm.Items.Item("mtx00").Specific
             If oMatrix Is Nothing Then Throw New Exception("ERROR!")
             oCheckBox = oMatrix.Columns.Item("e1Code").Cells.Item(iRow).Specific
             '... check if value true/false...
             b = oCheckBox.Checked
         End If
        Catch ex As Exception
          b = False
        Finally
          oEdit = Nothing
          oMatrix = Nothing
        End Try
        Return b
    End Function
    Regards
    Sierdna S.
    Edited by: Sierdna S on Oct 9, 2008 2:58 PM

  • Specific Row

    Hi There
    I have a page with spry data. On one side is the list
    “spry:region” and next to it is detailed area
    ”spry:detailregion”. When I click the row the detailed
    area gets updated with the specific information of that row.
    At the moment the detail area gets filled up with the first
    row on load. I have another page that I add data to this table.
    When coming to this page after adding data to the table, I like the
    detail area to be filled with the new row that I have added instead
    of the default first row. Or the row in the list table on left to
    be highlighted. Also the list is paginated if it makes a difference
    “Data Retrieve”
    <script language="JavaScript" type="text/javascript">
    var Clients_SpryDataSet = new
    Spry.Data.XMLDataSet("Clients_XML.php", "ClientsRecords/Client", {
    useCache: false });
    var Clients_SpryDataSetPage = new Spry.Data.PagedView(
    Clients_SpryDataSet ,{ pageSize:14});
    </script>
    “spry:region”
    <td width="120" height="25"
    class="ListingTableQueryRow_RBL_Lft_S1"
    spry:setrow="Clients_SpryDataSetPage" spry:select="selected">
    ”spry:detailregion”
    <div id="ClientDetails" class="DetailAreaContainerRow_S1"
    spry:detailregion="Clients_SpryDataSet">
    Please if anyone could help. I looked at many examples and
    forums, but I could not adapt it to my page.
    Thanks

    Sorry ,Stephen Sjostrom
    There is no method to disable a  row or cell in a matrix.

  • Delete Last Row in Matrix on SBO 2005

    Hi,
    Im using SAPB1 2005 SP1 with B1DE.
    I've seen a post that indicates that the following code should delete a row from a matrix (even the last row) when using SBO 2005
    I still find that all rows except last row of matrix are removed from the database.
    <b>How do I delete the last row from the Del button event handler????</b>
    I'm using
    <i>        [B1Listener(BoEventTypes.et_CLICK, false)]
            public virtual void OnAfterClick(ItemEvent pVal)
                bool ActionSuccess = pVal.ActionSuccess;
                Form form = B1Connections.theAppl.Forms.Item(pVal.FormUID);
                Item item = form.Items.Item("del");
                Button button = ((Button)(item.Specific));
                // ADD YOUR ACTION CODE HERE ...
                int row;
                Matrix oMtx = (Matrix)form.Items.Item("mtx_0").Specific;
                DBDataSource oDBDS = (DBDataSource)form.DataSources.DBDataSources.Item("@SD_POOLCONTRCT_LINE");
                row = oMtx.GetNextSelectedRow(0, BoOrderType.ot_SelectionOrder);
                oMtx.DeleteRow(row);
                if (oMtx.RowCount == 0)
                    oDBDS.RemoveRecord(0);
                if ((form.Mode != BoFormMode.fm_ADD_MODE) | (form.Mode != BoFormMode.fm_UPDATE_MODE))
                    form.Mode = BoFormMode.fm_UPDATE_MODE;
                }</i>

    Hi Ben,
    [B1Listener(BoEventTypes.et_CLICK, false)]
    public virtual void OnAfterClick(ItemEvent pVal)
    bool ActionSuccess = pVal.ActionSuccess;
    Form form = B1Connections.theAppl.Forms.Item(pVal.FormUID);
    Item item = form.Items.Item("del");
    Button button = ((Button)(item.Specific));
    // ADD YOUR ACTION CODE HERE ...
    int row;
    Matrix oMtx = (Matrix)form.Items.Item("mtx_0").Specific;
    DBDataSource oDBDS = (DBDataSource)form.DataSources.DBDataSources.Item("@SD_POOLCONTRCT_LINE");
    Rest of your code will remain same.
    I am making the modification here. I am using the RowCount property that gives me the address of the last row of the matrix.
    <b>row = oMtx.RowCount;</b>
    Every time this will return you the last row and that row will be deleted.
    <b>row = oMtx.RowCount;</b>
    oMtx.DeleteRow(row);
    if (oMtx.RowCount == 0)
    oDBDS.RemoveRecord(0);
    if ((form.Mode != BoFormMode.fm_ADD_MODE) | (form.Mode != BoFormMode.fm_UPDATE_MODE))
    form.Mode = BoFormMode.fm_UPDATE_MODE;
    Regards,
    Prashant

  • Adding a row in Matrix

    Hi,
    I have a Form having matrix, and it is bind with 2 UDT Tables. One of 'Master Type' and Other is 'Master Data Lines'.
    All the operation 'ADD,UPDATE,FIND,DELETE, ADD ROW' and the operation for Navigation Buttons are working fine.
    But when I navigate to any previous record,following problem arises :
    1. When i add row to matrix it copies data from the previous row.
    2. Now after 1st operation i change the newly added row , due to this form goes in Update mode.It is also fine.But when i press the Update Button i get the message records updated successfully, but the problem is newly added row in the matrix does not inserted in DataBase
    I need the solution for both problems.
    Thanks in advance.

    Here some sample I used to test it:
    Case SAPbouiCOM.BoEventTypes.et_KEY_DOWN
                            Dim l_Mat As SAPbouiCOM.Matrix
                            l_Mat = oForm.Items.Item("Matrix2").Specific
                            If pVal.CharPressed = 13 And (pVal.Row = l_Mat.RowCount) Then
                                Dim _UDSS As SAPbouiCOM.UserDataSources
                                ' Clear the UDS before adding a new line
                                _UDSS = oForm.DataSources.UserDataSources
                                UDSS.Item("UDSCode").ValueEx = ""
                                UDSS.Item("UDSName").ValueEx = ""
                                UDSS.Item("UDSPhone").ValueEx = ""
                                l_Mat.AddRow()
                            End If
    If you are using DBDatasources is easier (1st post)
    Regards,
    Felipe

  • Add row invoice matrix

    Dear all
    I owe add row in matrix woth different information.
    How ican do?
    Sorry for my english
    Thank's

    First, in sap business one open the 'Fattura in uscita' form, then in menu 'View' set 'Informazioni di debug'.
    Here you can see the column number corresponding to the fields you want to add in the row.
    In your code use this information to insert records in the grid. Here's an example in VB6.
    For i = 1 to 10
    'Codice
    Set c = m.Columns("1").Cells(i).Specific
    c.Value = "Cod" & i
    'Quantità
    Set c = m.Columns("11").Cells(i).Specific
    c.String = "10"
    Next i
    (c is a EditBox, m is the Fattura detail matrix)
    Hope this helps
    Ciao

  • Remove specif rows in a CSV with Powershell

    Hi All,
    I have the following script which tells me if an account is in AD, disabled or not present:-
    $users = Import-Csv c:\migration\batches\AWTESTFILES\awtestfiles.csv
    foreach($u in $users){
    $Name = $u.name
    $User = Get-ADUser -LDAPFilter "(sAMAccountName=$Name)"
    If (($User  -ne $Null) -and ($user.enabled-eq $False)){
    #  $outfile = (Join-Path $destination $errfilename)
      Write-Host "$name is Disabled" -fore red
    if ($User -eq $null){
     Write-Host "$Name is not in Active Directory" -ForegroundColor Yellow
    #  $Name =  "$($u.name) is not in Active Directory "
    #    Add-Content $outfile -Value $Name
    If (($User -ne $null) -and ($User.enabled -eq $true)){
     Write-Host "$name is in Active Directory and Enabled" -fore green
    If the account is disabled or not present I wan to remove the entry from the csv file so that they are not migrated.
    What is the easiest way to do this?
    I know how to call up excel and manipulate some data but I'm not sure how to delete a specific row base on the name
    TIA
    Andy

    Hi Andy,
    I'd test the users in your input file and then create a new output file that only contains the enabled users. Are you able to use a second file or do you have to update the original?
    Don't retire TechNet! -
    (Don't give up yet - 12,830+ strong and growing)

  • How to select specific rows in rtf template for complex calculation

    Hi,
    I want custom calculation in my rtf template and for this i need to select specific cell's value OR specific row's value. Any one please suggest how can I get this. Below is the example i have plotted using excel. My target is to get field 8 and 9 using sum and minus. We can calculate column over column, is there any way to calculate row over row? If I use variables, then i have to create so many variables because I have more columns and rows to calculate (here i posted one sample table). Any one please help me how can I get expected result other than using variables! If "Using variables" is the only way then also give your valuable opinions.
    Row No
    Curr Qtr
    PQtr1
    PQtr2
    3
    B3
    C3
    D3
    4
    B4
    C4
    D4
    5
    B5
    C5
    D5
    6
    B6
    C6
    D6
    7
    B7
    C7
    D7
    8
    B8=SUM(B4:B7)
    C8=SUM(C4:C7)
    D8=SUM(D4:D7)
    9
    B9=B8-B5
    C9=C8-C5
    D9=D8-D5
    Thanks.

    Hi AlexAnd,
    Thanks for the reply, I got 0 using both codes. This is a dummy table and I plotted 3,4 to give an idea of row number (as like as excel). Rows are individual data sets combining different measures and dimensions with different values.
    Account
    Curr_Qtr
    PQtr1
    PQtr2
    Deposit
    10
    15
    20
    Loan
    15
    20
    25
    Earning
    20
    25
    30
    Assets
    25
    30
    35
    Total
    =SUM(15,20)
    =SUM(20,25)
    =SUM(25,30)
    Expense
    =SUM(15,20)-25
    =SUM(20,25-30
    =SUM(15,20)-25
    Is there any way to identify the range or individual cell's value? Using variables I have to create lots of variables for each cells, I want to avoid that and want to use rows in calculation! Is that possible, Pls share your valuable opinions!
    Thanks.

  • Custom row-fetch and how to get column values from specific row of report

    Hi -- I have a case where a table's primary key has more than 3 columns. My report on the
    table has links that send the user to a single-row DML form, but of course the automatic
    fetch won't work because 1) I can't set more than 3 item values in the link and 2) the
    auto fetch only handles 2 PK columns.
    1)
    I have written a custom fetch (not sure it's the most elegant, see second question) that is working
    for 3 or few PK columns (it references the 1-3 item values set in the link), but when there are
    more than 3, I don't know how to get the remaining PK column values for the specific row that was
    selected in the report. How can I access that row's report column values? I'll be doing it from the
    form page, not the report page. (I think... unless you have another suggestion.)
    2)
    My custom fetch... I just worked something out on my own, having no idea how this is typically
    done. For each dependent item (database column) in the form, I have a source of PL/SQL
    function that queries the table for the column in question, using the primary key values. It works
    beautifully, though is just a touch slow on my prototype table, which has 21 columns. Is there
    a way to manually construct the fetch statement once for the whole form, and have APEX be smart
    about what items get what
    return values, so that I don't have to write PL/SQL for every item? Because my query data sources
    are sometimes in remote databases, I have to write manual fetch and dml anyway. Just would like
    to streamline the process.
    Thanks,
    Carol

    HI Andy -- Well, I'd love it if this worked, but I'm unsure how to implement it.
    It seems I can't put this process in the results page (the page w/ the link, that has multiple report rows), because the link for the row will completely bypass any after-submit processes, won't it? I've tried this in other conditions; I thought the link went directly to the linked-to page.
    And, from the test of your suggestion that I've tried, it's not working in the form that allows a single row edit. I tried putting this manually-created fetch into a before header process, and it seems to do nothing (even with a hard-coded PK value, just to test it out). In addition, I'm not sure how, from this page, the process could identify the correct PK values from the report page, unless it can know something about the row that was selected by clicking on the link. It could work if all the PK columns in my edit form could be set by the report link, but sometimes I have up to 5 pk columns.
    Maybe part of the problem is something to do with the source type I have for each of the form items. With my first manual fetch process, they were all pl/sql functions. Not sure what would be appropriate if I can somehow do this with a single (page level?) process.
    Maybe I'm making this too hard?
    Thanks,
    Carol

  • How to colour specific rows within an WebDynpro ALV

    Hi everyone,
    I need to colour only specific rows of an ALV. I've already scoured sdn and implemented the solutions that I found but none of them seems to be working okay.
    I have an ALV table and I want to highlight only a few rows based on a certain logic.
    I've defined a context node that defines 2 attributes: textview_design and cell_design.
      LOOP AT ft_out_purchase_order_temp INTO ls_out_purchase_order_temp.
      if ....
        ls_out_purchase_order_temp-textview_design =  cl_wd_text_view=>e_design-standard.
        ls_out_purchase_order_temp-cell_design = cl_wd_table_column=>e_cell_design-standard.
      else.
          ls_out_purchase_order_temp-cell_design =  cl_wd_table_column=>e_cell_design-total.
          ls_out_purchase_order_temp-textview_design =  cl_wd_text_view=>e_design-emphasized.
      endif.
    ENDLOOP.
      lr_column_settings ?= po_alv_config_table.
      lr_column = lr_column_settings->get_column( 'EBELN' ).
      lr_column = po_alv_config_table->if_salv_wd_column_settings~get_column( 'EBELN' ).
      lr_column->set_cell_design_fieldname( value = 'CELL_DESIGN' ).
    This code works but the thing is that the whole column named 'EBELN' is coloured light green. This is strange because I've instructed the system that the design of the column EBELN is controlled by the field CELL_DESIGN and this field has the following values:
    10    (light green)
    33    (light blue)
    10
    10
    10
    33
    10
    33
    Any ideas?

    Hii,
       To color a particular row you need to follow two things.
    1. Specify condition based on which the row will be colored i.e. set the value for the attribute 'CELL_DESIGN'.
    2. Get all column references and  set the cell design field name with 'CELL_DESIGN'.
    Get all column reference.
    DATA : LT_COLUMNS TYPE SALV_WD_T_COLUMN_REF,
                 LS_COLUMNS TYPE SALV_WD_S_COLUMN_REF.
      LT_COLUMNS = LR_COLUMN_SETTINGS-&gt;GET_COLUMNS( ).
    configure column
      LR_COLUMN_SETTINGS ?= LV_VALUE.                              " column functions
      LT_COLUMNS = LR_COLUMN_SETTINGS-&gt;GET_COLUMNS( ).
    set cell design for all.
    In your case if a single column is getting colored the then the reason might be
    1.every record satisfying your if condition specified.
    2.you have set cell design in that particular field name.
    Regards,
    Monishankar C

  • Coloring of a (specific) row in ALV report-How?

    Hi Experts,
    Am looking to assign a color for a (specific)row in ALV report.......so, pls. let me know How to get it done?
    thanq

    TABLES:LFA1.
    SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.
    DATA:BEGIN OF ITAB OCCURS 0,
    LIFNR LIKE LFA1-LIFNR,
    NAME1 LIKE LFA1-NAME1,
    LAND1 LIKE LFA1-LAND1,
    ORT01 LIKE LFA1-ORT01,
    REGIO LIKE LFA1-REGIO,
    SORTL LIKE LFA1-SORTL,
    CFIELD(4) TYPE C,
    END OF ITAB.
    data:col(4).
    data:num value '1'.
    SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR
    IN LIFNR.
    LOOP AT ITAB.
    concatenate 'C' num '10' into col .
    ITAB-CFIELD = col.
    num = num + 1.
    if num = '8'.
    num = '1'.
    endif.
    MODIFY ITAB.
    ENDLOOP.
    TYPE-POOLS:SLIS.
    DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.
    DATA:EVE TYPE SLIS_T_EVENT WITH HEADER LINE.
    LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    LAYOUT-WINDOW_TITLEBAR = 'VENDORS DETAILS SCREEN'.
    LAYOUT-EDIT = 'X'.
    LAYOUT-info_fieldname = 'CFIELD'.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    I_PROGRAM_NAME = SY-REPID
    I_INTERNAL_TABNAME = 'ITAB'
    I_INCLNAME = SY-REPID
    CHANGING
    CT_FIELDCAT = FCAT.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT = LAYOUT
    IT_FIELDCAT = FCAT
    TABLES
    T_OUTTAB = ITAB.
    this is for coloring cols
    REPORT ZBHCOLOR_COLS.
    TABLES:LFA1.
    SELECT-OPTIONS:C_LIFNR FOR LFA1-LIFNR. " FOR GRID ONLY
    PARAMETERS:LIST RADIOBUTTON GROUP ALV DEFAULT 'X',
    GRID RADIOBUTTON GROUP ALV.
    DATA:BEGIN OF ITAB OCCURS 0,
    LIFNR LIKE LFA1-LIFNR,
    NAME1 LIKE LFA1-NAME1,
    LAND1 LIKE LFA1-LAND1,
    ORT01 LIKE LFA1-ORT01,
    SORTL LIKE LFA1-SORTL,
    REGIO LIKE LFA1-REGIO,
    COL TYPE LVC_T_SCOL,
    END OF ITAB.
    DATA:COLR TYPE LVC_S_SCOL.
    SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB.
    LOOP AT ITAB.
    IF ITAB-LIFNR IN C_LIFNR.
    COLR-FNAME = 'NAME1'.
    COLR-COLOR-COL = '5'.
    COLR-COLOR-INT = '1'.
    COLR-COLOR-INV = '0'.
    COLR-NOKEYCOL = 'X'.
    APPEND COLR TO ITAB-COL.
    COLR-FNAME = 'LIFNR'.
    APPEND COLR TO ITAB-COL.
    MODIFY ITAB.
    ENDIF.
    ENDLOOP.
    TYPE-POOLS:SLIS.
    DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.
    LAYOUT-ZEBRA = 'X'.
    layout-coltab_fieldname = 'COL'.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    I_PROGRAM_NAME = SY-REPID
    I_INTERNAL_TABNAME = 'ITAB'
    I_INCLNAME = SY-REPID
    CHANGING
    CT_FIELDCAT = FCAT.
    IF LIST = 'X'.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT = LAYOUT
    IT_FIELDCAT = FCAT
    TABLES
    T_OUTTAB = ITAB.
    ELSEIF GRID = 'X'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT = LAYOUT
    IT_FIELDCAT = FCAT
    TABLES
    T_OUTTAB = ITAB.
    ENDIF.
    Reward points if useful.

  • Display specific row to display multiple time in jsf table 11.1.1.2.0 with

    HI ALL,
    I'm using jdeveloper 11.1.1.2.0 with ADF 11g.
    I have to display the values in jsf frm table where i'm using DislayCertDetailVO . In dis VO i'm having a column no.of certificaties .taking dis column value when i navigate to other page jsf by selecting a specific row. here i have to display the selected row in multiple times based on the no.of.certificates column value.
    I want to display specific row to display multiple time to repeat same row in a table in jsf based on the value from bean or table in database.
    Edited by: user9010551 on Apr 28, 2010 6:14 AM
    Edited by: user9010551 on Apr 28, 2010 10:33 PM

    Hi, Trying it once more to give more clarity of my scenario.
    I have to navigate from 1 screen to the other by picking a given table record/row from the 1st screen. While displaying the record on the 2nd screen the catch is that, I have to display it as many times as the value in a cell of the selected record.
    eg.
    screen 1
    col1   col2     col3
    2 order1 item1
    [next]
    On clicking next it should look like
    screen2
    col1           col2            col3           col4
    order1 item1
    order1 item1
    where col3 and col4 will be editable by the user and col1 is the value depends how many times i have repeat the row/record
    Hope this give more clarity.

  • How to set a MessageTextInput to be Read Only for a specific row?

    Hi,
    In Benefits Self Service, particularly the Update Beneficiaries page, it lists all your eligible Beneficiaries including yourself. The table has the following columns displayed for each beneficiary: Beneficiary, Relationship, Social Security Number, Primary %, Contingent %, Clear. This is the page where you allocate the Primary % and the Contingent %. The Primary % and Contingent % are MessageText Input.
    We have a requirement that we wouldn't want an employee to designate himself/herself as a beneficiary. However, the employee is being listed as a beneficiary along with all the other eligible beneficiaries. Oracle says it is an intended functionality to include the employee in the beneficiary. Is there a way thru Controller Object extension to set the Primary % and Contingent % as Read Only but only for the row corresponding to the employee to prevent the employee from accidentally allocating himself/herself as a beneficiary.
    I know there is the SPEL functionality but this requires me to add a transient attribute to the View Object corresponding to that table. But everytime I make a change to the View Object either by adding a transient attribute or some other changes, I end up getting an error on the standard Relation attribute of that view object. The error is something like "Relation set attribute failed for View Object". I cannot get pass this error and I'm not sure what's causing this. I see other people in this forum have encountered the same problem when extending view objects but no specific solution was offered nor any clear explanation of the cause.
    So I thought if there's any way this could be done thru Controller Object extension. If so, please let me know how. The challenge for me I think is finding the bean corresponding to those Message Text Input but only for a specific row in the table.
    Thanks,
    Ronaldo

    Hi,
    I also tried extending the View Object but without changing anything to the SQL so it is exactly the same as the standard view object but I still get the "Attribute set for Relation in view object BeneficiaryPeopleVO1 failed". Based from this, extending the view object whether any change has been made or not affects the standard transient Relation attribute.
    Here is the standard XML definition of the View Object if anyone is curious
    <ViewObject
    Name="BeneficiaryPeopleVO"
    BindingStyle="Oracle"
    CustomQuery="true"
    RowClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVORowImpl"
    ComponentClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVOImpl"
    MsgBundleClass="oracle.jbo.common.JboResourceBundle"
    FetchMode="FETCH_AS_NEEDED"
    FetchSize="10"
    UseGlueCode="false" >
    <SQLQuery><![CDATA[
    SELECT pcr.person_id person_id,
    pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
    con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
    con.national_identifier Ssn,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
    con.person_id bnf_person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pbn.pl_bnf_id pl_bnf_id,
    pbn.object_version_number object_version_number,
    pbn.effective_start_date,
    pcr.contact_type contact_type,
    con.full_name beneficiary_full_name,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
    DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
    pen.pl_id pl_id,
    pen.oipl_id oipl_id,
    nvl((select 'Y' from dual where (to_date(:1 , 'rrrr/mm/dd') between
              nvl(pcr.date_start,to_date(:2 , 'rrrr/mm/dd')) and
              nvl(pcr.date_end,to_date(:3 , 'rrrr/mm/dd'))) and
              (pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))), 'N') rel_exists_flag
    FROM per_people_f con,
    per_contact_relationships pcr,
    ben_pl_bnf_f pbn,
    ben_prtt_enrt_rslt_f pen,
         ben_per_in_ler pil
    WHERE pcr.personal_flag = 'Y'
    AND (pbn.pl_bnf_id is not null or
    (to_date(:4 ,'rrrr/mm/dd') between
    nvl(pcr.date_start,to_date(:5 ,'rrrr/mm/dd'))
    AND nvl(pcr.date_end,to_date(:6 ,'rrrr/mm/dd'))
              and pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt)))     --Bug 4297137  
    AND pcr.contact_person_id = con.person_id
    and pen.person_id = pcr.person_id
    AND pbn.bnf_person_id (+) = con.person_id
    AND to_date(:7 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
    AND pbn.effective_end_date (+)
    AND pcr.person_id = :8
    and pen.prtt_enrt_rslt_id = :9
    and to_date(:10 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
    and to_date(:11 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
    and pil.per_in_ler_id = pen.per_in_ler_id
    and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
    and pbn.prtt_enrt_rslt_id (+) = :12
    and ((to_date(:13 ,'rrrr/mm/dd') between
    nvl(pcr.date_start,to_date(:14 ,'rrrr/mm/dd')) and
    nvl(pcr.date_end,to_date(:15 ,'rrrr/mm/dd'))) or
    ((pcr.date_start = (select max(pcr2.date_start)
    from per_contact_relationships pcr2
    where pcr2.contact_person_id = pcr.contact_person_id
    and pcr2.person_id = pcr.person_id
    and pcr2.personal_flag = 'Y')) and
    not exists (select null
    from per_contact_relationships pcr3
    where pcr3.contact_person_id = pcr.contact_person_id
    and pcr3.person_id = pcr.person_id
    and pcr3.personal_flag = 'Y'
    and to_date(:16 ,'rrrr/mm/dd') between
    nvl(pcr3.date_start,to_date(:17 ,'rrrr/mm/dd'))
    and nvl(pcr3.date_end,to_date(:18 ,'rrrr/mm/dd')))
    and (pbn.pl_bnf_id is null or
    exists (select null from ben_per_in_ler pil2
    where pil2.per_in_ler_id = pbn.per_in_ler_id
    and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
    GROUP BY pcr.person_id,
    pen.prtt_enrt_rslt_id,
    con.last_name,con.first_name,con.suffix,
    con.full_name,
    con.national_identifier,
    pcr.contact_type,
    con.date_of_birth,
    con.person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pl_bnf_id,
    pbn.object_version_number,
    pbn.effective_start_date,
    pen.pl_id,
    pen.oipl_id,
              pcr.date_start,
              pcr.date_end,
              pil.lf_evt_ocrd_dt,
              con.date_of_death
    union
    SELECT to_number(null) person_id,
    pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
    con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
    con.national_identifier Ssn,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
    con.person_id bnf_person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pbn.pl_bnf_id pl_bnf_id,
    pbn.object_version_number object_version_number,
    pbn.effective_start_date,
    'SLF' contact_type,
    con.full_name beneficiary_full_name,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
    DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
    pen.pl_id pl_id,
    pen.oipl_id oipl_id,
    'Y' rel_exists_flag
    FROM per_people_f con,
    ben_pl_bnf_f pbn,
    ben_prtt_enrt_rslt_f pen,
         ben_per_in_ler pil
    WHERE
    pbn.bnf_person_id (+) = con.person_id
    AND to_date(:19 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
    AND pbn.effective_end_date (+)
    AND con.person_id = :20
    and con.person_id = pen.person_id
    and pen.prtt_enrt_rslt_id = :21
    and to_date(:22 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
    and to_date(:23 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
    and pil.per_in_ler_id = pen.per_in_ler_id
    and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
    and (pbn.pl_bnf_id is not null or pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))     --Bug 4297137
    and pbn.prtt_enrt_rslt_id (+) = :24
    and (pbn.pl_bnf_id is null or
    exists (select null from ben_per_in_ler pil2
    where pil2.per_in_ler_id = pbn.per_in_ler_id
    and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
    GROUP BY pen.prtt_enrt_rslt_id,
    con.last_name,con.first_name,con.suffix,
    con.full_name,
    con.national_identifier,
    con.date_of_birth,
    con.person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pl_bnf_id,
    pbn.object_version_number,
    pbn.effective_start_date,
    pen.pl_id,
    pen.oipl_id
    ORDER BY 3,14
    ]]></SQLQuery>
    <DesignTime>
    <Attr Name="_isCodegen" Value="true" />
    <Attr Name="_version" Value="9.0.3.13.75" />
    <Attr Name="_CodeGenFlagNew" Value="36" />
    <Attr Name="_rowSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewRowImpl" />
    <Attr Name="_objectSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewObjectImpl" />
    </DesignTime>
    <ViewAttribute
    Name="PersonId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PERSON_ID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="PrttEnrtRsltId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PRTT_ENRT_RSLT_ID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="Beneficiary"
    IsQueriable="false"
    IsPersistent="false"
    Precision="332"
    Type="java.lang.String"
    AliasName="BENEFICIARY"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="Ssn"
    IsQueriable="false"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    AliasName="SSN"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="PrimaryPct"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Type="oracle.jbo.domain.Number"
    AliasName="PRIMARYPCT"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="ContingentPct"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="CONTINGENTPCT"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="BnfPersonId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="BNFPERSONID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="BusinessGroupId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="BUSINESSGROUPID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="PerInLerId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PERINLERID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="PlBnfId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PL_BNF_ID"
    ColumnType="$none$"
    Expression="PL_BNF_ID"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="ObjectVersionNumber"
    IsQueriable="false"
    IsPersistent="false"
    Precision="9"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="OBJECT_VERSION_NUMBER"
    ColumnType="$none$"
    Expression="OBJECT_VERSION_NUMBER"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="EffectiveStartDate"
    IsQueriable="false"
    IsPersistent="false"
    Type="oracle.jbo.domain.Date"
    AliasName="EFFECTIVE_START_DATE"
    ColumnType="$none$"
    Expression="EFFECTIVE_START_DATE"
    SQLType="DATE" >
    </ViewAttribute>
    <ViewAttribute
    Name="ContactType"
    IsQueriable="false"
    IsPersistent="false"
    IsNotNull="true"
    Precision="30"
    Type="java.lang.String"
    AliasName="CONTACT_TYPE"
    ColumnType="$none$"
    Expression="CONTACT_TYPE"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="30" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="BeneficiaryFullName"
    IsQueriable="false"
    IsPersistent="false"
    Precision="240"
    Type="java.lang.String"
    AliasName="BENEFICIARY_FULL_NAME"
    ColumnType="$none$"
    Expression="BENEFICIARY_FULL_NAME"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="240" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="DbPrimaryPct"
    IsQueriable="false"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    AliasName="DB_PRIMARY_PCT"
    ColumnType="$none$"
    Expression="DB_PRIMARY_PCT"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="DbContingentPct"
    IsQueriable="false"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    AliasName="DB_CONTINGENT_PCT"
    ColumnType="$none$"
    Expression="DB_CONTINGENT_PCT"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="Relation"
    IsQueriable="false"
    IsPersistent="false"
    Type="java.lang.String"
    AliasName="Relation"
    ColumnType="$none$"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="DeleteSwitcher"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    AliasName="DeleteSwitcher"
    ColumnType="VARCHAR2"
    Expression="DeleteSwitcher"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="PlId"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PlId"
    ColumnType="VARCHAR2"
    Expression="PlId"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="OiplId"
    IsUpdateable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="OiplId"
    ColumnType="VARCHAR2"
    Expression="OiplId"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="RelExistsFlag"
    IsQueriable="false"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    AliasName="REL_EXISTS_FLAG"
    ColumnType="VARCHAR2"
    Expression="REL_EXISTS_FLAG"
    SQLType="VARCHAR" >
    </ViewAttribute>
    </ViewObject>
    Thanks,
    Ronaldo

Maybe you are looking for

  • How to take backup of database on external hard disk

    Hi Team, We have a server with three instances SOX,GRC and SM2. We have attached a external hard disk to take backup of database. While taking backup of any database it gives error as attached. We can take backup of transaction log on server's disk b

  • Java.sql.SQLException:  Invalid column name: user_id

    Hi, I am using SQL Server 2000 database and using a Java DAO class executing an SQL query using preparedStatement.The issue is that intermittently i get the following exception: "SQLException:Invalid column name". I checked the filed name in the tabl

  • Adobe Creative Suite 5.5 design standards (Student and teacher licensing) download

    I had purchase Adobe Creative Suite 5.5 design standards (Student and teacher licensing), but I lost the disk and still have my product code. I tried downloading from the available downloads but the product code i have doesn't work. Where can i find

  • Have you used Captivate 4 with SAP?

    I have tried using older versions of Captivate to create SAP demonstrations and simulations, and wasn't particularly pleased with the output. My employer is happy for me to upgrade to Captivate 4. Before I do, can anyone share their experience of usi

  • System preferences layout

    why icons on system preferences are not centered? Am I the only one having this issue? I'm on OS X 10.10.1 I'm pretty sure it wasn't like that on 10.10