I’m starting in on code customizations with this simple project, but I don’t know how to do the last step. In brief, I have added a PXDBScalar field to an SOShipment extension which pulls in the External Status field from SOShipmentCarrierData. The code displays correctly (C, S, or N), but I would like it to show the more user-friendly descriptions of ‘Completed’, ‘Workbench Processing’, or ‘Not Submitted’ respectively. Is there a way to have that display instead of the underlying code?
Context:
The goal is to have the PaceJet processing Status visible on the Process Shipments screen (SO503000) so that we can distinguish between shipments which have finished processing in the external carrier and those which have not; We don’t want to prepare invoices on shipments which have been confirmed but not fully packed through PaceJet.
To accomplish this, I extended SOShipment with a Scalar value using the following code (adjusting the code from another post)
public class SOShipmentExt : PXCacheExtension<PX.Objects.SO.SOShipment>
{
#region UsrCarrierStatus
[PXString]
[PXDBScalar(typeof(SearchFor<SOShipmentCarrierData.externalStatus>.
In<SelectFrom<SOShipmentCarrierData>.
Where<SOShipmentCarrierData.shipmentNbr.IsEqual<SOShipment.shipmentNbr>>>))]
[PXUIField(DisplayName="Pacejet Status", Enabled = false)]
public virtual string UsrCarrierStatus{ get; set; }
public abstract class usrCarrierStatus: PX.Data.BQL.BqlString.Field<usrCarrierStatus> { }
#endregion
}After publishing, I added the field as a column in the Process Shipments screen and confirmed that the ExternalStatus does populate through. However, only the base char(1) value is displayed. We’d prefer to see the same text available on the Shipment screen:

Any guidance or insight you can provide is appreciated!