Apex 4.2.3.00.08 on XE 11g . Built application with globalization attributes set to DD-MON-YYYY format and all was fine. Created Dynamic loading pages to Load Excel csv files, but load requires I put in mask 'mm/dd/yyyy'. Problem is there are a lot of fields in the excel spreadsheet and I cant change the source.
Changed global application settings to use mm/dd/yyyy format, and now the dynamic loading pages work just fine without having to enter date patterns during the apex load. But it seems to have a side effect that is driving me crazy.
Page 219 is for time entry on work shifts. Hate the built in date/time picker. I created the following:
Page items only:
P219_DATE date picker, format mask mm/dd/yyyy
P219_STARTHR - STATIC2:00,01,02,03,04,05,06.....,24 Select list with several quick picks
P219_STARTMI - STATIC2:01,02,03,04...........59 Select list with several quick picks
Item that will map to database column later (after I debug the issue)
P219_STARTTIME set to display only item for troubleshooting. Created a dynamic action detecting change to date, starthr, startmi with plsql expression " :P219_DATE||' '||:P219_STARTHR||':'||:P219_STARTMI " to populate the display only item P219_STARTTIME
Works fine, with screen and session state showing string "12/08/2013 08:30" as example.
Now here is the part driving me nuts. IF I change P219_STARTTIME from a display only item to a text field, it now populates the following "12/04/2013 08:30" on screen and in session state. Cant take it from that garbage text into a real date, which is my final goal.
If I then go in and change P219_DATE to format mask "DD-MON-YYYY", all starts working again, and P219_DISPLAY, still as a text field, becomes the correct value "12/08/2013 08:30". I can make this work using DD-MON-YYYY, but I don't want 2 standards of date format varying among my data entry screens.
So it seems to work fine when format mask is dd-mon-yyyy, but fails when formatting mask is mm/dd/yyyy. Ultimately starttime should be 'mm/dd/yyyy hh24:mi' but fails. The format mask 'dd-mon-yyyy hh24:hi' works.
Got 2 answers that appear to work.
1) For 'mm/dd/yyyy hh24:mi' style, edit the Application attribute (on the Security tab) HTML Escaping Mode, changing it from Extended to Basic. (Tested this, and it solves issue)
2) Go back to my preferred 'dd-mon-yyyy hh24:mi' format model for the whole application, and on the dynamic loading pages for .csv sources containing many date columns, use a transformation rules to reformat the many dated being received (Not tested yet) using logic as follows:
BEGIN new_updated_date := TO_DATE(:LAST_UPDATE_DATE, 'MM/DD/YYYY HH24:MI');