How to keep summers jsf pages correctly updated to account for changes to data in the database?

This is a case of common use for web applications:

User open A (i.e. a jsf page) of a web application, keep open for a period of time and do some browsing or editing on this page.

During this time, someone others or modified events of the data in the database, then:

Scenario A:

1. the user should be able to see the evolution of the data in the above open jsf page when page navigate to other records.

or when the page is refreshed by refreshing the web browser (reload the page) or by pressing a button on the page manually.

Scenario b:

2. the page should be able to be updated automatically to reflect the new changed data in the backend database.

-This means that the user has no need to run the refresh action intentionly/manually to get the new data.

Here's a possible implementation are provided in subsection 12.1 JDEV/ADF for above use cases:

1.kdario: tips to know how to refresh your data

Re: Field Image cannot refresh when you move between records in a jsf page

In my opinion, the solution of kdario is a little bit complicated, is there an easy approach?

and kdario says:

'normal way' for update page is generally very bad for applications based on JSF/ADF.

Is there more evidence or reference documents to support above sayings?

2 to implement scenario B, which is recommended methods?

Is the Active Data one approach good?

If there are active - as tech batteries was adopted for web applications on the internet (which will have more agreement than in the intranet user), would there be possible serious performance problems?

Thanks in advance.

In fact, I suggested to the position 3 solutions (and option c) Notifications of changes to database is the most complicated).

Also, here is solution d) in pageDef, select iterator and ownership of Cache set to false results

'normal way' for update page is generally very bad for applications based on JSF/ADF.

Is there more evidence or reference documents to support above sayings?

Well, when you use the "back/refresh" browser button, this will retrieve the Forms page cache and skip the controller of the ADF.

You can use google to do this, for example:! subject/adf-methodology/CKoDdhLdrYE

ADF developers world: how to avoid the mistake Houston-35007?

Andrejus Baranovskis Blog: How to manage the Web browser buttons in the ADF/WebCenter Applications


Tags: Java

