[10.1.2] Blank row issue again when validation of new row fails

Hi,
I have read Steve's tip (http://www.oracle.com/technology/products/jdev/tips/muench/blankrow/index.html) about the new 'Create-no-direct-inset' article. I tried out the new feature and it works as long no error occurs when transaction commits.
When a validation indicates an error, the row gets inserted into the iterator and and if you don't fix the error (Back-Button) you have the blank row again.
I think, the current feature is a good starting point for a complete solution to the problems:
1.) Handling of Back-Button in Struts/ADF
2.) Inserting of newly created but never committed rows
Just a guess: Do the problems come from the new ADF binding style because all data which is rendered in a table or form comes from a binding?
Does anyone has implemented a workaround to that problems (JDev 9052 and 1012)?
Thanks,
Markus

Once you have submitted the data, the row is no longer STATUS_INITIALIZED, it becomes STATUS_NEW.
To remove it, you need to call remove() on it.
This is not new behavior in 10.1.2.

Similar Messages

  • Generate a surregate key only when insert a new row - (SCD1)

    Hi all,
    I´m starting with OWB (10gR2) and I'm creating a simple template dimension with SDC type 1 with one source, one target and a sequence do generate the surrogate key.
    The main properties configurations are:
    - Target property: Loading type = INSERT/UPDATE.
    - Only match the natural key between source and target.
    - Only use the sequence.nextval when inserting a new row.
    - Mapping: Set based.
    The generated code was something like this:
    {color:#000080}+MERGE INTO DIM_DEFAULT+{color}
    {color:#000080}+USING SCR_TABLE+{color}
    {color:#000080}+ON(SCR_TABLE.NATURALKEY=DIM_DEFAULT.NATURALKEY)+{color}
    {color:#000080}+WHEN MATCHED THEN+{color}
    {color:#000080}+UPDATE SET NAME=SCR_TABLE.NAME+{color}
    {color:#000080}+WHEN NOT MATCHED THEN+{color}
    {color:#000080}+INSERT(SK_DEFAULT,NATURALKEY,NAME)+ {color}
    {color:#000080}+VALUES(SQ_DIM_DEFAULT.NEXTVAL,SCR_TABLE.NATURALKEY,SCR_TABLE.NAME)+{color}
    Ok, it works fine! But the merge statement generates a new SK for each merged row even if the action is update! What I want is a new SK only when the process inserts a new row. Hard-coding, I possible solve this problem creating a function to return the nextval from a sequence and put it on the insert clause like this:
    {color:#000080}+MERGE INTO DIM_DEFAULT+{color}
    {color:#000080}+USING SCR_TABLE+{color}
    {color:#000080}+ON(SCR_TABLE.NATURALKEY=DIM_DEFAULT.NATURALKEY)+{color}
    {color:#000080}+WHEN MATCHED THEN+{color}
    {color:#000080}+UPDATE SET NAME=SCR_TABLE.NAME+{color}
    {color:#000080}+WHEN NOT MATCHED THEN+{color}
    {color:#000080}+INSERT(SK_DEFAULT,NATURALKEY,NAME)+ {color}
    {color:#000080}+VALUES(FN_SQC_NEXTVAL('SQ_DIM_DEFAULT'),SCR_TABLE.NATURALKEY,SCR_TABLE.NAME)+{color}
    Hard-coded it works fine as I need and that´s the point that I want to know:
    It´s possible perform this solution using OWB?
    I tried to use Constants but this solution doesn´t work then I tried an expression calling my sequence.nextval function but the result was:
    {color:#000080}+MERGE INTO DIM_DEFAULT+{color}
    {color:#000080}+USING (SELECT FN_SQC_NEXTVAL('SQ_DIM_DEFAULT') AS SK_DEFAULT_0,NATURALKEY,NAME FROM SCR_TABLE) AS SCR_TABLE+{color}
    {color:#000080}+ON(SCR_TABLE.NATURALKEY=DIM_DEFAULT.NATURALKEY)+{color}
    {color:#000080}+WHEN MATCHED THEN+{color}
    {color:#000080}+UPDATE SET NAME=SCR_TABLE.NAME+{color}
    {color:#000080}+WHEN NOT MATCHED THEN+{color}
    {color:#000080}+INSERT(SK_DEFAULT,NATURALKEY,NAME)+ {color}
    {color:#000080}+VALUES(SK_DEFAULT_0,SCR_TABLE.NATURALKEY,SCR_TABLE.NAME)+{color}
    It´s the same of merge the row using the SEQUENCE.NEXTVAL direct.
    Does anyone have a workaround to solve this situation?

    Hi,
    Perhaps this comes a bit late but...
    Have you tried to change attribute properties in the mapping? For simple example you have a source table in sa-stage which have to fields: code (varchar2(2), natural key) and description (varchar2(50)). You want to map those fields to target table where you have 3 fields: id (NUMBER(10), surrogate id, nextval from sequence when new row inserted), code (as from the source, natural key, the field to determine if the coming row is new or one to be merged) and description as in source table. Fields and datatypes are just for an example.
    When you have source and target tables in your mapping (and fields mapped), drag the sequence operator to the mapping and map the nextval to target table's surrogate id field.
    - Change target table operator properties:
    * loading type = UPDATE/INSERT
    * Match by constraint = no constraint
    - Change target table attribute properties for:
    * surrogate id field: Load column when updating row = no; match column when updating row = no; load column when inserting row = yes
    * natural key field(s): Load column when updating row = no; match column when updating row = yes; load column when inserting row = yes
    * all the regular fields: Load column when updating row = yes; match column when updating row = no; load column when inserting row = yes
    - change the deleting rules as you want them to be
    - Validate your mapping. If the green light is shown, the settings in field properties are suitable for merge.
    Hope this is what you wanted to get. I think this kind of solution works fine. Trigger in the table that holds and where one inserts millions of rows sounds scary...
    Regards,
    jk
    Added text: sorry about false alarm. I think that was what you did. The solution above steals the nextvals from sequence. Perhaps no-native-english-reader should be more careful when reading questions ;-)
    Edited by: jkoski on 5.11.2008 1:30

  • Textarea - space when inserting a new row !!!

    when I insert a new row with the editcurrent record, I get a space in each textarea.
    I don't understand why you write this like:...
    if(obj == null)
    sText = createMultilineTextField(sAttribute , " ");
    else
    The Db now contain a space caracter.
    Jean-Nokl WALLEZ
    [email protected]

    Hi, your code is right. So, replaces your blank space by the character 255 (ALT+255) and the blank space will be shown in your table.
    if(obj == null)
    sText = createMultilineTextField(sAttribute , " ");
    else
    Pakitwo.

  • How to set a default value in an ADF table when adding a new row

    Hi Guys,
    I have a view object which I am using to create an ADF table. I also have a button which uses a CreateInsert binding to add a new row to the table. I have four fields: created_by, creation_date, last_update_by and last_update_date.
    I want these values to be set automatically when I click add new row.
    The values I want are:
    created_by - admin
    creation_date - sysdate
    last_update_by - admin
    lsat_update_date - sysdate
    Any suggestions on how to do this would be appreciated
    Thanks
    -Mark

    mark,
    Those four fields can be set completely declaratively in the Entity Object (check out the History Colum feature). Copied from the (11g) documentation:
    If you need to keep track of historical information in your entity object, such as when an entity was created or modified and by whom, or the number of times the entity has been modified, you specify an attribute with the History Column option selected (in the Edit Attribute dialog).
    If an attribute's data type is Number, String, or Date, and if it is not part of the primary key, then you can enable this property to have your entity automatically maintain the attribute's value for historical auditing. How the framework handles the attribute depends which type of history attribute you indicate:
    * Created On: This attribute is populated with the time stamp of when the row was created. The time stamp is obtained from the database.
    * Created By: The attribute is populated with the name of the user who created the row. The user name is obtained using the getUserPrincipalName() method on the Session object.
    * Modified On: This attribute is populated with the time stamp whenever the row is updated/created.
    * Modified By: This attribute is populated with the name of the user who creates or updates the row.
    * Version Number: This attribute is populated with a long value that is incremented whenever a row is created or updated.
    John

  • When you create new row where does it go?anywhere/end/first??

    Just wondering does anyone know when you create a new row where is it popped on? is it the beginning, the end or is it popped on randomly?
    Would really, really appreciate a response!! I'm stuck on this :-(

    In order to be certain that the records are properly ordered use the order by clause
    in your view object definition....otherwise your records may be randomly appeared....
    Sim

  • The content isn't flow down when I add new rows

    Hello folks,
    I've implemented a dynamic rows adding in my PDF form and it's working fine.
    Why the content that resides under the table does not go down after adding new rows to it, but the new rows are on it?
    What should I do in my form?
    Thank you,
    Yair

    Dear Rui, thank you for the quick answer.
    Look, no form in my PDF is defined as flowed content.
    Can you please guide me about how to set my subforms currectly in order to implement the flowing?
    Thank you,
    Yair

  • Add row not working when creating tabular form manually

    Hi friends,
    I am trying to create a manual tabular form( with the help of Denes's example). When adding a new row by clicking
    the add button new row is added and i can enter data in that row. This works fine when there is only one page.
    Now i have 30 rows in 2 pages. Now when i tried to add a new row by pressing the add button nothing is happening.
    In my add button i have given redirect to the same page and request as ADD and the report query is as below.
    SELECT apex_item.checkbox (1,
                               EQUIPMENT_ID,
                               'onclick="highlight_row(this,' || ROWNUM || ')"',
                               NULL,
                               'f01_' || LPAD (ROWNUM, 4, '0')
                              )Tick,
       EQUIPMENT_ID,
              apex_item.hidden (2,EQUIPMENT_ID)
    ||apex_item.text (3,
                              EQUIPMENT_ROLE,
                              80,
                              100,
                              'style="width:170px"',
                              'f03_' || LPAD (ROWNUM, 4, '0')
                             )|| apex_item.hidden (4, wwv_flow_item.md5(EQUIPMENT_ID,EQUIPMENT_ROLE,EQUIPMENT_VERSION,                       
                             SNMP_PORT,RO_COMMUNITY_STRING ,RW_COMMUNITY_STRING,COMMISIONED_STATE,CUSTOMER_ID,
                             SITE_ID
                             ))EQUIPMENT_ROLE,
    apex_item.text (5,
                             EQUIPMENT_VERSION,
                              80,
                              100,
                              'style="width:170px"',
                              'f05_' || LPAD (ROWNUM, 4, '0')
                             ) EQUIPMENT_VERSION,
    apex_item.text (6,
                             SNMP_PORT,
                              80,
                              100,
                              'style="width:170px"',
                              'f06_' || LPAD (ROWNUM, 4, '0')
                             ) SNMP_PORT,
    apex_item.text (7,
                             RO_COMMUNITY_STRING,
                              80,
                              100,
                              'style="width:170px"',
                              'f07_' || LPAD (ROWNUM, 4, '0')
                             ) RO_COMMUNITY_STRING,
    apex_item.text (8,
                             RW_COMMUNITY_STRING,
                              80,
                              100,
                              'style="width:170px" ',
                              'f08_' || LPAD (ROWNUM, 4, '0')
                             ) RW_COMMUNITY_STRING,
    apex_item.text (9,
                             COMMISIONED_STATE,
                              80,
                              100,
                              'style="width:170px" ',
                              'f09_' || LPAD (ROWNUM, 4, '0')
                             ) COMMISIONED_STATE,
    apex_item.text (10,
                             CUSTOMER_ID,
                              80,
                              100,
                              'style="width:170px" ',
                              'f10_' || LPAD (ROWNUM, 4, '0')
                             ) CUSTOMER_ID,
    apex_item.text (11,
                             SITE_ID,
                              80,
                              100,
                              'style="width:170px"',
                              'f11_' || LPAD (ROWNUM, 4, '0')
                             ) SITE_ID
          FROM EQUIPMENTS_FEAT_MVIEW
          UNION ALL
          SELECT     apex_item.checkbox
                                    (1,
                                     NULL,
                                     'onclick="highlight_row(this,' || ROWNUM || ')"',
                                     NULL,
                                     'f1_' || LPAD (9900 + LEVEL, 4, '0')
                                    ) delete_checkbox,
                     NULL,
                        apex_item.hidden (2, NULL)
                     ||apex_item.text (3,
                                        NULL,
                                        80,
                                        100,
                                        'style="width:170px"',
                                        'f3_' || LPAD (9900 + LEVEL, 4, '0')
                                 ) || apex_item.hidden (4, NULL)EQUIPMENT_ROLE ,
                      apex_item.text (5,
                                 NULL,
                                 80,
                                 100,
                                 'style="width:170px"',
                                 'f05_' || LPAD (9900 + LEVEL, 4, '0')
                                 )EQUIPMENT_VERSION,
                      apex_item.text (6,
                                  NULL,
                                  80,
                                  100,
                                  'style="width:170px"',
                                  'f06_' || LPAD (9900 + LEVEL, 4, '0')
                                 )SNMP_PORT,
                     apex_item.text (7,
                                NULL,
                               80,
                                100,
                                'style="width:170px"',
                               'f07_' || LPAD (9900 + LEVEL, 4, '0')
                                 ) RO_COMMUNITY_STRING,
                      apex_item.text (8,
                                  NULL,
                                  80,
                                  100,
                                  'style="width:170px"',
                                  'f08_' || LPAD (9900 + LEVEL, 4, '0')
                                 )RW_COMMUNITY_STRING,
                     apex_item.text (9,
                                  NULL,
                                  80,
                                  100,
                                  'style="width:170px"',
                                  'f09_' || LPAD (9900 + LEVEL, 4, '0')
                                 )COMMISIONED_STATE,
                       apex_item.text (10,
                                  NULL,
                                  80,
                                  100,
                                  'style="width:170px"',
                                  'f10_' || LPAD (9900 + LEVEL, 4, '0')
                                 )CUSTOMER_ID,         
                     apex_item.text (11,
                                  NULL,
                                  80,
                                  100,
                                  'style="width:170px"',
                                  'f11_' || LPAD (9900 + LEVEL, 4, '0')
                                 )SITE_ID
                         FROM DUAL
                        WHERE :request = 'ADD'
    CONNECT BY LEVEL <= 1How can i solve this problem . Please help,
    Thanks,
    Jeev

    Hi,
    The blank row that you get from your second select statement would appear at the end of the report. Put that statement first and it should be at the top of the first page
    Andy

  • Problem creating a new row when using tabbed regions

    I am new to JHeadstart and ADF and have been using the evaluation version of JHeadstart (in JDev 11.1.1.3) to judge its efficacy for a new significantly-sized application. As part of that evaluation I have created a small application (you can do this with HR schema using say the Departments table) with a single entity and VO. On JHeadstart I have then placed some of the fields into multiple Item regions within a Tabbed region on the same page and below the Group (layout style Table, Table Overflow Style below With Splitter). Existing rows display fine and I can view the data on the separate tabs.
    However, if I try to create a row, I can fill in the data on the main region, but if I fill in data on the first tabbed region I cannot switch to the next tab without an error being generated.
    e.g. using Departments - fill in DepartmentId and DepartmentName on main region, fill in ManagerId on first tabbed region and try to switch to second tabbed region to fill in LocationId:
    Missing mandatory attributes for a row with key null of type HRModule.DepartmentsView1
    Attribute DepartmentId in HRModule.DepartmentsView1 is required.
    Attribute DepartmentName in HRModule.DepartmentsView1 is required.
    If you save, then you can navigate.
    You can also demonstrate something similar (different error message but probably the same root cause) on the myJHSTutorial demo. If you navigate to an employee off the regions page and try and create a new employee (using the '+' button below the 'Employees' label), then the tabs are not refreshed and any attempt to change the tabs results in an error
    Failed to validate a row with key oracle.jbo.Key[999 ] in HRModule.EmployeesView3
    Attribute Salary in HRModule.EmployeesView3 is required.
    Salary must be between 6000 and 12000 for this job.
    The JHS devguide does not help. Any thoughts? I can send the HR sample if you wish.

    OK, I was able to reproduce this. The problem is that when you switch tabs, a partial page request is send to the server which does not include the items filled in the table row itself, hence these items are not updated in the underlying view object row.
    Solution is to have a partial trigger at the table or group level listening to tab events. We will add that to the next release, but you can also apply the fix yourself by adding the following lines to the stackedRegionContainer.vm template:
    #if (${JHS.current.pageComponent.tableLayout} && !(${JHS.current.pageComponent.hasOverflowInline}))
    ## when creating a new row in a table, and using overflow right/below, when switching overflow tabs
    ## the items filled in the table itself must also be processed as part of JSF model update phase, to
    ## prevent required item error when clicking another tab in overflow area
    ## we can enforce this by making the whole group listen to tab events
    #ADD_CUR_GROUP_PARTIAL_TRIGGER("#REGION_ID()Tabs")
    #end
    Add these lines just before the line starting with
    <af:${elemName}
    Steven Davelaar,
    JHeadstart team.

  • Inserting a new row in a table

    I want to insert a row between other rows. Means when we insert a row and we see by
    select * from emp;
    then the result shows that inserted value goes to last row. So i want that when we insert a value to a table and do
    select * from emp;
    then inserted value must be between other rows....

    Well, if your teacher won't take the answer "you can't insert rows between other rows, you must use an order by to get your data in a particular order", then he is not the teacher you want to be learning Oracle database concepts from. Because it is the truth. Maybe he is testing your resolve to stick to an answer that you have researched.
    If he's intending it as a "trick" question, you could propose what others here have alluded to - for example, if you have a date field in your table and had, for example, rows with dates Jan 3 2011 and Jan 5 2011, you could insert a record with date Jan 4 2011, then when you select, and use "order by" that column, the data will "appear to be" between the existing 2 records. But, again, this relies on using "order by", the data is not physically or any other way "between" the first 2 records, and is not a practical, real-world way of solving most data ordering issues.
    Now, this is an Oracle forum, and this is the Oracle answer. I do not have experience with any other database so I can't definitively say that this would be the answer in all databases.
    Good luck with your class.

  • FillBy always fills in the same row in data grid view. How to make it fill in a new row for each click of the Fillby Button? VB 2010 EXPRESS?

    Hi there, 
    I am a beginner in Visual Basic Express 2010. I have a Point of Sale program that uses DataGridView to display records from an external microsoft access
    database using the fillby query. 
    It works, but it repopulates the same row each time, but i want to be able to display multiple records at the same time, a new row should be filled for
    each click of the fillby button. 
    also I want to be able to delete any records if the customer suddenly decides to not buy an item after it has already been entered. 
    so actually 2 questions here: 
    1. how to populate a new row for each click of the fillby button 
    2. how to delete records from data grid view after an item has been entered 
    Thanks 
    Vishwas

    Hello,
    The FillBy method loads data according to what the results are from the SELECT statement, so if there is one row then you get one row in the DataGridView, have two rows then two rows show up.
    Some examples
    Form load populates our dataset with all data as it was defined with a plain SELECT statement. Button1 loads via a query I created after the fact to filter on a column, the next button adds a new row to the existing data. When adding a new row it is appended
    to the current data displayed and the primary key is a negative value but the new key is shown after pressing the save button on the BindingNavigator or there are other ways to get the new key by manually adding the row to the backend table bypassing the Adapter.
    The following article with code shows this but does not address adapters.
    Conceptually speaking the code in the second code block shows how to get the new key
    Public Class Form1
    Private Sub StudentsBindingNavigatorSaveItem_Click(
    sender As Object, e As EventArgs) Handles StudentsBindingNavigatorSaveItem.Click
    Me.Validate()
    Me.StudentsBindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.MyDataSet)
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'MyDataSet.Students' table. You can move, or remove it, as needed.
    Me.StudentsTableAdapter.Fill(Me.MyDataSet.Students)
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Me.StudentsTableAdapter.FillBy(Me.MyDataSet.Students, ComboBox1.Text)
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Me.MyDataSet.Students.AddStudentsRow("Jane", "Adams", "Female")
    End Sub
    End Class
    Get new key taken from
    this article.
    Public Function AddNewRow(ByVal sender As Customer, ByRef Identfier As Integer) As Boolean
    Dim Success As Boolean = True
    Try
    Using cn As New OleDb.OleDbConnection With {.ConnectionString = Builder.ConnectionString}
    Using cmd As New OleDb.OleDbCommand With {.Connection = cn}
    cmd.CommandText = InsertStatement
    cmd.Parameters.AddWithValue("@CompanyName", sender.CompanyName)
    cmd.Parameters.AddWithValue("@ContactName", sender.ContactName)
    cmd.Parameters.AddWithValue("@ContactTitle", sender.ContactTitle)
    cn.Open()
    cmd.ExecuteNonQuery()
    cmd.CommandText = "Select @@Identity"
    Identfier = CInt(cmd.ExecuteScalar)
    End Using
    End Using
    Catch ex As Exception
    Success = False
    End Try
    Return Success
    End Function
    In closing I have not given you a solution but hopefully given you some stuff/logic to assist with this issue, if not perhaps I missed what you want conceptually speaking.
    Additional resources
    http://msdn.microsoft.com/en-us/library/fxsa23t6.aspx
    Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem.

  • New rows in Adobe table are not added to WD Context

    Hi experts: we have several Adobe Interactive forms.  Each has a table.  the user can add rows to the table, but when they do, the WD ABAP context does not get additional rows added to it. The new rows appear on the form, but not in the context.   If users change values in existing table rows, those values are changed in the context; however, new rows do not show up in context.
    Our Hierarchy Layout:
    P1
    --TableSub
    InnerSub
    Table1
    Row1
    <table fields>
    Remove (button)
    Add (button)
    The JavaScript for the buttons: ADD button...
    P1.TableSub.InnerSub.Add::click - (JavaScript, client)
    this.parent.instanceManager.addInstance();  // this adds a row, context not changed...
    xfa.form.recalculate();
    Remove button:
    P1.TableSub.InnerSub.Remove::click - (JavaScript, client)
    P1.TableSub.InnerSub.instanceManager.removeInstance(this.parent.index);  // this keeps same # of context rows, but  "removed
                                                                      // rows" have data replaced by duplicate data of another row; can deal with this issue...
    xfa.form.recalculate();
    The WD Context node has Cardinality 0..n  Selection: 0..n  (have tried 0..1, too).  No difference in context with additional form rows.
    Anybody, any ideas as to why # of rows in WD Context is not being altered by the Interactive Form?  Thanks!
    Edited by: Jack Hofmann on Aug 2, 2010 11:25 PM

    Hello,
    This question is asked many times in this forum.
    These links might help you:
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/802f0ed1-a17a-2c10-7db4-d515a5b047ed
    Re: Table control in Adobe forms
    Adobe form from webdynpro : Getting a single row in the table
    Thanks & Regards,
    Omkar Mirvankar.

  • Append new row to the tableview...

    Hello All,
             I have a tableview with 3 columns.
    But out of these 3 only the 2nd column is editable.
    Now if I want to append one more row then an empty row is created with the 1rst and 3rd columns as non-editable.
    But I want all the fields as editable when i append a new record to the table view.
    Is it possible ? if yes can anyone guide me ????????
    Regards,
    Deepu.K

    Hello Raja,
               I have gone thru ur code.
    But in my case I can't get the rowindex  bcoz I donot know the row number.
    I'll tell u my scenario.
    I have a page which contains :-
    1,  Input fields,
    2,  Table view.
    3, SAVE Button ( when pressed it should update the internal table of the table view and the respective database tables ).
    Now initially when the application is executed all the input fields and the Tableview are filled in the INITIALIZATION  accordingly.
    Now if the user wants to change he will make the changes and press the SAVE Button.
    But,as mentioned above since the tableview is already filled with entries say 2 records are already there with 3 columns.For these 2 records I made the 1rst and the 3rd column as non-editable in the iterator .
    Then if the user wants to create one more record he will press the APPEND button and this creates a blank record in the internal table and the same is passed to the table view.
    SO, now we have the new row with null values.
    Here is the problem ...............*************************************
    When appending a new row since in the iterator we mentioned that the 1rst column and the 3rd column as non-editable the newly appended row also has the 1rst and the 3rd columns as non-editable. (which should not happen ).
              Now as per ur code u said that
    <b>" if p_row_index = <row no. you want to make it editable> "</b>
    Now how do i know which row no. should i render ?
    I thought in this way :-
    if I get the internal table in this iterator method then i will check the value for the 1rst column .
    If it is null then i want to make it as editable else non-editable.
    But to implement this i don't have the internal table here.
    Can I get the internal table with the newly appended row / rows in the iterator method .
    If so can u tell me how ?
    Plz help me Raja...(:
    Regards,
    Deepu.K

  • Tabular form loses data on validation check and new row

    When you add new rows inside a tabular form and you have a validation which troughs out an error then all data inside the new rows are lost.
    Is there any workaround available?
    Tobias
    Edited by: Tobias Arnhold on Jun 29, 2012 12:48 PM
    I forgot to tell:
    Current version of APEX 4.0.2
    I also get this firebug error: uncaught exception: Syntax error, unrecognized expression: #
    Somebody else had this issue before too: APEX 4.0  Tabular Form - Javascript error due to validation
    Is there any workaround available?

    Yeah, you cannot validate on tabular forms so you pretty much have to find work-arounds in order to validate your information. When you create an LOV you can create it with a dynamic query which is the basis for your select list. You can just modify the query in the dynamic query to include a where clause. The where clause could then just state 'where EMP_ID2 <> EMP_ID1'. That way your select list for each row should not have matching values between EMP_ID1 and EMP_ID2. APEX can create the dynamic query for you, you just select the columns you want to base the LOV on, then modify the query after.

  • Af:table and selectOneChoice, creating a new row resets selected value

    Hello,
    I have a table containing 4 columns, first two are read-only (outputtext) and next 2 contains selectOneChoice , table model is baed on java.util.List
    adding a new row, works fine but it resets the selectOneChoice(dropbox) selected value to First Index For All Rows
    so everytime you add a new row, it resets the value to the very First Value in the dropbox for all rows,
    it seems after PPR it loses the selected value in SelectOneChoice for each row...
    any ideas?
    Thanks,

    Hi,
    What is the EL expression given for value property of selectOneChoice list?
    I guess it is the bean variable and it is same for each row, due to which selection in any selectOneChoice list in table modifies the same bean variable and sets the same value for lists in all other rows too(same happens in case of new insertion also, when you insert new record selectonechoice list points to the first value if no selection item is not added), in case of selectonechoice list you need to handle the selected values differently for each row. If you can share sample code, I can tell you what could be the problem.
    Sireesha

  • Tabular form - adding new row

    Hi,
    I have a very simple table (5 rows, 1 of which is the primary key), and want to update the table using a tabular form. On initial display, the primary key column is protected (cannot be changed) which is ok for DELETE and UPDATE options, but when I come to ADD A NEW ROW, the new row has NULL defaulted as the primary key value, and will not let me update it !!
    Does anyone know how I can leave the primary key column protected when UPDATING or DELETING, but allow a value to be entered when ADDING A NEW ROW ?
    thanks
    Tim

    Andy,
    Just made the following changes (to remove NARR1_CODE_DISPLAY and show and edit NARR1_CODE):
    select
    "NARR1_CODE",
    --"NARR1_CODE" NARR1_CODE_DISPLAY,
    "NARR1_LOWER_LIMIT",
    "NARR1_UPPER_LIMIT",
    "NARR1_RMP_MIDPOINT_1",
    "NARR1_RMP_MIDPOINT_2"
    from "#OWNER#"."DQ_PD_TRANS_DIST_BAND_NARR1"
    where the column NARR1_CODE is my primary id, and in the report attributes, NARR1_CODE is now editable and shown as a "text field" . NARR1_CODE_DISPLAY has been removed.
    However, when I go into my form screen, although the NARR1_CODE field is now editable, when I click ADD NEW ROW, enter the details for a new row, check the box alongside the new row and click SUBMIT, I get the following error message :
    Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "A884FA378C851786DDFE3A33709CB23C", item checksum = "F6395FDACE39D98E784F85C19D960620"., update "GRD_DD10_OWNER"."DQ_PD_TRANS_DIST_BAND_NARR1" set "NARR1_CODE" = :b1, "NARR1_LOWER_LIMIT" = :b2, "NARR1_UPPER_LIMIT" = :b3, "NARR1_RMP_MIDPOINT_1" = :b4, "NARR1_RMP_MIDPOINT_2" = :b5
    sorry about this !
    thanks

Maybe you are looking for

  • SC 3.2 Solaris 10 x86. When one node reboot, the other one does also

    Configured a two node cluster with a EMC clariion san (Raid 6) for holding a zpool and use as quorum device. When one node goes down, the other one does also. There seems a problem with the quorum. I can not understand or figure out what actually goe

  • InContext and Spy Tabbed Panels

    First I have to get it out of the way that I'm with everyone else who thinks it's silly that there is no indication as to what the InContext service will cost. Even if you could throw a ballpark out there it would help people decide whether or not to

  • Changing datasource definition

    hi experts, i have a non standartic datasource that extract data by FM can i change its properties that the extraction be by table ? without changing the name. thanks Nir

  • Copy content from desktop

    now i have pretty much created my site for desktop computers i want to create the same site for mobile phones just tweaking the layout slightly. i know you can add an alternative layout in muse, clicking copy from desktop and checking all 3 options g

  • Keeping track of clientObj

    Hi there, I'm developing an application where I do some checking with another application using LoadVars before I allow a client to connect. My callback function then calls application.rejectConnection or application.acceptConnection. These methods b