Session State - What is f?p Format?

My form opens up fine when I first load it, but certain conditions cause a problem, and then it won't load any more. I have to logout and back in.
I think I need to reset a session state. The help files talk about f?p format, but it assumes I know more than I do. Where do I use this? Would it be easier just to keep logging out and back in?
Thanks,
Gregory

See
http://htmldb.oracle.com/i/doc/concept_url.htm#sthref256
The f?p= is the URL that all HTML DB pages use.
That link explains all the various components of that URL.
You can reset all the items on the page by passing in the page# in the appropriate position in the f?p= URL.
But see if you can figure out what the real issue is before clearing session state. Post more details of your situation and maybe someone can help.

Similar Messages

  • Session state - Whats the big deal?

    What is the equivalent of HTMLDB's "session state" in other peer environments, like, for instance, ASP/ASPX pages?
    There, you would just define a bunch of variables and use those on the page, right?
    How does the fact that HTMLDB's "variables" are stored in the database benefit me? All I care about is being able to read/write my "variables" from various points in my application.
    Thanks

    Vikas,
    Session state needs to be maintained somewhere. Then, on a subsequent page view/submission, you are essentially reunited with your session state. This is applicable to almost all Web technologies.
    Most technologies persist session state in application server middle-tier memory, which is very finite (.NET supports configuration of both, memory or database). Think about it...if you have 2GB RAM on your middle tier, how many "concurrent" sessions could you support maintaining session state in memory for all your users? What type of elaborate mechanism would you have to employ to ensure you don't exhaust middle tier resources?
    I've built/used/monitored real-world applications built using HTML DB, which would have over 6,000 distinct users in the peak hour, yet at any given split microsecond, there were no more than 8 - 10 active database sessions. In an alternative architecture, how much middle tier memory would it take for you to support 6,000 distinct user sessions in an hour? How long before you start expiring these sessions?
    Joel

  • Format Mask in Session state

    In a Summary Region (Page 6) I have changed one field to text, edited the field with no format mask. In the entry form on the pervious page, the column properties are Database Column, and Always replace value in Session State with the Money format Mask.(Page 5).
    10313     5     P5_LPP     Text     $66.67 LPP
    10313     6     P6_ENGAGER_LPP     Text Field     $66.67     I
    Question is that the field in field 6 displays the value $66.67. Why not 66.67?
    On Page 6 a user can press the Update_lpp button and Invalid Number Error Page pops up?
    Is there a way to hold in the session state the values only while formatting on the screen is $'
    Thanks

    Thanks. I did an "on submit and before computation" process that did a SQL replace on the page item. The DML process then successfully inserted the value into the database.
    Alex.

  • Session state of items and what's displayed

    I have a process on a page 20, called AFTER HEADER in page processing, which populates 3 items thus :-
    DECLARE
    l_dt DATE;
    BEGIN
    :P20_F1 := :P19_F1 ;
    :P20_F2 := some_package_val(l_dt);
    :P20_F3 := l_dt ;
    END;
    All fields are text fields except :P20_F3 which is a date picker field.
    After running this, I can see that the session state for all these items has altered as I would have expected. However only :P20_F1 is displayed as changed. How has this come about ? How can I resolve it ?
    johnnie d

    l_dt is set via the the parameter call.
    in fact I was wrong, none of the text fields are displayed.
    What I mean is, if I look on the 'session variables' page when I am running my app, I can see that my item has altered : however the text field does not display the change that is reflected in the session variables screen. This I cannot understand as the fields are set AFTER HEADER in page processing.
    I notice that in the underlying html the 'type' of the textfield is set to "hidden" for some reason or other.
    Any ideas ?

  • Session state protection violation: This may be caused by manual alteration of protected page item P300_name. If you are unsure what caused this error, please contact the application administrator for assistance.

    HI ,
    the application item is working fine previously. i did not change anything. it is giving error message on p300_name when i submit page
    p300_name is text filed.
    html form element attributes: disabled="disabled"
    source used: always replace any existing value
    source type           :database columm
                    : per session
    source value: name
    default_value:  g_name  (global variable)
    read only: always
    read only attributes: name
    Please help me to fix this error.
    Thanks,

    Check the Security attributes of the item, namely 'session state protection'
    Similar attributes at page level

  • Corrupt Session State? - Apex form posts text value as Null

    Recently I've discovered an issue with our Apex installation in which any value chosen as a source for a text field ends up being posted as a null to the database.
    We are running APEX version 3.2 within an Oracle 10.2.0.4 database using the Oracle HTTP Server from the 10g companion disk.
    At first glance, everything appears to function as expected; I have created a simple table called "oracle_sr" with 2 columns both not null:
    SQL> desc capacity.oracle_sr
    Name Null? Type
    ORACLE_SR_ID NOT NULL NUMBER
    TIMESTAMP NOT NULL DATE
    Within APEX the form wizard was used to create a form on this table.
    After executing the pages and entering a value for the timestamp field I can create records without issue.
    The issue arises when I choose a source value for the timestamp field.
    Any of the source options result in the same error (including a static value) so I will focus on the SQL Query for the source as:
    select sysdate from dual;
    This should substitute the system date within the timestamp text field when the page is executed.
    As expected, the value appears in the text box but when I submit the form to create the record I receive the error:
    ORA-01400: cannot insert NULL into ("CAPACITY"."ORACLE_SR"."TIMESTAMP")
    I have been working with APEX for quite some time and have successfully used this technique in many applications but just started to see this error over the past few days. What is particularly odd about this message is that default "not null" validations created by the form wizard sees the timestamp filed as having a value. The session state information included below is reporting a value yet the database is throwing the ORA-01400.
    Has anyone experienced a similar issue? I've spent a fair amount of time trying to research this issue but cannot seem to find any similar posts.
    I have included the debug output from my test page, from what I can see, there does seem to be a value associated with the timestamp filed:
    0.00: A C C E P T: Request="CREATE"
    0.00: Metadata: Fetch application definition and shortcuts
    0.00: NLS: wwv_flow.g_flow_language_derived_from=FLOW_PRIMARY_LANGUAGE: wwv_flow.g_browser_language=en-us
    0.00: alter session set nls_language="AMERICAN"
    0.00: alter session set nls_territory="AMERICA"
    0.00: NLS: CSV charset=WE8MSWIN1252
    0.00: ...NLS: Set Decimal separator="."
    0.00: ...NLS: Set NLS Group separator=","
    0.00: ...NLS: Set date format="DD-MON-RR"
    0.01: ...Setting session time_zone to -06:00
    0.01: Setting NLS_DATE_FORMAT to application date format: DD-MON-RR
    0.01: ...NLS: Set date format="DD-MON-RR"
    0.01: Fetch session state from database
    0.01: ...Check session 2303701116904676 owner
    0.01: Setting NLS_DATE_FORMAT to application date format: DD-MON-RR
    0.02: ...NLS: Set date format="DD-MON-RR"
    0.02: ...Check for session expiration:
    0.02: ...Metadata: Fetch Page, Computation, Process, and Branch
    0.02: Session: Fetch session header information
    0.02: ...Metadata: Fetch page attributes for application 109, page 50
    0.02: ...Validate item page affinity.
    0.02: ...Validate hidden_protected items.
    0.03: ...Check authorization security schemes
    0.03: Session State: Save form items and p_arg_values
    0.03: *...Session State: Save Item "P50_ORACLE_SR_ID" newValue="" "escape_on_input="N"*0.03: *...Session State: Save Item "P50_TIMESTAMP" newValue="26-MAY-09" "escape_on_input="N"*
    0.03: ...Session State: Save "P0_CURRENT_PERSONNEL_ID" - saving same value: "1"
    0.03: ...Session State: Save "P0_OFFSET" - saving same value: "0"
    0.03: ...Session State: Save "P0_ACTIVE_WEEK" - saving same value: "24-MAY-09"
    0.03: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
    0.03: Branch point: BEFORE_COMPUTATION
    0.03: Computation point: AFTER_SUBMIT
    0.03: Tabs: Perform Branching for Tab Requests
    0.03: Branch point: BEFORE_VALIDATION
    0.03: Perform validations:
    0.03: ...Item Not Null Validation: P50_TIMESTAMP
    0.04: Branch point: BEFORE_PROCESSING
    0.04: Processing point: AFTER_SUBMIT
    0.04: ...Process "Get PK": PLSQL (AFTER_SUBMIT) declare function get_pk return varchar2 is begin for c1 in (select ORACLE_SR_SEQ.nextval next_val from dual) loop return c1.next_val; end loop; end; begin :P50_ORACLE_SR_ID := get_pk; end;
    0.04: ...*Session State: Saved Item "P50_ORACLE_SR_ID" New Value="6"*
    0.04: ...Process "Process Row of ORACLE_SR": DML_PROCESS_ROW (AFTER_SUBMIT) #OWNER#:ORACLE_SR:P50_ORACLE_SR_ID:ORACLE_SR_ID|IUD
    0.04: Show ERROR page...
    0.04: Performing rollback...
    ORA-01400: cannot insert NULL into ("CAPACITY"."ORACLE_SR"."TIMESTAMP")
    Unable to process row of table ORACLE_SR.
    Return to application.
    Any thoughts would be appreciated.
    Thank you,
    Justin.

    If you changed the Source Type of an item from Database Column to something else, then it cannot participate in the Automated Row Fetch/Automatic Row Processing (DML) choreography. You should leave the Source Type as it was and change the item's Default Value to populate it when the ARF process fetches a null for the column.
    Scott

  • ??? On Session State

    Background info:
    I have a field that could have two different types of input, one would be numeric (such as a PK) the other input to it would be text. To ensure the Automated Row Fetch always pulls the PK properly I am using a computation ON LOAD to turn the text into numeric so that when the Automatic Page Load runs it will always pull from the database based on the PK.
    This part is working properly the problem is that I have an item that is a select list and it unforunately has an dynamic LOV with a query of select a,b from table_xyz where value = :session_state_of_pk
    This is causing me a problem because it is referencing the "text value" and not the numeric value. Even though when I change my page view to "Events" the page rendering shows computations before Items. I even did a Pl/sql process ON LOAD to insert the :session_state value to a debug table.
    So my question is ... If the pl/sql on load process is holding the correct value then why is the LOV of a page item not using the correct value??
    This is the error I get on the page Item that is an LOV:Error: ORA-01722: invalid number performing List of Values query

    Vikas, I have done this and here are the results:
    .01: S H O W: application="110" page="103" workspace="" request="" session="6865688852817169"
    0.01: Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en-us
    0.01: alter session set nls_language="AMERICAN"
    0.01: alter session set nls_territory="AMERICA"
    0.01: NLS: CSV charset=WE8MSWIN1252
    0.02: ...NLS: Set Decimal separator="."
    0.02: ...NLS: Set NLS Group separator=","
    0.02: ...NLS: Set date format="DD-MON-RR"
    0.02: ...Setting session time_zone to dbtimezone
    0.02: NLS: Language=en-us
    0.02: Application 110, Authentication: CUSTOM2, Page Template: 724212235889446
    0.02: ...Supplied session ID can be used
    0.02: ...Application session: 6865688852817169, user=JRP22
    0.02: ...Determine if user "JRP22" workspace "1786101047996118" can develop application "110" in workspace "1786101047996118"
    0.03: Session: Fetch session header information
    <b>0.03: Saving g_arg_names=P103_IP_ID and g_arg_values=077.243
    0.03: ...Session State: Save Item "P103_IP_ID" newValue="077.243" </b<"escape_on_input="N"
    0.03: ...Metadata: Fetch page attributes for application 110, page 103
    0.03: Fetch session state from database
    0.04: Branch point: BEFORE_HEADER
    0.04: Fetch application meta data
    0.04: Authorization Check: "6961000503551770" User: "JRP22" Component: "PAGE"
    0.06: Computation point: BEFORE_HEADER
    <b>0.06: ...Perform computation of item: P103_IP_ID, type=QUERY
    0.06: ...P103_IP_ID=select ip_id from IP where IP = :P103_IP_ID;
    0.06: ...Session State: Saved Item "P103_IP_ID" New Value="32"
    0.06: Processing point: BEFORE_HEADER
    0.06: ...Process "TEST DB INSERT SESSION STATE P103_IP_ID": PLSQL (BEFORE_HEADER) insert into t (col1,col2,tstamp) values ('p395',:p103_ip_id,systimestamp);</b>
    0.08: Show page template header
    0.09: Computation point: AFTER_HEADER
    0.09: Processing point: AFTER_HEADER
    <b>0.09: ...Process "Fetch Row for IP": DML_FETCH_ROW (AFTER_HEADER) F|#OWNER#:IP:P103_IP_ID:IP_ID
    </b>0.10: ...Process "Fetch DNS_NAME To Buffer": PLSQL (AFTER_HEADER) :P103_DNS_NAME_BUFFER := :P103_DNS_NAME;
    0.11: ...Session State: Save Item "P103_DNS_NAME_BUFFER" newValue="3657" "escape_on_input="N"
    0.11: ...Process "Get Next or Previous Primary Key Value": GET_NEXT_OR_PREV_PK (AFTER_HEADER) #OWNER#:IP:IP_ID::IP::P103_IP_ID:P103_IP_ID_NEXT:P103_IP_ID_PREV::::P103_IP_ID_COUNT:
    0.13: ...Session State: Save Item "P103_IP_ID_NEXT" newValue="33" "escape_on_input="N"
    0.13: ...Session State: Save Item "P103_IP_ID_PREV" newValue="31" "escape_on_input="N"
    0.14: ...Session State: Save Item "P103_IP_ID_COUNT" newValue="32 of 3434" "escape_on_input="N"
    0.14: ...Process "Fetch MAC_ADDRESS": PLSQL (AFTER_HEADER) select mac_address into :P103_MAC_ADDRESS from mac_address where IP_ID = :P103_IP_ID;
    0.15: ...Session State: Save Item "P103_MAC_ADDRESS" newValue="00-16-3G-33-25-33" "escape_on_input="Y"
    0.15: ...Process "Fetch Container_Type": PLSQL (AFTER_HEADER) select container_type into :P103_CONTAINER_TYPE from container_type where container_type_id = :P103_CONTAINER_TYPE_ID;
    0.16: ...Session State: Save Item "P103_CONTAINER_TYPE" newValue="BASE_UNIT" "escape_on_input="Y"
    0.16: ...Process "Populate Hidden Assign value": PLSQL (AFTER_HEADER) :P103_ASSIGNED_BUFFER := :P103_ASSIGNED;
    0.16: ...Session State: Save Item "P103_ASSIGNED_BUFFER" newValue="Y" "escape_on_input="N"
    0.16: Authorization Check: "4769021032313739" User: "JRP22" Component: "tab"
    From Session State after the page has loaded:
    Application Page Item Name Display Item Value Status
    110 103 P103_IP_ID Hidden 32 U
    Vikas: From the debug info you can the value comes in with the the IP ( I have removed the first two octets from the debug information) "Saving g_arg_names=P103_IP_ID and g_arg_values=077.243"
    A few steps later a computation is performed and the IP is chagned to an IP_ID which the value is 32, this is correct at this point.. Following that there is a pl/sql insert of :P103_IP_ID and that value is 32 inside the db table.
    Here is what it looks like on the screen:
    <b>Any ideas why the Select List LOV does not like this value?</b>
    Here is the actual LOV query:
    select dns_name,dns_name_id from dns_name where ip_id = :p103_ip_id
    Message was edited by:
    Justin P

  • Date picker's session state

    Hi,
    I have problems with date picker. There is a tabular form with several columns and one of them is Date. I have chosen a date picker instead of textfield so that user can choose a date easier. When user clicks Submit button, validation runs. My validation gives error message on Error Page. When user clicks 'OK' link on Error Page browser should go back to previous page without refreshing it so that there are still invalid values in form's fields entered by user before validation. But when I use Date picker the tabular form is being refreshed and all the input is lost. When I use textfield for Date column everything works fine - user clicks an 'OK' link on Error Page and he/she is taken to previous page where invalid data is still there in form.
    Is it possible to save a session state of a Date picker using Error Page? If not, is it possible to implement a mask for textfield in Date column so that when user writes the date he/she can see the format he/she should use?
    Regards,
    Tom

    Hi Phil,
    The problem is that it does not matter what the date format is set. The problem seems to be that date picker just exists in form! It seems that if there is a date picker in tabular form then the page always refreshes, it cannot be restored with javascript (history go -1).
    So is it possible to save date pickers session state or to solve this problem in any other way?
    Regards,
    Tom

  • ORA-29549: class hlpr_pdf_list_java has changed, Java session state cleared

    looks like this the simple program.... but i am getting that error
    SQL> create or replace and compile java source named "hlpr_pdf_list_java" as
    2 import java.io.*;
    3 import java.util.*;
    4 import java.util.zip.*;
    5 import java.text.*;
    6 import java.lang.*;
    7 import java.sql.*;
    8
    9 class hlpr_pdf_list_java
    10 {
    11 public static String hlpr_pdf_list_java(String dirname) throws Exception
    12 {
    13 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    14 Connection con = DriverManager.getConnection("jdbc:odbc:hlpr_dsn", "hlpr", "hlpr");
    15 Statement stmt = con.createStatement();
    16
    17 String retval=null;
    18 File dir = new File(dirname);
    19 String[] files = dir.list();
    20 if (files!=null)
    21 {
    22 for (int i=0;i<files.length;i++)
    23 {
    24 retval = files;
    25 stmt.executeUpdate("insert into hlpr_dir_list(dir_name,file_name) values(dirname,retval)");
    26 }
    27 }
    28 return retval;
    29 }
    30 }
    31 /
    Java created.
    SQL>
    SQL> CREATE OR REPLACE function hlpr_getfilesindir_fn(p_long_path_dir_name varchar2) return varchar2
    2 as language java name 'hlpr_pdf_list_java.hlpr_pdf_list_java(java.lang.String) return java.lang.String';
    3 /
    Function created.
    SQL>
    SQL> select hlpr_getfilesindir_fn('/d01/oradata/atlanta_gi/2007_10_1_12_31') from dual;
    select hlpr_getfilesindir_fn('/d01/oradata/atlanta_gi/2007_10_1_12_31') from dua
    l
    ERROR at line 1:
    ORA-29549: class HLPR.hlpr_pdf_list_java has changed, Java session state cleared
    SQL>
    any clues?

    Hi,
    Please from now own put this exact tag => (So that's: four characters, forming the word 'code' between curly brackets)
    before and after your examples. That way your indentation and formatting remains intact and we will be able to read and understand faster what's going on.
    ORA-29549: class HLPR.hlpr_pdf_list_java has changed, Java session state cleared
    any clues?
    Probably all you need to do is call your function once more or reconnect.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14219/e29250.htm#sthref8038
    +edit+
    Also let us know if you've got access to MetaLink/MyOracleSupport
    Edited by: hoek on Aug 24, 2009 9:23 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Problem with application item and session state

    Okay, let's see if I can explain this problem coherently.
    I have a small app (one page), with an application item, F_WHERE_CLAUSE.
    This page has three regions in which there are items that the users can populate for search conditions. A couple of these items are "select list with submit" (I still need to upgrade to the AJAX method, I know). There is another region which has one hidden field, called P1_WHERE_CLAUSE. This field is defined to "Always, replacing any value in session state..." with source type of "Item (application or page.....", and a source value of F_WHERE_CLAUSE with no default value.
    I have a button called "Search" which submits the page and fires a PL/SQL process which builds a where condition based upon the other page items and stores the value to the application item F_WHERE_CLAUSE (correctly).
    For testing, I've made the P1_WHERE_CLAUSE field visible so that I can see what's going on. I've also clicked the debug and session buttons to help trace this. After I click the "Search" button and the page submits, debug shows:
    0.02: ...Session State: Save "P1_WHERE_CLAUSE" - saving same value: "1=1"
    followed later by:
    0.05: ...Session State: Saved Item "F_WHERE_CLAUSE" New Value="lower(primary_class) = 'rock' and country = 'Spain'"
    The field P1_WHERE_CLAUSE displays with the correct search criteria as signified by F_WHERE_CLAUSE above. However, If I click the "session" button to view the session state values, P1_WHERE_CLAUSE shows up as:
    P1_WHERE_CLAUSE Textarea    1=1    U while F_WHERE_CLAUSE displays the correct value still.
    The reason this "problem" came up, is that this page also has three SQL report regions which use &P1_WHERE_CLAUSE. for the where condition. While they display the correct results on-screen, each report region also has the "Export to csv" enabled, and the export seems to be using the "1=1" condition (from the "session" window) instead of the search criteria that the on-screen region is using (F_WHERE_CLAUSE and the displayed P1_WHERE_CLAUSE), resulting in a retreival of all records.
    Anybody have any idea what's going on and why, and how to get the csv export to use the correct value for the where condition?
    Thanks,
    Bill Ferguson

    It appears the "Export to CSV" functionality requires the item value to be set in session state. The P1_WHERE_CLAUSE item value never gets saved to session state. The page is rendered and the value is put in the item on the page but until you submit the page session state doesn't know what P1_WHERE_CLAUSE is.
    Create a before header computation or process to set the value of P1_WHERE_CLAUSE (which will save it to session state). It is interesting that the report regions didn't need to look at the value in session state but the "export to csv" does.
    --Jeff                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Session State in Report Queries

    Hi all,
    I've got a report query with XML Structure set to advanced. I added two items to session state - a "department name", and a "current date" - these are application items that I want to put in the page header of my report template.
    After I load the XML data and go to insert a field, I see some session info available for inserting (appl id, user, report title, etc.) along with my report fields, but I don't see the two session items I added. I took a look at the XML data and they're not there.
    How do I get the session items to be included with the XML?
    Thanks!!!

    Sorry, I should have mentioned I am using a BI Publisher RTF Layout for my report layout, therefore I don't believe I can use it on apex.oracle.com. If BI Publisher is in fact installed there, then please correct me.
    I am including session variables with the report, but the session variables between all of the report queries in my application are common between report queries. (Even though I really only want variables specific to each report to be included) When I add or delete a session variable from one report query, it affects all report queries in my application. This could be a feature, but I doubt it since it does not seem intuitive.
    In addition, sometimes a random session variable or set of session variables will disappear from the list. (this is what I meant by drop) I cannot seem to determine when/what triggers this action, but it seems like this may occur when I delete a particular report query.
    I can try to put up an example on apex.oracle.com, but I'm not sure if this is dependent on the presence of BI Publisher.
    Thanks in advance for any help!
    -David

  • Session state and browser cache - Back button problem

    Hi all,
    I have a problem (and unless I'm missing something I think we all do) with session state and use of the browser's Back button. I really hope I'm just being dumb...
    Background scenario:
    Page P has a sidebar list allowing the user to select what content is displayed (e.g. 'stuff relating to X, Y or Z' where X, Y and Z are rows in, say, a table of projects). When a list entry is clicked, we branch to page P with the value of the list item placed in an application-level item (call it G_PROJECT). Reports on page P use G_PROJECT in their WHERE clauses.
    So, click list entry X and G_PROJECT is set to X and page P shows reports for project X.
    Page P also has a set of buttons which branch to various edit pages which allow attributes of page P's current project to be updated. These pages similarly use G_PROJECT in their WHERE clauses.
    Problem scenario:
    1. The user goes to page P and picks project X off the list. Project X's stuff is displayed (G_PROJECT = X).
    2. The user then picks project Y off the list. Project Y's stuff is displayed (G_PROJECT = Y).
    3. The user then clicks the browser's Back button. The page is served from browser cache, so project X's stuff is displayed, but G_PROJECT still = Y.
    4. The user clicks an 'Edit' button; we submit, and branch to an edit page which displays (and will edit) data for project Y because G_PROJECT still = Y.
    This is SERIOUSLY BAD NEWS - apart from being confusing, the user's edit permissions on projects X and Y may differ, and so the user may be able to perform 'illegal' updates.
    I've read what I can on this forum and the rest of the web looking for ways to a) inhibit browsers' 'Back' functions and/or b) prevent pages being cached by the browser, but none of them have worked for me.
    Short of waiting for browser manufacturers to recognise that the web is now full of applications as well as static pages, and enable robust programmatic control of cache behaviour, does anybody know how the problem can be avoided - or at least detected?
    Thanks,
    jd
    Failed attempts to date:
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="cache-control" content="no-store">
    <meta http-equiv="cache-control" content="private">
    <meta http-equiv="cache-control" content="max-age=0, must-revalidate">
    <meta http-equiv="expires" content="Wed, 09 Aug 2000 01:01:01 GMT">
    <meta http-equiv="pragma" content="no-cache">
    Disallowing duplicate submission (page attribute).
    window.history.go(1);

    Thanks Scott,
    I may be being dumb here but I don't see how that would help...
    P250_PROJECT and G_PROJECT are currently kept in sync by app logic. Whichever is used to drive, if the page is rendered from cache then the app logic is not executed, so the rendered page contents are not those keyed by P250_PROJECT, as illustrated in steps 1-4 of the problem above.
    The user sees X, the session items say Y. The engine doesn't know what the user is seeing.
    when page P is POSTed, its hidden item P250_PROJECT should always be used to derive the application item G_PROJECT. Then whether the page was pulled from cache or rendered anew via a click from the sidebar link, the project ID is determined by the contents of that page.
    As I said above I tried this, with the 'Edit' branch set to:
    Set these items: G_PROJECT
    With these values: &P250_PROJECT.
    but it makes no difference. The project ID is not determined by the rendered page contents - the engine gets the value of P250_PROJECT from session state.
    I can code the 'Edit' pages such that they check permissions and if necessary redirect back to p250 (conditional before-header branch), but that's a clunky cure rather than the prevention I was hoping for.
    Please tell me if my understanding is incorrect.
    jd

  • Row fetching, session state, multi-page processing of 1 row - problems

    I'm building an application that's updating a couple of tables via an updateable view and an instead-of trigger. That portion of it works OK, EXCEPT for the problems that I'm having with the APEX end.
    I've got 3 pages; the first page reads the row in via the automated row fetch and has, say columns 1-20.
    Page 2 has, say, columns 20-40 and page 3 has the remainder.
    I have the row fetch set up conditionally so that it only executes the first time that page 1 is displayed. All the columns are set as Database Columns.
    It seems that if I fill in fields on page 1, move to page 2, and back to page 1, the contents of the fields on page 1 are destroyed unless I set their 'Source used' to 'Only when the current value in session state is null'.
    Furthermore, upon update (which is on page 3, via an automated row update), the only columns that get updated are those that exist on page 3. The column values from the other pages no longer exist.
    Does navigation to another page not retain the session-state of database-column items?
    Am I better off just writing my own processes to perform the updates?
    Any other suggestions?
    Frank

    Hello Frank,
    >>I have the row fetch set up conditionally so
    that it only executes the first time that page 1 is
    displayed …
    It seems that if I fill in fields on page 1, moveto page 2, and back to page 1, the contents of the
    fields on page 1 are destroyed unless I set their
    'Source used' to 'Only when the current value in
    session state is null'.
    It seems that the first sentence is not consistent
    with the second one. The only reason the values are
    destroyed, as you call it, is that the ARF is running
    again. What condition are you using on your ARF?
    In any case, the right way to deal with it is to
    change the source used to "Only …", as I understand
    you already did.
    Hi Arie,
    I set an item after the first ARF. I then have the ARF set to execute conditionally based on the presence of that item. (I also display a success message on the ARF, so I know that the ARF is only occurring once). I move to subsequent pages by submitting the current pages.
    >>Does navigation to another page not retain the
    session-state of database-column items?
    Navigating to another page does retain the session state values.
    It's depends on what you mean by navigating.
    Submitting the page set/update session state.
    Redirect without submitting the page will not
    set/update the session state.
    >>Furthermore, upon update (which is on page 3,
    via an automated row update), the only columns that
    get updated are those that exist on page 3. The
    column values from the other pages no longer
    exist.
    Automatic DML is working only with the current page
    items. You can't use it to insert/update other page
    items, even if they are in session state. However, in
    your case, it's not the Automatic DML performing the
    actual updates, but your triggers. Are your triggers
    relying on session state values?
    I think this statement 'Automatic DML is working only with the current page
    items.' answers my question. My trigger is working on session state values. It's an 'instead-of' trigger, so I was letting the automatic DML perform the 'update' on the view, while allowing the trigger to do the actual update of several tables that the view joins by referring to their :NEW. values in the trigger. Since the DML occurs on my last page, those were the only session state values that my trigger ultimately saw.
    >>Am I better off just writing my own processes to
    perform the updates?
    I believe the correct way is to submit the page and
    then branch to the next one. Submitting the page will
    save all your items in session state, and allow these
    items to be available for page 3 DML.
    Regards,
    Arie.I'm doing that already - all the values do appear to be in session sate, except only the items that are on the last page actually make it to the automatic DML update, which seems to agree with your previous statement.
    I suppose I could write my own process to perform the update, as the values are available in session state.
    Thanks,
    Frank

  • What is the best format to use on an external hard drive so I can both back up my Macbook Pro and also put movies on it from another hard drive (PC)?

    I am looking for a solution to whether if it is best to get two hard drives or one that can do two things that I want.
    I am looking for a hard drive format that can both back up my 500GB Macbook Pro but I was also wondering if I could also put movies on it from another hard drive that is PC based. Would partitioning the hard drive work for this? I don't know what are the best formats to use.
    If this is too hard it might just be easier having a separate 500GB hard drive for back up of my Mac and another bigger hard drive for the movies etc (the files are probably bigger than 4GB). Any help would be greatly appreciated as I need to make a decision soon!

    Csound1 wrote:
    Microsoft has not released the official exFAT file system specification, and a restrictive license from Microsoft is required in order to make and distribute exFAT implementations. Microsoft also asserts patents on exFAT which make it impossible to re-implement its functionality in a compatible way without violating a large percentage of them.[13] This renders the implementation, distribution, and use of exFAT as a part of free or open-source operating systems or of commercial software, for which the vendors could not obtain a license from Microsoft, not only technically difficult, but legally impossible in countries that recognize United States software patents.
    Can't help with that, if one is using a Windows machine then they are subjected to their rules and control.
    Limited support outside Windows and Mac OS X operating systems as of 2012, when most consumer electronic devices could only handleFAT12/FAT16/FAT32, rendering exFAT (and flash memory formats using it) impractical as a universal exchange format.
    The OP said they plan to store movies on the external drive.
    Many movies today are well over 4GB in size, thus exFAT has to be used and formatted on the PC, which the Mac can then read.
    Older Windows NT versions up to Windows Vista without Service Pack 1 do not support exFAT.
    Irrelevant, Microsoft provides a free download of exFAT for Windows XP, and Vista shouldn't be running on pre SP1 anyway.
    Some distributions of Linux have begun to include support for exFAT. It is however, only available as a file system in user space, as it's not supported by the kernel.
    Irrelevant, OP is using Windows and OS X, not Linux and if they did Linux can read the files at least and transfer, which is all they care about really.
    Windows Vista is unable to use exFAT drives for ReadyBoost. Windows 7 removes this limitation, enabling ReadyBoost caches larger than 4 GiB.[14]
    Irrelevant, the OP's is intending to use it as transfer drive between Mac's and Windows for movies.
    The standard exFAT implementation only uses a single file allocation table and free space map. FAT file systems instead used alternating tables, as this allowed recovery of the file system if the media was ejected during a write (which occurs frequently in practice with removable media). The optional TexFAT component adds support for additional backup tables and maps, but may not be supported.
    Some relevancy, but only exFAT can handle 4GB+ files between Mac's and PC's, so the need outweighs the possible problem.
    The OP needs to follow the standard Windows practice of "safely removing hardware" before physically disconnecting the external drive. If a write is occurring, it won't allow disconnecting until the write is finished.
    Support for up to 2,796,202 files per subdirectory only.[1][nb 3] Microsoft documents a limit of 65,534 files per sub-directory for their FAT32 implementation, but other operating systems have no special limit for the number of files in a FAT32 directory. FAT32 implementations in other operating systems allow an unlimited number of files up to the number of available clusters (that is, up to 268,304,373 files on volumes without long filenames).[nb 4]
    Not a issue, only in extreme cases of a lot of small files. The OP plans to use it for movies which are usually large and take up a lot of space on the drive.
    IMMO It looks like you just ran off and copied something to argue your point when all the points are basically irrelevant.
    There is only one format that can easily share 4GB sized files between Mac's and PC's without further complications.
    It's ALSO possible to install MacDrive on the PC and format the drive on the Mac HFS+, but I didn't recommend that because I know it's a hassle just like third party NTFS writing software is a hassle on Mac's.
    If you so anti-Microsoft format, then you must know Paragon has to pay a license fee to Microsoft for using the NTFS format.
    At least with exFAT there is no fee to Redmond, at least not yet.

  • Different ways to referencing Session State variables

    Hi,
    According to APEX documentation there's 4 different ways to reference session state variables: http://download-west.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/concept.htm#BEICHBBG
    In an inline PL/SQL statement, what's the difference when using the different methods? I remember reading something that the bind and static text have a size restrictions. What's the difference between the V() and NV() functions?
    Thank you.
    Martin

    Martin,
    In PL/SQL, the preferable method is to use bind variable notation, e.g., :P1_ITEM. In HTML contexts, you must use &ITEM. notation. In stored procedures, you can use v or nv, the latter function being identical to the former with the additional characteristic that it raises an exception if the retrieved value is non-numeric.
    Scott

Maybe you are looking for