CONN#12074

svn path=/Customer/trunk/; revision=13417
This commit is contained in:
Arthur Egberink
2007-10-19 10:33:58 +00:00
parent 36c3ec88ed
commit a214071791
2 changed files with 179 additions and 183 deletions

View File

@@ -3,7 +3,7 @@
--
SET ECHO ON
SPOOL xconn470to471.lst
PROMPT $Revision: 6 $
PROMPT $Revision: 7 $
-- uwva#13142 Vervallen, fac_import_file wordt nu gebruikt
DROP TABLE conn_imp_factuur_file;
@@ -94,6 +94,8 @@ INSERT INTO FAC_NOTIFICATIE_JOB
);
ALTER TABLE conn_imp_factuur ADD (locatie VARCHAR2(4), afleverdatum VARCHAR2(8));
ALTER TABLE conn_imp_factuur ADD (btw_bedrag VARCHAR2(11), docid VARCHAR2(100));
ALTER TABLE conn_imp_factuur ADD (omschrijving VARCHAR2(60));
alter table conn_exp_contractmutatie ADD (status VARCHAR2(1), exportdatum DATE);

View File

@@ -1,7 +1,7 @@
-- Script containing customer specific configuration sql statements for CONN: Connexxion
-- (c) 2005-2006 Dijkoraad IT bv
-- $Revision: 113 $
-- $Modtime: 10-10-07 16:29 $
-- $Revision: 114 $
-- $Modtime: 19-10-07 12:02 $
--
-- Support: +31 53 4800700
@@ -4600,8 +4600,11 @@ AS
v_aantal VARCHAR2 (100);
v_kostprijs VARCHAR2 (100);
v_btw VARCHAR2 (100);
v_btw_bedrag VARCHAR2 (100);
v_docid VARCHAR2 (100);
v_locatie VARCHAR2 (100);
v_afleverdatum VARCHAR2 (100);
v_omschrijving VARCHAR2 (100);
v_check_dec_sign NUMBER(5,2);
CURSOR cfactuur
@@ -4638,89 +4641,62 @@ BEGIN
v_newline := v_rec.fac_imp_file_line;
IF (header_is_valid = 0)
THEN
fac.imp_getfield (v_newline, v_fielddelimitor, v_totbedrfact);
fac.imp_getfield (v_newline, v_fielddelimitor, v_totbedrfactvalue);
ELSE
fac.imp_getfield (v_newline, v_fielddelimitor, v_onsklantnr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_ordernr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_leveranciernr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurnr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurdatum);
fac.imp_getfield (v_newline, v_fielddelimitor, v_empty);
fac.imp_getfield (v_newline, v_fielddelimitor, v_empty);
fac.imp_getfield (v_newline, v_fielddelimitor, v_aantal);
fac.imp_getfield (v_newline, v_fielddelimitor, v_kostprijs);
fac.imp_getfield (v_newline, v_fielddelimitor, v_btw);
fac.imp_getfield (v_newline, v_fielddelimitor, v_locatie);
fac.imp_getfield (v_newline, v_fielddelimitor, v_afleverdatum);
END IF;
IF (header_is_valid = 0 AND v_totbedrfact = 'TotBedrFactuur')
THEN
header_is_valid := 1;
ELSIF ( header_is_valid = 1
AND v_onsklantnr = 'OnsKlantNr'
AND v_ordernr = 'OrderNr'
AND v_leveranciernr = 'Leveranciernr'
AND v_factuurnr = 'FactNr'
AND v_factuurdatum = 'FactDatum'
AND v_aantal = 'Aantal'
AND v_kostprijs = 'KostPrijs'
AND v_btw = 'Btw'
AND v_locatie = 'Locatie'
AND v_afleverdatum = 'Afleverdatum'
)
THEN
header_is_valid := 2;
ELSIF (header_is_valid = 2) -- v_ordernr mag leeg zijn
THEN
IF v_check_dec_sign IS NULL THEN
v_kostprijs := REPLACE (SUBSTR (v_kostprijs, 1, 11), ',', '.');
ELSE
v_kostprijs := SUBSTR (v_kostprijs, 1, 11);
END IF;
INSERT INTO conn_imp_factuur
(debiteurnr,
ordernr,
leveranciernr,
factuurnr,
factuurdatum,
aantal,
kostprijs,
btw,
locatie,
afleverdatum
)
VALUES (SUBSTR (v_onsklantnr, 1, 30),
SUBSTR (v_ordernr, 1, 13),
UPPER(SUBSTR (v_leveranciernr, 1, 10)),
SUBSTR (v_factuurnr, 1, 10),
SUBSTR (v_factuurdatum, 1, 8),
SUBSTR (v_aantal, 1, 10),
v_kostprijs,
SUBSTR (v_btw, 1, 2),
SUBSTR (v_locatie, 1, 4),
SUBSTR (v_afleverdatum, 1, 8)
);
COMMIT;
fac.imp_getfield (v_newline, v_fielddelimitor, v_leveranciernr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurnr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurdatum);
fac.imp_getfield (v_newline, v_fielddelimitor, v_empty);
fac.imp_getfield (v_newline, v_fielddelimitor, v_ordernr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_locatie);
fac.imp_getfield (v_newline, v_fielddelimitor, v_afleverdatum);
fac.imp_getfield (v_newline, v_fielddelimitor, v_omschrijving);
fac.imp_getfield (v_newline, v_fielddelimitor, v_aantal);
fac.imp_getfield (v_newline, v_fielddelimitor, v_kostprijs);
fac.imp_getfield (v_newline, v_fielddelimitor, v_btw_bedrag);
fac.imp_getfield (v_newline, v_fielddelimitor, v_btw);
fac.imp_getfield (v_newline, v_fielddelimitor, v_docid);
IF v_check_dec_sign IS NULL THEN
v_kostprijs := REPLACE (SUBSTR (v_kostprijs, 1, 11), ',', '.');
v_btw_bedrag := REPLACE (SUBSTR (v_btw_bedrag, 1, 11), ',', '.');
ELSE
v_kostprijs := SUBSTR (v_kostprijs, 1, 11);
v_btw_bedrag := SUBSTR (v_btw_bedrag, 1, 11);
END IF;
INSERT INTO conn_imp_factuur
(debiteurnr,
ordernr,
leveranciernr,
factuurnr,
factuurdatum,
aantal,
kostprijs,
btw,
btw_bedrag,
locatie,
afleverdatum,
omschrijving,
docid
)
VALUES (SUBSTR (v_onsklantnr, 1, 30),
SUBSTR (v_ordernr, 1, 13),
UPPER(SUBSTR (v_leveranciernr, 1, 10)),
SUBSTR (v_factuurnr, 1, 10),
SUBSTR (v_factuurdatum, 1, 8),
SUBSTR (v_aantal, 1, 10),
v_kostprijs,
SUBSTR (v_btw, 1, 2),
v_btw_bedrag,
SUBSTR (v_locatie, 1, 4),
SUBSTR (v_afleverdatum, 1, 8),
SUBSTR (v_omschrijving, 1, 60),
SUBSTR (v_docid, 1, 100)
);
COMMIT;
END;
END LOOP;
END IF;
IF (header_is_valid < 2)
THEN
fac.imp_writelog
(p_applname,
p_applrun,
'E',
'Invalid import file',
'Er is geen geldige Header aangetroffen in het importbestand'
);
END IF;
EXCEPTION
WHEN OTHERS
THEN
@@ -4744,18 +4720,20 @@ AS
leveranciernr,
factuurnr,
factuurdatum,
SUM (aantal * kostprijs) totaal,
SUM (aantal * kostprijs * btw / 100) totaal_btw,
SUM (kostprijs) totaal,
SUM (btw_bedrag) totaal_btw,
btw,
SUBSTR (factuurdatum, 1, 4) fjaar,
SUBSTR (factuurdatum, 5, 2) fmaand,
SUBSTR (factuurdatum, 7, 2) fdag,
SUBSTR (factuurdatum, 5, 4) fjaar,
SUBSTR (factuurdatum, 3, 2) fmaand,
SUBSTR (factuurdatum, 1, 2) fdag,
debiteurnr, -- wordt nog niets mee gedaan
SUM (aantal) aantal,
locatie,
SUBSTR (afleverdatum, 1, 4) ajaar, -- afleverdatum nodig om opdrachtnummer bij bestelopdrachten te achterhalen indien ordernr niet is meegegeven
SUBSTR (afleverdatum, 5, 2) amaand,
SUBSTR (afleverdatum, 7, 2) adag
SUBSTR (afleverdatum, 5, 4) ajaar, -- afleverdatum nodig om opdrachtnummer bij bestelopdrachten te achterhalen indien ordernr niet is meegegeven
SUBSTR (afleverdatum, 3, 2) amaand,
SUBSTR (afleverdatum, 1, 2) adag,
omschrijving,
SUM (btw_bedrag) btw_bedrag
FROM conn_imp_factuur
GROUP BY ordernr,
leveranciernr,
@@ -4765,6 +4743,7 @@ AS
factuurdatum,
debiteurnr,
locatie,
omschrijving,
afleverdatum
ORDER BY ordernr,
btw DESC;
@@ -4787,6 +4766,8 @@ AS
c_mld_opdr_key NUMBER (10);
c_cnt_contract_key NUMBER (10);
c_bes_bestelopdr_key NUMBER (10);
c_prs_bedrijf_naam VARCHAR2(100);
c_opmerking VARCHAR2(150);
v_errormsg VARCHAR (200);
oracle_err_mes VARCHAR2 (150);
BEGIN
@@ -4820,7 +4801,7 @@ BEGIN
c_factuurregel,
rc.totaal,
rc.totaal_btw,
rc.aantal || ' artikelen met ' || rc.btw || '% BTW',
rc.omschrijving,
rc.locatie
);
@@ -4901,7 +4882,7 @@ BEGIN
ELSE
fac.imp_writelog (p_applname,
p_applrun,
'E',
'I',
'Kan type van factuur niet bepalen ',
rc.ordernr || ' / ' || rc.factuurnr
);
@@ -4944,7 +4925,7 @@ BEGIN
fac.imp_writelog
(p_applname,
p_applrun,
'E',
'I',
'Kan het bestelopdrachtnummer (OrderNr) niet vinden '
|| v_errormsg,
'?/' || rc.factuurnr || '/' || rc.aantal || '/' ||
@@ -4995,7 +4976,7 @@ BEGIN
ELSE
fac.imp_writelog (p_applname,
p_applrun,
'E',
'I',
'Kan OrderNr niet bepalen ',
rc.ordernr || ' / ' || rc.factuurnr
);
@@ -5036,7 +5017,7 @@ BEGIN
fac.imp_writelog
(p_applname,
p_applrun,
'E',
'I',
'Kan de melding referentie niet vinden '
|| v_errormsg,
rc.ordernr || '/' || rc.factuurnr
@@ -5060,97 +5041,110 @@ BEGIN
-- AND c_find
-- )
-- THEN
c_opmerking := '';
IF NOT c_find THEN
BEGIN
SELECT fin_s_fin_factuur_key.NEXTVAL
INTO c_index
FROM DUAL;
INSERT INTO fin_factuur
(fin_factuur_key,
fin_factuur_totaal,
fin_factuur_totaal_btw,
mld_opdr_key,
cnt_contract_key,
bes_bestelopdr_key,
prs_perslid_key_user,
fin_factuur_datum,
fin_factuur_opmerking,
fin_factuur_statuses_key,
fin_factuur_nr,
fin_factuur_boekmaand,
fin_factuur_debiteur_nr,
prs_kostensoort_key
)
VALUES (c_index,
rc.totaal,
rc.totaal_btw,
c_mld_opdr_key,
c_cnt_contract_key,
c_bes_bestelopdr_key,
1042, -- Martin Hanemaaijer
TO_DATE (rc.fjaar
|| '-'
|| rc.fmaand
|| '-'
|| rc.fdag
|| ' 00:00',
'YYYY-MM-DD HH24:MI'),
'Ge<EFBFBD>mporteerde factuur',
2,
rc.factuurnr,
rc.fjaar || '-' || rc.fmaand,
rc.debiteurnr,
NULL
);
COMMIT;
INSERT INTO fin_factuurregel
(fin_factuur_key,
fin_factuurregel_nr,
fin_factuurregel_totaal,
fin_factuurregel_btw,
fin_factuurregel_omschrijving,
fin_factuurregel_referentie
)
VALUES (c_index,
c_factuurregel, -- Zal hier altijd 1 zijn
rc.totaal,
rc.totaal_btw,
rc.aantal || ' eenheden met ' || rc.btw || '% BTW',
rc.locatie
);
COMMIT;
IF c_find_ordernr
THEN
c_write_ordernr := '' || c_besteloprd_ordernr;
ELSE
c_write_ordernr := rc.ordernr;
END IF;
fac.imp_writelog (p_applname,
p_applrun,
'I',
'Factuur '
|| c_index
|| ' toegevoegd met factuurregel '
|| c_factuurregel,
c_write_ordernr || ' / ' || rc.factuurnr
);
EXCEPTION
WHEN OTHERS
THEN
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
fac.imp_writelog
(p_applname,
p_applrun,
'E',
'Factuur(regel) kan niet toegevoegd worden '
|| v_errormsg,
rc.ordernr || '/' || rc.factuurnr
);
SELECT prs_bedrijf_naam
INTO c_prs_bedrijf_naam
FROM prs_bedrijf
WHERE prs_leverancier_nr = rc.leveranciernr;
c_opmerking := 'Leverancier: ' || c_prs_bedrijf_naam || ' Ontvangen ordernummer: ' || rc.ordernr;
EXCEPTION WHEN NO_DATA_FOUND THEN
c_opmerking := 'Leverancier: onbekend' || ' Ontvangen ordernummer: ' || rc.ordernr;
END;
END IF;
BEGIN
SELECT fin_s_fin_factuur_key.NEXTVAL
INTO c_index
FROM DUAL;
INSERT INTO fin_factuur
(fin_factuur_key,
fin_factuur_totaal,
fin_factuur_totaal_btw,
mld_opdr_key,
cnt_contract_key,
bes_bestelopdr_key,
prs_perslid_key_user,
fin_factuur_datum,
fin_factuur_opmerking,
fin_factuur_statuses_key,
fin_factuur_nr,
fin_factuur_boekmaand,
fin_factuur_debiteur_nr,
prs_kostensoort_key
)
VALUES (c_index,
rc.totaal,
rc.totaal_btw,
c_mld_opdr_key,
c_cnt_contract_key,
c_bes_bestelopdr_key,
1042, -- Martin Hanemaaijer
TO_DATE (rc.fjaar
|| '-'
|| rc.fmaand
|| '-'
|| rc.fdag
|| ' 00:00',
'YYYY-MM-DD HH24:MI'),
'Ge<EFBFBD>mporteerde factuur ' || c_opmerking,
2,
rc.factuurnr,
rc.fjaar || '-' || rc.fmaand,
rc.debiteurnr,
NULL
);
COMMIT;
INSERT INTO fin_factuurregel
(fin_factuur_key,
fin_factuurregel_nr,
fin_factuurregel_totaal,
fin_factuurregel_btw,
fin_factuurregel_omschrijving,
fin_factuurregel_referentie
)
VALUES (c_index,
c_factuurregel, -- Zal hier altijd 1 zijn
rc.totaal,
rc.totaal_btw,
rc.omschrijving,
rc.locatie
);
COMMIT;
IF c_find_ordernr
THEN
c_write_ordernr := '' || c_besteloprd_ordernr;
ELSE
c_write_ordernr := rc.ordernr;
END IF;
fac.imp_writelog (p_applname,
p_applrun,
'I',
'Factuur '
|| c_index
|| ' toegevoegd met factuurregel '
|| c_factuurregel,
c_write_ordernr || ' / ' || rc.factuurnr
);
EXCEPTION
WHEN OTHERS
THEN
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
fac.imp_writelog
(p_applname,
p_applrun,
'E',
'Factuur(regel) kan niet toegevoegd worden '
|| v_errormsg,
rc.ordernr || '/' || rc.factuurnr
);
END;
-- END IF;
c_teller := c_teller + 1;