I added a new field to the item warehouse detail screen. We wanted to be able to choose the default bom and revision. i was trying to add a field updated event where it would automatically fill out the revision when the bom was selected. I tried to delete the default bom so that i could add it back in to see if my code was working , and i get the below error. i have also include the dac for the new field and the graph extension. Any idea why i started getting this error? The code builds successfully in visual studio and loads in fine.

public class INItemSiteFieldExt : PXCacheExtension<PX.Objects.IN.INItemSite>
{
#region UsrBOMRevision
public abstract class usrbOMRevision : PX.Data.BQL.BqlString.Field<usrbOMRevision> { }
protected string _UsrBOMRevision;
[RevisionIDField(DisplayName = "Bom Revision")]
[PXRestrictor(typeof(Where<AMBomItem.status, Equal<AMBomStatus.active>>), Messages.InactiveKitRevision, typeof(AMBomItem.bOMID), typeof(AMBomItem.revisionID), CacheGlobal = true)]
[PXSelector(typeof(Search<AMBomItem.revisionID,
Where<AMBomItem.bOMID, Equal<Current<INItemSiteExt.aMBOMID>>>>)
, typeof(AMBomItem.revisionID)
, typeof(AMBomItem.descr)
, typeof(AMBomItem.effStartDate)
, typeof(AMBomItem.effEndDate)
, DescriptionField = typeof(AMBomItem.descr))]
[PXForeignReference(typeof(CompositeKey<Field<INItemSiteExt.aMBOMID>.IsRelatedTo<AMBomItem.bOMID>, Field<INItemSiteExt.aMBOMID>.IsRelatedTo<AMBomItem.revisionID>>))]
//[PXLocalizableDefault(typeof(Search<AMBomItem.revisionID, Where<AMBomItem.bOMID, Equal<Current<INItemSiteExt.aMBOMID>>, And<AMBomItem.status, Equal<AMBomStatus.active>>>>),
//typeof(AMBomItem.revisionID), PersistingCheck = PXPersistingCheck.Nothing)]
//[PXUIRequired(typeof(IIf<Where<INItemSiteExt.aMBOMID, IsNotNull>, True, False>))]
public virtual string UsrBOMRevision
{
get
{
return this._UsrBOMRevision;
}
set
{
this._UsrBOMRevision = value;
}
}
#endregion
}
}
namespace PX.Objects.IN
{
public class INItemSiteMaint_Extension : PXGraphExtension<PX.Objects.IN.INItemSiteMaint>
{
#region Event Handlers
protected void _(Events.FieldUpdated<INItemSite, INItemSiteExt.aMBOMID> e)
{
INItemSite row = e.Row;
var rowext = row.GetExtension<INItemSiteExt>();
AMBomItem MyRev = PXSelect<AMBomItem, Where<AMBomItem.bOMID, Equal<INItemSiteExt.aMBOMID>, And<AMBomItem.status, Equal<AMBomStatus.active>>>>.Select(Base).TopFirst;
if (rowext.AMBOMID == null) return;
if (rowext.AMBOMID != null)
{
e.Cache.SetValue<INItemSiteFieldExt.usrbOMRevision>(row, MyRev.RevisionID);
}
}
#endregion
}
}
