Bij aanpassen van werkpleknummer vanuit verwerken-project wordt fac_f_fac_get_description aangeroepen. Deze heeft nu pas de code voor het aanmaken van een werkplekomschrijving gekregen. svn path=/Database/trunk/; revision=7146
This commit is contained in:
108
FAC/FAC_PAC.SRC
108
FAC/FAC_PAC.SRC
@@ -66,6 +66,7 @@
|
||||
*
|
||||
*
|
||||
* Revivions:
|
||||
* 04-10-1999 EGR fac_f_fac_get_description uitgebreidt met LPN_PRS_WERKPLEK.
|
||||
* --- 01.46 ---
|
||||
* 19-05-1999 BIV ins_v_aanwezigdeel vervangen door all_v_aanwezigdeel in functie fac_f_fac_get_description.
|
||||
* 18-05-1999 BIV Functie fac_f_fac_get_description toegevoegd.
|
||||
@@ -274,13 +275,17 @@ END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION FAC_F_FAC_GET_DESCRIPTION(LPNName IN VARCHAR2, CondKey IN NUMBER, Prefix IN VARCHAR2,
|
||||
PrefixKey IN NUMBER) RETURN VARCHAR2 IS
|
||||
NextVolgNr VARCHAR2(10);
|
||||
ReturnString VARCHAR2(30);
|
||||
CREATE OR REPLACE FUNCTION FAC_F_FAC_GET_DESCRIPTION(LPNName IN VARCHAR2
|
||||
,CondKey IN NUMBER
|
||||
,Prefix IN VARCHAR2
|
||||
,PrefixKey IN NUMBER) RETURN VARCHAR2 IS
|
||||
NextVolgNr VARCHAR2(10);
|
||||
ReturnString VARCHAR2(30);
|
||||
BEGIN
|
||||
IF LPNName = 'LPN_INS_DEEL' THEN
|
||||
FOR i IN 3..10 LOOP
|
||||
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 all_v_aanwezigdeel
|
||||
@@ -289,22 +294,27 @@ BEGIN
|
||||
AND LENGTH(ins_deel_upper) <= LENGTH(Prefix)+i
|
||||
AND ins_alg_locatie_key = CondKey
|
||||
AND ins_srtdeel_key = PrefixKey;
|
||||
IF NextVolgNr = '***' THEN
|
||||
IF i = 3 THEN
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
IF LENGTH(NextVolgNr) <= i
|
||||
THEN
|
||||
NextVolgNr:= LPAD(NextVolgNr,i,'0');
|
||||
EXIT;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
ELSIF LPNName = 'LPN_INS_ONDERDEEL' THEN
|
||||
FOR i IN 3..10 LOOP
|
||||
ELSIF LPNName = 'LPN_INS_ONDERDEEL'
|
||||
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_deel
|
||||
@@ -315,86 +325,126 @@ BEGIN
|
||||
AND ins_deel_upper LIKE Prefix||'%'
|
||||
AND LENGTH(ins_deel_upper) <= LENGTH(Prefix)+i
|
||||
AND ins_srtdeel_key = PrefixKey;
|
||||
IF NextVolgNr = '***' THEN
|
||||
IF i = 3 THEN
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
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
|
||||
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
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
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
|
||||
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
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
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
|
||||
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
|
||||
IF NextVolgNr = '***'
|
||||
THEN
|
||||
IF i = 3
|
||||
THEN
|
||||
NextVolgNr := '001';
|
||||
ELSE
|
||||
NextVolgNr := POWER(10, (i-1));
|
||||
END IF;
|
||||
EXIT;
|
||||
ELSE
|
||||
IF LENGTH(NextVolgNr) <= i THEN
|
||||
IF LENGTH(NextVolgNr) <= i
|
||||
THEN
|
||||
NextVolgNr:= LPAD(NextVolgNr,i,'0');
|
||||
EXIT;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
ELSIF LPNName = 'LPN_PRS_WERKPLEK'
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT TO_CHAR(NVL(MAX(prs_werkplek_volgnr),0) +1)
|
||||
INTO NextVolgNr
|
||||
FROM prs_werkplek
|
||||
WHERE prs_alg_ruimte_key = CondKey
|
||||
AND prs_werkplek_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NextVolgNr := '1';
|
||||
END;
|
||||
/* Omschrijving */
|
||||
BEGIN
|
||||
SELECT alg_ruimte_nr ||' - '|| NextVolgNr
|
||||
INTO NextVolgNr
|
||||
FROM alg_ruimte
|
||||
WHERE alg_ruimte_key = CondKey;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN NULL;
|
||||
END;
|
||||
END IF;
|
||||
ReturnString := Prefix||NextVolgNr;
|
||||
RETURN ReturnString;
|
||||
|
||||
Reference in New Issue
Block a user