The standard Order object has a Status picklist field defined as follows:
Picklist of values that indicate order status. Each value is within one of two status categories defined in StatusCode. For example, the status picklist might contain Draft, Ready for Review, and Ready for Activation values with a StatusCode of Draft.
There is also a StatusCode (Status Category) field defined as follows:
The status category for the order. An order can be either Draft or Activated. Label is Status Category.
Each Status is categorized as being a Draft status or an Activated status. (This is similar to Opportunity Stages being classified as Won / Closed (IsWon).)
The documentation states that the Order can be activated by setting the Status field to an Activated state:
The application can subsequently activate an order by updating it and setting the value in its Status field to an Activated state; however, the Status field is the only field you can update when activating the order.
How can I programmatically determine if a Status picklist entry value is an Activated or Draft Status, so that I can use it to activate the order?
I do not want to do something that requires referencing the status String such as the following since it is not super robust or portable.
order.Status = 'Activated';