[#9311] - Invalid SQL:An error has occurred. Please contact your system administrator. (6632

Category:
Bug report
Priority:
High
Status:
New
Project: Severity:
Major
Resolution:
Works as Designed
Component: Reproducibility:
Always
Assigned to:
0

Hi,

I'm running JasperReports Server v6.3 with a Oracle 11. I have an issue when trying to produce a particular report, the server logs the following error message;

with tarife as
(select ta.naziv, substr(t.nbs,1,2) vrsta, t.tar_tar, t.tar_vros
from tarifa t join tagencija_sifre ta
on substr(t.nbs,1,2) = ag_sifra),

storno_prvi as
(select stdok_brojdok,
stdok_vsdok,
sum(premija) premija,
sum(porez) porez,
sum(ukpremija) ukupna_premija
from stornodok
where
stdok_brojosk in (select osk_brojosk from osk where status = 3 and datdok>=to_date(concat('01.',substr(sysdate-1, 4)), 'dd.mm.yyyy') and datdok<=to_date(sysdate-1, 'dd.mm.yyyy'))
group by stdok_brojdok, stdok_vsdok),

prva_premija as
(select
p.pol_brpol broj_dokumenta,
p.oj,
(select nad_sub_id from subjekti where subjekat = p.oj) id_nadredjena,
t.naziv vros_opis,
t.vrsta vros,
p.premija + coalesce(s.premija, 0) premija_bez_poreza,
p.iznporez + coalesce(s.porez,0) porez,
p.ukpremija + coalesce(s.ukupna_premija, 0) premija_sa_porezom,
1 broj
from polisa p left outer join storno_prvi s
on p.pol_brpol = s.stdok_brojdok and p.vsdok = s.stdok_vsdok
left outer join tarife t
on t.tar_tar = p.tar and t.tar_vros = p.vros
where p.vsdok!=2
and (p.za_storniranje is null or p.za_storniranje = 'N') and
p.brosk in (select osk_brojosk from osk where status = 3 and datdok>=to_date(concat('01.',substr(sysdate-1, 4)), 'dd.mm.yyyy') and datdok<=to_date(sysdate-1, 'dd.mm.yyyy'))

union

select
p.pol_brpol broj_dokumenta,
p.oj,
(select nad_sub_id from subjekti where subjekat = p.oj) id_nadredjena,
t.naziv vros_opis,
t.vrsta vros,
s.premija premija_bez_poreza,
s.porez porez,
s.ukupna_premija premija_sa_porezom,
0 broj
from storno_prvi s join polisa p
on s.stdok_brojdok = p.pol_brpol and s.stdok_vsdok = p.vsdok
left outer join tarife t
on t.tar_tar = p.tar and t.tar_vros = p.vros
where p.vsdok!=2
--and (p.za_storniranje = 'N' or p.za_storniranje is null)
and p.brosk not in (select osk_brojosk from osk where status = 3 and datdok>=to_date(concat('01.',substr(sysdate-1, 4)), 'dd.mm.yyyy') and datdok<=to_date(sysdate-1, 'dd.mm.yyyy'))),

storno_drugi as
(select stdok_brojdok,
stdok_vsdok,
sum(premija) premija,
sum(porez) porez,
sum(ukpremija) ukupna_premija
from stornodok
where
stdok_brojosk in (select osk_brojosk from osk where status = 3 and datdok>=to_date(substr(concat('01.',substr(sysdate-1, 4)), 1, 6) || to_char(cast(substr(concat('01.',substr(sysdate-1, 4)), 7) as number)-1)) --:broj_godina_unazad), 'dd.mm.yyyyy')
and datdok<=to_date(substr(sysdate-1, 1, 6) || to_char(cast(substr(sysdate-1, 7) as number)-1))) --:broj_godina_unazad)), 'dd.mm.yyyy')
group by stdok_brojdok, stdok_vsdok),

druga_premija as
(select
p.pol_brpol broj_dokumenta,
p.oj,
(select nad_sub_id from subjekti where subjekat = p.oj) id_nadredjena,

t.naziv vros_opis,
t.vrsta vros,
p.premija + coalesce(s.premija, 0) premija_bez_poreza,
p.iznporez + coalesce(s.porez,0) porez,
p.ukpremija + coalesce(s.ukupna_premija, 0) premija_sa_porezom,
1 broj
from polisa p left outer join storno_drugi s
on p.pol_brpol = s.stdok_brojdok and p.vsdok = s.stdok_vsdok
left outer join tarife t
on t.tar_tar = p.tar and t.tar_vros = p.vros
where p.vsdok!=2
and (p.za_storniranje is null or p.za_storniranje = 'N') and
p.brosk in (select osk_brojosk from osk where status = 3 and datdok>=to_date(substr(concat('01.',substr(sysdate-1, 4)), 1, 6) || to_char(cast(substr(concat('01.',substr(sysdate-1, 4)), 7) as number)-1)) --:broj_godina_unazad), 'dd.mm.yyyy')
and datdok<=to_date(substr(sysdate-1, 1, 6) || to_char(cast(substr(sysdate-1, 7) as number)-1)))---:broj_godina_unazad)), 'dd.mm.yyyy')

union

select
p.pol_brpol broj_dokumenta,
p.oj,
(select nad_sub_id from subjekti where subjekat = p.oj) id_nadredjena,

