Following steps will resolved the date issue
1) While creating Package/Procedure make sure date parameter data type should be varchar2
create or replace package xx_pkg
as
procedure xx_p (
errbuf out varchar2,
retcode out varchar2,
p_agreement_start_date in varchar2,
p_agreement_end_date in varchar2);
end xx_pkg;
/
create or replace package body apps.xx_pkg
as
procedure xx_p (errbuf out varchar2,
retcode out varchar2,
p_agreement_start_date in varchar2,
p_agreement_end_date in varchar2)
is
cursor c1 (v_agreement_start_date varchar2,
v_agreement_end_date varchar2)
is
select xx.*
from xx
where xx.start_date_active=nvl(v_agreement_start_date,xx.start_date_active)
and xx.end_date_active=nvl(v_agreement_end_date,xx.end_date_active)
and xx.end_date_active between v_agreement_start_date and v_agreement_end_date;
v_agreement_start_date date;
v_agreement_end_date date;
begin
v_agreement_start_date := fnd_date.canonical_to_date (p_agreement_start_date);
v_agreement_end_date := fnd_date.canonical_to_date (p_agreement_end_date);
fnd_file.put_line (fnd_file.output, '<OUTLOOP>');
for i in c1(v_agreement_start_date,v_agreement_end_date)
loop
fnd_file.put_line (fnd_file.output, '<INLOOP>');
fnd_file.put_line ( fnd_file.output,'<customer_name>'i.customer_name'</customer_name>');
fnd_file.put_line (fnd_file.output, '</INLOOP>');
end loop;
fnd_file.put_line (fnd_file.output, '</OUTLOOP>');
end xx_p;
end xx_pkg;
/
2) While creating Concurrent program parameter make sure parameter Value Set should be FND_STANDARD_DATE
1) While creating Package/Procedure make sure date parameter data type should be varchar2
create or replace package xx_pkg
as
procedure xx_p (
errbuf out varchar2,
retcode out varchar2,
p_agreement_start_date in varchar2,
p_agreement_end_date in varchar2);
end xx_pkg;
/
create or replace package body apps.xx_pkg
as
procedure xx_p (errbuf out varchar2,
retcode out varchar2,
p_agreement_start_date in varchar2,
p_agreement_end_date in varchar2)
is
cursor c1 (v_agreement_start_date varchar2,
v_agreement_end_date varchar2)
is
select xx.*
from xx
where xx.start_date_active=nvl(v_agreement_start_date,xx.start_date_active)
and xx.end_date_active=nvl(v_agreement_end_date,xx.end_date_active)
and xx.end_date_active between v_agreement_start_date and v_agreement_end_date;
v_agreement_start_date date;
v_agreement_end_date date;
begin
v_agreement_start_date := fnd_date.canonical_to_date (p_agreement_start_date);
v_agreement_end_date := fnd_date.canonical_to_date (p_agreement_end_date);
fnd_file.put_line (fnd_file.output, '<OUTLOOP>');
for i in c1(v_agreement_start_date,v_agreement_end_date)
loop
fnd_file.put_line (fnd_file.output, '<INLOOP>');
fnd_file.put_line ( fnd_file.output,'<customer_name>'i.customer_name'</customer_name>');
fnd_file.put_line (fnd_file.output, '</INLOOP>');
end loop;
fnd_file.put_line (fnd_file.output, '</OUTLOOP>');
end xx_p;
end xx_pkg;
/
2) While creating Concurrent program parameter make sure parameter Value Set should be FND_STANDARD_DATE