Files
Customer/onces/YKPN/YKPN#62520.sql
2020-07-01 10:23:16 +00:00

89 lines
3.0 KiB
SQL

--
-- $Id$
--
-- FAC_BIJLAGEN tabel bijwerken na gekopieerde bijlagen van facturen.
DEFINE thisfile = 'YKPN#62520.sql'
DEFINE dbuser = '^YKPN'
DEFINE custid = 'YKPN'
SET ECHO ON
SET DEFINE ON
SET serveroutput 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 ------
DECLARE
CURSOR c IS
SELECT kf.fin_kenmerkfactuur_key,
kf.fin_kenmerkfactuur_waarde,
f.fin_factuur_key,
f.fin_factuur_nr
FROM fin_kenmerkfactuur kf, fin_factuur f
WHERE kf.fin_kenmerk_key = 21 -- Bijlagen
AND kf.fin_factuur_key = f.fin_factuur_key
AND NOT EXISTS
(SELECT 1
FROM fac_bijlagen b
WHERE b.fac_bijlagen_refkey = kf.fin_factuur_key
AND b.fac_bijlagen_kenmerk_key =
kf.fin_kenmerk_key
AND b.fac_bijlagen_filename =
kf.fin_kenmerkfactuur_waarde
AND b.fac_bijlagen_module = 'FIN');
v_count NUMBER;
v_bijlagen_key NUMBER;
BEGIN
FOR rec IN c
LOOP
SELECT MIN (b.fac_bijlagen_key), COUNT (b.fac_bijlagen_key)
INTO v_bijlagen_key, v_count
FROM fac_bijlagen b, fin_factuur f
WHERE b.fac_bijlagen_refkey = f.fin_factuur_key
AND b.fac_bijlagen_kenmerk_key = 21
AND b.fac_bijlagen_filename = rec.fin_kenmerkfactuur_waarde
AND b.fac_bijlagen_verwijder IS NULL
AND f.fin_factuur_nr = rec.fin_factuur_nr;
DBMS_OUTPUT.put_line (rec.fin_kenmerkfactuur_key || '-' || v_count);
INSERT INTO fac_bijlagen (fac_bijlagen_module,
fac_bijlagen_refkey,
fac_bijlagen_kenmerk_key,
fac_bijlagen_disk_directory,
fac_bijlagen_filename,
fac_bijlagen_digest,
fac_bijlagen_file_size,
fac_bijlagen_root_key)
SELECT fac_bijlagen_module,
rec.fin_factuur_key,
fac_bijlagen_kenmerk_key,
'*see root*',
fac_bijlagen_filename,
fac_bijlagen_digest,
fac_bijlagen_file_size,
fac_bijlagen_root_key
FROM fac_bijlagen
WHERE fac_bijlagen_key = v_bijlagen_key;
END LOOP;
END;
/
------ 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