Date picker's session state

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

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

Similar Messages

  • 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

  • Using Date Picker on form causes session values to be cleared on validation

    Got a really weird problem on a form (on a report). We have a basic form which has a date picker on. The form fires a number of bog standard validations when the Create button is clicked (values filled in, values are numbers etc).
    When a validation fails, the values inputted by the user are retained. So far so good. However, when the user selects a date, and a validation fails, all the session values are all cleared (not just the date picker) and they have to fill everything in again.
    At first we thought there must be a process resetting the page items - nothing. Also recreated the page from scratch and it still doesn't work. Strangely, the problem goes away if we change the date picker to a text field. Also, if the user doesn't select a date, the other session values are retained.
    Are we doing something daft here or is this a bug?

    Yes - we're using inbuilt validation to ensure it's a valid date. We tried turning this off and it makes no difference, the problem is still there.
    We tried changing the date picker to a text field and using the same validation (i.e. check it's a date) and this works fine. This is why we think it might be a bug.

  • Query referencing session state not consistently returning data

    Hi,
    I have a form that summarizes expense data by category for employees, per fiscal year, fiscal period, and project.
    Clicking on a button next to a particular category takes the user to a new page that should display the detail of those expenses, based on expense_code.
    The expense_code is passed via URL to the second page, and the query region for the detail has the following source:
    select exp_code, JRNL_ID_NO, DESCRIPTION, REFERENCE, CUR_PER_TRAN, CUM_YTD
    from fgspec_ac where exp_code between :P118_EXPENSE_CODE_FROM and :P118_EXPENSE_CODE_TO and project=:P114_PROJECT and fis_year=:P114_FIS_YEAR and fis_period=:P114_FIS_PERIOD
    :P118_EXPENSE_CODE_FROM and :P118_EXPENSE_CODE_TO are passed via URL, and the :P114_% fields reference data on the initial form.
    The problem is that when I click on the button to bring up the detail for the first time, the query returns no rows. If I return to the original form and click on the button a second time, the query the displays the required data. This behavior is consistent, regardless of expense category, fiscal period, etc. The first time I try to access detail, no records returned, but the second time, it works.
    I have used the 'SESSION' link to debug and view the session state in each case, and the results are IDENTICAL whether the query returns data or not. That is, all 5 variables contain the exact same data.
    Do you know what I might be doing wrong?
    Thanks,
    Michelle

    Hi guys,
    Thanks very much for your replies. In fact, I have tried both methods. Yes, I am navigating from page 114 to 118, and passing values to page 118 from page 114 (ie: P114_PROJECT passes to P118_PROJECT, etc...). In my query, I have tried referencing both, with the same results.
    When checking values in session state (by using the 'SESSION' link), values from page 114 are available in both cases (when the query returns rows and when it does not). It is very strange behavior.
    I have been developing with HTMLDB for over a year now, and never seen anything like it!!! I will try loading this on HTMLDB.oracle.com, and see if it replicates, and if so, maybe you can have a look...............
    Thanks!
    Michelle

  • Date Picker Doesn't Like Retrieved or Typed In Date Values

    I have more than one Region on a page, so I retrieve the column values for a region this way:
    (On LOad, Before Header, Once per Page Visit)
    BEGIN
    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT='''||:pick_date_format_mask||'''';
    FOR request_rec IN (SELECT dev_requested_ind,
    dev_requested_dttm,
    dev_analyst_seq,
    dev_completed_ind,
    dev_completed_dttm,
    dev_dba_seq,
    sit_requested_ind,
    sit_requested_dttm,
    sit_analyst_seq,
    sit_completed_ind,
    sit_completed_dttm,
    sit_dba_seq,
    uat_requested_ind,
    uat_requested_dttm,
    uat_analyst_seq,
    uat_completed_ind,
    uat_completed_dttm,
    uat_dba_seq,
    prd_requested_ind,
    prd_requested_dttm,
    prd_analyst_seq,
    prd_completed_ind,
    prd_completed_dttm
    FROM request_tbl
    WHERE request_seq = :p16_request_seq)
    LOOP
    :p16_dev_requested_ind := request_rec.dev_requested_ind;
    :p16_dev_requested_dttm := request_rec.dev_requested_dttm;
    :p16_dev_analyst_seq := request_rec.dev_analyst_seq;
    :p16_dev_completed_ind := request_rec.dev_completed_ind;
    :p16_dev_completed_dttm := request_rec.dev_completed_dttm;
    :p16_dev_dba_seq := request_rec.dev_dba_seq;
    :p16_sit_requested_ind := request_rec.sit_requested_ind;
    :p16_sit_requested_dttm := request_rec.sit_requested_dttm;
    :p16_sit_analyst_seq := request_rec.sit_analyst_seq;
    :p16_sit_completed_ind := request_rec.sit_completed_ind;
    :p16_sit_completed_dttm := request_rec.sit_completed_dttm;
    :p16_sit_dba_seq := request_rec.sit_dba_seq;
    :p16_uat_requested_ind := request_rec.uat_requested_ind;
    :p16_uat_requested_dttm := request_rec.uat_requested_dttm;
    :p16_uat_analyst_seq := request_rec.uat_analyst_seq;
    :p16_uat_completed_ind := request_rec.uat_completed_ind;
    :p16_uat_completed_dttm := request_rec.uat_completed_dttm;
    :p16_uat_dba_seq := request_rec.uat_dba_seq;
    :p16_prd_requested_ind := request_rec.prd_requested_ind;
    :p16_prd_requested_dttm := request_rec.prd_requested_dttm;
    :p16_prd_analyst_seq := request_rec.prd_analyst_seq;
    :p16_prd_completed_ind := request_rec.prd_completed_ind;
    :p16_prd_completed_dttm := request_rec.prd_completed_dttm;
    END LOOP;
    END;
    p16_dev_requested_dttm is defined as a Date Picker (use application format mask)
    The data source is a Date column called dev_requested_dttm. I haven't defined a format mask for it. (I have tried using &PICK_DATE_FORMAT_MASK..)
    The Application Format Mask is defined as a Subsitution String called
    PICK_DATE_FORMAT_MASK
    with a value of
    MM/DD/YYYY HH:MI AM
    The retrieved column value for p16_dev_requested_dttm looks fine, but when I click the date picker pushbutton, I get this message:
    Not Found
    The requested URL /pls/htmldb/wwv_flow_utilities.show_as_popup_calendar was not found on this server.
    Oracle-Application-Server-10g/10.1.2.0.0 Oracle-HTTP-Server Server at edwdev.dhhs.state.nh.us Port 7779
    I also get a line in my log file,
    /vg02lvol1/app/oracle/product/htmldb/Apache/Apache/logs/error_log.1133956800:
    [Wed Dec  7 16:23:43 2005] [error] [client 172.16.252.76] [ecid: 1133990623:172.17.96.35:1802:0:9870,0] mod_plsql: /pls/htmldb/wwv_flow_util
    ities.show_as_popup_calendar HTTP-404 ORA-01849: hour must be between 1 and 12\nORA-06512: at "FLOWS_020000.WWV_FLOW_UTILITIES", line 1801\n
    ORA-06512: at line 22\n
    This happens with both FireFox and Internet Explorer.
    Any ideas what's causing this?
    -F
    Message was edited by:
    Fred C Willingham

    Fred,
    Unfortunately, the answer is no to both of your questions.
    There is no way for you as a developer to control which date is highlighted in the popup calendar. It will always highlight the current day (if you're displaying a month that contains the current day). This is an interesting and prudent suggestion, and one which we'll consider for an upcoming release of HTML DB.
    With regards to your second point, that also is something we should consider for an upcoming release of HTML DB. This isn't impossible for us to do, it was just designed to work in the current fashion. If you look at the generated HTML for the Date Picker item on the page (not the popup calendar itself, but the page on which the item is rendered), we break out each element of the date value into discrete components. When we instead rely upon the user entered value, garbage or date values not conforming to the date format mask are easily entered. And the question is - what to do then? Raise an error immediately, still popup the calendar and show the current month, etc. So we've tried to be fairly strict about the date values and format masks for the popup calendar, hence the implementation you see.
    Thanks again for your comments.
    Joel

  • 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

  • Inserting a Value into otherTable using an App. Proc. from a Date Picker

    I'm trying to call an Application Process that will insert an Attribute of a Row, into another table, after selecting a date from a Date Picker cell.
    I don't know why this shouldn't be possible. I think I've got all of my "Ducks in a Row", so to speak,
    but the Value that is being inserted into the other table is this:.. [object HTMLTableCellElement]
    (Ultimately, I'd like my Application Process to include Page element values with the insert as well, but I'm trying to handle one problem at a time)
    Here's a list of all the steps I've covered:
    1. I've Created an Application Process, (popDevices). The Process Point is "On-Demand". The Type is "PL/SQL Anonymous Block".
    The Process is defined as such:
    BEGIN
    Insert into P_DEVICES
    NAME,
    IP_ADDRESS,
    MODEL
    ) values
    'Unassigned',
    'Unassigned',
    :P153_MODEL
    COMMIT;
    END;
    2. I've Included the Javascript in the Page HTML Header.
    The Javascript is written as such: (minus the tags)
    function popDevices(PART_NO)
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=popDevices',0);
    get.add('P153_MODEL',PART_NO);
    gReturn = get.get();
    get = null;
    3. I've included the following in the "Element Attributes" field of the Date-Picker Item (Date_Delivered).
    The Region Type is "SQL Query (Updatable Report)"
    onChange="javascript:popDevices(PART_NO);"
    THE RESULTS
    A. A row does get inserted into the other (P_Devices) table,
    But the value of the Attribute from the Page Region is not valid.
    The Inserted value is this: [object HTMLTableCellElement]
    B. I have tried Every conceivable combination of characters in the "Element Attributes" field, such as:
    ...(PART_NO), (#PART_NO#), (||PART_NO||), (+PART_NO+)
    C. The Javascript in the Page HTML Header appears to be correct, since I have written it this same way for other applications without any problems.
    D. If this simply cannot be done by referencing the "onChange" Javascript from the "Element Attributes" field,
    Then can you help me to write the code into the Select statement of the region.
    Thanks for any help you can give me.
    -Gary

    This may not be the most direct approach to the solution. But, none the less, it is a solution.
    For those other novices, like myself, I hope this can be useful at some point in your development:
    MY DESIRED RESULT:
    A. To Insert into another tablle values derived from both; Page Item (i.e. P153_x) and Attributes of a Row in an Updatable Report from which I have selected the Date-Picker.
    B. I want the insert to occur automatically after the user Selects the date from the Date-Picker.
    SOLUTIONS:
    1. I usea Javascript prompt window to prompt for information and store the information in Pre-Created Page Items.
    This is the Javascript as I've entered it into the Page HTML Header region: (Minus the Tags)
    function received_javaprompt () {
    var Serial_Number = prompt("Enter the Serial Number");
    var Bldg_Id = prompt("Enter the Bldg_Id");
    var Clst_Id = prompt("Enter the Clst_Id");
    $x('P153_SERIAL_NO').value = Serial_Number;
    $x('P153_BLDG_ID').value = Bldg_Id;
    $x('P153_CLST_ID').value = Clst_Id;
    2. I needed to identify the (Manufacturer and Part_No) Column Attribute in the Row from which I selected the Date-Picker.
    A. To do this, I enumerated the Columns in the order they were listed in the Select Statement of the region (Click on the Region Definition Tab).
    B. Then (Click on the Report Attributes Tab). Count, In the numerical order which these columns are selected, ONLY the columns that are Editable.
    C. When I counted down as far as the Column I wanted to capture the value of, Then I made a mental note of that number and used it in the following (2) Javascripts (findMaker and findModel).
    3. findMaker (Minus the tags)
    function findMaker (pThis) {
    var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
    var Maker = html_GetElement('f15_'+vRow).value
    $x('P153_MAKER').value = Maker;
    4. findModel (Minus the tags)
    function findModel (pThis) {
    var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
    var Model = html_GetElement('f16_'+vRow).value
    $x('P153_MODEL').value = Model;
    5. I added one more Javascript, to the Page HTML Header, that references the Application Process which will Insert the values into the "Other" table:
    function popDevices(P153_SERIAL_NO,P153_BLDG_ID,P153_CLST_ID,P153_MAKER,P153_MODEL)
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=popDevices',0);
    get.add('P153_SERIAL_NO',P153_SERIAL_NO);
    get.add('P153_BLDG_ID',P153_BLDG_ID);
    get.add('P153_CLST_ID',P153_CLST_ID);
    get.add('P153_MAKER',P153_MAKER);
    get.add('P153_MODEL',P153_MODEL);
    gReturn = get.get();
    get = null;
    6. I added the "onChange" process to the Element Attributes field of the Table item which utilizes the Date-Picker:
    A. Click on the Report Attributes Tab of the Region.
    B. Click on the Edit icon of the column which utilized the Date-Picker
    C. I added this "onChange" reference to the Element Attributes field, which is found in the Tabular Form section.
    onChange="javascript:received_javaprompt();findModel(this);findMaker(this);popDevices((P153_SERIAL_NO).value,(P153_BLDG_ID).value,(P153_CLST_ID).value,(P153_MAKER).value,(P153_MODEL).value);"
    7. The Application Process which inserts the collected data into the table is as follows:
    (Name= popDevices: Process Point= On-Demand: Type= PL/SQL Anonymous Block)
    BEGIN
    Insert into P_DEVICES
    BLDG_ID,
    CLST_ID,
    NAME,
    IP_ADDRESS,
    SERIAL_NO,
    MAKER,
    MODEL
    ) values
    :P153_BLDG_ID,
    :P153_CLST_ID,
    'Unassigned',
    'Unassigned',
    :P153_SERIAL_NO,
    :P153_MAKER,
    :P153_MODEL
    COMMIT;
    END;
    Well, I hope this may help someone else like me.
    I usually arrive at my solutions by getting help here on the Discussion Forum and also Google. Google inevitably points me to a previous Apex Discussion Forum session.
    Edited by: garyNboston on Mar 15, 2010 10:55 AM

  • Unable to set default date for Date Picker item using Auto Row Processing

    Okay, I have searched through the forum for an answer, and have not found a thing to account for my problem.
    First, does anyone know if using Auto Row Processing has problems updating an item/field in a record where the Source is defined as Database Column if the 'Display As' is defined as 'Date Picker (MM/DD/YYYY)'?
    I ask this only because I found out the hard way that Auto Row Processing does NOT fetch the value for an item where the field is defined as TIMESTAMP in the database.
    My problem is as follows: I have a form that will CREATE a new record, allowing the user to select dates from Date Pickers, text from Select Lists, and entering in text into a Textarea item. The information is saved using a standard (created through the Auto Row Processing wizared) CREATE page level button. After the record is created the user is able to go into it and update the information. At that time, or later, they will click on one of two buttons, 'ACCEPT' or 'DECLINE'. These are Item level buttons, which set the REQUEST value to 'APPLY' (Accept) and 'UPDATE' (Decline). The Accept button executes a Process that changes the Status Code from 'Initiated' to 'Accepted', and sets the Declined_Accepted_Date to SYSDATE, then another Process SAVEs the record. The Declined button runs a Process that changes the Status Code from 'Initiated' to 'Declined', and sets the Declined_Accepted_Date to SYSDATE, then another Process SAVEs the record.
    However, even though the Status Code field is updated in the database record in both Accepted and Declined processing, the Declined_Accepted_Date field remains NULL in the database record (by looking at the records via SQL Developer). WHY??? I looked at the Session State values for both the Status Code and the Declined_Accepted_Date fields and saw that the fields (items) had the expected values after the process that SAVEs the record.
    The following is the code from the Accept button Page Process Source/Process:
    BEGIN
    :P205_STATUS_CD := 'A';
    :P205_REF_DECLINE_ACCEPT_DT := SYSDATE;
    END;
    As can be seen, the Status Code and Declined_Accepted_Date items are set one right after the other.
    As an aside, just what is the difference between Temporary Session State vs Permanent Session State? And what is the sequence of events to differentiate the two?

    Here's yet another thing that I just looked into, further information...
    One other difference between the date field I am having problems with (Accepted_Declined_Date), and other dates (with Date Pickers) in the record is that the Accepted_Declined_Date never gets displayed until after it is set with a default date when the Accept and Decline buttons are pressed.
    One of the other dates that works, the Received Date, is able to write a default date to the record that is never typed into the box or selected from the calendar. That date is placed into the box via a Post Calculation Computation in the Source, which I set up as: NVL(:P205_REF_RECEIVED_DT,TO_CHAR(SYSDATE,'MM/DD/YYYY'))
    However, I do remember actually trying this also with the Accepted_Declined_Date, and setting the Post Calculation Computation did not work for the Accept_Decline_Date. Could this be because the Accept_Decline_Date is never rendered until the Status Code is set to Declined (in other words, there is no need to display the date and allow the user to change it until the record is actually declined)???
    The control of the displaying (rendering) of the date is set via the Conditions / Condition Type: Value of Item in Expression 1 = Expression 2
    Expression 1 = P205_STATUS_CD and Expression 2 = L
    Does this shed any light???

  • Default value of date picker not showing in sql query

    Hi,
    I have a tabular form page with a query similar to the following:
    select emp_name, salary from emp_table where trunc(hire_date)=trunc(to_date(:P42_START_DATE))
    where P42_START_DATE is the name of a date picker item.
    I set the source type of the date picker to be "Only when current value in session state is null" and the value to be "select trunc(next_day(sysdate,'MON')-7) from dual;" - basically the monday of the current week. I set the sequence of the date picker to be 5, and the sequence of the region to be 10. Now, when I open this page, no data gets pulled. I checked the page source, and the value of the date picker input is being set to "17-NOV-2008", but it somehow isn't reflected in the sql query.
    Data does get retrieved if I manually set the date in the date picker, but I'd like it to default to the monday of the current week. What am I doing wrong?
    Thanks

    nope, still same problem.
    I used javascript alerts to help debug, and here might be some useful information.
    The computation to set the value of :P42_START_DATE is set to run "before header", but when I put this following javascript in the header:
    <script language="javascript">
    var c = $v('P42_START_DATE');
    alert(c);
    </script>
    the alert box is blank (ie :P42_START_DATE is empty). Putting the same exact script in the footer gives 24-Nov-2008 in the alert box. Now, the SQL query is run sometime after the first alert and before the second alert, I believe. Why would the value of :P42_START_DATE not be getting set at the correct time?
    P42_START_DATE is a date picker item that belongs to the region SCHEDULE (which is where the sql query is). I set the sequence of the region to 10, and the sequence of the date picker and computation to be 5 and 6. Even so, does this mean that the sql query is executing before the call to the computation, because the region needs to be created before any items can be created that belong to the region?

  • Date Picker BUG on APEX 4.2.1

    Hi all could you please open a ticket for the following bug.
    Reproducing the bug very simple.
    Apex specification :
    version 4.2.1.00.08
    I'm not using HTML 5 template but the classic "Blue and Tan" one.
    1) Create a page with date picker with mask (DD-MON-YYY HH24.MI).
    2) set as default value the SYSDATE using the PLSQL expression (not specifying the mask to_char()).
    3) Try to use it and you will see that the year shown is not the correct one but is something like 1911.
    I fixed using to_char(SYSDATE,'DD-MON-YYY HH24.MI') in the PLSQL expression.

    Hi Zere,
    one very important thing to remember when dealing with session state (the value of a page item) is that everything is stored as string.
    If you specify SYSDATE as your default expression, then the Oracle database will evaluate that as date data type, but as soon as it's stored in session state, the database will do an implicit data type conversion using the default format mask specified for your database session.
    That's why it works when you do the TO_CHAR with the explicit format mask.
    Regards
    Patrick
    Member of the APEX development team
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf
    Edited by: Patrick Wolf on Apr 10, 2013 3:37 PM

  • Date Picker Result Used in Query for Flash Chart

    Hello,
    I'm creating a flash chart using an SQL Query. The query uses two date pickers for the beginning and ending date of the data the query returns. For some reason the substitution string for the data pickers do not work and do not return any data. If I hard wire the start and end date to something like '12/01/2008' and '01/31/2009' the query and the flash chart work just fine. When use the string representing the data pickers (:P65_BEGIN_DATE and :P65_END_DATE) the query does not return any data. Is there some problem using substitution strings in queries for flash charts??
    For what it's worth here is the query. (Look near the bottom to see where I reference the data pickers):
    SELECT 'Link',
    to_char(Day, 'Mon DD'),
    ((Count("Item Number")-Sum("Devaition"))/Count("Item Number"))*100 as "Precentage"
    from
    (SELECT
    to_date(concat(substr(F4140.PICSDJ, 1, length(F4140.PICSDJ)-3)+1900,
    substr(F4140.PICSDJ, length(F4140.PICSDJ)-2,3)), 'yyyyddd') as Day,
    F4141.PJLITM AS "Item Number",
    sum(F4141.PJTQOH) AS "Sum Qty On Hand",
    sum(F4141.PJTQCT) AS "Sum Qty Counted",
    (decode(sum(F4141.PJTQOH)-sum(F4141.PJTQCT), 0, 0, 1)) as "Devaition"
    FROM F4140 INNER JOIN F4141 ON F4140.PICYNO = F4141.PJCYNO
    WHERE (((F4140.PICYCS) In ('40','50')) AND ((F4141.PJCCCD)='1'))
    GROUP BY to_date(concat(substr(F4140.PICSDJ, 1, length(F4140.PICSDJ)-3)+1900,
    substr(F4140.PICSDJ, length(F4140.PICSDJ)-2,3)), 'yyyyddd'), F4141.PJLITM
    HAVING to_date(concat(substr(F4140.PICSDJ, 1, length(F4140.PICSDJ)-3)+1900,
    substr(F4140.PICSDJ, length(F4140.PICSDJ)-2,3)), 'yyyyddd')
    between to_date(:P65_BEGIN_DATE, 'DD-Mon-YYYY') and to_date(:P65_END_DATE, 'DD-Mon-YYYY') )
    group by Day

    I look at the debug output without changing anything and I am not really sure where the two date pickers are being populated. However I do have defaults set up for each datepicker of:
    P65_BEGIN_DATE: to_char(sysdate - 30, 'DD-MON-YYYY')
    P65_END_DATE: to_char(sysdate, 'DD-MON-YYYY')
    and the dates I would expect show up in the date picker.
    Also I created a Computation of Before Header type with the following PL/SQL expression:
    to_char(sysdate-180, 'DD-MON-YYYY')
    and I see the following output when in debug mode:
    0.05: Computation point: BEFORE_HEADER
    0.05: ...Perform computation of item: P65_BEGIN_DATE, type=PLSQL_EXPRESSION
    0.05: ...Session State: Save "P65_BEGIN_DATE" - saving same value: "03-AUG-2008"
    0.05: Processing point: BEFORE_HEADER
    So I think the datapickers are being populated but the flash chart is still not working.

  • Javascript-disabled date picker items

    If I disable a Date Picker item via Javascript the user can still enter a date into it via the calendar pop-up: I want to prevent this. Is there any easy way to do so? All I can think of currently is to build my own date picker functionality, with the icon as an item that I can hide or show via Javascript.

    Hello,
    Following Carl’s idea, the following should allow you to disable/enable a date picker item:
    function toggleDatePicker (pThis, pDisable) {
      var lNode = $x_UpTill(pThis,'TR');
      lNode.disabled = pDisable;
      var lNode = $x_UpTill(pThis,'TD');
      var lA = lNode.getElementsByTagName('A');
      if(pDisable){
        if(lA[0].getAttribute('href')){
           lA[0].setAttribute('onclickoff',lA[0].getAttribute('href'));
           lA[0].setAttribute('href','javascript: void(0);');
      }else{
       if(lA[0].getAttribute('onclickoff')){
         lA[0].setAttribute('href',lA[0].getAttribute('onclickoff'));
    }pThis is the date picker item name. pDisable set to true will disable the item, and false will enable it.
    Although the user can enter a date into the field, it’s still disabled. That means that this item will not be POSTed to the server and will not be set in session state.
    Hope it helps,
    Arie.

  • Date Picker shows displays wrong timezone after Apex 2.2 upgrade

    After upgrading from 2.0 to 2.2, all date pickers in all applications now display the time in GMT instead of GMT - 7.
    For example: before upgrade 08/03/2006 9:00 -- after upgrade 08/03/2006 16:00.
    The date and time on the server is set to GMT - 7. The database displays GMT - 7 in all other non-Apex apps.
    I suspect there's a global preference that needs resetting, but I can't find it.
    Cheers,
    Jaime

    Hi Jaime,
    What you are witnessing is a feature and not a bug. Shame on us for not making this change in behavior more prominent. But this feature ultimately emanated from the posting at:
    Re: Date Picker and timzone
    In Application Express 2.2, if you are using a DatePicker, the current date and time will be computed based upon LOCALTIMESTAMP. LOCALTIMESTAMP is time zone aware. By default, it will use the database's time zone.
    To control the user's time zone setting in your application, you could add a before-header application-level process (and, ultimately, another one on Submit) to issue a PL/SQL statement like:
    execute immediate 'alter session set time_zone = ''America/New_York'' ';Note:
    1) Those are sets of two single-quotes around America/New_York, not double-quotes
    2) Obviously, you'd replace America/New_York with your favorite time zone. The full list is at:
    http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#sthref2012
    As a quick demonstration, run the following block in SQL Commands on apex.oracle.com or your favorite APEX instance:
    begin
        dbms_output.put_line( 'LocalTimestamp Before: ' || localtimestamp );
        execute immediate 'alter session set time_zone = ''America/New_York'' ';
        dbms_output.put_line( 'LocalTimestamp After: ' || localtimestamp );
    end;
    /I hope this helps.
    Joel

  • Date Picker Error when not valid date

    I have a field with a date picker. I have an inline validation of type pl/sql error that checks to see that the user actually entered a valid date
    l_date := todate(:P1_MYDATE, '&PICK_DATE_FORMAT_MASK.');
    Works fine, except, next to the field (between the field and the date picker) I get this "junk"
    Unable to cast value "03/35/2004" to date format mask PICK_DATE_USING_FLOW_FORMAT_MASK
    This is pretty ugly, especially as I am already telling them they made a mistake.
    Would you like me to log a bug?
    Also . . . it would be great to have a built in validation for dates. Any thoughts there? Perhaps an enhancement request?
    Thanks,
    a-

    Anton,
    This is definitely pretty ugly and should be handled more gracefully. As it stands now, there is no way to suppress this automatic casting to a date value.
    You can work around it by clearing session state for that item if the validation fails. You could do this in a validation of type Function Returning Boolean with:
    declare
    l_date date;
    begin
    l_date := to_date(:P1_MYDATE,'&PICK_DATE_FORMAT_MASTK.');
    return true;
    exception
    when others then
    :P1_MYDATE := NULL;
    return false;
    end;
    The idea for a built-in validation for dates is a great one. HTML DB has all the information (what type of date picker, any format masks, NLS settings) to determine the validity of a date value.
    Joel

  • Session state of items and what's displayed

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

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

Maybe you are looking for

  • CX_SY_FILE_OPEN_MODE - short dump on production but not in Dev and Test

    Hello, I'm getting the follwoing short dump in production when I run the program which writes the data to application server. I have open data set and close data set. Same program when I in development and test I do not get any short dump. Can any kn

  • Error trying to create a Power View report against a Multi Dimensional SSAS cube

    Hi all, We have installed the Power View For Multidimensional Models CTP, released last November 27 on our Analysis Server instances.  I am now trying to create a Power View report in SharePoint that is connected to a Multi-Dimensional cube. I have f

  • Facing speed issue in my iphone 4, 16gb

    Hi Guys I am facing speed issue in my iphone 4, 16gb. may after updating ios 7, currenly i am using 7.0.4 update. please help me if anyone have soltion. Regards Parveen

  • Stop motion with flash

    Hi everyone. i want to create an animation with stop motion. Create a sequence with 160 photos  numbered continuous. It's with flash cs3. thanks a lot!

  • Authority-Check Object Help

    We consolidated R3 financial data to an SEM system. The authority-check object does not exists in SEM, thus the user can never perform those things unless I comment it out, or find one that works. The code is below. Any suggestions? Thank-You. " Chec