AAIT#78367 -- inkoopinterface automatisch runnen - ingepast voor INLO multiclients

svn path=/Customer/trunk/; revision=62654
This commit is contained in:
Jos Migo
2023-11-22 12:12:26 +00:00
parent cbf166d834
commit 8f4e9c0d87

View File

@@ -764,45 +764,72 @@ CREATE OR REPLACE PROCEDURE aaxx_export_exact_auto (
p_applrun IN VARCHAR2
)
AS
v_errormsg VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_prs_kenmerk_key NUMBER;
v_prs_bedrijf_key NUMBER := NULL ; -- Deze bepalen we per klantomgeving - betreft bedrijf_key 'HEYDAY FACILITY MANAGEMENT' voor dedicated omgevingen
v_inkooprun_auto VARCHAR(10) := '0';
v_kostenplaatsgrp_key NUMBER ;
v_exact_prefix VARCHAR(10);
CURSOR mc -- multi-client
IS
SELECT kpg.prs_kostenplaatsgrp_key,
x.export_kostenplaatsgrp_key,
x.fac_export_app_key
FROM prs_kostenplaatsgrp kpg,
(SELECT fac_export_app_key,
fac.safe_to_number (SUBSTR (fac_export_app_code, 7))
export_kostenplaatsgrp_key
FROM fac_export_app x
WHERE INSTR (fac_export_app_code, 'EXACT_') > 0
AND fac.safe_to_number (SUBSTR (fac_export_app_code, 7)) IS NOT NULL) x
WHERE kpg.prs_kostenplaatsgrp_key = x.export_kostenplaatsgrp_key
ORDER BY 1 ;
BEGIN
-- bepaal bedrijf HEYDAY
SELECT MAX(b.prs_bedrijf_key)
INTO v_prs_bedrijf_key
FROM prs_bedrijf b
WHERE UPPER(b.prs_bedrijf_naam) = 'HEYDAY FACILITY MANAGEMENT'
AND b.prs_bedrijf_verwijder IS NULL ;
-- kenmerk_key opzoeken voor deze omgeving
SELECT MAX(prs_kenmerk_key)
INTO v_prs_kenmerk_key
FROM prs_kenmerk
WHERE prs_kenmerk_code = 'EXACT_INKOOPRUN'
AND prs_kenmerk_niveau = 'B'
AND prs_kenmerk_verwijder IS NULL ;
-- staat het vinkje aan?
IF v_prs_kenmerk_key IS NOT NULL AND v_prs_bedrijf_key IS NOT NULL THEN
SELECT MAX(FLX.getflex ('PRS', v_prs_kenmerk_key, v_prs_bedrijf_key, 'B'))
INTO v_inkooprun_auto
FROM DUAL ;
-- voor dedicated omgevingen
IF aaxx_get_user NOT IN ('INLO')
THEN
v_exact_prefix := NULL ;
END IF;
-- als aan, dan de exact-export inplannen
IF v_inkooprun_auto = '1' THEN
SELECT aaxx_get_exact_setting('inkooprun',aaxx_get_user,NULL,NULL)
INTO v_inkooprun_auto
FROM dual;
-- als aan, dan de exact-export inplannen
IF v_inkooprun_auto = '1' THEN
INSERT INTO imp_schedule (imp_schedule_name) VALUES ('EXACT');
INSERT INTO imp_schedule (imp_schedule_name) VALUES ('EXACT');
END IF;
END IF;
END IF;
-- voor mutliclient omgevingen
FOR rec IN mc
LOOP
BEGIN
IF aaxx_get_user IN ('INLO')
THEN
SELECT aaxx_get_exact_setting('inkooprun',aaxx_get_user,NULL, rec.export_kostenplaatsgrp_key), '_' || TO_CHAR(rec.export_kostenplaatsgrp_key)
INTO v_inkooprun_auto, v_exact_prefix
FROM DUAL;
IF v_inkooprun_auto = '1' THEN
INSERT INTO imp_schedule (imp_schedule_name) VALUES ('EXACT' || v_exact_prefix);
END IF;
END IF;
END;
END LOOP;
END;
/
@@ -1018,10 +1045,10 @@ AS
check_kostensoort_afwijkend,
CASE WHEN aaxx_get_user NOT IN ('INLO') AND fac.safe_to_date (aaxx_get_exact_setting('datum', aaxx_get_user, NULL, NULL), 'dd-mm-yyyy') IS NOT NULL
AND COALESCE(kp_cnt.cnt_contract_looptijd_van, kp_opd.mld_opdr_datumbegin, kp_bes.bes_bestelling_datum) < fac.safe_to_date (aaxx_get_exact_setting('datum', aaxx_get_user, NULL, NULL), 'dd-mm-yyyy')
THEN 'datum verplichting < boekjaar_klant_afgerond'
THEN 'datum verplichting < boekjaar_klant_afgerond (' || TO_CHAR(aaxx_get_exact_setting('datum', aaxx_get_user, NULL, NULL)) || ')'
WHEN aaxx_get_user IN ('INLO') AND fac.safe_to_date (aaxx_get_exact_setting('datum', aaxx_get_user, NULL, COALESCE (kp_cnt.prs_kostenplaatsgrp_key, kp_opd.prs_kostenplaatsgrp_key,kp_bes.prs_kostenplaatsgrp_key)), 'dd-mm-yyyy') IS NOT NULL
AND COALESCE(kp_cnt.cnt_contract_looptijd_van, kp_opd.mld_opdr_datumbegin, kp_bes.bes_bestelling_datum) < fac.safe_to_date (aaxx_get_exact_setting('datum', aaxx_get_user, NULL, COALESCE (kp_cnt.prs_kostenplaatsgrp_key, kp_opd.prs_kostenplaatsgrp_key,kp_bes.prs_kostenplaatsgrp_key)), 'dd-mm-yyyy')
THEN 'datum verplichting < boekjaar_klant_afgerond'
THEN 'datum verplichting < boekjaar_klant_afgerond (' || TO_CHAR(aaxx_get_exact_setting('datum', aaxx_get_user, NULL, COALESCE (kp_cnt.prs_kostenplaatsgrp_key, kp_opd.prs_kostenplaatsgrp_key,kp_bes.prs_kostenplaatsgrp_key))) || ')'
ELSE ''
END
check_gesloten_boekdatum