149 lines
5.7 KiB
SQL
149 lines
5.7 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
|
|
|
|
|
|
-- Dit bestand is een copy (gebaseerd op) van MARX40389.sql --
|
|
-- Alles in de payload is copy, de 4 letlercode DEMO is in de plaats van CUST gekomen weliswaar--
|
|
|
|
DEFINE thisfile = 'DEMO40389.sql'
|
|
DEFINE dbuser = '^DEMO'
|
|
|
|
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 ------
|
|
|
|
-- A. OPDRACHTSTATUS: Registratie van API voor het opdrachtstatus bericht vanuit Mareon
|
|
|
|
INSERT INTO fac_api (fac_api_name, fac_api_omschrijving, fac_api_filepath, fac_api_stylesheet, fac_api_options_json)
|
|
SELECT 'MARX_OPDR_STATUS', 'Webservice voor opdrachtmutaties vanuit Mareon', 'appl/api/api_opdrsoap.asp', 'appl/MARX/F_PutOpdrachtFCLT.xsl', '{"ORDremark": 6}'
|
|
FROM DUAL;
|
|
|
|
-- B. FACTUURBERICHT: Registratie van IMPORT + bijbehorende API voor het factuur bericht vanuit Mareon
|
|
|
|
-- 4.1 Standaard Facilitor factuur import
|
|
-- Deze doen we in DEMO niet, we willen ook graag de PDF inzichtelijk maken, daarom doen we die van stap 4.2
|
|
--INSERT INTO fac_api(fac_api_name, fac_api_omschrijving, fac_api_filepath, fac_api_stylesheet, fac_import_app_key, fac_api_options_json)
|
|
--SELECT 'MARX_FIN_FACTUUR', 'Webservice voor facturen vanuit Mareon', 'appl/API/api_gen_import.asp', '../../appl/MARX/F_PutFactuurFCLT.xsl' ,fac_import_app_key, '{"import_app_key":' || fac_import_app_key || '}'
|
|
--FROM fac_import_app
|
|
--WHERE fac_import_app_code = 'FACTUUR'
|
|
--AND fac_import_app_prefix is NULL;
|
|
|
|
|
|
|
|
-- 4.2 Eigen CUST factuur import
|
|
-- Deze doen we in demo, de standaard uit stap 4.1 is daarom uitgecommentarieerd.
|
|
-- Indien je een eigen CUST functie wilt (en niet de standaard van hierboven van 4.1), dan:
|
|
-- 1. Draai bovenstaande insert in fac_api (punt 4.1) NIET, commentarieer deze insert uit.
|
|
-- 2. Verwijder onderstaande commentaar-regels van de 2x insert in fac_import_app en fac_api.
|
|
-- 3. En verander de naam 'F_PutFactuurFCLT.xsl' eventueel in een eigen stylesheet.
|
|
-- 4. En neem de 2 procedures import en update over in je CUST.sql en pas ze naar wens aan...
|
|
|
|
INSERT INTO fac_import_app (fac_import_app_code, fac_import_app_oms, fac_import_app_xsl, fac_functie_key, fac_import_app_charset, fac_import_app_prefix)
|
|
SELECT 'FIN_FACTUUR_MARX', 'Factuur import van Mareon factuur-XMLs', '', fac_functie_key, 'UTF-8', 'DEMO'
|
|
FROM fac_functie
|
|
WHERE fac_functie_code = 'WEB_PRSSYS';
|
|
|
|
INSERT INTO fac_api(fac_api_name, fac_api_omschrijving, fac_api_filepath, fac_api_stylesheet, fac_import_app_key, fac_api_options_json)
|
|
SELECT 'MARX_FIN_FACTUUR', 'Webservice voor facturen vanuit Mareon', 'appl/API/api_gen_import.asp', '../../appl/MARX/F_PutFactuurFCLT.xsl' ,fac_import_app_key, '{"import_app_key":' || fac_import_app_key || '}'
|
|
FROM fac_import_app
|
|
WHERE fac_import_app_code = 'FIN_FACTUUR_MARX';
|
|
|
|
CREATE OR REPLACE PROCEDURE demo_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 demo_update_fin_factuur_marx (p_import_key IN NUMBER)
|
|
AS
|
|
|
|
-- Cursor met PDF naam
|
|
CURSOR cfactuur_kenmerk1
|
|
IS
|
|
SELECT fin_factuur_key, kenmerk1, factuurnr, fac_imp_file_index
|
|
FROM fac_imp_factuur
|
|
WHERE fin_factuur_key IS NOT NULL
|
|
AND fac_import_key = p_import_key
|
|
AND kenmerk1 IS NOT NULL
|
|
AND fin_factuur_key = ( SELECT MAX (fin_factuur_key)
|
|
FROM fac_imp_factuur
|
|
WHERE fin_factuur_key IS NOT NULL
|
|
AND fac_import_key = p_import_key
|
|
AND kenmerk1 IS NOT NULL
|
|
);
|
|
|
|
c_kenmerk_key_bijlage NUMBER(10);
|
|
|
|
BEGIN
|
|
-- Standaard FCLT verwerk import facturen
|
|
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 k
|
|
WHERE fin_kenmerk_kenmerktype = 'F';
|
|
|
|
IF c_kenmerk_key_bijlage IS NOT NULL
|
|
THEN
|
|
-- Er is een bijlage flexprop, we gaan de PDF hier inzetten....
|
|
FOR rc IN cfactuur_kenmerk1
|
|
LOOP
|
|
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 (rc.fin_factuur_key) -- We kunnen niet meerdere imports tegelijk aan!
|
|
|| ':' || c_kenmerk_key_bijlage || ':' -- De kenmerk key
|
|
|| 'F'
|
|
);
|
|
|
|
-- FSN#33363: Zelf de insert in fin_kenmerkfactuur doen van het bestandskenmerk (FSN#33105 verzorgt dit niet namelijk)
|
|
INSERT INTO fin_kenmerkfactuur (fin_factuur_key, fin_kenmerk_key, fin_kenmerkfactuur_waarde)
|
|
VALUES (rc.fin_factuur_key, c_kenmerk_key_bijlage, rc.kenmerk1);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.imp_writelog (p_import_key,
|
|
'W',
|
|
'Van factuur met key ' || rc.fin_factuur_key || ' is de bestandsnaam niet bewaard (regel ' || rc.fac_imp_file_index || ')',
|
|
'Factuurnr:' || rc.factuurnr || ' / Bestandsnaam: ' || rc.kenmerk1
|
|
);
|
|
END;
|
|
END LOOP;
|
|
END IF;
|
|
|
|
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
|
|
|