VGLD#82798 Mareon Factuurscanning aanzetten voor VGLD
svn path=/Customer/trunk/; revision=65317
This commit is contained in:
161
VGLD/vgld.sql
161
VGLD/vgld.sql
@@ -2256,6 +2256,167 @@ AS
|
||||
AND b.prs_perslid_key_voor = pf2.prs_perslid_key
|
||||
AND fac_activiteit_key IS NULL;
|
||||
|
||||
/* Formatted on 27-6-2024 11:39:30 (QP5 v5.336) */
|
||||
CREATE OR REPLACE PROCEDURE vgld_import_fin_factuur_marx (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR (255);
|
||||
BEGIN
|
||||
v_seq_of_columns :=
|
||||
'1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28';
|
||||
fac_import_factuur_body (p_import_key, v_seq_of_columns);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vgld_update_fin_factuur_marx (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_aanduiding VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
c_kenmerk_key_bijlage NUMBER (10);
|
||||
c_kenmerk_key_soort VARCHAR (1) := 'M'; -- fin_kenmerk_kenmerktype = M(foldermap) of F(enkelvoudig bestand)
|
||||
v_aanduiding_controle VARCHAR2 (1000); -- Voor logging op bijbehorende controle zodat men weet wat men moet controleren
|
||||
v_fin_factuur_key NUMBER(10);
|
||||
v_perslid_key PRS_PERSLID.PRS_PERSLID_KEY%TYPE;
|
||||
|
||||
CURSOR cfactuur
|
||||
IS
|
||||
SELECT i.fin_factuur_key, factuurdatum, i.kenmerk1, i.kenmerk2, i.kenmerk3, i.kenmerk6, i.kenmerk7, i.kenmerk8, i.kenmerk9, i.factuurnr, i.fac_imp_file_index, f.fin_factuur_totaal, f.fin_factuur_totaal_btw, f.mld_opdr_key, f.cnt_contract_key, f.bes_bestelopdr_key
|
||||
FROM fac_imp_factuur i, fin_factuur f
|
||||
WHERE i.fin_factuur_key IS NOT NULL
|
||||
AND i.fac_import_key = p_import_key
|
||||
AND f.fin_factuur_key = i.fin_factuur_key -- Incl bijlage
|
||||
AND kenmerk1 IS NOT NULL;
|
||||
|
||||
BEGIN
|
||||
-- Nu kunnen we de standaard FCLT verwerk import facturen draaien
|
||||
fac_update_factuur (p_import_key);
|
||||
|
||||
-- CUST: post processing voor verwerking van het PDF document
|
||||
SELECT MIN (fin_kenmerk_key)
|
||||
INTO c_kenmerk_key_bijlage
|
||||
FROM fin_kenmerk
|
||||
WHERE fin_kenmerk_code = 'FACTUURBESTAND' AND fin_kenmerk_verwijder IS NULL;
|
||||
|
||||
FOR rec IN cfactuur
|
||||
LOOP
|
||||
BEGIN
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Als er een bijlage-flexprop en een bijlage is, dan gaan we deze PDF hier inzetten....
|
||||
IF c_kenmerk_key_bijlage IS NOT NULL AND rec.kenmerk1 IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (
|
||||
'IMPORT:' || TO_CHAR (p_import_key),
|
||||
'flexcode',
|
||||
'FIN:'
|
||||
|| TO_CHAR (rec.fin_factuur_key) -- We kunnen niet meerdere imports tegelijk aan!
|
||||
|| ':'
|
||||
|| c_kenmerk_key_bijlage
|
||||
|| ':' -- De kenmerk key
|
||||
|| c_kenmerk_key_soort -- 'F of M'
|
||||
);
|
||||
|
||||
-- FSN#33363: Zelf de insert in fin_kenmerkfactuur doen van het bestandskenmerk (FSN#33105 verzorgt dit niet namelijk)
|
||||
-- Aanvulling JM: Voor F-enkelvoudig bestand wel nodig om kenmerk aan te maken, voor M-folder hoeft/moet dit niet
|
||||
IF c_kenmerk_key_soort = 'F'
|
||||
THEN
|
||||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||||
fin_kenmerk_key,
|
||||
fin_kenmerkfactuur_waarde)
|
||||
VALUES (rec.fin_factuur_key,
|
||||
c_kenmerk_key_bijlage,
|
||||
rec.kenmerk1);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_aanduiding_controle :=
|
||||
'Van factuur met key '
|
||||
|| rec.fin_factuur_key
|
||||
|| ' is de bestandsnaam niet bewaard (regel '
|
||||
|| rec.fac_imp_file_index
|
||||
|| ')';
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding_controle,
|
||||
'Factuurnr:'
|
||||
|| rec.factuurnr
|
||||
|| ' / Bestandsnaam: '
|
||||
|| rec.kenmerk1);
|
||||
|
||||
END;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
-- ROLLBACK;
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
|
||||
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
|
||||
SELECT MAX (i.fin_factuur_key)
|
||||
fin_factuur_key,
|
||||
'Betreft factuur_key '
|
||||
|| TO_CHAR (i.fin_factuur_key)
|
||||
|| ' - Factuurnr '
|
||||
|| i.factuurnr
|
||||
INTO v_fin_factuur_key, v_errorhint
|
||||
FROM fac_imp_factuur i, fin_factuur f
|
||||
WHERE i.fac_import_key = p_import_key AND i.fin_factuur_key = f.fin_factuur_key(+)
|
||||
GROUP BY i.fin_factuur_key,
|
||||
'Betreft factuur_key '
|
||||
|| TO_CHAR (i.fin_factuur_key)
|
||||
|| ' - Factuurnr '
|
||||
|| i.factuurnr;
|
||||
|
||||
IF v_fin_factuur_key IS NOT NULL
|
||||
THEN
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 3,
|
||||
fin_factuur_opmerking =
|
||||
SUBSTR (
|
||||
'Bij factuurimport is volgende Errormessage gemeld: '
|
||||
|| v_errormsg
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| 'Actie 1: Informeren Facilitor'
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| 'Actie 2: Factuur gewoon oppakken: Aanvullen, doorzetten, etc',
|
||||
1,
|
||||
250)
|
||||
WHERE fin_factuur_key = v_fin_factuur_key;
|
||||
|
||||
v_aanduiding := 'Factuur geimporteerd vanuit Mareon';
|
||||
fac.trackaction ('FINUPD',
|
||||
v_fin_factuur_key,
|
||||
v_perslid_key,
|
||||
NULL,
|
||||
v_aanduiding);
|
||||
END IF;
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint || ' - ' || v_aanduiding);
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user