STPH#55856 -- Export grootboekrekeningen ivm overgang AFAS
svn path=/Customer/trunk/; revision=40403
This commit is contained in:
254
STPH/stph.sql
254
STPH/stph.sql
@@ -33,12 +33,12 @@ BEGIN
|
||||
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
||||
prs.import_perslid (p_import_key,
|
||||
'0;0;0;0;0;0;6;4;3;1;' ||
|
||||
'2;0;0;0;0;10;0;8;0;5;' ||
|
||||
'2;0;0;0;0;10;0;8;0;5;' ||
|
||||
'7;11;0;0;0;0;12;0;0;0;'||
|
||||
'0;0;0;0;0;0;0;0;0;0;'||
|
||||
'0;0;0;0;0;0',
|
||||
'0;0;0;0;0;0',
|
||||
'Roepnaam;Voorletters;Tussenvoegsel;Achternaam;Persnr.;Afdnr.;Functie;Email;Mobile;Telefoon;Loginnaam;%'
|
||||
);
|
||||
);
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
@@ -56,25 +56,25 @@ AS
|
||||
v_kostenplaats_key_perslid NUMBER(10);
|
||||
v_kostenplaats_key_afdeling NUMBER(10);
|
||||
v_prs_afdeling_key NUMBER(10);
|
||||
|
||||
|
||||
CURSOR c_perslid_kpn_kenmerk
|
||||
IS
|
||||
SELECT prs_perslid_nr, prs_kenmerk1, prs_perslid_naam, prs_afdeling_naam
|
||||
FROM fac_imp_perslid;
|
||||
BEGIN
|
||||
|
||||
|
||||
FOR rc IN c_perslid_kpn_kenmerk
|
||||
LOOP
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
|
||||
-- Kostenplaats die als kenmerk is meegegeven bij de persoon
|
||||
SELECT MAX(prs_kostenplaats_key)
|
||||
INTO v_kostenplaats_key_perslid
|
||||
FROM prs_kostenplaats
|
||||
FROM prs_kostenplaats
|
||||
WHERE prs_kostenplaats_upper = UPPER(rc.prs_kenmerk1)
|
||||
AND prs_kostenplaats_verwijder IS NULL;
|
||||
|
||||
|
||||
IF v_kostenplaats_key_perslid IS NULL
|
||||
THEN
|
||||
-- Kostenplaats bij de persoon (vanuit AFAS) staat niet in Facilitor, persoon blijft aan de afdeling gekoppeld volgens AFAS (dus niet naar evt. 'fictieve' afdeling).
|
||||
@@ -84,7 +84,7 @@ BEGIN
|
||||
'Naam:' || rc.prs_perslid_naam || ' / Afdeling: ' || rc.prs_afdeling_naam
|
||||
);
|
||||
ELSE
|
||||
-- Kostenplaats record bij de persoon is gevonden,
|
||||
-- Kostenplaats record bij de persoon is gevonden,
|
||||
-- Nu eerst de kostenplaats van de afdeling bepalen
|
||||
SELECT MAX(a.prs_kostenplaats_key)
|
||||
INTO v_kostenplaats_key_afdeling
|
||||
@@ -93,34 +93,34 @@ BEGIN
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND a.prs_afdeling_verwijder IS NULL;
|
||||
|
||||
|
||||
-- Als deze afwijkt van de kostenplaats van de afdeling waar persoon onder valt, dan persoon verhuizen naar die fictieve afdeling
|
||||
IF v_kostenplaats_key_afdeling IS NOT NULL
|
||||
THEN
|
||||
THEN
|
||||
-- Afdeling heeft kostenplaats, nu vergelijken met die van persoon
|
||||
-- Indien ongelijk, dan zoek de fictieve afdeling, want daar persoon aan koppelen.
|
||||
IF v_kostenplaats_key_perslid <> v_kostenplaats_key_afdeling
|
||||
THEN
|
||||
THEN
|
||||
-- Zoek de eerste afdeling (MAX) die kostenplaats van persoon heeft, daar gaat persoon onder vallen.
|
||||
SELECT MAX(a.prs_afdeling_key)
|
||||
INTO v_prs_afdeling_key
|
||||
FROM prs_afdeling a
|
||||
WHERE a.prs_kostenplaats_key = v_kostenplaats_key_perslid
|
||||
AND a.prs_afdeling_verwijder IS NULL;
|
||||
|
||||
|
||||
IF v_prs_afdeling_key IS NOT NULL
|
||||
THEN
|
||||
UPDATE prs_perslid p
|
||||
SET p.prs_afdeling_key = v_prs_afdeling_key
|
||||
WHERE p.prs_perslid_nr = rc.prs_perslid_nr
|
||||
AND p.prs_perslid_verwijder IS NULL;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -150,7 +150,7 @@ CREATE OR REPLACE PROCEDURE stph_update_perslid (
|
||||
AND i.prs_perslid_nr IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY 2;
|
||||
|
||||
|
||||
v_count NUMBER;
|
||||
|
||||
BEGIN
|
||||
@@ -183,7 +183,7 @@ BEGIN
|
||||
END;
|
||||
END LOOP;
|
||||
STPH_post_update_perslid (p_import_key);
|
||||
|
||||
|
||||
END stph_update_perslid;
|
||||
/
|
||||
|
||||
@@ -241,7 +241,7 @@ IS
|
||||
v_bes_srtdeel_voorraadfactor VARCHAR2 (255);
|
||||
v_bes_srtdeel_maxbestel VARCHAR2 (255);
|
||||
v_bes_inclexcl_btw VARCHAR2 (255);
|
||||
|
||||
|
||||
-- Overige velden:
|
||||
v_discipline_key NUMBER (10);
|
||||
v_bedrijf_key NUMBER (10);
|
||||
@@ -300,8 +300,8 @@ BEGIN
|
||||
fac.imp_getfield (v_newline, c_delim, v_bes_srtdeel_maxbestel);
|
||||
fac.imp_getfield (v_newline, c_delim, v_bes_srtdeel_voorraadfactor);
|
||||
fac.imp_getfield (v_newline, c_delim, v_bes_inclexcl_btw);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||||
-- de juiste kolomkop. Ik controleer daarbij - sinds UWVA#21562 - bijna alle
|
||||
@@ -345,8 +345,8 @@ BEGIN
|
||||
'Voorraad kolommen zijn aanwezig',
|
||||
'Voorraad kolommen worden ingelezen'
|
||||
);
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
ELSIF rec.regellengte > 1 -- Lege regels overslaan!
|
||||
THEN
|
||||
@@ -617,13 +617,13 @@ BEGIN
|
||||
'Opmerking wordt afgebroken (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
|
||||
IF (header_is_valid = 2)
|
||||
THEN
|
||||
|
||||
|
||||
-- We hebben van doen met de BES interne catalogus (voorraad) kolommen.
|
||||
|
||||
|
||||
v_bes_srtdeel_voorraadmin := TRIM (v_bes_srtdeel_voorraadmin);
|
||||
IF v_bes_srtdeel_voorraadmin IS NOT NULL
|
||||
AND ( fac.safe_to_number (v_bes_srtdeel_voorraadmin) IS NULL
|
||||
@@ -638,7 +638,7 @@ BEGIN
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
|
||||
v_bes_srtdeel_voorraadmax := TRIM (v_bes_srtdeel_voorraadmax);
|
||||
IF v_bes_srtdeel_voorraadmax IS NOT NULL
|
||||
AND ( fac.safe_to_number (v_bes_srtdeel_voorraadmax) IS NULL
|
||||
@@ -653,7 +653,7 @@ BEGIN
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
|
||||
v_bes_srtdeel_maxbestel := TRIM (v_bes_srtdeel_maxbestel);
|
||||
IF v_bes_srtdeel_maxbestel IS NOT NULL
|
||||
AND ( fac.safe_to_number (v_bes_srtdeel_maxbestel) IS NULL
|
||||
@@ -668,7 +668,7 @@ BEGIN
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
|
||||
v_bes_srtdeel_voorraadfactor := TRIM (v_bes_srtdeel_voorraadfactor);
|
||||
IF v_bes_srtdeel_voorraadfactor IS NOT NULL
|
||||
AND ( fac.safe_to_number (v_bes_srtdeel_voorraadfactor) IS NULL
|
||||
@@ -683,8 +683,8 @@ BEGIN
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
|
||||
v_bes_inclexcl_btw := TRIM (v_bes_inclexcl_btw);
|
||||
IF v_bes_inclexcl_btw IS NOT NULL
|
||||
AND ( fac.safe_to_number (v_bes_inclexcl_btw) IS NULL
|
||||
@@ -700,7 +700,7 @@ BEGIN
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
@@ -1426,7 +1426,7 @@ AS
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE l_update_voorraad (pdisc_key IN NUMBER, pbedr_key IN NUMBER)
|
||||
AS
|
||||
-- Cursor van alle artikelen (die dus op dit punt zijn gesynct met de importtabel), waarvan we de voorraad-info van het bijbehorende inkoopartikel willen gaan zoeken...
|
||||
@@ -1450,21 +1450,21 @@ AS
|
||||
l_bes_discipline_key_inkoop bes_disc_params.bes_ins_discipline_key_inkoop%TYPE;
|
||||
l_bes_srtdeel_key bes_srtdeel.bes_srtdeel_key%TYPE;
|
||||
l_prijs bes_srtdeel_prijs.bes_srtdeel_prijs_prijs%TYPE;
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
|
||||
ccount := 0;
|
||||
|
||||
|
||||
SELECT dp.bes_ins_discipline_key_inkoop
|
||||
INTO l_bes_discipline_key_inkoop
|
||||
FROM bes_disc_params dp
|
||||
WHERE dp.bes_ins_discipline_key = pdisc_key;
|
||||
|
||||
|
||||
IF l_bes_discipline_key_inkoop IS NOT NULL
|
||||
THEN
|
||||
-- We hebben van doen met een magazijn catalogus die is gkoppeld aan inkoopcatalogus met discipline-key 'l_bes_discipline_key_inkoop'
|
||||
-- De voorraad gegevens moeten in de overeenkomstige artikel van die inkoopcatalogus worden bijgewerkt.
|
||||
|
||||
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
@@ -1473,13 +1473,13 @@ AS
|
||||
|| l_bes_discipline_key_inkoop,
|
||||
''
|
||||
);
|
||||
|
||||
|
||||
FOR rec IN c_updsrtdeel_voorraad (pdisc_key, pbedr_key)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg :=
|
||||
'Fout bij bepalen artikel in de inkoopcatalogus ' || rec.ins_srtdeel_nr;
|
||||
|
||||
|
||||
-- Op zoek naar het overeenkomstige artikel in de inkoopcatalogus, op basis van artikelnummer (bes_srtdeel_nr) welke niet verwijderd is van de catalogus met key 'l_bes_discipline_key_inkoop'
|
||||
-- Daarbij JUIST geen check op eenheid, die is namelijk vooral anders (b.v. inkoopcatalogus heeft '1 pak van 4 stuks' en de magazijncatalogus heeft 'per stuk')
|
||||
SELECT s.bes_srtdeel_key
|
||||
@@ -1489,14 +1489,14 @@ AS
|
||||
AND s.bes_srtgroep_key = g.bes_srtgroep_key
|
||||
AND s.bes_srtdeel_verwijder IS NULL
|
||||
AND g.ins_discipline_key = l_bes_discipline_key_inkoop;
|
||||
|
||||
|
||||
UPDATE bes_srtdeel
|
||||
SET bes_srtdeel_voorraadmin = rec.bes_srtdeel_voorraadmin,
|
||||
bes_srtdeel_voorraadmax = rec.bes_srtdeel_voorraadmax,
|
||||
bes_srtdeel_voorraadfactor = rec.bes_srtdeel_voorraadfactor,
|
||||
bes_srtdeel_maxbestel = COALESCE(rec.bes_srtdeel_maxbestel,0)
|
||||
WHERE bes_srtdeel_key = l_bes_srtdeel_key;
|
||||
|
||||
|
||||
l_prijs := NULL;
|
||||
CASE rec.bes_inclexcl_btw
|
||||
WHEN '1'
|
||||
@@ -1515,7 +1515,7 @@ AS
|
||||
'BTW bij artkel ' || rec.ins_srtdeel_nr || ' is NIET gevonden',
|
||||
'Prijs wordt niet omgerekend'
|
||||
);
|
||||
END IF;
|
||||
END IF;
|
||||
WHEN '3'
|
||||
THEN
|
||||
-- 3. is omrekenen obv de voorraadfactor incl btw (prijzen staan excl btw, en je wilt naar incl btw intern) (100 euro met factor 50 en 21% btw -> 100 + 21% BTW = 121,00 / 50 = 2,42)
|
||||
@@ -1528,7 +1528,7 @@ AS
|
||||
'BTW bij artkel ' || rec.ins_srtdeel_nr || ' is NIET gevonden',
|
||||
'Prijs wordt niet omgerekend'
|
||||
);
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
NULL;
|
||||
END CASE;
|
||||
@@ -1583,9 +1583,9 @@ AS
|
||||
''
|
||||
);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BEGIN
|
||||
-- Doorloop alle catalogi/ bedrijven. Er kunnen er in theorie meerdere tegelijk zijn
|
||||
FOR rec IN
|
||||
@@ -1626,7 +1626,7 @@ BEGIN
|
||||
v_aanduiding := '[' || v_disc_oms || '|' || v_bedr_naam || '] ';
|
||||
l_update_catalogus (rec.ins_discipline_key, rec.prs_bedrijf_key);
|
||||
l_update_voorraad (rec.ins_discipline_key, rec.prs_bedrijf_key);
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1737,16 +1737,16 @@ AS
|
||||
f.fin_factuur_nr,
|
||||
f.fin_factuur_totaal,
|
||||
f.fin_factuur_totaal_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(10000 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,4)), 12, '0') || '-'
|
||||
THEN LPAD(TO_CHAR(10000 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,4)), 12, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(10000 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),4)), 12, '0') || '+'
|
||||
END fin_factuur_totaal_dbs,
|
||||
COALESCE (b_c.prs_bedrijf_key, b_o.prs_bedrijf_key) prs_bedrijf_key,
|
||||
COALESCE (b_c.prs_leverancier_nr, b_o.prs_leverancier_nr) prs_leverancier_nr,
|
||||
fr.fin_factuurregel_totaal,
|
||||
fr.fin_factuurregel_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(10000 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,4)), 12, '0') || LPAD('0',12,'0')
|
||||
ELSE LPAD('0',12,'0') || LPAD(TO_CHAR(10000 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),4)), 12, '0')
|
||||
@@ -1764,7 +1764,7 @@ AS
|
||||
o.mld_opdr_key,
|
||||
c.cnt_contract_key,
|
||||
f.fin_factuur_statuses_key
|
||||
FROM fin_factuur f,
|
||||
FROM fin_factuur f,
|
||||
fin_factuurregel fr,
|
||||
fin_btwtabelwaarde btw,
|
||||
mld_opdr o,
|
||||
@@ -1826,16 +1826,16 @@ AS
|
||||
f.fin_factuur_nr,
|
||||
f.fin_factuur_totaal,
|
||||
f.fin_factuur_totaal_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(10000 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,4)), 12, '0') || '-'
|
||||
THEN LPAD(TO_CHAR(10000 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,4)), 12, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(10000 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),4)), 12, '0') || '+'
|
||||
END fin_factuur_totaal_dbs,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_leverancier_nr,
|
||||
fr.fin_factuurregel_totaal,
|
||||
fr.fin_factuurregel_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(10000 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,4)), 12, '0') || LPAD('0',12,'0')
|
||||
ELSE LPAD('0',12,'0') || LPAD(TO_CHAR(10000 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),4)), 12, '0')
|
||||
@@ -1894,7 +1894,7 @@ WHERE fin_factuur_statuses_key = 6;
|
||||
|
||||
|
||||
-- Exportbestand die voor DBS wordt gegenereerd, bestaande uit kopregel (factuur-nivo) en bijbehorende sub-regels (factuurregels)
|
||||
--
|
||||
--
|
||||
-- Velden kopregel:
|
||||
-- 1: uniek boekstuknummer van 10 posities (fin_factuur_key), posities 1-9
|
||||
-- 2: factuurnummer van 16 posities, posities 10-25
|
||||
@@ -1918,11 +1918,11 @@ WHERE fin_factuur_statuses_key = 6;
|
||||
-- 5: leveranciernummer van 4 posities, posities 40-43
|
||||
-- 6: factuurregelnummer, in kopregel 00000 (5 posities, in subregel het opeenvolgend regelnr van de factuurregel), posities 44-48
|
||||
-- 7: factuurregelomschrijving, in kopregel leeg (30 spaties), in subregel de omschrijving van de factuurregel), posities 49-78
|
||||
-- 8: kostensoort, in kopregel 00000 (5 posities) in subregel de kostensoort), posities 79-83
|
||||
-- 9: kostenplaats, in kopregel 0000 (4 posities), in subregel de kostenplaats, posities 84-87
|
||||
-- 10: Debet/Credit: totaal factuurbedrag incl BTW (11 posities), in subregel leeg (10 nullen) met een extra 0 vanwege de het min of plusteken in kopregel, posities 88-98,
|
||||
-- 11: Debet: totaal factuurregelbedrag, (10 posities), bedrag in centen (dus 123.95 euro -> 0000012395), posities 109-118 (NB: hier geen min-teken! alleen in kopregel)
|
||||
-- 12: Credit: totaal factuurregelbedrag indien NEGATIEF, (10 posities), bedrag in centen (dus 123.95 euro -> 0000012395), posities 119-128
|
||||
-- 8: kostensoort, in kopregel 00000 (6 posities) in subregel de kostensoort), posities 79-84
|
||||
-- 9: kostenplaats, in kopregel 0000 (4 posities), in subregel de kostenplaats, posities 85-88
|
||||
-- 10: Debet/Credit: totaal factuurbedrag incl BTW (11 posities), in subregel leeg (10 nullen) met een extra 0 vanwege de het min of plusteken in kopregel, posities 89-99,
|
||||
-- 11: Debet: totaal factuurregelbedrag, (10 posities), bedrag in centen (dus 123.95 euro -> 0000012395), posities 110-119 (NB: hier geen min-teken! alleen in kopregel)
|
||||
-- 12: Credit: totaal factuurregelbedrag indien NEGATIEF, (10 posities), bedrag in centen (dus 123.95 euro -> 0000012395), posities 120-129
|
||||
|
||||
|
||||
|
||||
@@ -1936,7 +1936,7 @@ SELECT SUBSTR(MAX(fin_factuur_boekmaand),1,4) || LPAD(MAX(fin_factuur_key), 5,
|
||||
LPAD(COALESCE(MAX(prs_leverancier_nr),'0'), 4, '0') ||
|
||||
LPAD('0',5,'0') ||
|
||||
LPAD(' ',30,' ') ||
|
||||
LPAD('0',5,'0') ||
|
||||
LPAD('0',6,'0') ||
|
||||
LPAD('0',4,'0') ||
|
||||
MAX(fin_factuur_totaal_dbs) ||
|
||||
LPAD('0',12,'0') ||
|
||||
@@ -1945,14 +1945,14 @@ SELECT SUBSTR(MAX(fin_factuur_boekmaand),1,4) || LPAD(MAX(fin_factuur_key), 5,
|
||||
FROM stph_v_factuur_geg_akkoord fg
|
||||
GROUP by fin_factuur_key
|
||||
UNION ALL
|
||||
SELECT SUBSTR(fin_factuur_boekmaand,1,4) || LPAD(fin_factuur_key, 5, '0') ||
|
||||
LPAD(fin_factuur_nr, 16, '0') ||
|
||||
SELECT SUBSTR(fin_factuur_boekmaand,1,4) || LPAD(fin_factuur_key, 5, '0') ||
|
||||
LPAD(fin_factuur_nr, 16, '0') ||
|
||||
TO_CHAR (fin_factuur_datum, 'ddmmyyyy') ||
|
||||
SUBSTR(fin_factuur_boekmaand,1,4) || LPAD(SUBSTR(fin_factuur_boekmaand,6,2) , 2, '0') ||
|
||||
LPAD(COALESCE(prs_leverancier_nr,'0'), 4, '0') ||
|
||||
LPAD(COALESCE(prs_leverancier_nr,'0'), 4, '0') ||
|
||||
LPAD(fin_factuurregel_nr,5,'0') ||
|
||||
LPAD(COALESCE(fin_factuurregel_omschrijving, ' '),30,' ') ||
|
||||
LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
LPAD(prs_kostensoort_oms,6,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
LPAD('0',12,'0') || '0' ||
|
||||
fin_factuurregel_totaal_dbs
|
||||
@@ -2160,7 +2160,7 @@ AS
|
||||
prs_kostensoort ks,
|
||||
prs_perslid h
|
||||
WHERE rr.res_rsv_ruimte_verwijder IS NULL
|
||||
AND rr.res_rsv_ruimte_van >= to_date('01-' || to_char(sysdate - to_char(sysdate, 'DD') - 1, 'MM-YYYY'), 'DD-MM-YYYY')
|
||||
AND rr.res_rsv_ruimte_van >= to_date('01-' || to_char(sysdate - to_char(sysdate, 'DD') - 1, 'MM-YYYY'), 'DD-MM-YYYY')
|
||||
AND rr.res_rsv_ruimte_van < to_date('01-' || to_char(sysdate, 'MM-YYYY'), 'DD-MM-YYYY')
|
||||
AND a.res_artikel_key = ra.res_artikel_key
|
||||
AND d.ins_discipline_key = a.res_discipline_key
|
||||
@@ -2182,25 +2182,25 @@ AS
|
||||
|
||||
-- Velden catering-regels voor intern doorbelasten (DBS) van de vorige maand, die definitief zijn (gemaakt).
|
||||
-- 1e regel bij catering
|
||||
-- 1: kostensoort bij de catalogus, posities 1-5
|
||||
-- 2: kostenplaats bij de reservering van 4 posities, posities 6-9
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 10-19
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 20-29, allemaal 0
|
||||
-- 1: kostensoort bij de catalogus, posities 1-6
|
||||
-- 2: kostenplaats bij de reservering van 4 posities, posities 7-10
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 11-20
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 21-30, allemaal 0
|
||||
-- 2e bijbehorende regel bij catering
|
||||
-- 1: kostensoort 83211, posities 1-5
|
||||
-- 2: kostenplaats 2020, 4 posities, posities 6-9
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 10-19, allemaal 0
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 20-29
|
||||
-- 1: kostensoort 83211, posities 1-6
|
||||
-- 2: kostenplaats 2020, 4 posities, posities 7-10
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 11-20, allemaal 0
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 21-30
|
||||
|
||||
-- Aanvulling: zie call STPH#36545
|
||||
-- Tegenboeking (2e bijbehorende regel) 'Catering'Catalogus "Dienstverlening logistiek" (key= 581) -> kostenplaats 2061 en kostensoort 41900
|
||||
-- Tegenboeking (2e bijbehorende regel) 'Catering'Catalogus "Dienstverlening receptie" (key= 582) -> kostenplaats 2005 en kostensoort 41900
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW stph_v_export_catering_dbs
|
||||
(result, result_order)
|
||||
AS
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
SELECT LPAD(prs_kostensoort_oms,6,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0') ||
|
||||
'0000000000'
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '1'
|
||||
@@ -2208,7 +2208,7 @@ AS
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
UNION ALL
|
||||
SELECT '83211' ||
|
||||
SELECT '832110' ||
|
||||
'2020' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
@@ -2218,7 +2218,7 @@ UNION ALL
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key NOT IN (581, 582)
|
||||
UNION ALL
|
||||
SELECT '41900' ||
|
||||
SELECT '419000' ||
|
||||
'2061' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
@@ -2228,7 +2228,7 @@ UNION ALL
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key = 581
|
||||
UNION ALL
|
||||
SELECT '41900' ||
|
||||
SELECT '419000' ||
|
||||
'2005' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
@@ -2292,22 +2292,22 @@ AS
|
||||
|
||||
-- Velden interne bestelopdracht-regels voor intern doorbelasten (DBS), die geleverd zijn geadministreerd.
|
||||
-- 1e regel bij interne bestelregel.
|
||||
-- 1: eerst kostensoort bes_groep, indien leeg dan kostensoort bij de catalogus, posities 1-5
|
||||
-- 2: kostenplaats bij de bestelling van 4 posities, posities 6-9
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 10-19
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 20-29, allemaal 0
|
||||
-- 1: eerst kostensoort bes_groep, indien leeg dan kostensoort bij de catalogus, posities 1-6
|
||||
-- 2: kostenplaats bij de bestelling van 4 posities, posities 7-10
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 11-20
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 21-30, allemaal 0
|
||||
-- 2e bijbehorende regel bij bestelregel
|
||||
-- 1: kostensoort_tegenboeking die hoort bij kostensoort uit 1e regel, (dus eerst KS groep, indien leeg dan KS catalogus) posities 1-5
|
||||
-- 2: kostenplaats 0000, 4 posities, posities 6-9
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 10-19, allemaal 0
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 20-29
|
||||
-- 1: kostensoort_tegenboeking die hoort bij kostensoort uit 1e regel, (dus eerst KS groep, indien leeg dan KS catalogus) posities 1-6
|
||||
-- 2: kostenplaats 0000, 4 posities, posities 7-10
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 11-20, allemaal 0
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 21-30
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW stph_v_export_intern_magazijn
|
||||
(result, result_order)
|
||||
AS
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
SELECT LPAD(prs_kostensoort_oms,6,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0') ||
|
||||
'0000000000'
|
||||
, LPAD(bes_bestelopdr_key, 10, '0') || LPAD(bes_bestelopdr_item_posnr,5,'0') || '1'
|
||||
@@ -2315,7 +2315,7 @@ FROM stph_v_bes_intern_2_dbs
|
||||
WHERE bes_bestelopdr_item_brutoprijs <> 0
|
||||
AND prs_bedrijf_key = 422
|
||||
UNION ALL
|
||||
SELECT LPAD(prs_kostensoort_tegenboeking,5,'0') ||
|
||||
SELECT LPAD(prs_kostensoort_tegenboeking,6,'0') ||
|
||||
'0000' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0')
|
||||
@@ -2327,22 +2327,22 @@ AND prs_bedrijf_key = 422;
|
||||
|
||||
-- Velden interne bestelopdracht-regels voor intern doorbelasten (DBS), die geleverd zijn geadministreerd.
|
||||
-- 1e regel bij interne bestelregel.
|
||||
-- 1: eerst kostensoort bes_groep, indien leeg dan kostensoort bij de catalogus, posities 1-5
|
||||
-- 2: kostenplaats bij de bestelling van 4 posities, posities 6-9
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 10-19
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 20-29, allemaal 0
|
||||
-- 1: eerst kostensoort bes_groep, indien leeg dan kostensoort bij de catalogus, posities 1-6
|
||||
-- 2: kostenplaats bij de bestelling van 4 posities, posities 7-10
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 11-20
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 21-30, allemaal 0
|
||||
-- 2e bijbehorende regel bij bestelregel
|
||||
-- 1: kostensoort_tegenboeking die hoort bij kostensoort uit 1e regel, (dus eerst KS groep, indien leeg dan KS catalogus) posities 1-5
|
||||
-- 2: kostenplaats 0000, 4 posities, posities 6-9
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 10-19, allemaal 0
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 20-29
|
||||
-- 1: kostensoort_tegenboeking die hoort bij kostensoort uit 1e regel, (dus eerst KS groep, indien leeg dan KS catalogus) posities 1-6
|
||||
-- 2: kostenplaats 0000, 4 posities, posities 7-10
|
||||
-- 3: debet: bedrag in centen, in 10 posities, posities 11-20, allemaal 0
|
||||
-- 4: credit: bedrag in centen, in 10 posities, posities 21-30
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW stph_v_export_intern_keuken
|
||||
(result, result_order)
|
||||
AS
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
SELECT LPAD(prs_kostensoort_oms,6,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0') ||
|
||||
'0000000000'
|
||||
, LPAD(bes_bestelopdr_key, 10, '0') || LPAD(bes_bestelopdr_item_posnr,5,'0') || '1'
|
||||
@@ -2350,7 +2350,7 @@ FROM stph_v_bes_intern_2_dbs
|
||||
WHERE bes_bestelopdr_item_brutoprijs <> 0
|
||||
AND prs_bedrijf_key = 1401
|
||||
UNION ALL
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
SELECT LPAD(prs_kostensoort_oms,6,'0') ||
|
||||
'2010' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0')
|
||||
@@ -2360,7 +2360,7 @@ WHERE bes_bestelopdr_item_brutoprijs <> 0
|
||||
AND prs_bedrijf_key = 1401;
|
||||
|
||||
|
||||
-- Op de balans ook de externe catalogus die gekoppeld is aan een (of meer) van die interne catalogi.
|
||||
-- Op de balans ook de externe catalogus die gekoppeld is aan een (of meer) van die interne catalogi.
|
||||
-- Dus als tegenhanger van de interne "magazijn voorraad" catalogi die via VIEW stph_v_bes_intern_2_dbs verlopen....
|
||||
-- Te bepalen via de kolom bes_ins_discipline_key_inkoop
|
||||
--
|
||||
@@ -2418,7 +2418,7 @@ SELECT b.prs_bedrijf_key,
|
||||
CREATE OR REPLACE VIEW stph_v_export_externe_voorraad
|
||||
(result, result_order)
|
||||
AS
|
||||
SELECT LPAD(prs_kostensoort_tegenboeking,5,'0') ||
|
||||
SELECT LPAD(prs_kostensoort_tegenboeking,6,'0') ||
|
||||
'0000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * (1 + 0.01 * COALESCE(bes_srtdeel_btw,0)) * bes_bestelopdr_item_brutoprijs,2)), 10, '0') ||
|
||||
'0000000000'
|
||||
@@ -2426,7 +2426,7 @@ SELECT LPAD(prs_kostensoort_tegenboeking,5,'0') ||
|
||||
FROM stph_v_bes_extern_2_dbs
|
||||
WHERE bes_bestelopdr_item_brutoprijs <> 0
|
||||
UNION ALL
|
||||
SELECT '32010' ||
|
||||
SELECT '320100' ||
|
||||
'0000' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * (1 + 0.01 * COALESCE(bes_srtdeel_btw,0)) * bes_bestelopdr_item_brutoprijs,2)), 10, '0')
|
||||
@@ -2460,7 +2460,7 @@ AS
|
||||
FROM stph_v_bes_intern_2_dbs
|
||||
UNION
|
||||
SELECT DISTINCT bes_bestelopdr_key
|
||||
FROM stph_v_bes_extern_2_dbs;
|
||||
FROM stph_v_bes_extern_2_dbs;
|
||||
|
||||
BEGIN
|
||||
-- DE EXPORT IS OP BASIS VAN EEN VIEW GEREALISEERD, WAARNA NU ALS LAATSTE STAP NOG WAT ADMINISTRATIE VOLGT...
|
||||
@@ -2683,7 +2683,7 @@ AS
|
||||
a.bes_srtgroep_omschrijving,
|
||||
b.intern_voorraadfactor,
|
||||
b.bes_srtdeel_omschrijving) l;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW stph_v_noti_cntreminder
|
||||
(
|
||||
code,
|
||||
@@ -2721,9 +2721,9 @@ AS
|
||||
AND cnt_contract_verwijder IS NULL
|
||||
AND cnt_contract_status = 0
|
||||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
|
||||
|
||||
|
||||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -2738,11 +2738,11 @@ CREATE OR REPLACE PROCEDURE stph_import_invoicesharing (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(50);
|
||||
BEGIN
|
||||
|
||||
|
||||
--In de XSL: factuurnr(1);factuurdatum(2);opdrachtnr(3);omschrijving(4);bedrag(5);btwperc(6);btwbedrag(7);btw_verlegd(8);document(9);kostensoort(10);
|
||||
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;16;7;8;9;0'
|
||||
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;9;0;0;0;10;0;0;0;0';
|
||||
|
||||
|
||||
-- Variabelelijst
|
||||
-- v_leveranciernr: 1
|
||||
-- v_factuurnr: 2 (VERPLICHT, anders zet Facilitor '-' in factuurnr, en is status van factuur "Incompleet")
|
||||
@@ -2765,7 +2765,7 @@ BEGIN
|
||||
-- v_kenmerk1: 19
|
||||
-- v_kenmerk1: 20
|
||||
-- v_boekmaand: 21
|
||||
|
||||
|
||||
fac_import_factuur_body(p_import_key, v_seq_of_columns);
|
||||
END;
|
||||
/
|
||||
@@ -2774,7 +2774,7 @@ CREATE OR REPLACE PROCEDURE stph_postupdate_invoicesharing (p_import_key IN NUMB
|
||||
AS
|
||||
v_prs_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
v_fin_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
|
||||
|
||||
CURSOR cfactuurregel_kostensoort
|
||||
IS
|
||||
SELECT DISTINCT fin_factuur_key, factuurnr, fin_factuurregel_key, kenmerk1, fac_imp_file_index
|
||||
@@ -2784,30 +2784,30 @@ BEGIN
|
||||
FOR rc IN cfactuurregel_kostensoort
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
|
||||
-- Dan gaan we op zoek of de kostensoort aangeleverd door InvoiceSharing, wel bestaat in Facilitor, zo nee, dan laten we die onbekende kostensoort op regelnivo LEEG
|
||||
SELECT MAX(prs_kostensoort_key)
|
||||
INTO v_prs_kostensoort_key
|
||||
FROM prs_kostensoort
|
||||
WHERE prs_kostensoort_upper = UPPER(rc.kenmerk1);
|
||||
|
||||
|
||||
IF v_prs_kostensoort_key IS NOT NULL
|
||||
THEN
|
||||
-- We hebben een geldige kostensoort van InvoiceSharing ontvangen, die gaan we zetten.
|
||||
-- Wel nog ff checken of deze kostensoort al bij factuur staat, want dan hoeven we dit op factuurregel niet te zetten (dan neemt die de kostensoort van factuur 'over')
|
||||
|
||||
|
||||
SELECT COALESCE(f.prs_kostensoort_key,-1)
|
||||
INTO v_fin_kostensoort_key
|
||||
FROM fin_factuur f, fin_factuurregel fr
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND fr.fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
|
||||
|
||||
IF v_fin_kostensoort_key <> v_prs_kostensoort_key
|
||||
THEN
|
||||
-- De kostensoort is NIET dezelfde als bij factuur, dus we gaan hem op factuurregel nivo zetten.
|
||||
UPDATE fin_factuurregel
|
||||
SET prs_kostensoort_key = v_prs_kostensoort_key
|
||||
WHERE fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
WHERE fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
END IF;
|
||||
ELSE
|
||||
-- STPH#38624: als er GEEN of een FOUTE/ONBEKENDE kostensoort bij de import wordt meegegeven, dat dan de status op "Ingevoerd" terug wordt gezet.
|
||||
@@ -2815,7 +2815,7 @@ BEGIN
|
||||
SET fin_factuur_statuses_key = 2
|
||||
WHERE fin_factuur_key = (SELECT fin_factuur_key FROM fin_factuurregel fr WHERE fr.fin_factuurregel_key = rc.fin_factuurregel_key);
|
||||
END IF;
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
|
||||
Reference in New Issue
Block a user