做报表的时候输入参数的时候报错:
正确的做法:比如年份
参数:P_YEAR
值集:15 Number
默认:SQL 语句
默认值:Select to_char(Sysdate , 'yyyy') From dual
调用:
Procedure Main(Errbuf Out Varchar2,
Retcode Out Varchar2,
P_YEAR In Varchar2,
P_PERIOD In Varchar2
);
即是先默认一个为number型的参数,用的时候tochar一下,然后以varchar的形式传入过程,再再过程中转化为number
Procedure Main(Errbuf Out Varchar2, Retcode Out Varchar2, P_YEAR In Varchar2, P_PERIOD In Varchar2 ) Is l_Return_Status Varchar2(30); l_Msg_Count Number; l_Msg_Data Varchar2(2000); l_YEAR Number; l_PERIOD Varchar2(30); Begin Retcode := '0'; -- concurrent header log Cux_Conc_Utl.Log_Header; -- conc body -- convert parameter data type, such as varchar2 to date l_YEAR := to_number(P_YEAR); l_PERIOD := P_PERIOD; --l_date_to := fnd_conc_date.string_to_date(p_Date_to);