That sounds about right. I definitely would not delete such a record. Not only can such a field keep the record out of portals (and the filtering can take place at either the portal setup or at the relationship level), it can also be used to keep the record out of found sets and can keep the order totals out of calculated totals and averages. If your cancelled order has line item records, they can also be omitted via references to this status field in the related parent record in Orders.
Having some trouble with this because the portals I'm using have a ton of filtering applied to them using the "or" operator. So I cannot create a filter, for example, IsEmpty (CancelField) that will not show the record if the cancel field is checked because the record will still show since i'm using the "or" operator. Any other ways to do this?
Using a portal filter expression:
IsEmpty ( PortalTableOccurrence::CancelField ) AND ( bolean expression 1 or boolean expression 2 or ..... boolean expression last )
Using a relationship:
Define a calculation field, constNotCanceled, as: "Not_Canceled"
Set up an auto-enter setting in the Data box to enter Not_Canceled (no quotes) into CancelField of each newly created record. If you give this field a checkbox format, you can hide this value from view.
Add this pair of fields to those already specified for the relationship:
LayoutTableOccurrence::constNotCanceled = PortalTableOccurrence::CancelField