FCLT#57835 *Alle* Flexkenmerk bijlagen in de database opslaan

svn path=/Database/trunk/; revision=43272
This commit is contained in:
Erik Groener
2019-07-09 10:41:58 +00:00
parent c097425388
commit 353336d558

View File

@@ -40,6 +40,7 @@
p_ref_key IN NUMBER,
p_niveau IN VARCHAR2);
PROCEDURE setflexbijlage (p_module IN VARCHAR2,
p_niveau IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_bijlagen_key IN NUMBER,
@@ -49,6 +50,13 @@
p_file_size IN NUMBER,
p_file_date IN DATE,
p_digest IN VARCHAR2 DEFAULT NULL);
PROCEDURE deleteflexbijlage (p_module IN VARCHAR2,
p_niveau IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_bijlagen_key IN NUMBER,
p_disk_directory IN VARCHAR2,
p_filename IN VARCHAR2);
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
@@ -179,6 +187,7 @@
END;
PROCEDURE setflexbijlage (p_module IN VARCHAR2,
p_niveau IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_bijlagen_key IN NUMBER,
@@ -255,6 +264,34 @@
END;
END;
PROCEDURE deleteflexbijlage (p_module IN VARCHAR2,
p_niveau IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_bijlagen_key IN NUMBER,
p_disk_directory IN VARCHAR2,
p_filename IN VARCHAR2)
AS
v_bijlagen_key NUMBER(10);
CURSOR c_bijlagen
IS
SELECT fac_bijlagen_key
FROM fac_bijlagen
WHERE fac_bijlagen_disk_directory = p_disk_directory
AND fac_bijlagen_verwijder IS NULL
AND fac_bijlagen_filename = p_filename;
BEGIN
FOR bijl IN c_bijlagen
LOOP
UPDATE fac_bijlagen
SET fac_bijlagen_verwijder = SYSDATE
WHERE fac_bijlagen_key = bijl.fac_bijlagen_key;
END LOOP;
deleteflex(p_module, p_kenmerk_key, p_ref_key, NULL);
END;
PROCEDURE setflex (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
@@ -319,25 +356,25 @@
' )' ||
' VALUES (' || p_ref_key ||
' , ' || p_kenmerk_key ||
' , :pwaarde'||
' , :p_waarde'||
l_niveau_val ||
' )';
ELSE
-- Voor p_multi zijn er geen wijzigingen!
IF (p_multi = 0) THEN
l_sql_upsert := 'UPDATE ' || l_kenmval_tablename ||
' SET ' || l_kcolumnname_waarde || ' = :pwaarde' ||
' SET ' || l_kcolumnname_waarde || ' = :p_waarde' ||
' WHERE ' || l_kcolumnname_refkey || ' = ' || p_ref_key ||
' AND ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key ||
' AND ' || l_kcolumnname_delete || ' IS NULL';
END IF;
END IF;
IF (l_sql_upsert <> '') THEN
DBMS_SQL.parse (l_cursor_upsert, l_sql_upsert, DBMS_SQL.native);
DBMS_SQL.BIND_VARIABLE(l_cursor_upsert,':pwaarde', p_waarde);
l_rowsprocessed := DBMS_SQL.execute (l_cursor_upsert);
DBMS_SQL.close_cursor(l_cursor_upsert);
IF (l_sql_upsert IS NOT NULL) THEN
DBMS_SQL.PARSE (l_cursor_upsert, l_sql_upsert, DBMS_SQL.native);
DBMS_SQL.BIND_VARIABLE(l_cursor_upsert, ':p_waarde', p_waarde);
l_rowsprocessed := DBMS_SQL.EXECUTE (l_cursor_upsert);
DBMS_SQL.CLOSE_CURSOR(l_cursor_upsert);
END IF;
END;
PROCEDURE deleteflex (pmodule IN VARCHAR2,