WDKA#68779 -- Inrichten Wedeka
svn path=/Customer/trunk/; revision=56621
This commit is contained in:
@@ -74,21 +74,25 @@ AS
|
||||
AS
|
||||
v_count NUMBER;
|
||||
r_datum DATE;
|
||||
r_datum_str VARCHAR2(10);
|
||||
BEGIN
|
||||
v_count:=1;
|
||||
IF (EXTRACT(YEAR FROM p_datum)< EXTRACT(YEAR FROM ADD_MONTHS(SYSDATE,-1*p_cyclus))) THEN
|
||||
LOOP
|
||||
IF TO_CHAR(ADD_MONTHS(p_datum,p_cyclus*v_count),'YYYY')='2021' OR v_count=5 THEN
|
||||
EXIT;
|
||||
ELSE
|
||||
v_count:=v_count+1;
|
||||
END IF;
|
||||
END LOOP;
|
||||
r_datum := ADD_MONTHS(p_datum, p_cyclus*v_count);
|
||||
v_count:=0;
|
||||
IF (p_cyclus=12) THEN
|
||||
r_datum_str := TO_CHAR(p_datum,'DD')||'-'||TO_CHAR(p_datum,'MM')||'-'||TO_CHAR(SYSDATE,'YYYY');
|
||||
r_datum := TO_DATE(r_datum_str,'DD-MM-YYYY');
|
||||
IF r_datum > TRUNC(SYSDATE) THEN
|
||||
r_datum := ADD_MONTHS(r_datum, -12);
|
||||
END IF;
|
||||
ELSIF (p_cyclus=36) THEN
|
||||
IF (EXTRACT(YEAR FROM p_datum) > EXTRACT(YEAR FROM SYSDATE)) THEN
|
||||
r_datum:=ADD_MONTHS(p_datum,-1*p_cyclus); -- geven laatste gekeurde datum door.
|
||||
ELSE
|
||||
v_count:= FLOOR((2022-EXTRACT(YEAR FROM p_datum))*12/p_cyclus);
|
||||
r_datum:= ADD_MONTHS(p_datum,v_count*p_cyclus);
|
||||
END IF;
|
||||
ELSE
|
||||
r_datum:=p_datum;
|
||||
END IF;
|
||||
|
||||
r_datum:=p_datum;
|
||||
END IF;
|
||||
RETURN r_datum;
|
||||
END;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user