Quintiq file version 2.0
|
#parent: #root
|
Method InitializeProductInStockingPoint
|
{
|
Description: 'Create product in stocking point from sales demand, inventory supply, inventory specification, lane, disaggregation factors'
|
TextBody:
|
[*
|
// Create product in stocking point from sales demand, inventory supply, inventory specification, lane, disaggregation factors
|
// Get all related PISP combination strings
|
salesdemandpisps := this.GetSalesDemandPISP();
|
disaggregationfactorpisps := this.GetDisaggregationFactorPISP();
|
inventoryvaluepisps := this.GetInventoryValueAndCostPISP();
|
inventoryspecificationpisps := this.GetInventorySpecificationPISP();
|
inventorysupplypisps := this.GetInventorySupplyPISP();
|
lanepisps := this.GetLanePISP();
|
specificationpisps := this.GetSpecificationPISP();
|
dsdippisps := this.GetDisaggregratedSDIPPISP();
|
actualpisps := this.GetActualPISP();
|
safetystockpisps := this.GetSafetyStockPISP();
|
|
// Union all previously selected PISP combination strings into one set
|
pisp := salesdemandpisps.Union( disaggregationfactorpisps );
|
pisp := pisp.Union( inventoryvaluepisps );
|
pisp := pisp.Union( inventoryspecificationpisps );
|
pisp := pisp.Union( inventorysupplypisps );
|
pisp := pisp.Union( lanepisps );
|
pisp := pisp.Union( specificationpisps );
|
pisp := pisp.Union( dsdippisps );
|
pisp := pisp.Union( actualpisps );
|
pisp := pisp.Union( safetystockpisps );
|
|
// Remove duplicated elements in the set
|
pisp := pisp.Unique();
|
|
// Traverse the set of selected PISP combination strings
|
traverse( pisp, Elements, p )
|
{
|
// Tokenize the string
|
pispStrs := p.Tokenize( ";" );
|
|
// Check if the string is tokenize into 2 elements
|
if( pispStrs.Size() = 2 )
|
{
|
// Get ProductID and StockingPointID from the tokenize string
|
productId := pispStrs.Element( 0 );
|
stockingpointId := pispStrs.Element( 1 );
|
|
// Find Product_MP
|
product := Product_MP::FindProductTypeIndex( productId );
|
|
// Check if Product_MP is found, if it is found, add it to StockingPoint_MP
|
// to create ProductInStockingPoint_MP
|
if( not isnull( product ) )
|
{
|
product.AddToStockingPoint( stockingpointId );
|
}
|
}
|
}
|
*]
|
}
|