FMHN#84318 instellen bedrijfskalender
svn path=/Database/trunk/; revision=65492
This commit is contained in:
166
FAC/FAC_PAC.SRC
166
FAC/FAC_PAC.SRC
@@ -64,16 +64,16 @@ CREATE OR REPLACE PACKAGE fac
|
||||
FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER;
|
||||
FUNCTION getdomeinwaarde (dkey IN NUMBER, waarde IN VARCHAR2, ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2;
|
||||
FUNCTION getscopeleveltext (plevel IN NUMBER, ptype IN VARCHAR) RETURN VARCHAR;
|
||||
FUNCTION count_Work_Days ( pdate1 IN DATE , pdate2 IN DATE ) RETURN NUMBER;
|
||||
FUNCTION count_Work_Days_InclTime ( pdate1 IN DATE , pdate2 IN DATE ) RETURN NUMBER;
|
||||
FUNCTION iswerkdag (begindatum IN DATE, kalender IN VARCHAR2 DEFAULT 'Default') RETURN NUMBER;
|
||||
FUNCTION count_Work_Days ( pdate1 IN DATE , pdate2 IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default' ) RETURN NUMBER;
|
||||
FUNCTION count_Work_Days_InclTime ( pdate1 IN DATE , pdate2 IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default' ) RETURN NUMBER;
|
||||
FUNCTION iswerkdag (begindatum IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN NUMBER;
|
||||
FUNCTION iswerktijd RETURN NUMBER;
|
||||
FUNCTION datumtijdplusuitvoertijd (begindatum IN DATE, uitvoertijd IN NUMBER, uitvoertijdtype IN VARCHAR2) RETURN DATE;
|
||||
FUNCTION datumtijdplusuitvoertijd (begindatum IN DATE, uitvoertijd IN NUMBER, uitvoertijdtype IN VARCHAR2, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN DATE;
|
||||
FUNCTION datumtijdplusuitvoertijd (begindatum IN DATE, uitvoertijd IN NUMBER, uitvoertijdtype IN VARCHAR2,
|
||||
pBeginWerkUur IN NUMBER, pEindWerkUur IN NUMBER, pMode IN NUMBER) RETURN DATE;
|
||||
FUNCTION datumtijdnaaruitvoertijd (begindatum IN DATE, einddatum IN DATE, uitvoertijdtype IN VARCHAR2) RETURN MLD_T_UITVOERTIJD;
|
||||
pBeginWerkUur IN NUMBER, pEindWerkUur IN NUMBER, pMode IN NUMBER, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN DATE;
|
||||
FUNCTION datumtijdnaaruitvoertijd (begindatum IN DATE, einddatum IN DATE, uitvoertijdtype IN VARCHAR2, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN MLD_T_UITVOERTIJD;
|
||||
FUNCTION datumtijdnaaruitvoertijd (begindatum IN DATE, einddatum IN DATE, uitvoertijdtype IN VARCHAR2,
|
||||
pBeginWerkUur IN NUMBER, pEindWerkUur IN NUMBER, pMode IN NUMBER) RETURN MLD_T_UITVOERTIJD;
|
||||
pBeginWerkUur IN NUMBER, pEindWerkUur IN NUMBER, pMode IN NUMBER, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN MLD_T_UITVOERTIJD;
|
||||
FUNCTION getdatemillisec (i_date IN DATE) RETURN NUMBER;
|
||||
FUNCTION usrrap_query (p_tabelnaam IN VARCHAR2) RETURN VARCHAR2;
|
||||
FUNCTION usrrap_orderby (p_tabelnaam IN VARCHAR2) RETURN VARCHAR2;
|
||||
@@ -133,12 +133,12 @@ CREATE OR REPLACE PACKAGE fac
|
||||
PROCEDURE putjobnotifications (pviewname VARCHAR2, pmode NUMBER, pflags NUMBER, pqueue VARCHAR2 DEFAULT 'DEFAULT');
|
||||
FUNCTION getEmail ( pkey IN NUMBER ) RETURN VARCHAR2;
|
||||
FUNCTION getMobile ( pkey IN NUMBER ) RETURN VARCHAR2;
|
||||
PROCEDURE fac_nightly;
|
||||
PROCEDURE fac_nightly (pCalendarId IN VARCHAR2 DEFAULT 'Default');
|
||||
PROCEDURE fac_daily;
|
||||
PROCEDURE fac_weekly;
|
||||
PROCEDURE fac_monthly;
|
||||
PROCEDURE fac_pre_putorders;
|
||||
PROCEDURE executeschedules;
|
||||
PROCEDURE executeschedules(pCalendarId IN VARCHAR2 DEFAULT 'Default');
|
||||
PROCEDURE markorderassent(pxmlnode VARCHAR2, pkey NUMBER, presult NUMBER, presulttext VARCHAR2, pperslid_key NUMBER DEFAULT NULL);
|
||||
PROCEDURE marknotiassent(pnotikey NUMBER, presult NUMBER, presulttext VARCHAR2, pperslid_key NUMBER DEFAULT NULL);
|
||||
FUNCTION getSetting (pname IN VARCHAR2 ) RETURN VARCHAR2;
|
||||
@@ -155,14 +155,14 @@ CREATE OR REPLACE PACKAGE fac
|
||||
FUNCTION getdbversion RETURN VARCHAR2;
|
||||
FUNCTION getDefaultBehandelteam(p_stdm IN NUMBER) RETURN NUMBER;
|
||||
PROCEDURE processemail (pfrom IN VARCHAR2, pto IN VARCHAR2, psubject IN VARCHAR2, pbody IN VARCHAR2, psessionid IN VARCHAR2);
|
||||
FUNCTION isdatefeestdag(p_date IN DATE) RETURN BOOLEAN;
|
||||
FUNCTION calcnextcyclusdate (p_date IN DATE, p_mode IN NUMBER, p_eenheid IN NUMBER, p_periode IN NUMBER, p_bits IN NUMBER) RETURN DATE;
|
||||
FUNCTION nextcyclusdate (p_date IN DATE, p_mode IN NUMBER, p_eenheid IN NUMBER, p_periode IN NUMBER, p_bits IN NUMBER, p_steps IN NUMBER DEFAULT 0, p_ismjob IN NUMBER DEFAULT 0) RETURN DATE;
|
||||
FUNCTION nextcyclusdatedeel (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_steps IN NUMBER DEFAULT 0) RETURN DATE;
|
||||
FUNCTION nextcyclusdatesteps (p_date IN DATE, p_mode IN NUMBER, p_eenheid IN NUMBER, p_periode IN NUMBER, p_bits IN NUMBER, p_steps IN NUMBER DEFAULT 1, p_enddate IN DATE DEFAULT SYSDATE) RETURN NUMBER;
|
||||
FUNCTION isdatefeestdag(p_date IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN BOOLEAN;
|
||||
FUNCTION calcnextcyclusdate (p_date IN DATE, p_mode IN NUMBER, p_eenheid IN NUMBER, p_periode IN NUMBER, p_bits IN NUMBER, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN DATE;
|
||||
FUNCTION nextcyclusdate (p_date IN DATE, p_mode IN NUMBER, p_eenheid IN NUMBER, p_periode IN NUMBER, p_bits IN NUMBER, p_steps IN NUMBER DEFAULT 0, p_ismjob IN NUMBER DEFAULT 0, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN DATE;
|
||||
FUNCTION nextcyclusdatedeel (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_steps IN NUMBER DEFAULT 0, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN DATE;
|
||||
FUNCTION nextcyclusdatesteps (p_date IN DATE, p_mode IN NUMBER, p_eenheid IN NUMBER, p_periode IN NUMBER, p_bits IN NUMBER, p_steps IN NUMBER DEFAULT 1, p_enddate IN DATE DEFAULT SYSDATE, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN NUMBER;
|
||||
FUNCTION makehash (p_in VARCHAR2, method IN VARCHAR2 DEFAULT 'MD5') RETURN VARCHAR2;
|
||||
FUNCTION testhash (p_hash VARCHAR2, p_in VARCHAR2) RETURN NUMBER;
|
||||
PROCEDURE createlikebookmark (pxmlnode VARCHAR2, prefkey NUMBER);
|
||||
PROCEDURE createlikebookmark (pxmlnode VARCHAR2, prefkey NUMBER, pCalendarId IN VARCHAR2 DEFAULT 'Default');
|
||||
PROCEDURE sequence_nextval(p_seqname IN VARCHAR2, p_initval IN NUMBER DEFAULT 1, p_initexpire IN DATE DEFAULT NULL);
|
||||
PROCEDURE remove_tracking(p_xmlnode IN VARCHAR2, p_refkey IN NUMBER);
|
||||
FUNCTION exceeds_profiel (p_bestelbedrag IN NUMBER, p_prs_key IN NUMBER, p_disc_key IN NUMBER) RETURN BOOLEAN;
|
||||
@@ -429,7 +429,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END;
|
||||
|
||||
-- Sluit weekend en vrije dagen uit
|
||||
FUNCTION iswerkdag (begindatum IN DATE, kalender IN VARCHAR2 DEFAULT 'Default')
|
||||
FUNCTION iswerkdag (begindatum IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
RETURN NUMBER
|
||||
AS
|
||||
dagvdweek NUMBER;
|
||||
@@ -447,7 +447,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
INTO vrijedagen
|
||||
FROM mld_vrije_dagen
|
||||
WHERE mld_vrije_dagen_datum = TRUNC (begindatum)
|
||||
AND mld_vrije_dagen_id = kalender;
|
||||
AND mld_vrije_dagen_id = pCalendarId;
|
||||
|
||||
IF vrijedagen = 1
|
||||
THEN
|
||||
@@ -475,7 +475,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END;
|
||||
|
||||
-- Return number of workdays between two dates, not including the startdate, weekends and holidays
|
||||
FUNCTION count_Work_Days0( pdate1 IN DATE , pdate2 IN DATE, pInclTime IN BOOLEAN ) RETURN NUMBER IS
|
||||
FUNCTION count_Work_Days0( pdate1 IN DATE , pdate2 IN DATE, pInclTime IN BOOLEAN, pCalendarId IN VARCHAR2 DEFAULT 'Default' ) RETURN NUMBER IS
|
||||
eikdag NUMBER;
|
||||
v_date_from DATE;
|
||||
v_date_to DATE;
|
||||
@@ -539,7 +539,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM MLD_VRIJE_DAGEN
|
||||
WHERE TRUNC (MLD_VRIJE_DAGEN_DATUM) = v_date_to);
|
||||
WHERE TRUNC (MLD_VRIJE_DAGEN_DATUM) = v_date_to
|
||||
AND mld_vrije_dagen_id = pCalendarId
|
||||
);
|
||||
END IF;
|
||||
|
||||
-- Determine the registered holidays between FROM+1 (excluding startdate!) and TO
|
||||
@@ -547,6 +549,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
INTO v_holidays
|
||||
FROM MLD_VRIJE_DAGEN
|
||||
WHERE MLD_VRIJE_DAGEN_DATUM BETWEEN v_date_from+1 AND v_date_to
|
||||
AND mld_vrije_dagen_id = pCalendarId
|
||||
AND getweekdaynum(MLD_VRIJE_DAGEN_DATUM) NOT IN (1, 7); -- Weekenden worden al niet meegeteld
|
||||
|
||||
IF lbackwards THEN
|
||||
@@ -556,14 +559,14 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
FUNCTION count_Work_Days_InclTime( pdate1 IN DATE , pdate2 IN DATE ) RETURN NUMBER IS
|
||||
FUNCTION count_Work_Days_InclTime( pdate1 IN DATE , pdate2 IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default' ) RETURN NUMBER IS
|
||||
BEGIN
|
||||
RETURN count_Work_Days0(pdate1,pdate2, TRUE);
|
||||
RETURN count_Work_Days0(pdate1,pdate2, TRUE, pCalendarId);
|
||||
END;
|
||||
|
||||
FUNCTION count_Work_Days( pdate1 IN DATE , pdate2 IN DATE ) RETURN NUMBER IS
|
||||
FUNCTION count_Work_Days( pdate1 IN DATE , pdate2 IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default' ) RETURN NUMBER IS
|
||||
BEGIN
|
||||
RETURN count_Work_Days0(pdate1,pdate2, FALSE);
|
||||
RETURN count_Work_Days0(pdate1,pdate2, FALSE, pCalendarId);
|
||||
END;
|
||||
|
||||
/*
|
||||
@@ -573,7 +576,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
** Weekenddagen (Zondag = 1, Zaterdag = 7) en Vrije dagen (MLD_VRIJE_DAGEN).
|
||||
** Testscript beschikbaar: /SRC/SQL/_UTIL/test_datumtijd.sql.
|
||||
*/
|
||||
FUNCTION datumtijdplusuitvoertijd (begindatum IN DATE, uitvoertijd IN NUMBER, uitvoertijdtype IN VARCHAR2) RETURN DATE
|
||||
FUNCTION datumtijdplusuitvoertijd (begindatum IN DATE, uitvoertijd IN NUMBER, uitvoertijdtype IN VARCHAR2, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN DATE
|
||||
IS
|
||||
BEGIN
|
||||
IF BeginWerkUur IS NULL OR EindWerkUur IS NULL
|
||||
@@ -583,7 +586,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
DBMS_OUTPUT.put_line ('Recaching Werkuren ' || BeginWerkUur||'..'||EindWerkUur);
|
||||
END IF;
|
||||
RETURN datumtijdplusuitvoertijd (begindatum, uitvoertijd, uitvoertijdtype,
|
||||
BeginWerkUur, EindWerkUur, 1); -- 1=alleen werkdagen excl. vrije dagen
|
||||
BeginWerkUur, EindWerkUur, 1, pCalendarId); -- 1=alleen werkdagen excl. vrije dagen
|
||||
END;
|
||||
|
||||
-- Bereken de einddatum gegeven de begindatum en uitvoertijd. De mode bepaalt
|
||||
@@ -596,7 +599,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
uitvoertijdtype IN VARCHAR2,
|
||||
pBeginWerkUur IN NUMBER,
|
||||
pEindWerkUur IN NUMBER,
|
||||
pMode IN NUMBER)
|
||||
pMode IN NUMBER,
|
||||
pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
RETURN DATE
|
||||
IS
|
||||
returnval DATE;
|
||||
@@ -644,7 +648,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
SELECT COUNT ( * )
|
||||
INTO vrijedag
|
||||
FROM mld_vrije_dagen
|
||||
WHERE mld_vrije_dagen_datum = TRUNC (begindatum);
|
||||
WHERE mld_vrije_dagen_datum = TRUNC (begindatum)
|
||||
AND mld_vrije_dagen_id = pCalendarId;
|
||||
|
||||
IF (begindatum > TRUNC (begindatum) + (pEindWerkUur / 24) OR vrijedag = 1)
|
||||
THEN
|
||||
@@ -727,10 +732,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
-- Bepaal nieuwe delta.
|
||||
SELECT COUNT ( * )
|
||||
INTO delta
|
||||
FROM (SELECT * FROM mld_vrije_dagen
|
||||
FROM (SELECT * FROM mld_vrije_dagen WHERE mld_vrije_dagen_id = pCalendarId
|
||||
MINUS -- Igv. pMode=1 za+zo niet meetellen; deze worden sowieso geskipt!
|
||||
SELECT * FROM mld_vrije_dagen
|
||||
WHERE pMode = 1 AND fac.getweekdaynum (mld_vrije_dagen_datum) IN (1,7))
|
||||
WHERE pMode = 1 AND fac.getweekdaynum (mld_vrije_dagen_datum) IN (1,7)
|
||||
AND mld_vrije_dagen_id = pCalendarId
|
||||
)
|
||||
WHERE mld_vrije_dagen_datum BETWEEN LEAST(TRUNC (olddatumgereed + 1), TRUNC (newdatumgereed)) AND TRUNC (newdatumgereed);
|
||||
|
||||
EXIT WHEN delta = 0;
|
||||
@@ -753,7 +760,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
aantalwerkdagen := aantalwerkdagen + 1; -- inclusief extra dag
|
||||
END IF;
|
||||
|
||||
newdatumgereed := datumtijdplusuitvoertijd (datumbegin, aantalwerkdagen, 'DAGEN', pBeginWerkUur, pEindWerkUur, pMode);
|
||||
newdatumgereed := datumtijdplusuitvoertijd (datumbegin, aantalwerkdagen, 'DAGEN', pBeginWerkUur, pEindWerkUur, pMode, pCalendarId);
|
||||
|
||||
--Belangrijk: nu nog de eerder bepaalde gereedtijd zetten!
|
||||
returnval := TRUNC (newdatumgereed) + (gereeduur / 24);
|
||||
@@ -768,7 +775,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
-- datumtijdplusuitvoertijd(begin, datumtijdnaaruitvoertijd(begin, eind, type), type) == eind
|
||||
-- datumtijdnaaruitvoertijd(begin, datumtijdplusuitvoertijd(begin, uitvoertijd, type), type) == uitvoertijd
|
||||
-- Is de luxe versie van count_Work_Days
|
||||
FUNCTION datumtijdnaaruitvoertijd (begindatum IN DATE, einddatum IN DATE, uitvoertijdtype IN VARCHAR2) RETURN MLD_T_UITVOERTIJD
|
||||
FUNCTION datumtijdnaaruitvoertijd (begindatum IN DATE, einddatum IN DATE, uitvoertijdtype IN VARCHAR2, pCalendarId IN VARCHAR2 DEFAULT 'Default') RETURN MLD_T_UITVOERTIJD
|
||||
AS
|
||||
BEGIN
|
||||
IF BeginWerkUur IS NULL OR EindWerkUur IS NULL
|
||||
@@ -778,7 +785,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
DBMS_OUTPUT.put_line ('Recaching Werkuren ' || BeginWerkUur||'..'||EindWerkUur);
|
||||
END IF;
|
||||
RETURN datumtijdnaaruitvoertijd (begindatum, einddatum, uitvoertijdtype,
|
||||
BeginWerkUur, EindWerkUur, 1); -- 1=alleen werkdagen excl. vrije dagen
|
||||
BeginWerkUur, EindWerkUur, 1, pCalendarId); -- 1=alleen werkdagen excl. vrije dagen
|
||||
END datumtijdnaaruitvoertijd;
|
||||
|
||||
FUNCTION datumtijdnaaruitvoertijd (begindatum IN DATE,
|
||||
@@ -786,7 +793,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
uitvoertijdtype IN VARCHAR2,
|
||||
pBeginWerkUur IN NUMBER,
|
||||
pEindWerkUur IN NUMBER,
|
||||
pMode IN NUMBER)
|
||||
pMode IN NUMBER,
|
||||
pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
RETURN MLD_T_UITVOERTIJD
|
||||
AS
|
||||
uitvoertijd mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- constructor initialisatie
|
||||
@@ -833,7 +841,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
SELECT COUNT ( * )
|
||||
INTO vrijedagen
|
||||
FROM mld_vrije_dagen
|
||||
WHERE mld_vrije_dagen_datum = TRUNC (begindatum);
|
||||
WHERE mld_vrije_dagen_datum = TRUNC (begindatum)
|
||||
AND mld_vrije_dagen_id = pCalendarId;
|
||||
|
||||
IF vrijedagen = 1
|
||||
THEN
|
||||
@@ -843,7 +852,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
SELECT COUNT ( * )
|
||||
INTO vrijedagen
|
||||
FROM mld_vrije_dagen
|
||||
WHERE mld_vrije_dagen_datum = TRUNC (einddatum);
|
||||
WHERE mld_vrije_dagen_datum = TRUNC (einddatum)
|
||||
AND mld_vrije_dagen_id = pCalendarId;
|
||||
|
||||
IF vrijedagen = 1
|
||||
THEN
|
||||
@@ -866,7 +876,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
SELECT COUNT ( * )
|
||||
INTO vrijedagen
|
||||
FROM mld_vrije_dagen
|
||||
WHERE mld_vrije_dagen_datum BETWEEN TRUNC (begindatum + 1) AND einddatum - 1;
|
||||
WHERE mld_vrije_dagen_datum BETWEEN TRUNC (begindatum + 1) AND einddatum - 1
|
||||
AND mld_vrije_dagen_id = pCalendarId;
|
||||
|
||||
IF TRUNC (begindatum+1) = TRUNC (einddatum)
|
||||
THEN
|
||||
@@ -886,9 +897,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
IF iswerkdag (einddatum) = 0
|
||||
THEN
|
||||
laatstedag := 0;
|
||||
heledagen := fac.count_Work_Days (TRUNC (begindatum), TRUNC (einddatum));
|
||||
heledagen := fac.count_Work_Days (TRUNC (begindatum), TRUNC (einddatum), pCalendarId);
|
||||
ELSE
|
||||
heledagen := fac.count_Work_Days (TRUNC (begindatum), TRUNC (einddatum)) - 1;
|
||||
heledagen := fac.count_Work_Days (TRUNC (begindatum), TRUNC (einddatum), pCalendarId) - 1;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -3273,7 +3284,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
PROCEDURE fac_nightly
|
||||
PROCEDURE fac_nightly (pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
AS
|
||||
cust_daily VARCHAR2(20);
|
||||
has_cust_daily NUMBER(1);
|
||||
@@ -3349,7 +3360,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
fac_custprocedure('PRE_PUTORDERS');
|
||||
END;
|
||||
|
||||
PROCEDURE executeschedules
|
||||
PROCEDURE executeschedules(pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
AS
|
||||
newaantal NUMBER;
|
||||
|
||||
@@ -3376,14 +3387,18 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
0, -- mode: moment-modus
|
||||
COALESCE(fac_activiteit_eenheid, 1),
|
||||
fac_activiteit_periode,
|
||||
fac_activiteit_bits)
|
||||
fac_activiteit_bits,
|
||||
pCalendarId
|
||||
)
|
||||
AND fac_activiteit_einddatum)
|
||||
OR (fac_activiteit_volgende IS NULL AND fac_activiteit_einddatum IS NULL
|
||||
AND SYSDATE > fac.calcnextcyclusdate(TRUNC(fac_activiteit_eerste, 'DD') - 1,
|
||||
0, -- mode: moment-modus
|
||||
COALESCE(fac_activiteit_eenheid, 1),
|
||||
fac_activiteit_periode,
|
||||
fac_activiteit_bits)
|
||||
fac_activiteit_bits,
|
||||
pCalendarId
|
||||
)
|
||||
)
|
||||
)
|
||||
AND fac_activiteit_status_key IN (2, 3)
|
||||
@@ -3411,7 +3426,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
0, -- mode: moment-modus
|
||||
COALESCE(fac_activiteit_eenheid, 1),
|
||||
COALESCE(fac_activiteit_periode, 1),
|
||||
fac_activiteit_bits),
|
||||
fac_activiteit_bits,
|
||||
pCalendarId
|
||||
),
|
||||
fac_activiteit_laatste = SYSDATE,
|
||||
fac_activiteit_aantal = newaantal
|
||||
WHERE fac_activiteit_key = rec1.fac_activiteit_key;
|
||||
@@ -3423,7 +3440,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
0, -- mode: moment-modus
|
||||
COALESCE(fac_activiteit_eenheid, 1),
|
||||
COALESCE(fac_activiteit_periode, 1),
|
||||
fac_activiteit_bits),
|
||||
fac_activiteit_bits,
|
||||
pCalendarId
|
||||
),
|
||||
fac_activiteit_status_key = 2,
|
||||
fac_activiteit_aantal = newaantal
|
||||
WHERE fac_activiteit_key = rec1.fac_activiteit_key;
|
||||
@@ -5034,7 +5053,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END;
|
||||
|
||||
-- Is de meegegeven datum een feestdag
|
||||
FUNCTION isdatefeestdag(p_date IN DATE)
|
||||
FUNCTION isdatefeestdag(p_date IN DATE, pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
RETURN BOOLEAN
|
||||
IS
|
||||
inspdate DATE;
|
||||
@@ -5042,7 +5061,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
SELECT mvd.mld_vrije_dagen_datum
|
||||
INTO inspdate
|
||||
FROM mld_vrije_dagen mvd
|
||||
WHERE mvd.mld_vrije_dagen_datum = TRUNC(p_date, 'DD');
|
||||
WHERE mvd.mld_vrije_dagen_datum = TRUNC(p_date, 'DD')
|
||||
AND mvd.mld_vrije_dagen_id = pCalendarId;
|
||||
RETURN TRUE;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
@@ -5057,7 +5077,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
p_mode IN NUMBER,
|
||||
p_eenheid IN NUMBER,
|
||||
p_periode IN NUMBER,
|
||||
p_bits IN NUMBER)
|
||||
p_bits IN NUMBER,
|
||||
pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
RETURN DATE
|
||||
IS
|
||||
fromdate DATE;
|
||||
@@ -5095,10 +5116,10 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
BEGIN
|
||||
-- uurlijks
|
||||
inspdate := fromdate + p_periode / 24;
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate)
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate, pCalendarId)
|
||||
THEN
|
||||
-- Checkbox "Niet op feestdagen" is aangevinkt en de datum is een feestdag. De datum overslaan en bepaal de volgende inspectiedatum.
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits);
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
END IF;
|
||||
-- werking van cyclus_bits tbd
|
||||
END;
|
||||
@@ -5107,10 +5128,10 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
BEGIN
|
||||
-- dagelijks, elke cperiode dagen
|
||||
inspdate := fromdate + p_periode;
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate)
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate, pCalendarId)
|
||||
THEN
|
||||
-- Checkbox "Niet op feestdagen" is aangevinkt en de datum is een feestdag. De datum overslaan en bepaal de volgende inspectiedatum.
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits);
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
END IF;
|
||||
-- cyclus_bits heeft geen effect
|
||||
END;
|
||||
@@ -5171,10 +5192,10 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
inspdate := inspdate + nextday;
|
||||
END IF;
|
||||
END IF;
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate)
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate, pCalendarId)
|
||||
THEN
|
||||
-- Checkbox "Niet op feestdagen" is aangevinkt en de datum is een feestdag. De datum overslaan en bepaal de volgende inspectiedatum.
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits);
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
END IF;
|
||||
END;
|
||||
WHEN 3
|
||||
@@ -5273,7 +5294,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
-- Maar dan mag de datum niet een feestdag zijn als de checkbox "Niet op feestdagen" is aangevinkt.
|
||||
month1 := TO_NUMBER(TO_CHAR (fromdate, 'MM'));
|
||||
month2 := TO_NUMBER(TO_CHAR (inspdate, 'MM'));
|
||||
IF (inspdate > fromdate AND month1 = month2) AND NOT ((BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate))
|
||||
IF (inspdate > fromdate AND month1 = month2) AND NOT ((BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate, pCalendarId))
|
||||
THEN
|
||||
gevonden := TRUE;
|
||||
END IF;
|
||||
@@ -5293,17 +5314,17 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
IF (month1 <> month2)
|
||||
THEN
|
||||
-- Er is geen vijfde dag in de maand. De volgende bepalen.
|
||||
inspdate := calcnextcyclusdate (fromdateplusperiode, p_mode, p_eenheid, p_periode, p_bits);
|
||||
ELSIF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate)
|
||||
inspdate := calcnextcyclusdate (fromdateplusperiode, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
ELSIF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate, pCalendarId)
|
||||
THEN
|
||||
-- De datum is een feestdag en de checkbox "Niet op feestdagen" is aangevinkt. De datum overslaan en bepaal de volgende inspectiedatum.
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits);
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
END IF;
|
||||
ELSE
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate)
|
||||
IF (BITAND(p_bits, 128) = 128) AND isdatefeestdag(inspdate, pCalendarId)
|
||||
THEN
|
||||
-- De datum is een feestdag en de checkbox "Niet op feestdagen" is aangevinkt. De datum overslaan en bepaal de volgende inspectiedatum.
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits);
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
@@ -5431,7 +5452,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
p_periode IN NUMBER,
|
||||
p_bits IN NUMBER,
|
||||
p_steps IN NUMBER DEFAULT 0,
|
||||
p_ismjob IN NUMBER DEFAULT 0)
|
||||
p_ismjob IN NUMBER DEFAULT 0,
|
||||
pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
RETURN DATE
|
||||
IS
|
||||
inspdate DATE;
|
||||
@@ -5463,7 +5485,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
IF NOT (p_steps = 0 AND toekomst) -- p_steps != 0 || !toekomst
|
||||
THEN
|
||||
-- Calculate next cyclus date m.b.v. volledige datum met tijd.
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits);
|
||||
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
END IF;
|
||||
|
||||
-- Nu insdate_trunc van de next cyclus date weer bepalen
|
||||
@@ -5488,7 +5510,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
THEN
|
||||
RETURN inspdate;
|
||||
ELSE
|
||||
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, 0); -- volledige datum met tijd gebruiken
|
||||
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, 0, pCalendarId); -- volledige datum met tijd gebruiken
|
||||
END IF;
|
||||
ELSIF p_steps > 1 AND nuoftoekomst
|
||||
THEN
|
||||
@@ -5497,7 +5519,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
THEN
|
||||
RETURN inspdate;
|
||||
ELSE
|
||||
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, p_steps - 1); -- volledige datum met tijd gebruiken
|
||||
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, p_steps - 1, pCalendarId); -- volledige datum met tijd gebruiken
|
||||
END IF;
|
||||
END;
|
||||
|
||||
@@ -5509,7 +5531,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
-- De einddatum van het object (xcp.ins_srtcontroledl_xcp_eind) wordt niet meegenomen. De volgende inspectiedatum wordt gewoon teruggeven.
|
||||
FUNCTION nextcyclusdatedeel (p_insdeel IN NUMBER,
|
||||
p_srtcontrole IN NUMBER,
|
||||
p_steps IN NUMBER DEFAULT 0) -- Pas op: diverse klant-sql gebruiken deze functie
|
||||
p_steps IN NUMBER DEFAULT 0,
|
||||
pCalendarId IN VARCHAR2 DEFAULT 'Default') -- Pas op: diverse klant-sql gebruiken deze functie
|
||||
RETURN DATE
|
||||
IS
|
||||
inspdate DATE;
|
||||
@@ -5557,7 +5580,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
p_steps,
|
||||
xcp.ctr_ismjob
|
||||
xcp.ctr_ismjob,
|
||||
pCalendarId
|
||||
) inspectie_next
|
||||
INTO inspdate
|
||||
FROM ins_v_defined_inspect_xcp xcp
|
||||
@@ -5575,7 +5599,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
p_periode IN NUMBER,
|
||||
p_bits IN NUMBER,
|
||||
p_steps IN NUMBER DEFAULT 1, -- Standaard beginnen te tellen bij 1.
|
||||
p_enddate IN DATE DEFAULT SYSDATE)
|
||||
p_enddate IN DATE DEFAULT SYSDATE,
|
||||
pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
RETURN NUMBER
|
||||
IS
|
||||
fromdate DATE;
|
||||
@@ -5589,13 +5614,13 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
RETURN NULL;
|
||||
END IF;
|
||||
-- Calculate next cyclus date
|
||||
inspdate := calcnextcyclusdate (p_date, p_mode, p_eenheid, p_periode, p_bits);
|
||||
inspdate := calcnextcyclusdate (p_date, p_mode, p_eenheid, p_periode, p_bits, pCalendarId);
|
||||
IF ((p_eenheid = 0 AND TRUNC(inspdate, 'HH24') >= TRUNC(p_enddate, 'HH24')) OR
|
||||
(p_eenheid > 0 AND TRUNC(inspdate, 'DDD') >= TRUNC(p_enddate, 'DDD')))
|
||||
THEN
|
||||
RETURN p_steps;
|
||||
ELSE
|
||||
RETURN nextcyclusdatesteps (inspdate, p_mode, p_eenheid, p_periode, p_bits, p_steps + 1, p_enddate);
|
||||
RETURN nextcyclusdatesteps (inspdate, p_mode, p_eenheid, p_periode, p_bits, p_steps + 1, p_enddate, pCalendarId);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
@@ -5622,8 +5647,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
PROCEDURE createlikebookmark (pxmlnode VARCHAR2,
|
||||
prefkey NUMBER)
|
||||
PROCEDURE createlikebookmark (pxmlnode IN VARCHAR2,
|
||||
prefkey IN NUMBER,
|
||||
pCalendarId IN VARCHAR2 DEFAULT 'Default')
|
||||
IS
|
||||
expiredays NUMBER (10);
|
||||
likerkey NUMBER(10);
|
||||
|
||||
@@ -22727,6 +22727,7 @@ IS
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT fac_imp_csv_col01 datum
|
||||
, fac_imp_csv_col02 calendarid
|
||||
FROM fac_imp_csv
|
||||
WHERE fac_import_key = p_import_key;
|
||||
|
||||
@@ -22735,6 +22736,7 @@ IS
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count_new NUMBER := 0;
|
||||
v_datum DATE;
|
||||
v_calendar_id VARCHAR2 (50);
|
||||
|
||||
BEGIN
|
||||
FOR vrije_dag in c1
|
||||
@@ -22742,15 +22744,17 @@ BEGIN
|
||||
BEGIN
|
||||
v_datum := TO_DATE(vrije_dag.datum, 'dd-mm-yyyy');
|
||||
INSERT INTO mld_vrije_dagen
|
||||
( mld_vrije_dagen_datum )
|
||||
VALUES (v_datum);
|
||||
( mld_vrije_dagen_datum
|
||||
, mld_vrije_dagen_id
|
||||
)
|
||||
VALUES (v_datum, vrije_dag.calendarid);
|
||||
v_count_new := v_count_new + 1;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg := vrije_dag.datum || '/' || oracle_err_mes;
|
||||
v_errormsg := vrije_dag.calendarid ||' - '|| vrije_dag.datum || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key, 'E', v_errormsg, '');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
Reference in New Issue
Block a user