Resource: Property, Field : CommonWalls
Description
Error Messages
1) ERROR, common walls field is invalid for the property type.
2) ERROR, in multiselection, must have exactly one of 'one common wall', 'two common walls', or 'no common walls' selected.
3) ERROR, conflict in multiselection, cannot have both 'no one above' and 'no common walls' selected.
4) ERROR, conflict in multiselection, cannot have both 'no one below' and 'no common walls' selected.
5) ERROR, in multiselection, must have one or more of 'end unit', 'no one above', or 'no one below' selected.
Fields referenced within this rule
CommonWalls
PropertyType
StandardStatus
Syntax with comments and error messages
//[ErrMsg1^ERROR, common walls field is invalid for the property type.|LogicBlk1^FALSE|LogicBlk2^TRUE|LogicBlk3^FALSE]
//[ErrMsg2^ERROR, in multiselection, must have exactly one of 'one common wall', 'two common walls', or 'no common walls' selected.|LogicBlk1^FALSE|LogicBlk2^TRUE|LogicBlk4^FALSE]
//[ErrMsg3^ERROR, conflict in multiselection, cannot have both 'no one above' and 'no common walls' selected.|LogicBlk1^FALSE|LogicBlk2^TRUE|LogicBlk5^FALSE]
//[ErrMsg4^ERROR, conflict in multiselection, cannot have both 'no one below' and 'no common walls' selected.|LogicBlk1^FALSE|LogicBlk2^TRUE|LogicBlk6^FALSE]
//[ErrMsg5^ERROR, in multiselection, must have one or more of 'end unit', 'no one above', or 'no one below' selected.|LogicBlk1^FALSE|LogicBlk2^TRUE|LogicBlk7^FALSE]
// Grandfather logic block - line below
(/*[LogicBlk1]*/(.ENTRY. = .OLDVALUE.).AND..NOT.((LASTStandardStatus = .EMPTY.).OR.((LASTStandardStatus.IN.('I')).AND.StandardStatus.IN.('A','P')))).OR.
// If entry is not empty and has changed...
IIF((/*[LogicBlk2]*/(.ENTRY. != .EMPTY.).AND.(.ENTRY. != .OLDVALUE.)),
// Then check that not invalid property type for this field and...
(/*[LogicBlk3]*/.NOT.PropertyType.IN.('Comm','Clse','Busop','Land','Manu')).AND.
// can must contain either 'one common wall', 'two common walls', or 'no common walls' and...
(/*[LogicBlk4]*/COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('_1CW','_2CW','NCW'))) = 1).AND.
// can contain only one or none of the the following, 'no one above' or 'no common walls' and...
(/*[LogicBlk5]*/COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('NOA','NCW'))) < 2).AND.
// can contain only one or none of the the following, 'no one below' or 'no common walls' and...
(/*[LogicBlk6]*/COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('NOB','NCW'))) < 2).AND.
// must contain at least one of the following, 'end unit', 'no one above', 'no one below'.
(/*[LogicBlk7]*/COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('EU','NOA','NOB'))) > 0),
// Else, set to true if entry is empty.
.ENTRY. = .EMPTY.)
Syntax only
((.ENTRY. = .OLDVALUE.).AND..NOT.((LASTStandardStatus = .EMPTY.).OR.((LASTStandardStatus.IN.('I')).AND.StandardStatus.IN.('A','P')))).OR.IIF(((.ENTRY. != .EMPTY.).AND.(.ENTRY. != .OLDVALUE.)),(.NOT.PropertyType.IN.('Comm','Clse','Busop','Land','Manu')).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('_1CW','_2CW','NCW'))) = 1).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('NOA','NCW'))) < 2).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('NOB','NCW'))) < 2).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('EU','NOA','NOB'))) > 0),.ENTRY. = .EMPTY.)
Rule Unique ID
f1a5fc32-ba56-4adf-a359-b5f21b62b1f9
Rule Number
49