BLST#69823 -- aanpassing op export horizon berekening

svn path=/Customer/trunk/; revision=53946
This commit is contained in:
Norbert Wassink
2021-12-01 09:25:02 +00:00
parent e2d8bd451e
commit 32ec6279fe

View File

@@ -3090,9 +3090,9 @@ BEGIN
v_base := 'IKP_NEW';
v_totalPrice := 0;
v_SAPID := blst.get_SAPid ();
v_SAPID := blst.get_SAPid();
SELECT SYSDATE INTO v_today FROM DUAL;
--SELECT SYSDATE INTO v_today FROM DUAL;
v_horizon := 7;
@@ -3111,21 +3111,22 @@ BEGIN
AND rdp.res_ins_discipline_key = dis.ins_discipline_key;
-- bepaal dag van de week
SELECT TO_CHAR (SYSDATE, 'D') INTO v_DayOfWeek FROM DUAL;
--SELECT TO_CHAR (SYSDATE, 'D') INTO v_DayOfWeek FROM DUAL;
-- NWA: Bepalen of er feestdagen zitten de tussen nu en nu+v_horizon
SELECT COUNT (*)
INTO v_feestdagen
FROM mld_vrije_dagen vd
WHERE vd.mld_vrije_dagen_datum BETWEEN SYSDATE AND SYSDATE + v_horizon;
--SELECT COUNT (*)
-- INTO v_feestdagen
-- FROM mld_vrije_dagen vd
-- WHERE vd.mld_vrije_dagen_datum BETWEEN SYSDATE AND SYSDATE + v_horizon;
-- NWA: Hoe om te gaan met de feestdagen
--v_horizon := v_horizon + v_feestdagen;
v_horizon := v_horizon + blst.aantal_weekenddagen(SYSDATE, SYSDATE+v_horizon);
v_horizon := v_horizon + blst.aantal_vrije_dagen(SYSDATE, SYSDATE+v_horizon);
v_horizon := v_horizon + blst.aantal_weekenddagen(SYSDATE, SYSDATE+v_horizon);
--v_horizon := v_horizon + v_feestdagen;
v_horizon := v_horizon + NVL(blst.aantal_weekenddagen(TRUNC(SYSDATE), TRUNC(SYSDATE)+v_horizon),0);
v_horizon := v_horizon + NVL(blst.aantal_vrije_dagen(TRUNC(SYSDATE), TRUNC(SYSDATE)+v_horizon),0);
v_horizon := v_horizon + NVL(blst.aantal_weekenddagen(TRUNC(SYSDATE), TRUNC(SYSDATE)+v_horizon),0);
--IF v_dayOfWeek = '5' OR v_dayOfWeek = '6' -- als dag = donderdag(5) of vrijdag(6) dan er 2 bij optellen om over het weekend te kijken !
--THEN
-- v_horizon := v_horizon + 2;
@@ -3485,10 +3486,10 @@ BEGIN
--END IF;
v_horizon := v_horizon + blst.aantal_weekenddagen(SYSDATE, SYSDATE+v_horizon);
v_horizon := v_horizon + blst.aantal_vrije_dagen(SYSDATE, SYSDATE+v_horizon);
v_horizon := v_horizon + blst.aantal_weekenddagen(SYSDATE, SYSDATE+v_horizon);
v_horizon := v_horizon + NVL(blst.aantal_weekenddagen(TRUNC(SYSDATE), TRUNC(SYSDATE)+v_horizon),0);
v_horizon := v_horizon + NVL(blst.aantal_vrije_dagen(TRUNC(SYSDATE), TRUNC(SYSDATE)+v_horizon),0);
v_horizon := v_horizon + NVL(blst.aantal_weekenddagen(TRUNC(SYSDATE), TRUNC(SYSDATE)+v_horizon),0);
FOR rec IN sel_res_upd (v_horizon)
LOOP
BEGIN
@@ -4085,19 +4086,31 @@ AS
v_aanduiding VARCHAR2 (4000);
v_code_str VARCHAR2 (50);
v_code NUMBER;
v_counter NUMBER;
v_currentfile VARCHAR2(50);
CURSOR c1 IS
SELECT *
FROM fac_imp_file
WHERE fac_import_key = p_import_key
ORDER BY fac_imp_file_index;
WHERE fac_import_key = p_import_key;
-- ORDER BY fac_imp_file_index;
BEGIN
header_is_valid := 0;
v_counter :=0;
v_currentfile:='';
DELETE FROM blst_imp_sap;
--DELETE FROM blst_imp_sap;
v_aanduiding := 'Start inlees process';
COMMIT;
--COMMIT;
SELECT fac_import_filenaam
INTO v_currentfile
FROM fac_import
WHERE fac_import_key=p_import_key;
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
'currentfile :'||v_currentfile);
FOR rec IN c1
LOOP
@@ -4117,20 +4130,32 @@ BEGIN
fac.imp_getfield (v_newline, c_delim, v_leverdatum_str);
v_aanduiding := 'Valideer Headers';
IF (header_is_valid = 0)
DBMS_OUTPUT.PUT_LINE('GOT :'||v_sapnr_str);
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
'GOT :'||v_sapnr_str);
IF v_sapnr_str = 'SAPNR' -- ik heb een header te pakken
THEN
IF UPPER (TRIM (v_sapnr_str)) = 'SAPNR'
AND UPPER (TRIM (v_regelnr_str)) = 'REGELNR'
AND UPPER (TRIM (v_actioncode_str)) = 'ACTIONCODE'
AND UPPER (TRIM (v_artikelnr_str)) = 'ARTIKELNR'
AND UPPER (TRIM (v_aantal_str)) = 'AANTAL'
AND UPPER (TRIM (v_incprijs_str)) = 'INCPRIJS'
AND UPPER (TRIM (v_excprijs_str)) = 'EXCPRIJS'
AND UPPER (TRIM (v_leverdatum_str)) = 'LEVERDATUM'
THEN
header_is_valid := 1;
END IF;
v_counter:=v_counter+1;
DBMS_OUTPUT.PUT_LINE('GOT AN HEADER :'||v_counter);
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
'GOT AN HEADER :'||v_counter);
-- IF (header_is_valid = 0)
-- THEN
IF UPPER (TRIM (v_sapnr_str)) = 'SAPNR'
AND UPPER (TRIM (v_regelnr_str)) = 'REGELNR'
AND UPPER (TRIM (v_actioncode_str)) = 'ACTIONCODE'
AND UPPER (TRIM (v_artikelnr_str)) = 'ARTIKELNR'
AND UPPER (TRIM (v_aantal_str)) = 'AANTAL'
AND UPPER (TRIM (v_incprijs_str)) = 'INCPRIJS'
AND UPPER (TRIM (v_excprijs_str)) = 'EXCPRIJS'
AND UPPER (TRIM (v_leverdatum_str)) = 'LEVERDATUM'
THEN
header_is_valid := 1;
END IF;
ELSE
v_aanduiding := 'Converteer res_key voor ' || v_sapnr_str;
v_code_str := '0';
@@ -4145,7 +4170,11 @@ BEGIN
v_code_str := RPAD (v_code_str, LENGTH (v_sapnr_str), '0');
v_code := fac.safe_to_number (v_code_str);
v_res_key := fac.safe_to_number (v_sapnr_str) - v_code;
DBMS_OUTPUT.PUT_LINE('GOT AN ROW :'||v_res_key);
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
'GOT AN ROW :'||v_res_key);
--SUBSTR (LTRIM(v_sapnr_str), 4, LENGTH (LTRIM(v_sapnr_str))));
IF v_res_key > 0
@@ -4255,7 +4284,9 @@ BEGIN
aantal,
prijs,
inkoopprijs,
leverdatum)
leverdatum,
import_key,
filename)
VALUES (v_res_key,
v_regelnr,
v_actioncode_str,
@@ -4263,7 +4294,9 @@ BEGIN
v_aantal,
v_incprijs,
v_excprijs,
v_leverDatum);
v_leverDatum,
p_import_key,
v_currentfile);
EXCEPTION
WHEN OTHERS
THEN
@@ -4329,6 +4362,10 @@ EXCEPTION
'E',
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
'Inleesproces opdrachtstatusberichten afgebroken!');
-- Bij fouten gaan we ook de huidge import file verwijderen
DELETE FROM fac_imp_file
WHERE fac_import_key = p_import_key;
COMMIT;
END;
/
@@ -4355,7 +4392,7 @@ AS
0) art_key
FROM blst_imp_sap imp, res_rsv_ruimte res
WHERE res.res_rsv_ruimte_key = imp.res_key
ORDER BY imp.res_key, imp.regel_nr;
ORDER BY imp.filename,imp.res_key, imp.regel_nr;
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
@@ -4573,13 +4610,14 @@ BEGIN
SYSDATE,
v_aanduiding);
END IF;
fac.imp_writelog (p_import_key,
'S',
v_aanduiding,
v_errorhint);
END LOOP;
DELETE FROM blst_imp_sap WHERE import_key=p_import_key; -- Data is verwerkt dus opruimen.
COMMIT;
EXCEPTION
WHEN OTHERS
@@ -4592,6 +4630,10 @@ EXCEPTION
'E',
v_errormsg || v_aanduiding,
v_errorhint);
-- Ook als we een fout hebben de boel opruiomen anders blijven we er last van houden.
DELETE FROM blst_imp_sap WHERE import_key=p_import_key; -- Data is verwerkt dus opruimen.
COMMIT;
END;
/