From 879b90d97f84e31a43dfe3858f902ab497704200 Mon Sep 17 00:00:00 2001 From: Erik Groener Date: Fri, 12 Oct 2018 08:44:07 +0000 Subject: [PATCH] TWYN#54117 Fout in sortering rapporten svn path=/Customer/trunk/; revision=39377 --- TWYN/twyn_pac.sql | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/TWYN/twyn_pac.sql b/TWYN/twyn_pac.sql index e9c3e2ac1..21a4b488e 100644 --- a/TWYN/twyn_pac.sql +++ b/TWYN/twyn_pac.sql @@ -798,19 +798,28 @@ AS v_datum_van := TO_DATE(p_datum_van, 'dd-mm-yyyy'); v_datum_tot := TO_DATE(p_datum_tot, 'dd-mm-yyyy'); v_part_W := SUBSTR(p_where, INSTR(p_where, 'WHERE')+6); - v_where := CASE WHEN v_part_W IS NOT NULL THEN 'AND ' || v_part_W ELSE '' END; + v_where := CASE WHEN v_part_W IS NOT NULL + THEN 'AND ' || v_part_W + ELSE '' + END + || CASE WHEN p_datum_van IS NOT NULL + THEN ' AND o.mld_opdr_datumbegin >= TO_DATE('''|| p_datum_van ||''', ''dd-mm-yyyy'')' + ELSE '' + END + || CASE WHEN p_datum_tot IS NOT NULL + THEN ' AND o.mld_opdr_datumbegin < TO_DATE('''|| p_datum_tot ||''', ''dd-mm-yyyy'')' + ELSE '' + END; v_part_D := CASE WHEN p_datum_van IS NOT NULL - THEN ' AND f.fin_factuur_advies >= TO_DATE('''|| p_datum_van ||''', ''dd-mm-yyyy'')' - || ' AND o.mld_opdr_datumbegin >= TO_DATE('''|| p_datum_van ||''', ''dd-mm-yyyy'')' + THEN ' AND fx.fin_factuur_advies >= TO_DATE('''|| p_datum_van ||''', ''dd-mm-yyyy'')' ELSE '' END || CASE WHEN p_datum_tot IS NOT NULL - THEN ' AND f.fin_factuur_advies < TO_DATE('''|| p_datum_tot ||''', ''dd-mm-yyyy'')' - || ' AND o.mld_opdr_datumbegin < TO_DATE('''|| p_datum_tot ||''', ''dd-mm-yyyy'')' - ELSE '' + THEN ' AND fx.fin_factuur_advies < TO_DATE('''|| p_datum_tot ||''', ''dd-mm-yyyy'')' END; + v_part_T := 'SELECT tp.opdrachtgever' || ' , tp.pcode' || ' , tp.project' @@ -851,7 +860,11 @@ AS || ' , TO_CHAR (f.fin_factuur_datum, ''DD-MM-YYYY'') factuurdatum_p' || ' , TO_CHAR (f.fin_factuur_advies, ''DD-MM-YYYY'') adviesdatum_p' || ' , p.startdatum_p' - || ' FROM fin_factuur f' + || ' FROM (SELECT *' + || ' FROM fin_factuur fx' + || ' WHERE (1=1)' + || ' '|| v_part_D + || ' ) f' || ' , mld_opdr o' || ' , prs_bedrijf b' || ' , prs_kostenplaats kp' @@ -865,7 +878,6 @@ AS || ' AND tp.bgt_project_key = p.bgt_project_key' || ' AND tp.ins_discipline_verwijder IS NULL' || ' AND tp.bgt_project_verwijder IS NULL' - || ' '|| v_part_D || ' '|| v_where; OPEN p_cursor FOR 'SELECT * FROM (' || v_part_T || ')';