89 lines
3.0 KiB
SQL
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 |