Resource: Property, Field : SpecialListingConditions
Description
SpecialListingConditions field must have a valid combination of values.
Error Messages
1) ERROR, the 'special listing conditions' field is invalid for the selected property type.
2) ERROR, the 'special listing conditions' field has an invalid combination of values.
Fields referenced within this rule
PropertyType
SpecialListingConditions
StandardStatus
Syntax with comments and error messages
//[ErrMsg1^ERROR, the 'special listing conditions' field is invalid for the selected property type.|LogicBlk1^FALSE|LogicBlk2^FALSE|LogicBlk3^TRUE|LogicBlk4^FALSE]
//[ErrMsg2^ERROR, the 'special listing conditions' field has an invalid combination of values.|LogicBlk1^FALSE|LogicBlk2^FALSE|LogicBlk3^TRUE|LogicBlk5^FALSE]
// Grandfather rule... line below
(/*[LogicBlk1]*/(.ENTRY. = .OLDVALUE.).AND..NOT.(((LASTStandardStatus = .EMPTY.).OR.(LASTStandardStatus.IN.('I'))).AND.(StandardStatus.IN.('A')))).OR.
// Administrator bypass... line below
(/*[LogicBlk2]*/.USERCLASS..IN.('BANGG','BANGQ','BANGP','BANGM','BANGN')).OR.
// If the entry is not empty and the entry has changed...
IIF((/*[LogicBlk3]*/(.ENTRY. != .EMPTY.).AND.(.ENTRY. != .OLDVALUE.)),
// Then check the the property type is not an invalid selection and ...
(/*[LogicBlk4]*/.NOT.(PropertyType.IN.('Rlse','Clse','Busop'))).AND.
// verify that the multi-select entry does not contain invalid combinations.
(/*[LogicBlk5]*/(('STD'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('NOD','REO','HUD','SPAY','PBL','AUCT','BNKR','TPAP'))) = 0)).OR.(('NOD'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','REO','HUD'))) = 0)).OR.(('REO'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','NOD','PBL','BNKR','TRUS','CONS'))) = 0)).OR.(('HUD'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','NOD','SPAY','PBL','BNKR','TPAP','TRUS','CONS'))) = 0)).OR.(('SPAY'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','HUD'))) = 0)).OR.(('PBL'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','REO','HUD','BNKR'))) = 0)).OR.(('AUCT'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','BNKR'))) = 0)).OR.(('BNKR'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','REO','HUD','PBL','AUCT'))) = 0)).OR.(('TPAP'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','HUD'))) = 0)).OR.(('TRUS'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('REO','HUD'))) = 0)).OR.(('CONS'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('REO','HUD'))) = 0))),
// Else accept the entry if empty.
.ENTRY. = .EMPTY.)
Syntax only
((.ENTRY. = .OLDVALUE.).AND..NOT.(((LASTStandardStatus = .EMPTY.).OR.(LASTStandardStatus.IN.('I'))).AND.(StandardStatus.IN.('A')))).OR.(.USERCLASS..IN.('BANGG','BANGQ','BANGP','BANGM','BANGN')).OR.IIF(((.ENTRY. != .EMPTY.).AND.(.ENTRY. != .OLDVALUE.)),(.NOT.(PropertyType.IN.('Rlse','Clse','Busop'))).AND.((('STD'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('NOD','REO','HUD','SPAY','PBL','AUCT','BNKR','TPAP'))) = 0)).OR.(('NOD'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','REO','HUD'))) = 0)).OR.(('REO'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','NOD','PBL','BNKR','TRUS','CONS'))) = 0)).OR.(('HUD'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','NOD','SPAY','PBL','BNKR','TPAP','TRUS','CONS'))) = 0)).OR.(('SPAY'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','HUD'))) = 0)).OR.(('PBL'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','REO','HUD','BNKR'))) = 0)).OR.(('AUCT'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','BNKR'))) = 0)).OR.(('BNKR'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','REO','HUD','PBL','AUCT'))) = 0)).OR.(('TPAP'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('STD','HUD'))) = 0)).OR.(('TRUS'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('REO','HUD'))) = 0)).OR.(('CONS'.IN.ARRAY(.ENTRY.)).AND.(COUNT(INTERSECTION(ARRAY(.ENTRY.),SET('REO','HUD'))) = 0))),.ENTRY. = .EMPTY.)
Rule Unique ID
79c5e318-2cc4-403a-8b16-1fc4a7e812ab
Rule Number
195