AAIT#67042 -- Factuurverwerking via Mareonplatform - Inrichting koppeling

svn path=/Customer/; revision=53004
This commit is contained in:
Jos Migo
2021-09-10 19:39:19 +00:00
parent f885e3f679
commit 8e2fa87c24

View File

@@ -0,0 +1,218 @@
--
-- $Id$
--
-- ONCESCRIPT om de MAREON-Factuur-koppeling voor ALLE HeyDay-omgeving goed in te richten:
---- 1. Aanmaken API-USER + Autorisatiegroep + Autorisatierecht + API-user toekennen aan groep
---- 2. Aanmaken Importfunctie + API-list
---- 3. Aanmaken factuurkenmerk - type bestand
---- Na dit oncescript nog draaien de 'aaxx.sql' ivm 'aaxx_update_fin_factuur_marx' + foldermap 'Mareon' op server per cust nog aanmaken (../import/mareon)
DEFINE thisfile = 'AAXX#67042.SQL'
DEFINE dbuser = 'AAXX'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
DECLARE
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (150);
currentversion fac_module.fac_module_version%TYPE;
v_aanduiding VARCHAR (100);
v_count NUMBER;
-- Per klantomgeving te vullen
v_cust_code VARCHAR2 (100) := 'xxxx' ;
-- v_api_key VARCHAR2 (1000) := 'L4PbaQBA0DT6fn-yay7HePzWTn23eGZx' ; -- DBMS_RANDOM.string('a', 32)
v_api_user VARCHAR2 (1000) := 'API-user MAREON-koppeling' ;
v_inlognaam VARCHAR2 (1000) := '_API-USER MAREON-KOPPELING' ;
v_folderpad_1 VARCHAR2 (1000) := 'd:\Apps\Facilitor\AAFM_A\CUST' || CHR(92) ;
v_folderpad_2 VARCHAR2 (1000) := '\import\Mareon' ;
--- Overige
v_afdeling_key NUMBER (10);
v_functie_key NUMBER (10);
v_facilitor_key NUMBER (10);
v_prs_perslid_key NUMBER (10);
v_fac_groep_key NUMBER (10);
v_fac_functie_key NUMBER (10);
v_fac_import_app_key NUMBER (10);
BEGIN
-- klantcode
SELECT upper(fac_version_cust)
INTO v_cust_code
FROM fac_version;
-- Toelichting
---- AAGN: Doen we HANDMATIG via voorkant want deze heeft al een Mareon-koppeling (voor Opdrachtverstrekking)
---- In Acceptatie al gedaan: AADS, RABO, AAES, SMKA
---- Nog doen:'AAAR', 'EXPO', 'INLO', 'AAGN', 'AAVG', 'NMMS', 'AADO', 'AAAH' +
---- 'AAIT', 'AASA' (week 37 als omgevingen vervangen zijn
IF v_cust_code IN ('AAAR', 'EXPO', 'INLO', 'AAGN', 'AAVG', 'NMMS', 'AADO', 'AAAH') THEN
-- 1. Aanmaken API-USER + Autorisatiegroep + Autorisatierecht + API-user toekennen aan groep
-- Aanmaken API-USER
SELECT prs_afdeling_key
INTO v_afdeling_key
FROM prs_afdeling
WHERE prs_afdeling_upper = 'HEYDAY' AND prs_afdeling_parentkey IS NULL AND prs_afdeling_verwijder IS NULL;
SELECT prs_srtperslid_key
INTO v_functie_key
FROM prs_srtperslid
WHERE prs_srtperslid_upper = 'ONBEKEND';
SELECT prs_perslid_key
INTO v_facilitor_key
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
IF v_afdeling_key IS NOT NULL AND v_functie_key IS NOT NULL AND v_facilitor_key IS NOT NULL
THEN
INSERT INTO prs_perslid(
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_visibility,
prs_perslid_oslogin,
prs_perslid_ingids,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_loglevel)
VALUES (v_functie_key,
v_afdeling_key,
v_api_user, -- 'API-user MAREON-koppeling',
0,
v_inlognaam, -- '_API-USER MAREON-KOPPELING',
NULL,
DBMS_RANDOM.string('a', 32), -- v_api_key, -- DBMS_RANDOM.string('a', 32)
4,
0)
RETURN prs_perslid_key
INTO v_prs_perslid_key;
-- Logging
BEGIN fac.trackaction('PRSNEW', v_prs_perslid_key, v_facilitor_key, NULL, NULL); END;
END IF;
-- Autorisatiegroep aanmaken
INSERT INTO fac_groep (fac_groep_omschrijving,
fac_groep_opmerking,
fac_groep_collega,
fac_groep_externid)
VALUES ('_Mareon',
'voor de koppeling met Mareon (factuurverwerking)',
0,
NULL)
RETURN fac_groep_key
INTO v_fac_groep_key;
-- API-user toekennen aan de groep
INSERT INTO fac_gebruikersgroep (fac_groep_key,
prs_perslid_key)
VALUES (v_fac_groep_key, v_prs_perslid_key) ;
-- Recht WEB_FINFOF toekennen aan de groep
SELECT fac_functie_key
INTO v_fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_FINFOF';
INSERT INTO fac_groeprechten (fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_functie_key,
fac_groep_key,
ins_discipline_key)
VALUES (-1,
-1,
-1,
-1,
v_fac_functie_key,
v_fac_groep_key,
NULL) ;
-- 2. Aanmaken Importfunctie + API-list
-- Aanmaken importfunctie
INSERT INTO fac_import_app (fac_import_app_oms,
fac_functie_key,
fac_import_app_code,
fac_import_app_folder,
fac_import_app_charset,
fac_import_app_prefix,
fac_import_app_action)
SELECT 'Mareon import van facturenbestand van leverancier(s)',
fac_functie_key,
'FIN_FACTUUR_MARX',
v_folderpad_1 || v_cust_code || v_folderpad_2 ,
'UTF-8',
'AAXX',
'ORACLE'
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS' ;
-- Aanmaken API
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';
-- 3. Aanmaken factuurkenmerk - type bestand
INSERT INTO fin_kenmerk (fin_kenmerk_volgnr,
fin_kenmerk_omschrijving,
fin_kenmerk_kenmerktype,
fin_kenmerk_type,
fin_kenmerk_verplicht,
fin_kenmerk_groep,
fin_kenmerk_toonbaar,
fin_kenmerk_systeem)
VALUES (101,
'Factuur (vanuit Mareon-import)',
'F',
'F',
NULL,
0,
1,
0);
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