This will probably not answer your question fully, but perhaps it will get you one step closer. In class ReqTransPoMarkFirm, I found the following code in method createProdBOM. It appears in addition to being typed as Phantom on the Bill of material line itself, the coverage must be "derived directly" and the Released product must be of type Item (not Service). The "derived directly" is probably what causes the seemingly random behavior in your question. if ( reqTransBOM.bomType == BOMType::Phantom && reqTransBOM.IsDerivedDirectly && inventTable.ItemType == ItemType::Item) { if (!bom.BOMMap::itemBOMId(_prodTable.bomDate,reqTransBOM.Qty,reqTransBOM.inventDim())) { throw error(strFmt("@SYS112833",_prodTable.ItemId,reqTransBOM.ItemId,reqTransBOM.inventDim().InventSiteId)); } // expand phantom reqTransDerived = reqTransBOM.reqTransDirectlyDerived(true); if (reqTransDerived.RecId) {
↧