Files
Customer/CONN/Once/CONN52.sql
2012-09-23 15:37:06 +00:00

121 lines
4.7 KiB
SQL

-- Customer specific once-script CONN52.
--
-- (c) 2012 SG|facilitor bv
-- $Revision$
-- $Id$
--
-- Support: +31 53 4800700
SET ECHO ON
SPOOL xconn52.lst
SET DEFINE OFF
-- CONN#22820: Type-wijziging van Numeriek naar Karakter voor de kenmerksoorten
-- Hoogte/1461, Belasting/1462, Bereik/1463 + Voltage/1464 (zover dat
-- niet al het geval was).
UPDATE ins_srtkenmerk sk
SET sk.ins_srtkenmerk_kenmerktype = 'C'
WHERE sk.ins_srtkenmerk_key IN (1461, 1462, 1463, 1464)
AND sk.ins_srtkenmerk_kenmerktype = 'N';
-- CONN#22808:
-- Aanmaken hidden kenmerk per opdrachttype tbv. Basware-koppeling (bij periodiek
-- afmelden op 1 gezet om te voorkomen dat dezelfde (afgemelde) opdracht nogmaals
-- wordt aangeleverd). In overleg besloten toch ALLEEN opdrachttype='Uitvoering'!
/* Formatted on 27-4-2012 15:20:25 (QP5 v5.115.810.9015) */
DECLARE
c_ordafm2basw_srtkey NUMBER (10) := 1111; -- Unused key in mld_srtkenmerk
BEGIN
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key,
mld_srtkenmerk_omschrijving,
mld_srtkenmerk_kenmerktype,
mld_srtkenmerk_lengte)
VALUES (c_ordafm2basw_srtkey,
'ORDAFM2BASW [tbv. Basware-koppeling]',
'N',
1);
--FOR rc IN ( SELECT opdrtype.*
-- FROM mld_typeopdr opdrtype
-- ORDER BY 1)
--LOOP
-- INSERT INTO mld_kenmerk (mld_srtkenmerk_key,
-- mld_kenmerk_niveau,
-- mld_kenmerk_volgnummer,
-- mld_typeopdr_key,
-- mld_kenmerk_hint)
-- VALUES (c_ordafm2basw_srtkey,
-- 'O',
-- -1,
-- rc.mld_typeopdr_key,
-- 'NIET WEG: Hidden kenmerk tbv. Basware-koppeling!');
-- COMMIT;
--END LOOP;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key,
mld_kenmerk_niveau,
mld_kenmerk_volgnummer,
mld_typeopdr_key,
mld_kenmerk_hint)
VALUES (c_ordafm2basw_srtkey,
'O',
-1,
5, -- ALLEEN opdrachttype='Uitvoering'!
'NIET WEG: Hidden kenmerk tbv. Basware-koppeling!');
COMMIT;
END;
/
-- Vervolgens alle afgemelde Uitvoering-opdrachten tot NU eenmalig markeren, zodat
-- alleen Uitvoering-opdrachten per CONN52-upgrade worden aangeleverd aan Basware.
BEGIN
FOR rc
IN ( SELECT opdr.mld_opdr_key,
opdr.mld_kenmerk_key,
opdr.mld_key || '/' || opdr.volgnr opdrachtnr,
TO_CHAR (ordafdm.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss')
afmelddatum
FROM (SELECT o.mld_opdr_key,
k.mld_kenmerk_key,
o.mld_melding_key mld_key,
o.mld_opdr_bedrijfopdr_volgnr volgnr
FROM mld_opdr o, mld_kenmerk k
WHERE o.mld_statusopdr_key = 6 -- Afgemeld
AND o.mld_typeopdr_key = 5 -- Uitvoering
AND o.mld_typeopdr_key = k.mld_typeopdr_key
AND k.mld_srtkenmerk_key = 1111
AND NOT EXISTS
(SELECT 1
FROM mld_kenmerkopdr ko,
mld_kenmerk k
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key =
k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1111))
opdr
LEFT JOIN
fac_tracking ordafdm
ON opdr.mld_opdr_key = ordafdm.fac_tracking_refkey
AND ordafdm.fac_srtnotificatie_key = 26 -- ORDAFM
ORDER BY 1, 2)
LOOP
INSERT INTO mld_kenmerkopdr (
mld_opdr_key,
mld_kenmerk_key,
mld_kenmerkopdr_waarde
)
VALUES (rc.mld_opdr_key, rc.mld_kenmerk_key, '1');
COMMIT;
END LOOP;
END;
/
BEGIN adm.systrackscript('$Workfile: CONN52.sql $', '$Revision$', 1); END;
/
SPOOL OFF
@conn.sql