Files
Customer/onces/KFSG/KFSG#61123_ORDAFR.sql
Maarten van der Heide 4d9aae2b4d KFSG#61123 Toevoegen ORDAFR-tracking bij via API2 afgeronde Wiltec-opdrachten
svn path=/Customer/; revision=52848
2021-08-31 20:58:27 +00:00

100 lines
3.5 KiB
SQL

--
-- $Id$
--
-- ORDAFR-tracking toevoegen op 30-06-2021 voor via API2 afgemelde Wiltec-
-- opdrachten zonder tracking (want die tracking is cruciaal voor de werking
-- van de hele reverse billing functionaliteit).
DEFINE thisfile = 'KFSG#61123_ORDAFR.sql'
DEFINE dbuser = '^KFSG'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
SET SERVEROUTPUT ON size 1000000;
DECLARE
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
BEGIN
v_count := 0;
-- Cursor loopt over via API2 afgeronde Wiltec-opdrachten; hiervoor wordt
-- ORDAFR-tracking toegevoegd!
FOR rc
IN ( SELECT o.mld_opdr_key
FROM mld_opdr o
WHERE o.mld_statusopdr_key = 9
AND o.mld_uitvoerende_keys = 31041 -- Wiltec
AND o.cnt_contract_key IS NULL -- Niet gekoppeld aan een contract!
AND EXISTS
(SELECT 1
FROM mld_melding
WHERE mld_melding_key = o.mld_melding_key
AND mld_stdmelding_key = 1781) -- Bedrijfskleding bestellen
AND NOT EXISTS -- Nog geen ORDAFR-tracking!
(SELECT 1
FROM fac_tracking
WHERE fac_tracking_refkey = o.mld_opdr_key
AND fac_srtnotificatie_key = 76) -- ORDAFR
AND NOT EXISTS -- Niet gemarkeerd als dispuut!
(SELECT 1
FROM mld_v_aanwezigkenmerkopdr 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 = 141 -- Dispuut
AND ko.mld_kenmerkopdr_waarde = '1') -- Aangevinkt
ORDER BY o.mld_opdr_key)
LOOP
BEGIN
fac.trackaction ('ORDAFR', rc.mld_opdr_key, NULL, NULL, NULL);
-- Afronding antedateren naar 31-08-2021.
--UPDATE fac_tracking
-- SET fac_tracking_datum = TRUNC (SYSDATE, 'mm') - 1,
-- fac_tracking_oms = 'Via script naar Afgerond op 31-08-2021'
-- WHERE TRUNC (fac_tracking_datum) = TRUNC (SYSDATE)
-- AND fac_srtnotificatie_key = 76 -- ORDAFR
-- AND fac_tracking_refkey = rc.mld_opdr_key;
v_count := v_count + 1;
COMMIT;
EXCEPTION
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 || ')';
DBMS_OUTPUT.PUT_LINE ('W: ' || v_errormsg);
COMMIT;
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE ('S: ORDAFR-tracking toegevoegd bij ' || TO_CHAR (v_count) || ' Wiltec-opdrachten');
COMMIT;
END;
/
COMMIT;
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile