STPH#38624: Digitale facturen zonder kostensoort
svn path=/Customer/trunk/; revision=32728
This commit is contained in:
759
STPH/stph.sql
759
STPH/stph.sql
@@ -31,7 +31,7 @@ BEGIN
|
||||
'0;0;0;0;0;0',
|
||||
'Roepnaam;Voorletters;Tussenvoegsel;Achternaam;Persnr.;Afdnr.;Functie;Email;Mobile;Telefoon;Loginnaam;%'
|
||||
);
|
||||
COMMIT;
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -45,9 +45,9 @@ END stph_import_perslid;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE stph_post_update_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_kostenplaats_key_perslid NUMBER(10);
|
||||
v_kostenplaats_key_perslid NUMBER(10);
|
||||
v_kostenplaats_key_afdeling NUMBER(10);
|
||||
v_prs_afdeling_key NUMBER(10);
|
||||
v_prs_afdeling_key NUMBER(10);
|
||||
|
||||
CURSOR c_perslid_kpn_kenmerk
|
||||
IS
|
||||
@@ -69,46 +69,46 @@ BEGIN
|
||||
|
||||
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).
|
||||
fac.imp_writelog (p_import_key,
|
||||
-- Kostenplaats bij de persoon (vanuit AFAS) staat niet in Facilitor, persoon blijft aan de afdeling gekoppeld volgens AFAS (dus niet naar evt. 'fictieve' afdeling).
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
'Kostenplaats van persoon' || rc.prs_perslid_nr || ' is NIET gevonden)',
|
||||
'Naam:' || rc.prs_perslid_naam || ' / Afdeling: ' || rc.prs_afdeling_naam
|
||||
);
|
||||
ELSE
|
||||
-- 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
|
||||
FROM prs_afdeling a, prs_perslid p
|
||||
WHERE p.prs_perslid_nr = rc.prs_perslid_nr
|
||||
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
|
||||
-- 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
|
||||
-- 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;
|
||||
-- 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
|
||||
FROM prs_afdeling a, prs_perslid p
|
||||
WHERE p.prs_perslid_nr = rc.prs_perslid_nr
|
||||
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
|
||||
-- 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
|
||||
-- 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;
|
||||
|
||||
|
||||
@@ -131,19 +131,19 @@ END;
|
||||
CREATE OR REPLACE PROCEDURE stph_update_perslid (
|
||||
p_import_key IN NUMBER
|
||||
) IS
|
||||
-- Alle personen verwijderen die niet meer in import bestand voorkomen.
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||||
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||||
WHERE p.prs_perslid_nr = i.prs_perslid_nr(+)
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND i.prs_perslid_nr IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY 2;
|
||||
|
||||
v_count NUMBER;
|
||||
-- Alle personen verwijderen die niet meer in import bestand voorkomen.
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||||
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||||
WHERE p.prs_perslid_nr = i.prs_perslid_nr(+)
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND i.prs_perslid_nr IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY 2;
|
||||
|
||||
v_count NUMBER;
|
||||
|
||||
BEGIN
|
||||
-- generic update
|
||||
@@ -228,12 +228,12 @@ IS
|
||||
v_srtdeel_wijzigdagen VARCHAR2 (255);
|
||||
v_srtdeel_annuleerdagen VARCHAR2 (255);
|
||||
v_srtdeel_opmerking VARCHAR2 (4000); -- straks afgekapt op 2000
|
||||
v_bes_srtdeel_voorraadmin VARCHAR2 (255);
|
||||
v_bes_srtdeel_voorraadmin VARCHAR2 (255);
|
||||
v_bes_srtdeel_voorraadmax VARCHAR2 (255);
|
||||
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);
|
||||
@@ -324,20 +324,20 @@ BEGIN
|
||||
-- Hier checken of we de voorraad-kolommen hebben...
|
||||
-- MinVoorraad;Maxvoorraad;Maxbestel;VoorraadFactor;VoorraadOmrekenPrijs
|
||||
IF UPPER (TRIM (v_bes_srtdeel_voorraadmin)) = 'MINVOORRAAD'
|
||||
AND UPPER (TRIM (v_bes_srtdeel_voorraadmax)) = 'MAXVOORRAAD'
|
||||
AND UPPER (TRIM (v_bes_srtdeel_maxbestel)) = 'MAXBESTEL'
|
||||
AND UPPER (TRIM (v_bes_srtdeel_voorraadfactor)) = 'VOORRAADFACTOR'
|
||||
AND UPPER (TRIM (v_bes_inclexcl_btw)) = 'VOORRAADOMREKENPRIJS'
|
||||
AND UPPER (TRIM (v_bes_srtdeel_voorraadmax)) = 'MAXVOORRAAD'
|
||||
AND UPPER (TRIM (v_bes_srtdeel_maxbestel)) = 'MAXBESTEL'
|
||||
AND UPPER (TRIM (v_bes_srtdeel_voorraadfactor)) = 'VOORRAADFACTOR'
|
||||
AND UPPER (TRIM (v_bes_inclexcl_btw)) = 'VOORRAADOMREKENPRIJS'
|
||||
THEN
|
||||
-- Met deze waarde '2' doen we wat met de voorraadkolommen.
|
||||
header_is_valid := 2;
|
||||
fac.imp_writelog (
|
||||
-- Met deze waarde '2' doen we wat met de voorraadkolommen.
|
||||
header_is_valid := 2;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'Voorraad kolommen zijn aanwezig',
|
||||
'Voorraad kolommen worden ingelezen'
|
||||
);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
ELSIF rec.regellengte > 1 -- Lege regels overslaan!
|
||||
@@ -613,85 +613,85 @@ BEGIN
|
||||
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmin) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmin) > 999999)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldig minimum voorraad',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmax) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmax) > 999999)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldig maximum voorraad',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_maxbestel) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_maxbestel) > 1)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldige MaxBestel',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadfactor) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadfactor) > 999999)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldig voorraadfactor',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_inclexcl_btw) < 0
|
||||
OR fac.safe_to_number (v_bes_inclexcl_btw) > 3)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldige Voorraad OmrekenPrijs',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- 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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmin) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmin) > 999999)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldig minimum voorraad',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmax) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadmax) > 999999)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldig maximum voorraad',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_maxbestel) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_maxbestel) > 1)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldige MaxBestel',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadfactor) < 0
|
||||
OR fac.safe_to_number (v_bes_srtdeel_voorraadfactor) > 999999)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldig voorraadfactor',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
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
|
||||
OR fac.safe_to_number (v_bes_inclexcl_btw) < 0
|
||||
OR fac.safe_to_number (v_bes_inclexcl_btw) > 3)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldige Voorraad OmrekenPrijs',
|
||||
'Regel wordt niet ingelezen (Nr:' || v_srtdeel_nr || ')'
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_ongeldig = 0
|
||||
@@ -743,24 +743,24 @@ BEGIN
|
||||
SUBSTR (v_srtdeel_opmerking, 1, 2000)
|
||||
);
|
||||
|
||||
IF (header_is_valid = 2)
|
||||
THEN
|
||||
-- Met voorraad gegevens erbij
|
||||
UPDATE STPH_IMP_CATALOGUS
|
||||
SET
|
||||
bes_srtdeel_voorraadmin = v_bes_srtdeel_voorraadmin,
|
||||
bes_srtdeel_voorraadmax = v_bes_srtdeel_voorraadmax,
|
||||
bes_srtdeel_maxbestel = v_bes_srtdeel_maxbestel,
|
||||
bes_srtdeel_voorraadfactor = v_bes_srtdeel_voorraadfactor,
|
||||
bes_inclexcl_btw = v_bes_inclexcl_btw
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND ins_discipline_key = v_discipline_key
|
||||
AND prs_bedrijf_key = v_bedrijf_key
|
||||
AND ins_srtdeel_nr = SUBSTR (v_srtdeel_nr, 1, 32)
|
||||
AND ins_srtdeel_eenheid = SUBSTR (v_srtdeel_eenheid, 1, 30);
|
||||
END IF;
|
||||
IF (header_is_valid = 2)
|
||||
THEN
|
||||
-- Met voorraad gegevens erbij
|
||||
UPDATE STPH_IMP_CATALOGUS
|
||||
SET
|
||||
bes_srtdeel_voorraadmin = v_bes_srtdeel_voorraadmin,
|
||||
bes_srtdeel_voorraadmax = v_bes_srtdeel_voorraadmax,
|
||||
bes_srtdeel_maxbestel = v_bes_srtdeel_maxbestel,
|
||||
bes_srtdeel_voorraadfactor = v_bes_srtdeel_voorraadfactor,
|
||||
bes_inclexcl_btw = v_bes_inclexcl_btw
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND ins_discipline_key = v_discipline_key
|
||||
AND prs_bedrijf_key = v_bedrijf_key
|
||||
AND ins_srtdeel_nr = SUBSTR (v_srtdeel_nr, 1, 32)
|
||||
AND ins_srtdeel_eenheid = SUBSTR (v_srtdeel_eenheid, 1, 30);
|
||||
END IF;
|
||||
|
||||
v_count_import := v_count_import + 1;
|
||||
v_count_import := v_count_import + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
@@ -1421,7 +1421,7 @@ AS
|
||||
|
||||
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...
|
||||
-- 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...
|
||||
CURSOR c_updsrtdeel_voorraad (
|
||||
cdisc_key IN NUMBER,
|
||||
cbedr_key IN NUMBER
|
||||
@@ -1438,26 +1438,26 @@ AS
|
||||
AND s.prs_bedrijf_key = cbedr_key
|
||||
AND s.bes_srtdeel_verwijder IS NULL;
|
||||
|
||||
ccount NUMBER (10);
|
||||
ccount NUMBER (10);
|
||||
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 (
|
||||
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',
|
||||
v_aanduiding
|
||||
@@ -1465,116 +1465,116 @@ 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
|
||||
INTO l_bes_srtdeel_key
|
||||
FROM bes_srtdeel s, bes_srtgroep g
|
||||
WHERE UPPER (s.bes_srtdeel_nr) = UPPER (rec.ins_srtdeel_nr)
|
||||
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'
|
||||
THEN
|
||||
-- 1. Prijs van artikel van inerne (magazijn)catalogus omrekenen obv factor, zonder btw omrekening (100 euro met factor 50 -> 100/50 = 2 euro)
|
||||
l_prijs := rec.ins_srtdeel_prijs / COALESCE(rec.bes_srtdeel_voorraadfactor,1);
|
||||
WHEN '2'
|
||||
THEN
|
||||
-- 2. is omrekenen obv de voorraadfactor excl btw (prijzen staan incl btw, en je wilt naar excl btw intern) (100 euro met factor 50 en 21% btw -> 100 - 21% BTW /50 = 82,64 / 50 = 1,65)
|
||||
IF fac.safe_to_number(rec.ins_srtdeel_btw) IS NOT NULL
|
||||
THEN l_prijs := (rec.ins_srtdeel_prijs * 100) / (100 + fac.safe_to_number(rec.ins_srtdeel_btw));
|
||||
l_prijs := l_prijs / COALESCE(rec.bes_srtdeel_voorraadfactor,1);
|
||||
ELSE fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
'BTW bij artkel ' || rec.ins_srtdeel_nr || ' is NIET gevonden',
|
||||
'Prijs wordt niet omgerekend'
|
||||
);
|
||||
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)
|
||||
IF fac.safe_to_number(rec.ins_srtdeel_btw) IS NOT NULL
|
||||
THEN l_prijs := rec.ins_srtdeel_prijs * ((100 + fac.safe_to_number(rec.ins_srtdeel_btw))/100);
|
||||
l_prijs := l_prijs / COALESCE(rec.bes_srtdeel_voorraadfactor,1);
|
||||
ELSE fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
'BTW bij artkel ' || rec.ins_srtdeel_nr || ' is NIET gevonden',
|
||||
'Prijs wordt niet omgerekend'
|
||||
);
|
||||
END IF;
|
||||
ELSE
|
||||
NULL;
|
||||
END CASE;
|
||||
IF l_prijs IS NOT NULL
|
||||
THEN
|
||||
l_prijs := ROUND (l_prijs,2);
|
||||
-- Inkoopprijs NULL, magazijn catalogus is dit niet relevant, is uitgangspunt
|
||||
bes.upsert_srtdeel_prijs (rec.bes_srtdeel_key, l_prijs, NULL);
|
||||
END IF;
|
||||
ccount := ccount + 1;
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX
|
||||
THEN
|
||||
v_errormsg := 'Artikelnummer dubbel in inkoopcatalogus';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
v_errormsg
|
||||
|| ' ORACLE (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
END;
|
||||
|
||||
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
|
||||
INTO l_bes_srtdeel_key
|
||||
FROM bes_srtdeel s, bes_srtgroep g
|
||||
WHERE UPPER (s.bes_srtdeel_nr) = UPPER (rec.ins_srtdeel_nr)
|
||||
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'
|
||||
THEN
|
||||
-- 1. Prijs van artikel van inerne (magazijn)catalogus omrekenen obv factor, zonder btw omrekening (100 euro met factor 50 -> 100/50 = 2 euro)
|
||||
l_prijs := rec.ins_srtdeel_prijs / COALESCE(rec.bes_srtdeel_voorraadfactor,1);
|
||||
WHEN '2'
|
||||
THEN
|
||||
-- 2. is omrekenen obv de voorraadfactor excl btw (prijzen staan incl btw, en je wilt naar excl btw intern) (100 euro met factor 50 en 21% btw -> 100 - 21% BTW /50 = 82,64 / 50 = 1,65)
|
||||
IF fac.safe_to_number(rec.ins_srtdeel_btw) IS NOT NULL
|
||||
THEN l_prijs := (rec.ins_srtdeel_prijs * 100) / (100 + fac.safe_to_number(rec.ins_srtdeel_btw));
|
||||
l_prijs := l_prijs / COALESCE(rec.bes_srtdeel_voorraadfactor,1);
|
||||
ELSE fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
'BTW bij artkel ' || rec.ins_srtdeel_nr || ' is NIET gevonden',
|
||||
'Prijs wordt niet omgerekend'
|
||||
);
|
||||
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)
|
||||
IF fac.safe_to_number(rec.ins_srtdeel_btw) IS NOT NULL
|
||||
THEN l_prijs := rec.ins_srtdeel_prijs * ((100 + fac.safe_to_number(rec.ins_srtdeel_btw))/100);
|
||||
l_prijs := l_prijs / COALESCE(rec.bes_srtdeel_voorraadfactor,1);
|
||||
ELSE fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
'BTW bij artkel ' || rec.ins_srtdeel_nr || ' is NIET gevonden',
|
||||
'Prijs wordt niet omgerekend'
|
||||
);
|
||||
END IF;
|
||||
ELSE
|
||||
NULL;
|
||||
END CASE;
|
||||
IF l_prijs IS NOT NULL
|
||||
THEN
|
||||
l_prijs := ROUND (l_prijs,2);
|
||||
-- Inkoopprijs NULL, magazijn catalogus is dit niet relevant, is uitgangspunt
|
||||
bes.upsert_srtdeel_prijs (rec.bes_srtdeel_key, l_prijs, NULL);
|
||||
END IF;
|
||||
ccount := ccount + 1;
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX
|
||||
THEN
|
||||
v_errormsg := 'Artikelnummer dubbel in inkoopcatalogus';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
v_errormsg
|
||||
|| ' ORACLE (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
END;
|
||||
END LOOP;
|
||||
ELSE
|
||||
fac.imp_writelog (
|
||||
ELSE
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding
|
||||
|| 'Inkoop catalogus is NIET gevonden',
|
||||
''
|
||||
);
|
||||
END IF;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
v_aanduiding
|
||||
|| 'Er zijn '
|
||||
|| TO_CHAR (ccount)
|
||||
|| ' artikelen met waarvan de voorraadgegevens zijn bijgewerkt',
|
||||
''
|
||||
);
|
||||
END;
|
||||
END IF;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
v_aanduiding
|
||||
|| 'Er zijn '
|
||||
|| TO_CHAR (ccount)
|
||||
|| ' artikelen met waarvan de voorraadgegevens zijn bijgewerkt',
|
||||
''
|
||||
);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
@@ -1730,18 +1730,18 @@ AS
|
||||
f.fin_factuur_totaal,
|
||||
f.fin_factuur_totaal_btw,
|
||||
CASE
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(100 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),2)), 10, '0') || '+'
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(100 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),2)), 10, '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
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2)), 10, '0') || LPAD('0',10,'0')
|
||||
ELSE LPAD('0',10,'0') || LPAD(TO_CHAR(100 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),2)), 10, '0')
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2)), 10, '0') || LPAD('0',10,'0')
|
||||
ELSE LPAD('0',10,'0') || LPAD(TO_CHAR(100 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),2)), 10, '0')
|
||||
END fin_factuurregel_totaal_dbs,
|
||||
btw.fin_btwtabelwaarde_perc,
|
||||
btw.fin_btwtabelwaarde_code,
|
||||
@@ -1819,18 +1819,18 @@ AS
|
||||
f.fin_factuur_totaal,
|
||||
f.fin_factuur_totaal_btw,
|
||||
CASE
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(100 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),2)), 10, '0') || '+'
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(100 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),2)), 10, '0') || '+'
|
||||
END fin_factuur_totaal_dbs,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_leverancier_nr,
|
||||
fr.fin_factuurregel_totaal,
|
||||
fr.fin_factuurregel_btw,
|
||||
CASE
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2)), 10, '0') || LPAD('0',10,'0')
|
||||
ELSE LPAD('0',10,'0') || LPAD(TO_CHAR(100 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),2)), 10, '0')
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2)), 10, '0') || LPAD('0',10,'0')
|
||||
ELSE LPAD('0',10,'0') || LPAD(TO_CHAR(100 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),2)), 10, '0')
|
||||
END fin_factuurregel_totaal_dbs,
|
||||
btw.fin_btwtabelwaarde_perc,
|
||||
btw.fin_btwtabelwaarde_code,
|
||||
@@ -1845,7 +1845,7 @@ AS
|
||||
NULL mld_opdr_key,
|
||||
NULL cnt_contract_key,
|
||||
f.fin_factuur_statuses_key
|
||||
FROM bes_bestelopdr bo,
|
||||
FROM bes_bestelopdr bo,
|
||||
prs_bedrijf b,
|
||||
bes_bestelling bes,
|
||||
bes_bestelopdr_item boi,
|
||||
@@ -1922,32 +1922,32 @@ CREATE OR REPLACE VIEW stph_v_export_dbs
|
||||
(result, result_order)
|
||||
AS
|
||||
SELECT SUBSTR(MAX(fin_factuur_boekmaand),1,4) || LPAD(MAX(fin_factuur_key), 5, '0') ||
|
||||
LPAD(MAX(fin_factuur_nr), 16, '0') ||
|
||||
TO_CHAR (MAX(fin_factuur_datum), 'ddmmyyyy') ||
|
||||
SUBSTR(MAX(fin_factuur_boekmaand),1,4) || LPAD(SUBSTR(MAX(fin_factuur_boekmaand),6,2) , 2, '0') ||
|
||||
LPAD(COALESCE(MAX(prs_leverancier_nr),'0'), 4, '0') ||
|
||||
LPAD('0',5,'0') ||
|
||||
LPAD(' ',30,' ') ||
|
||||
LPAD('0',5,'0') ||
|
||||
LPAD('0',4,'0') ||
|
||||
MAX(fin_factuur_totaal_dbs) ||
|
||||
LPAD('0',10,'0') ||
|
||||
LPAD('0',10,'0')
|
||||
LPAD(MAX(fin_factuur_nr), 16, '0') ||
|
||||
TO_CHAR (MAX(fin_factuur_datum), 'ddmmyyyy') ||
|
||||
SUBSTR(MAX(fin_factuur_boekmaand),1,4) || LPAD(SUBSTR(MAX(fin_factuur_boekmaand),6,2) , 2, '0') ||
|
||||
LPAD(COALESCE(MAX(prs_leverancier_nr),'0'), 4, '0') ||
|
||||
LPAD('0',5,'0') ||
|
||||
LPAD(' ',30,' ') ||
|
||||
LPAD('0',5,'0') ||
|
||||
LPAD('0',4,'0') ||
|
||||
MAX(fin_factuur_totaal_dbs) ||
|
||||
LPAD('0',10,'0') ||
|
||||
LPAD('0',10,'0')
|
||||
, SUBSTR(MAX(fin_factuur_boekmaand),1,4) || LPAD(MAX(fin_factuur_key), 5, '0') || LPAD('0',5,'0')
|
||||
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') ||
|
||||
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(fin_factuurregel_nr,5,'0') ||
|
||||
LPAD(COALESCE(fin_factuurregel_omschrijving, ' '),30,' ') ||
|
||||
LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
LPAD('0',10,'0') || '0' ||
|
||||
fin_factuurregel_totaal_dbs
|
||||
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(fin_factuurregel_nr,5,'0') ||
|
||||
LPAD(COALESCE(fin_factuurregel_omschrijving, ' '),30,' ') ||
|
||||
LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
LPAD(prs_kostenplaats_nr,4,'0') ||
|
||||
LPAD('0',10,'0') || '0' ||
|
||||
fin_factuurregel_totaal_dbs
|
||||
, SUBSTR(fin_factuur_boekmaand,1,4) || LPAD(fin_factuur_key, 5, '0') || LPAD(fin_factuurregel_nr,5,'0')
|
||||
FROM stph_v_factuur_geg_akkoord fg;
|
||||
|
||||
@@ -2191,44 +2191,44 @@ AS
|
||||
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') ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0') ||
|
||||
'0000000000'
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '1'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'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'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
UNION ALL
|
||||
SELECT '83211' ||
|
||||
'2020' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '2'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key NOT IN (581, 582)
|
||||
SELECT '83211' ||
|
||||
'2020' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '2'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key NOT IN (581, 582)
|
||||
UNION ALL
|
||||
SELECT '41900' ||
|
||||
'2061' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '2'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key = 581
|
||||
SELECT '41900' ||
|
||||
'2061' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '2'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key = 581
|
||||
UNION ALL
|
||||
SELECT '41900' ||
|
||||
'2005' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '2'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key = 582;
|
||||
SELECT '41900' ||
|
||||
'2005' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(ROUND(100 * totaalprijs,2)), 10, '0')
|
||||
, LPAD(res_reservering_key, 10, '0') || LPAD(res_rsv_ruimte_volgnr,5,'0') || '2'
|
||||
FROM stph_v_res_catering_2_dbs
|
||||
WHERE res_status_fo_key = 2
|
||||
AND totaalprijs <> 0
|
||||
AND ins_discipline_key = 582;
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
@@ -2239,13 +2239,13 @@ UNION ALL
|
||||
CREATE OR REPLACE VIEW stph_v_bes_intern_2_dbs
|
||||
( prs_bedrijf_key,
|
||||
bes_bestelopdr_key,
|
||||
bes_bestelopdr_item_posnr,
|
||||
prs_kostensoort_oms,
|
||||
prs_kostensoort_tegenboeking,
|
||||
bes_bestelopdr_item_posnr,
|
||||
prs_kostensoort_oms,
|
||||
prs_kostensoort_tegenboeking,
|
||||
prs_kostenplaats_nr,
|
||||
bes_bestelopdr_item_aantalontv,
|
||||
bes_bestelopdr_item_brutoprijs,
|
||||
bes_srtdeel_btw
|
||||
bes_bestelopdr_item_brutoprijs,
|
||||
bes_srtdeel_btw
|
||||
)
|
||||
AS
|
||||
SELECT b.prs_bedrijf_key,
|
||||
@@ -2298,19 +2298,19 @@ AS
|
||||
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') ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0') ||
|
||||
'0000000000'
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'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'
|
||||
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') ||
|
||||
'0000' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0')
|
||||
SELECT LPAD(prs_kostensoort_tegenboeking,5,'0') ||
|
||||
'0000' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0')
|
||||
, LPAD(bes_bestelopdr_key, 10, '0') || LPAD(bes_bestelopdr_item_posnr,5,'0') || '2'
|
||||
FROM stph_v_bes_intern_2_dbs
|
||||
WHERE bes_bestelopdr_item_brutoprijs <> 0
|
||||
@@ -2333,19 +2333,19 @@ AND prs_bedrijf_key = 422;
|
||||
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') ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0') ||
|
||||
'0000000000'
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'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'
|
||||
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') ||
|
||||
'2010' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0')
|
||||
SELECT LPAD(prs_kostensoort_oms,5,'0') ||
|
||||
'2010' ||
|
||||
'0000000000' ||
|
||||
LPAD(TO_CHAR(100 * ROUND(COALESCE(bes_bestelopdr_item_aantalontv,0) * bes_bestelopdr_item_brutoprijs,2)), 10, '0')
|
||||
, LPAD(bes_bestelopdr_key, 10, '0') || LPAD(bes_bestelopdr_item_posnr,5,'0') || '2'
|
||||
FROM stph_v_bes_intern_2_dbs
|
||||
WHERE bes_bestelopdr_item_brutoprijs <> 0
|
||||
@@ -2359,13 +2359,13 @@ AND prs_bedrijf_key = 1401;
|
||||
CREATE OR REPLACE VIEW stph_v_bes_extern_2_dbs
|
||||
( prs_bedrijf_key,
|
||||
bes_bestelopdr_key,
|
||||
bes_bestelopdr_item_posnr,
|
||||
prs_kostensoort_oms,
|
||||
prs_kostensoort_tegenboeking,
|
||||
bes_bestelopdr_item_posnr,
|
||||
prs_kostensoort_oms,
|
||||
prs_kostensoort_tegenboeking,
|
||||
prs_kostenplaats_nr,
|
||||
bes_bestelopdr_item_aantalontv,
|
||||
bes_bestelopdr_item_brutoprijs,
|
||||
bes_srtdeel_btw
|
||||
bes_bestelopdr_item_brutoprijs,
|
||||
bes_srtdeel_btw
|
||||
)
|
||||
AS
|
||||
SELECT b.prs_bedrijf_key,
|
||||
@@ -2410,18 +2410,18 @@ 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') ||
|
||||
'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'
|
||||
SELECT LPAD(prs_kostensoort_tegenboeking,5,'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'
|
||||
, LPAD(bes_bestelopdr_key, 10, '0') || LPAD(bes_bestelopdr_item_posnr,5,'0') || '1'
|
||||
FROM stph_v_bes_extern_2_dbs
|
||||
WHERE bes_bestelopdr_item_brutoprijs <> 0
|
||||
UNION ALL
|
||||
SELECT '32010' ||
|
||||
'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')
|
||||
SELECT '32010' ||
|
||||
'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')
|
||||
, LPAD(bes_bestelopdr_key, 10, '0') || LPAD(bes_bestelopdr_item_posnr,5,'0') || '2'
|
||||
FROM stph_v_bes_extern_2_dbs
|
||||
WHERE bes_bestelopdr_item_brutoprijs <> 0;
|
||||
@@ -2720,7 +2720,7 @@ AS
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
------ INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM ------
|
||||
------ INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM ------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -2764,7 +2764,7 @@ END;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE stph_postupdate_invoicesharing (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_prs_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
v_prs_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
v_fin_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
|
||||
CURSOR cfactuurregel_kostensoort
|
||||
@@ -2801,6 +2801,11 @@ BEGIN
|
||||
SET prs_kostensoort_key = v_prs_kostensoort_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.
|
||||
UPDATE fin_factuur
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user