CONN#13992
svn path=/Customer/trunk/; revision=13587
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
-- Script containing customer specific configuration sql statements for CONN: Connexxion
|
||||
-- (c) 2005-2006 Dijkoraad IT bv
|
||||
-- $Revision: 123 $
|
||||
-- $Modtime: 25-03-08 16:57 $
|
||||
-- $Revision: 124 $
|
||||
-- $Modtime: 14-04-08 9:48 $
|
||||
--
|
||||
-- Support: +31 53 4800700
|
||||
|
||||
@@ -4747,10 +4747,12 @@ AS
|
||||
c_ordernr_index NUMBER;
|
||||
c_ordernr_s1 VARCHAR2 (20);
|
||||
c_ordernr_s2 VARCHAR2 (20);
|
||||
c_ordernr_t VARCHAR2 (40);
|
||||
c_old_ordernr VARCHAR2 (20);
|
||||
c_write_ordernr VARCHAR2 (20);
|
||||
c_bestelopdr_ordernr VARCHAR2 (20);
|
||||
c_bestelopdr_id VARCHAR2 (20);
|
||||
c_totaal NUMBER;
|
||||
c_fact_totaal NUMBER;
|
||||
c_find BOOLEAN;
|
||||
c_find_ordernr BOOLEAN;
|
||||
c_mld_opdr_key NUMBER (10);
|
||||
@@ -4826,6 +4828,9 @@ BEGIN
|
||||
c_factuurregel := 1;
|
||||
c_ordernr_index := INSTR (rc.ordernr, '/');
|
||||
c_totaal := 0;
|
||||
c_mld_opdr_key := NULL;
|
||||
c_cnt_contract_key := NULL;
|
||||
c_bes_bestelopdr_key := NULL;
|
||||
|
||||
IF c_ordernr_index = 0
|
||||
THEN
|
||||
@@ -4854,7 +4859,6 @@ BEGIN
|
||||
)
|
||||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 67
|
||||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 99
|
||||
)
|
||||
)
|
||||
THEN
|
||||
c_fac_type := 'O'; -- Opdracht (Melding)
|
||||
@@ -4862,7 +4866,6 @@ 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
|
||||
@@ -4882,7 +4885,7 @@ BEGIN
|
||||
-- Probeer opdrachtnummer te achterhalen bij bestelopdrachten
|
||||
-- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal
|
||||
SELECT bo.bes_bestelopdr_id
|
||||
INTO c_bestelopdr_ordernr
|
||||
INTO c_bestelopdr_id
|
||||
FROM bes_bestelopdr bo,
|
||||
bes_bestelopdr_item boi,
|
||||
bes_bestelling_item bbi,
|
||||
@@ -4926,7 +4929,17 @@ BEGIN
|
||||
END;
|
||||
IF c_find_ordernr
|
||||
THEN
|
||||
c_ordernr_s1 := '' || c_bestelopdr_ordernr;
|
||||
c_ordernr_index := INSTR (c_bestelopdr_id, '/');
|
||||
c_totaal := 0;
|
||||
|
||||
IF c_ordernr_index = 0
|
||||
THEN
|
||||
c_ordernr_s1 := c_bestelopdr_id;
|
||||
c_ordernr_s2 := '';
|
||||
ELSE
|
||||
c_ordernr_s1 := SUBSTR (c_bestelopdr_id, 1, c_ordernr_index - 1);
|
||||
c_ordernr_s2 := SUBSTR (c_bestelopdr_id, c_ordernr_index + 1);
|
||||
END IF;
|
||||
c_fac_type := 'B';
|
||||
END IF;
|
||||
END IF;
|
||||
@@ -4987,7 +5000,7 @@ BEGIN
|
||||
-- c_ordernr_s2 bevat volgnummer van de opdracht bij meldingen
|
||||
-- Bij bestellingen en contracten is deze waarde leeg
|
||||
|
||||
-- Find mld_opdr_key met mld_melding_key
|
||||
-- Vind mld_opdr_key met mld_melding_key
|
||||
IF c_fac_type = 'O'
|
||||
THEN
|
||||
c_cnt_contract_key := NULL;
|
||||
@@ -5016,24 +5029,42 @@ BEGIN
|
||||
END;
|
||||
ELSIF c_fac_type = 'C'
|
||||
THEN
|
||||
c_cnt_contract_key := c_ordernr_s1;
|
||||
-- bestaat het contract wel?
|
||||
BEGIN
|
||||
SELECT cnt_contract_key
|
||||
INTO c_cnt_contract_key
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = c_ordernr_s1;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
c_cnt_contract_key := NULL;
|
||||
c_find := FALSE;
|
||||
END;
|
||||
|
||||
c_bes_bestelopdr_key := NULL;
|
||||
c_mld_opdr_key := NULL;
|
||||
ELSIF c_fac_type = 'B'
|
||||
THEN
|
||||
c_cnt_contract_key := NULL;
|
||||
|
||||
|
||||
-- vind de bestelopdracht key?
|
||||
BEGIN
|
||||
IF c_ordernr_s2 IS NULL
|
||||
THEN
|
||||
c_ordernr_t := c_ordernr_s1;
|
||||
ELSE
|
||||
c_ordernr_t := c_ordernr_s1 || '/' || c_ordernr_s2;
|
||||
END IF;
|
||||
SELECT bes_bestelopdr_key
|
||||
INTO c_bes_bestelopdr_key
|
||||
FROM bes_bestelopdr
|
||||
WHERE bes_bestelopdr_id = c_ordernr_s1;
|
||||
WHERE bes_bestelopdr_id = c_ordernr_t;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
c_bes_bestelopdr_key := NULL;
|
||||
c_find := FALSE;
|
||||
END;
|
||||
|
||||
|
||||
c_mld_opdr_key := NULL;
|
||||
END IF;
|
||||
|
||||
@@ -5119,7 +5150,7 @@ BEGIN
|
||||
COMMIT;
|
||||
IF c_find_ordernr
|
||||
THEN
|
||||
c_write_ordernr := c_bestelopdr_ordernr;
|
||||
c_write_ordernr := c_bestelopdr_id;
|
||||
ELSE
|
||||
c_write_ordernr := rc.ordernr;
|
||||
END IF;
|
||||
@@ -5153,6 +5184,7 @@ BEGIN
|
||||
END LOOP;
|
||||
|
||||
-- Facturen
|
||||
-- Welke bestelling kan afgemeld worden. (Alleen bestellingen kunnen automatisch afgemeld worden)
|
||||
FOR rc IN cfactuur
|
||||
LOOP
|
||||
c_fac_type := '';
|
||||
@@ -5175,13 +5207,13 @@ BEGIN
|
||||
)
|
||||
)
|
||||
THEN
|
||||
c_fac_type := 'O'; -- Opdracht (Melding)
|
||||
c_fac_type := 'O'; -- Opdracht (Melidng)
|
||||
ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) >= 48
|
||||
AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57
|
||||
)
|
||||
THEN
|
||||
c_fac_type := 'B'; -- Bestelling
|
||||
c_bestelopdr_ordernr := rc.ordernr;
|
||||
c_bestelopdr_id := rc.ordernr;
|
||||
ELSIF ( ASCII (SUBSTR (c_prefix, 1, 1)) = 67
|
||||
OR ASCII (SUBSTR (c_prefix, 1, 1)) = 99
|
||||
)
|
||||
@@ -5200,7 +5232,7 @@ BEGIN
|
||||
-- Probeer opdrachtnummer te achterhalen bij bestelopdrachten
|
||||
-- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal
|
||||
SELECT bo.bes_bestelopdr_id
|
||||
INTO c_bestelopdr_ordernr
|
||||
INTO c_bestelopdr_id
|
||||
FROM bes_bestelopdr bo,
|
||||
bes_bestelopdr_item boi,
|
||||
bes_bestelling_item bbi,
|
||||
@@ -5256,15 +5288,24 @@ 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_id = c_besteloprd_ordernr;
|
||||
AND b.bes_bestelopdr_id = c_bestelopdr_id;
|
||||
|
||||
SELECT MAX (fin_factuur_key)
|
||||
INTO c_index
|
||||
FROM fin_factuur f, bes_bestelopdr bo
|
||||
WHERE bo.bes_bestelopdr_key = f.bes_bestelopdr_key
|
||||
AND bo.bes_bestelopdr_id = c_besteloprd_ordernr;
|
||||
AND bo.bes_bestelopdr_id = c_bestelopdr_id;
|
||||
|
||||
IF c_totaal = rc.totaal
|
||||
SELECT SUM(fr.fin_factuurregel_totaal)
|
||||
INTO c_fact_totaal
|
||||
FROM fin_factuur f,
|
||||
fin_factuurregel fr,
|
||||
bes_bestelopdr b
|
||||
WHERE f.bes_bestelopdr_key = b.bes_bestelopdr_key
|
||||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND b.bes_bestelopdr_id = c_bestelopdr_id;
|
||||
|
||||
IF c_totaal = c_fact_totaal --c_totaal = rc.totaal
|
||||
THEN
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_datumfiat_ok = SYSDATE,
|
||||
@@ -5282,7 +5323,7 @@ BEGIN
|
||||
'Factuur '
|
||||
|| c_index
|
||||
|| ' status op afgemeld gezet ',
|
||||
c_bestelopdr_ordernr || ' / ' || rc.factuurnr
|
||||
c_bestelopdr_id || ' / ' || rc.factuurnr
|
||||
);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
Reference in New Issue
Block a user