I have a German Customer who is having trouble with date formats, it keeps giving invalid day of the week or invalid month error message.
I have tried following date formats for him:

dd- mon - yyyy
dd-mm-yyyy
dd-mm-yyyy hh24:mi:ss
YYYY-MM-DD HH:MI:SS AM
etc
none of them work through stored procedure, gives error but when these statements are run thro' application directly the date coversion works.

CREATE OR REPLACE PROCEDURE pr_authpto
(inResID Int,inWorkID Int, strStartDate varchar2, strEndDate varchar2)
IS
/* Declare Local Variable */
dtDate date;
dtStartDate date;
dtEndDate date;

Begin
dtStartDate := to_date(strStartDate,'YYYY-MM-DD "00:00:00.000"');
dtEndDate := to_date(strEndDate, 'YYYY-MM-DD "00:00:00.000"');

.... rest of the procedure...
We pass this date as string and then inside the procedure we convert it to date, this fails.

Execute pr_authpto (552, 570, '2001-07-22 00:00:00.000', '2001-07-28 00:00:00.000');

But statements thro' the application which is on web but uses
odbc works !
eg:
SELECT Res_Date_Ext6 FROM mwebRes WHERE Res_ID = 552 and (to_date('2001-07-23 12:00:00 AM','YYYY-MM-DD HH:MI:SS AM') > Res_Date_Ext6 or to_date('2001-07-23 12:00:00 AM','YYYY-MM-DD HH:MI:SS AM') = Res_Date_Ext6) and Res_Date_Ext6 is not null.


They have oracle server on german windows 2000 machine.
Here is the output from their v$parameter file:
NUM NAME TYPE ISDEFAULT ISMODIFIED ISADJ VALUE
60 nls_language 2 TRUE FALSE FALSE AMERICAN
61 nls_territory 2 TRUE FALSE FALSE AMERICA
62 nls_sort 2 TRUE FALSE FALSE
63 nls_date_language 2 TRUE FALSE FALSE
64 nls_date_format 2 TRUE FALSE FALSE
65 nls_currency 2 TRUE FALSE FALSE
66 nls_numeric_characters 2 TRUE FALSE FALSE
67 nls_iso_currency 2 TRUE FALSE FALSE
68 nls_calendar 2 TRUE FALSE FALSE
69 nls_time_format 2 TRUE FALSE FALSE

Please any help
Thanks
Sonali