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

Similar Messages

  • How to update session state from form field values without submitting page?

    Hi,
    I am new to Oracle APEX. I am using Oracle Apex 4.2 on Oracle 11g release 2. The problem is that when I am entering data on a form, when I enter a value in one field and move to the next field, how can I use the value of first field in the validation procedure of next field? I know that when we enter data in fields, the session state is not updated with these values until we submit the page... right... but I have seen that if there is a control of List box type, then Apex gives an option "Action When List changes" where we can choose option to update corresponding session state field with the value of list box item, without submitting the page.
    Now my questions is why this option is only available for List box items? why not for other item types like Text box, Check box,... ? can someone please help me with this?
    (the issue with update of session state depending on page submitting, is that we need a complete network round trip from client to server in order for it. However if we can update session state variables without submitting page, then we can avoid this network traffic).
    Any help will be greatly appreciated. Thanks in advance.

    Create a dynamic action on change and run a PL/SQL process there with the following code:
    BEGIN
       NULL;
    END;Page items to submit > your item.
    This will set the session state without submitting the form.
    Further examples here:
    http://apex.oracle.com/pls/apex/f?p=31517:229
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • Items session State from form to another ...

    Hi Guys,
    I have been trying to pass items session state from one page to another page that is opened on Sikllbuilder Modal Page, but to no avail.
    I have been trying to pass items session state from one page to another page using branch , but to no avail.
    Can you please have a look...
    workapce: fam
    user: test
    pwd: test
    Application 64941 - Modal Page
    On the setting of Skillbuilders Dynamic action, I used this Static URL:
    f?p=&APP_ID.:2:&APP_SESSION.:::2:P2_MOBILE,P2_MOBILE2,P2_MOBILE3:&P1_MOBILE.,&P1_MOBILE2.,&P1_MOBILE3.Regards,
    Fateh

    Hi Trent,
    Actually, i did not create new DML. and my problem is not with the source.
    in a nutshell,
    the items on the first page have source of Static assignment .. only one item has a default value
    the items on the second page have source of Database Column .. none of the items have default value
    1- What caused the confusion is:
    We run the page 1 , we have an item (Mobile) with a default value ( that means it has a session state value by default ) > Concur.
    I type a value on the second item ( Mobile 2) then set session values.
    both items ( Mobile & Mobile 2 ) have session state values. > Concur.
    Click Modal Page button to trigger the modal page. where the Static URL is:
    f?p=&APP_ID.:2:&APP_SESSION.:::2:P2_MOBILE,P2_MOBILE2,P2_MOBILE3:&P1_MOBILE.,&P1_MOBILE2.,&P1_MOBILE3.We see that only the value of the first item (P1_Mobile) goes to the modal page. but rest of the items do not go.
    I hope that it is clearer now..
    Best Regards,
    Fateh
    If you want details, Please allow me to tell my scenario. I have two forms "Clients", "Inquiries".
    As a client calls, I need to identify whether the client is exit on the DB or not.
    So, as the client calls, we enter the mobile phone number into items that have static assignment source, then click on a button to check if the client details are already on the DB. if yes, the inquiry form shows up. if No, a modal page (that have clients form) pops up to allow inserting the details of the client in items that have Database Column Source . but since we have already inserted the mobile number in the the first step.. I do not want to insert them again in the client form.
    Regards,
    Fateh

  • Apex bug?  Items being cleared in session state - can't figure out why

    I have an item that is being submitted with a value but is then being overwritten and set to null. I can't see any reason why the submitted value is being overwritten with null.
    I have been debugging this problem for most of the day and can't figure out what is happening and was hoping someone in the forum might be able to shed some light.
    Some details:
    The item is on Page 0, has source type of "PL/SQL Expression or Function", a source expression of "V('REQUEST')", and Source Used = "Always".
    I viewed the HTML source of the rendered page and can see the following HTML, so I know the item has a value when the page is rendered:
    <input type="hidden" id="RENDER_REQUEST" name="p_t08" value="EDIT" />
    I have used Firebug to view the HTTP POST body and can see that p_t08 is being correctly submitted with a value of "EDIT" in the post body.
    When I run the page in debug mode and then view the debug log, I see that Apex is indeed setting this item to null:
         0.01500     0.01600     A C C E P T: Request="WIZ_NEXT"
         0.23400     0.00000     Session State: Save form items and p_arg_values
         0.24900     0.01600     ...Session State: Save "BRANCH_TO_PAGE_ID" - saving same value: ""
         0.24900     0.00000     ...Session State: Save "ROWS_PER_PAGE" - saving same value: ""
         0.26500     0.01500     ...Session State: Save "P0_CLEAR_WS" - saving same value: ""
         0.26500     0.00000     ...Session State: Saved Item "RENDER_REQUEST" New Value=""
    I can't figure out why the item is being set to null.
    This problem also does not occur on every page. The pages in question are a multi-step "wizard" that allows the user to navigate between steps with "Next" and "Previous" buttons. Since this is a page 0 item, it appears on every page in the wizard so I'd expect it to behave the same. When you open the wizard at step 1 and press next to go to step 2, the item (RENDER_REQUEST) is set correctly on step 2 of the wizard, BUT when you then click Next to go to step 3, RENDER_REQUEST is null on step 3. If you open the wizard at step 2 and press Next, RENDER_REQUEST is null on step 3.
    I did find a work around, but it doesn't make any sense why it would work: if I move the RENDER_REQUEST item from the "Footer Items" region to a page level item (by using Edit All and setting its region to blank), then the problem goes away. If I move it back to the "Footer Items" region the problem reoccurs.
    I am working on Application Express 4.0.2.00.07 on Oracle Database 11g Enterprise Edition Release 11.2.0.1.0.
    Any help would be greatly appreciated!
    Thank you.

    Hi Patrick,
    Thanks for the quick response. Unfortunately, I can't reproduce this on apex.oracle.com due because the app requires PL/SQL packages to be installed in several schemas, including some that require system grants (I gave a presentation at Oracle Open World a couple of years ago on some of the techniques I used in building this application that you attended; I think the session was called "Building Large Commercial Applications with Oracle Database 11g and Oracle Application Express").
    Is there another way we can work together to debug this without reproducing it apex.oracle.com? For example, if you could send me an instrumented version of the APEX_040000.F procedure (or whatever procedure is clearing the session state) that has some additional APEX_APPLICATION.DEBUG calls, I could install it on my server, reproduce the error and send you the output.
    Thank you,
    Eric

  • Setting session state post-authentication

    Hi all,
    This application uses DATABASE ACCOUNT authentication, and has a post-authentication process that sets a few application items using code such as
    apex_util.set_session_state('F_MY_ITEM', v_my_value);These items are used to secure certain tab options within the application.
    The post-authentication PL/SQL works fine, I can't see anything wrong the the logic. I've debugged it and I know the values are being set. I'm checking the value of session state straight after using v('F_MY_ITEM'), along with checking my session ID matches up - everything seems ok there.
    The issue is that when I log in, the session state is not set for those items - even though the post-auth process is called with no errors raised. Apex debug states
    ... Session State: Save "MY_ITEM" - saving same value "Y"If I log out, then log in (without closing browser tab), the values are now set as expected (visual confirmation using conditionally displayed tabs, and of course checking session state from developer toolbar)
    Notably, Debug states something slightly different
    ... Session State: Save item "MY_ITEM" newValue="Y" escape_on_input="Y"There are a few other differences with the debug output, this this seems the most pertinent.
    The only difference I've been able to track down is if I'm logged into the application builder in the same browser.
    If I attempt to log in with a freshly opened browser, navigate directly to application URL, the behaviour works as expected. Tabs appear as if items are set.
    Could the fact I'm authenticated in the application builder be messing with session state behaviour?
    This is with Apex 4.0.2.00.07; agnostic to browser (IE/FF/Chrome); 11gr2
    Cheers,
    Scott

    I did consider this because I experienced the same thing with page processes.
    However, in this case my post-auth function is within a package and I don't use bind variables.
    I was essentially doing this in my package:
    apex_util.set_session_state('F_MY_ITEM', 'Y');
    my_log_proc(v('F_MY_ITEM'));And seeing Y in the debug log, yet once on my home page, viewing session state I see F_MY_ITEM as empty - unless in the scenario I described.
    It's not a showstopper since the users won't be logged in to the application builder, but it would be nice to know the cause.

  • Session state consistency - how does APEX keep session state across pages

    I would like to know how the APEX develper tool keeps session state from being overwritten across mutiltple pages in the same Session. Because this is difficult to explain I'll use an example from withing the APEX dev tool
    For Example:
    1. I navigate to the page (4150) thet allows me to edit my Page 880 [Window 1]
    2. I now do a Cntrl^N to Open a New Window in the same session (this opens on the same Page 880 in the new window) [Window 2].
    3. In Window 1, I click an item to update ie I want to put a comment on the Unconditional Branch so click this to go to the Update page. I see the F4000_P4313_ID is passed in the URL (ie the context, UID of the Branch).
    4. In Window 2, I change the page to 881 - ie this is overwriting my Session State variables for page 880 with page 881.
    5. I click an item in Page 881 to update ie I want to put a comment on the Unconditional Branch so click this to go to the Update page. I see the F4000_P4313_ID is passed in the URL (ie the context, teh UID of the Branch).
    6. In Window 1 (the Page 880), I add a comment to the Branch and 'Apply' changes. On returning to the Page the context has changed from 880 to 881 (as expected as Window 2 had overwritten the session state). Slightly confusing for the user as they did go from Page 880 not 881 but ok
    What intrigues me is how the Edit Branch page applied the update to the correct branch [good !]. Why weren't the Branch Session state variables (ie the Branch for Page 880) overwritten with the Branch Session state variables for the Branch from Page 881 ?
    Both navigations go to the same Page passing the UID of the branch, hence I would of thought the last navigation is the one that would be persisting (ie from Page 881 Window) ?
    Any tips on preventing users updating the wrong record because of the Session State being overwritten would be most welcome.
    Look forward to hearing from you.

    Let me take a shot at explaining this.
    Session state is stored in Oracle database tables. When a APEX page is rendered, those tables are read and the HTML is sent to the browser. When that page is submitted, all the HTML form inputs on the page are saved back into session state over-writing any existing values for that session
    So, in your example, since Page 4313 has the hidden page item (the "GUID" of the branch), it doesn't matter if any other window has the same page open with some other GUID. Each page is a self-contained "unit" which has all the information necessary to properly process that page when it is submitted.
    Think of it this way...in your example, when you have windows 1 and 2 open (window 2 was opened after window 1), go back to Window 1 and click the browser's Reload/Refresh button. Instead of refreshing the same page (branch 9000000), you will find that it will load branch 8000000! This is because session state is read from the database and when Window 2 was rendered, it has set F4000_P4313_ID in session state to 8000000.
    Hope this helps.

  • FRM-40737: illegal restricted procedure COMMIT in POST-TEXT-ITEM trigger

    Hi All,
    I tried to execute an insert statement in a POST-TEXT-ITEM trigger and use commit to save data in the db but this error appeared:
    FRM-40737: illegal restricted procedure COMMIT in POST-TEXT-ITEM trigger
    How to solve it? OR how to save every text item value entered in the database?

    I don't fully understand, why you need to insert records on post-text-item, but the possible solution is:
    Write a DB procedure which does insert and commits it.
    Call this procedure in post-text-item.
    Problems will occur if your procedure is modifying the table columns, which are used in form. Form will notice that values in DB have changed and you will have "Record has been changed by another user. Please requery to see changes" error. But if records, affected by DB procedures, are not used in form, the wverything will be OK.

  • Saving session state on authentication

    Hey all...
    In all my applications that interact with each other, I am running an application-level process on authentication which loads two preferences into applicaton-level items. I am seeing different results when jumping into different applications even though the executing code is the exact same in all applications, a stored procedure in the database. Here is a simplistic example.
    When application A calls a page in application B, an "on authentication" application-level process of application B reads two preferences and appropriately populates them into two application-level items of application B. When application A (or B for that matter) calls application C, the same-coded application process in application C attempts to populate two application-level items, but one of them is not being populated.
    It appears that the problem lies only with application C because regardless of whether I come from application A or application B, the same problem happens.
    When I go from application A to application B in debug mode, I see the following in reference to this problem:
    0.05: Computation point: ON_NEW_INSTANCE
    0.05: ...New Session = True
    0.05: Processing point: AFTER_AUTHENTICATION
    0.05: ...Process "Setup Seed Data": PLSQL (AFTER_AUTHENTICATION)
    1.11: ...Session State: Save Item "ORIGINAL_APP_ID" newValue="104" "escape_on_input="Y"
    1.11: ...Session State: Save Item "ORIGINAL_PAGE_ID" newValue="7" "escape_on_input="Y"
    When I go from either application A or application B to application C, I see the same debug messages except for an additional line that doesn't make sense to me. Following is an example:
    0.05: Computation point: ON_NEW_INSTANCE
    0.05: ...New Session = True
    0.05: Processing point: AFTER_AUTHENTICATION
    0.05: ...Process "Setup Seed Data": PLSQL (AFTER_AUTHENTICATION)
    1.11: ...Session State: Save Item "ORIGINAL_APP_ID" newValue="104" "escape_on_input="Y"
    1.11: ...Session State: Save Item "ORIGINAL_PAGE_ID" newValue="7" "escape_on_input="Y"
    <strong>1.11: ...Session State: Saved Item "ORIGINAL_APP_ID" New Value=""</strong>
    In all three applications, the exact same code is being run which determines if the preferences "is not null", and if so, sets the two preferences in the "current" application. I'm happy to show you the code of my stored procedure that does this if you like.
    The only thread I've seen in the forum that looks similar is the following:
    Re: Session state issues
    I've followed its suggestion of deleting and recreating the application-level item, but that did not solve my problem.
    I'm confused as to why the new line indicating "Saved Item" is showing up in the application C. Is there documentation available to explain the difference between "Save Item" and "Saved Item" when running a page in debug mode?
    Shane.

    Here are the different componets that are in play and some notes that may help understand the situation:
    - the failure happened when the two application-level processes below were just one process. works fine when they are split up.
    - the trick of using the SESSION as the USER_ID is because I want the preference to only be good for the session, not everytime the user logs in. ( i learned this trick from the ApEx forum! )
    - the stored procedure is in a package owned by a separate schema than the built-in ApEx user.
    On-Authentication Application-Level process with Sequence 10:
    begin
    :person_id := iv_portal.iv_emp_pkg.get_person_id ( v('USER') );
    apex_util.set_session_state ( 'PERSON_ID', :person_id );
    :core_app_id := iv_htmldb.iv_gen_pkg.get_core_app_id;
    apex_util.set_session_state ( 'CORE_APP_ID', :core_app_id );
    :user_vax_id :=
    substr ( iv_portal.iv_emp_pkg.get_vaxsub_id ( :person_id ), 1, 6 );
    apex_util.set_session_state ( 'USER_VAX_ID', :user_vax_id );
    :user_sub_id :=
    substr ( iv_portal.iv_emp_pkg.get_vaxsub_id ( :person_id ), 7, 1 );
    apex_util.set_session_state ( 'USER_SUB_ID', :user_sub_id );
    :proxy_person_id := apex_application.fetch_app_item
    ( 'PROXY_PERSON_ID', :original_app_id );
    apex_util.set_session_state ( 'PROXY_PERSON_ID', :proxy_person_id );
    end;
    On-Authentication Application-Level process with Sequence 15:
    declare
    l_username varchar2(50) := v('SESSION');
    begin
    iv_htmldb.iv_gen_pkg.setup_homepage_preferences ( l_username );
    end;
    SETUP_HOMEPAGE_PREFERENCES Stored Procedure
    procedure setup_homepage_preferences ( l_username in varchar2 ) is
    l_app_id varchar2(5) := v('APP_ID');
    l_page_id varchar2(5) := v('APP_PAGE_ID');
    l_pref_app_id varchar2(5) := null;
    l_pref_page_id varchar2(5) := null;
    begin
    -- clean up old sessions
    -- cannot do this however due to lack of access to the ApEx tables.
    delete from flows_020200.wwv_flow_preferences$ p
    where user_id != v('SESSION' )
    and user_id in ( select to_char ( id )
    from flows_020200.wwv_flow_sessions$ s
    where s.cookie = v('USER')
    and s.last_changed < sysdate - ( 0.5 ) );
    commit;
    if apex_util.get_preference ( 'ORIGINAL_APP_ID', l_username ) is null
    then -- then set the preference to the current application and page.
    apex_application.debug ( 'setting the ORIGINAL application items.' );
    apex_util.set_preference ( 'ORIGINAL_APP_ID', l_app_id,
    l_username );
    apex_util.set_preference ( 'ORIGINAL_PAGE_ID', l_page_id,
    l_username );
    else null;
    end if;
    -- set the application level items to the preference values
    l_pref_app_id := apex_util.get_preference ( 'ORIGINAL_APP_ID', l_username );
    l_pref_page_id := apex_util.get_preference ( 'ORIGINAL_PAGE_ID', l_username );
    apex_application.debug ( 'about to set ORIGINAL APP ID to ' || l_pref_app_id );
    apex_util.set_session_state ( 'ORIGINAL_APP_ID', l_pref_app_id );
    apex_application.debug ( 'just set ORIGINAL APP ID to ' ||
    apex_util.get_session_state ( 'ORIGINAL_APP_ID' ) );
    apex_application.debug ( 'about to set ORIGINAL PAGE ID to ' || l_pref_page_id );
    apex_util.set_session_state ( 'ORIGINAL_PAGE_ID', l_pref_page_id );
    apex_application.debug ( 'just set ORIGINAL PAGE ID to ' ||
    apex_util.get_session_state ( 'ORIGINAL_PAGE_ID' ) );
    end setup_homepage_preferences;
    Shane.

  • ??? 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

  • Session State "Status"

    I was tickled pink -- now you know I'm being facetious -- to see there was documentation on Session State Status.  (Gotta love all those "S".)
    http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21674/concepts_ses.htm
    The session states are: Inserted, Updated and Reset.  Isn't that fantastic!  And probably even correct.  But ...  Wait for it ...!  Wait for it ...!
    Ahhh!  I can't find any Oracle APEX documentation explaining: Inserted / Updated / Reset!   What does "inserted" mean?   How is "updated" different?   "Reset" "how"?  Reset to "what"?
    The answer(s) may be obvious ... if you already know it.  The rest of us can only wonder, I suppose. 
    So, are the definitions documented somewhere?  If it's in a blog, I can't access blogs from work but I can when I get home tonight.
    Thanks for reading,
    Howard

    For a given page or application item:
    Inserted - The value is stored in the session state table for the first time in the session.
    Updated - The value that was already in the session state table acquires a new value.
    Reset - The value that was already in the session state table is changed to null by way of a clear-cache event.
    Scott

  • Item session state during rendering

    Hi,
    Application Express 4.1.0.00.32
    Page process (before heading) sets session state for several items (Text, Always replacing ..., Static Assignment...) but the values are not persistent.
    Debug shows:
    0.32451     0.00116     ...Session State: Saved Item "P1013_REC_PP" New Value="15"          
    0.32567     0.00104     ...Session State: Saved Item "P1013_TOT_AANT" New Value="1"
    0.32671     0.00111     ...Session State: Saved Item "P1013_CURR_SET" New Value="1"
    0.32783     0.00094     ...Session State: Saved Item "P1013_REC_PP" New Value=""
    0.32877     0.00087     ...Session State: Saved Item "P1013_TOT_AANT" New Value=""
    0.32963     0.00060     ...Session State: Saved Item "P1013_CURR_SET" New Value=""
    Where is the 'second round' (immediately following the actual setting in page process) on setting session state coming from?
    Thanks, Jos

    Resolved,
    Dropped the items and recreated some new ones (with different names) and now its OK.
    The original items were copied from each other and renamed. Maybe this is (still) a bug...
    Jos

  • 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Custom Tabular form - Session state values disappear

    Hi,
    I have a custom tabular form page using apex_item and apex_collections. I am using the apex_collection to store the values in memory in order to avoid the data loss in session state. The page is working fine after a validation failure and it shows the values on the second report (as advised for custom tabular forms).
    In this, some of the rows have clob value which needs to be edit on a rich text editor. Since apex_item does not provide a solution to have rich text editor, I have to branch to another page on an Edit link for the CLOB data using a modal window. However When I return back from the modal page, the values disappear from session state, and the validation (using htmldb_application.g_fxx arrays) does not take place.
    Is there any workaround to overcome this issue?
    Apex version: 4.1
    Thanks in advance.
    Natarajan

    Thanks Daniel for your reply.
    Actually its an interface with a custom tabular form on page 1 with apex collections and rich text editor on page 2. Since it is not possible to have the rich text editor, I need to have it in another page (I could have it the same page, that is the way I am trying now) however I open the next page as a modal window.
    I have a link on the tabular form, so that the clob content is opened in the rich text editor on the next page. After the edit, I update it to the same collection and go back to the tabular form page and refreshes the report. It works fine, but causes trouble to the data entered on the other columns in the custom tabular form.
    I have now deviated to another work and put this on a hold. If my explanation is still not clear, I will create the same page in apex.com to simulate the error.
    Thanks again.
    Natarajan
    Edited by: Nattu on Mar 14, 2012 11:35 PM

  • Application Item values in Session State in APEX 4.2

    In 4.2, I am not able to see the session state values of my Application Items if I click "Session" at the bottom of a page. We just migrated from 4.1 and we login to a separate app than where we land upon login. I thought the "Global" scope of the Application Item would allow this to track across apps, but its not working. Is this a known issue?

    fac586 wrote:
    Johnny98 wrote:
    In 4.2, I am not able to see the session state values of my Application Items if I click "Session" at the bottom of a page. We just migrated from 4.1 and we login to a separate app than where we land upon login. I thought the "Global" scope of the Application Item would allow this to track across apps, but its not working. Is this a known issue?When you say +"Global" scope of the Application Item+ do you mean the true global scope introduced in APEX 4.2, or are you using the term colloquially, as in "not a page item"?The new global scope introduced in 4.2
    >
    Johnny98 wrote:
    I login to App 1, but land in App 2. My Application Item lives in App 2. Upon login of App 1, an authentication scheme calls a back end function that assigns variables to the Application Item in App 2. What back end function? How does this function assign values to application items in App 2?APEX_UTIL.SET_SESSION_STATE('APP_ROLE', rec.user_type);
    >
    In APEX 4.1 I can see the session state of my Application Items by clicking on the Session button. I cannot see the session state of Application Items after moving everything to APEX 4.2.Have you selected Application Items from the View select list on the session tab and clicked the Set button?Yes, thats what started this thread

  • Session State Protectio Violoation in Apex 4.2 Page Items

    I'm testing my Apps that I upgraded from 3.2 to 4.2 and getting the message below and haven't been able to understand why.
    Error Session state protection violation: This may be caused by manual alteration of protected page item P2_PAY_NO. If you are unsure what caused this error, please contact the application administrator for assistance
    How the Page works.
    1. Before Region Process runs that pre-populates some of my Text Items.
    2. The user then has the ablibity to select from a select list item that will re-populate the items populated during the Before reqion based on the date selected.
    I do this by calling the code below with an "onchange="javascript:date_populate(this);" on the HTML Form Elements Attributes.
    {var myString = $x(pThis).value;
    var mySplitResult = myString.split("|");
    $x('P2_START_DATE').value = mySplitResult[0];
    $x('P2_PAY_YEAR').value = mySplitResult[1];
    $x('P2_PAY_NO').value = mySplitResult[2];
    $x('P2_PICT_CODE').value = mySplitResult[3];
    $x('P2_END_DATE').value = mySplitResult[4];}
    3. When I submit the page I get the Session State Violation.
    All Items have "Session State Proection" set to "Unrestricted"
    Session State Protection is "Disabled" for the application.
    Edited by: spuchc on Apr 12, 2013 2:07 PM

    Check you are not updating items of type "Display Only".
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

Maybe you are looking for

  • Changing Field Description in  T.Code FBCJ

    Hi SAP Gurus, I am facing a problem with the T.Code FBCJ.  In our organisation we have several branches where they use to save the Cash Payment transactions, they do not post it.While posting the transaction at HO, if the authorised person finds that

  • Need to import Rules from 10.3.9 to 10.4

    I just made a clone of my existing 10.3.9 OS and all folders to a FireWire external hard disc, which is bootable. In fact, I am using Safari on the old OS in order to submit this post, since I am finding the new OS a bit of a nuisance to set up. So y

  • How do you change the appleid account on icloud that is on the iphone?

    We changed our home service providers and got a new email account.  iCloud, iStore and everything else is set up under the new email account.  However the phone still lists the old email account which is no longer active.  I cannot log into icloud un

  • 5G ipod error message

    Just today my computer sent a message that it could not read my Ipod and recommended I return it to factory specifications--I went through the "5 Rs" Lastly, during the restore process I got "ipod manager internal error" message and would not let me

  • How can I have the user input two things to get result

    Hi I am trying to produce an interactive slide where the user will input two items and then receive the result. The easiest way to describe what I am hoping to do is.......... Imagine the multipllication table and the user has to input what he wants