Functie fac_f_fac_get_description toegevoegd die een default omschrijving teruggeeft voor het toe te voegen deel, terreinsector, gebouw of ruimte.
svn path=/Database/trunk/; revision=6804
This commit is contained in:
101
FAC/FAC_PAC.SRC
101
FAC/FAC_PAC.SRC
@@ -266,6 +266,107 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION FAC_F_FAC_GET_DESCRIPTION(LPNName IN VARCHAR2, CondKey IN NUMBER, Prefix IN VARCHAR2) RETURN VARCHAR2 IS
|
||||
NextVolgNr VARCHAR2(10);
|
||||
ReturnString VARCHAR2(30);
|
||||
BEGIN
|
||||
IF LPNName = 'LPN_INS_DEEL' THEN
|
||||
FOR i IN 3..10 LOOP
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr
|
||||
FROM ins_v_aanwezigdeel
|
||||
WHERE LTRIM(SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND ins_alg_locatie_key = CondKey
|
||||
AND ins_deel_parent_key IS NULL
|
||||
AND ins_deel_upper LIKE UPPER(Prefix)||'%'
|
||||
AND LENGTH(ins_deel_upper) <= LENGTH(Prefix)+i;
|
||||
IF NextVolgNr = '***' THEN
|
||||
IF i = 3 THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
NextVolgNr:= LPAD(NextVolgNr,i,'0');
|
||||
EXIT;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR' THEN
|
||||
FOR i IN 3..10 LOOP
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_terreinsector_code, LENGTH(alg_terreinsector_code)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr
|
||||
FROM alg_v_aanwezigterreinsector
|
||||
WHERE LTRIM(SUBSTR(alg_terreinsector_code, LENGTH(alg_terreinsector_code)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND alg_locatie_key = CondKey
|
||||
AND LENGTH(alg_terreinsector_code) <= i;
|
||||
IF NextVolgNr = '***' THEN
|
||||
IF i = 3 THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
NextVolgNr:= LPAD(NextVolgNr,i,'0');
|
||||
EXIT;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
ELSIF LPNName = 'LPN_ALG_GEBOUW' THEN
|
||||
FOR i IN 3..10 LOOP
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr
|
||||
FROM alg_v_aanweziggebouw
|
||||
WHERE LTRIM(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND alg_locatie_key = CondKey
|
||||
AND LENGTH(alg_gebouw_code) <= i;
|
||||
IF NextVolgNr = '***' THEN
|
||||
IF i = 3 THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
NextVolgNr:= LPAD(NextVolgNr,i,'0');
|
||||
EXIT;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
ELSIF LPNName = 'LPN_ALG_RUIMTE' THEN
|
||||
FOR i IN 3..10 LOOP
|
||||
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1)))+1)), '***')
|
||||
INTO NextVolgNr
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE LTRIM(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1))) BETWEEN '0' AND LPAD('9',i,'9')
|
||||
AND alg_verdieping_key = CondKey
|
||||
AND LENGTH(alg_ruimte_nr) <= i;
|
||||
IF NextVolgNr = '***' THEN
|
||||
IF i = 3 THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
NextVolgNr:= LPAD(NextVolgNr,i,'0');
|
||||
EXIT;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
END IF;
|
||||
ReturnString := Prefix||NextVolgNr;
|
||||
RETURN ReturnString;
|
||||
END;
|
||||
/
|
||||
|
||||
/*
|
||||
** Licentiecheck kan in form worden gedaan nu elke user leesrechten op systeemtabellen heeft.
|
||||
CREATE OR REPLACE PACKAGE fac_p_fac_session AS
|
||||
|
||||
Reference in New Issue
Block a user