FSN#40049: Facilitor opdrachten via Mareon kunnen verstrekken
svn path=/Customer/; revision=34674
This commit is contained in:
148
onces/DEMO/DEMO40389.sql
Normal file
148
onces/DEMO/DEMO40389.sql
Normal file
@@ -0,0 +1,148 @@
|
||||
--
|
||||
-- $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
|
||||
|
||||
Reference in New Issue
Block a user