ACCEPT

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