ACCEPT

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