Quintiq file version 2.0
|
#parent: #root
|
Method GeneratePlanningMatrixData () id:Method_FormSupplyPlanWebClient_GeneratePlanningMatrixData
|
{
|
#keys: '[127710.1.1993166152]'
|
Body:
|
[*
|
// Generate shadow planning cells
|
|
if( not isnull( DataHolderProductInSPIP.Data() ) and DataHolderProductInSPIP.Data().Size() > 0 )
|
{
|
DataHolderShadowGlobalParameters.Data( null( shadow[GlobalParameters_MP], owning ) );
|
owner := shadow( MacroPlan.GlobalParameters_MP() );
|
DataHolderShadowGlobalParameters.Data( &owner );
|
|
traverse ( DataHolderMatrixEditorColumns.Data(), Elements, period )
|
{
|
traverse( DataHolderMatrixEditorRows.Data(), Elements, process ) // For each ROW
|
{
|
pisp := DataHolderProductInStockingPoints.Data().Element( 0 );
|
pispip := select( pisp, ProductInStockingPointInPeriodPlanning, p, p.Period_MP() = period )
|
|
qty := sum( process, SupplyBase.astype( NewSupply ), ns, ns.ProductInStockingPointInPeriodPlanning() = pispip, ns.Quantity() );
|
//total qty this routing has produced on the selected pispip
|
if( process.istype( Operation ) )
|
{
|
routing := process.astype( Operation ).RoutingStep().Routing();
|
qty := sum( routing, OperationOutput.NewSupply, ns, ns.ProductInStockingPointInPeriodPlanning() = pispip, ns.Quantity() );
|
}
|
|
// Create a new shadow AccountCostInPeriod
|
DataHolderShadowGlobalParameters.Data().PlanningCell( relnew,
|
Process_MP := process,
|
ProductInStockingPointInPeriodPlanning := pispip,
|
Quantity := qty,
|
InventoryQuantity := pispip.InventorySupplyQuantity() + pispip.InventoryLevelStart() );
|
}
|
}
|
}
|
*]
|
}
|