...
A value of 'R' indicates that the user defined field is required. It is possible that an existing cost card will have no value for a UDF even though the cost card's expense type indicates that the UDF value should be required. This can come about by modifying the UDF treatment setting for the an expense type after the a cost card has been created with the expense type. In this case, if you attempt to update the cost card via web services, the absence of the UDF value will not cause the update to fail. However, if you attempt to insert a new cost card with a missing value for the UDF, or clear the UDF value on an existing cost card that has a value for the UDF, it will result in failure. Yes/no UDFs never have a UDF treatment of 'R', as a missing value for a yes/no UDF is considered equivalent to a value of 'no'. Therefore, by their nature the value cannot be missing.
A value of 'A' indicates that the user defined field is available (but optional). This means that the UDF value is supported, but it is allowable for the value to missing. Therefore, web services that retrieve cost cards may return no value to be clearedfor the UDF, and web services that update cost cards will allow the caller to remove the value of the UDF.
A value of 'N' indicates that the user defined field is not available. In other words, the user defined field does not apply for the expense type. Again, it is possible that a cost card of this expense type will have a defined value for such a UDF. That value will continue to be returned by web services that retrieve cost cards, and web services that update cost cards will allow the caller to either leave the existing value unchanged or clear the existing value. However, attempts to change the value (to a different, non-null value) will fail.
...