Quintiq file version 2.0
|
#parent: #root
|
MethodOverride CollectData () as owning structured_Object
|
{
|
TextBody:
|
[*
|
// Retrieve all the PlanningSalesDemandInPeriod, exclude demand in higher level
|
data := selectsortedset( this.GetMacroPlan(), SalesDemand.PlanningSalesDemandInPeriod, sdip,
|
not sdip.MasterSalesDemand().IsSoftDeleted()
|
and sdip.ProductInStockingPoint_MP().IsLeaf()
|
and sdip.FulfilledQuantity() >0.0,// only interested on fulfilled sdip
|
sdip.SalesSegmentName(), sdip.StockingPointID(), sdip.ProductID() );
|
|
|
|
// pass only unique BaseSalesDemandInPeriod
|
uniqueData := construct( BaseSalesDemandInPeriods );
|
|
// initialize pointers
|
pointerSalesSegment := '';
|
pointerStockingPoint := '';
|
pointerProduct := '';
|
|
traverse( data, Elements, sdip )
|
{
|
if( pointerSalesSegment <> sdip.SalesSegmentName() or
|
pointerStockingPoint <> sdip.StockingPointID() or
|
pointerProduct <> sdip.ProductID() )
|
{
|
uniqueData.Add( sdip );
|
|
// update pointers
|
pointerSalesSegment := sdip.SalesSegmentName();
|
pointerStockingPoint := sdip.StockingPointID();
|
pointerProduct := sdip.ProductID();
|
}
|
}
|
|
return &uniqueData;
|
*]
|
}
|