I have a DAC MySOInfo defined as Child of SOOrder and another DAC MySODetail as Child of MySOInfo.
If a SOOrder is deleted in Screen SO301000, I would expect that the linked MySOInfo entries are deleted and MySODetail entries, too. In fact the first Children MySOInfo are deleted but the Children’s Children MySODetail are not deleted.
The DAC’s are defined like this:
[Serializable]
[PXCacheName("MySOInfo")]
public class MySOInfo : IBqlTable
{
#region RecordID
[PXDBIdentity(IsKey = true)]
public virtual int? RecordId { get; set; }
public abstract class recordId : PX.Data.BQL.BqlInt.Field<recordId> { }
#endregion
#region OrderNbr
[PXParent(typeof(SelectFrom<SOOrder>.Where<SOOrder.orderNbr.IsEqual<orderNbr>
.And<SOOrder.orderType.IsEqual<orderType>>>))]
[PXDBString(15, IsUnicode = true, InputMask = "")]
[PXUIField(DisplayName = "Order Nbr")]
public virtual string OrderNbr { get; set; }
public abstract class orderNbr : PX.Data.BQL.BqlString.Field<orderNbr> { }
#endregion
#region OrderType
[PXDBString(2, IsFixed = true, InputMask = "")]
[PXUIField(DisplayName = "Order Type")]
public virtual string OrderType { get; set; }
public abstract class orderType : PX.Data.BQL.BqlString.Field<orderType> { }
#endregion
....
}
[Serializable]
[PXCacheName("MySODetail")]
public class MySODetail : IBqlTable
{
#region BaseRecordID
[PXParent(typeof(SelectFrom<MySOInfo>.Where<MySOInfo.recordId.IsEqual<baseRecordID>>))]
[PXDBInt(IsKey = true)]
public virtual int? BaseRecordID { get; set; }
public abstract class baseRecordID : PX.Data.BQL.BqlInt.Field<baseRecordID> { }
#endregion
...
}
What do I have to do to have the Children’s Children deleted as well.