100 lines
3.5 KiB
SQL
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
|