SET PASSWORD FROM SESSION STATE

Hi, I need to set the password from session state but I can not do this when Display As option is set to PASSWORD. In case of Text Field works ok.
How to accomplish this?

Acctually I need to implement the functionality of email confirmation, but I thought a simple way is to login by clicking on a link sent by email.
Anyhow in a password field I can not set the value, even I use a hidden item.

Similar Messages

  • Javascript setting value in session state

    I have a javascript that figures our the interest rate for a mortgage loan based on principal balance, term and monthly payment. The script also rounds up to the nearest 8th. Here is the line code that sets the value on the APEX form:
    document.getElementById('P2_NOTE_RATE_TO_PITIA_31').value = cRate.toFixed(3);
    Obviously this line code doesn't set session state for the value. Users have to submit the form again to pass this new rate to other calculations on the forms.
    Is there another piece of code I need to add to force value to session state? The javascript is called via the page load and it will produce the correct rate when ever values are changed to warrant a new interest rate to be calculated.
    Here is the entire javascript:
    function loanrate() { 
    function getVal(item){
    if($x(item).value != "")
    return parseFloat($x(item).value);
    else
    return 0 ;
    //Allow rates of 0 to 100%, solve to the nearest 0.001%
    var a=0.00001;
    var b=1;
    var tol=0.00001;
    var test;
    var t;
    var y1;
    var y2;
    var P = getVal('P2_NEW_BAL_CALC');
    var A = getVal('P2_NEW_PI_TARGET');
    var N = getVal('P2_REMAINING_TERM');
    var nRate;
    var cRate;
    var root;
    var TEMP = a;
    // Allow only 100 iterations (more than enough for convergence)
    for(var k = 1; k<=100; k++) {
    // A*(Math.pow((1+i),N)-1)/(i*Math.pow((1+i),N)) = present worth of N payments of A (beginning
    // 1 period from now)
    // Finally, subtract P (the present worth, or the price).
    i = a;
    y1 = A *(Math.pow((1+i),N)-1)/(i*Math.pow((1+i),N))- P;
    i = b;
    y2 = A *(Math.pow((1+i),N)-1)/(i*Math.pow((1+i),N))- P;
    test = y1*y2;
    // If test>0, the function that is to be driven to zero has the same sign
    // for both sides of the interval.
    if (test>0) {
    b = a;
    a = TEMP;
    a = (a+b)/2;
    } else {
    // If test <0, the root of the equation is between a and b.
    // If the interval is small enough, return (a+b)/2 as the root.
    // If not, bisect the interval: save a as TEMP, move a (new) halfway toward b.
    t = (b-a)/2;
    if (t<tol) {
    root = (a+b)/2;
    // Compute the annual compounded rate, if payments are monthly
    //var annual = 100*(Math.pow((1+root),12)-1);
    root = root * 100;
    nRate = Math.round(1000 * root)/1000 ;
    cRate = (Math.ceil((nRate * 12)/.125)*.125);
    document.getElementById('P2_NOTE_RATE_TO_PITIA_31').value = cRate.toFixed(3);
    //$x_Value('P4_ANNUAL_RATE',Math.round(1000*annual)/1000);
    break;
    } else {
    TEMP = a;
    a = (a+b)/2;
    }

    I believe the following will do what you need.
    document.getElementById('P2_NOTE_RATE_TO_PITIA_31').value = cRate.toFixed(3);
    var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=dummy',0);
    get.add('P2_NOTE_RATE_TO_PITIA_31',$x('P2_NOTE_RATE_TO_PITIA_31').value)
    gReturn = get.get();
    ...

  • Setting Checkbox & Radio session state (AJAX)

    These functions will set the session state of a checkbox and radio items using Ajax.
    Any feedback is welcomed!
    // AJAX Checkbox Session
    function setCheckboxSession('P1_CHECKBOX'){
         var get = new htmldb_Get(null,html_GetElement('pFlowId').value,null,0);
         get.add(pSource,html_CheckboxValue('P1_CHECKBOX'));
         gReturn = get.get('XML');
         get = null;     
    function html_CheckboxValue(pItemId){
         var boxes=html_GetCheckbox(pItemId);
         var l_val='';
         for (var j=0;j<boxes.length;j++){
              if (boxes[j].checked){
                   l_val = boxes[j].value;
                   break;
         for (var i=j+1;i<boxes.length;i++){
              if (boxes.checked){
                   l_val = l_val+':'+boxes[i].value;
         return l_val;
    function html_GetCheckbox(pItemId){
    var l_array=new Array();
    var re=new RegExp('^'+pItemId.toUpperCase()+"_[0-9]+$");
    var inputs=document.getElementsByTagName('input');
    for (var j=0,l=inputs.length;j<l;j++)
    if (inputs[j].type=="checkbox" && inputs[j].id && inputs[j].id.match(re))
    l_array[l_array.length]=inputs[j];
    return l_array;
    // AJAX Radio Session
    function setRadioSession('P1_RADIO'){
         var get = new htmldb_Get(null,html_GetElement('pFlowId').value,null,0);
         get.add(pSource,html_RadioValue('P1_RADIO'));
         gReturn = get.get('XML');
         get = null;

    check this
    Re: Modifying session state with javascript

  • CPU consumption from session stats 9i .

    Hi,
    I've checked 9.2.0.8 statname view and found out such CPU related stats:
    CPU used when call started
    CPU used by this session
    recursive cpu usage
    When I measure deltas (lets say 1 sec delta) of that stats is that good indicator of which session is burning CPU the most ?
    Since 10.2 we have DB time (time model) so its kind of obvious but, what about 9.2 DB ?
    Any ideas ?
    Regards
    GregG

    Hi
    I suggest please review:
    Troubleshooting: High CPU Utilization [ID 164768.1]
    How to find TOP SQL statements ordered by CPU TIME or ELAPSED TIME from 9i STATSPACK snapshots [ID 1273968.1]
    TKProf Interpretation (9i and above) [ID 760786.1]
    Regard
    Helios

  • Trouble setting the session state of a select item.

    Hi,
    I have a requirement whereby I need to change the session state of a select list item in my form without the need to submit. I am using Application Express 4.1.0.00.32. I thought this would be straight forward using a dynamic action or javascript and calling an on demand process for example.
    P1_MY_SELECT onchange="set_option();"
    function set_option() {
    var l_option=$f_SelectValue('P1_MY_SELECT');
    alert( 'My new value is ' + l_option );
    // ON DEMAND Set the new session state value
    var lRequest = new apex.ajax.ondemand
    ('SET_P1_MY_SELECT',function()
    {  /* start the return function */
    var l_s = p.readyState;
    if(l_s == 1||l_s == 2||l_s == 3)
    else if(l_s == 4)
    { gReturn = p.responseText;
         (gReturn)?json_SetItems(gReturn):null;
    else{return false;}
    /* end the return function */
    lRequest.ajax.addParam('x01', l_option );
    lRequest._get()
    My on demand application process
    DECLARE
    l_options varchar2(2000) := wwv_flow.g_x01;
    BEGIN
    APEX_UTIL.SET_SESSION_STATE('P1_MY_SELECT',l_options);
    apex_util.json_from_items('P1_MY_SELECT');
    END;
    Is there a better method to set the session state of my P1_MY_SELECT other than what I am doing as above or can you tell me why the session state of P1_MY_SELECT is not changed?
    Thanks.
    Edited by: 968358 on 01-Nov-2012 08:40

    if you are on 4.1 why don't you use a dynamic action instead of writing the code again?
    create a dynamic action like this
    Event: Change
    Source Type: Item
    Item: P1_MY_SELECT
    True Action:
    =========
    Action: Execute Plsql Code
    Plsql Code: null;
    Page Items to Submit: P1_MY_SELECT
    Page Items to Return: P1_MY_SELECT (this is optional)
    http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21674/advnc_dynamic_actions.htm#HTMDB27020

  • 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

  • Referencing session state across DBLinks

    I have a central security package that all applications access to provide item-level authorisation.
    Recent extensions to the security model require additional information from the application, held in Application Items.
    For various legacy reasons I want to avoid having to add additional parameters to the security functions called so I reference the application items via the V() function. This works perfectly on local applications (within the same database) but V() returns null values if the application is accessing the security function via a DB link.
    So, is there any way to access session state from a PL/SQL package of an application that is not running on the same database?
    Regards
    Richard

    Richard
    Something along these lines might work. Say the remote package is named 'sec var'. At the remote db create 'sec_vas' as follows. create or replace package sec_vars is
    var1 varchar2(100);   // new items needed by auth fn
    var2 varchar2(100); 
    procedure setval (var1 in varchar2,var2 in varchar2);  //sets var1/var2  with values from session state   
    function getval (var in varchar2)  return varchar2;   // the local 'v' fn
    function doAuth() return boolean;
    end;
    create or replace package body sec_vars is
    procedure setval (var1 in varchar2,var2 in varchar2) is
    begin
    sec_vars.var1:='Variable 1';
    sec_vars.var2 := 'variable 2';
    end;
    function getval (var in varchar2)  return varchar2 is
    begin
    if upper(var)='VAR1' then
       return sec_vars.var1;
    elsif  upper(var)='VAR2' then
        return sec_vars.var2;
    else
        return null;
    end if;
    end;
    function doAuth() return boolean is
    begin
    select count(*) from emp where ename=sec_vars.get_val('VAR1'');
    return true;
    end;
    end;And in the Apex db we do something like create synonym sec_vars for sec_vars@remote_db;
    // an auth process
    begin
    sec_vars.setval ('Variable 1','variable 2'); // set required session item values
    sec_vars.do_auth();
    end;varad

  • Controlling Session State and Submit Processing

    I am trying to gain a fundamental understanding of how to control submit processing and session state, etc.
    For example, I have a popup lov that lists names and returns id for the parent record. When the user make the selection using this pop lov, I then have an id that I want to use to lookup the default value for another field.
    How do you submit a page for re-rendering (i.e, you have condition expressions referencing values that the use has set) without triggering the auto dml and page branch?
    For example, I have a form for specifying tns names with 2 buttons, 'Advanced Config' and 'Basic Config'. The idea is to hide/show items corresponding to basic or adv. config options, etc.
    My first approach was to have the buttons do a redirect to the same page, setting P5_USE_ADV_CONFIG_YN to Y or N without clearing the cache. When the page refreshes, the conditional rending has occured as desired (i.e., I set the condition on my form items to reference P5_USE_ADV_CONFIG = Y or N, etc.), but user's data values have been lost since the record was reloaded from the database.
    So..I tried putting a condition on the fetch procedure to prevent the record from being re-read. However, this left all the fields empty which indicates that the item's session state has been completed cleared! Huh? I didn't want ask for or want this behavior. Hmmm.
    So, I start thinking that the persisted session wasn't updated since I didn't do a submit and so when the page was requested, it behaved as it should, but not what I had in mind. THUS...I believe I need to submit the page and prevent the auto-dml and page branching afterwards....but how? I feel that I am missing something very fundamental here and that the answer may also help me with other related questions:
    * How does the confirm delete examples work? How is the processing stopped when the user presses cancel?
    * How can you do validations and stop dml processing without losing the user values?
    * How can you display and error page and then return to where the user was with the values still present?
    * How can I do a secondary sql value lookup based on the users selection in a popup lov? (User selects a Database/DbID - then I want to lookup host using DbId)
    I haven't been successful understanding this from the manuals, but someone can point me to some material that explains submit processing, redirects, etc. I would be happy to do some more digging.
    Thanks greatly in advance.

    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

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

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

  • SSP broke my LOV :-(  - Session State Protection Issue

    Hi Folks.
    I'm tinkering with SSP on my application.
    Here's the challenge du jour.
    If I enable SSP across the entire application I can't even log in. That was resolved by setting the login page to 'Unrestricted'. not sure of the security implication of doing that but bear with me.
    My main Issue is this.
    I am using Patrick's APEXLIB for Cascading LOV functionality.
    My Parent LOV works fine.
    My Child LOV is blank.
    I have modified everything on the page to 'Unrestricted' and still I end up with a blank child LOV.
    Any ideas how to skin this cat?
    Many thanks
    Simon

    OK so here's how i 'fixed' this issue. I say fixed but I would welcome any comments regarding the security impact of the 'fix' I came up with.
    First of all I enabled SSP across the entire application
    Page Access Protection = Arguments Must have Checksum
    Application Item Protection = Checksum required - Session level
    Page Data Entry Item Protection = Checksum required - Session level
    Page Display-Only Item Protection = Checksum required - Session level
    This had the desired effect of applying these settings to everything.
    Having done that I needed to update the SSP to Patrick Wolf's Application Items in the following way...
    APEXLIB_REFERENCE_ID = Unrestricted
    APEXLIB_REFERENCE_TYPE = Unrestricted
    As a side note, I noticed that the Application Item FSP_AFTER_LOGIN_URL was also set to Unrestricted. I guess this is enforced by APEX to allow successful login to the application. All other application items were set to Checksum Required - Session Level as per the cross-application configuration I had initially done.
    Finally I had to review the pages that had the cascading LOVs that no longer functioned. For these pages I had to set the "Item Session State Protection" to Unrestricted for the poll down LOVs used in the Cascading LOV process. Parent LOVs and Child LOVs.
    The end result is that I have pretty tight SSP enabled across the entire application. The only areas where it is 'Unrestricted' are some of the cascading LOVs.
    I would be very interested to hear from anyone who would care to comment on the security weaknesses this approach may have created.
    I will update this thread if the SSP enabling has affected anything else in the application. So far though, it's only the Cascading LOVs.
    Kind regards
    Simon Gadd

  • Saving session state in database table rather in websever for Ordering App

    Hi all,
    Ours is a ordering application (telecomm) domain.
    Currently, we are storing user sessions data (Order shopping cart session data) in middle tier (iPlanet web server) which inturn consumes lot of memory resources.
    Shopping cart could be in MBs if order is a huge business order.
    So in order to not to overtax web server (middle tier), we are thinking of storing session data directly in a database table to relieve the overhead on web server and make use of database for storage.
    I read that APEX (html db) is already using this "single metadata table" approach for session data management. But we are not using HTML DB to really look into.
    Can some one advise how to go about storing "user session data" directly in a "database table" for both storage and retrieval purposes instead of storing it in "webserver".
    How does this "metadata table" structure looks like. Is it more generic ?
    Really appreciate your time and help/suggestions.

    Joel,
    Thanks for your response. sorry, i meant to say that "the current application does not use APEX but will look into it".
    To build this is an utterly non-trivial exercise. Oh - it may not be so hard to save session state to a table when you POST a page. But you may want to reference this in many places, and it's a question of can you change all of these references to indirect references from session state in your application.In order to free up the load on webserver, we want to maintain session management in database. Could you please explain the above little more :
    How do we maintain the "user session" with "database table" ?
    Do we need to store "session data" at java object level or by page in database table ? How does the structure of this "metadata table" looks like.
    Thanks for your time.

  • 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

Maybe you are looking for

  • Invalid cursor in Oracle 9i (but works on 11g)

    Hi, I have the function: function get_capat_transa(p1 sys_refcursor, p2 number) return varchar2 is   cod varchar2(40); begin   for i in 1..p2 loop     fetch p1 into cod;   end loop;   return cod; end;Ok, when i call this function in 11g like: select

  • Current View as filter in BPC Vs Planning level and package in BPS

    Hi,      If I understand correctly, the current view is as like a filter in BPC as planning level and package in BPS, by comparing then I notice that the value for current can only be single value while in planning level and package we can have range

  • My first PKGBUILD - python-sleekxmpp

    I'm reading the O'Reilly book on XMPP and it use a python library called "SleekXMPP". It doesn't seem to be in the AUR, so I decided to try my hand at a PKGBUILD. How does this one look? # Contributor: Jonathan Arnold <[email protected] pkgname=pytho

  • N73 compared to 3110 Evolve

    N73 compared to 3110 Evolve. I'd like to know which one has faster internet capabilities ? I have N73 plus some old 2G phones. I'm looking to take part in recycling my older phones and replace them with 3110 Evolve but I'm confused with max. internet

  • Service level

    CAn  u give the brief explanation for the SERVICE LEVEL AGREEMENT.