YAXX#83574 Exact export gaat per regio ipv per district. Regio wordt Rabobank (key 121) en de districten worden kringen. De proforma exports blijven wel op district. Er komt dus per district een menu-item.

svn path=/Customer/trunk/; revision=67347
This commit is contained in:
Arthur Egberink
2024-12-10 09:43:00 +00:00
parent 5f83e6e2d2
commit 54a7f0e97f

View File

@@ -3110,7 +3110,7 @@ CREATE OR REPLACE PROCEDURE yask_select_exact_62_Rabo (p_applname IN VARCHAR2,
)
AS
BEGIN
vbxx_select_exact_xml (p_applname, p_applrun, '62', 741);
vbxx_select_exact_xml (p_applname, p_applrun, '62', NULL, 121);
END;
/
@@ -3119,11 +3119,11 @@ CREATE OR REPLACE PROCEDURE yask_select_exact_63_Rabo (p_applname IN VARCHAR2,
)
AS
BEGIN
vbxx_select_exact_xml (p_applname, p_applrun, '63', 741);
vbxx_select_exact_xml (p_applname, p_applrun, '63', NULL, 121);
END;
/
CREATE OR REPLACE VIEW yask_v_export_verwerk_exact_62_Rabo (
CREATE OR REPLACE VIEW yask_v_export_verwerk_exact_62_Rab (
result,
result_order
)
@@ -3131,7 +3131,7 @@ AS
SELECT result, result_order
FROM vbxx_v_export_verwerk_exact;
CREATE OR REPLACE VIEW yask_v_export_verwerk_exact_63_Rabo (
CREATE OR REPLACE VIEW yask_v_export_verwerk_exact_63_Rab (
result,
result_order
)
@@ -3139,23 +3139,23 @@ AS
SELECT result, result_order
FROM vbxx_v_export_verwerk_exact;
CREATE OR REPLACE PROCEDURE yask_select_verwerk_exact_62_Rabo (
CREATE OR REPLACE PROCEDURE yask_select_verwerk_exact_62_Rab (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
)
AS
BEGIN
vbxx_select_verwerk_exact (p_applname, p_applrun, '62', 741);
vbxx_select_verwerk_exact (p_applname, p_applrun, '62', NULL, 121);
END;
/
CREATE OR REPLACE PROCEDURE yask_select_verwerk_exact_63_Rabo (
CREATE OR REPLACE PROCEDURE yask_select_verwerk_exact_63_Rab (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
)
AS
BEGIN
vbxx_select_verwerk_exact (p_applname, p_applrun, '63', 741);
vbxx_select_verwerk_exact (p_applname, p_applrun, '63', NULL, 121);
END;
/
@@ -4416,6 +4416,187 @@ SELECT sd.ins_srtdiscipline_omschrijving,
AND km.mld_kenmerk_niveau = 'O'
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key;
-- Import functie om cateringbestellingen vanuit Rabobank via een webservice (importfunctie) in te lezen. Per aanroep
-- wordt er <20><>n cateringregel meegegeven. De catering wordt in res_rsv_artikel records geplaatst.
CREATE OR REPLACE PROCEDURE yask_import_rabo_catering (p_import_key IN NUMBER)
AS
CURSOR c_cursor IS
SELECT *
FROM fac_imp_file
WHERE fac_import_key = p_import_key
ORDER BY fac_imp_file_index;
v_newline VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000); -- Import line
v_field VARCHAR2 (100); -- Import field
v_fielddelimitor VARCHAR2 (1); -- Field seperator
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
v_count NUMBER;
v_error_count NUMBER;
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_skipfield VARCHAR2 (100);
-- De importvelden
v_datum_txt VARCHAR2 (1000);
v_datum DATE;
v_id VARCHAR2 (1000);
v_omschrijving VARCHAR2 (1000);
v_kostenplaats_id VARCHAR2 (1000);
v_kostenplaats_oms VARCHAR2 (1000);
v_bedrag_hoog_txt VARCHAR2 (1000);
v_bedrag_hoog NUMBER(9,2);
v_bedrag_laag_txt VARCHAR2 (1000);
v_bedrag_laag NUMBER(9,2);
v_bedrag_nul_txt VARCHAR2 (1000);
v_bedrag_nul NUMBER(9,2);
v_gebouw_code VARCHAR2 (1000);
v_gebouw_key NUMBER(10);
BEGIN
-- Eerst opruiming
-- Init
v_fielddelimitor := ';';
FOR rec1 IN c_cursor
LOOP
BEGIN
v_newline := rec1.fac_imp_file_line;
v_aanduiding := v_newline;
v_error_count := 0;
fac.imp_getfield (v_newline, v_fielddelimitor, v_omschrijving);
fac.imp_getfield (v_newline, v_fielddelimitor, v_datum_txt);
fac.imp_getfield (v_newline, v_fielddelimitor, v_id);
fac.imp_getfield (v_newline, v_fielddelimitor, v_kostenplaats_id);
fac.imp_getfield (v_newline, v_fielddelimitor, v_kostenplaats_oms);
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrag_hoog_txt);
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrag_laag_txt);
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrag_nul_txt);
fac.imp_getfield (v_newline, v_fielddelimitor, v_gebouw_code);
-- voeg nieuwe records toe
-- en wijzig bestaande records
v_aanduiding := v_datum_txt
|| ' | '
|| v_id
|| ' | '
|| v_omschrijving
|| ' | '
|| v_kostenplaats_id
|| ' | '
|| v_kostenplaats_oms
|| ' | '
|| v_bedrag_hoog_txt
|| ' | '
|| v_bedrag_laag_txt
|| ' | '
|| v_bedrag_nul_txt
|| ' | '
|| v_gebouw_code;
v_errorhint := 'Controleer datum';
v_datum := FAC.safe_to_date(v_datum_txt, 'yyyy-mm-dd');
IF (v_datum IS NULL)
THEN
fac.imp_writelog (p_import_key, 'E', 'Geen geldige datum', v_datum_txt);
v_error_count := v_error_count + 1;
END IF;
v_omschrijving := SUBSTR(v_omschrijving, 1, 60);
v_kostenplaats_id := SUBSTR(v_kostenplaats_id, 1, 30);
v_kostenplaats_oms := SUBSTR(v_kostenplaats_oms, 1, 60);
v_bedrag_hoog := FAC.safe_to_number(REPLACE(v_bedrag_hoog_txt, ',', '.'));
IF v_bedrag_hoog_txt IS NOT NULL AND v_bedrag_hoog IS NULL
THEN
fac.imp_writelog (p_import_key, 'E', 'Geen geldige bedrag hoog', v_bedrag_hoog_txt);
v_error_count := v_error_count + 1;
END IF;
v_bedrag_laag := FAC.safe_to_number(REPLACE(v_bedrag_laag_txt, ',', '.'));
IF v_bedrag_laag_txt IS NOT NULL AND v_bedrag_laag IS NULL
THEN
fac.imp_writelog (p_import_key, 'E', 'Geen geldige bedrag laag', v_bedrag_laag_txt);
v_error_count := v_error_count + 1;
END IF;
v_bedrag_nul := FAC.safe_to_number(REPLACE(v_bedrag_nul_txt, ',', '.'));
IF v_bedrag_nul_txt IS NOT NULL AND v_bedrag_nul IS NULL
THEN
fac.imp_writelog (p_import_key, 'E', 'Geen geldige bedrag nul', v_bedrag_nul_txt);
v_error_count := v_error_count + 1;
END IF;
v_errorhint := 'Controleer gebouw';
BEGIN
SELECT alg_gebouw_key
INTO v_gebouw_key
FROM alg_gebouw
WHERE alg_gebouw_verwijder IS NULL
AND UPPER (alg_gebouw_code) =
UPPER (TRIM (v_gebouw_code));
EXCEPTION WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (p_import_key, 'E', 'Gebouw kan niet gevonden worden.', v_gebouw_code);
v_error_count := v_error_count + 1;
END;
IF v_error_count = 0
THEN
INSERT INTO yask_imp_rabo_catering (datum,
id,
omschrijving,
kostenplaats_id,
kostenplaats_oms,
bedrag_hoog,
bedrag_laag,
bedrag_nul,
gebouw_key)
VALUES (v_datum,
v_id,
v_omschrijving,
v_kostenplaats_id,
v_kostenplaats_oms,
v_bedrag_hoog,
v_bedrag_laag,
v_bedrag_nul,
v_gebouw_key);
END IF;
END;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg :=
'OTHERS (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (p_import_key,
'E',
SUBSTR (v_errormsg, 1, 1000),
v_errorhint || ' - ' || v_aanduiding);
END;
/
CREATE OR REPLACE PROCEDURE yask_update_rabo_catering (p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
------ payload end ------