AAIT#73079 -- Oplevering verkoopinterfaces MENZIS + INLO - Mercedes en Bastion Zuid

svn path=/Customer/trunk/; revision=68854
This commit is contained in:
Jos Migo
2025-04-25 07:56:12 +00:00
parent cff9c00b81
commit 11d1affbd8

View File

@@ -2528,10 +2528,10 @@ BEGIN
END LOOP;
END IF;
-- Verkoopinterface - START
-- Verkoopinterface - START VULLEN FIN_VERKOOPFACTUUR
v_logdate := SYSDATE;
-- voeg SA en ST en PR-opdrachten toe aan de fin_verkoopfacturen (vh. verkoopbuffer)
-- voeg opdrachten en PR-opdrachten toe aan de fin_verkoopfacturen (vh. verkoopbuffer)
INSERT INTO fin_verkoopfactuur
(
-- module, export_datum, prs_kostenplaats_nr, debiteur, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_kostensoortgrp_oms, omschrijving, bedrag, btw, fin_btwtabelwaarde_code, opdr_jaar, exact_code_gebouw, groepering, subregelvolgorde
@@ -2560,6 +2560,7 @@ BEGIN
'ESSENT', '99999999',
'INLO', DECODE (aaxx_get_user_sub('INLO', exact_k.klantcode),
'COVESTRO', '99999999',
'BASTION ZUID B.V.', '99999999',
'IKEA', DECODE (kpg.prs_kostenplaatsgrp_oms, 'IKEA - BEHEER' , aaxx_get_top_kpn_nr (k.prs_kostenplaats_key), aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code)),
-- = de INLO-standaard voor kostenplaats
k.prs_kostenplaats_nr
@@ -2606,7 +2607,8 @@ BEGIN
AND a.prs_afdeling_verwijder IS NULL
AND a.prs_afdeling_naam = aaxx_get_top_dep_code(k.prs_kostenplaats_nr)),
'SMKA', COALESCE(aaxx_get_top_afdeling_kpkenm(k.prs_kostenplaats_key), TO_CHAR(k.prs_kostenplaats_nr)),
'THHD', aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code),
'THHD', aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code),
'MENZIS', aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code),
k.prs_kostenplaats_nr)
, 1, 60)
prs_debiteur_naam, -- kolom AT (46) en in debiteurnummer kolom C (3)
@@ -2635,7 +2637,10 @@ BEGIN
ks.prs_kostensoort_upper, -- kostensoort_code
TRUNC(opdr_datum))
|| ' - ' || std_kp.prs_kostenplaats_externnr,
'ALLIANDER', COALESCE (po.ordernummer_klant, 'Servicekosten Core Variabel'), -- Afwijkende structuur: Indien ordernummer_klant gevuld op opdracht dan aparte verkoopfactuur
'ALLIANDER', COALESCE (po.ordernummer_klant, 'Servicekosten Core Variabel'), -- Afwijkende structuur: Indien ordernummer_klant gevuld op opdracht dan aparte verkoopfactuur
'BASTION ZUID B.V.', DECODE(ksg.prs_kostensoortgrp_altcode, 'CVE', 'Eigenaarslast',
'CV', 'Servicekosten',
''),
-- = de INLO-standaard voor kostensoortgr_omschr - kopregel kolom D
'Servicekosten Core Variabel'
),
@@ -2654,6 +2659,7 @@ BEGIN
'THHD', DECODE(ksg.prs_kostensoortgrp_altcode, 'CVE', SUBSTR(l.alg_locatie_code,1,4) || ' PO zie bijlage',
'CV', SUBSTR(l.alg_locatie_code,1,4) || ' ' || aaxx_get_po_nr(NULL, NULL, NULL, l.alg_locatie_code, NULL, NULL, NULL, TRUNC(opdr_datum)),
NULL),
'MENZIS', aaxx_get_po_nr(NULL, aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code), NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
ksg.prs_kostensoortgrp_oms)
, 1, 60)
END prs_kostensoortgrp_oms, -- kopregel - kolom D (4)
@@ -2666,6 +2672,7 @@ BEGIN
'SABIC', ks.prs_kostensoort_altcode || ' ' || fg.fin_btwtabelwaarde_code,
'ESSENT', ks.prs_kostensoort_altcode,
'THHD', COALESCE(ks.prs_kostensoort_altcode, ks.prs_kostensoort_opmerking) || ' ' || fg.fin_btwtabelwaarde_perc,
'MENZIS', COALESCE(ks.prs_kostensoort_altcode, ks.prs_kostensoort_opmerking) || ' ' || fg.fin_btwtabelwaarde_perc,
'INLO', DECODE (aaxx_get_user_sub('INLO', exact_k.klantcode),
'COVESTRO', 'Variabele dienstverlening' || ' ' || fg.fin_btwtabelwaarde_perc,
'IKEA', std.mld_stdmelding_omschrijving || ' ' || fg.fin_btwtabelwaarde_perc,
@@ -2781,6 +2788,7 @@ BEGIN
),
'ESSENT', aaxx_get_po_nr(NULL, NULL, NULL, g.alg_gebouw_code, NULL, NULL, NULL, TRUNC(opdr_datum)),
'THHD', aaxx_get_po_nr(NULL, NULL, NULL, l.alg_locatie_code, NULL, NULL, NULL, TRUNC(opdr_datum)),
'MENZIS', aaxx_get_po_nr(NULL, aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code), NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
-- De standaard: Kostengroepsrt-alternatieve code + periode
NULL
)
@@ -2929,9 +2937,9 @@ BEGIN
OR ( aaxx_get_user = 'INLO'
AND ( (
-- de subaccounts die de CV-verkoopinterface aan hebben staan, zijn:
---- MENZIS(481), IKEA-BEHEER(461), KADASTER(441), LANDMARK HUURDERS(301), IKEA(281), IKEA-INTERN(181), COVESTRO(261), LANDMARK(241), TRINSEO(121), ALLIANDER(81), VGZ(41), HENKEL(23), VEH(21)
---- BASTION ZUID(541), MENZIS(481), IKEA-BEHEER(461), KADASTER(441), LANDMARK HUURDERS(301), IKEA(281), IKEA-INTERN(181), COVESTRO(261), LANDMARK(241), TRINSEO(121), ALLIANDER(81), VGZ(41), HENKEL(23), VEH(21)
---- COVESTRO DERDEN (341) - WEL/NIET PEGGY?
kpg.prs_kostenplaatsgrp_key IN (481, 461, 441, 301, 281, 181, 261, 241, 121, 81, 41, 23, 21, 341) -- hier de keys van de bijbehorende kostenplaatsgroep vullen
kpg.prs_kostenplaatsgrp_key IN (541, 481, 461, 441, 301, 281, 181, 261, 241, 121, 81, 41, 23, 21, 341) -- hier de keys van de bijbehorende kostenplaatsgroep vullen
AND (ks.prs_kostensoort_upper LIKE 'CV %' OR ks.prs_kostensoort_upper LIKE 'CVE %')
)
OR
@@ -2995,6 +3003,9 @@ BEGIN
AND ( ks.prs_kostensoort_upper LIKE 'CV %'
OR ks.prs_kostensoort_upper LIKE 'CVE %')
)
OR ( aaxx_get_user = 'MENZIS'
AND ks.prs_kostensoort_upper LIKE 'CV %'
)
);
-- Voeg contracten toe aan de verkoopinterface
@@ -3027,8 +3038,10 @@ BEGIN
'INLO', DECODE (aaxx_get_user_sub('INLO', exact_k.klantcode),
'COVESTRO', '99999999',
'IKEA', DECODE (kpg.prs_kostenplaatsgrp_oms, 'IKEA - BEHEER' , aaxx_get_top_kpn_nr (k.prs_kostenplaats_key), aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code)),
-- = de INLO-standaard voor kostenplaats
'BASTION ZUID B.V.', '99999999',
'MERCEDES', '99999999',
'IKEA', DECODE (kpg.prs_kostenplaatsgrp_oms, 'IKEA - BEHEER' , aaxx_get_top_kpn_nr (k.prs_kostenplaats_key), aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code)),
-- = de INLO-standaard voor kostenplaats
k.prs_kostenplaats_nr
),
'SMKA', k.prs_kostenplaats_nr, -- Wordt niet gebruikt.
@@ -3076,6 +3089,7 @@ BEGIN
'SMKA', COALESCE(aaxx_get_top_afdeling_kpkenm(k.prs_kostenplaats_key), TO_CHAR(k.prs_kostenplaats_nr)),
'IT', k.prs_kostenplaats_nr,
'THHD', aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code),
'MENZIS', aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code),
k.prs_kostenplaats_nr)
, 1, 60)
prs_debiteur_naam, -- kolom AT (46) en in debiteurnummer kolom C (3)
@@ -3098,7 +3112,11 @@ BEGIN
NULL,
ks.prs_kostensoort_upper, -- kostensoort_code
TRUNC(opdr_datum))
|| ' - ' || k.prs_kostenplaats_externnr,
|| ' - ' || k.prs_kostenplaats_externnr,
'BASTION ZUID B.V.', DECODE(ksg.prs_kostensoortgrp_altcode, 'CVE', 'Eigenaarslast',
'CV', 'Servicekosten',
''),
'MERCEDES', aaxx_get_po_nr('MERCEDES', NULL, NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
-- = de INLO-standaard voor kostensoortgr_omschr - kopregel kolom D
'Servicekosten Core Variabel'),
'ESSENT', aaxx_get_po_nr(NULL, NULL, NULL, g.alg_gebouw_code, NULL, NULL, NULL, TRUNC(opdr_datum)) || ' ' || SUBSTR(l.alg_locatie_code,1,4),
@@ -3115,16 +3133,19 @@ BEGIN
DECODE (SUBSTR(ks.prs_kostensoort_upper,1,5) , 'L CV ', ' ' || l.alg_locatie_code)),
'THHD', DECODE(ksg.prs_kostensoortgrp_altcode, 'CVE', SUBSTR(l.alg_locatie_code,1,4) || ' PO zie bijlage',
'CV', SUBSTR(l.alg_locatie_code,1,4) || ' ' || aaxx_get_po_nr(NULL, NULL, NULL, l.alg_locatie_code, NULL, NULL, NULL, TRUNC(opdr_datum)),
NULL),
NULL),
'MENZIS', aaxx_get_po_nr(NULL, aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code), NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
ksg.prs_kostensoortgrp_oms)
, 1, 60)
prs_kostensoortgrp_oms, -- kopregel - kolom D (4)
DECODE(aaxx_get_user, 'SABIC', ks.prs_kostensoort_altcode || ' ' || fg.fin_btwtabelwaarde_code,
'ESSENT', ks.prs_kostensoort_altcode,
'THHD', COALESCE(ks.prs_kostensoort_altcode, ks.prs_kostensoort_opmerking) || ' ' || fg.fin_btwtabelwaarde_perc,
'MENZIS', COALESCE(ks.prs_kostensoort_altcode, ks.prs_kostensoort_opmerking) || ' ' || fg.fin_btwtabelwaarde_perc,
'INLO', DECODE (aaxx_get_user_sub('INLO', exact_k.klantcode),
'COVESTRO', 'Variabele dienstverlening' || ' ' || fg.fin_btwtabelwaarde_perc,
'IKEA' , c.cnt_contract_omschrijving || ' ' || fg.fin_btwtabelwaarde_perc,
'MERCEDES', 'Vervangingsuren Receptie',
-- = de INLO-standaard voor omschrijving sub-regel
-- 'C' || cnt_contract_nummer_intern || DECODE (cnt_contract_versie, NULL, '', '.' || cnt_contract_versie)
-- MAAR MOET WORDEN: De afwijkend dienst of standaard-sen-heyday) aangevuld met btw-percentage
@@ -3220,6 +3241,7 @@ BEGIN
NULL,
NULL,
TRUNC(opdr_datum)),
'MERCEDES', aaxx_get_po_nr('MERCEDES', NULL, NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
-- 'HENKEL', aaxx_get_po_nr('HENKEL', NULL, NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
-- 'ALLIANDER', aaxx_get_po_nr('ALLIANDER', NULL, NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
-- = de INLO-standaard voor PO-nr (indien geen resultaat in tabel dan krijg je NULL terug)
@@ -3227,6 +3249,7 @@ BEGIN
),
'ESSENT', aaxx_get_po_nr(NULL, NULL, NULL, g.alg_gebouw_code, NULL, NULL, NULL, TRUNC(opdr_datum)),
'THHD', aaxx_get_po_nr(NULL, NULL, NULL, l.alg_locatie_code, NULL, NULL, NULL, TRUNC(opdr_datum)),
'MENZIS', aaxx_get_po_nr(NULL, aaxx_get_debiteur_gebouw(l.alg_locatie_code, g.alg_gebouw_code), NULL, NULL, NULL, NULL, NULL, TRUNC(opdr_datum)),
-- De standaard: Kostengroepsrt-alternatieve code + periode
NULL
) fin_verkoopfactuur_c6, -- po-nummer klant uit PO-tabel HEYDAY
@@ -3344,10 +3367,17 @@ BEGIN
( aaxx_get_user = 'INLO'
AND (
-- de subaccounts die de CV-verkoopinterface aan hebben staan, zijn:
---- MENZIS(481), IKEA-BEHEER(461), KADASTER(441), LANDMARK HUURDERS(301), IKEA(281), IKEA-INTERN(181), COVESTRO(261), LANDMARK(241), TRINSEO(121), ALLIANDER(81), VGZ(41), HENKEL(23), VEH(21)
---- MERCEDES(61), BASTION ZUID(541), MENZIS(481), IKEA-BEHEER(461), KADASTER(441), LANDMARK HUURDERS(301), IKEA(281), IKEA-INTERN(181), COVESTRO(261), LANDMARK(241), TRINSEO(121), ALLIANDER(81), VGZ(41), HENKEL(23), VEH(21)
---- COVESTRO DERDEN (341) - WEL/NIET PEGGY?
kpg.prs_kostenplaatsgrp_key IN (481, 461, 441, 301, 281, 181, 261, 241, 121, 81, 41, 23, 21, 341) -- hier de keys van de bijbehorende kostenplaatsgroep vullen
(
kpg.prs_kostenplaatsgrp_key IN (541, 481, 461, 441, 301, 281, 181, 261, 241, 121, 81, 41, 23, 21, 341) -- hier de keys van de bijbehorende kostenplaatsgroep vullen
AND (ks.prs_kostensoort_upper LIKE 'CV %' OR ks.prs_kostensoort_upper LIKE 'CVE %')
) -- alleen CV - geen CVE
OR
(
kpg.prs_kostenplaatsgrp_key IN (61) -- hier de keys van de bijbehorende kostenplaatsgroep vullen
AND ks.prs_kostensoort_upper LIKE 'CV %'
)
)
AND NOT EXISTS ( SELECT 1 FROM DUAL WHERE aaxx_get_user_sub('INLO', exact_k.klantcode) IN ('COVESTRO') AND l.alg_locatie_code = 'GLN' AND INSTR(UPPER(g.alg_gebouw_naam), 'CHEMELOT CAMPUS')>0) -- uitsluiten COVESTRO-Campus Chemelot GELEEN
)
@@ -3410,7 +3440,10 @@ BEGIN
OR ( aaxx_get_user = 'THHD'
AND ( ks.prs_kostensoort_upper LIKE 'CV %'
OR ks.prs_kostensoort_upper LIKE 'CVE %')
)
)
OR ( aaxx_get_user = 'MENZIS'
AND ks.prs_kostensoort_upper LIKE 'CV %'
)
);
-- voeg bestelorders toe aan de verkoopbuffer
@@ -4097,8 +4130,8 @@ END;
-- 02 Factuurcode Vaste waarde 3
-- 03 Debiteurnummer Kostenplaatsnummer - Inclusief aanvulling heyday_referentie (voorwaarde voor EXACT is dat deze aanvulling geen cijfers mag bevatten) (c5)
-- 04 Referentie Kostensoortgroep en/of PO-nummer
-- 05 Referentie 1 Leeg (ordernummer klant voor DBS)
-- 06 Referentie 2 Leeg
-- 05 Referentie 1 Leeg (THHD - Locatiecode)
-- 06 Referentie 2 Leeg (THHD - maand export-run)
-- 07 Referentie 3 Leeg
-- 08 Ordernummer Leeg
-- 09 Orderdatum Datum van de export.
@@ -4150,15 +4183,24 @@ CREATE OR REPLACE VIEW aaxx_v_export_exact_verkoop_t (
result_order
)
AS
SELECT '0' || ',' || DECODE(aaxx_get_user, 'RABO', '2', '3') || ',' || prs_debiteur_naam || DECODE(fin_verkoopfactuur_c8, 'PROJECT', '',
'RES', ' t/m ' || to_char(SYSDATE, 'MON'),
'CORE', ' ' || fin_verkoopfactuur_c5)
SELECT '0'
|| ','
|| DECODE(aaxx_get_user, 'RABO', '2',
'THHD', '00',
'3')
|| ','
|| prs_debiteur_naam
|| DECODE(fin_verkoopfactuur_c8, 'PROJECT', '',
'RES', ' t/m ' || to_char(SYSDATE, 'MON'),
'CORE', ' ' || fin_verkoopfactuur_c5)
|| ','
|| replace(prs_kostensoortgrp_oms, ',', '')
|| ','
|| ''
|| DECODE(aaxx_get_user, 'THHD', TRIM(SUBSTR(prs_kostensoortgrp_oms,1,4)),
'')
|| ','
|| ''
|| DECODE(aaxx_get_user, 'THHD', TO_CHAR (SYSDATE, 'MON'),
'')
|| ','
|| ''
|| ','
@@ -4251,7 +4293,7 @@ AS
result_order
FROM fin_verkoopfactuur
WHERE fin_verkoopfactuur_datum IS NULL AND COALESCE(fin_verkoopfactuur_c8, 'CORE') IN ('CORE', 'RES', 'PROJECT')
GROUP BY fin_verkoopfactuur_maand, prs_debiteur_naam, fin_verkoopfactuur_c2, fin_verkoopfactuur_c6, replace(prs_kostensoortgrp_oms, ',', ''), DECODE(aaxx_get_user, 'NMM', '', 'DSM', '', 'RABO', '', 'EXPO', '', 'INLO', '', 'SMKA', '', prs_kostenplaats_nr), fin_verkoopfactuur_c8, fin_verkoopfactuur_c5, fin_verkoopfactuur_n5
GROUP BY fin_verkoopfactuur_maand, prs_debiteur_naam, fin_verkoopfactuur_c2, fin_verkoopfactuur_c6, replace(prs_kostensoortgrp_oms, ',', ''), TRIM(SUBSTR(prs_kostensoortgrp_oms,1,4)), DECODE(aaxx_get_user, 'NMM', '', 'DSM', '', 'RABO', '', 'EXPO', '', 'INLO', '', 'SMKA', '', prs_kostenplaats_nr), fin_verkoopfactuur_c8, fin_verkoopfactuur_c5, fin_verkoopfactuur_n5
UNION ALL
-- Uitleg subregel:
-- 01 Regelnummer Vaste waarde 1
@@ -4304,7 +4346,9 @@ AS
-- 48 - Leeg
SELECT '1'
|| ','
|| DECODE(aaxx_get_user, 'RABO', '2', '3')
|| DECODE(aaxx_get_user, 'RABO', '2',
'THHD', '00',
'3')
|| ','
|| ''
|| ','
@@ -4762,7 +4806,9 @@ CREATE OR REPLACE VIEW aaxx_v_fin_verkooprun_detail_0
prs_kostenplaats_omschrijving,
prs_perslid_naam_full, -- requestor
relatie_type,
btw_percentage
btw_percentage,
ordernummer_klant_opdr,
ordernummer_klant_opdr_thales
)
AS
SELECT vf.fin_verkoopfactuurkop_key,
@@ -4905,7 +4951,36 @@ AS
'onbekend')
relatie_type,
aaxx_get_verkoop_btw_perc(vf.fin_btwtabelwaarde_code)
btw_percentage
btw_percentage,
TO_CHAR (
(SELECT DISTINCT COALESCE (mld_kenmerkopdr_waarde, '')
FROM mld_kenmerkopdr ko,
mld_kenmerk k,
mld_srtkenmerk sk
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND ko.mld_kenmerkopdr_verwijder IS NULL
AND k.mld_kenmerk_verwijder IS NULL
AND sk.mld_srtkenmerk_omschrijving =
'Ordernummer klant'))
ordernummer_klant_opdr,
CASE WHEN aaxx_get_user = 'THHD' THEN
TO_CHAR (
(SELECT DISTINCT COALESCE (mld_kenmerkopdr_waarde, '')
FROM mld_kenmerkopdr ko,
mld_kenmerk k,
mld_srtkenmerk sk
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND ko.mld_kenmerkopdr_verwijder IS NULL
AND k.mld_kenmerk_verwijder IS NULL
AND sk.mld_srtkenmerk_omschrijving =
'PO nummer Thales'))
ELSE ''
END
ordernummer_klant_opdr_thales
FROM fin_verkoopfactuur vf,
( SELECT fin_factuur_key,
opdracht_id,
@@ -5050,14 +5125,15 @@ CREATE OR REPLACE VIEW aaxx_v_fin_verkooprun_detail_1
kolom_18, -- reguestor (aanvrager full_naam)
kolom_19, -- relatie_type
kolom_20, -- btw_code
kolom_21 -- bedrag (incl. btw)
kolom_21, -- bedrag (incl. btw)
kolom_22 -- ordernummer klant (bij opdrachten)
)
AS
SELECT *
FROM ( -- HOOFD-GEGEVENS (kopregel verkoopfactuur)
SELECT verkooprun,
soort,
subaccount,
DECODE(aaxx_get_user, 'INLO', subaccount, NULL),
verkooprun_datum,
vk_hoofdgroep,
'1',
@@ -5082,11 +5158,12 @@ AS
NULL kolom_18,
NULL kolom_19,
NULL kolom_20,
NULL kolom_21
NULL kolom_21,
NULL kolom_22
FROM aaxx_v_fin_verkooprun_detail_0
GROUP BY verkooprun,
soort,
subaccount,
DECODE(aaxx_get_user, 'INLO', subaccount, NULL),
verkooprun_datum,
vk_hoofdgroep,
prs_debiteur_naam,
@@ -5129,7 +5206,8 @@ AS
(fin_verkoopfactuur_bedrag * (100 + btw_percentage))
/ 100,
2)
bedrag_incl_btw
bedrag_incl_btw,
COALESCE(ordernummer_klant_opdr, ordernummer_klant_opdr_thales, NULL)
FROM aaxx_v_fin_verkooprun_detail_0) v
ORDER BY 1, 4, 5;