SORO#29841 Alleen prefix gebruiken, niet ins_srtdeel_key

svn path=/Database/trunk/; revision=22105
This commit is contained in:
Peter Feij
2014-07-08 14:02:45 +00:00
parent 7f9c7aa8d2
commit 69aaeb8531
3 changed files with 20 additions and 24 deletions

View File

@@ -8937,8 +8937,7 @@ AS
SELECT INS.GET_DESCRIPTION ('LPN_INS_DEEL',
NULL,
UPPER (rec.ins_srtdeel_code),
v_srtdeel_key)
UPPER (rec.ins_srtdeel_code))
INTO v_deel_oms
FROM ins_srtdeel
WHERE ins_srtdeel_key = v_srtdeel_key;
@@ -9145,9 +9144,7 @@ AS
SELECT INS.GET_DESCRIPTION (
'LPN_INS_DEEL',
NULL,
UPPER (rec.ins_srtdeel_code),
v_srtdeel_key
)
UPPER (rec.ins_srtdeel_code))
INTO v_deel_oms
FROM ins_srtdeel
WHERE ins_srtdeel_key = v_srtdeel_key;

View File

@@ -6,7 +6,7 @@
CREATE OR REPLACE PACKAGE ins AS
FUNCTION delete_deelkoppeling( DeelKey IN NUMBER ) RETURN BOOLEAN;
FUNCTION get_description(LPNName IN VARCHAR2, CondKey IN NUMBER, Prefix IN VARCHAR2, PrefixKey IN NUMBER) RETURN VARCHAR2;
FUNCTION get_description(LPNName IN VARCHAR2, CondKey IN NUMBER, Prefix IN VARCHAR2) RETURN VARCHAR2;
FUNCTION sprintf (ps IN varchar2, pins_deel_key IN number) RETURN varchar2;
END ins;
/
@@ -28,33 +28,32 @@ CREATE OR REPLACE PACKAGE BODY ins AS
-- Was: FAC_F_FAC_GET_DESCRIPTION
FUNCTION get_description(LPNName IN VARCHAR2
,CondKey IN NUMBER
,Prefix IN VARCHAR2
,PrefixKey IN NUMBER) RETURN VARCHAR2 IS
,Prefix IN VARCHAR2) RETURN VARCHAR2 IS
NextVolgNr VARCHAR2(30);
DeelUpper ins_deel.ins_deel_omschrijving%TYPE;
ReturnString VARCHAR2(30);
BEGIN
-- From 4.40 on, CondKey is dummy for ins_deel (object/subobject): uniqueness is assumed over the entire database
-- From 4.40 on, CondKey is dummy for ins_deel (object): uniqueness is assumed over the entire database
-- From DB23 on, object uniqueness is forced by prefix only, last parameter PrefixKey was dropped
IF LPNName = 'LPN_INS_DEEL'
THEN
SELECT NVL(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(Prefix)),'0'),'001')
INTO NextVolgNr
FROM INS_DEEL
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND LTRIM(SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1), '0') = TO_CHAR(fac.safe_to_integer ((SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1))))
AND ins_deel_parent_key IS NULL
AND ins_deel_verwijder IS NULL
AND ins_srtdeel_key = PrefixKey;
INTO NextVolgNr
FROM ins_deel
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND LTRIM(SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1), '0') = TO_CHAR(fac.safe_to_integer ((SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1))))
AND ins_deel_parent_key IS NULL
AND ins_deel_verwijder IS NULL;
ELSIF LPNName = 'LPN_INS_ONDERDEEL'
THEN
SELECT NVL(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(Prefix)),'0'),'001')
INTO NextVolgNr
FROM INS_DEEL
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND ins_deel_parent_key = CondKey
AND ins_deel_verwijder IS NULL;
INTO NextVolgNr
FROM INS_DEEL
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND ins_deel_parent_key = CondKey
AND ins_deel_verwijder IS NULL;
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR'
THEN
FOR i IN 3..10

View File

@@ -116,7 +116,7 @@ AS
AND ins_srtdeel_key = srtdeelkey
AND ins_deel_verwijder IS NULL;
-- Gevonden, dus niet uniek. Probeer het met een sterretje ervoor, passen ze dat later maar zelf aan
SELECT ins.get_description('LPN_INS_DEEL',parent_key , ins_srtdeel_code_upper, srtdeelkey)
SELECT ins.get_description('LPN_INS_DEEL',parent_key , ins_srtdeel_code_upper)
INTO omschrijving
FROM ins_srtdeel WHERE ins_srtdeel_key=srtdeelkey;
EXCEPTION