MDUX#55136 Automatisch afwijzen van incompleet geïmporteerde facturen
svn path=/Customer/trunk/; revision=40163
This commit is contained in:
145
MDUX/mdux.sql
145
MDUX/mdux.sql
@@ -643,7 +643,13 @@ FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
|
||||
AND fin_kenmerk_key = 3;
|
||||
|
||||
|
||||
-- View waarin bij de factuur met fin_factuur_key het bijbehorende kenmerk 'incompleet wordt bepaald.
|
||||
CREATE OR REPLACE VIEW mdux_v_factuur_incompleet (fin_factuur_key, fin_factuur_incompleet)
|
||||
AS
|
||||
SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
|
||||
AND fin_kenmerk_key = 100;
|
||||
|
||||
-- view tbv export naar financieel systeem Navision
|
||||
CREATE OR REPLACE VIEW mdux_v_factuur_mldcnt_gegevens (
|
||||
@@ -740,6 +746,7 @@ AS
|
||||
prs_kostenplaats kp_c,
|
||||
prs_kostenplaats kp_o
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND f.fin_factuur_verwijder is null
|
||||
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
|
||||
AND f.bes_bestelopdr_key is null
|
||||
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
||||
@@ -754,7 +761,7 @@ AS
|
||||
AND f.fin_factuur_key = nav.fin_factuur_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW mdux_v_factuur_bes_gegevens (
|
||||
CREATE OR REPLACE VIEW MDUX_V_FACTUUR_BES_GEGEVENS (
|
||||
fin_factuur_key,
|
||||
opdracht_id,
|
||||
fin_factuur_datum,
|
||||
@@ -839,6 +846,7 @@ AS
|
||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
||||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||||
AND f.fin_factuur_verwijder is null
|
||||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
|
||||
AND f.fin_factuur_key = nav.fin_factuur_key(+);
|
||||
@@ -852,13 +860,14 @@ SELECT * from mdux_v_factuur_bes_gegevens;
|
||||
|
||||
|
||||
-- Alle facturen die of akkoord of afgewezen zijn, gaan terug naar Navision.
|
||||
-- MDUX#55136: ook facturen met de status incompleet gaan terug naar Navision
|
||||
CREATE OR REPLACE VIEW mdux_v_factuur_geg_2_navision
|
||||
AS
|
||||
SELECT * from mdux_v_factuur_mldcnt_gegevens
|
||||
WHERE fin_factuur_statuses_key IN (1,6)
|
||||
WHERE fin_factuur_statuses_key IN (1,6,3)
|
||||
UNION
|
||||
SELECT * from mdux_v_factuur_bes_gegevens
|
||||
WHERE fin_factuur_statuses_key IN (1,6);
|
||||
WHERE fin_factuur_statuses_key IN (1,6,3);
|
||||
|
||||
|
||||
|
||||
@@ -882,67 +891,105 @@ SELECT result, result_order FROM mdux_v_exp_navision_body
|
||||
UNION
|
||||
SELECT '</xml>',99999999999999999999 FROM DUAL;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE mdux_export_navision (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
CREATE OR REPLACE PROCEDURE mdux_export_navision (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
|
||||
-- In cursor cfactuur alle facturen die worden geexporteerd...
|
||||
CURSOR cfactuur
|
||||
IS
|
||||
CURSOR cfactuur
|
||||
IS
|
||||
SELECT fin_factuur_key, fin_factuur_statuses_key
|
||||
FROM mdux_v_factuur_geg_2_navision
|
||||
GROUP BY fin_factuur_key, fin_factuur_statuses_key;
|
||||
|
||||
c_kenmerk_key_afgewezen NUMBER(10) := 3;
|
||||
v_count NUMBER(10);
|
||||
FROM mdux_v_factuur_geg_2_navision
|
||||
GROUP BY fin_factuur_key, fin_factuur_statuses_key;
|
||||
|
||||
c_kenmerk_key_afgewezen NUMBER (10) := 3;
|
||||
c_kenmerk_key_incompleet NUMBER (10) := 100;
|
||||
v_count NUMBER (10);
|
||||
BEGIN
|
||||
-- DE EXPORT IS OP BASIS VAN EEN VIEW GEREALISEERD, WAARNA NU ALS LAATSTE STAP NOG WAT ADMINISTRATIE VOLGT...
|
||||
FOR cfact IN cfactuur
|
||||
LOOP
|
||||
|
||||
-- DE EXPORT IS OP BASIS VAN EEN VIEW GEREALISEERD, WAARNA NU ALS LAATSTE STAP NOG WAT ADMINISTRATIE VOLGT...
|
||||
FOR cfact IN cfactuur
|
||||
LOOP
|
||||
-- Zowel de factuur in tracking zetten als de status op verwerkt (=7) zetten
|
||||
IF cfact.fin_factuur_statuses_key = 6
|
||||
THEN
|
||||
-- Status akkoord kan op reguliere wijze naar verwerkt...
|
||||
fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL);
|
||||
-- Status akkoord kan op reguliere wijze naar verwerkt...
|
||||
fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL);
|
||||
ELSE
|
||||
IF cfact.fin_factuur_statuses_key = 1
|
||||
THEN
|
||||
-- Status afgewezen kan NIET op reguliere wijze naar verwerkt... (zie call MDUX#31142)
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM mdux_v_factuur_afgewezen
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
IF cfact.fin_factuur_statuses_key = 1
|
||||
THEN
|
||||
-- Status afgewezen kan NIET op reguliere wijze naar verwerkt... (zie call MDUX#31142)
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM mdux_v_factuur_afgewezen
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
UPDATE fin_kenmerkfactuur
|
||||
SET fin_kenmerkfactuur_waarde = '1'
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key
|
||||
AND fin_kenmerk_key = c_kenmerk_key_afgewezen;
|
||||
ELSE
|
||||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key, fin_kenmerk_key, fin_kenmerkfactuur_waarde)
|
||||
VALUES (cfact.fin_factuur_key, c_kenmerk_key_afgewezen, '1');
|
||||
END IF;
|
||||
END IF;
|
||||
IF v_count = 1
|
||||
THEN
|
||||
UPDATE fin_kenmerkfactuur
|
||||
SET fin_kenmerkfactuur_waarde = '1'
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key
|
||||
AND fin_kenmerk_key = c_kenmerk_key_afgewezen;
|
||||
ELSE
|
||||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||||
fin_kenmerk_key,
|
||||
fin_kenmerkfactuur_waarde)
|
||||
VALUES (cfact.fin_factuur_key,
|
||||
c_kenmerk_key_afgewezen,
|
||||
'1');
|
||||
END IF;
|
||||
|
||||
fac.trackaction ('FINVER', cfact.fin_factuur_key, NULL, NULL, 'Factuur van afgewezen naar verwerkt');
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 7
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
fac.trackaction ('FINVER',
|
||||
cfact.fin_factuur_key,
|
||||
NULL,
|
||||
NULL,
|
||||
'Factuur van afgewezen naar verwerkt');
|
||||
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 7
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
|
||||
ELSE
|
||||
IF cfact.fin_factuur_statuses_key = 3
|
||||
THEN
|
||||
-- Status incompleet kan NIET op reguliere wijze naar verwerkt... (zie call MDUX#55136)
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM mdux_v_factuur_incompleet
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
UPDATE fin_kenmerkfactuur
|
||||
SET fin_kenmerkfactuur_waarde = '1'
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key
|
||||
AND fin_kenmerk_key = c_kenmerk_key_incompleet;
|
||||
ELSE
|
||||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key,
|
||||
fin_kenmerk_key,
|
||||
fin_kenmerkfactuur_waarde)
|
||||
VALUES (cfact.fin_factuur_key,
|
||||
c_kenmerk_key_incompleet,
|
||||
'1');
|
||||
END IF;
|
||||
|
||||
fac.trackaction ('FINVER',
|
||||
cfact.fin_factuur_key,
|
||||
NULL,
|
||||
NULL,
|
||||
'Factuur van incompleet naar verwerkt');
|
||||
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 7
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW mdux_v_export_undo_navision (
|
||||
result,
|
||||
result_order
|
||||
|
||||
Reference in New Issue
Block a user