Pls Help with date format picture ends ......error
Hi Everyone,
I am getting the following error when I run my crystal report.
Failed to retrieve data from the database.
Details: HY000:[DataDirect][ODBC Oracle driver][Oracle]ORA-01830: date format picture ends before converting entire input string
[Database Vendor Code: 1830]
I am using SQL Command for my report and in the command my date fields are of "Date" datatype.
I am using Crystal Reports XI R2,driver - CR Oracle ODBC Driver 5.1
Any help is greatly appreciated.
Thanks in advance
My SQL Command is as follows:
<
with MAXNEWSTAT as
(select
/--Added by HAN--/
HRHISTORY.COMPANY,
HRHISTORY.EMPLOYEE,
MAX(HRHISTORY.ACT_OBJ_ID) ACT_OBJ_ID
FROM
LAWSON.HRHISTORY
WHERE
HRHISTORY.FLD_NBR=20
and TO_DATE(HRHISTORY.DATE_STAMP)
>= TO_DATE((TO_CHAR((ADD_MONTHS(SYSDATE,-1)),'YYYY/MM')||'/01'),'YYYY/MM/DD')
AND TO_DATE(HRHISTORY.DATE_STAMP) <= (TO_DATE((TO_CHAR((ADD_MONTHS(SYSDATE,0)),'YYYY/MM')||'/01'),'YYYY/MM/DD'))-1
/--Added by HAN--/
GROUP BY COMPANY,
EMPLOYEE),
NEWSTAT AS
(SELECT
/--Added by HAN--/
HRHISTORY.COMPANY,
HRHISTORY.EMPLOYEE,
HRHISTORY.A_VALUE,
HRHISTORY.DATE_STAMP,
HRHISTORY.BEG_DATE,
HRHISTORY.ACT_OBJ_ID NS_OBJ_ID,
HRHISTORY.SEQ_NBR
FROM
LAWSON.HRHISTORY
INNER JOIN LAWSON.MAXNEWSTAT
ON
/--Added by HAN--/
HRHISTORY.COMPANY = MAXNEWSTAT.COMPANY
/--Added by KAM--/
AND HRHISTORY.EMPLOYEE = MAXNEWSTAT.EMPLOYEE
AND HRHISTORY.ACT_OBJ_ID = MAXNEWSTAT.ACT_OBJ_ID
WHERE
HRHISTORY.FLD_NBR=20
and TO_DATE(HRHISTORY.DATE_STAMP)
>= TO_DATE((TO_CHAR((ADD_MONTHS(SYSDATE,-1)),'YYYY/MM')||'/01'),'YYYY/MM/DD')
AND TO_DATE(HRHISTORY.DATE_STAMP) <= (TO_DATE((TO_CHAR((ADD_MONTHS(SYSDATE,0)),'YYYY/MM')||'/01'),'YYYY/MM/DD'))-1
PREVSTATID AS
(SELECT
/--Added by HAN--/
HRHISTORY.COMPANY,
HRHISTORY.EMPLOYEE,
MAX(HRHISTORY.ACT_OBJ_ID)OBJ_ID
FROM
LAWSON.HRHISTORY
INNER JOIN LAWSON.NEWSTAT
/--Added by HAN--/
ON HRHISTORY.COMPANY = NEWSTAT.COMPANY
AND HRHISTORY.EMPLOYEE = NEWSTAT.EMPLOYEE
WHERE
HRHISTORY.FLD_NBR=20
AND TO_DATE(HRHISTORY.BEG_DATE)
< to_date(NEWSTAT.BEG_DATE)
GROUP BY
/--Added by HAN--/
HRHISTORY.COMPANY,
HRHISTORY.EMPLOYEE
PREVSTAT AS
(SELECT
/--Added by HAN--/
HRHISTORY.COMPANY,
HRHISTORY.EMPLOYEE,
HRHISTORY.A_VALUE A_VALUE,
HRHISTORY.DATE_STAMP DATE_STAMP,
HRHISTORY.BEG_DATE BEG_DATE,
HRHISTORY.ACT_OBJ_ID OBJ_ID,
HRHISTORY.SEQ_NBR SEQ_NBR
FROM
LAWSON.HRHISTORY
INNER JOIN LAWSON.PREVSTATID
/--Added by HAN--/
ON HRHISTORY.COMPANY = PREVSTATID.COMPANY
AND HRHISTORY.EMPLOYEE = PREVSTATID.EMPLOYEE
WHERE
HRHISTORY.FLD_NBR=20 AND
HRHISTORY.ACT_OBJ_ID = PREVSTATID.OBJ_ID
MAXPERSACTHST AS
(SELECT
PERSACTHST.EMPLOYEE,
/--Added by KAM--/
PERSACTHST.COMPANY,
MAX(PERSACTHST.DATE_STAMP)DATE_STAMP
FROM
LAWSON.PERSACTHST
WHERE
(PERSACTHST.ACTION_CODE='LOASTATUS' OR PERSACTHST.ACTION_CODE='STATUS')
AND TO_DATE(PERSACTHST.DATE_STAMP)
>= TO_DATE((TO_CHAR((ADD_MONTHS(SYSDATE,-1)),'YYYY/MM')||'/01'),'YYYY/MM/DD')
AND TO_DATE(PERSACTHST.DATE_STAMP) <= (TO_DATE((TO_CHAR((ADD_MONTHS(SYSDATE,0)),'YYYY/MM')||'/01'),'YYYY/MM/DD'))-1
GROUP BY PERSACTHST.EMPLOYEE,
/--Added by KAM--/
PERSACTHST.COMPANY
CHANGELIST AS
(SELECT
PERSACTHST.EMPLOYEE,
/--Added by KAM--/
PERSACTHST.COMPANY,
PERSACTHST.ACTION_CODE,
PERSACTHST.REASON_01,
PERSACTHST.DATE_STAMP,
PERSACTHST.EFFECT_DATE,
PERSACTHST.REASON_02,
PREVSTAT.A_VALUE PS_A_VALUE,
PREVSTAT.DATE_STAMP PS_HR_DATE_STAMP,
PREVSTAT.BEG_DATE PS_HR_BEG_DATE,
PREVSTAT.OBJ_ID PS_HR_OBJ_ID,
PREVSTAT.SEQ_NBR PS_HR_SEQ_ID,
NEWSTAT.A_VALUE NS_A_VALUE,
NEWSTAT.DATE_STAMP NS_DATE_STAMP,
NEWSTAT.BEG_DATE NS_BEG_DATE,
NEWSTAT.NS_OBJ_ID,
NEWSTAT.SEQ_NBR NS_SEQ_NBR
FROM
LAWSON.PERSACTHST PERSACTHST
INNER JOIN LAWSON.PREVSTAT
ON PERSACTHST.EMPLOYEE=PREVSTAT.EMPLOYEE
/--Added by KAM--/
AND PERSACTHST.COMPANY = PREVSTAT.COMPANY
INNER JOIN LAWSON.NEWSTAT
ON PERSACTHST.EMPLOYEE = NEWSTAT.EMPLOYEE
/--Added by KAM--/
AND PERSACTHST.COMPANY = NEWSTAT.COMPANY
INNER JOIN LAWSON.MAXPERSACTHST
ON PERSACTHST.EMPLOYEE = MAXPERSACTHST.EMPLOYEE
/--Added by KAM--/
AND PERSACTHST.COMPANY = MAXPERSACTHST.COMPANY
WHERE
(PERSACTHST.ACTION_CODE='LOASTATUS' OR PERSACTHST.ACTION_CODE='STATUS')
AND NEWSTAT.A_VALUE <> PREVSTAT.A_VALUE
AND MAXPERSACTHST.DATE_STAMP = PERSACTHST.DATE_STAMP
PAEMPPOSENDDATE AS
(SELECT
PAEMPPOS.EMPLOYEE,
PAEMPPOS.COMPANY,
CASE
WHEN PAEMPPOS.END_DATE = TO_DATE('1700,01,01','YYYY,MM,DD')
THEN to_date(SYSDATE + 1,'YYYY,MM,DD')
ELSE PAEMPPOS.END_DATE
END END_DATE,
PAEMPPOS.EFFECT_DATE
FROM LAWSON.PAEMPPOS),
CURRFTE AS
(SELECT
PAEMPPOS.EMPLOYEE,
/--Added by KAM--/
PAEMPPOS.COMPANY,
PAEMPPOS.FTE CURR_FTE,
PAEMPPOS.EFFECT_DATE,
PAEMPPOSENDDATE.END_DATE
FROM
LAWSON.PAEMPPOS
INNER JOIN LAWSON.NEWSTAT
ON (PAEMPPOS.EMPLOYEE = NEWSTAT.EMPLOYEE)
/--Added by KAM--/
AND (PAEMPPOS.COMPANY = NEWSTAT.COMPANY)
INNER JOIN LAWSON.PAEMPPOSENDDATE
ON PAEMPPOS.EMPLOYEE = PAEMPPOSENDDATE.EMPLOYEE
/--Added by KAM--/
AND PAEMPPOS.COMPANY = PAEMPPOSENDDATE.COMPANY
AND PAEMPPOS.EFFECT_DATE=PAEMPPOSENDDATE.EFFECT_DATE
WHERE
(PAEMPPOSENDDATE.EFFECT_DATE <= NEWSTAT.BEG_DATE AND PAEMPPOSENDDATE.END_DATE >= NEWSTAT.BEG_DATE)
PREVFTE AS
(SELECT
PAEMPPOS.EMPLOYEE,
/--Added by KAM--/
PAEMPPOS.COMPANY,
PAEMPPOS.FTE PREV_FTE,
PAEMPPOSENDDATE.END_DATE
FROM
LAWSON.PAEMPPOS
INNER JOIN LAWSON.NEWSTAT
ON (PAEMPPOS.EMPLOYEE = NEWSTAT.EMPLOYEE)
/--Added by KAM--/
AND (PAEMPPOS.COMPANY = NEWSTAT.EMPLOYEE)
INNER JOIN LAWSON.PAEMPPOSENDDATE
ON (PAEMPPOS.EMPLOYEE = PAEMPPOSENDDATE.EMPLOYEE)
/--Added by KAM--/
AND (PAEMPPOS.COMPANY = PAEMPPOSENDDATE.COMPANY)
AND (PAEMPPOS.EFFECT_DATE = PAEMPPOSENDDATE.EFFECT_DATE)
WHERE
PAEMPPOS.EFFECT_DATE <= (NEWSTAT.BEG_DATE-1)AND PAEMPPOSENDDATE.END_DATE >= (NEWSTAT.BEG_DATE -1)
SELECT DISTINCT
EMPLOYEE.EMPLOYEE,
EMPLOYEE.DEPARTMENT,
EMPLOYEE.PROCESS_LEVEL,
EMPLOYEE.EMP_STATUS,
EMPLOYEE.FIRST_NAME,
EMPLOYEE.LAST_NAME,
EMPLOYEE.MIDDLE_INIT,
EMPLOYEE.POSITION,
PAPOSITION.DESCRIPTION,
CHANGELIST.PS_A_VALUE,
/--Added by KAM--/
CHANGELIST.COMPANY,
CHANGELIST.PS_HR_DATE_STAMP,
CHANGELIST.PS_HR_BEG_DATE,
CHANGELIST.PS_HR_OBJ_ID,
CHANGELIST.NS_A_VALUE,
CHANGELIST.NS_DATE_STAMP,
CHANGELIST.NS_OBJ_ID,
CHANGELIST.ACTION_CODE,
CHANGELIST.REASON_01,
CHANGELIST.REASON_02,
CHANGELIST.DATE_STAMP PERSACTSDATESTAMP,
CHANGELIST.EFFECT_DATE PERSACTEFFDATE,
DEPTCODE.R_NAME DEPTNAME,
PRSYSTEM.R_NAME PLNAME,
PREVFTE.PREV_FTE,
CURRFTE.CURR_FTE,
CHANGELIST.NS_BEG_DATE,
PGSELECT.GROUP_NAME,
PAEMPLOYEE.SENIOR_DATE
FROM
LAWSON.CHANGELIST
INNER JOIN LAWSON.EMPLOYEE
ON (EMPLOYEE.EMPLOYEE = CHANGELIST.EMPLOYEE)
/--Added by KAM--/
AND (EMPLOYEE.COMPANY = CHANGELIST.COMPANY)
INNER JOIN LAWSON.DEPTCODE
ON ((EMPLOYEE.COMPANY=DEPTCODE.COMPANY)
AND (EMPLOYEE.PROCESS_LEVEL=DEPTCODE.PROCESS_LEVEL)
AND (EMPLOYEE.DEPARTMENT=DEPTCODE.DEPARTMENT))
INNER JOIN LAWSON.PRSYSTEM
ON ((EMPLOYEE.COMPANY=PRSYSTEM.COMPANY)
AND(EMPLOYEE.PROCESS_LEVEL=PRSYSTEM.PROCESS_LEVEL))
LEFT OUTER JOIN LAWSON.PREVFTE
ON (CHANGELIST.EMPLOYEE=PREVFTE.EMPLOYEE)
/--Added by KAM--/
AND (CHANGELIST.COMPANY=PREVFTE.COMPANY)
LEFT OUTER JOIN LAWSON.CURRFTE
ON (CHANGELIST.EMPLOYEE=CURRFTE.EMPLOYEE)
/--Added by KAM--/
AND (CHANGELIST.COMPANY=CURRFTE.COMPANY)
INNER JOIN LAWSON.PGSELECT PGSELECT
ON ((EMPLOYEE.COMPANY=PGSELECT.COMPANY)
AND (EMPLOYEE.EMP_STATUS=PGSELECT.BEGIN_VALUE))
LEFT OUTER JOIN LAWSON.PAPOSITION
ON (EMPLOYEE.POSITION=PAPOSITION.POSITION)
AND (EMPLOYEE.COMPANY=PAPOSITION.COMPANY)
INNER JOIN LAWSON.PAEMPLOYEE
ON (CHANGELIST.EMPLOYEE=PAEMPLOYEE.EMPLOYEE)
/--Added by KAM--/
AND (CHANGELIST.COMPANY=PAEMPLOYEE.COMPANY)
WHERE
(PGSELECT.GROUP_NAME='G:ACTIVE' OR PGSELECT.GROUP_NAME='G:INACTIVE')
>
Hi Arsh,
The error message you receive i.e.
ORA-01830: date format picture ends before converting entire input string
is an Oracle error.
The following document would be helpful:
ORA-01830: date format picture ends before converting entire input string
Cause: A valid date format picture included extra data. The first part of the format picture was converted into a valid date, but the remaining data was not required.
Action: Check the specifications for date format pictures and correct the statement.
Regards,
Alpana
Similar Messages
-
Hy,
I've got a problem when we insert a timestamp to a db.
When I try to start an insert code I get this error:
SQL-Error: ORA-01830: "data format picture ends before converting entire input string"
Insert into ABC_123("dtstamp") values (to_timestamp('31.05.13 09:30:05,000748000 +01:00','DD.MM.RR HH24:MI:SSXFF'));
with this language settings
National Language Support
National
Language Parameter
Value
NLS_CALENDAR
GREGORIAN
NLS_CHARACTERSET
WE8MSWIN1252
NLS_COMP
BINARY
NLS_CURRENCY
€
NLS_DATE_FORMAT
DD.MM.RR
NLS_DATE_LANGUAGE
GERMAN
NLS_DUAL_CURRENCY
€
NLS_ISO_CURRENCY
GERMANY
NLS_LANGUAGE
GERMAN
NLS_LENGTH_SEMANTICS
BYTE
NLS_NCHAR_CHARACTERSET
AL16UTF16
NLS_NCHAR_CONV_EXCP
FALSE
NLS_NUMERIC_CHARACTERS
NLS_SORT
GERMAN
NLS_TERRITORY
GERMANY
NLS_TIME_FORMAT
HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT
DD.MM.RR HH24:MI:SSXFF
NLS_TIMESTAMP_TZ_FORMAT
DD.MM.RR HH24:MI:SSXFF TZR
NLS_TIME_TZ_FORMAT
HH24:MI:SSXFF TZR
I didn't see the error. Maybe somebody can help me.
Thx
Felixef5fe917-5142-4425-a464-94ab111ed87a wrote:
Hy,
I've got a problem when we insert a timestamp to a db.
When I try to start an insert code I get this error:
SQL-Error: ORA-01830: "data format picture ends before converting entire input string"
Insert into ABC_123("dtstamp") values (to_timestamp('31.05.13 09:30:05,000748000 +01:00','DD.MM.RR HH24:MI:SSXFF'));
with this language settings
National Language Support
National
Language Parameter
Value
NLS_CALENDAR
GREGORIAN
NLS_CHARACTERSET
WE8MSWIN1252
NLS_COMP
BINARY
NLS_CURRENCY
€
NLS_DATE_FORMAT
DD.MM.RR
NLS_DATE_LANGUAGE
GERMAN
NLS_DUAL_CURRENCY
€
NLS_ISO_CURRENCY
GERMANY
NLS_LANGUAGE
GERMAN
NLS_LENGTH_SEMANTICS
BYTE
NLS_NCHAR_CHARACTERSET
AL16UTF16
NLS_NCHAR_CONV_EXCP
FALSE
NLS_NUMERIC_CHARACTERS
NLS_SORT
GERMAN
NLS_TERRITORY
GERMANY
NLS_TIME_FORMAT
HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT
DD.MM.RR HH24:MI:SSXFF
NLS_TIMESTAMP_TZ_FORMAT
DD.MM.RR HH24:MI:SSXFF TZR
NLS_TIME_TZ_FORMAT
HH24:MI:SSXFF TZR
I didn't see the error. Maybe somebody can help me.
Thx
Felix
Insert into ABC_123("dtstamp") values (to_timestamp('31.05.13 09:30:05,000748000 +01:00','DD.MM.RR HH24:MI:SSXFF'));
| | | | | | |
| | | | | | +--????
| | | | | +----SS
| | | | |
| | | | +-----MI
| | | |
| | | +-----HH24
| | |
| | +----RR
| |
| +----MM
|
+----DD
The error message means exactly what it says. Your data format string doesn't account for everything in your data string. -
SQL Loader Error : ORA-01830: date format picture ends before converting en
I am inserting following data
BES101706 M.E. Deals 7 10/17/2006
through control file :
LOAD DATA
APPEND
INTO TABLE abc_temp
FIELDS TERMINATED BY ' '
TRAILING NULLCOLS
(BATCH_NAME ,
SUPPLIER_NAME ,
SUPPLIER_NBR ,
INV_DATE "to_date(substr(:INV_DATE,1,10),'MM/DD/YYYY' )"
But I am getting this error:
ORA-01830: date format picture ends before converting entire input string
inv_data is a date field in the database.I think it has to do with data format.Exactly.
You have
BES101706*M.E.*Deals*7*10/17/2006
I replace each space with an asterisk. You have 5 columns according to your spec (terminated by '<space>')
SQL Loader doesn't know that M.E. Deals is the supplier name.
It's trying to convert 7 as the date. -
XML SELECT error ORA-01830: date format picture ends before converting enti
Apologies, If I have to open a new thread. I have a similar problem and would be grateful if you can help:
Created a view based on an xsd. View works fine. However when selecting data from the view, the xml output is scrambled. On search found there is a pretty print function which can be added when creating the view: .extract('/*') as:
).extract('/*')
as RBid
from Balit_Submissions bs
Again the view gets created successfully. But when doing the same select from it get the error:
ERROR:
ORA-01830: date format picture ends before converting entire input string
I have narrowed it down to the .xsd definition of the tag: <xsd:element name="CreationDateTime" type="ecc:MessageDateTimeType">
In the view, CreationDateTime is selected as follows:
,XMLelement("CreationDateTime",xmlattributes(to_char(bs.creation_datetime,'yyyy-mm-dd"T"hh:mi:ss"Z"') as "v"))
where the column bs.creation_datetime is Oracle data type DATE.
The MessageDateTimeType is defined in Oracle as a timestamp.
Any hints to overcome this.
Using: Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 - Production
I will paste the full .xsd and view if required.
Thanks
James SathiarajIndeed a small test case would be great. Not sure if I could reproduce - have touched 10.1.0.5 in 4, 5 years...
-
Date Format Picture ends before converting entire input string..
Hi all
i am creating a report in 10g.. in which i want to convert Emp_lump_sum (number) to character .I have created a formula column in which i have written a function in the formula column and assign that formula column to the text field in which i want the result.
when the report run i get the following error....
ORA-01830: date format picture ends before converting entire input string..
i have tried with a attribute EMP_NO (Varchar2(30)), it shows the result but when i add EMP_LUMP_SUM (NUMBER) , it show the above error. on the database side i get the same error.
Database : 11g
OS : Windows server 2003
reports : 10g
any help will be thankful..
Function i wrote behind the formula coloumn is..
function CF_1Formula return CHAR is
xy varchar2(100);
begin
select to_char(to_date(emp_lump_sum,'j'),'jsp') into xy from fms_111_form4_tr;
return xy;
--xy := f_19;
end;Hello:
Try to use a database function and call it from reports.
Regards, -
Hi,
I am using apex_item.date_popup for a custom tabular form.
When I load the form with the default sysdate it works ok. However when the user submits an invalid date I get: ORA-01830: date format picture ends before converting entire input string.
Ex: apex_item.date_popup (2, NULL, ac.my_date, :f_date_format, LENGTH (:f_date_format), LENGTH (:f_date_format),NULL)
Where f_date_format is 'DD-MON-YYYY'...
If I enter 'abc' in this field and click submit, my validations find that it is an invalid date, so I reload the page with ac.my_date is the value that the user entered (ex: 'abc'). This will cause the error...
I understand why the error occurs, but is it correct that it does happen? Any ways around this?
Thank you.Hi Scott,
I found the work around. I'll try to make this code more readable later on.
1: Create a HTML region with the following code:
Note: F02 is the "Column" for my date field:
<script type="text/javascript">
function genCalF02(pRowNum,pYyyy,pMm,pSecurityGroupId)
elemArrLen = 0;
if (document.forms[0].f02.length) {
elemArrLen = document.forms[0].f02.length;
elemArrLen = '&F_DATE_FORMAT.'.length;
pMm = '' + pMm;
if (pMm.length == 1)
pMm = '0' + pMm;
w = open("wwv_flow_utilities.show_as_popup_calendar" +
"?p_element_index=" + escape('f02' + '['.substr(0,elemArrLen) + pRowNum + ']'.substr(0,elemArrLen)) +
"&p_form_index=" + escape('0') +
"&p_date_format=" + escape('&F_DATE_FORMAT.') +
"&p_application_format=" + escape('Y') +
"&p_bgcolor=" + escape('#666666') +
"&p_dd=" + escape('') +
"&p_hh=" + escape('') +
"&p_mi=" + escape('') +
"&p_pm=" + escape('') +
"&p_yyyy=" + escape(pYyyy) +
"&p_lang=" + escape('') +
"&p_application_id=" + escape('&APP_ID.') +
"&p_security_group_id=" + escape(pSecurityGroupId) +
"&p_mm=" + escape(pMm),
"winLov",
"Scrollbars=no,resizable=no,width=258,height=210");
// TODO "?p_element_index=" + escape('f02' + '['.substr(0,elemArrLen) + pRowNum.substr(0,elemArrLen) + ']'.substr(0,elemArrLen)) +
if (w.opener == null)
w.opener = self;
w.focus();
</script>
In you're query (or how ever else you are calling apex_item.date_popup)... use something like this instead:
WHEN is_valid_date(my_date) = 'Y' THEN
apex_item.text (2,
my_date,
LENGTH (:f_date_format),
LENGTH (:f_date_format),
NULL,
NULL,
NULL
) || '<a href="javascript:genCalF02(' || (ROWNUM - 1) || ',' || TO_CHAR (TO_DATE (my_date, :f_date_format), 'YYYY') || ','
|| TO_CHAR (TO_DATE (my_date, :f_date_format), 'MM') || ',' || apex_custom_auth.get_security_group_id
|| ')"><img src="/i/asfdcldr.gif" align="middle" alt="Calendar"/></a>'
ELSE
apex_item.text (2,
my_date,
LENGTH (:f_date_format),
LENGTH (:f_date_format),
NULL,
NULL,
NULL
) || '<a href="javascript:genCalF02(' || (ROWNUM - 1) || ',' || TO_CHAR (SYSDATE, 'YYYY') || ','
|| TO_CHAR (SYSDATE, 'MM') || ',' || apex_custom_auth.get_security_group_id
|| ')"><img src="/i/asfdcldr.gif" align="middle" alt="Calendar"/></a>'
END as xxx
This creates the text box with a date popup window beside it.
Again, this is not pretty code which can probably be done in a function etc.
Hope this helps anyone else who has the same issue.
Martin -
Hi all,
We are trying to create a BIP Data Model based on an Answer, but after selecting report, it hangs when I try to Apply to create a query based on Oracle BI. When I try to open the query in aswers, going to results tab I'm getting this error (OBIEE 11.1.1.6.2):
ORA-01830: date format picture ends before converting entire input string at OCI call OCIStmtFetch
I suppose that BIP data model is not able to create it because of this error. But this answer is working fine inside dashboards, etc. It only does not work when editing it. Query is doing something like this: "USING "- Collection Attributes"."Due Date" >= TIMESTAMPADD(SQL_TSI_DAY, -30, CAST ('01/04/2009' AS DATE))"
Any ideas?Solved watching date format in generated SQL and changing default date format in presentation variables default values inside criteria according to SQL format.
-
Need help with date format mask
Hi there, right now I'm trying to set a default date format mask constraint for one of the attributes for my table. I want to set the default mask constraint as MM/DD/YY but I don't know how to. it should be something like:
CREATE TABLE work (WorkDate DATE CHECK (WorkDate = 'MM/DD/YY'))
or something like that, but I don't think that's correct. Can anyone help me? Thanks in advance.What you want (and should have done) is to read the documentation, starting with the concepts:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#CNCPT413
http://www.oracle.com/pls/db102/search?remark=quick_search&word=date&tab_id=&format=ranked
A date is stored as, well, a date, format masks only come into play when you're selecting/retrieving a date or when you want to store a string as a date. Default date formats can be set through NLS_DATE_FORMAT at session and database level.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams122.htm#REFRN10119
Documentation homes (from which you can do a simple quick search):
http://www.oracle.com/pls/db102/homepage
http://www.oracle.com/pls/db112/homepage
Bottom line:
Trying to set a default date format mask on a date datatype column makes no sense... -
Row 78: ORA-01830: date format picture ends before converting entire input
Hi Everyone,
I am using SQL Developer and when i am trying to enter the date field into the a column i am getting an error as the one mentioned in the subject. I know i am entering some incorrect format of the date. But i just cant figure out what's the correct format! I checked my SQL Developer's settings where in the NLS Parameters segment I can see the date format given as DD-MON-RR HH.MI.SSXFF AM. I am trying to set a value of something like: "02-Apr-2011 07:12:55 AM". But i still see that error. Please help me in setting the correct value. I have done all the entry and only the date segment is left!hell_storm2004 wrote:
Hi Everyone,
I am using SQL Developer and when i am trying to enter the date field into the a column i am getting an error as the one mentioned in the subject. I know i am entering some incorrect format of the date. But i just cant figure out what's the correct format! I checked my SQL Developer's settings where in the NLS Parameters segment I can see the date format given as DD-MON-RR HH.MI.SSXFF AM. I am trying to set a value of something like: "02-Apr-2011 07:12:55 AM". But i still see that error. Please help me in setting the correct value. I have done all the entry and only the date segment is left!That usually means you're trying to do something like:
to_date('12/07/2006 22:09:13', 'dd/mm/yyyy')Note that the format specified (dd/mm/yyyy) does not include the time part, so Oracle does not know what to do with that bit of it. You must make sure your date (or timestamp) format matches the string format.
In your case, that would be:
to_date('02-Apr-2011 07:12:55 AM', 'dd-Mon-yyyy hh:mi:ss AM')If you're not explicitly using TO_DATE or TO_TIMESTAMP to convert your string into a date/timestamp, then you should be!!
Once you've converted your string, if you're wanting to remove the time part, you can use the TRUNC() function.
Edited by: Boneist on 28-Aug-2009 09:21 -
Help with date formatting.
Hi,
I have been asked to fix a problem with a report. I have found that the problem is the date format being passed to the stored procedure is not correct, The current format is like Mon April 04 2007. The correct format should be DD-MMM-YYYY which I take to be Mon Apr 04 2004. I am not sure if this is correct anyway, but after looking at the code and the api I have managed to create a date object and call toString on it, after setting a simple date format to dd MMM yyyy.
The problem is that the toString method returns Mon Apr 02 00:00:00 BST 20
07. Is anybody able to help me with this? Below is a little bit of the code:
public void renderDailyReport(ServletWriter out, HttpServletRequest request) throws Exception {
// reset counters
totalHits = 0;
maxHits = 0;
minHits = 0;
// get a GregorianCalendar object using the startDate and endDate Strings
SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM yyyy", Locale.UK);
SimpleDateFormat procedureDateFormat = new SimpleDateFormat("dd MMM yyyy", Locale.UK);
GregorianCalendar dateCounter = new GregorianCalendar();
GregorianCalendar upperLimit = new GregorianCalendar();
sdf.setCalendar(Calendar.getInstance());
Date sd = sdf.parse(startDate);
Date ed = sdf.parse(endDate);
procStartDate = procedureDateFormat.parse(startDate);
procEndDate = procedureDateFormat.parse(endDate);The procStart and end dates are the bits that I added.
They are passed to the stored procedure calling .toString, they are date objects.
Appreciate any help.Do not use the toString() method of Date - it will always be the same format.
Use the format() method of SimpleDateFormat.
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("'dd-MMM-yyyy"); // or something like this
String s = sdf.format(d);Message was edited by:
jbish -
Hi, I have a record update form that shows Start date and End date in 2 separate fields like dd/mm/yyyy. When I edit the dates they do not get to the database correctly, all I get is 0000/00/00. I guess this is because the date format accepted by MySQL is yyyy/mm/dd.
I'm stuck because I don't know how to convert the dates back to MySQL format for updating.
This is the code that displays the start date:
//<input name="AG_fechai" type="text" class="CP_loginFormFields" value="<?php echo date('d/m/Y',strtotime($row_eventosUpdate_RS['AG_fechai'])); ?>" size="32" />
This is the code that displays the end date:
//<input name="AG_fechaf" type="text" class="CP_loginFormFields" value="<?php echo date('d/m/Y',strtotime($row_eventosUpdate_RS['AG_fechaf'])); ?>" size="32" />
This is my update query.(AG_fechai and AG_fechaf are the start and end date fields) which are not been updated. I appreciate your help. Thanks.
// $updateSQL = sprintf("UPDATE t_agenda SET AG_fechai=%s, AG_fechaf=%s, AG_precio=%s, AG_horario=%s, AG_titulo_esp=%s, AG_titulo_eng=%s, AG_titulo_ger=%s, AG_titulo_fra=%s WHERE id_AG=%s",
GetSQLValueString($_POST['AG_fechai'], "date",
GetSQLValueString($_POST['AG_fechaf'], "date",
GetSQLValueString($_POST['AG_precio'], "text",
GetSQLValueString($_POST['AG_horario'], "text",
GetSQLValueString($_POST['AG_titulo_esp'], "text",
GetSQLValueString($_POST['AG_titulo_eng'], "text",
GetSQLValueString($_POST['AG_titulo_ger'], "text",
GetSQLValueString($_POST['AG_titulo_fra'], "text",
GetSQLValueString($_POST['id_AG'], "int");
mysql_select_db($database_amat_connect, $amat_connect);
$Result1 = mysql_query($updateSQL, $amat_connect) or die(mysql_error());MySQL stores dates in one format only: the ISO recommended YYYY-MM-DD. You need to reorder the date parts to store the date correctly.
If your input date is in the following format: dd/mm/yyyy, you can convert it by creating a custom function like this:
function convertDate($val) {
$parts = explode('/', $val);
return "$parts[2]-$parts[1]-$parts[0]";
Pass both dates to this function:
GetSQLValueString(convertDate($_POST['AG_fechai']), "date",
GetSQLValueString(convertDate($_POST['AG_fechaf']), "date", -
Required help with date format
Hi All,
I am calling a webservice from plsql, for this I am using UTL_DBWS package. I want to insert the format of date as 'YYYY-MM-DD' only. I used to_char(sysdate, 'YYYY-MM-DD') , but it is throwing error. Please suggest any solution.
Thanks and Regards,
Mahesh
The error details are as follows
ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException
Caught exception while handling request: invalid date: 25-NOV-08
ORA-06512: at "SYS.UTL_DBWS", line 403
ORA-06512: at "SYS.UTL_DBWS", line 400user6391695 wrote:
Hi All,
I am calling a webservice from plsql, for this I am using UTL_DBWS package. I want to insert the format of date as 'YYYY-MM-DD' only. I used to_char(sysdate, 'YYYY-MM-DD') , but it is throwing error. Please suggest any solution.What happens is...
You convert sysdate into a string of the format YYYY-MM-DD and then you are passing that to a parameter that is a DATE datatype. When you do this oracle has to implicitly conver the string to the DATE datatype. It does this based on the NLS settings of the session which, I would guess, are not of the format YYYY-MM-DD, so it can't understand the string you have passed and fails to convert it to a date.
Date formats are not something that is stored on the database (assuming you are correctly storing dates as DATE datatype). The format of dates is a display issue and something that should be handled by the user interface. The database stores data, just that, no display formats. ;) -
Hi
I am a complete oracle idiot.
I have created a table with 2 columns po_id,po_date. Yhe id data type is number,date type is date. To add values to the table i enter something like
"insert into purchase_orders(po_id,po_date) values(1,01/01/2004)"
It does not accept the date and will not add the record, i have also tried the date format 01-Jan-2004.
What is the proper way to add the date.
Thanks
GarryYou probably want to use an explicit to_date cast. That lets you specify the format of the date string, i.e.
INSERT INTO purchase_orders( po_id, po_date )
VALUES( 1, to_date( '01/01/2004', 'DD/MM/YYYY' );Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
when I insert some data into a table, which got a date field, it pops up this error.
insert inot test
values
('31-mar-2004 0:22:22')
after i take away the time part from the string, it works ok, seems the time is not recognized
i tried to put a line at the beginning, as below:
alter session set nls_date_format = "dd-mm-yyyy hh24:mi:ss"
then, it works, but it still comes out in the form "dd-mon-yyyy hh24:mi:ss"I would NEVER rely on implicit datatype conversion, been burnt too often.
So go the explicit way and your are independent of global settings :
insert into table test values (to_date('31-03-2004 00:22:22' , 'dd-mm-yyyy hh24:mi:ss') ) ;
or
insert into table test (timefield) values (to_date('31-mar-2004 00:22:22' , 'dd-mon-yyyy hh24:mi:ss') ) ;
first solution is better, 'mar' is already language dependent.
Same concept holds true for generating output from date variables, always use explicit conversion. -
Help with date format in Procedure...
Hi,
I am very new to orcale development.... as my requirement have asked me i have written a procedure
Procedure
create or replace
procedure MEXICO_NAFTA_CERTIFICATE_EXT (
f_org_id NUMBER,
f_customer_nbr_base NUMBER,
f_customer_nbr_sufx number,
f_year VARCHAR2)
is
output_file utl_file.file_type;
o_filename VARCHAR2(50):= 'MEXICO_NAFTA_CERTIFICATE_EXT.txt';
o_DataDir CONSTANT VARCHAR2 (30) := '/d014/oradata/temp';
v_CERTIFICATE_NBR fta.SAP_CERTIFICATES_EXTRACT_VIEW.CERTIFICATE_NBR%type;
v_PART171 fta.SAP_CERTIFICATES_EXTRACT_VIEW.PART171%type;
v_HTS_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.HTS_CDE%type;
v_ORIGINATING_IND fta.SAP_CERTIFICATES_EXTRACT_VIEW.ORIGINATING_IND%type;
v_ISO_COUNTRY_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.ISO_COUNTRY_CDE%type;
v_BASIS_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.BASIS_CDE%type;
v_PRODUCER_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.PRODUCER_CDE%type;
v_CERT_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.CERT_CDE%type;
v_REGIONAL_VALUE_CONTENT_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.REGIONAL_VALUE_CONTENT_CDE%type;
v_PART_NBR fta.SAP_CERTIFICATES_EXTRACT_VIEW.PART_NBR%type;
v_EFFECTIVE_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.EFFECTIVE_DATE%type;
v_EFFECTIVE_FROM_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.EFFECTIVE_FROM_DATE%type;
v_EFFECTIVE_TO_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.EFFECTIVE_TO_DATE%type;
v_TRANSACTION_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.TRANSACTION_DATE%type;
v_INACTIVE_IND fta.SAP_CERTIFICATES_EXTRACT_VIEW.INACTIVE_IND%type;
CURSOR Cert_ext IS select certificate_nbr,
part171,
inactive_ind,
hts_cde,
originating_ind,
iso_country_cde,
basis_cde,
producer_cde,
cert_cde,
regional_value_content_cde,
part_nbr,
to_char(effective_date, 'mm-dd-yy'),
to_char(effective_from_date, 'mm-dd-yy'),
to_char(effective_to_date, 'mm-dd-yy'),
to_char(transaction_date, 'mm-dd-yy')
from fta.SAP_CERTIFICATES_EXTRACT_VIEW
where org_id= f_org_id AND
customer_nbr_base= f_customer_nbr_base AND
customer_nbr_sufx = f_customer_nbr_sufx AND
to_char(effective_from_date,'yy')=f_year AND
to_char(effective_to_date, 'YY')=f_year;
begin
output_File := UTL_FILE.FOPEN (o_DataDir, o_FileName, 'w');
OPEN Cert_ext;
loop
fetch Cert_ext into v_CERTIFICATE_NBR ,
v_PART171 ,
v_INACTIVE_IND,
v_HTS_CDE ,
v_ORIGINATING_IND ,
v_ISO_COUNTRY_CDE ,
v_BASIS_CDE ,
v_PRODUCER_CDE ,
v_CERT_CDE ,
v_REGIONAL_VALUE_CONTENT_CDE ,
v_PART_NBR,
v_effective_date,
v_effective_from_date,
v_effective_to_date,
v_transaction_date ;
EXIT WHEN Cert_ext%NOTFOUND;
UTL_FILE.PUT_LINE (output_File, v_CERTIFICATE_NBR || ' '||
v_PART171 || ' '||
v_INACTIVE_IND || ' '||
v_HTS_CDE || ' '||
v_ORIGINATING_IND || ' '||
v_ISO_COUNTRY_CDE || ' '||
v_BASIS_CDE || ' '||
v_PRODUCER_CDE || ' '||
v_CERT_CDE || ' '||
v_REGIONAL_VALUE_CONTENT_CDE || ' '||
v_PART_NBR || ' '||
v_EFFECTIVE_DATE || ' '||
v_EFFECTIVE_FROM_DATE || ' '||
v_EFFECTIVE_TO_DATE || ' '||
v_TRANSACTION_DATE );
UTL_FILE.FCLOSE (output_File);
DBMS_OUTPUT.PUT_LINE ('Data Extracted');
end loop;
close Cert_ext;
END MEXICO_NAFTA_CERTIFICATE_EXT;
it got executed without errors...when i compile it with following values
declare
begin
MEXICO_NAFTA_CERTIFICATE_EXT('0048', '00254101', '11', '03');
end;
I get errors as
ERROR at line 4:
ORA-01843: not a valid month
ORA-06512: at "FTA_SOURCE.MEXICO_NAFTA_CERTIFICATE_EXT", line 56
ORA-06512: at line 3
i know where the error is its with f_year date type but i am not able to eleminate it... the value of f_year is give as '03' and has to be compared to dates and retrive the data.... Can any one say me how to slove this...
Thanks!!As you have said Plan1
create or replace
procedure MEXICO_NAFTA_CERTIFICATE_EXT (
f_org_id NUMBER,
f_customer_nbr_base NUMBER,
f_customer_nbr_sufx number,
f_year VARCHAR2)
is
output_file utl_file.file_type;
o_filename VARCHAR2(50):= 'MEXICO_NAFTA_CERTIFICATE_EXT.txt';
o_DataDir CONSTANT VARCHAR2 (30) := '/d014/oradata/temp';
v_CERTIFICATE_NBR fta.SAP_CERTIFICATES_EXTRACT_VIEW.CERTIFICATE_NBR%type;
v_PART171 fta.SAP_CERTIFICATES_EXTRACT_VIEW.PART171%type;
v_HTS_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.HTS_CDE%type;
v_ORIGINATING_IND fta.SAP_CERTIFICATES_EXTRACT_VIEW.ORIGINATING_IND%type;
v_ISO_COUNTRY_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.ISO_COUNTRY_CDE%type;
v_BASIS_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.BASIS_CDE%type;
v_PRODUCER_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.PRODUCER_CDE%type;
v_CERT_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.CERT_CDE%type;
v_REGIONAL_VALUE_CONTENT_CDE fta.SAP_CERTIFICATES_EXTRACT_VIEW.REGIONAL_VALUE_CONTENT_CDE%type;
v_PART_NBR fta.SAP_CERTIFICATES_EXTRACT_VIEW.PART_NBR%type;
v_EFFECTIVE_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.EFFECTIVE_DATE%type;
v_EFFECTIVE_FROM_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.EFFECTIVE_FROM_DATE%type;
v_EFFECTIVE_TO_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.EFFECTIVE_TO_DATE%type;
v_TRANSACTION_DATE fta.SAP_CERTIFICATES_EXTRACT_VIEW.TRANSACTION_DATE%type;
v_INACTIVE_IND fta.SAP_CERTIFICATES_EXTRACT_VIEW.INACTIVE_IND%type;
CURSOR Cert_ext IS select certificate_nbr,
part171,
inactive_ind,
hts_cde,
originating_ind,
iso_country_cde,
basis_cde,
producer_cde,
cert_cde,
regional_value_content_cde,
part_nbr,
effective_date,
effective_from_date,
effective_to_date,
transaction_date
from fta.SAP_CERTIFICATES_EXTRACT_VIEW
where org_id= f_org_id AND
customer_nbr_base= f_customer_nbr_base AND
customer_nbr_sufx = f_customer_nbr_sufx AND
to_char(effective_from_date,'yy')=f_year AND
to_char(effective_to_date, 'YY')=f_year;
begin
output_File := UTL_FILE.FOPEN (o_DataDir, o_FileName, 'w');
OPEN Cert_ext;
loop
fetch Cert_ext into v_CERTIFICATE_NBR ,
v_PART171 ,
v_INACTIVE_IND,
v_HTS_CDE ,
v_ORIGINATING_IND ,
v_ISO_COUNTRY_CDE ,
v_BASIS_CDE ,
v_PRODUCER_CDE ,
v_CERT_CDE ,
v_REGIONAL_VALUE_CONTENT_CDE ,
v_PART_NBR,
v_effective_date,
v_effective_from_date,
v_effective_to_date,
v_transaction_date ;
EXIT WHEN Cert_ext%NOTFOUND;
UTL_FILE.PUT_LINE (output_File, v_CERTIFICATE_NBR || ' '||
v_PART171 || ' '||
v_INACTIVE_IND || ' '||
v_HTS_CDE || ' '||
v_ORIGINATING_IND || ' '||
v_ISO_COUNTRY_CDE || ' '||
v_BASIS_CDE || ' '||
v_PRODUCER_CDE || ' '||
v_CERT_CDE || ' '||
v_REGIONAL_VALUE_CONTENT_CDE || ' '||
v_PART_NBR || ' '||
to_char(v_EFFECTIVE_DATE, 'mm-dd-yy') || ' '||
to_char(v_EFFECTIVE_FROM_DATE, 'mm-dd-yy') || ' '||
to_char(v_EFFECTIVE_TO_DATE, 'mm-dd-yy') || ' '||
to_char(v_TRANSACTION_DATE, 'mm-dd-yy'));
UTL_FILE.FCLOSE (output_File);
DBMS_OUTPUT.PUT_LINE ('Data Extracted');
end loop;
close Cert_ext;
END MEXICO_NAFTA_CERTIFICATE_EXT;
1 declare
2 begin
3 MEXICO_NAFTA_CERTIFICATE_EXT('0048', '00254101', '11', '03');
4* end;
5 /
declare
ERROR at line 1:
ORA-29282: invalid file ID
ORA-06512: at "SYS.UTL_FILE", line 774
ORA-06512: at "FTA_SOURCE.MEXICO_NAFTA_CERTIFICATE_EXT", line 74
ORA-06512: at line 3
it dint work... i will surely try others and post you
Maybe you are looking for
-
Can we tun off Credit card valiation for BP in CRM
Hi all, Customer is created in R/3 and his credit card has already expired. The R/3 system does not make any validation for credit card. The credit card is validated only when he places orders via credit card. But when changes come into CRM, the C
-
Customer Master Address and Outputs
I have maintained two address es in my customer master, The Street address and a PO box. I want the delivery Note out put to print the street address on it and the Invoice out put to print the PO BOX. Currently my Delivery Note is showing the PO BOX
-
Oracle applications in reg to reports
Hi The Issues it was like this when Concurrent Request Successfull Completed Without any errors But output File is not Generated in Oracle Apps 11.5.9 Environment. When we checked in log file it showing Error Like this FRM-41839:Disk I/I error on Tem
-
Auto Recharge not working, can't buy credit - Dumps me to front page when "Buy" is clicked
I already contacted Customer Service (if you can call it that) on the Chat link. They couldn't fix the problem and said they have to escalate it, and I still haven't heard back. The problem is that auto-recharge isn't working, and really never has. I
-
IPhone 5 just stopped working with my Mercedes command system? Can anyone help?
After 6months of making and receiving calls in my Mercedes the phone suddenly cannot see the cars command system though the car can see my iPad & iMac which are in the house and my daughters old 3GS. Neither does the phone pick up my iPad for tetheri