Oracle Applications no longer supports the data type DATE, you should use FND_STANDARD_DATE instead.
However internally Oracle holds DATE in the following format: DD-MON-YYYY HH24:MI:SS
but...FND_STANDARD_DATE is held as YYYY/MM/DD HH24:MI:SS
Therefore Oracle fails to convert correctly, and returns an error.
Use the Oracle Applications function FND_DATE to convert FND_STANDARD_DATE to a normal DATE, the code below provides an example -
CREATE OR REPLACE PROCEDURE Xx_Np_Get_Abs(
errbuf OUT VARCHAR2, retcode OUT VARCHAR2,
p_report_start IN VARCHAR2, p_report_end IN VARCHAR2,
p_location IN VARCHAR2)
IS
--
v_report_start DATE;
v_report_end DATE;
--
BEGIN
--
v_report_start := fnd_date.canonical_to_date(p_report_start);
v_report_end := fnd_date.canonical_to_date(p_report_end);
However internally Oracle holds DATE in the following format: DD-MON-YYYY HH24:MI:SS
but...FND_STANDARD_DATE is held as YYYY/MM/DD HH24:MI:SS
Therefore Oracle fails to convert correctly, and returns an error.
Use the Oracle Applications function FND_DATE to convert FND_STANDARD_DATE to a normal DATE, the code below provides an example -
CREATE OR REPLACE PROCEDURE Xx_Np_Get_Abs(
errbuf OUT VARCHAR2, retcode OUT VARCHAR2,
p_report_start IN VARCHAR2, p_report_end IN VARCHAR2,
p_location IN VARCHAR2)
IS
--
v_report_start DATE;
v_report_end DATE;
--
BEGIN
--
v_report_start := fnd_date.canonical_to_date(p_report_start);
v_report_end := fnd_date.canonical_to_date(p_report_end);
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11536986/viewspace-625707/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11536986/viewspace-625707/