STPH#55856 -- Export grootboekrekeningen ivm overgang AFAS

svn path=/Customer/trunk/; revision=40403
This commit is contained in:
Arthur Egberink
2019-01-04 15:17:51 +00:00
parent 2469c1d7fe
commit de61a0724b

View File

@@ -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