Skip to main content
Solved

2025R2: getting LineNbr in new CreatePOOrdersFromSODemandsExt in BQL

  • May 13, 2026
  • 2 replies
  • 49 views

Forum|alt.badge.img+2

Since LineNbr is no longer in the POFixedDemand DAC, does anyone have a BQL SELECT example for getting it from the recommended (dev release notes) CreatePOOrdersFromSODemandsExt graph extension?  

Here’s my current BQL:

 

Best answer by Naveen Boga

@bpgraves  In Acumatica 25 R2: LineNbr removed from POFixedDemand, now sourced via SOLineSplit.planID join.

 

You can join the SOLineSplit like below and verify.

 
public class POCreateExt : PXGraphExtension<POCreateSOExtension, POCreate>
{
public SelectFrom<POFixedDemand>
.LeftJoin<Vendor>
.On<Vendor.bAccountID.IsEqual<POFixedDemand.vendorID>>
.LeftJoin<POVendorInventory>
.On<POVendorInventory.recordID.IsEqual<POFixedDemand.priceRecordID>>
.LeftJoin<CRLocation>
.On<CRLocation.bAccountID.IsEqual<POFixedDemand.vendorID>
.And<CRLocation.locationID.IsEqual<POFixedDemand.vendorLocationID>>>
.LeftJoin<SOOrder>
.On<SOOrder.noteID.IsEqual<POFixedDemand.refNoteID>
.And<SOOrder.status.IsIn
SOOrderStatus.backOrder,
SOOrderStatus.open,
SOOrderStatus.shipping>>>
.LeftJoin<SOLineSplit>
.On<SOLineSplit.planID.IsEqual<POFixedDemand.planID>>
.LeftJoin<SOLine>
.On<SOLine.orderType.IsEqual<SOOrder.orderType>
.And<SOLine.orderNbr.IsEqual<SOOrder.orderNbr>>
.And<SOLine.lineNbr.IsEqual<SOLineSplit.lineNbr>>>
.LeftJoin<DropShipLink>
.On<DropShipLink.FK.SOLine>
.Where<POFixedDemand.refNoteID.IsEqual<@P.AsGuid>
.And<POFixedDemand.inventoryID.IsEqual<@P.AsInt>>
.And<SOLineSplit.lineNbr.IsEqual<@P.AsInt>>>
.View CreateShipmentDemand;
}

 

2 replies

Naveen Boga
Captain II
Forum|alt.badge.img+20
  • Captain II
  • Answer
  • May 14, 2026

@bpgraves  In Acumatica 25 R2: LineNbr removed from POFixedDemand, now sourced via SOLineSplit.planID join.

 

You can join the SOLineSplit like below and verify.

 
public class POCreateExt : PXGraphExtension<POCreateSOExtension, POCreate>
{
public SelectFrom<POFixedDemand>
.LeftJoin<Vendor>
.On<Vendor.bAccountID.IsEqual<POFixedDemand.vendorID>>
.LeftJoin<POVendorInventory>
.On<POVendorInventory.recordID.IsEqual<POFixedDemand.priceRecordID>>
.LeftJoin<CRLocation>
.On<CRLocation.bAccountID.IsEqual<POFixedDemand.vendorID>
.And<CRLocation.locationID.IsEqual<POFixedDemand.vendorLocationID>>>
.LeftJoin<SOOrder>
.On<SOOrder.noteID.IsEqual<POFixedDemand.refNoteID>
.And<SOOrder.status.IsIn
SOOrderStatus.backOrder,
SOOrderStatus.open,
SOOrderStatus.shipping>>>
.LeftJoin<SOLineSplit>
.On<SOLineSplit.planID.IsEqual<POFixedDemand.planID>>
.LeftJoin<SOLine>
.On<SOLine.orderType.IsEqual<SOOrder.orderType>
.And<SOLine.orderNbr.IsEqual<SOOrder.orderNbr>>
.And<SOLine.lineNbr.IsEqual<SOLineSplit.lineNbr>>>
.LeftJoin<DropShipLink>
.On<DropShipLink.FK.SOLine>
.Where<POFixedDemand.refNoteID.IsEqual<@P.AsGuid>
.And<POFixedDemand.inventoryID.IsEqual<@P.AsInt>>
.And<SOLineSplit.lineNbr.IsEqual<@P.AsInt>>>
.View CreateShipmentDemand;
}

 


Forum|alt.badge.img+2
  • Author
  • Semi-Pro III
  • May 14, 2026

@bpgraves  In Acumatica 25 R2: LineNbr removed from POFixedDemand, now sourced via SOLineSplit.planID join.

 

You can join the SOLineSplit like below and verify.

 
public class POCreateExt : PXGraphExtension<POCreateSOExtension, POCreate>
{
public SelectFrom<POFixedDemand>
.LeftJoin<Vendor>
.On<Vendor.bAccountID.IsEqual<POFixedDemand.vendorID>>
.LeftJoin<POVendorInventory>
.On<POVendorInventory.recordID.IsEqual<POFixedDemand.priceRecordID>>
.LeftJoin<CRLocation>
.On<CRLocation.bAccountID.IsEqual<POFixedDemand.vendorID>
.And<CRLocation.locationID.IsEqual<POFixedDemand.vendorLocationID>>>
.LeftJoin<SOOrder>
.On<SOOrder.noteID.IsEqual<POFixedDemand.refNoteID>
.And<SOOrder.status.IsIn
SOOrderStatus.backOrder,
SOOrderStatus.open,
SOOrderStatus.shipping>>>
.LeftJoin<SOLineSplit>
.On<SOLineSplit.planID.IsEqual<POFixedDemand.planID>>
.LeftJoin<SOLine>
.On<SOLine.orderType.IsEqual<SOOrder.orderType>
.And<SOLine.orderNbr.IsEqual<SOOrder.orderNbr>>
.And<SOLine.lineNbr.IsEqual<SOLineSplit.lineNbr>>>
.LeftJoin<DropShipLink>
.On<DropShipLink.FK.SOLine>
.Where<POFixedDemand.refNoteID.IsEqual<@P.AsGuid>
.And<POFixedDemand.inventoryID.IsEqual<@P.AsInt>>
.And<SOLineSplit.lineNbr.IsEqual<@P.AsInt>>>
.View CreateShipmentDemand;
}

 

Thank you so much!  I struggled with this for hours yesterday: I totally forgot about joining with SOLineSplit!  😀