YASK#86818 Fout bij aanpassen maximumwaarde numeriek kenmerk in YASK productieomgeving

svn path=/Database/trunk/; revision=67567
This commit is contained in:
Erik Groener
2025-01-13 08:10:43 +00:00
parent 68e2ada5d5
commit 06be3fadc9
3 changed files with 78 additions and 39 deletions

View File

@@ -1511,6 +1511,16 @@ DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_KEY1' , 'De personeelsfunctionaris is
DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_KEY2' , 'De contactpersoon is niet geselecteerd.' , 'The Contact person was not selected.');
DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_OSLOGIN' , 'Het veld ''Login'' is niet uniek.' , 'The field ''Login'' is not unique.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_A' , 'Afdelingen gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found departments with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_B' , 'Bedrijven gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found companies with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_C' , 'Contactpersonen gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found contact persons with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_P' , 'Personen gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found persons with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_A' , 'Afdelingen gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found departments with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_B' , 'Bedrijven gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found companies with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_C' , 'Contactpersonen gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found contact persons with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_P' , 'Personen gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found persons with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_LENGTE', 'De lengte moet tussen 1 en 50 liggen.','Length must be between 1 and 50.');
DEF_FAC_MESSAGE ('PRS_I_PRS_BEDRIJFADRES2' , 'Combinatie bedrijf, district, locatie, opdrachttype, adrestype is niet uniek', 'Combination company, district, location, order type, address type is not unique');
DEF_FAC_MESSAGE ('PRS_R_ALG_LOCATIE_KEY1', 'De referentie naar locatie is niet ingevuld.','The reference to location has not been entered.');

View File

@@ -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;

View File

@@ -214,6 +214,17 @@ ALTER TABLE prs_perslid
ALTER TABLE fac_imp_perslid
MODIFY prs_perslid_oslogin VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#86818
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_A' , 'Afdelingen gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found departments with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_B' , 'Bedrijven gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found companies with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_C' , 'Contactpersonen gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found contact persons with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_P' , 'Personen gevonden die niet voldoen aan nieuwe min.waarde van dit kenmerksoort.' ,'Found persons with new min. values lower then de new min. value for property-type');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_A' , 'Afdelingen gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found departments with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_B' , 'Bedrijven gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found companies with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_C' , 'Contactpersonen gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found contact persons with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_P' , 'Personen gevonden die niet voldoen aan nieuwe max. waarde van dit kenmerksoort.' ,'Found persons with new max. value invalid for this property type.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_LENGTE', 'De lengte moet tussen 1 en 50 liggen.','Length must be between 1 and 50.');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')