YASK#86818 Fout bij aanpassen maximumwaarde numeriek kenmerk in YASK productieomgeving
svn path=/Database/trunk/; revision=67567
This commit is contained in:
@@ -525,7 +525,7 @@ BEGIN
|
||||
|
||||
IF :new.prs_kenmerk_kenmerktype IN ('C', 'N') AND :new.prs_kenmerk_lengte IS NULL
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
|
||||
raise_application_error(-20000, 'PRS_C_PRS_KENMERK_LENGTE');
|
||||
END IF;
|
||||
IF :new.prs_kenmerk_kenmerktype = 'N' AND :new.prs_kenmerk_lengte > 20
|
||||
THEN
|
||||
@@ -538,29 +538,38 @@ BEGIN
|
||||
(:old.prs_kenmerk_nmin IS NULL AND :new.prs_kenmerk_nmin IS NOT NULL)
|
||||
THEN
|
||||
DECLARE
|
||||
Dummy CHAR;
|
||||
aantal NUMBER;
|
||||
BEGIN
|
||||
SELECT 'X'
|
||||
INTO Dummy
|
||||
SELECT COUNT(*)
|
||||
INTO aantal
|
||||
FROM prs_kenmerkLink
|
||||
WHERE FAC.SAFE_TO_NUMBER(prs_kenmerkLink_waarde) < :new.prs_kenmerk_nmin
|
||||
AND prs_kenmerk_key = :old.prs_kenmerk_key;
|
||||
IF :new.prs_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
|
||||
AND prs_kenmerk_key = :old.prs_kenmerk_key
|
||||
AND prs_link_key IN
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'A'
|
||||
UNION
|
||||
SELECT prs_bedrijf_key
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'B'
|
||||
UNION
|
||||
SELECT prs_contactpersoon_key
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_contactpersoon_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'C'
|
||||
UNION
|
||||
SELECT prs_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'P'
|
||||
);
|
||||
IF aantal > 0
|
||||
THEN
|
||||
raise_application_error(-20000, 'PRS_C_PRS_KENMERK_MIN_' || :new.prs_kenmerk_niveau);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN
|
||||
BEGIN
|
||||
IF :new.prs_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
@@ -568,29 +577,38 @@ BEGIN
|
||||
(:old.prs_kenmerk_nmax IS NULL AND :new.prs_kenmerk_nmax IS NOT NULL)
|
||||
THEN
|
||||
DECLARE
|
||||
Dummy CHAR;
|
||||
aantal NUMBER;
|
||||
BEGIN
|
||||
SELECT 'X'
|
||||
INTO Dummy
|
||||
SELECT COUNT(*)
|
||||
INTO aantal
|
||||
FROM prs_kenmerkLink
|
||||
WHERE FAC.SAFE_TO_NUMBER(prs_kenmerkLink_waarde) > :new.prs_kenmerk_nmax
|
||||
AND prs_kenmerk_key = :old.prs_kenmerk_key;
|
||||
IF :new.prs_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
|
||||
AND prs_kenmerk_key = :old.prs_kenmerk_key
|
||||
AND prs_link_key IN
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'A'
|
||||
UNION
|
||||
SELECT prs_bedrijf_key
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'B'
|
||||
UNION
|
||||
SELECT prs_contactpersoon_key
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_contactpersoon_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'C'
|
||||
UNION
|
||||
SELECT prs_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL
|
||||
AND :new.prs_kenmerk_niveau = 'P'
|
||||
);
|
||||
IF aantal > 0
|
||||
THEN
|
||||
raise_application_error(-20000, 'PRS_C_PRS_KENMERK_MAX_' || :new.prs_kenmerk_niveau);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN
|
||||
BEGIN
|
||||
IF :new.prs_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
Reference in New Issue
Block a user