Creating a membership update page

I understand the update record form, and I have sessions and login working correctly.
If I want to create a homepage for members (similar to myspace) where it displays the user's record and allows users to update there profile, do I use the session variable to pull the correct database entry?
Thanks,
Scott

Hi Scott,
yes, you´d simply have to use a query like "SELECT * FROM user_table WHERE user_id" equals ADDT´s session variable kt_login_id
Cheers,
Günter Schenk
Adobe Community Expert, Dreamweaver

Similar Messages

  • ORA-20001: Unable to create query and update page.

    I am using the wizard: Form on a table with report 2 pages. I do not change any of the values when using the wizard (just taking all default values)
    I created over 10 pages successfully already.
    When creating the one page, I received this error on clicking the 'Finish' button
    Error creating query and update.
    Return to Application
    ORA-20001: Unable to create query and update page. ORA-12899: value too large for column "FLOWS_010500"."WWV_FLOW_PAGE_PLUGS"."PLUG_QUERY_COL_ALLIGNMENTS" (actual: 269, maximum: 255)
    Seems like it might be table related since I can continue and create more forms/reports on other tables.
    Any help would be appreciated.

    336554,
    Looks like there is a 127-column limit on the number of report columns supported when using that wizard. Do you have more than that?
    57434

  • Updated pages today but when I try to open a document I created I get a message saying you need new version, but i have the new version! So frustrating - HELP!

    Updated Pages today - created a document. Went back few hours later to send it as email attachment - got a message saying Pages needs to be updated to open. Went to Mac app page and it said it was updated. Document won't open - what do I do???? Keeps saying to upgrade but it is upgraded - ARGH!

    Here is a possible solution.
    You should still have Pages 4.3, the old version, on your computer in Applications>iWork09. If you have the old Pages 4.3 running when you open the file, Pages 4.3 will warn you that you need to update because the new Pages uses a different file format. You can open the file in two ways.
    Quit Pages 4.3, then open the file.
    Right-click the file and choose to open the file in Pages 5.0.
    I hope this helps.

  • How to create an update page

    i want to create an update page using dreamweaver and record set, i succeded but it only updates the database with user id of 1. even if i login as another user with id of 3, it keeps updating the user with id of 1.please help me, a lost. below is my code:
    <?php require_once('Connections/conn_login.php'); ?>
    <?php
    if (!isset($_SESSION)) {
      session_start();
    $MM_authorizedUsers = "";
    $MM_donotCheckaccess = "true";
    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
      // For security, start by assuming the visitor is NOT authorized.
      $isValid = False;
      // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
      // Therefore, we know that a user is NOT logged in if that Session variable is blank.
      if (!empty($UserName)) {
        // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
        // Parse the strings into arrays.
        $arrUsers = Explode(",", $strUsers);
        $arrGroups = Explode(",", $strGroups);
        if (in_array($UserName, $arrUsers)) {
          $isValid = true;
        // Or, you may restrict access to only certain users based on their username.
        if (in_array($UserGroup, $arrGroups)) {
          $isValid = true;
        if (($strUsers == "") && true) {
          $isValid = true;
      return $isValid;
    $MM_restrictGoTo = "login.php";
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {  
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0)
      $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo);
      exit;
    ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
      $updateSQL = sprintf("UPDATE login SET username=%s, pwd=%s, `role`=%s, firstname=%s, lastname=%s, country=%s WHERE userID=%s",
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['pwd'], "text"),
                           GetSQLValueString($_POST['role'], "text"),
                           GetSQLValueString($_POST['firstname'], "int"),
                           GetSQLValueString($_POST['lastname'], "int"),
                           GetSQLValueString($_POST['country'], "int"),
                           GetSQLValueString($_POST['id1'], "int"));
      mysql_select_db($database_conn_login, $conn_login);
      $Result1 = mysql_query($updateSQL, $conn_login) or die(mysql_error());
      $updateGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
        $updateGoTo .= $_SERVER['QUERY_STRING'];
      header(sprintf("Location: %s", $updateGoTo));
    $colname_Recordset1 = "-1";
    if (isset($_GET['userID'])) {
      $colname_Recordset1 = $_GET['userID'];
      $_SESSION['userID'] = $_GET['userID'];
    $colname_Recordset1 = "-1";
    if (isset($_GET[''])) {
      $colname_Recordset1 = $_GET[''];
    mysql_select_db($database_conn_login, $conn_login);
    $query_Recordset1 = sprintf("SELECT userID, username, pwd, `role`, firstname, lastname FROM login WHERE userID = %s", GetSQLValueString($colname_Recordset1, "int"));
    $Recordset1 = mysql_query($query_Recordset1, $conn_login) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Scuba2u</title>
    <link href="styles.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <?php include('headerScuba2u.php'); ?>
    <div id="main">
        <div id="left">
          <h1>Registration Form</h1>
          <fieldset>
            <legend>Register for our website</legend>
            <form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST">
              <p>
                <label for="firstname">First Name</label>
                <input name="firstname" type="text" id="firstname" size="30" maxlength="40" />
              </p>
              <p>Last Name
                <label for="lastname"></label>
                <input name="lastname" type="text" id="lastname" size="30" maxlength="40" />
              </p>
              <p>Country
                <input name="country" type="text" id="country" size="30" maxlength="30" />
              </p>
              <p>Email
                <label for="email"></label>
                <input name="email" type="text" id="email" size="60" maxlength="60" />
              </p>
              <p>Password
                <label for="pwd"></label>
                <input name="pwd" type="password" id="pwd" size="10" maxlength="10" />
              </p>
              <p>
                <input name="role" type="hidden" id="role" value="guest" />
                <input name="id1" type="hidden" id="id1" value="<?php echo $row_Recordset1['userID']; ?>" />
                <input type="submit" name="submit" id="submit" value="Register" />
              </p>
              <input type="hidden" name="MM_update" value="form1" />
            </form>
          </fieldset>
        </div>
    </div>
    <?php include('footerScuba2u.php'); ?>
    </body>
    </html>
    <?php
    mysql_free_result($Recordset1);
    ?>

    Temporarily change your id1 field from a hidden field to a text field so you can see if it is being set correctly for the logged in user.

  • Default value in LOV field in Create and Update page in OAF

    Hi All,
    I am unable to default LOV field in Create and Update page in OAF.
    I tried in below way :
    OAMessageLovInputBean lovBean1 = (OAMessageLovInputBean)webBean.findChildRecursive("AAA");
    But I am getting developer mode exception, so please guide me how i can set the default value for create and update page instead of using code in process request method in controller.
    Thanks

    Hi,
    1) In case of create, you can default the value either in EOImpl or in AM while initializing the row:
    //in EOImpl
    public void create(AttributeList attributeList)
    super.create(attributeList);
    setXXAttribute(<value>);
    //in AM, VO new row initialization :-
    VOImpl VO = getVO1();
    VO.setMaxFetchSize(0);
    VORowImpl row = (VORowImpl)VO.createRow();
    row.setXXAttribute(<value>);
    VO.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    2) In case of update, execute the VO (also set the where clause if required) in PR method of update page.
    --Sushant                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • I'm unable to open files I've created in the new pages with the new pages. It tells me to update my pages

    Is anyone else having this problem? I've updated pages and when I try to open files I created, it tells me to update pages

    Trash Pages 5 and go back to Pages '09 which should still be inside the iWork folder inside your Applications folder.
    Then let everyone know in the App Store what a stellar (singular) App Pages 5 is.
    Peter

  • Last time I updated pages I lost features I liked and was unable to open some pages files.  Now I see the features I liked are back but I have a lot more files to worry about.  Will I be able to open files created in 5.2 if I upgrade to 5.5.3?

    Last time I updated pages I lost features I liked and was unable to open some pages files.  Now I see the features I liked are back but I have a lot more files to worry about.  Will I be able to open files created in 5.2 if I upgrade to 5.5.3?

    Within reason, Pages v5.2 documents are forwards compatible with Pages v5.5.3. Apple introduced the single file format document as a default with Pages v5.5.3 which is not backwards compatible with Pages v5 on Mavericks.
    However, they also provided a File > Advanced > Change File Type > {Single File, Package} menu that allows you to change the current Pages v5.5.3 document into the backwards compatible Package type document. You would follow this transformation with a File > Save operation to complete it.

  • Passing parameters to Update page

    Hi,
    I created the search/create/update page going by the instructions in the tutorial exercise. My primary key is a combination of employee number AND sequence number.
    When I query the employee in the search page and if the employee has more than one record it displays all the records for that employee.
    When I click on the "update" button on one of the record, It is not displaying me the record on which I clicked the "update" button. Instead it is displaying me the other record for the same employee. I believe I need to pass the sequence value as the parameter, but do not know how to pass it. Can anyone one help me accomplish this?
    Thanks in advance,
    Al
    Below is the CO code for SEARCH page:
    /*===========================================================================+
    | Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
    | All rights reserved. |
    +===========================================================================+
    | HISTORY |
    +===========================================================================*/
    package lac.oracle.apps.lac.jobperf.server.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import java.io.Serializable;
    import java.sql.Connection;
    import java.text.SimpleDateFormat;
    import java.text.ParseException;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OADialogPage;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageStyledTextBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageDateFieldBean;
    //import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
    import oracle.apps.fnd.framework.webui.beans.table.OATableBean;
    import com.sun.java.util.collections.HashMap;
    import oracle.bali.share.util.IntegerUtils;
    * Controller for ...
    public class jobperfCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // The following checks to see if the user navigated back to this page
    // without taking an action that cleared an "in transaction" indicator.
    // If so, we want to rollback any changes that she abondoned to ensure
    // they aren't left lingering in the BC4J cache to cause problems with
    // subsequent transactions. For example, if the user navigates to the
    //Create Review page where you start a "Create" transactio unit, then
    //navigastes back to this page using the browser Back button and selects
    // the Create Review button again, teh OA Framework detects this
    // Back button navigation and steps through processRequest() so this
    // code is executed before you try to Create another new Review.
    if (TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"jobperfCreateTxn", false))
    am.invokeMethod("rollbackReview");
    TransactionUnitHelper.endTransactionUnit(pageContext,"jobperfCreateTxn");
    else if(TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"jobperfUpdateTxn",false))
    am.invokeMethod("rollbackReview");
    TransactionUnitHelper.endTransactionUnit(pageContext,"jobperfUpdateTxn");
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am;
    OADBTransaction oadbxn;
    am = pageContext.getRootApplicationModule();
    oadbxn = am.getOADBTransaction();
    if (pageContext.getParameter("Create") != null)
    //Navigate to teh "Create Review" page while retaining the AM.
    //Note the use of KEEP_MENU_CONTEXT as opposed to GUESS_MENU_CONTEXT
    //since we know the current tab should remain highlighted.
    pageContext.setForwardURL("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/ReviewPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true, //Retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
    OAWebBeanConstants.IGNORE_MESSAGES);
    else if ("update".equals(pageContext.getParameter(EVENT_PARAM)))
    String EmployeeNumber = pageContext.getParameter("EmployeeNumber");
    String Seq = pageContext.getParameter("Seq");
    //String EmployeeName = pageContext.getParameter("FullName");
    System.out.println("Update Selected");
    System.out.println(EmployeeNumber);
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    oadbxn.putValue("EmployeeNumber",EmployeeNumber);
    oadbxn.putValue( "Seq",Seq);
    //oadbxn.putValue("EmployeeName",EmployeeName);
    HashMap params = new HashMap(2);
    // Replace the current employeeNumber request parameter value with "X"
    params.put("EmployeeNumber", EmployeeNumber);
    //params.put("EmployeeName", "EmployeeName");
    params.put("Seq", Seq);
    // IntegerUtils is a handy utility
    //params.put("EmployeeName", EmployeeName);
    //params.put("EmployeeNumber",IntegerUtils.getInteger(1));
    //params.put("EmployeeName",IntegerUtils.getInteger(2));
    //params.put("Seq",IntegerUtils.getInteger(2));
    // The user has clicked an "Update" icon so we want to navigate
    // to the first step of the multistep "Update Employee" flow.
    pageContext.setForwardURL("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/UpdateReviewPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    params, //mir null,
    true, // Retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_YES, // Do not display breadcrumbs
    OAWebBeanConstants.IGNORE_MESSAGES);
    Below is the CO code for UPDATE page:
    /*===========================================================================+
    | Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
    | All rights reserved. |
    +===========================================================================+
    | HISTORY |
    +===========================================================================*/
    package lac.oracle.apps.lac.jobperf.server.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.webui.OADialogPage;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.jbo.domain.Number;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import java.io.Serializable;
    * Controller for ...
    public class ReviewUpdateCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    // Always call this first
    super.processRequest(pageContext, webBean);
    // Put a transaction value indicating that the update transaction
    // is now in progress.
    TransactionUnitHelper.startTransactionUnit(pageContext,"jobperfUpdateTxn");
    String EmployeeNumber = pageContext.getParameter("EmployeeNumber"); //small e
    String Seq = pageContext.getParameter("Seq");
    System.out.println("Into ReviewUpdateCOUpdate IN Process Request values from Page Context");
    System.out.println(EmployeeNumber);
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    // We'll use this at the end of the flow for a confirmation message.
    String EmployeeName = pageContext.getParameter("FullName");
    pageContext.putTransactionValue("FullName",EmployeeName);
    Serializable[] params = { EmployeeNumber,Seq}; //small e
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // For the update, since we are using the same VO as teg "Details" page, we
    // can use the same initialization logic.
    System.out.println("Into ReviewUpdateCOUpdate IN Process Request");
    System.out.println(EmployeeNumber); //small e
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    am.invokeMethod("initDetails", params);
    //am.invokeMethod("jobperfAMImpl.createReview");
    System.out.println("Into ReviewUpdateCOUpdate IN Process Request AFTER INITDETAILS");
    System.out.println(EmployeeNumber); //small e
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    } // end processRequest()
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    {    //super.processFormRequest(pageContext, webBean);
    // Always call this first.
    super.processFormRequest(pageContext, webBean);
    System.out.println("Into ReviewUpdateCOUpdate INTO Process FORM before apply Request");
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // Pressing the "Apply" button means the transaction should be validated
    // and committed.
    if (pageContext.getParameter("Apply") != null)
    // Generally in the tutorial application and the labs, we've illustrated
    // all BC4J interaction on the server (except for the AMs, of course). Here,
    // we're dealing with the VO directly so the comments about the reasons
    // why we're obtaining values from the VO and not the request make sense
    // in context.
    OAViewObject vo = (OAViewObject)am.findViewObject("jobperfVO1");
    // Note that we have to get this value from the VO because the EO will
    // assemble it during its validation cycle.
    // For performance reasons, we should generally be calling getEmployeeName()
    // on the EmployeeFullVORowImpl object, but we don't want to do this
    // on the client so we're illustrating the interface-appropriate call. If
    // we implemented this code in the AM where it belongs, we would use the
    // other approach.
    String EmployeeName = (String)vo.getCurrentRow().getAttribute("FullName");
    // We need to get a String so we can pass it to the MessageToken array below. Note
    // that we are getting this value from the VO (we could also get it from.
    // the Bean as shown in the Drilldwon to Details lab) because the item style is messageStyledText,
    // so the value isn't put on the request like a messaqeTextInput value is.
    String EmployeeNumber = (String)vo.getCurrentRow().getAttribute("EmployeeNumber");
    String Seq = (String)vo.getCurrentRow().getAttribute("Seq");
    //ma String employeeNum = String.valueOf(employeeNumber.intValue());
    //ma Number employeeNumber = (Number)vo.getCurrentRow().getAttribute("EmployeeNumber");
    //ma String employeeNum = String.valueOf(employeeNumber.intValue());
    // Simply telling the transaction to commit will cause all the Entity Object validation
    // to fire.
    // Note: there's no reason for a developer to perform a rollback. This is handled by
    // the framework if errors are encountered.
    System.out.println("Into ReviewUpdateCOUpdate IN Process Form Request");
    System.out.println(EmployeeNumber);
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    am.invokeMethod("apply");
    // Indicate that the Create transaction is complete.
    TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfUpdateTxn");
    // Assuming the "commit" succeeds, navigate back to the "Search" page with
    // the user's search criteria intact and display a "Confirmation" message
    // at the top of the page.
    MessageToken[] tokens = { new MessageToken("EMP_NAME", EmployeeName),
    new MessageToken("EMP_NUMBER", EmployeeNumber) };
    OAException confirmMessage = new OAException("PER", "LAC_FWK_TBX_T_EMP_CREATE_CONF", tokens,
    OAException.CONFIRMATION, null);
    // Per the UI guidelines, we want to add the confirmation message at the
    // top of the search/results page and we want the old search criteria and
    // results to display.
    pageContext.putDialogMessage(confirmMessage);
    pageContext.forwardImmediately(
    "OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    else if (pageContext.getParameter("Cancel") != null)
    am.invokeMethod("rollbackReview");
    // Indicate that the Create transaction is complete.
    TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfUpdateTxn");
    pageContext.forwardImmediately("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    } // end processFormRequest()
    Message was edited by:
    user617353

    Hi,
    I created a new method(initQueryUpdate) in the VOImpl(here I am also setting the where clause).
    Also created a method(initDetailsUpdate) in the AMImpl and I am calling the vo.initQueryUpdate in AM code.
    I am also passing the parameters to method via a call in the ReviewupdateCO(am.invokeMethod("initDetailsUpdate", params);).
    It is compiling the entire jpr without any errors.
    When I Search an employee and clisk on the update button then I am geting the following error.
    I tried to pass parameters by putting them on the update button property with the action type of "fireAction.
    I also tried by making the actiontype "none" and putting the forwarding apge with parameters in the "Destination URL" property and still I get the error message when I run it. Any one has any clues.
    Thanks in Advance,
    Ali
    Exception Details.
    oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT * FROM (SELECT
    jobperfEO.EMPLOYEE_NUMBER,
    jobperfEO.FULL_NAME,
    jobperfEO.PERSON_ID,
    jobperfEO.ASSIGNMENT_ID,
    jobperfEO.PERIOD_START_DATE,
    jobperfEO.PERIOD_END_DATE,
    jobperfEO.REVIEW_DATE,
    jobperfEO.REVIEW_TYPE,
    jobperfEO.REVIEW_STATUS,
    jobperfEO.JOB_CLASSIFICATION,
    jobperfEO.DISTRICT,
    jobperfEO.SUPERVISOR_ID,
    jobperfEO.SUPERVISOR_EMPLOYEE_NUMBER,
    jobperfEO.SUPERVISOR_NAME,
    jobperfEO.QUALITY_OF_WORK,
    jobperfEO.QUANTITY_OF_WORK,
    jobperfEO.JOB_KNOWLEDGE,
    jobperfEO.EFFICIENCY,
    jobperfEO.RELATING_TO_OTHERS,
    jobperfEO.INITIATIVE,
    jobperfEO.RELIABILITY,
    jobperfEO.HOUSEKEEPING_SAFETY,
    jobperfEO.OVERALL_PERFORMANCE,
    jobperfEO.SUGGESTED_IMPROVEMENT_AREAS,
    jobperfEO.EMPLOYEE_COMMENTS,
    jobperfEO.CREATED_BY,
    jobperfEO.CREATION_DATE,
    jobperfEO.LAST_UPDATED_BY,
    jobperfEO.LAST_UPDATE_DATE,
    jobperfEO.SEQ,
    jobperfEO.SECOND_SUPRV_EMPNO,
    jobperfEO.SECOND_SUPRV_FULLNAME
    FROM apps.LAC_CM_PERF_REVIEW jobperfEO) QRSLT WHERE (SEQ = :1 AND ( UPPER(EMPLOYEE_NUMBER) like :3 AND (EMPLOYEE_NUMBER like :4 OR EMPLOYEE_NUMBER like :5 OR EMPLOYEE_NUMBER like :6 OR EMPLOYEE_NUMBER like :7))) ORDER BY EMPLOYEE_NUMBER ASC
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:891)
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:865)
         at oracle.apps.fnd.framework.OAException.wrapperInvocationTargetException(OAException.java:988)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:211)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:153)
         at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:749)
         at lac.oracle.apps.lac.jobperf.server.webui.ReviewUpdateCO.processRequest(ReviewUpdateCO.java:116)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:587)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2335)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1734)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:508)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:429)
         at _OA._jspService(OA.jsp:34)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at _OA._jspService(OA.jsp:39)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    java.sql.SQLException: ORA-01006: bind variable does not exist
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:631)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:518)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3375)
         at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:828)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4507)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:574)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:544)
         at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:619)
         at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3339)
         at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3326)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:441)
         at lac.oracle.apps.lac.jobperf.server.jobperfVOImpl.initQueryUpdate(jobperfVOImpl.java:77)
         at lac.oracle.apps.lac.jobperf.server.jobperfAMImpl.initDetailsUpdate(jobperfAMImpl.java:129)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:190)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:153)
         at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:749)
         at lac.oracle.apps.lac.jobperf.server.webui.ReviewUpdateCO.processRequest(ReviewUpdateCO.java:116)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:587)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2335)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1734)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:508)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:429)
         at _OA._jspService(OA.jsp:34)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at _OA._jspService(OA.jsp:39)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    java.sql.SQLException: ORA-01006: bind variable does not exist
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:631)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:518)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3375)
         at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:828)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4507)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:574)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:544)
         at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:619)
         at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3339)
         at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3326)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:441)
         at lac.oracle.apps.lac.jobperf.server.jobperfVOImpl.initQueryUpdate(jobperfVOImpl.java:77)
         at lac.oracle.apps.lac.jobperf.server.jobperfAMImpl.initDetailsUpdate(jobperfAMImpl.java:129)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:190)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:153)
         at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:749)
         at lac.oracle.apps.lac.jobperf.server.webui.ReviewUpdateCO.processRequest(ReviewUpdateCO.java:116)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:587)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2335)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1734)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:508)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:429)
         at _OA._jspService(OA.jsp:34)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at _OA._jspService(OA.jsp:39)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)

  • I created a newsletter using pages on my IPAD3.  I can see see it...the icon is till there but when I tap it to open it, I get kicked out of pages.   Tried rebooting  and I can open other documents, but not this one.  Any ideas?

    I created a newsletter using pages on my IPAD 3.  All of a sudden I can no longer open that document.   When I click on it, it throws me out of pages all together.  I can open other pages documents, but not that one.  It is very frustrating to be able to SEE the file, but not open it.
    I rebooted and I do have icloud back-up on but am not sure how to restore an older version.  I also made sure there are no updates for pages.   Until the IPAD I used a home PC which I still have but am trying to wean myself off of.  I wish now I had used MS Publisher on my PC for the newsletter even though I hate it.   
    Please don't tell me I have lost my Newsletter and 20 hours worth of work.  

    Try resetting your iPad.  Hold the on/off and home buttons together for 7 or 8 seconds till the Apple logo appears.
    I'm assuming your default is to save Pages documents to iCloud, and that you had a good WiFi connection when you closed Pages the last time you tried to save the document.

  • Problem with an update page.

    I have a problem with an update page on my website
    Here's how it work
    values are defualted in from the advert table  - this works fine
    I should then be able to change the fields and click on the update button
    This works fine but ONLY when the O_year field is populated. 
    There doesn't seem to be anything special about the O_year field
    I thought spry text validation would of been causing the issues, but I removed them and have the same problem.
    For some reason the POST_MMupdate value is not being set to 'form4', which it is doing if O_year is set.
    Please can someone have a look at this, code,
    Also, is there a way of 'stepping through' dreamweaver code to debug it?
    Thanks
    Adam
    $colname_Advert = "-1";
    if (isset($_GET['advert_id'])) {
      $colname_Advert = $_GET['advert_id'];
    mysql_select_db($database_guitarswap_db, $guitarswap_db);
    $query_Advert = sprintf("SELECT * FROM advert WHERE advert_id = %s", GetSQLValueString($colname_Advert, "int"));
    $Advert = mysql_query($query_Advert, $guitarswap_db) or die(mysql_error());
    $row_Advert = mysql_fetch_assoc($Advert);
    $totalRows_Advert = mysql_num_rows($Advert);
    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form4"))
        //Сheck that we have a file
    if((!empty($_FILES["PictureLocation"])) && ($_FILES['PictureLocation']['error'] == 0))
          //Check if the file is JPEG image and it's size is less than 350Kb
          $filename = basename($_FILES["PictureLocation"]["name"]);
          $ext = substr($filename, strrpos($filename, '.') + 1);
          if (($ext == "jpg") && ($_FILES["PictureLocation"]["type"] == "image/jpeg") &&
        ($_FILES["PictureLocation"]["size"] < 350000))
            //Determine the path to which we want to save this file
              $newname = dirname(__FILE__).'/upload/'.$filename;
              //Check if the file with the same name is already exists on the server
              if (!file_exists($newname))
                //Attempt to move the uploaded file to it's new place
                if ((move_uploaded_file($_FILES['PictureLocation']['tmp_name'],$newname)))
                       // echo "It's done! The file has been saved as: ".$newname;
                else
                       // echo "Error: A problem occurred during file upload!";
            else
                 // echo "Error: File ".$_FILES["PictureLocation"]["name"]." already exists";
          else
             // echo "Error: Only .jpg images under 350Kb are accepted for upload";
        else
         // echo "Error: No file uploaded";
        $filename=$row_Advert['PictureLocation'];
        // set default opentoalloffers
    if (!isset($_POST['checkopentoalloffers']))
        $_POST['checkopentoalloffers'] = 'n';
      $updateSQL = sprintf("UPDATE advert SET PictureLocation=%s, O_Make=%s, O_Model=%s, O_Country=%s, O_Year=%s, O_Colour=%s, O_Body=%s, O_Neck=%s, O_Fingerboard=%s, O_Pickups=%s, `value`=%s, `condition`=%s,  W_Make=%s, W_Model=%s, W_Country=%s, W_Year=%s, W_Colour=%s, W_Body=%s, W_Neck=%s, W_Fingerboard=%s, W_Pickups=%s, Comments=%s, opentoalloffers=%s, ChangeFlg = %s  WHERE advert_id=%s",
                           GetSQLValueString($filename, "text"),
                           GetSQLValueString($_POST['O_Make'], "text"),
                           GetSQLValueString($_POST['O_Model'], "text"),
                           GetSQLValueString($_POST['O_Country'], "text"),
                           GetSQLValueString($_POST['O_Year'], "date"),
                           GetSQLValueString($_POST['O_Colour'], "text"),
                           GetSQLValueString($_POST['O_Body'], "text"),
                           GetSQLValueString($_POST['O_Neck'], "text"),
                           GetSQLValueString($_POST['O_Fingerboard'], "text"),
                           GetSQLValueString($_POST['O_Pickups'], "text"),
                           GetSQLValueString($_POST['value'], "int"),
                           GetSQLValueString($_POST['condition'], "text"),
                           GetSQLValueString($_POST['W_Make'], "text"),
                           GetSQLValueString($_POST['W_Model'], "text"),
                           GetSQLValueString($_POST['W_Country'], "text"),
                           GetSQLValueString($_POST['W_Year'], "date"),
                           GetSQLValueString($_POST['W_Colour'], "text"),
                           GetSQLValueString($_POST['W_Body'], "text"),
                           GetSQLValueString($_POST['W_Neck'], "text"),
                           GetSQLValueString($_POST['W_Fingerboard'], "text"),
                           GetSQLValueString($_POST['W_Pickups'], "text"),
                           GetSQLValueString($_POST['Comments'], "text"),
                           GetSQLValueString($_POST['checkopentoalloffers'], "text"),
                           GetSQLValueString('y', "text"),
                           GetSQLValueString($_POST['advert_id'], "int"));
      mysql_select_db($database_guitarswap_db, $guitarswap_db);
      $Result1 = mysql_query($updateSQL, $guitarswap_db) or die(mysql_error());
        $updateGoTo = "Member2.php";
         if (isset($_SERVER['QUERY_STRING'])) {
           $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
           $updateGoTo .= $_SERVER['QUERY_STRING'];
         header(sprintf("Location: %s", $updateGoTo));
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <link href="Layout3.css" rel="stylesheet" type="text/css" /><!--[if IE 5]>
    <style type="text/css">
    /* place css box model fixes for IE 5* in this conditional comment */
    .twoColFixLtHdr #sidebar1 { width: 230px; }
    </style>
    <![endif]--><!--[if IE]>
    <style type="text/css">
    /* place css fixes for all versions of IE in this conditional comment */
    .twoColFixLtHdr #sidebar1 { padding-top: 30px; }
    .twoColFixLtHdr #mainContent { zoom: 1; }
    /* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
    </style>
    <![endif]-->
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    body {
        background-color: #FFF;
        margin-left: 20px;
    .twoColFixLtHdr #container #main3 #form1 div fieldset {
        border: thin ridge #CCC;
    -->
    </style>
    <script type="text/javascript">
    <!--
    function MM_goToURL() { //v3.0
      var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    //-->
    </script>
    <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="twoColFixLtHdr">
    <div id="container">
      <div id="header">
        <div id="Righty">
          <ul id="MenuBar2" class="MenuBarHorizontal">
        <li><a href="index.php">Search</a>      </li>
        <li><a href="Member2.php">Members</a></li>
      </ul>
      <p> </p>
    </div>
    <span id="LoginDiv">
        <?php
          if (isset($_SESSION['MM_Username']))
            echo "hello ". $_SESSION['MM_Username']. "";
            echo " <a href='Logout.php'>Log out</a> ";
        else
            echo "
                <a href='Login.php'>Login</a> / <a href='Register.php'>Register</a>
        ?>
        </a></span>
    <div id="Middle">
      <h1 align="center">GuitarSwap</h1>
    </div>
      </div>
      <div id="sidebar1">
        <h4>Members Area</h4>
        <ul id="MenuBar1" class="MenuBarVertical">
          <li><a href="Member2.php">My Adverts</a></li>
          <li><a href="NewAdvert.php">Create new Advert</a></li>
          <li><a href="UpdateUserDets.php">My Account</a></li>
        </ul>
        <h3>  </h3>
      </div>
      <div id="mainContent">
        <h4>Update Advert</h4>
        <!-- end #mainContent -->
      </div>
      <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats -->
      <div id="main3">
        <div id="main">
          <fieldset>
            <legend>Please update advert details and confirm</legend>
            <form action="<?php echo $editFormAction; ?>" enctype="multipart/form-data" method="post" name="form4" id="form4">
              <input type="hidden" name="advert_id" value="<?php echo $row_Advert['advert_id']; ?>" />
              <p></p>
              <table width="650" align="center">
                <tr valign="baseline">
                  <td width="17" rowspan="15" valign="middle" nowrap="nowrap"><?php echo "<img src='upload/" .$row_Advert['PictureLocation']."' width='64' height='180'/>" ?></td>
                  <td width="133" align="right" nowrap="nowrap"> </td>
                  <td width="240" align="center" bgcolor="#CCCCCC"><strong>Offered</strong></td>
                  <td width="240" align="center" bgcolor="#CCCCCC"><strong>Wanted</strong></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Make:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Make" type="text" value="<?php echo $row_Advert['O_Make']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Make" type="text" value="<?php echo $row_Advert['W_Make']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Model:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Model" type="text" value="<?php echo $row_Advert['O_Model']; ?>" size="30" maxlength="30" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Model" type="text" value="<?php echo $row_Advert['W_Model']; ?>" size="30" maxlength="30" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Country:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Country" type="text" value="<?php echo $row_Advert['O_Country']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Country" type="text" value="<?php echo $row_Advert['W_Country']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Year:</strong></td>
                  <td bgcolor="#CCFFCC"><span id="sprytextfield1">
                  <input name="O_Year" type="text" value="<?php echo $row_Advert['O_Year']; ?>" size="4" maxlength="4" />
    <span class="textfieldInvalidFormatMsg">Invalid format.</span><span class="textfieldMinValueMsg">The entered value is less than the minimum required.</span><span class="textfieldMaxValueMsg">The entered value is greater than the maximum allowed.</span></span></td>
                  <td bgcolor="#CCFFFF"><span id="sprytextfield2">
                  <input name="W_Year" type="text" value="<?php echo $row_Advert['W_Year']; ?>" size="4" maxlength="4" />
    <span class="textfieldInvalidFormatMsg">Invalid format.</span><span class="textfieldMinValueMsg">The entered value is less than the minimum required.</span><span class="textfieldMaxValueMsg">The entered value is greater than the maximum allowed.</span></span></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Colour:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Colour" type="text" value="<?php echo $row_Advert['O_Colour']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Colour" type="text" value="<?php echo $row_Advert['W_Colour']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Body:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Body" type="text" value="<?php echo $row_Advert['O_Body']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Body" type="text" value="<?php echo $row_Advert['W_Body']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Neck:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Neck" type="text" value="<?php echo $row_Advert['O_Neck']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Neck" type="text" value="<?php echo $row_Advert['W_Neck']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Fingerboard:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Fingerboard" type="text" value="<?php echo $row_Advert['O_Fingerboard']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Fingerboard" type="text" value="<?php echo $row_Advert['W_Fingerboard']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Pickups:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Pickups" type="text" value="<?php echo $row_Advert['O_Pickups']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Pickups" type="text" value="<?php echo $row_Advert['W_Pickups']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Condition:</strong></td>
                  <td bgcolor="#CCFFCC"><label for="condition">
                    <select name="condition" size="1" id="condition">
                      <option selected="selected" value="" <?php if (!(strcmp("", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>---select---</option>
                      <option value="immaculate" <?php if (!(strcmp("immaculate", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>immaculate</option>
                      <option value="excellent" <?php if (!(strcmp("excellent", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>excellent</option>
                      <option value="good" <?php if (!(strcmp("good", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>good</option>
                      <option value="well used" <?php if (!(strcmp("well used", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>well used</option>
                      <option value="poor" <?php if (!(strcmp("poor", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>poor</option>
                  </select>
                  </label></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Value:</strong></td>
                  <td bgcolor="#CCFFCC"><span id="sprytextfield3">
                  <input name="value" type="text" value="<?php echo $row_Advert['value']; ?>" size="11" maxlength="11" />
    <span class="textfieldInvalidFormatMsg">Invalid format.</span></span></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td align="right" valign="top" nowrap="nowrap"><strong>Comments:</strong></td>
                  <td bgcolor="#CCFFCC"><textarea name="Comments" cols="25" rows="3"><?php echo $row_Advert['Comments']; ?></textarea></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Picture location</strong></td>
                  <td bgcolor="#CCFFCC"><label for="checkopentoalloffers"></label>                <input type="file" name="PictureLocation" value="<?php echo $row_Advert['PictureLocation']; ?>" size="20" /></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td height="26" align="right" nowrap="nowrap"><strong>Open to all offers:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="checkopentoalloffers" type="checkbox" id="checkopentoalloffers" value="y" <?php if (!(strcmp($row_Advert['opentoalloffers'],"y"))) {echo "checked=\"checked\"";} ?> /></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
              </table>
              <p> </p>
              <div id="submitdiv">
                <input type="hidden" name="MM_update" value="form4" />
                <input name="submit button" type="submit" id="submit button" value="Update Advert" />
              </div>
              <div id="exitdiv">
                <label for="button15"></label>
                <input name="button" type="button" id="button15" onclick="MM_goToURL('parent','Member2.php');return document.MM_returnValue" value="Exit" />
                <label for="button16"></label>
              </div>
              <p> </p>
            </form>
          </fieldset>
          <script type="text/javascript">
    var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "integer", {validateOn:["blur"], minValue:1900, maxValue:2010, isRequired:false});
    var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "integer", {validateOn:["blur"], minValue:1900, maxValue:2010});
    var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2", "integer", {minValue:1900, maxValue:2010, validateOn:["blur"], isRequired:false});
    var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3", "currency", {validateOn:["blur"], isRequired:false});
          </script>
          <br class="clearfloat" />
      <!-- end #container -->
    </div></div></div>
    <script type="text/javascript">
    <!--
    var  = new Spry.Widget.MenuBar("", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar2 = new Spry.Widget.MenuBar("MenuBar2", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    </body>
    </html>
    <?php
    mysql_free_result($Advert);
    if (is_resource($Result1)) mysql_free_result($Result1);
    ?>

    Please note,
    Removing I investigated spry a little more, in the end I settled for removing spry altogether,
    Maybe it was because the text field in a $GET (for the default) AND a $PUT (for the update)

  • Automating a link and Updating pages in Acrobat

    I've a report created in Microsoft Access and exported as a PDF file. I've also created several links in the PDF document to make it user friendly. There are 5 pages that are updated on a daily basis (Exported from Access and appended to the existing document). I'm new to Acrobat JavaScripting and would like to automate the PDF creation by doing the following;
    1. Automatically append/update the 5 new PDF pages to the existing document.
    2. Automatically create/update links based on a particular text in the updated pages PDF pages.
    I sincerely appreciate any help I can get on this.

    I've a Task Scheduler that open Access and runs a macro that pull data from an external server and a report is created based on this data. When the Access database is closed, the updated reports are saved as PDF to a particular folder. I'll like to update the existing PDF Document with the newly created PDF files/pages.

  • I have an ipad mini. From one moment to another a document that was created and used on pages app ( on the ipad mini) does not want to open ( When pressed it states " document cant be opened). How can I make this document open again?

    I have an ipad mini. From one moment to another a document that was created and used on pages app ( on the ipad mini) does not want to open ( When pressed it states " document cant be opened). How can I make this document open again?
    I have tried back ups and  restoring, resetting, and even updating the pages app. And nothing has worked.

    I have an ipad mini. From one moment to another a document that was created and used on pages app ( on the ipad mini) does not want to open ( When pressed it states " document cant be opened). How can I make this document open again?
    I have tried back ups and  restoring, resetting, and even updating the pages app. And nothing has worked.

  • TS1702 my Mac is requiring me to update pages app before opening an existing document.  I "updated" but it still says i need a newer version of pages to read.

    My Mac is requiring the newer version of Pages to view an existing document created on the old Pages.  I updated my current Pages app and it still won't open this document I want to view.

    Mac is version 5.1
    ipad version 2.2 (1259)

  • How can I create an automatically updating date in my template?

    I've created a template using Pages 5 for Mac, but I want to include a date in the header which shows the date the document was created. I've noticed that this is possible with the default Apple-designed templates included with Pages. I know that I can insert a date by going to Insert › Date & Time, but this only shows the date the template was created, and not the current date (I also know that you can click on the date and select 'Go to Today', but I often forget and it's a hassle).
    Does anyone know if this is possible?

    Matthew,
    It does appear that the auto update of Date and Time is gone. If you click on the calendar icon associated with the date object, you can update all instances of Date in your document at once. If that's not good enough, you can Insert a table, one with no headers or footers, shrink it to one cell, set borders to none, and insert the formula:
    =TODAY().
    Format the cell to display the date and time as  you wish.
    Alignment can be a problem with inline tables, so you could add an entire sentence in that cell by writing:
    ="Date printed: "&=TODAY()
    Here's an example with the table Selected...
    and here is what it will look like after formatting..
    Now if you move this table to the Section Master, it will appear on each page.
    Jerry

  • Updating Page Sentry for APEX 4.0

    Hi there,
    I've found this forum and the regular posters and mods to be extremely helpful, so this post is more of a give-back, I hope. We recently upgraded a dev system of apex 3.0.x to 4.0.2 and ran into some issues where our use of some Page Sentry auth code that's been floating around a long time became a problem for us in terms of properly managing session state, URL forwarding, and acceptance of URL parameters for setting the value of page items in session.
    I've posted [an article on our blog|http://zetetic.net/blog/2010/12/10/updating-page-sentry-for-apex-4-0-upgrade/] explaining the whole thing in what is probably very boring detail over here, and if you're so inclined, we'd love your feedback. But just so there's no need to go anywhere, here's the page sentry we ended up implementing, which makes some pretty significant mods to the old page sentry to account for what we perceived as changes in APEX's behavior somewhere in our move from 3.0 all the way up to 4.0.2.
    You can view the following function nicely formatted [at this gist|https://gist.github.com/736369] :
    <pre><code>
    CREATE OR REPLACE function PASSPORT.oamPageSentry ( p_apex_user in varchar2 default 'APEX_PUBLIC_USER' )
    return boolean
    as
    l_cgi_var_name varchar2(100) := 'REMOTE_USER';
    l_authenticated_username varchar2(256) := upper(owa_util.get_cgi_env(l_cgi_var_name));
    l_current_sid number;
    l_url_sid varchar2(4000);
    l_url varchar2(4000);
    l_app_page varchar2(4000);
    begin
    -- check to ensure that we are running as the correct database user
    if user != upper(p_apex_user) then
    return false;
    end if;
    if l_authenticated_username is null then
    return false;
    end if;
    l_current_sid := apex_custom_auth.get_session_id_from_cookie;
    l_url := wwv_flow_utilities.url_decode2(owa_util.get_cgi_env('QUERY_STRING'));
    wwv_flow.debug('oamPageSentry: request from ' || l_authenticated_username || ' (sid=' || l_current_sid || ') for ' || l_url);
    -- split on zero or more non-colon characters, and extract the URL session ID if it is present
    l_url_sid := REGEXP_SUBSTR(l_url, '[^:]*', 1, 5);
    wwv_flow.debug('oamPageSentry: extracted current sid from url as ' || l_url_sid);
    -- the post_login call at the end of this function will blindly append the session ID to the URL, even if it is
    -- a deep link. Detect this condition, strip the duplicate session identifier, and redirect.
    if REGEXP_SUBSTR(l_url, '^.*:' || l_current_sid || ':.+:' || l_current_sid || '$') IS NOT NULL then
    l_url := REGEXP_REPLACE(l_url, ':' || l_current_sid || '$', '');
    wwv_flow.debug('oamPageSentry: identified duplicate session id on URL, stripping and redirecting to ' || l_url);
    owa_util.redirect_url('f?'|| l_url);
    return false;
    end if;
    -- apex 4.0 appears to have problems setting session variables (possibly due to new session validation)
    -- if the Session identifier present in the URL does not agree with the session identifier in the cookie
    -- detect this condition, and replace the invalid URL session identifier in the URL with the valid
    -- ID in from the cookie and redirect to the fixed URL
    if owa_util.get_cgi_env('REQUEST_METHOD') = 'GET' AND l_current_sid <> TO_NUMBER(l_url_sid) then
    l_url := REGEXP_REPLACE(l_url, '^(p=.+?:.+?):\d*(.*)$', '\1:' || l_current_sid || '\2');
    wwv_flow.debug('oamPageSentry: current sid ' ||l_current_sid || ' is diferent from url sid ' || l_url_sid || ', redirecting to url' || l_url);
    owa_util.redirect_url('f?'|| l_url);
    return false;
    end if;
    -- 1. If the session is valid and the usernames match then allow the request
    -- 2. If the session is valide but the usernames do not match, there may be session tampering going on. log the session out
    -- 3. If the session id is not valid, generate a new session, and register it with apex
    if apex_custom_auth.is_session_valid then
    apex_application.g_instance := l_current_sid;
    wwv_flow.debug('oamPageSentry: current sid ' || l_current_sid || ' with username ' || apex_custom_auth.get_username || ' is valid');
    if l_authenticated_username = apex_custom_auth.get_username then
    wwv_flow.debug('oamPageSentry: current session username ' || apex_custom_auth.get_username || ' equal to header username ' || l_authenticated_username);
    apex_custom_auth.define_user_session(
    p_user=>l_authenticated_username,
    p_session_id=>l_current_sid);
    return true;
    else
    wwv_flow.debug('oamPageSentry: username ' || apex_custom_auth.get_username || ' mismatch with ' || l_authenticated_username || ' loggout');
    apex_custom_auth.logout(
    p_this_app=>v('APP_ID'),
    p_next_app_page_sess=>v('APP_ID')||':'||nvl(v('APP_PAGE_ID'),0)||':'||l_current_sid);
    apex_application.g_unrecoverable_error := true; -- tell apex engine to quit
    return false;
    end if;
    else -- application session cookie not valid; we need a new apex session
    wwv_flow.debug('oamPageSentry: current session ' || l_current_sid || ' is not valid');
    l_current_sid := apex_custom_auth.get_next_session_id;
    wwv_flow.debug('oamPageSentry: generated new session id ' || l_current_sid);
    apex_custom_auth.define_user_session(
    p_user=>l_authenticated_username,
    p_session_id=> l_current_sid );
    apex_application.g_unrecoverable_error := true; -- tell apex engine to quit
    if owa_util.get_cgi_env('REQUEST_METHOD') = 'GET' then
    wwv_flow.debug('oamPageSentry: GET request, remembering deep link ' || l_url);
    wwv_flow_custom_auth.remember_deep_link(p_url => 'f?'|| l_url );
    else
    l_url := 'f?p='||
    to_char(apex_application.g_flow_id)||':'||
    to_char(nvl(apex_application.g_flow_step_id,0))||':'||
    to_char(apex_application.g_instance);
    wwv_flow.debug('oamPageSentry: POST request, remembering deep link ' || l_url);
    wwv_flow_custom_auth.remember_deep_link(p_url=> l_url );
    end if;
    -- in previous versions of apex the remember_deep_link call would actually work and cause
    -- post_login to redirect to the target URL. This doesnt work any more in 4.0. Instead,
    -- we'll pass the target page in to the post_login call directly. Post login will blindly
    -- append the session ID to the end of p_app_page when it redirects, but we
    -- clean that up with the first cleanup redirect at the beginning of the function
    l_app_page := SUBSTR(l_url, 3, LENGTH(l_url) - 2);
    wwv_flow.debug('oamPageSentry: post_login for ' || l_authenticated_username || ' app_page ' || l_app_page );
    apex_custom_auth.post_login(
    p_uname => l_authenticated_username,
    p_session_id => nv('APP_SESSION'),
    p_app_page => l_app_page
    return false;
    end if;
    end oamPageSentry;
    </code></pre>

    Billy,
    Thanks a lot for this great info. It seems to have solved the problem I have been having with an NTLM page sentry function for the last 2 or 3 days. Very difficult stuff to debug what is going on inside these functions when they (obviously) behave differently once you have logged in etc.
    As I said, your solution seems to solve my problem - but I have a couple of questions :
    1. Is this related to 10347091 which is mentioned on http://www.oracle.com/technetwork/developer-tools/apex/downloads/apex402knownissues-189793.html ?
    If yes, did you try the patch?
    2. Have you logged a bug or had any feedback (externally or within the forum) from Oracle people on this issue?
    I was about to log a bug regarding the deep linking and FSP_AFTER_LOGIN_URL not behaving correctly when I noticed the known issues and now your valuable work. I was going to try the patch, but I'd rather not apply it unless I know it will solve my problem.
    Please let me know.
    Thanks
    Glen

Maybe you are looking for

  • Cant watch videos on macbook pro?

    mac book pro will not play videos...any suggestions?

  • How can I re-format a thumb drive back to MS-DOS(FAT)

    I bought a kingston 16gb thumb drive today, and formatted it to Mac OS X Extended (Journaled, Encrypted) using the disk utility. I was unaware that it will not work with a PC now, only Mac. Is there a way to covert it back to MS-DOS or am I going to

  • The %$"$&!!!/&%-new update

    Last night, at seven, I started the new update on my iPod touch. The update stopped after the quarter and I cannot use my iPod. At eight today, my iPod is already at quarter so I connected it to my computer. I was forced to restart it and after one d

  • HeLp - MAc versitility with importing DVD files?!

    I bought a DVD player with a harddrive and recording facilities - DVD-RAM and DVD-R - a Panasonic SCHT1500. I recorded some old home videos from VHS onto the harddrive - and then burned some DVDs. The DVD-R does not play on my G4 Powerbook and is not

  • DataTipFields in Spark Lists?

    It doesn't seem like Spark's List controls are fully implemented;  at the very least dataTips and dataTipFields aren't.  This Halo code works: <mx:List id="courseCatalog" dataProvider="{getAllCoursesResult.lastResult}" labelField="title"  showDataTip