Similar Questions

  • How to create a master page and detail? Insert > object missing panel data


    So I created a database, and I want to read data from the database table. I want when someone clicks on an element of the database to get on a new page and see all the other information on this element. I looked for how to do this and found the master page and detail 'system '. But for this I need an option in the Insert > data panel, the master and detail Page set option. And that's the problem, actually there is no sign of 'data' in the insertion bar in my Dreamweaver product. I use Dreamweaver CC 2015, Windows 8.1



    Is there another possibility to create the master page and detail?

    If you are coding manually, you need not to buy extensions.

    If you don't code manually, you can do it.

    Nancy O.

  • Current version of the data in the database has changed since the user initiated the update process.


    I get this error message: when I update a table.

    • Current version of the data in the database has changed since the user initiated the update process. version of current line identifier = "4975F66067C6EE412FF51DF46B8C4916" line application version identifier = "31163419BE48C198DE88A34AD12FE4D2".

    I get this message when a process is used to run an update on the same table.




    There is an automated line (DML) process process on the table on this page.

    I understand that I get this error message because I update the database EMAIL_SENDED in the same table column and tha the automated process line try to update the same table...

    On this page, I want to the column EMAIL_SENDED always has the value 0 (zero). It is a database column

    How to do?

    Thank you for your help.


    If you try to make it through a normal form. So in this case email_sended is getting two values one of your FORM and one of your update statement.

    To resolve this problem, you can code in hard EMAIL_SENDED point the value '0' and keep only the database column.

    If the whenver update you will automatically take the value 0.

    Another solution would be to remove this column from your FORM and then update by creating a process after submit.



  • FRM - 40603:Records is no longer reserved for the update. Query for changes

    Hi I have a form that has been developing 6i and upgraded to 11g form work well in 6i, but when I try to do the same function in 11g get this error

    FRM - 40603:Records is no longer reserved for the update. Query for changes
    When I commit this execute_query (for_update); It is the form to clear values when it loads, the error comes when I try to delete

    How can I do this

    Action: If you want to change the block, you will need to re - interview.


    I use When-Timer-Expired (WTE) trigger

    You have a 'relationship' defined between the blocks of your master and detail? If so, simply update your master block and the block of details will automatically be re-interviewed. If you cannot use a relationship, then you can use can create a timer in the trigger that updates the database, then in the trigger When-Timer-Expired (WTE) you can go to the retail block and run a query. For example: / * the sample on change trigger * /.

      timer_id  TIMER;
    ....your code here that performs the update....
      /* Now create an instance of a timer */
      timer_id := Create_Timer ('upd_detail',1,NO_REPEAT);
    END;/* Sample Form Level When-Timer-Expired trigger */
      timer_id  TIMER;
      -- Find the timer first
      timer_id := FIND_TIMER('upd_detail');
      IF NOT ID_NULL(timer_id) THEN
      END IF;
  • Current version of the data in the database has changed since the user has launched the process of update: tabular

    Hi people

    Version of the apex is 4.2

    Oracle database:

    I have created a simple form in a table on a table with the following structure


    Name                                                  Null?    Type

    ----------------------------------------------------- -------- --------------








    CREATED_DT                                                     DATE




    In the form of default table is













    of ' #OWNER # '. " TIMESHEET.


    I wanted to add an additional line inserted in the tabular presentation, that's why I included 'UNION ALL' in the query like this


    Union of all the


    TID, null,

    tid_display null,

    team_name null,

    emp_name null,

    report_date null,

    category_name null,

    category_hr null,

    category_comment null,

    created_dt null,

    created_by null

    of the double


    After having done that, I can see a blank line on the form of tables, but each time I fill data in the fields and press the "SUBMIT" button, I get the below error

    Current version of the data in the database has changed since the user has launched the process of update

    Thank you


    Why are you insert an extra line manually in tabular from?  There is a feature to add a line.

    If you want to insert a blank line when the page loads, then create dynamic action, this is a most appropriate feature.

    If you manually insert an extra line so that you have to write the update for this procedure.


  • update set to update the data in the database.

    At what stage of the treatment I have to use a rule to update to apply logic to the way the data are updated in the database?


    You can use the update rule to update the data in the database.

    Thank you

    edynamic Experts Eloqua

  • Since the last update, I can't change my weight of the race less than 1 point.

    Since the last update, I can't change my weight of the race within 1 point (or fraction). Any ideas would be so appreciated.

    Align with the pixel grid is enabled in the document you are using. Disable it in the transformation (main and flying Panel) Panel. You can disable it when you make a new document in the Format of Document dialog box.

  • How to insert data into the database using smartview

    I am trying to insert data into the database using * "Send data" * button on the Ribbon of Essbase.
    My database is empty.

    I opened an ad hoc network, it returns * "#missing" * in all cells
    I have modified the cells and provided data in the cells that I want to. Now, I supported on * "Send data" * button.
    It just reloaded the adhoc grid instead of submit data, I rechecked the data through data console Administrative Service are not inserted.

    I am following the right way to insert data? If not, could you please suggest me how (Populate) insert default data in the database?


    You go about it the right way, once you have submitted if you réactualisiez then data values should be there, if you POV is against members of dynamic calc and then data not written to the database, you need to check the Member properties of your POV.

    See you soon


  • How to create a scrolling pages using Acrobat 5.0 for Windows (multi)

    How to create a multi page document that can be scrolled? I want to place a drawing, I have in pdf format, on each page of the document, and then send via email if the recipient can open and scroll through the pages to see all the designs.

    If I understand your situation, you have a lot of PDFs, each with a chart. You want to combine. Just open the first PDF and then go to Document > insert Pages to add pages. If they come out in the wrong order, simply use the thumbnails to rearrange. Save the file using Save as.

  • How do you return a blank in table 2, when there is no data in the cell related in table 1?

    I run a recreational League of golf and have been recording the scores of the players (50 + players in total) with the intention of maintaining a form of disability from the League.

    So far, I did most of the calculations manually in number. Recently, I have experimented using the Lookup function but have encountered a problem with the time where the player does not play this week.

    In table 1, where I do all scores record cel when they do not play is left blank. However, in table 2 than corresponding cel returns a 0... strikes completely out of whack handicaps.

    Here is what I used in table 2 for the information of table 1...  SEARCH (name, 2016 Stats::Table 1 $Last: $ name, 2016 Stats::Table 1::G44)

    I also tried to add an IF statement, but I have obviously not understood correctly as he said I tried to refer to a cel in the statement itself.

    Example of the disability Page in the table 2 list a 0 is returned in cel 6... which is then averaged in the cel of last second... namely the problem. The cel with the 6 in it is a formula that counts the number of moves played and see it 6 because it counts as a trick played 0. This shows the wrong average score of 65.666

















    As it appears in table 1. indicating the total number of rounds played in 5 and returning the precise average score of 78.8










    Hi pondball,

    (Could be my 'golf name' somedays)

    Formula in Handicap::B2 and filled to the bottom and right at Handicap::X4

    = IF (LOOKUP ($A, data: $A, Data::B)=0,"",LOOKUP($A,Data::$A,Data::B))))

    IF compared the results of the first SEARCH and if it is zero, returns an empty string. If the comparison returns FALSE, the second SEARCH is called, find and returns the result of zero. AVERAGE does not take into account all results of text, including the string NULL, a zero-length text value.

    COUNT (used in the column count the number of turns) also ignores the text values.

    4th place of disability shows one of the reasons for not using LOOKUP.

    SEARCH alwas accepts a "close fit" with the search value. 'near match' for RESEARCH is defined as 'the largest value equal or less than the value of the research', and for the values text, "less than or equal" can be described as "identical or come forward in a list of items of text in alphabetical order.»

    For us, the other two values in the name list are 'less' us and the most important is 'Them', the values for 'Them' are returned.

    For this reason, I tend to use VLOOKUP instead of RESEARCH in many cases.

    VLOOKUP present the disadvantage of requiring her research-where location which will be the first column of the lookup table (which is not a problem here, because the location of the research is one ot the column data table).

    But also has the advantage of af being able to require an "exact match" search value.

    Here's the same tables of two, with VLOOKUP replacing LOOKUP. Note that the VLOOKUP function has a different syntax than the LOOKUP function.

    Formula VLOOKUP in Handicap::B2, filled with verse down and right at Handicap::X4:

    = IF (VLOOKUP ($A, Data: $A:$ X, COLUMN (), FALSE) = 0,"", VLOOKUP ($A, Data: $A:$ X, COLUMN (), FALSE) ")

    Written as above, the formula works correctly in rows 2 and 3, but will just return the error in the 4th row triangles, since it will not find a match (exact n) for 'Us' in column A of data.

    After confirming that it produces no unexpected error, wrap the formula in function SIERREUR as shown below and repeat the filling down and the right filling operations above.

    SIERREUR function interrupt all errors, including those affecting the results without your knowledge if they occur. Always delay adding IFERROR until you know what are the errors he fools.

    =IFERROR (IF (VLOOKUP ($A, data: $A:$ X, COLUMN (), FALSE) = 0,' ", VLOOKUP ($A, data: $A:$ X, COLUMN (), F ALSE))," ")

    Y2: = COUNT (C2:X 2)

    Z2: = AVERAGE(C2:X2) (base form)

    Z2: = IF (Y = 0,' ", AVERAGE (C2:X 2)) (real form)

    The encapsulation of the AVERAGE function in the IF statement deletes the calculation if the number of items to the average value is zero, AVERAGE preventing from return to a division by zero error. The number of circles in the column there is NOT used in the calculation of the average (AVERAGE did his own count), but is used as a switch 'OK to calculate' leaving the calculation of the AVERAGE to move forward.

    Kind regards


  • Duplicate validation of levels page to prevent the entry of the data in the database


    Can someone please help me with this problem.

    I have a form with two items based on a table. I already have a validation level step to check for null. Now, I would like to create a page-level validation to verify that the duplicate data are not recorded in the database. I would check the database when the user clicks on the button 'create' to ensure that they are not insert record in doubles. If the data already exists, then display the error message and redirect them to another page. I use apex 3.2
    Thank you


    Have you tried to write a PLSQL function to check for this?

    I've not tested this precisely, but something like this should work:

    (1) create a Page-level Validation
    (2) choose PLSQL for method
    (3) select function that returns a Boolean for the Type

    For the validation code, you could do something like this:

        v_cnt number;
        select count(*)
        into v_cnt
        col1 = :P1_field1 AND
        col2 = :P2_field2;
        if v_cnt > 0 then return false;
        else return true;
        end if;

    If the query returns false, your error message will be displayed.

    Not sure how you would address redirection after this page well. Maybe just allow the user to try again with a different value (in case they made a mistake), or simply press a "Cancel" button to finish creating a new record.


  • Instantis 9.0 - be able to reschedule and update basic even to change basic Dates and Efforts to not selected activities

    In change system profile/role permissions for the project it, there is an option to allow a role to change the planned Dates and Efforts for activities.

    If that is not selected, a user cannot change the benchmark for Dates of the activity fields.

    However, it seems that the same user can perform that function reschedule and pick update planned and Baseline.  This changes the basic dates, even if the option is not selected.

    This work is designed?

    It seems that you should open an SR for this one.  I know that you can restrict who can update the base line, but I thought that this has also limited recalculation and updated in this way.

  • Profile of correction does not account for Sony brand

    Profile correction automatically recognizes some make Hasselblad. My pictures are taken with Sony Nex - 5R. If I manually select "Sony E' that make LR recognizes the lens properly. Is it possible to fix this or is it a bug? Found a topic on the forum of the year 2007, but there is no solution (at least at the time).

    Thank you

    I found a few examples of raw images NEX - 5R at and has tested them with PS - CC / ACR 8.4.1.

    There is a purpose built, but only for Chromatic Aberration profile, so the external profile that you see when you select Sony E to do may indeed be correct, but so is the profile of Hasselblad, because it gives a nearly identical correction, with slightly more vignetting correction flashes in the corners, even if in the example below there is the flash fall It is difficult to say which version of the correction of vignetting is more correct.

    Hasselblad detected using Auto as the correction of the goal of installation, as well as the ToolTip describing the embedded profile:

    Profile of Sony E detected using as the default setup of the lens correction after having been defined as default profile:

    The raw image came from here:

    So my interpretation of the behavior of LR, based on this one objective I found samples with Hasselblad profiles are correct for your camera, but if you set the Sony E profiles using the default lens profile process, described above, the corrections will be also correct.  Without knowing if Sony made Hasselblad lenses or Hasselblad makes Sony E lenses, and without knowing if their electronics is the same, it is difficult to know if LR is something wrong to recognize the Sony E lenses like Hasselblad objectives.

    Don't you see the same corrections for your lenses you opt for Hasselblad or Sony E?

  • Error inserting data into the database of JSF

    Hi all

    I have a form and a button of validation. I created the form using the editable view object created on an entity object. When the student has table (base table of data in which I have to enter data) was empty, I managed to insert the data into the table.when I run the same second time application it shows data that I entered previously. But iam able to modify this data and insert the new record again. What should I do so that it does not show the data I already inserted previously when I run again. I think that iam missing something. Please suggest.

    Thank you.

    Here are two ways to achieve the same thing:

    -If you use taskflows, you can add createInsert action as activity by default and then have a navigation from this at the registration page so that the creation form will be shown on the loading of the page. As a result, you can directly enter and validate.
    -If not, have binding action createInsert in your pagedef and add an executable invokeAction for the same thing with prepareModel so that the registration form empty appears when loading the page

    Jean Lou

  • How can I transfer data from the database in a variable (or array)?

    I made my request according to the example ( Everything works fine. I changed a single function to query the database - add two parameters and get the value from the table to a string format. A test operation shows that everything is ok. If I want to display this value in the text box, I just do drag and drop off service to this element in Design view

    (< s:TextArea = "153" x = "435" id = "nameText" text = "{getDataMeanResult.lastResult [0] .name}" width = "296" height = "89" / > ").

    Also, it works fine, just a warning and encouraged to use ArrayCollection.getItemAt ().

    Now, I want to send the value to a variable or an array, but in both cases, I get an error: TypeError: Error #1010: a term is undefined and has no property..

    How can I pass a value to the database in a variable? Thank you.

    public var nameTemp:String;

    getDataMeanResult.token = authors.getDataMean (arrayOfNumber [0], dir_id);

    nameTemp = getDataMeanResult.lastResult [0] .name;

    public var nameArray:Array = new Array();

    for (var i: uint = o; i < 3; i ++) {}

    getDataMeanResult.token = authors.getDataMean (arrayOfNumber [i], dir_id);

    NomTableau [i] = getDataMeanResult.lastResult [0] .name;


    And how do I use syntax highlighting in this forum?

    Astraport2012 wrote:

    Thank you.

    Then this simple question: How can I place a mySQL database data in a variable using the wizards FB4 (connect with PHP)?

    If you can show examples please.

    I couldn't find examples. Send data to a field text or DataGrid - much, but no variable.

    the use of assistants? not sure... it is generally a bad idea to rely on them, because they will never fully what you want anyway. I would recommend learning abit of PHP and manage by yourself, because it allows you to manage everything exactly as you wish.

    small example of communicating with a database using PHP + FB4:

    mount a database

    write you a small script that will access your database, get a value, for example:

        while($row = mysql_fetch_array($result))
            if($row['messageID'] == "3")
                print $row['message'];
        print "\n";

    This will get the message with ID '3 '.

    make an HTTPService in FB4 app to call this Script, as follows:


    and the value must be picked up by the Script and properly stored in a variable

Maybe you are looking for