From e1011fed553dfbd69768814f2ed990fb35950108 Mon Sep 17 00:00:00 2001 From: Arthur Egberink Date: Wed, 9 Apr 2008 08:51:08 +0000 Subject: [PATCH] UWVA#13420 svn path=/Customer/trunk/; revision=13581 --- CONN/conn.sql | 49 ++++++++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/CONN/conn.sql b/CONN/conn.sql index b53117288..714aa0f07 100644 --- a/CONN/conn.sql +++ b/CONN/conn.sql @@ -1,7 +1,7 @@ -- Script containing customer specific configuration sql statements for CONN: Connexxion -- (c) 2005-2006 Dijkoraad IT bv --- $Revision: 122 $ --- $Modtime: 25-02-08 15:04 $ +-- $Revision: 123 $ +-- $Modtime: 25-03-08 16:57 $ -- -- Support: +31 53 4800700 @@ -4749,7 +4749,7 @@ AS c_ordernr_s2 VARCHAR2 (20); c_old_ordernr VARCHAR2 (20); c_write_ordernr VARCHAR2 (20); - c_besteloprd_ordernr NUMBER (10); + c_bestelopdr_ordernr VARCHAR2 (20); c_totaal NUMBER; c_find BOOLEAN; c_find_ordernr BOOLEAN; @@ -4845,8 +4845,7 @@ BEGIN THEN c_prefix := SUBSTR (rc.ordernr, 1, 1); - IF ( c_ordernr_index != 0 - OR ( ( ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 65 + IF ( ( ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 65 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 90 ) OR ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 97 @@ -4863,6 +4862,7 @@ BEGIN AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57 ) THEN + c_ordernr_s1 = rc.ordernr; c_fac_type := 'B'; -- Bestelling ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) = 67 OR ASCII (SUBSTR (c_prefix, 1, 1)) = 99 @@ -4881,8 +4881,8 @@ BEGIN BEGIN -- Probeer opdrachtnummer te achterhalen bij bestelopdrachten -- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal - SELECT bo.bes_bestelopdr_key - INTO c_besteloprd_ordernr + SELECT bo.bes_bestelopdr_id + INTO c_bestelopdr_ordernr FROM bes_bestelopdr bo, bes_bestelopdr_item boi, bes_bestelling_item bbi, @@ -4926,7 +4926,7 @@ BEGIN END; IF c_find_ordernr THEN - c_ordernr_s1 := '' || c_besteloprd_ordernr; + c_ordernr_s1 := '' || c_bestelopdr_ordernr; c_fac_type := 'B'; END IF; END IF; @@ -5022,7 +5022,18 @@ BEGIN ELSIF c_fac_type = 'B' THEN c_cnt_contract_key := NULL; - c_bes_bestelopdr_key := c_ordernr_s1; + + BEGIN + SELECT bes_bestelopdr_key + INTO c_bes_bestelopdr_key + FROM bes_bestelopdr + WHERE bes_bestelopdr_id = c_ordernr_s1; + EXCEPTION + WHEN OTHERS THEN + c_bes_bestelopdr_key := NULL; + c_find := FALSE; + END; + c_mld_opdr_key := NULL; END IF; @@ -5108,7 +5119,7 @@ BEGIN COMMIT; IF c_find_ordernr THEN - c_write_ordernr := '' || c_besteloprd_ordernr; + c_write_ordernr := c_bestelopdr_ordernr; ELSE c_write_ordernr := rc.ordernr; END IF; @@ -5152,8 +5163,7 @@ BEGIN THEN c_prefix := SUBSTR (rc.ordernr, 1, 1); - IF ( c_ordernr_index != 0 - OR ( ( ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 65 + IF ( ( ( ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 65 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 90 ) OR ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 97 @@ -5171,7 +5181,7 @@ BEGIN ) THEN c_fac_type := 'B'; -- Bestelling - c_besteloprd_ordernr := TO_NUMBER (rc.ordernr, '9999999999'); + c_bestelopdr_ordernr := rc.ordernr; ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) = 67 OR ASCII (SUBSTR (c_prefix, 1, 1)) = 99 ) @@ -5189,8 +5199,8 @@ BEGIN BEGIN -- Probeer opdrachtnummer te achterhalen bij bestelopdrachten -- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal - SELECT bo.bes_bestelopdr_key - INTO c_besteloprd_ordernr + SELECT bo.bes_bestelopdr_id + INTO c_bestelopdr_ordernr FROM bes_bestelopdr bo, bes_bestelopdr_item boi, bes_bestelling_item bbi, @@ -5246,12 +5256,13 @@ BEGIN INTO c_totaal FROM bes_bestelopdr b, bes_bestelopdr_item boi WHERE boi.bes_bestelopdr_key = b.bes_bestelopdr_key - AND b.bes_bestelopdr_key = c_besteloprd_ordernr; + AND b.bes_bestelopdr_id = c_besteloprd_ordernr; SELECT MAX (fin_factuur_key) INTO c_index - FROM fin_factuur - WHERE bes_bestelopdr_key = c_besteloprd_ordernr; + FROM fin_factuur f, bes_bestelopdr bo + WHERE bo.bes_bestelopdr_key = f.bes_bestelopdr_key + AND bo.bes_bestelopdr_id = c_besteloprd_ordernr; IF c_totaal = rc.totaal THEN @@ -5271,7 +5282,7 @@ BEGIN 'Factuur ' || c_index || ' status op afgemeld gezet ', - c_besteloprd_ordernr || ' / ' || rc.factuurnr + c_bestelopdr_ordernr || ' / ' || rc.factuurnr ); END IF; END IF;