t.naziv vros_opis,
t.vrsta vros,
s.premija premija_bez_poreza,
s.porez porez,
s.ukupna_premija premija_sa_porezom,
0 broj
from storno_drugi s join polisa p
on s.stdok_brojdok = p.pol_brpol and s.stdok_vsdok = p.vsdok
left outer join tarife t
on t.tar_tar = p.tar and t.tar_vros = p.vros
where p.vsdok!=2
and (p.za_storniranje = 'N' or p.za_storniranje is null)
and p.brosk not in (select osk_brojosk from osk where status = 3 and datdok>=to_date(substr(concat('01.',substr(sysdate-1, 4)), 1, 6) || to_char(cast(substr(concat('01.',substr(sysdate-1, 4)), 7) as number)-1))--:broj_godina_unazad), 'dd.mm.yyyy')
and datdok<=to_date(substr(sysdate-1, 1, 6) || to_char(cast(substr(sysdate-1, 7) as number)-1)))),---:broj_godina_unazad)), 'dd.mm.yyyy')),

unija1 as
( select vros, vros_opis, oj, id_nadredjena, sum(premija_bez_poreza) premija_bez_poreza, sum(porez) porez, sum(premija_sa_porezom) premija_sa_porezom, sum(broj) broj_polisa
from prva_premija
group by vros, vros_opis, oj, id_nadredjena
having sum(premija_sa_porezom)!=0),

unija2 as
( select vros, vros_opis, oj, id_nadredjena, sum(premija_bez_poreza) premija_bez_poreza, sum(porez) porez, sum(premija_sa_porezom) premija_sa_porezom, sum(broj) broj_polisa
from druga_premija
group by vros, vros_opis, oj, id_nadredjena
having sum(premija_sa_porezom)!=0)

select
case when (select obo_id from subjekti where subjekat = coalesce(p.oj, d.oj)) in ( 1,2,21 ) then to_char(coalesce(p.oj, d.oj))
else (select subjekat from subjekti where coalesce(p.id_nadredjena, d.id_nadredjena) = id)
end oj_nadredjena,
case when (select obo_id from subjekti where subjekat = coalesce(p.oj, d.oj)) in (1, 2,21 ) then (select naziv from subjekti where subjekat = coalesce(p.oj, d.oj))
else (select naziv from subjekti where coalesce(p.id_nadredjena, d.id_nadredjena) = id)
end oj_nadredjena_naziv,
case when (select obo_id from subjekti where subjekat = coalesce(p.oj, d.oj)) in ( 1,2,21 ) then null
else (select subjekat from subjekti where subjekat = coalesce(p.oj, d.oj))
end oj,
case when (select obo_id from subjekti where subjekat = coalesce(p.oj, d.oj)) in ( 1,2,21 ) then null
else (select naziv from subjekti where subjekat = coalesce(p.oj, d.oj))
end oj_naziv,
coalesce(p.vros, d.vros) vros,
coalesce(p.vros_opis, d.vros_opis) vros_naziv,
/*coalesce(p.vsdok, d.vsdok) vsdok,
(select naziv from vrstadok where vsd_sifra = coalesce(p.vsdok, d.vsdok)) vsdok_naziv, */
to_date(substr(concat('01.',substr(sysdate-1, 4)), 1, 6) || to_char(cast(substr(concat('01.',substr(sysdate-1, 4)), 7) as number)-1)) --:broj_godina_unazad), 'dd.mm.yyyy')
period_I_od,
to_date(substr(sysdate-1, 1, 6) || to_char(cast(substr(sysdate-1, 7) as number)-1)) --:broj_godina_unazad), 'dd.mm.yyyy')
period_I_do,
coalesce(d.premija_bez_poreza, 0) premija_bez_poreza_I,
coalesce(d.porez, 0) porez_I,
coalesce(d.premija_sa_porezom, 0) ukupna_premija_I,
coalesce(d.broj_polisa,0) broj_polisa_I,
concat('01.',substr(sysdate-1, 4)) period_II_od,
sysdate-1 period_II_do,
coalesce(p.premija_bez_poreza, 0) premija_bez_poreza_II,
coalesce(p.porez, 0) porez_II,
coalesce(p.premija_sa_porezom, 0) ukupna_premija_II,
coalesce(p.broj_polisa,0) broj_polisa_II,
coalesce(p.premija_bez_poreza, 0) - coalesce(d.premija_bez_poreza, 0) premija_razlika,
coalesce(p.porez, 0) - coalesce(d.porez, 0) porez_razlika,
coalesce(p.premija_sa_porezom, 0) - coalesce(d.premija_sa_porezom, 0) premija_ukupno_razlika,
case when d.premija_bez_poreza!=0 then (coalesce(p.premija_bez_poreza, 0) * 100 / coalesce(d.premija_bez_poreza, 0)) - 100
else 100
end premija_procenat_uvecanje,
case when d.porez!=0 then (coalesce(p.porez, 0) * 100 / coalesce(d.porez, 0)) - 100
else 100
end porez_procenat_uvecanje,
case when d.premija_sa_porezom!=0 then (coalesce(p.premija_sa_porezom, 0) * 100 / coalesce(d.premija_sa_porezom, 0)) - 100
else 100
end ukpremija_procenat_uvecanje,
coalesce(p.broj_polisa,0) - coalesce(d.broj_polisa,0) broj_polisa_uvecanje
from unija1 p full outer join unija2 d
on p.oj = d.oj and p.vros = d.vros and p.vros_opis = d.vros_opis
order by oj, vros

v6.3
miodrag.v.bogdanovic's picture
Joined: Sep 7 2013 - 1:22pm
Last seen: 1 month 2 weeks ago
Feedback