MARX#59862: Tobias 365 - Mareon
svn path=/Mareon/trunk/; revision=45192
This commit is contained in:
@@ -29,7 +29,8 @@ CREATE TABLE mar_imp_action_key
|
|||||||
(
|
(
|
||||||
fac_import_key NUMBER(10),
|
fac_import_key NUMBER(10),
|
||||||
action_code VARCHAR2(255),
|
action_code VARCHAR2(255),
|
||||||
ref_key NUMBER(10)
|
ref_key NUMBER(10),
|
||||||
|
extra_omschr VARCHAR2(4000)
|
||||||
);
|
);
|
||||||
|
|
||||||
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)
|
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)
|
||||||
@@ -43,6 +44,11 @@ FROM fac_import_app
|
|||||||
WHERE fac_import_app_code = 'ACTION_REF_KEY';
|
WHERE fac_import_app_code = 'ACTION_REF_KEY';
|
||||||
|
|
||||||
|
|
||||||
|
-- MARX#59862: Tobias 365 - Mareon
|
||||||
|
-- Nieuwe soort notificatie in geval van factuurfout...
|
||||||
|
INSERT INTO fac_srtnotificatie (fac_srtnotificatie_code, fac_srtnotificatie_mode, fac_srtnotificatie_oms, fac_srtnotificatie_xmlnode, fac_srtnotificatie_url, fac_srtnotificatie_groep)
|
||||||
|
VALUES ('CUST04',2, 'Factuur is niet goed bij opdrachtgever verwerkt', 'factuur', 'fin/fin_factuur.asp?fin_key=', 0);
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
222
sql/mareon.sql
222
sql/mareon.sql
@@ -2387,7 +2387,8 @@ IS
|
|||||||
|
|
||||||
-- De importvelden:
|
-- De importvelden:
|
||||||
v_action_code VARCHAR2 (256);
|
v_action_code VARCHAR2 (256);
|
||||||
v_ref_key VARCHAR2 (256);
|
v_ref_key VARCHAR2 (256);
|
||||||
|
v_extra_omschr VARCHAR2 (4000);
|
||||||
|
|
||||||
|
|
||||||
CURSOR c1
|
CURSOR c1
|
||||||
@@ -2415,8 +2416,12 @@ BEGIN
|
|||||||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_action_code);
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_action_code);
|
||||||
-- 02 - MLD_OPDR_KEY
|
-- 02 - MLD_OPDR_KEY
|
||||||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_ref_key);
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_ref_key);
|
||||||
|
-- 03 - EXTRA OMSCHRIJVING
|
||||||
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_extra_omschr);
|
||||||
|
|
||||||
v_action_code := TRIM (v_action_code);
|
v_action_code := TRIM (v_action_code);
|
||||||
v_ref_key := TRIM (v_ref_key);
|
v_ref_key := TRIM (v_ref_key);
|
||||||
|
v_extra_omschr := TRIM(v_extra_omschr);
|
||||||
|
|
||||||
--
|
--
|
||||||
v_aanduiding :=
|
v_aanduiding :=
|
||||||
@@ -2439,8 +2444,8 @@ BEGIN
|
|||||||
--
|
--
|
||||||
v_errorhint := 'Ongeldige ACTION_CODE (max. 255 tekens) of MLD_OPDR_KEY, moet positieve integer zijn';
|
v_errorhint := 'Ongeldige ACTION_CODE (max. 255 tekens) of MLD_OPDR_KEY, moet positieve integer zijn';
|
||||||
|
|
||||||
INSERT INTO mar_imp_action_key (fac_import_key, action_code, ref_key)
|
INSERT INTO mar_imp_action_key (fac_import_key, action_code, ref_key, extra_omschr)
|
||||||
VALUES(p_import_key, v_action_code, v_ref_key);
|
VALUES(p_import_key, v_action_code, v_ref_key, v_extra_omschr);
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
@@ -2500,6 +2505,7 @@ IS
|
|||||||
v_result VARCHAR2(1024);
|
v_result VARCHAR2(1024);
|
||||||
v_action_code VARCHAR2 (256);
|
v_action_code VARCHAR2 (256);
|
||||||
v_ref_key NUMBER(10);
|
v_ref_key NUMBER(10);
|
||||||
|
v_extra_omschr VARCHAR2 (4000);
|
||||||
|
|
||||||
v_prs_perslid_key NUMBER(10);
|
v_prs_perslid_key NUMBER(10);
|
||||||
|
|
||||||
@@ -2523,6 +2529,7 @@ BEGIN
|
|||||||
v_count_tot := v_count_tot + 1;
|
v_count_tot := v_count_tot + 1;
|
||||||
v_action_code := rec_ax.action_code;
|
v_action_code := rec_ax.action_code;
|
||||||
v_ref_key := rec_ax.ref_key;
|
v_ref_key := rec_ax.ref_key;
|
||||||
|
v_extra_omschr := rec_ax.extra_omschr;
|
||||||
|
|
||||||
v_errorhint := 'Error in mar_update_action_ref_key, import-key: ' || p_import_key || '[' || 'Action:' || v_action_code || ' - Ref-key:' || v_ref_key || '] ';
|
v_errorhint := 'Error in mar_update_action_ref_key, import-key: ' || p_import_key || '[' || 'Action:' || v_action_code || ' - Ref-key:' || v_ref_key || '] ';
|
||||||
|
|
||||||
@@ -2535,8 +2542,10 @@ BEGIN
|
|||||||
|
|
||||||
IF (v_action_code IS NOT NULL AND v_ref_key IS NOT NULL)
|
IF (v_action_code IS NOT NULL AND v_ref_key IS NOT NULL)
|
||||||
THEN
|
THEN
|
||||||
CASE
|
CASE
|
||||||
WHEN UPPER(v_action_code) = 'OPDR_POST_BIJLAGE' THEN v_result := mar_post_action_bijlages (v_ref_key, v_prs_perslid_key);
|
WHEN UPPER(v_action_code) = 'OPDR_POST_BIJLAGE' THEN v_result := mar_post_action_bijlages (v_ref_key, v_prs_perslid_key);
|
||||||
|
WHEN UPPER(v_action_code) = 'FIN_FACTUUR_POST_SUCCESS' THEN v_result := mar_post_factuur_verwerking (v_prs_perslid_key, v_ref_key, 1, '');
|
||||||
|
WHEN UPPER(v_action_code) = 'FIN_FACTUUR_POST_FAIL' THEN v_result := mar_post_factuur_verwerking (v_prs_perslid_key, v_ref_key, 0, v_extra_omschr);
|
||||||
ELSE v_result := 'Onbekende action_code';
|
ELSE v_result := 'Onbekende action_code';
|
||||||
END CASE;
|
END CASE;
|
||||||
END IF;
|
END IF;
|
||||||
@@ -7257,13 +7266,21 @@ SELECT DISTINCT
|
|||||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
||||||
AND t.fac_tracking_refkey = f.fin_factuur_key
|
AND t.fac_tracking_refkey = f.fin_factuur_key
|
||||||
AND t.fac_tracking_key > (SELECT sync_trackkey_lasttime FROM mar_v_sync_ax s WHERE s.prs_perslid_key = woco.prs_perslid_key)
|
AND (
|
||||||
AND t.fac_tracking_key <= (SELECT sync_trackkey_now FROM mar_v_sync_ax s WHERE s.prs_perslid_key = woco.prs_perslid_key)
|
(
|
||||||
|
(t.fac_tracking_key > (SELECT sync_trackkey_lasttime FROM mar_v_sync_ax s WHERE s.prs_perslid_key = woco.prs_perslid_key))
|
||||||
|
AND
|
||||||
|
(t.fac_tracking_key <= (SELECT sync_trackkey_now FROM mar_v_sync_ax s WHERE s.prs_perslid_key = woco.prs_perslid_key))
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(sn.fac_srtnotificatie_code = 'CUST04')
|
||||||
|
)
|
||||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||||
AND sn.fac_srtnotificatie_xmlnode = 'factuur'
|
AND sn.fac_srtnotificatie_xmlnode = 'factuur'
|
||||||
AND versturen_okee.fin_factuur_key = f.fin_factuur_key
|
AND versturen_okee.fin_factuur_key = f.fin_factuur_key
|
||||||
AND versturen_okee.fin_kenmerk_key = 9
|
AND versturen_okee.fin_kenmerk_key = 9
|
||||||
AND versturen_okee.fin_kenmerkfactuur_waarde = 1;
|
AND versturen_okee.fin_kenmerkfactuur_waarde = 1
|
||||||
|
AND fin_factuur_statuses_key IN (2,6);
|
||||||
|
|
||||||
CREATE OR REPLACE VIEW mar_v_cnt_factuur_ax (
|
CREATE OR REPLACE VIEW mar_v_cnt_factuur_ax (
|
||||||
prs_perslid_key,
|
prs_perslid_key,
|
||||||
@@ -7456,13 +7473,21 @@ AS
|
|||||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
||||||
AND t.fac_tracking_refkey = f.fin_factuur_key
|
AND t.fac_tracking_refkey = f.fin_factuur_key
|
||||||
AND t.fac_tracking_key > (SELECT sync_trackkey_lasttime FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco3.prs_perslid_key, woco2.prs_perslid_key))
|
AND (
|
||||||
AND t.fac_tracking_key <= (SELECT sync_trackkey_now FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco3.prs_perslid_key, woco2.prs_perslid_key))
|
(
|
||||||
|
(t.fac_tracking_key > (SELECT sync_trackkey_lasttime FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco3.prs_perslid_key, woco2.prs_perslid_key)))
|
||||||
|
AND
|
||||||
|
(t.fac_tracking_key <= (SELECT sync_trackkey_now FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco3.prs_perslid_key, woco2.prs_perslid_key)))
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(sn.fac_srtnotificatie_code = 'CUST04')
|
||||||
|
)
|
||||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||||
AND sn.fac_srtnotificatie_xmlnode = 'factuur'
|
AND sn.fac_srtnotificatie_xmlnode = 'factuur'
|
||||||
AND versturen_okee.fin_factuur_key = f.fin_factuur_key
|
AND versturen_okee.fin_factuur_key = f.fin_factuur_key
|
||||||
AND versturen_okee.fin_kenmerk_key = 9
|
AND versturen_okee.fin_kenmerk_key = 9
|
||||||
AND versturen_okee.fin_kenmerkfactuur_waarde = 1;
|
AND versturen_okee.fin_kenmerkfactuur_waarde = 1
|
||||||
|
AND fin_factuur_statuses_key IN (2,6);
|
||||||
|
|
||||||
CREATE OR REPLACE VIEW mar_v_bes_factuur_ax (
|
CREATE OR REPLACE VIEW mar_v_bes_factuur_ax (
|
||||||
prs_perslid_key,
|
prs_perslid_key,
|
||||||
@@ -7656,13 +7681,21 @@ SELECT DISTINCT
|
|||||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
||||||
AND t.fac_tracking_refkey = f.fin_factuur_key
|
AND t.fac_tracking_refkey = f.fin_factuur_key
|
||||||
AND t.fac_tracking_key > (SELECT sync_trackkey_lasttime FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco.prs_perslid_key,woco2.prs_perslid_key))
|
AND (
|
||||||
AND t.fac_tracking_key <= (SELECT sync_trackkey_now FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco.prs_perslid_key,woco2.prs_perslid_key))
|
(
|
||||||
|
(t.fac_tracking_key > (SELECT sync_trackkey_lasttime FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco.prs_perslid_key,woco2.prs_perslid_key)))
|
||||||
|
AND
|
||||||
|
(t.fac_tracking_key <= (SELECT sync_trackkey_now FROM mar_v_sync_ax s WHERE s.prs_perslid_key = COALESCE(woco.prs_perslid_key,woco2.prs_perslid_key)))
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(sn.fac_srtnotificatie_code = 'CUST04')
|
||||||
|
)
|
||||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||||
AND sn.fac_srtnotificatie_xmlnode = 'factuur'
|
AND sn.fac_srtnotificatie_xmlnode = 'factuur'
|
||||||
AND versturen_okee.fin_factuur_key = f.fin_factuur_key
|
AND versturen_okee.fin_factuur_key = f.fin_factuur_key
|
||||||
AND versturen_okee.fin_kenmerk_key = 9
|
AND versturen_okee.fin_kenmerk_key = 9
|
||||||
AND versturen_okee.fin_kenmerkfactuur_waarde = 1;
|
AND versturen_okee.fin_kenmerkfactuur_waarde = 1
|
||||||
|
AND fin_factuur_statuses_key IN (2,6);
|
||||||
|
|
||||||
CREATE OR REPLACE VIEW mar_v_factuur_ax
|
CREATE OR REPLACE VIEW mar_v_factuur_ax
|
||||||
AS
|
AS
|
||||||
@@ -7680,16 +7713,9 @@ SELECT * from mar_v_bes_factuur_ax;
|
|||||||
-- Als extra (niet standaard) optie, dus voor uitzonderingsgevallen waarin je wilt dat fout geimporteerde facturen toch AX in gaan), is het mogelijk
|
-- Als extra (niet standaard) optie, dus voor uitzonderingsgevallen waarin je wilt dat fout geimporteerde facturen toch AX in gaan), is het mogelijk
|
||||||
-- om de facturen met fin_factuur_statuses_key = 3 ook te exporteren (standaard status 2 en 6)
|
-- om de facturen met fin_factuur_statuses_key = 3 ook te exporteren (standaard status 2 en 6)
|
||||||
|
|
||||||
-- MARX#40934: Performance verbetering MARX
|
|
||||||
CREATE OR REPLACE VIEW mar_v_factuur_ax_export
|
CREATE OR REPLACE VIEW mar_v_factuur_ax_export
|
||||||
AS
|
AS
|
||||||
SELECT * from mar_v_factuur_ax
|
SELECT * from mar_v_factuur_ax;
|
||||||
WHERE fin_factuur_statuses_key IN (2,6);
|
|
||||||
--(SELECT fac.safe_to_number(fac_usrdata_omschr)
|
|
||||||
--FROM fac_usrdata ud
|
|
||||||
--WHERE ud.fac_usrtab_key = 1
|
|
||||||
--AND ud.fac_usrdata_code like '$FIN_FACTUUR_STATUSES_KEY%'
|
|
||||||
--AND ud.fac_usrdata_verwijder IS NULL);
|
|
||||||
|
|
||||||
CREATE OR REPLACE VIEW mar_v_factuur_tobias_export
|
CREATE OR REPLACE VIEW mar_v_factuur_tobias_export
|
||||||
AS
|
AS
|
||||||
@@ -7701,6 +7727,75 @@ SELECT * from mar_v_factuur_ax
|
|||||||
WHERE fin_factuur_statuses_key = 6;
|
WHERE fin_factuur_statuses_key = 6;
|
||||||
|
|
||||||
|
|
||||||
|
-- MARX#59862: Tobias 365 - Mareon
|
||||||
|
-- Nieuwe functie omdat deze code vanuit verschillende plekken aangeroepen kan worden....
|
||||||
|
-- mbmb
|
||||||
|
CREATE OR REPLACE FUNCTION mar_post_factuur_verwerking (p_perslid_key IN NUMBER, p_fin_factuur_key IN NUMBER, p_fin_factuur_succes_verwerkt IN NUMBER, p_extra_omschr IN VARCHAR2)
|
||||||
|
RETURN VARCHAR2
|
||||||
|
IS
|
||||||
|
v_result VARCHAR2(1000);
|
||||||
|
v_prs_woco_close_opdracht NUMBER(10);
|
||||||
|
v_mld_opdr_key NUMBER(10);
|
||||||
|
|
||||||
|
l_omschr VARCHAR2(4000);
|
||||||
|
BEGIN
|
||||||
|
BEGIN
|
||||||
|
v_result := NULL;
|
||||||
|
IF (p_fin_factuur_succes_verwerkt = 1)
|
||||||
|
THEN
|
||||||
|
-- Factuur is door ERP opdrachtgever goed verwerkt
|
||||||
|
v_result := 'UPDATE factuur met status 7 is mislukt';
|
||||||
|
UPDATE fin_factuur
|
||||||
|
SET fin_factuur_statuses_key = 7
|
||||||
|
WHERE fin_factuur_key = p_fin_factuur_key;
|
||||||
|
|
||||||
|
v_result := 'INSERT into tracking FINVER mislukt';
|
||||||
|
|
||||||
|
fac.trackaction ('#FINVER', p_fin_factuur_key, p_perslid_key, NULL, 'Factuur is verwerkt');
|
||||||
|
|
||||||
|
v_result := 'SELECT v_prs_woco_close_opdracht mislukt';
|
||||||
|
|
||||||
|
SELECT COALESCE(MAX((SELECT prs_bedrijf_close_opdracht FROM mar_v_bedrijf_kenmerken bc WHERE bc.prs_bedrijf_key = woco.prs_bedrijf_key)), 0), MAX(o.mld_opdr_key)
|
||||||
|
INTO v_prs_woco_close_opdracht, v_mld_opdr_key
|
||||||
|
FROM fin_factuur f, mld_opdr o, mld_melding m, mar_v_woco_perslid woco
|
||||||
|
WHERE f.fin_factuur_key = p_fin_factuur_key
|
||||||
|
AND f.mld_opdr_key = o.mld_opdr_key
|
||||||
|
AND o.mld_melding_key = m.mld_melding_key
|
||||||
|
AND m.prs_perslid_key = woco.prs_perslid_key;
|
||||||
|
|
||||||
|
|
||||||
|
IF v_prs_woco_close_opdracht = 1
|
||||||
|
THEN
|
||||||
|
IF v_mld_opdr_key IS NOT NULL
|
||||||
|
THEN
|
||||||
|
-- Eerst afmelden, daarna op verwerkt.
|
||||||
|
-- Als die al afgemeld was, dan is deze call een dummy call en gebeurt verder niets.
|
||||||
|
v_result := 'mld setopdrachtstatus met 6 mislukt';
|
||||||
|
mld.setopdrachtstatus (v_mld_opdr_key, 6, p_perslid_key);
|
||||||
|
-- Als die al verwerkt was, dan is deze call een dummy call en gebeurt verder niets.
|
||||||
|
v_result := 'mld setopdrachtstatus met 7 mislukt';
|
||||||
|
mld.setopdrachtstatus (v_mld_opdr_key, 7, p_perslid_key);
|
||||||
|
END IF;
|
||||||
|
END IF;
|
||||||
|
ELSE
|
||||||
|
-- Factuur is door ERP opdrachtgever NIET (goed) verwerkt
|
||||||
|
IF fac.gettrackingdate('CUST04', p_fin_factuur_key) IS NULL
|
||||||
|
THEN
|
||||||
|
-- Alleen eenmalig een CUST04 toevoegen is voldoende, we willen de tracking niet onnodig volbouwen)
|
||||||
|
l_omschr := SUBSTR('Factuur kan NIET verwerkt worden: ' || p_extra_omschr, 1, 2048);
|
||||||
|
fac.trackaction ('#CUST04', p_fin_factuur_key, p_perslid_key, NULL, l_omschr);
|
||||||
|
END IF;
|
||||||
|
END IF;
|
||||||
|
COMMIT;
|
||||||
|
RETURN NULL;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN
|
||||||
|
RETURN v_result;
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
/
|
||||||
|
|
||||||
-- Algemeen: sync status...
|
-- Algemeen: sync status...
|
||||||
CREATE OR REPLACE PROCEDURE mar_import_ax_sync (
|
CREATE OR REPLACE PROCEDURE mar_import_ax_sync (
|
||||||
p_import_key IN NUMBER
|
p_import_key IN NUMBER
|
||||||
@@ -7876,6 +7971,11 @@ BEGIN
|
|||||||
IF (v_count_tot = 0)
|
IF (v_count_tot = 0)
|
||||||
THEN
|
THEN
|
||||||
v_count_tot := v_count_tot + 1;
|
v_count_tot := v_count_tot + 1;
|
||||||
|
-- MARX#59862: Tobias 365 - Mareon: Bij Tobias AX365 wordt sync-mode = 2 gestuurd (AX365)
|
||||||
|
-- v_ax_sync_mode heeft de volgende mogelijke waarden:
|
||||||
|
-- 0 = start van de sync
|
||||||
|
-- 1 = einde van de sync (AX2009/2012/REMS/Facilitor)
|
||||||
|
-- 2 = einde van de sync (AX365)
|
||||||
v_ax_sync_mode := rec_ax.sync_mode;
|
v_ax_sync_mode := rec_ax.sync_mode;
|
||||||
IF (v_ax_sync_mode IS NOT NULL)
|
IF (v_ax_sync_mode IS NOT NULL)
|
||||||
THEN
|
THEN
|
||||||
@@ -7903,60 +8003,44 @@ BEGIN
|
|||||||
AND fac_usrdata_verwijder IS NULL;
|
AND fac_usrdata_verwijder IS NULL;
|
||||||
|
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
-- EINDE SYNC
|
||||||
IF (v_ax_sync_mode = '1')
|
IF (v_ax_sync_mode = '1')
|
||||||
THEN
|
THEN
|
||||||
-- Einde sync
|
|
||||||
|
-- MARX#59862: Tobias 365 - Mareon: Bij Tobias AX365 wordt sync-mode = 2 gestuurd (AX365)
|
||||||
|
-- voor de ERP's (AX2009/2012/REMS/Facilitor) die sync-mode met 1 aanroepen, worden alle facturen conform cursor c_exporteerde_facturen onvoorwaardelijk op verwerkt gezet....
|
||||||
|
-- voor de ERP's (AX365) die sync mode met 2 aanroepen, wordt deze stap niet hier gedaan, maar in de Mareon sync zelf geregeld, omdat dit afhankelijk is gemaakt van de response uit AX365.
|
||||||
|
|
||||||
-- In cursor c_exporteerde_facturen zitten ook eventueel de records van andere woco's...
|
-- In cursor c_exporteerde_facturen zitten ook eventueel de records van andere woco's...
|
||||||
FOR rec_fac IN c_exporteerde_facturen(v_prs_perslid_key)
|
FOR rec_fac IN c_exporteerde_facturen(v_prs_perslid_key)
|
||||||
LOOP
|
LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
|
v_errorhint := mar_post_factuur_verwerking (v_prs_perslid_key, rec_fac.fin_factuur_key, 1, '');
|
||||||
v_errorhint := 'UPDATE factuur met status 7 mislukt';
|
EXCEPTION
|
||||||
UPDATE fin_factuur
|
WHEN OTHERS
|
||||||
SET fin_factuur_statuses_key = 7
|
THEN
|
||||||
WHERE fin_factuur_key = rec_fac.fin_factuur_key;
|
oracle_err_num := SQLCODE;
|
||||||
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
v_errorhint := 'INSERT into tracking FINVER mislukt';
|
v_errormsg :=
|
||||||
-- Verplaatsen van INSERT hierboven die in 1x een insert van alle regels doet, ivm table MARX.FAC_TRACKING is mutating, trigger/function may not see it
|
'OTHERS (error '
|
||||||
INSERT INTO fac_tracking (fac_tracking_refkey, fac_srtnotificatie_key, prs_perslid_key)
|
|| oracle_err_num
|
||||||
SELECT rec_fac.fin_factuur_key, (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'FINVER'), v_prs_perslid_key
|
|| '/'
|
||||||
FROM dual;
|
|| oracle_err_mes
|
||||||
|
|| ')';
|
||||||
IF rec_fac.prs_woco_close_opdracht = 1
|
fac.imp_writelog (p_import_key,
|
||||||
THEN
|
'E',
|
||||||
IF rec_fac.mld_opdr_key IS NOT NULL
|
v_aanduiding || v_errormsg,
|
||||||
THEN
|
v_errorhint
|
||||||
-- Eerst afmelden, daarna op verwerkt.
|
);
|
||||||
-- Als die al afgemeld was, dan is deze call een dummy call en gebeurt verder niets.
|
COMMIT;
|
||||||
v_errorhint := 'mld setopdrachtstatus met 6 mislukt';
|
END;
|
||||||
mld.setopdrachtstatus (rec_fac.mld_opdr_key, 6, v_prs_perslid_key);
|
END LOOP;
|
||||||
-- Als die al verwerkt was, dan is deze call een dummy call en gebeurt verder niets.
|
END IF;
|
||||||
v_errorhint := 'mld setopdrachtstatus met 7 mislukt';
|
-- MARX#59862: Tobias 365 - Mareon: Bij Tobias AX365 wordt sync-mode = 2 gestuurd (AX365).
|
||||||
mld.setopdrachtstatus (rec_fac.mld_opdr_key, 7, v_prs_perslid_key);
|
-- Voor alle ERP's (mode =1 of mode = 2) moet onderstaande volgen...
|
||||||
END IF;
|
IF ((v_ax_sync_mode = '1') OR (v_ax_sync_mode = '2'))
|
||||||
END IF;
|
THEN
|
||||||
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS
|
|
||||||
THEN
|
|
||||||
oracle_err_num := SQLCODE;
|
|
||||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
||||||
v_errormsg :=
|
|
||||||
'OTHERS (error '
|
|
||||||
|| oracle_err_num
|
|
||||||
|| '/'
|
|
||||||
|| oracle_err_mes
|
|
||||||
|| ')';
|
|
||||||
fac.imp_writelog (p_import_key,
|
|
||||||
'E',
|
|
||||||
v_aanduiding || v_errormsg,
|
|
||||||
v_errorhint
|
|
||||||
);
|
|
||||||
COMMIT;
|
|
||||||
END;
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
v_errorhint := 'SYNC DATE LASTTIME mislukt';
|
v_errorhint := 'SYNC DATE LASTTIME mislukt';
|
||||||
UPDATE fac_usrdata ud1
|
UPDATE fac_usrdata ud1
|
||||||
SET ud1.fac_usrdata_omschr = (SELECT to_char(sync_date_now,'DD-MM-YYYY HH24:MI:SS') FROM mar_v_sync_ax s WHERE s.prs_perslid_key = v_prs_perslid_key)
|
SET ud1.fac_usrdata_omschr = (SELECT to_char(sync_date_now,'DD-MM-YYYY HH24:MI:SS') FROM mar_v_sync_ax s WHERE s.prs_perslid_key = v_prs_perslid_key)
|
||||||
@@ -12292,7 +12376,7 @@ AND l_prs_bedrijf_key = flex2.prs_bedrijf_key;
|
|||||||
|
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
BEGIN fac.registercustversion('MARX', 16); END;
|
BEGIN fac.registercustversion('MARX', 17); END;
|
||||||
/
|
/
|
||||||
|
|
||||||
------ payload end ------
|
------ payload end ------
|
||||||
|
|||||||
Reference in New Issue
Block a user