Quintiq file version 2.0
|
#parent: #root
|
Method GeneratePlanningMatrixData () id:Method_FormSupplyPlanning_GeneratePlanningMatrixData
|
{
|
#keys: '[134266.2.80098287]'
|
Body:
|
[*
|
// Generate shadow planning cells
|
owner := shadow( MacroPlan.GlobalParameters_MP() );
|
|
|
traverse ( ApplicationMacroPlanner.DataHolderPeriods().Data(), Elements, period, period.IsPlanning() )
|
{
|
traverse( DataHolderProcess.Data(), Elements, process ) // For each ROW
|
{
|
|
pisp := DataHolderSCVSelection.Data().Element( 0 );
|
pispip := select( pisp, ProductInStockingPointInPeriodPlanning, p, p.Period_MP() = period );
|
|
newsupplies := selectset( process, SupplyBase.astype( NewSupply ), ns, ns.ProductInStockingPointInPeriodPlanning() = pispip, true );
|
|
qty := sum( newsupplies, Elements, e, e.Quantity() );
|
|
// For Operation
|
periodtask := select( newsupplies, Elements.PeriodTask_MP.astype( PeriodTaskOperation ), e , true );
|
// For trip
|
productintrip := select( newsupplies, Elements.ProductInTrip, e, true );
|
|
owner.PlanningCell( relnew,
|
Process_MP := process,
|
ProductInStockingPointInPeriodPlanning := pispip,
|
PeriodTask_MP := periodtask,
|
ProductInTrip := productintrip,
|
Quantity := qty,
|
InventoryQuantity := guard( pispip.InventorySupplyQuantity() + pispip.InventoryLevelStart(), 0.0 ) );
|
}
|
}
|
DataHolderShadowGlobalParameters.Data( &owner );
|
*]
|
}
|