KFSG#61123 Toevoegen ORDAFR-tracking bij vis API2 afgeronde Wiltec-opdrachten

svn path=/Customer/; revision=52159
This commit is contained in:
Maarten van der Heide
2021-06-30 21:18:09 +00:00
parent 44fea88058
commit 7299aa2a7c

View File

@@ -0,0 +1,91 @@
--
-- $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);
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