From 1a4ac30955f609b720cb6b116b2158ea5b5bbd2c Mon Sep 17 00:00:00 2001
From: hongji.li <hongji.a.li@capgemini.com>
Date: 星期二, 31 十月 2023 20:18:11 +0800
Subject: [PATCH] 新增Pegging分析Form

---
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def                                                |   10 
 _Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl                                                                                   |   14 
 _Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl                                                                                             |    7 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def                           |   16 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def                                                                         |   37 
 _Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl                                                                                        |   24 
 _Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl                                                                                          |   21 
 _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def                                                                       |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def                                                       |   17 
 _Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl                                                                                                   |    7 
 _Main/BL/Type_PeggingResult/Attribute_ProductID.qbl                                                                                                       |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def                                                  |   25 
 _Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def                        |   15 
 _Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def                                                                           |   18 
 _Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def                                                                   |   41 
 _Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl                                                                                      |   27 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def                         |   17 
 _Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def                                                       |  117 +
 _Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl                                                                                                 |    7 
 _Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl                                                                                                  |    7 
 _Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl                                                       |   23 
 _Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl                                                                            |   23 
 _Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl                                                                               |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def                                                             |   17 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def                                           |   17 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def                               |   60 
 _Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl                                                                                           |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def                  |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def                                                                   |   63 
 _Main/BL/Type_PeggingResult/StaticMethod_Create.qbl                                                                                                       |   29 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def                                                                 |   24 
 _Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl                                                                             |    7 
 _Main/UI/MacroPlannerWebApp/Views/Pegging分析.vw                                                                                                            |  223 ++
 _Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl                                                                                                   |   25 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def                                              |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def                                                        |   25 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def                                                           |   41 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def |   23 
 _Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl                                                                                  |   23 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def       |   17 
 _Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl                                                                                                   |    7 
 _Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl                                                                                            |   54 
 _Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl                                                                                                  |    9 
 _Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl                                                             |   23 
 _Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl                                                                                      |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def                                                |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def                                        |   17 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def                    |   36 
 _Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl                                                                                          |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def                                                      |   10 
 _Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl                                                                                                      |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def                                                     |   18 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def                                                          |   23 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def                                                             |   60 
 _Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl                                                                                     |    7 
 _Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl                                                              |    9 
 _Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl                                                                                                   |   26 
 _Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def                                             |   22 
 _Main/BL/Type_PeggingResult/Attribute_StartDate.qbl                                                                                                       |    7 
 _var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw                                                                                  | 3633 ++++++++++++++++++++++++++++++++---------
 _Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl                                                       |   23 
 61 files changed, 4,277 insertions(+), 852 deletions(-)

diff --git a/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl b/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..aabfffd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP_PeggingProductInSalesDemandBase
+{
+  #keys: '1[414702.1.290710058]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide PeggingProduct_MP
+  {
+    #keys: '3[414702.1.290710060][414702.1.290710059][414702.1.290710061]'
+    Cardinality: '0to1'
+    ObjectDefinition: PeggingProductInSalesDemandBase
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PeggingProductInSalesDemandBase
+  {
+    #keys: '3[414702.1.290710063][414702.1.290710062][414702.1.290710064]'
+    Cardinality: '1toN'
+    ObjectDefinition: PeggingProduct_MP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl b/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..17eff95
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP
+{
+  #keys: '1[414702.1.290710038]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDSOP
+  {
+    #keys: '3[414702.1.290710040][414702.1.290710039][414702.1.290710041]'
+    Cardinality: '0to1'
+    ObjectDefinition: PeggingProduct_MP
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PeggingProduct_MP
+  {
+    #keys: '3[414702.1.290710043][414702.1.290710042][414702.1.290710044]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDSOP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl b/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl
new file mode 100644
index 0000000..485b308
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_AllChild_PeggingResult_AllParent
+{
+  #keys: '1[414702.1.294852003]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide AllChild
+  {
+    #keys: '3[414702.1.294852005][414702.1.294852004][414702.1.294852006]'
+    Cardinality: '1toN'
+    ObjectDefinition: PeggingResult
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide AllParent
+  {
+    #keys: '3[414702.1.294852008][414702.1.294852007][414702.1.294852009]'
+    Cardinality: '0to1'
+    ObjectDefinition: PeggingResult
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl b/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl
new file mode 100644
index 0000000..c36e77b
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_Child_PeggingResult_Parent
+{
+  #keys: '1[414702.1.290710113]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Child
+  {
+    #keys: '3[414702.1.290710115][414702.1.290710114][414702.1.290710116]'
+    Cardinality: '1toN'
+    ObjectDefinition: PeggingResult
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Parent
+  {
+    #keys: '3[414702.1.290710118][414702.1.290710117][414702.1.290710119]'
+    Cardinality: '0to1'
+    ObjectDefinition: PeggingResult
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl b/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl
new file mode 100644
index 0000000..b399e75
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSalesDemandBase_PeggingResult
+{
+  #keys: '1[414702.1.290710098]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide PeggingProductInSalesDemandBase
+  {
+    #keys: '3[414702.1.290710100][414702.1.290710099][414702.1.290710101]'
+    Cardinality: '0to1'
+    ObjectDefinition: PeggingResult
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PeggingResult
+  {
+    #keys: '3[414702.1.290710103][414702.1.290710102][414702.1.290710104]'
+    Cardinality: '1toN'
+    ObjectDefinition: PeggingProductInSalesDemandBase
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl
new file mode 100644
index 0000000..47736bd
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[414702.1.294748144][414702.1.294748143][414702.1.294748145]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl
new file mode 100644
index 0000000..1df641d
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesDemandBaseID
+{
+  #keys: '3[414702.1.294144484][414702.1.294144483][414702.1.294144485]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl
new file mode 100644
index 0000000..76121f8
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[414702.1.294179414][414702.1.294179413][414702.1.294179415]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..7571b1e
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414702.1.294179270][414702.1.294179269][414702.1.294179271]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl
new file mode 100644
index 0000000..1563969
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingProductInSalesDemandBase
+{
+  #keys: '5[414702.1.290710055][414702.1.290710053][0.0.0][414702.1.290710054][414702.1.290710056]'
+  BaseType: Object
+  StructuredName: 'PeggingProductInSalesDemandBases'
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl
new file mode 100644
index 0000000..1aa0e94
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.1.290710074][414702.1.290710073][414702.1.290710075]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
new file mode 100644
index 0000000..c64e4ba
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+  GlobalOTDSOP globalOTDSOP,
+  Product_MPs product_MPs
+)
+{
+  TextBody:
+  [*
+    globalOTDSOP.PeggingProduct_MP( relflush );
+    
+    product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() );
+    
+    traverse ( product_MPs, Elements, pmp ) {
+      targetPeggingProduct_MP := globalOTDSOP.PeggingProduct_MP( relnew, ProductID := pmp.ID() );
+      traverse ( pmp, SalesDemand, sd ) {
+        targetPeggingProduct_MP.PeggingProductInSalesDemandBase( relnew, 
+                                                                 StockingPointID   := sd.StockingPointID(), 
+                                                                 SalesDemandBaseID := sd.ID(),
+                                                                 Quantity          := sd.Quantity(),
+                                                                 StartDate         := sd.StartDate() );
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl b/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..6b2219e
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingProduct_MP
+{
+  #keys: '5[414702.1.290710035][414702.1.290710033][0.0.0][414702.1.290710034][414702.1.290710036]'
+  BaseType: Object
+  StructuredName: 'PeggingProduct_MPs'
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl
new file mode 100644
index 0000000..0d3c804
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FulfillmentQuantity
+{
+  #keys: '3[414702.1.294201083][414702.1.294201082][414702.1.294201084]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl b/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl
new file mode 100644
index 0000000..610302a
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfPlies
+{
+  #keys: '3[414702.1.294145595][414702.1.294145594][414702.1.294145596]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl
new file mode 100644
index 0000000..d0beff9
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.1.294201096][414702.1.294201095][414702.1.294201097]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl
new file mode 100644
index 0000000..62f0fec
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[414702.1.294201063][414702.1.294201062][414702.1.294201064]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..6a9dcad
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414702.1.294201106][414702.1.294201105][414702.1.294201107]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl
new file mode 100644
index 0000000..053a461
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyQuantity
+{
+  #keys: '3[414702.1.294201073][414702.1.294201072][414702.1.294201074]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl b/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl
new file mode 100644
index 0000000..fcfb218
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyType
+{
+  #keys: '3[414702.1.294201053][414702.1.294201052][414702.1.294201054]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl b/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl
new file mode 100644
index 0000000..1d741f1
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasurementName
+{
+  #keys: '3[414702.1.294852022][414702.1.294852021][414702.1.294852023]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl
new file mode 100644
index 0000000..2225ae7
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+  String productID,
+  String stockingPointID,
+  Date startDate,
+  Real supplyQuantity,
+  Real fulfillmentQuantity,
+  String supplyType,
+  Number numberOfPlies,
+  String unitOfMeasurementName
+) as PeggingResult
+{
+  TextBody:
+  [*
+    peggingResult := peggingProductInSalesDemandBase.PeggingResult( relnew, 
+                                                                    ProductID             := productID,
+                                                                    StockingPointID       := stockingPointID,
+                                                                    StartDate             := startDate,
+                                                                    SupplyQuantity        := supplyQuantity,
+                                                                    FulfillmentQuantity   := fulfillmentQuantity,
+                                                                    SupplyType            := supplyType,
+                                                                    NumberOfPlies         := numberOfPlies,
+                                                                    UnitOfMeasurementName := unitOfMeasurementName
+                                                                   );
+    return peggingResult;
+  *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..88e5695
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+  PeggingProductInSalesDemandBases peggingProductInSalesDemandBases,
+  const MacroPlan macroPlan
+)
+{
+  TextBody:
+  [*
+    traverse ( peggingProductInSalesDemandBases, Elements, ppisdb ) {
+      ppisdb.PeggingResult( relflush );
+      targetSalesDemand := select( macroPlan, SalesDemand, tempSD, tempSD.ID() = ppisdb.SalesDemandBaseID() );
+      traverse ( targetSalesDemand, SalesDemandInPeriod.Fulfillment, f ) {
+        smp                 := f.Supply_MP();
+        fulfillmentQuantity := f.Quantity();
+        PeggingResult::GeneratePeggingResult( ppisdb, 
+                                              0,
+                                              smp,
+                                              fulfillmentQuantity,
+                                              null( PeggingResult ) );
+                                              
+        PeggingResult::SetAllChildRelation( ppisdb, null( PeggingResult ), null( PeggingResult ) );
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl
new file mode 100644
index 0000000..cd9495b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateInventorySupply (
+  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+  Number numberOfPlies,
+  const InventorySupply is,
+  Real fulfillmentQuantity,
+  PeggingResult peggingResult
+)
+{
+  TextBody:
+  [*
+    //info( "渚涘簲绫诲瀷锛圛nventorySupply锛�    ", "渚涘簲鏃堕棿锛�", is.Date().Format( "Y-M2-D2" ), "    渚涘簲閲忥細", is.Quantity(), 
+    //      "    瀹為檯鐢ㄩ噺锛�", fulfillmentQuantity, "    ", is.ProductInStockingPoint_MP().Name() );
+    pisp := is.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+    PeggingResult::Create( peggingProductInSalesDemandBase, 
+                           pisp.ProductID(), 
+                           pisp.StockingPointID(), 
+                           is.Date(), 
+                           is.Quantity(), 
+                           fulfillmentQuantity, 
+                           "搴撳瓨渚涘簲", 
+                           numberOfPlies,
+                           pisp.UnitOfMeasureName()
+                          );
+  *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
new file mode 100644
index 0000000..9ead81a
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
@@ -0,0 +1,54 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateNewSupply (
+  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+  Number numberOfPlies,
+  const NewSupply ns,
+  Real fulfillmentQuantity,
+  PeggingResult parentPeggingResult
+)
+{
+  TextBody:
+  [*
+    //info( "渚涘簲绫诲瀷锛圢ewSupply锛�", "    渚涘簲閲忥細", ns.Quantity(), "    婊¤冻锛�", fulfillmentQuantity );
+    
+    pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+    
+    childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase, pisp.ProductID(), pisp.StockingPointID(), ns.Start().Date(), ns.Quantity(), fulfillmentQuantity, "", numberOfPlies, pisp.UnitOfMeasureName() );
+    PeggingResult::SetParentChildRelationship( parentPeggingResult, childPeggingResult );
+    
+    ontype ( ns.PeriodTask_MP() ) {
+      PeriodTaskOperation as pto : {
+        childPeggingResult.SupplyType( "浜х嚎渚涘簲" );
+    //    info( "鎿嶄綔鍛ㄦ湡浠诲姟    ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), "    鍛ㄦ湡浠诲姟KEY锛�", pto.Key(), "    ",
+    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+        traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
+          traverse ( dd, Fulfillment, f ) {
+            smp1 := f.Supply_MP();
+            numberOfPlies++;
+            fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
+    //        info( "--------------------------------------------------------------" );
+            PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, fulfillmentQuantity, childPeggingResult );
+            numberOfPlies--;
+          }
+        }
+      }
+           
+      PeriodTaskLaneLeg as ptll : {
+        childPeggingResult.SupplyType( "杞﹂亾渚涘簲" );
+        targetDependentDemand := select( ptll, DependentDemand, dd, 
+                                         dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
+                                         dd.Quantity() = ns.Quantity() );
+    //    info( "杞﹂亾鍛ㄦ湡浠诲姟    ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), "    鍛ㄦ湡浠诲姟KEY锛�", ptll.Key(), "    ", 
+    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+        traverse ( targetDependentDemand, Fulfillment, f ) {
+          smp1 := f.Supply_MP();
+          numberOfPlies++;
+    //      info( "--------------------------------------------------------------" );
+          PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, fulfillmentQuantity, childPeggingResult );
+          numberOfPlies--;
+        }
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
new file mode 100644
index 0000000..562aa9d
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GeneratePeggingResult (
+  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+  Number numberOfPlies,
+  const Supply_MP smp,
+  Real fulfillmentQuantity,
+  PeggingResult parentPeggingResult
+)
+{
+  TextBody:
+  [*
+    //info( "灞傛暟锛�", numberOfPlies );
+    ontype ( smp ) {
+      NewSupply as ns : {
+        PeggingResult::GenerateNewSupply( peggingProductInSalesDemandBase, numberOfPlies, ns, fulfillmentQuantity, parentPeggingResult );
+      }
+    
+      InventorySupply as is : {
+        PeggingResult::GenerateInventorySupply( peggingProductInSalesDemandBase, numberOfPlies, is, fulfillmentQuantity, parentPeggingResult );
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl
new file mode 100644
index 0000000..95fa4b3
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetAllChildRelation (
+  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+  PeggingResult parentPeggingResult,
+  PeggingResult childPeggingResult
+)
+{
+  TextBody:
+  [*
+    if ( isnull( parentPeggingResult ) and isnull( childPeggingResult ) ) {
+      parentPeggingResult := select( peggingProductInSalesDemandBase, PeggingResult, tempPR, tempPR.NumberOfPlies() = 0 );
+      childPeggingResult  := select( peggingProductInSalesDemandBase, PeggingResult, tempPR, tempPR.NumberOfPlies() = 0 );
+    }
+    
+    traverse ( childPeggingResult, Child, pr ) {
+      pr.AllParent( relset, parentPeggingResult );
+      PeggingResult::SetAllChildRelation( peggingProductInSalesDemandBase, parentPeggingResult, pr );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl
new file mode 100644
index 0000000..144505c
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetParentChildRelationship (
+  PeggingResult parentPeggingResult,
+  PeggingResult childPeggingResult
+)
+{
+  TextBody:
+  [*
+    if ( not isnull( parentPeggingResult ) and not isnull( childPeggingResult ) ) {
+      childPeggingResult.Parent( relset, parentPeggingResult );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl b/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl
new file mode 100644
index 0000000..cd1bb3b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingResult
+{
+  #keys: '5[414702.1.290710095][414702.1.290710093][0.0.0][414702.1.290710094][414702.1.290710096]'
+  BaseType: Object
+  StructuredName: 'PeggingResults'
+}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
index 2cd8ea3..07ca890 100644
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
+++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -145,6 +145,8 @@
         Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] }
         Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] }
         Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] }
+        Component menuSeparator432 { #keys: '[414702.1.299084028]' BaseType: 'Menu' Properties: [ Separator: true ] }
+        Component ComponentMenu420 { #keys: '[414702.1.299224194]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormPeggingResult' Text: '' ] }
       ]
       Properties:
       [
@@ -165,6 +167,8 @@
           c: ComponentMenu666
           c: menuSeparator822
           c: ComponentMenu783
+          c: menuSeparator432
+          c: ComponentMenu420
         }
       ]
     }
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def
new file mode 100644
index 0000000..b2a7bab
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+Component ColumnTitles552
+{
+  #keys: '[414702.1.299084155]'
+  BaseType: 'ColumnTitles'
+  Children:
+  [
+    Component popupColumnTitles881
+    {
+      #keys: '[414702.1.299084158]'
+      BaseType: 'popupColumnTitles'
+    }
+  ]
+  Properties:
+  [
+    ContextMenu: 'popupColumnTitles881'
+  ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..7e94c7c
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
@@ -0,0 +1,117 @@
+Quintiq file version 2.0
+Component ListPeggingProductInSalesDemandBase
+{
+  #keys: '[414702.1.299084152]'
+  BaseType: 'List'
+  Children:
+  [
+    #child: ColumnTitles552
+    Component popupList809
+    {
+      #keys: '[414702.1.299084184]'
+      BaseType: 'popupList'
+      Children:
+      [
+        Component PopupParent
+        {
+          #keys: '[514.0.129466]'
+          BaseType: 'PopupParent'
+          IsDerived: true
+          Children:
+          [
+            Component menuSeparator { #keys: '[414702.1.299084264]' BaseType: 'Menu' Properties: [ Separator: true ] }
+            Component MenuGeneratePeggingResult { #keys: '[414702.1.299084327]' BaseType: 'Menu' Properties: [ Image: 'BEER_GLASS' Text: 'GeneratePeggingResult' ] }
+          ]
+          Properties:
+          [
+            ModeledStringList ChildOrdering
+            {
+              c: MenuActions
+              c: MenuFilter
+              c: menuListQuintiqSetQuantor
+              c: menuSeparator
+              c: MenuGeneratePeggingResult
+            }
+          ]
+        }
+      ]
+      Properties:
+      [
+        PosX: 35
+        PosY: 60
+      ]
+    }
+    Component GUIDataExtractor968
+    {
+      #keys: '[414702.1.299084216]'
+      BaseType: 'GUIDataExtractor'
+      Properties:
+      [
+        DataSet: 'GlobalOTDSOP'
+        DataType: 'GlobalOTDSOP'
+        PosX: 5
+        PosY: 30
+        Transformation: 'PeggingProduct_MP.PeggingProductInSalesDemandBase'
+      ]
+    }
+    Component GUIDataSetLevel641
+    {
+      #keys: '[414702.1.299084219]'
+      BaseType: 'GUIDataSetLevel'
+      Properties:
+      [
+        DataExtractor: 'GUIDataExtractor968'
+        PosX: 35
+        PosY: 30
+      ]
+    }
+  ]
+  Properties:
+  [
+    AutoDrag: true
+    BackgroundColor: 'Window'
+    Border: true
+    ContextMenu: 'popupList809'
+    FullRowSelect: true
+    ModeledStringList ChildOrdering
+    {
+      c: ColumnTitles552
+      c: popupList809
+      c: GUIDataExtractor968
+      c: GUIDataSetLevel641
+    }
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
+    {
+      #keys: '[414702.1.299084225]'
+      Initiator: 'Menu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[621.0.8331282]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_GUIButtonBase_OnClick
+    {
+      #keys: '[414702.1.299084226]'
+      Initiator: 'GUIButtonBase'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[621.0.8331327]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def
new file mode 100644
index 0000000..16ee6ba
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick (
+  structured[PeggingProductInSalesDemandBase] selection
+) id:Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnClick
+{
+  #keys: '[414702.1.299224579]'
+  Body:
+  [*
+    PeggingResult::CreateData( selection, MacroPlan );
+  *]
+  CanBindMultiple: false
+  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
+  Initiator: 'MenuGeneratePeggingResult'
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
new file mode 100644
index 0000000..bebc147
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent FormPeggingResult
+{
+  #keys: '[414702.1.299084054]'
+  BaseType: 'Form'
+  GBLayout
+  {
+    Type: 'internal[GBLayoutDefinition]'
+    Columns:
+    [
+      GBFlow.Column { grow: 128 id: 199 parent: 0 }
+    ]
+    Elements:
+    [
+      GBElement
+      {
+        Component => ListPeggingProductInSalesDemandBase
+        Position { startcolumn: 199 startrow: 785 endcolumn: 199 endrow: 785 }
+      }
+    ]
+    Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
+    Rows:
+    [
+      GBFlow.Row { grow: 128 id: 785 parent: 0 }
+    ]
+  }
+  Children:
+  [
+    #child: ListPeggingProductInSalesDemandBase
+  ]
+  Properties:
+  [
+    Height: 270
+    Image: 'FISH_BOWL'
+    IncludeInView: true
+    Title: 'PeggingResult'
+    Width: 494
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
index 3103966..6d1c1b0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
@@ -49,7 +49,7 @@
         Title: '闈㈡澘鎷夋枡_闆嗗洟鎿嶄綔'
       ]
     }
-    Component mn224
+    Component mn222
     {
       #keys: '[414702.1.5593849]'
       BaseType: 'WebMenu'
@@ -81,6 +81,28 @@
         Title: '鏁版嵁鍒嗗彂'
       ]
     }
+    Component mn666
+    {
+      #keys: '[414702.1.293023106]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Separator: true
+        Taborder: 7
+      ]
+    }
+    Component mnPeggingAnalyse
+    {
+      #keys: '[414702.1.293023171]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Description: 'Pegging鍒嗘瀽'
+        Image: 'COCKTAIL'
+        Taborder: 8
+        Title: 'Pegging鍒嗘瀽'
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def
new file mode 100644
index 0000000..eecfc42
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmTestAttempt/mnPeggingAnalyse
+Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick
+{
+  #keys: '[414702.1.294401302]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebMenu_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "Pegging鍒嗘瀽", true );
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def
new file mode 100644
index 0000000..8711654
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingAllResult
+{
+  #keys: '[414702.1.306657922]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorPeggingAllResult
+    {
+      #keys: '[414702.1.306657923]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'PeggingResult'
+        ExtractionMode: 'Selected'
+        Source: 'FormPeggingResult.ListPeggingResult'
+        Taborder: 0
+        Transformation: 'AllChild'
+      ]
+    }
+    #child: listActionBarPagePeggingAllResult
+    Component DataSetLevelPeggingAllResult
+    {
+      #keys: '[414702.1.306657928]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuPeggingAllResult
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
+        ContextMenu: 'listContextMenuPeggingAllResult'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingAllResult_WebMenu_OnClick
+    {
+      #keys: '[414702.1.305581888]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[639.0.20605876]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def
new file mode 100644
index 0000000..73bb8e7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingAllResult
+{
+  #keys: '[414702.1.306657925]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def
new file mode 100644
index 0000000..261fbc7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingAllResult
+{
+  #keys: '[414702.1.306657930]'
+  BaseType: 'listContextMenu'
+  Children:
+  [
+    Component MenuSelectAll
+    {
+      #keys: '[414702.1.305511008]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DOCUMENT_SELECTION'
+        Shortcut: 'Ctrl+A'
+        Taborder: 3
+        Title: '鍏ㄩ��'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..9f80468
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingAllResult
+Response OnClick () id:Response_ListPeggingAllResult_MenuSelectAll_OnClick
+{
+  #keys: '[414702.1.306792785]'
+  CanBindMultiple: false
+  DefinitionID => /ListPeggingAllResult/Responsedef_ListPeggingAllResult_WebMenu_OnClick
+  Initiator: 'MenuSelectAll'
+  QuillAction
+  {
+    Body:
+    [*
+      this.SelectAll();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def
new file mode 100644
index 0000000..7fd5a9c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingAllResult
+{
+  #keys: '[414702.1.305404879]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: ListPeggingAllResult
+  ]
+  Properties:
+  [
+    Image: 'DIAMOND'
+    Title: 'Pegging鎵�鏈夊瓙缁撴灉'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..31d1862
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingProductInSalesDemandBase
+{
+  #keys: '[414702.1.294477745]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorPeggingProductInSalesDemandBase
+    {
+      #keys: '[414702.1.294477746]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'PeggingProduct_MP'
+        ExtractionMode: 'Selected'
+        Source: 'FormPeggingProduct_MP.ListPeggingProduct_MP'
+        Taborder: 0
+        Transformation: 'PeggingProductInSalesDemandBase'
+      ]
+    }
+    #child: listActionBarPagePeggingProductInSalesDemandBase
+    Component DataSetLevelPeggingProductInSalesDemandBase
+    {
+      #keys: '[414702.1.294477751]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuPeggingProductInSalesDemandBase
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
+        ContextMenu: 'listContextMenuPeggingProductInSalesDemandBase'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+    {
+      #keys: '[414702.1.298881590]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[619.0.10848847]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..0a23391
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProductInSalesDemandBase
+{
+  #keys: '[414702.1.294477748]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..07fe2f0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProductInSalesDemandBase
+{
+  #keys: '[414702.1.294477753]'
+  BaseType: 'listContextMenu'
+  Children:
+  [
+    Component mGeneratePeggingResult
+    {
+      #keys: '[414702.1.298700850]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'PUMPKIN_HALLOWEEN'
+        Taborder: 3
+        Title: '鐢熸垚Pegging缁撴灉'
+      ]
+    }
+    Component MenuSelectionAll
+    {
+      #keys: '[414702.1.300701803]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'SELECTION'
+        Shortcut: 'Ctrl+A'
+        Taborder: 4
+        Title: '鍏ㄩ��'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..5f3082e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick
+{
+  #keys: '[414702.1.300762760]'
+  CanBindMultiple: false
+  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+  Initiator: 'MenuSelectionAll'
+  QuillAction
+  {
+    Body:
+    [*
+      this.SelectAll();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
new file mode 100644
index 0000000..09b333a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick (
+  structured[PeggingProductInSalesDemandBase] selection
+) id:Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick
+{
+  #keys: '[414702.1.298700997]'
+  CanBindMultiple: false
+  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+  Initiator: 'mGeneratePeggingResult'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      PeggingResult::CreateData( selection, MacroPlan );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..abac889
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingProductInSalesDemandBase
+{
+  #keys: '[414702.1.291680100]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: ListPeggingProductInSalesDemandBase
+  ]
+  Properties:
+  [
+    Image: 'BANANA'
+    Title: 'Pegging浜у搧鐨勮鍗�'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def
new file mode 100644
index 0000000..183cc9b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListPeggingProduct_MP
+{
+  #keys: '[414702.1.291408736]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorPeggingProduct_MP
+    {
+      #keys: '[414702.1.291408737]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
+        Taborder: 0
+        Transformation: 'PeggingProduct_MP'
+      ]
+    }
+    #child: listActionBarPagePeggingProduct_MP
+    Component DataSetLevelPeggingProduct_MP
+    {
+      #keys: '[414702.1.291408742]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuPeggingProduct_MP
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
+        ContextMenu: 'listContextMenuPeggingProduct_MP'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def
new file mode 100644
index 0000000..66424ec
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProduct_MP
+{
+  #keys: '[414702.1.291408739]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def
new file mode 100644
index 0000000..d7a7d88
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProduct_MP
+{
+  #keys: '[414702.1.291408744]'
+  BaseType: 'listContextMenu'
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def
new file mode 100644
index 0000000..ff6359c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component pButton
+{
+  #keys: '[414702.1.288412503]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component bCreate
+    {
+      #keys: '[414702.1.288443069]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'BOMB'
+        Label: '鍒涘缓Pegging浜у搧'
+        Taborder: 1
+      ]
+    }
+    Component bRunPeggingAlgorithm
+    {
+      #keys: '[414702.1.302382530]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'TREE'
+        Label: '杩愯Pegging绠楁硶'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
new file mode 100644
index 0000000..84c4002
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: pButton/bCreate
+Response OnClick () id:Response_pButton_bCreate_OnClick
+{
+  #keys: '[414702.1.288443717]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( GlobalOTDSOP ) and not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      form := construct( FormNavigationPanel );
+      form.ShowDockLeft();
+      
+      PeggingProduct_MP::Create( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def
new file mode 100644
index 0000000..6218f0f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pButton/bRunPeggingAlgorithm
+Response OnClick () id:Response_pButton_bRunPeggingAlgorithm_OnClick
+{
+  #keys: '[414702.1.304801095]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      MacroPlan.RunPeggingAlgorithm();
+      
+      WebMessageBox::Success( "杩愯鎴愬姛锛�", true );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def
new file mode 100644
index 0000000..0cbaf23
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingProduct_MP
+{
+  #keys: '[414702.1.290901529]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: ListPeggingProduct_MP
+    #child: pButton
+  ]
+  Properties:
+  [
+    Image: 'ORANGE'
+    Title: 'Pegging浜у搧鍒嗘瀽'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
new file mode 100644
index 0000000..368e708
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
@@ -0,0 +1,63 @@
+Quintiq file version 2.0
+Component ListPeggingResult
+{
+  #keys: '[414702.1.296178342]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorPeggingResult
+    {
+      #keys: '[414702.1.296178343]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'PeggingProductInSalesDemandBase'
+        ExtractionMode: 'Selected'
+        FixedFilter: 'object.NumberOfPlies() = 0'
+        Source: 'FormPeggingProductInSalesDemandBase.ListPeggingProductInSalesDemandBase'
+        Taborder: 0
+        Transformation: 'PeggingResult'
+      ]
+    }
+    #child: listActionBarPagePeggingResult
+    Component DataSetLevelPeggingResult
+    {
+      #keys: '[414702.1.296178348]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuPeggingResult
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
+        ContextMenu: 'listContextMenuPeggingResult'
+        RelationFromParent: 'Child'
+        RelationRepeating: 'Child'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingResult_WebMenu_OnClick
+    {
+      #keys: '[414702.1.302148620]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[627.0.29218476]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
new file mode 100644
index 0000000..0cf5674
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingResult
+{
+  #keys: '[414702.1.296178345]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
new file mode 100644
index 0000000..8534bcc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingResult
+{
+  #keys: '[414702.1.296178350]'
+  BaseType: 'listContextMenu'
+  Children:
+  [
+    Component MenuSelectionAll
+    {
+      #keys: '[414702.1.302117859]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'SELECTION'
+        Shortcut: 'Ctrl+A'
+        Taborder: 3
+        Title: '鍏ㄩ��'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..5498502
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingResult
+Response OnClick () id:Response_ListPeggingResult_MenuSelectionAll_OnClick
+{
+  #keys: '[414702.1.302148638]'
+  CanBindMultiple: false
+  DefinitionID => /ListPeggingResult/Responsedef_ListPeggingResult_WebMenu_OnClick
+  Initiator: 'MenuSelectionAll'
+  QuillAction
+  {
+    Body:
+    [*
+      this.SelectAll();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
new file mode 100644
index 0000000..9268901
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingResult
+{
+  #keys: '[414702.1.295031324]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: ListPeggingResult
+  ]
+  Properties:
+  [
+    Image: 'CUP'
+    Title: 'Pegging缁撴灉'
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw" "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw"
new file mode 100644
index 0000000..3866fc3
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw"
@@ -0,0 +1,223 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormPeggingProduct_MP
+      {
+        title: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 7
+          columnPosition: 1
+          columnSpan: 4
+        }
+        components
+        {
+          FormPeggingProduct_MP_pButton
+          {
+            sizeRatio: 1
+          }
+          FormPeggingProduct_MP_ListPeggingProduct_MP
+          {
+          }
+          FormPeggingProduct_MP_DataSetLevelPeggingProduct_MP
+          {
+            groupDepth: -1
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPeggingProductInSalesDemandBase_1
+      {
+        title: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 8
+          rowSpan: 6
+          columnPosition: 1
+          columnSpan: 4
+        }
+        components
+        {
+          FormPeggingProductInSalesDemandBase_ListPeggingProductInSalesDemandBase
+          {
+          }
+          FormPeggingProductInSalesDemandBase_DataSetLevelPeggingProductInSalesDemandBase
+          {
+            groupDepth: -1
+            sort: 'StartDate'
+            column_SalesDemandBaseID
+            {
+              columnId: 'SalesDemandBaseID'
+              dataPath: 'SalesDemandBaseID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 61
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 122
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'real'
+              index: 2
+              subtotals: ''
+              width: 59
+            }
+            column_StartDate
+            {
+              columnId: 'StartDate'
+              dataPath: 'StartDate'
+              dataType: 'date'
+              index: 3
+              subtotals: ''
+              width: 94
+            }
+          }
+        }
+      }
+      form_FormPeggingResult
+      {
+        title: 'QTIANMA_JITUAN::FormPeggingResult'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPeggingResult'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 13
+          columnPosition: 5
+          columnSpan: 8
+        }
+        components
+        {
+          FormPeggingResult_ListPeggingResult
+          {
+          }
+          FormPeggingResult_DataSetLevelPeggingResult
+          {
+            groupDepth: -1
+            sort: 'DESC:UnitOfMeasurementName'
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 210
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 152
+            }
+            column_StartDate
+            {
+              columnId: 'StartDate'
+              dataPath: 'StartDate'
+              dataType: 'date'
+              index: 2
+              subtotals: ''
+              width: 86
+            }
+            column_SupplyQuantity
+            {
+              columnId: 'SupplyQuantity'
+              dataPath: 'SupplyQuantity'
+              dataType: 'real'
+              index: 3
+              subtotals: ''
+              width: 97
+            }
+            column_FulfillmentQuantity
+            {
+              columnId: 'FulfillmentQuantity'
+              dataPath: 'FulfillmentQuantity'
+              dataType: 'real'
+              index: 4
+              subtotals: ''
+              width: 102
+            }
+            column_SupplyType
+            {
+              columnId: 'SupplyType'
+              dataPath: 'SupplyType'
+              dataType: 'string'
+              index: 5
+              subtotals: ''
+              width: 78
+            }
+            column_UnitOfMeasurementName
+            {
+              columnId: 'UnitOfMeasurementName'
+              dataPath: 'UnitOfMeasurementName'
+              dataType: 'string'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPeggingAllResult
+      {
+        title: 'QTIANMA_JITUAN::FormPeggingAllResult'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPeggingAllResult'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 14
+          rowSpan: 12
+          columnPosition: 1
+          columnSpan: 12
+        }
+        components: null
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    page: ''
+    group: ''
+    index: 0
+    image: 'VIEW'
+    description: ''
+  }
+  formatversion: 2
+  id: 'Pegging鍒嗘瀽'
+  name: '鍒嗘瀽Pegging'
+  isglobal: false
+  isroot: true
+}
diff --git "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
index 3c61315..b087749 100644
--- "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
+++ "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
@@ -14,9 +14,9 @@
   ICONIMAGE 'WINDOWS'
   CREATIONDATETIME '2023-10-12T10:00:44'
   CREATIONUSER 'quintiq/hongjli'
-  UPDATEDATETIME '2023-10-12T23:32:10'
+  UPDATEDATETIME '2023-10-31T18:01:35'
   UPDATEUSER 'quintiq/hongjli'
-  LASTACCESSDATE '2023-10-13'
+  LASTACCESSDATE '2023-10-31'
   VIEWSCOPE 0
 }
 AUTHORIZATIONS
@@ -42,33 +42,35 @@
 INFOOBJECT
 {
   KEY [626.0.4514905]
-  OBJECTTYPE Application
+  OBJECTTYPE Application // ApplicationLibMacroPlanner
   BASEINFOOBJECTS
   {
    BASEINFOOBJECT
    {
     KEY [626.0.4514905]
-    OBJECTTYPE GUIComponent
+    OBJECTTYPE GUIComponent // ApplicationLibMacroPlanner
     CONTENTS
     {
      SETTINGS_MDS_WITH_FOLDER
      {
-       [414702.1.62804981]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
-       [414702.1.62833373]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
-       [414702.1.62828776]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
-       [414702.1.62800409]:LibDEF_DataBroker:/root:LibDEF_DataBroker
-       [414702.1.61685849]:LibDEF_DataRepository:/root:LibDEF_DataRepository
-       [414702.1.61676708]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
-       [414702.1.62842521]:LibMon_Monitor:/root:LibMon_Monitor
-       [414702.1.62837950]:LibUTF:/root:UTF
-       [414702.1.62860001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
-       [414702.1.62850001]:KpiTracker:/root:KpiTracker
-       [414702.1.62875363]:MacroPlan:/root:MacroPlan
-       [414702.1.61681280]:MPDomainHandler:/root:MPDomainHandler
-       [414702.1.62880001]:MPSync:/root:MPSync
-       [414702.1.62809550]:ScenarioManager:/root:ScenarioManager
-       [414702.1.62870001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
-       [414702.1.62819619]:GlobalOTDTable:/root:GlobalOTDTable
+       [414702.1.302283770]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
+       [414702.1.304531394]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
+       [414702.1.304526781]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
+       [414702.1.302279182]:LibDEF_DataBroker:/root:LibDEF_DataBroker
+       [414702.1.302274597]:LibDEF_DataRepository:/root:LibDEF_DataRepository
+       [414702.1.302264688]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
+       [414702.1.304540574]:LibMon_Monitor:/root:LibMon_Monitor
+       [414702.1.304535987]:LibUTF:/root:UTF
+       [414702.1.304550001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
+       [414702.1.304560001]:KpiTracker:/root:KpiTracker
+       [414702.1.304612079]:MacroPlan:/root:MacroPlan
+       [414702.1.302270012]:MPDomainHandler:/root:MPDomainHandler
+       [414702.1.304570001]:MPSync:/root:MPSync
+       [414702.1.302288355]:ScenarioManager:/root:ScenarioManager
+       [414702.1.302269274]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
+       [414702.1.304508431]:GlobalOTDTable:/root:GlobalOTDTable
+       [414702.1.304517601]:GlobalOTDLog:/root:GlobalOTDLog
+       [414702.1.304513016]:GlobalOTDSOP:/root:GlobalOTDSOP
      }
     }
    }
@@ -78,19 +80,19 @@
    INFOOBJECT
    {
     KEY [514.0.2180]
-    OBJECTTYPE Frame
+    OBJECTTYPE Frame // Frame
     CONTENTS
     {
      State := maximized
      (200,0,1536,809)
-     WorkspaceLocation :=
+     WorkspaceLocation := 
     }
     INFOOBJECTS
     {
      INFOOBJECT
      {
       KEY [113694.2.1024236755]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderViewLayout
       CONTENTS
       {
        Value ''
@@ -99,16 +101,16 @@
      INFOOBJECT
      {
       KEY [127710.1.721401771]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderActiveMacroPlan
       CONTENTS
       {
-       Value '[414702.1.64020493]'
+       Value '[414702.1.304617225]'
       }
      }
      INFOOBJECT
      {
       KEY [132448.0.224582518]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderSetMPDefaultViewForFirstLogin
       CONTENTS
       {
        Value 'false'
@@ -117,7 +119,7 @@
      INFOOBJECT
      {
       KEY [146450.2.1404665746]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // vhConfiguration
       CONTENTS
       {
        Value 'false'
@@ -126,7 +128,7 @@
      INFOOBJECT
      {
       KEY [146874.1.233869144]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // vhConfigurationMatrix
       CONTENTS
       {
        Value 'false'
@@ -135,7 +137,7 @@
      INFOOBJECT
      {
       KEY [132894.0.1007052496]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderSetDataHolderSelectedPISPIPExtractor
       CONTENTS
       {
        Value 'false'
@@ -144,7 +146,7 @@
      INFOOBJECT
      {
       KEY [108684.0.1782661552]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderLastSelected3DDriveDirectory
       CONTENTS
       {
        Value ''
@@ -153,16 +155,16 @@
      INFOOBJECT
      {
       KEY [107654.0.557163713]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderUserGroup
       CONTENTS
       {
-       Value ';MRPPlanning;ProductionPlan;BusinessUnitOM;Web_BlendingPlan;Web_Plan;Web_TripPlan;Web_PurchasingPlan;Web_ProductionPlan;KpiTrackerAdmin;Web_SafetyStock;Web_Inventory;Web_CapacitySmoothing;Web_ShelfLife;Web_LotSizes;Web_Optimizer;Web_SupplyDashboard;Web_OptimizerBenchmarking;Web_Integration;Web_MyActivities;Web_WorkFlowConfiguration;Web_SafetyStockCalculation;Web_InventoryMixBalancing;Web_Feedbacks;Web_Financials;Web_Allocation;Web_DemandPostponement;Web_Blending;Web_ScenariosAndSettings;Web;Web_Development;Web_Sales;Web_CampaignPlanning;Web_SupplyChainData;Web_SupplyPlanning;SOAPServerUserGroup;CollaborativeForecasting;DemandPlanner;SupplyPlanner;SupplyChainDirector;OnPremise;Cloud;SOP;Software;Functionalities;Workflow;TransportationPlanning;SupplySpecifications;SupplyChainMap;ShelfLife;SalesDemandPostponement;SafetyStockCalculation;ProductPlanningGanttChart;Pegging;OptimizerBenchmarking;LotSizes;InventorySupplies;InventorySpecifications;InventoryMixBalancing;Groups;Feedback;Development;DatabaseIntegration;CapacitySmoothing;CampaignPlanning;Blending;AggregatedPlanning;Developer;Administrator;Implementors;AppConfigurators'
+       Value ';Implementors;AppConfigurators;Administrator;Developer;AggregatedPlanning;Blending;CampaignPlanning;CapacitySmoothing;DatabaseIntegration;Development;Feedback;Groups;InventoryMixBalancing;InventorySpecifications;InventorySupplies;LotSizes;OptimizerBenchmarking;Pegging;ProductPlanningGanttChart;SafetyStockCalculation;SalesDemandPostponement;ShelfLife;SupplyChainMap;SupplySpecifications;TransportationPlanning;Workflow;Functionalities;Software;SOP;Cloud;OnPremise;SupplyChainDirector;SupplyPlanner;DemandPlanner;CollaborativeForecasting;SOAPServerUserGroup;Web_SupplyPlanning;Web_SupplyChainData;Web_CampaignPlanning;Web_Sales;Web_Development;Web;Web_ScenariosAndSettings;Web_Blending;Web_DemandPostponement;Web_Allocation;Web_Financials;Web_Feedbacks;Web_InventoryMixBalancing;Web_SafetyStockCalculation;Web_WorkFlowConfiguration;Web_MyActivities;Web_Integration;Web_OptimizerBenchmarking;Web_SupplyDashboard;Web_Optimizer;Web_LotSizes;Web_ShelfLife;Web_CapacitySmoothing;Web_Inventory;Web_SafetyStock;KpiTrackerAdmin;Web_ProductionPlan;Web_PurchasingPlan;Web_TripPlan;Web_Plan;Web_BlendingPlan;BusinessUnitOM;ProductionPlan;MRPPlanning'
       }
      }
      INFOOBJECT
      {
       KEY [113694.1.227882923]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderShowSanityCheck
       CONTENTS
       {
        Value ''
@@ -171,7 +173,7 @@
      INFOOBJECT
      {
       KEY [126224.0.581715]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolder
       CONTENTS
       {
        Value 'Feasible'
@@ -180,7 +182,7 @@
      INFOOBJECT
      {
       KEY [132894.0.388222255]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderImportProfileMessage
       CONTENTS
       {
        Value ''
@@ -189,7 +191,7 @@
      INFOOBJECT
      {
       KEY [127238.1.80067038]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderSizing
       CONTENTS
       {
        Value 'true'
@@ -198,7 +200,7 @@
      INFOOBJECT
      {
       KEY [122192.0.103731718]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverityMsgCount
       CONTENTS
       {
        Value '39'
@@ -207,7 +209,7 @@
      INFOOBJECT
      {
       KEY [113694.2.1085093394]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderIsImportSucceed
       CONTENTS
       {
        Value 'true'
@@ -216,7 +218,7 @@
      INFOOBJECT
      {
       KEY [132448.0.331221783]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderScenarioMPSize
       CONTENTS
       {
        Value '1'
@@ -225,7 +227,7 @@
      INFOOBJECT
      {
       KEY [127238.1.502176570]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderPeriodRollStatus
       CONTENTS
       {
        Value 'false'
@@ -234,7 +236,7 @@
      INFOOBJECT
      {
       KEY [112884.1.706803944]
-      OBJECTTYPE ValueHolder
+      OBJECTTYPE ValueHolder // ValueHolderSanityCheckHighestSeverity
       CONTENTS
       {
        Value '2'
@@ -243,7 +245,7 @@
      INFOOBJECT
      {
       KEY [132448.0.662420775]
-      OBJECTTYPE GUIDataSetLevel
+      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
       CONTENTS
       {
        Columns
@@ -283,13 +285,13 @@
      INFOOBJECT
      {
       KEY [136682.0.314428046]
-      OBJECTTYPE GUIComponent
+      OBJECTTYPE GUIComponent // PTFPanelTestController
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [105690.0.246954464]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhLogging
         CONTENTS
         {
          Value ''
@@ -298,7 +300,7 @@
        INFOOBJECT
        {
         KEY [104342.0.773994982]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhDoActionInfoReturn
         CONTENTS
         {
          Value ''
@@ -307,7 +309,7 @@
        INFOOBJECT
        {
         KEY [104342.0.867521338]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhPendingActions
         CONTENTS
         {
          Value ''
@@ -316,7 +318,7 @@
        INFOOBJECT
        {
         KEY [104342.0.867524820]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhSharedRepository
         CONTENTS
         {
          Value '\\\\CNLEN1845000693\\PTF_Repository\\'
@@ -325,7 +327,7 @@
        INFOOBJECT
        {
         KEY [105690.0.892938783]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhAsyncActionStatus
         CONTENTS
         {
          Value ''
@@ -334,7 +336,7 @@
        INFOOBJECT
        {
         KEY [105690.0.247211998]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhResultLogPath
         CONTENTS
         {
          Value ''
@@ -343,7 +345,7 @@
        INFOOBJECT
        {
         KEY [105690.0.892939622]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhPTFExecutionStatus
         CONTENTS
         {
          Value 'Inactive'
@@ -352,7 +354,7 @@
        INFOOBJECT
        {
         KEY [103546.0.81355542]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhAutoClose
         CONTENTS
         {
          Value ''
@@ -361,7 +363,7 @@
        INFOOBJECT
        {
         KEY [103546.0.54652306]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // vhLogStart
         CONTENTS
         {
          Value ''
@@ -372,7 +374,7 @@
      INFOOBJECT
      {
       KEY [113694.2.1146370710]
-      OBJECTTYPE Toolbar
+      OBJECTTYPE Toolbar // ToolbarWorkflow
       CONTENTS
       {
        'vertical' '50' '0'
@@ -382,16 +384,19 @@
        INFOOBJECT
        {
         KEY [113694.2.1146375645]
-        OBJECTTYPE CustomDrawComponent
+        OBJECTTYPE CustomDrawComponent // SWF_MP_CustomDrawComponentProcessDashboard
+        BASEINFOOBJECTS
+        {
+        }
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [132478.0.288924864]
-          OBJECTTYPE ValueHolder
+          OBJECTTYPE ValueHolder // ValueHolderLastSyncDateTime
           CONTENTS
           {
-           Value '12-10-2023, 20:12:19'
+           Value '31-10-2023, 16:46:59'
           }
          }
         }
@@ -401,7 +406,7 @@
      INFOOBJECT
      {
       KEY [11660.0.360702312]
-      OBJECTTYPE Toolbar
+      OBJECTTYPE Toolbar // ToolbarSupplyChainPanel
       CONTENTS
       {
        'horizontal' '50' '336'
@@ -411,7 +416,7 @@
        INFOOBJECT
        {
         KEY [113694.2.1070869880]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // ValueHolderNavigationPanelState
         CONTENTS
         {
          Value 'true'
@@ -420,7 +425,7 @@
        INFOOBJECT
        {
         KEY [113694.2.1070870209]
-        OBJECTTYPE ValueHolder
+        OBJECTTYPE ValueHolder // ValueHolderNavigationPanelSize
         CONTENTS
         {
          Value '336'
@@ -429,13 +434,13 @@
        INFOOBJECT
        {
         KEY [113694.2.1033284312]
-        OBJECTTYPE SplitterWnd
+        OBJECTTYPE SplitterWnd // SplitterWnd
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [113694.2.1033284313]
-          OBJECTTYPE SplitterPane
+          OBJECTTYPE SplitterPane // SplitterPane
           CONTENTS
           {
            VISIBLE true
@@ -445,7 +450,7 @@
            INFOOBJECT
            {
             KEY [127238.0.1883499282]
-            OBJECTTYPE TabComponent
+            OBJECTTYPE TabComponent // TabComponent
             CONTENTS
             {
              ActivePageIndex 0
@@ -455,7 +460,7 @@
              INFOOBJECT
              {
               KEY [132448.0.71838188]
-              OBJECTTYPE List
+              OBJECTTYPE List // ListNavigationPanelSelection
               CONTENTS
               {
                Quantorrow := false
@@ -465,7 +470,7 @@
                INFOOBJECT
                {
                 KEY [127238.0.1883514459]
-                OBJECTTYPE ValueHolder
+                OBJECTTYPE ValueHolder // ValueHolderListSelections
                 CONTENTS
                 {
                  Value 'Products'
@@ -474,7 +479,7 @@
                INFOOBJECT
                {
                 KEY [127238.0.1883514458]
-                OBJECTTYPE GUIDataSetLevel
+                OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel288
                 CONTENTS
                 {
                  Columns
@@ -505,16 +510,16 @@
              INFOOBJECT
              {
               KEY [127238.0.1883516525]
-              OBJECTTYPE SplitterWnd
+              OBJECTTYPE SplitterWnd // SplitterWnd516
               INFOOBJECTS
               {
                INFOOBJECT
                {
                 KEY [127238.0.1883516526]
-                OBJECTTYPE SplitterPane
+                OBJECTTYPE SplitterPane // SplitterPaneEntities
                 CONTENTS
                 {
-                 Size 100
+                 Size 0
                  VISIBLE true
                 }
                 INFOOBJECTS
@@ -522,17 +527,20 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1883516528]
-                  OBJECTTYPE List
+                  OBJECTTYPE List // ListEntityTreeInPanel
                   CONTENTS
                   {
                    Quantorrow := false
+                  }
+                  BASEINFOOBJECTS
+                  {
                   }
                   INFOOBJECTS
                   {
                    INFOOBJECT
                    {
                     KEY [113694.2.1026852831]
-                    OBJECTTYPE GUIDataSetLevel
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelUnit
                     CONTENTS
                     {
                      Columns
@@ -567,10 +575,10 @@
                INFOOBJECT
                {
                 KEY [127238.0.1883516541]
-                OBJECTTYPE SplitterPane
+                OBJECTTYPE SplitterPane // SplitterPaneProducts
                 CONTENTS
                 {
-                 Size 0
+                 Size 100
                  VISIBLE true
                 }
                 INFOOBJECTS
@@ -578,17 +586,20 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1883516544]
-                  OBJECTTYPE List
+                  OBJECTTYPE List // ListProductInPanel
                   CONTENTS
                   {
                    Quantorrow := false
+                  }
+                  BASEINFOOBJECTS
+                  {
                   }
                   INFOOBJECTS
                   {
                    INFOOBJECT
                    {
                     KEY [113694.2.1025678105]
-                    OBJECTTYPE GUIDataSetLevel
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelProducts
                     CONTENTS
                     {
                      Columns
@@ -621,7 +632,7 @@
                INFOOBJECT
                {
                 KEY [127238.0.1883516552]
-                OBJECTTYPE SplitterPane
+                OBJECTTYPE SplitterPane // SplitterPaneSalesSegment
                 CONTENTS
                 {
                  Size 0
@@ -632,17 +643,20 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1883516554]
-                  OBJECTTYPE List
+                  OBJECTTYPE List // ListSalesSegmentInPanel
                   CONTENTS
                   {
                    Quantorrow := false
+                  }
+                  BASEINFOOBJECTS
+                  {
                   }
                   INFOOBJECTS
                   {
                    INFOOBJECT
                    {
                     KEY [11660.0.1616690288]
-                    OBJECTTYPE GUIDataSetLevel
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesSegment
                     CONTENTS
                     {
                      Columns
@@ -675,7 +689,7 @@
                INFOOBJECT
                {
                 KEY [131438.0.356639347]
-                OBJECTTYPE SplitterPane
+                OBJECTTYPE SplitterPane // SplitterPanePeriods
                 CONTENTS
                 {
                  Size 0
@@ -686,7 +700,7 @@
                  INFOOBJECT
                  {
                   KEY [131438.0.353247249]
-                  OBJECTTYPE List
+                  OBJECTTYPE List // ListPeriodSpecificationInPanel
                   CONTENTS
                   {
                    Quantorrow := false
@@ -696,7 +710,7 @@
                    INFOOBJECT
                    {
                     KEY [131438.0.371333408]
-                    OBJECTTYPE GUIDataSetLevel
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriodSpecifications
                     CONTENTS
                     {
                      Columns
@@ -728,7 +742,7 @@
                      INFOOBJECT
                      {
                       KEY [131438.0.402834330]
-                      OBJECTTYPE GUIDataSetLevel
+                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriods
                       CONTENTS
                       {
                        Columns
@@ -777,13 +791,13 @@
              INFOOBJECT
              {
               KEY [127238.0.1884468404]
-              OBJECTTYPE SplitterWnd
+              OBJECTTYPE SplitterWnd // SplitterWnd466
               INFOOBJECTS
               {
                INFOOBJECT
                {
                 KEY [127238.0.1884468405]
-                OBJECTTYPE SplitterPane
+                OBJECTTYPE SplitterPane // SplitterPane252
                 CONTENTS
                 {
                  VISIBLE true
@@ -793,7 +807,7 @@
                  INFOOBJECT
                  {
                   KEY [127238.0.1884468597]
-                  OBJECTTYPE List
+                  OBJECTTYPE List // ListBookmarks
                   CONTENTS
                   {
                    Quantorrow := false
@@ -803,7 +817,7 @@
                    INFOOBJECT
                    {
                     KEY [130238.0.368320209]
-                    OBJECTTYPE GUIDataSetLevel
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarks
                     CONTENTS
                     {
                      Columns
@@ -834,7 +848,7 @@
                      INFOOBJECT
                      {
                       KEY [130238.0.368320210]
-                      OBJECTTYPE GUIDataSetLevel
+                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelBookmarkChildren
                       CONTENTS
                       {
                        Columns
@@ -879,728 +893,33 @@
      }
      INFOOBJECT
      {
-      KEY [108486.1.1170974339]
-      SINGLEINSTANCE false
-      ID 'Pegging'
-      PARENTKEY [514.0.2180]
-      OBJECTTYPE Form
-      CREATETYPE FormPegging
-      CONTENTS
-      {
-       State := normal
-       (354,421,990,664)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[0]Selection[NONE]
-      }
-      INFOOBJECTS
-      {
-       INFOOBJECT
-       {
-        KEY [108486.1.1171911809]
-        OBJECTTYPE SplitterWnd
-        INFOOBJECTS
-        {
-         INFOOBJECT
-         {
-          KEY [108486.1.1171911810]
-          OBJECTTYPE SplitterPane
-          CONTENTS
-          {
-           Size 50.132802124834
-           VISIBLE true
-          }
-          INFOOBJECTS
-          {
-           INFOOBJECT
-           {
-            KEY [108486.1.1171921411]
-            OBJECTTYPE SplitterWnd
-            INFOOBJECTS
-            {
-             INFOOBJECT
-             {
-              KEY [108486.1.1171921412]
-              OBJECTTYPE SplitterPane
-              CONTENTS
-              {
-               Size 52.6515151515151
-               VISIBLE true
-              }
-              INFOOBJECTS
-              {
-               INFOOBJECT
-               {
-                KEY [108486.1.1171921414]
-                OBJECTTYPE List
-                CONTENTS
-                {
-                 Quantorrow := false
-                }
-                INFOOBJECTS
-                {
-                 INFOOBJECT
-                 {
-                  KEY [108486.1.1171924299]
-                  OBJECTTYPE GUIDataSetLevel
-                  CONTENTS
-                  {
-                   Columns
-                   {
-                     Definition := [11766.0.1025088210]
-                     {
-                       [11766.1.490215920]
-                     }
-                     SubTotals := true
-                     Visible
-                     {
-                       Column internal[DataSetImageColumn] [108486.1.2111697545]
-                       {
-                         Width := 19
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'DemandType [11660.0.340434965]'
-                         }
-                       }
-                       Column internal[DataSetImageColumn] [108486.2.15728337]
-                       {
-                         Header := 'HasValidPeggedQuantity'
-                         Width := 21
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ImgHasValidPeggedQuantity [108486.2.15494714]'
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [127710.1.1139010297]
-                       {
-                         Header := 'Stocking point'
-                         Width := 137
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|AsPlanningProductInStockingPoint [134266.1.8545642]|StockingPoint_MP [11660.0.488414369]|Name [101472.1.1554218718]'
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [108486.1.2110122000]
-                       {
-                         Header := 'Product'
-                         Width := 184
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|ProductInStockingPoint_MP [134266.1.5798354]|Product_MP [11660.0.486228287]|Name [101472.1.1551142288]'
-                         }
-                       }
-                       Column internal[DataSetConfigurableColumn] [108486.1.2112140291]
-                       {
-                         Header := 'Period start'
-                         Width := 115
-                         Subtotals := false
-                         Specific
-                         {
-                           Text := 'VALUE( object.GetPeriodStart() )'
-                           Alignment := ''
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [11766.1.490215920]
-                       {
-                         Width := 80
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'Quantity [101320.0.110374989]'
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [108486.1.2110122001]
-                       {
-                         Header := 'Fulfilled'
-                         Width := 82
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'FulfilledQuantity [11660.0.157649047]'
-                         }
-                       }
-                       Column internal[DataSetConfigurableColumn] [110880.2.1142677800]
-                       {
-                         Header := 'Available'
-                         Width := 79
-                         Subtotals := false
-                         Specific
-                         {
-                           Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
-                           Alignment := ''
-                         }
-                       }
-                       Column internal[DataSetChartColumn] [108486.1.2112734746]
-                       {
-                         Header := 'Fulfillment'
-                         Width := 104
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           Type := 'Stacked Bar'
-                           Relative := true
-                           Points
-                           {
-                             PointDefinition
-                             {
-                               Text := 'minvalue( object.GetPeggedQuantity(), object.FulfilledQuantity() )'
-                               Color := 'Green'
-                               NegativeColor := 'Red'
-                               Description := 'Fulfilled pegged quantity'
-                             }
-                             PointDefinition
-                             {
-                               Text := 'maxvalue( object.FulfilledQuantity() - object.GetPeggedQuantity(), 0 )'
-                               Color := '$FF9900'
-                               NegativeColor := 'Red'
-                               Description := 'Unpegged quantity'
-                             }
-                             PointDefinition
-                             {
-                               Text := 'maxvalue( object.GetPeggedQuantity() - object.FulfilledQuantity(), 0 )'
-                               Color := 'Red'
-                               NegativeColor := 'Red'
-                               Description := 'Overpegged quantity'
-                             }
-                           }
-                         }
-                       }
-                     }
-                   }
-                   ColumnSort [108486.1.2112140291] true false
-                  }
-                 }
-                }
-               }
-              }
-             }
-             INFOOBJECT
-             {
-              KEY [108486.1.1171921413]
-              OBJECTTYPE SplitterPane
-              CONTENTS
-              {
-               Size 47.3484848484849
-               VISIBLE true
-              }
-              INFOOBJECTS
-              {
-               INFOOBJECT
-               {
-                KEY [113694.0.1490022148]
-                OBJECTTYPE List
-                CONTENTS
-                {
-                 Quantorrow := false
-                }
-                INFOOBJECTS
-                {
-                 INFOOBJECT
-                 {
-                  KEY [113694.0.1490022154]
-                  OBJECTTYPE GUIDataSetLevel
-                  CONTENTS
-                  {
-                   Columns
-                   {
-                     Definition := [108486.1.1171928381]
-                     {
-                       [108486.1.1171960868]
-                       [108486.1.1320715923]
-                     }
-                     SubTotals := true
-                     Visible
-                     {
-                       Column internal[DataSetImageColumn] [135072.0.40676723]
-                       {
-                         Width := 22
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'Supply_MP [134266.1.11843917]|SupplyType [108486.1.1185051348]'
-                         }
-                       }
-                       Column internal[DataSetImageColumn] [110880.9.1181376772]
-                       {
-                         Header := 'HasUserQuantity'
-                         Width := 23
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
-                         }
-                       }
-                       Column internal[DataSetImageColumn] [113694.0.1490534244]
-                       {
-                         Width := 21
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ImgHasSupply [108486.2.16148330]'
-                         }
-                       }
-                       Column internal[DataSetConfigurableColumn] [113694.0.1490809329]
-                       {
-                         Header := 'Period start'
-                         Width := 115
-                         Subtotals := false
-                         Specific
-                         {
-                           Text := 'VALUE( object.Supply_MP().GetPeriodStart() )'
-                           Alignment := 'Default'
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [113694.0.1490521540]
-                       {
-                         Width := 100
-                         Subtotals := false
-                         Quantor
-                         {
-                           Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
-                         }
-                         Specific
-                         {
-                           DataPath := 'Quantity [134266.1.8545959]'
-                         }
-                       }
-                       Column internal[DataSetConfigurableColumn] [112884.0.2032524903]
-                       {
-                         Header := 'Cost'
-                         Width := 100
-                         Subtotals := false
-                         Quantor
-                         {
-                           Expression := 'sum' 'object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity()'
-                         }
-                         Specific
-                         {
-                           Text := 'VALUE( object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity() )'
-                           Alignment := 'Default'
-                         }
-                       }
-                     }
-                   }
-                   Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n  <GEBFiltering Key="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Quantity1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Real">\n        <ColumnID>[112610.0.1005221707]</ColumnID>\n        <BaseName>Quantity</BaseName>\n        <Name>Quantity</Name>\n        <Title>Quantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Quantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Quantity1">\n          <ColumnID>[112610.0.1005221707]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
-                   ColumnSort [113694.0.1490809329] true false
-                   ColumnSort [113694.0.1490521540] true false
-                  }
-                 }
-                }
-               }
-              }
-             }
-            }
-           }
-          }
-         }
-         INFOOBJECT
-         {
-          KEY [108486.1.1171911811]
-          OBJECTTYPE SplitterPane
-          CONTENTS
-          {
-           Size 49.867197875166
-           VISIBLE true
-          }
-          INFOOBJECTS
-          {
-           INFOOBJECT
-           {
-            KEY [108486.1.1175693802]
-            OBJECTTYPE SplitterWnd
-            INFOOBJECTS
-            {
-             INFOOBJECT
-             {
-              KEY [108486.1.1175693803]
-              OBJECTTYPE SplitterPane
-              CONTENTS
-              {
-               Size 52.6315789473684
-               VISIBLE true
-              }
-              INFOOBJECTS
-              {
-               INFOOBJECT
-               {
-                KEY [108486.1.1175693804]
-                OBJECTTYPE List
-                CONTENTS
-                {
-                 Quantorrow := false
-                }
-                INFOOBJECTS
-                {
-                 INFOOBJECT
-                 {
-                  KEY [108486.1.1175693807]
-                  OBJECTTYPE GUIDataSetLevel
-                  CONTENTS
-                  {
-                   Columns
-                   {
-                     Definition := [108486.1.1175456932]
-                     {
-                       [108486.1.1175896212]
-                     }
-                     SubTotals := true
-                     Visible
-                     {
-                       Column internal[DataSetImageColumn] [108486.1.2113319927]
-                       {
-                         Width := 23
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'SupplyType [108486.1.1185051348]'
-                         }
-                       }
-                       Column internal[DataSetImageColumn] [108486.2.521730743]
-                       {
-                         Header := 'HasValidPegging'
-                         Width := 21
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ImgHasValidPegging [108486.2.479981617]'
-                         }
-                       }
-                       Column internal[DataSetImageColumn] [108486.2.14534947]
-                       {
-                         Header := 'HasValidPeggedQuantity'
-                         Width := 23
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ImgHasValidPeggedQuantity [108486.1.2146810434]'
-                         }
-                       }
-                       Column internal[DataSetConfigurableColumn] [108486.1.2113344305]
-                       {
-                         Header := 'Period start'
-                         Width := 115
-                         Subtotals := false
-                         Specific
-                         {
-                           Text := 'VALUE( object.GetPeriodStart() )'
-                           Alignment := ''
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [108486.1.2110122007]
-                       {
-                         Width := 116
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'Quantity [112884.1.1160030032]'
-                         }
-                       }
-                       Column internal[DataSetChartColumn] [108486.1.2113393570]
-                       {
-                         Header := 'Supply'
-                         Width := 72
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           Type := 'Stacked Bar'
-                           Relative := true
-                           Points
-                           {
-                             PointDefinition
-                             {
-                               Text := 'minvalue( object.GetPeggedQuantity(), object.Quantity() )'
-                               Color := '$CCCCCC'
-                               NegativeColor := 'Red'
-                               Description := 'Used quantity for pegging'
-                             }
-                             PointDefinition
-                             {
-                               Text := 'object.GetAvailableQuantityForPegging()'
-                               Color := 'Green'
-                               NegativeColor := 'Red'
-                               Description := 'Available quantity for pegging'
-                             }
-                             PointDefinition
-                             {
-                               Text := 'maxvalue( object.GetPeggedQuantity() - object.Quantity(), 0 )'
-                               Color := 'Red'
-                               NegativeColor := 'Red'
-                               Description := 'Overused quantity'
-                             }
-                           }
-                         }
-                       }
-                       Column internal[DataSetConfigurableColumn] [110880.2.1142925855]
-                       {
-                         Header := 'Available'
-                         Width := 79
-                         Subtotals := false
-                         Specific
-                         {
-                           Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
-                           Alignment := ''
-                         }
-                       }
-                     }
-                   }
-                   ColumnSort [108486.1.2113344305] true false
-                  }
-                 }
-                }
-               }
-              }
-             }
-             INFOOBJECT
-             {
-              KEY [108486.1.1175693810]
-              OBJECTTYPE SplitterPane
-              CONTENTS
-              {
-               Size 47.3684210526316
-               VISIBLE true
-              }
-              INFOOBJECTS
-              {
-               INFOOBJECT
-               {
-                KEY [108486.1.1175693811]
-                OBJECTTYPE List
-                CONTENTS
-                {
-                 Quantorrow := false
-                }
-                INFOOBJECTS
-                {
-                 INFOOBJECT
-                 {
-                  KEY [108486.1.1175693814]
-                  OBJECTTYPE GUIDataSetLevel
-                  CONTENTS
-                  {
-                   Columns
-                   {
-                     Definition := [108486.1.1175456935]
-                     {
-                       [108486.1.1175896215]
-                       [108486.1.1320715924]
-                     }
-                     SubTotals := true
-                     Visible
-                     {
-                       Column internal[DataSetImageColumn] [108486.1.2113733284]
-                       {
-                         Header := 'DemandType'
-                         Width := 23
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'Demand_MP [134266.1.16794407]|DemandType [11660.0.340434965]'
-                         }
-                       }
-                       Column internal[DataSetImageColumn] [110880.9.1181425511]
-                       {
-                         Header := 'HasUserQuantity'
-                         Width := 25
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
-                         }
-                       }
-                       Column internal[DataSetImageColumn] [113694.0.1488690244]
-                       {
-                         Width := 21
-                         SizedByUser := true
-                         Subtotals := false
-                         Specific
-                         {
-                           DataPath := 'ImgHasDemand [113694.0.1488476421]'
-                         }
-                       }
-                       Column internal[DataSetConfigurableColumn] [108486.1.2113843687]
-                       {
-                         Header := 'Period start'
-                         Width := 115
-                         Subtotals := false
-                         Specific
-                         {
-                           Text := 'VALUE( object.Demand_MP().GetPeriodStart() )'
-                           Alignment := ''
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [108486.1.2110122012]
-                       {
-                         Width := 100
-                         Subtotals := false
-                         Quantor
-                         {
-                           Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
-                         }
-                         Specific
-                         {
-                           DataPath := 'Quantity [134266.1.8545959]'
-                         }
-                       }
-                       Column internal[DataSetDataColumn] [108486.1.2110122013]
-                       {
-                         Header := 'Cost'
-                         Width := 100
-                         Subtotals := false
-                         Quantor
-                         {
-                           Simple := 'sum' DataMemberString := 'BaseCost [134266.1.8545935]'
-                         }
-                         Specific
-                         {
-                           DataPath := 'BaseCost [134266.1.8545935]'
-                         }
-                       }
-                     }
-                   }
-                   ColumnSort [108486.1.2113843687] true false
-                  }
-                 }
-                }
-               }
-              }
-             }
-            }
-           }
-          }
-         }
-        }
-       }
-      }
-     }
-     INFOOBJECT
-     {
-      KEY [127710.1.818301225]
-      SINGLEINSTANCE false
-      ID '浜у搧瑙勫垝鏁版嵁鐭╅樀'
-      PARENTKEY [514.0.2180]
-      OBJECTTYPE Form
-      CREATETYPE FormProductPlanningMatrix
-      CONTENTS
-      {
-       State := normal
-       (0,0,0,0)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[0]Selection[FRONT]
-      }
-      INFOOBJECTS
-      {
-       INFOOBJECT
-       {
-        KEY [127710.1.821866707]
-        OBJECTTYPE CheckBox
-        CONTENTS
-        {
-         Checkstate 1
-        }
-       }
-       INFOOBJECT
-       {
-        KEY [127710.1.821866918]
-        OBJECTTYPE StringSelection
-        CONTENTS
-        {
-         BoundValue '[Leaf product]'
-        }
-       }
-       INFOOBJECT
-       {
-        KEY [127710.1.818312567]
-        OBJECTTYPE MatrixEditor
-        CONTENTS
-        {
-         RowHeight 29
-         ColumnWidth 82
-         FirstColumnWidth 433
-         Attributes 'SupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays'
-        }
-        INFOOBJECTS
-        {
-         INFOOBJECT
-         {
-          KEY [127710.1.819572713]
-          OBJECTTYPE GUIScaleView
-          INFOOBJECTS
-          {
-           INFOOBJECT
-           {
-            KEY [127710.1.820829335]
-            OBJECTTYPE UserConfigurableInformation
-            CONTENTS
-            {
-             ObjectText 'VALUE(object.Start())'
-            }
-           }
-          }
-         }
-         INFOOBJECT
-         {
-          KEY [127710.1.819572710]
-          OBJECTTYPE GUIScaleView
-          INFOOBJECTS
-          {
-           INFOOBJECT
-           {
-            KEY [127710.1.820300549]
-            OBJECTTYPE UserConfigurableInformation
-            CONTENTS
-            {
-             ObjectText 'VALUE( object.Name() ) (VALUE( object.UnitOfMeasureName() ))'
-            }
-           }
-          }
-         }
-        }
-       }
-      }
-     }
-     INFOOBJECT
-     {
       KEY [107654.0.139602704]
       SINGLEINSTANCE false
       ID '閿�鍞渶姹�'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form
+      OBJECTTYPE Form // FormSalesDemands
       CREATETYPE FormSalesDemands
       CONTENTS
       {
        State := normal
        (1344,0,192,928)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[1]Selection[NONE]
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[0]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [124112.0.87054864]
-        OBJECTTYPE SplitterWnd
+        OBJECTTYPE SplitterWnd // SplitterWnd1
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [124112.0.87054865]
-          OBJECTTYPE SplitterPane
+          OBJECTTYPE SplitterPane // SplitterPaneSalesDemand
           CONTENTS
           {
            Size 72.2642807983482
@@ -1611,7 +930,7 @@
            INFOOBJECT
            {
             KEY [124112.0.87250426]
-            OBJECTTYPE List
+            OBJECTTYPE List // ListSalesDemand
             CONTENTS
             {
              Quantorrow := false
@@ -1621,7 +940,7 @@
              INFOOBJECT
              {
               KEY [124112.0.87253131]
-              OBJECTTYPE GUIDataSetLevel
+              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemand
               CONTENTS
               {
                Columns
@@ -1756,7 +1075,7 @@
          INFOOBJECT
          {
           KEY [124112.0.87054866]
-          OBJECTTYPE SplitterPane
+          OBJECTTYPE SplitterPane // SplitterPaneSalesDemandInPeriod
           CONTENTS
           {
            Size 27.7357192016518
@@ -1767,13 +1086,13 @@
            INFOOBJECT
            {
             KEY [116826.1.6886965]
-            OBJECTTYPE SplitterWnd
+            OBJECTTYPE SplitterWnd // SplitterWnd
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [116826.1.6886966]
-              OBJECTTYPE SplitterPane
+              OBJECTTYPE SplitterPane // SplitterPane
               CONTENTS
               {
                VISIBLE true
@@ -1783,7 +1102,7 @@
                INFOOBJECT
                {
                 KEY [116826.1.6887229]
-                OBJECTTYPE List
+                OBJECTTYPE List // ListAggregatedSalesDemandInPeriod
                 CONTENTS
                 {
                  Quantorrow := false
@@ -1793,7 +1112,7 @@
                  INFOOBJECT
                  {
                   KEY [116826.1.6887235]
-                  OBJECTTYPE GUIDataSetLevel
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSalesDemandInPeriod
                   CONTENTS
                   {
                    Columns
@@ -1886,7 +1205,7 @@
              INFOOBJECT
              {
               KEY [116826.1.6886967]
-              OBJECTTYPE SplitterPane
+              OBJECTTYPE SplitterPane // SplitterPane552
               CONTENTS
               {
                VISIBLE true
@@ -1896,7 +1215,7 @@
                INFOOBJECT
                {
                 KEY [116826.1.6889558]
-                OBJECTTYPE List
+                OBJECTTYPE List // ListDisaggregatedSalesDemandInPeriod
                 CONTENTS
                 {
                  Quantorrow := false
@@ -1906,7 +1225,7 @@
                  INFOOBJECT
                  {
                   KEY [116826.1.6889563]
-                  OBJECTTYPE GUIDataSetLevel
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
                   CONTENTS
                   {
                    Columns
@@ -2007,30 +1326,742 @@
      }
      INFOOBJECT
      {
+      KEY [127710.1.818301225]
+      SINGLEINSTANCE false
+      ID '浜у搧瑙勫垝鏁版嵁鐭╅樀'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Form // FormProductPlanningMatrix
+      CREATETYPE FormProductPlanningMatrix
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[0]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [127710.1.821866707]
+        OBJECTTYPE CheckBox // CheckBoxFilterByProductLevel
+        CONTENTS
+        {
+         Checkstate 1
+        }
+       }
+       INFOOBJECT
+       {
+        KEY [127710.1.821866918]
+        OBJECTTYPE StringSelection // StringSelectionProductLevel
+        CONTENTS
+        {
+         BoundValue '[Leaf product]'
+        }
+        INFOOBJECTS
+        {
+        }
+       }
+       INFOOBJECT
+       {
+        KEY [127710.1.818312567]
+        OBJECTTYPE MatrixEditor // MatrixEditorProductPlanning
+        CONTENTS
+        {
+         RowHeight 29
+         ColumnWidth 82
+         FirstColumnWidth 433
+         Attributes 'SupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays'
+        }
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [127710.1.819572713]
+          OBJECTTYPE GUIScaleView // MatrixEditorColumns
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [127710.1.820829335]
+            OBJECTTYPE UserConfigurableInformation // UserConfigurableInformationPeriod
+            CONTENTS
+            {
+             ObjectText 'VALUE(object.Start())'
+            }
+           }
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [127710.1.819572710]
+          OBJECTTYPE GUIScaleView // MatrixEditorRows
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [127710.1.820300549]
+            OBJECTTYPE UserConfigurableInformation // UserConfigurableInformationPISP
+            CONTENTS
+            {
+             ObjectText 'VALUE( object.Name() ) (VALUE( object.UnitOfMeasureName() ))'
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [108486.1.1170974339]
+      SINGLEINSTANCE false
+      ID 'Pegging'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Form // FormPegging
+      CREATETYPE FormPegging
+      CONTENTS
+      {
+       State := normal
+       (354,421,990,664)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[1]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [108486.1.1171911809]
+        OBJECTTYPE SplitterWnd // SplitterWnd1
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [108486.1.1171911810]
+          OBJECTTYPE SplitterPane // SplitterPane
+          CONTENTS
+          {
+           Size 50.132802124834
+           VISIBLE true
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [108486.1.1171921411]
+            OBJECTTYPE SplitterWnd // SplitterWndDemand_MP_Pegging
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [108486.1.1171921412]
+              OBJECTTYPE SplitterPane // SplitterPane2
+              CONTENTS
+              {
+               Size 52.6515151515151
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [108486.1.1171921414]
+                OBJECTTYPE List // ListDemand
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [108486.1.1171924299]
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelDemand_MP
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     Definition := [11766.0.1025088210]
+                     {
+                       [11766.1.490215920]
+                     }
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetImageColumn] [108486.1.2111697545]
+                       {
+                         Width := 19
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'DemandType [11660.0.340434965]'
+                         }
+                       }
+                       Column internal[DataSetImageColumn] [108486.2.15728337]
+                       {
+                         Header := 'HasValidPeggedQuantity'
+                         Width := 21
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ImgHasValidPeggedQuantity [108486.2.15494714]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [127710.1.1139010297]
+                       {
+                         Header := 'Stocking point'
+                         Width := 137
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|AsPlanningProductInStockingPoint [134266.1.8545642]|StockingPoint_MP [11660.0.488414369]|Name [101472.1.1554218718]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [108486.1.2110122000]
+                       {
+                         Header := 'Product'
+                         Width := 184
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|ProductInStockingPoint_MP [134266.1.5798354]|Product_MP [11660.0.486228287]|Name [101472.1.1551142288]'
+                         }
+                       }
+                       Column internal[DataSetConfigurableColumn] [108486.1.2112140291]
+                       {
+                         Header := 'Period start'
+                         Width := 115
+                         Subtotals := false
+                         Specific
+                         {
+                           Text := 'VALUE( object.GetPeriodStart() )'
+                           Alignment := ''
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [11766.1.490215920]
+                       {
+                         Width := 91
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Quantity [101320.0.110374989]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [108486.1.2110122001]
+                       {
+                         Header := 'Fulfilled'
+                         Width := 82
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'FulfilledQuantity [11660.0.157649047]'
+                         }
+                       }
+                       Column internal[DataSetConfigurableColumn] [110880.2.1142677800]
+                       {
+                         Header := 'Available'
+                         Width := 79
+                         Subtotals := false
+                         Specific
+                         {
+                           Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
+                           Alignment := ''
+                         }
+                       }
+                       Column internal[DataSetChartColumn] [108486.1.2112734746]
+                       {
+                         Header := 'Fulfillment'
+                         Width := 104
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           Type := 'Stacked Bar'
+                           Relative := true
+                           Points
+                           {
+                             PointDefinition
+                             {
+                               Text := 'minvalue( object.GetPeggedQuantity(), object.FulfilledQuantity() )'
+                               Color := 'Green'
+                               NegativeColor := 'Red'
+                               Description := 'Fulfilled pegged quantity'
+                             }
+                             PointDefinition
+                             {
+                               Text := 'maxvalue( object.FulfilledQuantity() - object.GetPeggedQuantity(), 0 )'
+                               Color := '$FF9900'
+                               NegativeColor := 'Red'
+                               Description := 'Unpegged quantity'
+                             }
+                             PointDefinition
+                             {
+                               Text := 'maxvalue( object.GetPeggedQuantity() - object.FulfilledQuantity(), 0 )'
+                               Color := 'Red'
+                               NegativeColor := 'Red'
+                               Description := 'Overpegged quantity'
+                             }
+                           }
+                         }
+                       }
+                     }
+                   }
+                   Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Demand_MP Q11660_0_96892572">\n  <GEBFiltering Key="@Default_Filter1" TargetType="Demand_MP Q11660_0_96892572">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@ImgHasValidPeggedQuantity1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n        <ColumnID>[108486.2.847961073]</ColumnID>\n        <BaseName>ImgHasValidPeggedQuantity</BaseName>\n        <Name>ImgHasValidPeggedQuantity</Name>\n        <Title>ImgHasValidPeggedQuantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>ImgHasValidPeggedQuantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@DemandType1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n        <ColumnID>[108486.2.847961104]</ColumnID>\n        <BaseName>DemandType</BaseName>\n        <Name>DemandType</Name>\n        <Title>DemandType</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>DemandType</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@FulfilledQuantity1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Real">\n        <ColumnID>[108486.2.847961228]</ColumnID>\n        <BaseName>FulfilledQuantity</BaseName>\n        <Name>FulfilledQuantity</Name>\n        <Title>FulfilledQuantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>FulfilledQuantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBProcessColumn Key="@Date1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Date">\n        <ColumnID>[108486.1.1930448455]</ColumnID>\n        <BaseName>Date</BaseName>\n        <Name>Date</Name>\n        <Title>Date</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <GEBDerivation Key="@3">\n          <GEBDerivationBase Key="@4" TargetType="Demand_MP Q11660_0_96892572">\n            <ColumnID>[0.0.0]</ColumnID>\n            <GEBNodeDerivation Key="@5">\n              <Operation>FirstExpression</Operation>\n              <Conditional>false</Conditional>\n              <Multiple>false</Multiple>\n              <AllowWildcards>false</AllowWildcards>\n              <GEBNodeDerivationExpression Key="@6">\n                <GEBNodeDerivationExpressionBody Key="@7">\n                  <ExpressionText>object.GetDate()</ExpressionText>\n                  <Converter>\n                    <ZeroConverter Key="@8">\n                      <IsStandard>true</IsStandard>\n                      <IsISO>false</IsISO>\n                      <IsCustom>false</IsCustom>\n                      <ConversionType>0</ConversionType>\n                    </ZeroConverter>\n                  </Converter>\n                </GEBNodeDerivationExpressionBody>\n              </GEBNodeDerivationExpression>\n            </GEBNodeDerivation>\n          </GEBDerivationBase>\n        </GEBDerivation>\n      </GEBProcessColumn>\n      <GEBFilter Key="@9">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@10" Column="@FulfilledQuantity1">\n          <ColumnID>[108486.2.847961228]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@11">\n          <ExpressionText></ExpressionText>\n          <Converter>\n            <ZeroConverter Key="@12">\n              <IsStandard>true</IsStandard>\n              <IsISO>false</IsISO>\n              <IsCustom>false</IsCustom>\n              <ConversionType>0</ConversionType>\n            </ZeroConverter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
+                   ColumnSort [108486.1.2112140291] true false
+                  }
+                 }
+                }
+               }
+              }
+             }
+             INFOOBJECT
+             {
+              KEY [108486.1.1171921413]
+              OBJECTTYPE SplitterPane // SplitterPane3
+              CONTENTS
+              {
+               Size 47.3484848484849
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [113694.0.1490022148]
+                OBJECTTYPE List // ListDemandPegging
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [113694.0.1490022154]
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     Definition := [108486.1.1171928381]
+                     {
+                       [108486.1.1171960868]
+                       [108486.1.1320715923]
+                     }
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetImageColumn] [135072.0.40676723]
+                       {
+                         Width := 22
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Supply_MP [134266.1.11843917]|SupplyType [108486.1.1185051348]'
+                         }
+                       }
+                       Column internal[DataSetImageColumn] [110880.9.1181376772]
+                       {
+                         Header := 'HasUserQuantity'
+                         Width := 23
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
+                         }
+                       }
+                       Column internal[DataSetImageColumn] [113694.0.1490534244]
+                       {
+                         Width := 21
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ImgHasSupply [108486.2.16148330]'
+                         }
+                       }
+                       Column internal[DataSetConfigurableColumn] [113694.0.1490809329]
+                       {
+                         Header := 'Period start'
+                         Width := 115
+                         Subtotals := false
+                         Specific
+                         {
+                           Text := 'VALUE( object.Supply_MP().GetPeriodStart() )'
+                           Alignment := 'Default'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [113694.0.1490521540]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Quantor
+                         {
+                           Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
+                         }
+                         Specific
+                         {
+                           DataPath := 'Quantity [134266.1.8545959]'
+                         }
+                       }
+                       Column internal[DataSetConfigurableColumn] [112884.0.2032524903]
+                       {
+                         Header := 'Cost'
+                         Width := 100
+                         Subtotals := false
+                         Quantor
+                         {
+                           Expression := 'sum' 'object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity()'
+                         }
+                         Specific
+                         {
+                           Text := 'VALUE( object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity() )'
+                           Alignment := 'Default'
+                         }
+                       }
+                     }
+                   }
+                   Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n  <GEBFiltering Key="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Quantity1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Real">\n        <ColumnID>[112610.0.1005221707]</ColumnID>\n        <BaseName>Quantity</BaseName>\n        <Name>Quantity</Name>\n        <Title>Quantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Quantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Quantity1">\n          <ColumnID>[112610.0.1005221707]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
+                   ColumnSort [113694.0.1490809329] true false
+                   ColumnSort [113694.0.1490521540] true false
+                  }
+                 }
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [108486.1.1171911811]
+          OBJECTTYPE SplitterPane // SplitterPane1
+          CONTENTS
+          {
+           Size 49.867197875166
+           VISIBLE true
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [108486.1.1175693802]
+            OBJECTTYPE SplitterWnd // SplitterWndSupply_MP_Pegging
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [108486.1.1175693803]
+              OBJECTTYPE SplitterPane // SplitterPane4
+              CONTENTS
+              {
+               Size 52.6315789473684
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [108486.1.1175693804]
+                OBJECTTYPE List // ListSupply
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [108486.1.1175693807]
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSupply_MP
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     Definition := [108486.1.1175456932]
+                     {
+                       [108486.1.1175896212]
+                     }
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetImageColumn] [108486.1.2113319927]
+                       {
+                         Width := 23
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'SupplyType [108486.1.1185051348]'
+                         }
+                       }
+                       Column internal[DataSetImageColumn] [108486.2.521730743]
+                       {
+                         Header := 'HasValidPegging'
+                         Width := 21
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ImgHasValidPegging [108486.2.479981617]'
+                         }
+                       }
+                       Column internal[DataSetImageColumn] [108486.2.14534947]
+                       {
+                         Header := 'HasValidPeggedQuantity'
+                         Width := 23
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ImgHasValidPeggedQuantity [108486.1.2146810434]'
+                         }
+                       }
+                       Column internal[DataSetConfigurableColumn] [108486.1.2113344305]
+                       {
+                         Header := 'Period start'
+                         Width := 115
+                         Subtotals := false
+                         Specific
+                         {
+                           Text := 'VALUE( object.GetPeriodStart() )'
+                           Alignment := ''
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [108486.1.2110122007]
+                       {
+                         Width := 116
+                         SizedByUser := true
+                         Subtotals := true
+                         Specific
+                         {
+                           DataPath := 'Quantity [112884.1.1160030032]'
+                         }
+                       }
+                       Column internal[DataSetChartColumn] [108486.1.2113393570]
+                       {
+                         Header := 'Supply'
+                         Width := 72
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           Type := 'Stacked Bar'
+                           Relative := true
+                           Points
+                           {
+                             PointDefinition
+                             {
+                               Text := 'minvalue( object.GetPeggedQuantity(), object.Quantity() )'
+                               Color := '$CCCCCC'
+                               NegativeColor := 'Red'
+                               Description := 'Used quantity for pegging'
+                             }
+                             PointDefinition
+                             {
+                               Text := 'object.GetAvailableQuantityForPegging()'
+                               Color := 'Green'
+                               NegativeColor := 'Red'
+                               Description := 'Available quantity for pegging'
+                             }
+                             PointDefinition
+                             {
+                               Text := 'maxvalue( object.GetPeggedQuantity() - object.Quantity(), 0 )'
+                               Color := 'Red'
+                               NegativeColor := 'Red'
+                               Description := 'Overused quantity'
+                             }
+                           }
+                         }
+                       }
+                       Column internal[DataSetConfigurableColumn] [110880.2.1142925855]
+                       {
+                         Header := 'Available'
+                         Width := 79
+                         Subtotals := false
+                         Specific
+                         {
+                           Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
+                           Alignment := ''
+                         }
+                       }
+                     }
+                   }
+                   ColumnSort [108486.1.2113344305] true false
+                  }
+                 }
+                }
+               }
+              }
+             }
+             INFOOBJECT
+             {
+              KEY [108486.1.1175693810]
+              OBJECTTYPE SplitterPane // SplitterPane5
+              CONTENTS
+              {
+               Size 47.3684210526316
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [108486.1.1175693811]
+                OBJECTTYPE List // ListSupplyPegging
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [108486.1.1175693814]
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     Definition := [108486.1.1175456935]
+                     {
+                       [108486.1.1175896215]
+                       [108486.1.1320715924]
+                     }
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetImageColumn] [108486.1.2113733284]
+                       {
+                         Header := 'DemandType'
+                         Width := 23
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Demand_MP [134266.1.16794407]|DemandType [11660.0.340434965]'
+                         }
+                       }
+                       Column internal[DataSetImageColumn] [110880.9.1181425511]
+                       {
+                         Header := 'HasUserQuantity'
+                         Width := 25
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
+                         }
+                       }
+                       Column internal[DataSetImageColumn] [113694.0.1488690244]
+                       {
+                         Width := 21
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ImgHasDemand [113694.0.1488476421]'
+                         }
+                       }
+                       Column internal[DataSetConfigurableColumn] [108486.1.2113843687]
+                       {
+                         Header := 'Period start'
+                         Width := 115
+                         Subtotals := false
+                         Specific
+                         {
+                           Text := 'VALUE( object.Demand_MP().GetPeriodStart() )'
+                           Alignment := ''
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [108486.1.2110122012]
+                       {
+                         Width := 150
+                         SizedByUser := true
+                         Subtotals := false
+                         Quantor
+                         {
+                           Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
+                         }
+                         Specific
+                         {
+                           DataPath := 'Quantity [134266.1.8545959]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [108486.1.2110122013]
+                       {
+                         Header := 'Cost'
+                         Width := 100
+                         Subtotals := false
+                         Quantor
+                         {
+                           Simple := 'sum' DataMemberString := 'BaseCost [134266.1.8545935]'
+                         }
+                         Specific
+                         {
+                           DataPath := 'BaseCost [134266.1.8545935]'
+                         }
+                       }
+                     }
+                   }
+                   ColumnSort [108486.1.2113843687] true false
+                  }
+                 }
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
       KEY [136682.0.365472357]
       SINGLEINSTANCE false
       ID '鍔犲伐璺緞'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form
+      OBJECTTYPE Form // FormRoutings
       CREATETYPE FormRoutings
       CONTENTS
       {
        State := normal
        (0,0,0,0)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[1]Selection[NONE]
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[2]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [136682.0.365497231]
-        OBJECTTYPE SplitterWnd
+        OBJECTTYPE SplitterWnd // SplitterWnd1
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [136682.0.365497232]
-          OBJECTTYPE SplitterPane
+          OBJECTTYPE SplitterPane // SplitterPane
           CONTENTS
           {
            VISIBLE true
@@ -2040,7 +2071,7 @@
            INFOOBJECT
            {
             KEY [136682.0.365497233]
-            OBJECTTYPE List
+            OBJECTTYPE List // ListRouting
             CONTENTS
             {
              Quantorrow := false
@@ -2050,7 +2081,7 @@
              INFOOBJECT
              {
               KEY [136682.0.365497235]
-              OBJECTTYPE GUIDataSetLevel
+              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelRouting
               CONTENTS
               {
                Columns
@@ -2295,7 +2326,7 @@
          INFOOBJECT
          {
           KEY [136682.0.365497250]
-          OBJECTTYPE SplitterPane
+          OBJECTTYPE SplitterPane // SplitterPane1
           CONTENTS
           {
            VISIBLE true
@@ -2305,16 +2336,19 @@
            INFOOBJECT
            {
             KEY [136682.0.365497251]
-            OBJECTTYPE SplitterWnd
+            OBJECTTYPE SplitterWnd // SplitterWnd2
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [136682.0.365497252]
-              OBJECTTYPE SplitterPane
+              OBJECTTYPE SplitterPane // SplitterPane2
               CONTENTS
               {
                VISIBLE true
+              }
+              INFOOBJECTS
+              {
               }
              }
             }
@@ -2326,7 +2360,7 @@
        INFOOBJECT
        {
         KEY [136682.0.365502343]
-        OBJECTTYPE CheckBox
+        OBJECTTYPE CheckBox // CheckBoxFilterProduct
         CONTENTS
         {
          Checkstate 1
@@ -2340,13 +2374,16 @@
       SINGLEINSTANCE false
       ID '鍔熻兘娴嬭瘯鎸夐挳'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form
+      OBJECTTYPE Form // FormTestButtonCollection
       CREATETYPE FormTestButtonCollection
       CONTENTS
       {
        State := normal
        (0,0,0,0)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[3]Selection[FOCUS]
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[3]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
       }
      }
      INFOOBJECT
@@ -2355,20 +2392,23 @@
       SINGLEINSTANCE false
       ID '鍚庡彴杈撳嚭'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Dialog
+      OBJECTTYPE Dialog // dlgServerMessages
       CREATETYPE dlgServerMessages
       CONTENTS
       {
        State := normal
        (0,0,0,0)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[2]Selection[NONE]
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[4]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [514.0.2141287]
-        OBJECTTYPE List
+        OBJECTTYPE List // List1
         CONTENTS
         {
          Quantorrow := false
@@ -2378,7 +2418,7 @@
          INFOOBJECT
          {
           KEY [536.0.860799]
-          OBJECTTYPE GUIDataSetLevel
+          OBJECTTYPE GUIDataSetLevel // dslServerMessages
           CONTENTS
           {
            Columns
@@ -2416,26 +2456,29 @@
       SINGLEINSTANCE false
       ID 'Analysis GlobalOTDTable'
       PARENTKEY [514.0.2180]
-      OBJECTTYPE Form
+      OBJECTTYPE Form // frmStandardAnalysisGlobalOTDTable
       CREATETYPE frmStandardAnalysisGlobalOTDTable
       CONTENTS
       {
        State := normal
        (0,0,0,0)
-       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[2]Selection[NONE]
+       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[1]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
       }
       INFOOBJECTS
       {
        INFOOBJECT
        {
         KEY [530.0.3531801]
-        OBJECTTYPE SplitterWnd
+        OBJECTTYPE SplitterWnd // swTopMost
         INFOOBJECTS
         {
          INFOOBJECT
          {
           KEY [530.0.3531802]
-          OBJECTTYPE SplitterPane
+          OBJECTTYPE SplitterPane // SplitterPane1
           CONTENTS
           {
            VISIBLE true
@@ -2445,13 +2488,13 @@
            INFOOBJECT
            {
             KEY [530.0.3531806]
-            OBJECTTYPE SplitterWnd
+            OBJECTTYPE SplitterWnd // swTop
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [530.0.3531807]
-              OBJECTTYPE SplitterPane
+              OBJECTTYPE SplitterPane // spTopLeft
               CONTENTS
               {
                VISIBLE true
@@ -2461,14 +2504,14 @@
                INFOOBJECT
                {
                 KEY [530.0.3532065]
-                OBJECTTYPE GUIAnalysis
+                OBJECTTYPE GUIAnalysis // Analysis
                 CONTENTS
                 {
                  START(0,0,0,0,false)
                  ANALYSIS(0,0,0,0,false,'Analysis1')
                  {
                    SOURCE 'Types' '[414702.0.340560328]' 0
-                 
+                   
                    NAME 'Analysis1'
                  }
                  COLUMNSETTINGS
@@ -2658,7 +2701,7 @@
                INFOOBJECT
                {
                 KEY [530.1.25480335]
-                OBJECTTYPE List
+                OBJECTTYPE List // ListGUIAnalysisData
                 CONTENTS
                 {
                  Quantorrow := false
@@ -2668,7 +2711,7 @@
                  INFOOBJECT
                  {
                   KEY [530.1.25480340]
-                  OBJECTTYPE GUIDataSetLevel
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
                   CONTENTS
                   {
                    Columns
@@ -2684,7 +2727,7 @@
                        Column internal[DataSetDataColumn] [530.1.25480393]
                        {
                          Header := 'Name'
-                         Width := 100
+                         Width := 68
                          Subtotals := false
                          Specific
                          {
@@ -2694,7 +2737,7 @@
                        Column internal[DataSetDataColumn] [530.1.25480394]
                        {
                          Header := 'Description'
-                         Width := 100
+                         Width := 105
                          Subtotals := false
                          Specific
                          {
@@ -2713,7 +2756,7 @@
              INFOOBJECT
              {
               KEY [530.0.3531808]
-              OBJECTTYPE SplitterPane
+              OBJECTTYPE SplitterPane // spTopRight
               CONTENTS
               {
                VISIBLE true
@@ -2723,10 +2766,19 @@
                INFOOBJECT
                {
                 KEY [530.0.3532013]
-                OBJECTTYPE GUIAnalysisGrid
+                OBJECTTYPE GUIAnalysisGrid // AnalysisGrid
                 CONTENTS
                 {
                  NEWFORMAT
+                 COLUMN 93 50
+                 COLUMN 94 50
+                 COLUMN 95 50
+                 COLUMN 96 50
+                 COLUMN 97 50
+                 COLUMN 98 50
+                 COLUMN 99 50
+                 COLUMN 100 50
+                 COLUMN 101 50
                  COLUMN 102 50
                  COLUMN 103 50
                 }
@@ -2740,7 +2792,7 @@
          INFOOBJECT
          {
           KEY [530.0.3531803]
-          OBJECTTYPE SplitterPane
+          OBJECTTYPE SplitterPane // SplitterPane2
           CONTENTS
           {
            VISIBLE true
@@ -2750,13 +2802,13 @@
            INFOOBJECT
            {
             KEY [530.0.3531811]
-            OBJECTTYPE SplitterWnd
+            OBJECTTYPE SplitterWnd // swBottom
             INFOOBJECTS
             {
              INFOOBJECT
              {
               KEY [530.0.3531812]
-              OBJECTTYPE SplitterPane
+              OBJECTTYPE SplitterPane // spBottomLeft
               CONTENTS
               {
                Size 44.6569920844327
@@ -2767,13 +2819,13 @@
                INFOOBJECT
                {
                 KEY [530.0.3532136]
-                OBJECTTYPE SplitterWnd
+                OBJECTTYPE SplitterWnd // SplitterWnd4
                 INFOOBJECTS
                 {
                  INFOOBJECT
                  {
                   KEY [530.0.3532137]
-                  OBJECTTYPE SplitterPane
+                  OBJECTTYPE SplitterPane // SplitterPane7
                   CONTENTS
                   {
                    VISIBLE true
@@ -2783,13 +2835,13 @@
                    INFOOBJECT
                    {
                     KEY [530.0.3532138]
-                    OBJECTTYPE SplitterWnd
+                    OBJECTTYPE SplitterWnd // SplitterWnd5
                     INFOOBJECTS
                     {
                      INFOOBJECT
                      {
                       KEY [530.0.3532139]
-                      OBJECTTYPE SplitterPane
+                      OBJECTTYPE SplitterPane // SplitterPane9
                       CONTENTS
                       {
                        VISIBLE true
@@ -2799,7 +2851,7 @@
                        INFOOBJECT
                        {
                         KEY [530.0.3532140]
-                        OBJECTTYPE List
+                        OBJECTTYPE List // lstAttributes
                         CONTENTS
                         {
                          Quantorrow := false
@@ -2809,7 +2861,7 @@
                          INFOOBJECT
                          {
                           KEY [530.0.3532156]
-                          OBJECTTYPE GUIDataSetLevel
+                          OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
                           CONTENTS
                           {
                            Columns
@@ -2865,7 +2917,7 @@
                      INFOOBJECT
                      {
                       KEY [530.0.3532169]
-                      OBJECTTYPE SplitterPane
+                      OBJECTTYPE SplitterPane // SplitterPane10
                       CONTENTS
                       {
                        VISIBLE true
@@ -2875,7 +2927,7 @@
                        INFOOBJECT
                        {
                         KEY [530.0.3532170]
-                        OBJECTTYPE List
+                        OBJECTTYPE List // List3
                         CONTENTS
                         {
                          Quantorrow := false
@@ -2885,7 +2937,7 @@
                          INFOOBJECT
                          {
                           KEY [530.0.3532175]
-                          OBJECTTYPE GUIDataSetLevel
+                          OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel3
                           CONTENTS
                           {
                            Columns
@@ -2902,7 +2954,7 @@
                                Column internal[DataSetDataColumn] [514.0.499730]
                                {
                                  Header := 'Name'
-                                 Width := 100
+                                 Width := 68
                                  Subtotals := false
                                  Specific
                                  {
@@ -2912,7 +2964,7 @@
                                Column internal[DataSetDataColumn] [530.1.32701549]
                                {
                                  Header := 'Description'
-                                 Width := 100
+                                 Width := 105
                                  Subtotals := false
                                  Specific
                                  {
@@ -2922,7 +2974,7 @@
                                Column internal[DataSetDataColumn] [678.0.64301138]
                                {
                                  Header := 'astype(UITypeDataMember).DataType.FullName'
-                                 Width := 100
+                                 Width := 404
                                  Subtotals := false
                                  Specific
                                  {
@@ -2945,7 +2997,7 @@
                  INFOOBJECT
                  {
                   KEY [530.0.3532181]
-                  OBJECTTYPE SplitterPane
+                  OBJECTTYPE SplitterPane // SplitterPane8
                   CONTENTS
                   {
                    VISIBLE true
@@ -2955,13 +3007,13 @@
                    INFOOBJECT
                    {
                     KEY [530.1.8006303]
-                    OBJECTTYPE SplitterWnd
+                    OBJECTTYPE SplitterWnd // SplitterWnd1
                     INFOOBJECTS
                     {
                      INFOOBJECT
                      {
                       KEY [530.1.8006304]
-                      OBJECTTYPE SplitterPane
+                      OBJECTTYPE SplitterPane // SplitterPane3
                       CONTENTS
                       {
                        VISIBLE true
@@ -2970,7 +3022,7 @@
                      INFOOBJECT
                      {
                       KEY [530.1.8006305]
-                      OBJECTTYPE SplitterPane
+                      OBJECTTYPE SplitterPane // SplitterPane4
                       CONTENTS
                       {
                        VISIBLE true
@@ -2980,7 +3032,7 @@
                        INFOOBJECT
                        {
                         KEY [530.0.3532182]
-                        OBJECTTYPE GUIAnalysisBarChart
+                        OBJECTTYPE GUIAnalysisBarChart // AnalysisBarChart
                         CONTENTS
                         {
                          LeftSize 207
@@ -2999,7 +3051,7 @@
              INFOOBJECT
              {
               KEY [530.0.3531813]
-              OBJECTTYPE SplitterPane
+              OBJECTTYPE SplitterPane // spBottomRight
               CONTENTS
               {
                Size 55.3430079155673
@@ -3010,7 +3062,7 @@
                INFOOBJECT
                {
                 KEY [530.0.3531950]
-                OBJECTTYPE List
+                OBJECTTYPE List // List1
                 CONTENTS
                 {
                  Quantorrow := false
@@ -3020,7 +3072,7 @@
                  INFOOBJECT
                  {
                   KEY [530.0.3531958]
-                  OBJECTTYPE GUIDataSetLevel
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
                   CONTENTS
                   {
                    Columns
@@ -3210,6 +3262,1885 @@
        }
       }
      }
+     INFOOBJECT
+     {
+      KEY [414702.1.299084054]
+      SINGLEINSTANCE false
+      ID 'PeggingResult'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Form // FormPeggingResult
+      CREATETYPE FormPeggingResult
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[3]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [414702.1.299084152]
+        OBJECTTYPE List // ListPeggingProductInSalesDemandBase
+        CONTENTS
+        {
+         Quantorrow := false
+        }
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [414702.1.299084219]
+          OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel641
+          CONTENTS
+          {
+           Columns
+           {
+             SubTotals := true
+             Visible
+             {
+               Column internal[DataSetDataColumn] [414702.1.299300692]
+               {
+                 Width := 100
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'Quantity [414702.1.294748143]'
+                 }
+               }
+               Column internal[DataSetDataColumn] [414702.1.299300693]
+               {
+                 Width := 100
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'SalesDemandBaseID [414702.1.294144483]'
+                 }
+               }
+               Column internal[DataSetDataColumn] [414702.1.299300694]
+               {
+                 Width := 163
+                 SizedByUser := true
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'StartDate [414702.1.294179413]'
+                 }
+               }
+               Column internal[DataSetDataColumn] [414702.1.299300695]
+               {
+                 Width := 100
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'StockingPointID [414702.1.294179269]'
+                 }
+               }
+             }
+           }
+           Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="PeggingProductInSalesDemandBase Q414702_1_290710053">\n  <GEBFiltering Key="@Default_Filter1" TargetType="PeggingProductInSalesDemandBase Q414702_1_290710053">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Quantity1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="Real">\n        <ColumnID>[414702.1.300710952]</ColumnID>\n        <BaseName>Quantity</BaseName>\n        <Name>Quantity</Name>\n        <Title>Quantity</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Quantity</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@SalesDemandBaseID1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="String">\n        <ColumnID>[414702.1.305339221]</ColumnID>\n        <BaseName>SalesDemandBaseID</BaseName>\n        <Name>SalesDemandBaseID</Name>\n        <Title>SalesDemandBaseID</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>SalesDemandBaseID</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@StartDate1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="Date">\n        <ColumnID>[414702.1.305339222]</ColumnID>\n        <BaseName>StartDate</BaseName>\n        <Name>StartDate</Name>\n        <Title>StartDate</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>StartDate</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@StockingPointID1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="String">\n        <ColumnID>[414702.1.305339223]</ColumnID>\n        <BaseName>StockingPointID</BaseName>\n        <Name>StockingPointID</Name>\n        <Title>StockingPointID</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>StockingPointID</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Quantity1">\n          <ColumnID>[414702.1.300710952]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
+           ColumnSort [414702.1.299300694] true false
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [414702.1.273394023]
+      SINGLEINSTANCE false
+      ID 'Analysis GlobalOTDSOP'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Form // frmStandardAnalysis633
+      CREATETYPE frmStandardAnalysis633
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[5]Selection[FRONT]
+      }
+      BASEINFOOBJECTS
+      {
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [530.0.3531801]
+        OBJECTTYPE SplitterWnd // swTopMost
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [530.0.3531802]
+          OBJECTTYPE SplitterPane // SplitterPane1
+          CONTENTS
+          {
+           Size 0
+           VISIBLE true
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [530.0.3531806]
+            OBJECTTYPE SplitterWnd // swTop
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [530.0.3531807]
+              OBJECTTYPE SplitterPane // spTopLeft
+              CONTENTS
+              {
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3532065]
+                OBJECTTYPE GUIAnalysis // Analysis
+                CONTENTS
+                {
+                 START(0,0,0,0,false)
+                 ANALYSIS(0,0,0,0,false,'Analysis1')
+                 {
+                   SOURCE 'Types' '[414702.1.290710093]' 0
+                   
+                   GROUP 'NumberOfPlies'
+                   NAME 'Analysis1'
+                 }
+                 ANALYSIS(0,0,0,0,false,'Analysis2')
+                 {
+                   SOURCE 'Analysis1' '0' 1
+                   N[0]
+                   TRAVERSE 'AllChild'
+                   NAME 'Analysis2'
+                 }
+                 COLUMNSETTINGS
+                 {
+                   CapacityAndSaleBudgeCompareItemRow
+                   {
+                     Columns
+                     {
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [414702.1.272348160]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'RowNo [414384.0.829650683]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.272348159]
+                         {
+                           Width := 78
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'PlaceOfProductionOfArray [414384.0.864360343]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.272348158]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'BusinessType [414384.0.819696514]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [414702.1.272348160] true false
+                   }
+                   CapacityAndSaleBudgeCompareItemRowProduct
+                   {
+                     Columns
+                     {
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [414702.1.272348161]
+                         {
+                           Width := 272
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ProductCode [414384.0.819696603]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [414702.1.272348161] true false
+                   }
+                   CapacityAndSaleBudgeChartElement
+                   {
+                     Columns
+                     {
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [414702.1.276292160]
+                         {
+                           Width := 368
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'BusinessTypeOrPlaceOfProductionOfArray [414384.0.852466561]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.276292162]
+                         {
+                           Width := 312
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'TimeStringAndScenarioName [414384.0.852466528]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.276292161]
+                         {
+                           Width := 210
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Quantity [414384.0.852466538]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [414702.1.276292160] true false
+                   }
+                   CapacityAndSaleBudgeCompareItemColumn
+                   {
+                     Columns
+                     {
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [414702.1.286540437]
+                         {
+                           Width := 287
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ColumnName [414384.0.816630974]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.286540438]
+                         {
+                           Width := 126
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ColumnNo [414384.0.829650696]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.286540439]
+                         {
+                           Width := 191
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'TotalIdentification [414702.1.286051924]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [414702.1.286540438] true false
+                   }
+                   PeggingResult
+                   {
+                     Columns
+                     {
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [414702.1.301867879]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'FulfillmentQuantity [414702.1.294201082]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.301867880]
+                         {
+                           Width := 150
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'NumberOfPlies [414702.1.294145594]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.301867881]
+                         {
+                           Width := 157
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'ProductID [414702.1.294201095]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.301867882]
+                         {
+                           Width := 110
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'StartDate [414702.1.294201062]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.301867883]
+                         {
+                           Width := 188
+                           SizedByUser := true
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'StockingPointID [414702.1.294201105]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.301867884]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'SupplyQuantity [414702.1.294201072]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [414702.1.301867885]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'SupplyType [414702.1.294201052]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [414702.1.301867880] true false
+                   }
+                 }
+                 CURRENT 'Analysis2'
+                 HOME 'Types'
+                 FIXEDANALYSIS
+                 {
+                 }
+                }
+               }
+               INFOOBJECT
+               {
+                KEY [530.1.25480335]
+                OBJECTTYPE List // ListGUIAnalysisData
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [530.1.25480340]
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     Definition := [530.1.25480345]
+                     {
+                       [530.1.25480393]
+                       [530.1.25480394]
+                     }
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetDataColumn] [530.1.25480393]
+                       {
+                         Header := 'Name'
+                         Width := 68
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Name [1.2.2366]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [530.1.25480394]
+                       {
+                         Header := 'Description'
+                         Width := 105
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'Description [1.2.1211]'
+                         }
+                       }
+                     }
+                   }
+                   ColumnSort [530.1.25480393] true false
+                  }
+                 }
+                }
+               }
+              }
+             }
+             INFOOBJECT
+             {
+              KEY [530.0.3531808]
+              OBJECTTYPE SplitterPane // spTopRight
+              CONTENTS
+              {
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3532013]
+                OBJECTTYPE GUIAnalysisGrid // AnalysisGrid
+                CONTENTS
+                {
+                 NEWFORMAT
+                 COLUMN 97 50
+                 COLUMN 98 50
+                 COLUMN 99 50
+                 COLUMN 100 50
+                 COLUMN 101 50
+                 COLUMN 102 50
+                 COLUMN 103 50
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [530.0.3531803]
+          OBJECTTYPE SplitterPane // SplitterPane2
+          CONTENTS
+          {
+           Size 100
+           VISIBLE true
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [530.0.3531811]
+            OBJECTTYPE SplitterWnd // swBottom
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [530.0.3531812]
+              OBJECTTYPE SplitterPane // spBottomLeft
+              CONTENTS
+              {
+               Size 44.5645263827082
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3532136]
+                OBJECTTYPE SplitterWnd // SplitterWnd4
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [530.0.3532137]
+                  OBJECTTYPE SplitterPane // SplitterPane7
+                  CONTENTS
+                  {
+                   Size 34.7701149425287
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [530.0.3532138]
+                    OBJECTTYPE SplitterWnd // SplitterWnd5
+                    INFOOBJECTS
+                    {
+                     INFOOBJECT
+                     {
+                      KEY [530.0.3532139]
+                      OBJECTTYPE SplitterPane // SplitterPane9
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                      INFOOBJECTS
+                      {
+                       INFOOBJECT
+                       {
+                        KEY [530.0.3532140]
+                        OBJECTTYPE List // lstAttributes
+                        CONTENTS
+                        {
+                         Quantorrow := false
+                        }
+                        INFOOBJECTS
+                        {
+                         INFOOBJECT
+                         {
+                          KEY [530.0.3532156]
+                          OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+                          CONTENTS
+                          {
+                           Columns
+                           {
+                             Definition := [514.0.499727]
+                             {
+                               [514.0.499730]
+                               [530.1.32701549]
+                               [678.0.64301138]
+                             }
+                             SubTotals := true
+                             Visible
+                             {
+                               Column internal[DataSetDataColumn] [514.0.499730]
+                               {
+                                 Header := 'Name'
+                                 Width := 68
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Name [1.2.34]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [530.1.32701549]
+                               {
+                                 Header := 'Description'
+                                 Width := 105
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Description [1.2.2564]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [678.0.64301138]
+                               {
+                                 Header := 'astype(UITypeDataMember).DataType.FullName'
+                                 Width := 404
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+                                 }
+                               }
+                             }
+                           }
+                           ColumnSort [514.0.499730] true false
+                          }
+                         }
+                        }
+                       }
+                      }
+                     }
+                     INFOOBJECT
+                     {
+                      KEY [530.0.3532169]
+                      OBJECTTYPE SplitterPane // SplitterPane10
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                      INFOOBJECTS
+                      {
+                       INFOOBJECT
+                       {
+                        KEY [530.0.3532170]
+                        OBJECTTYPE List // List3
+                        CONTENTS
+                        {
+                         Quantorrow := false
+                        }
+                        INFOOBJECTS
+                        {
+                         INFOOBJECT
+                         {
+                          KEY [530.0.3532175]
+                          OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel3
+                          CONTENTS
+                          {
+                           Columns
+                           {
+                             Definition := [514.0.499727]
+                             {
+                               [514.0.499730]
+                               [530.1.32701549]
+                               [678.0.64301138]
+                             }
+                             SubTotals := true
+                             Visible
+                             {
+                               Column internal[DataSetDataColumn] [514.0.499730]
+                               {
+                                 Header := 'Name'
+                                 Width := 68
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Name [1.2.34]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [530.1.32701549]
+                               {
+                                 Header := 'Description'
+                                 Width := 105
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'Description [1.2.2564]'
+                                 }
+                               }
+                               Column internal[DataSetDataColumn] [678.0.64301138]
+                               {
+                                 Header := 'astype(UITypeDataMember).DataType.FullName'
+                                 Width := 404
+                                 Subtotals := false
+                                 Specific
+                                 {
+                                   DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+                                 }
+                               }
+                             }
+                           }
+                           ColumnSort [514.0.499730] true false
+                          }
+                         }
+                        }
+                       }
+                      }
+                     }
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [530.0.3532181]
+                  OBJECTTYPE SplitterPane // SplitterPane8
+                  CONTENTS
+                  {
+                   Size 65.2298850574713
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [530.1.8006303]
+                    OBJECTTYPE SplitterWnd // SplitterWnd1
+                    INFOOBJECTS
+                    {
+                     INFOOBJECT
+                     {
+                      KEY [530.1.8006304]
+                      OBJECTTYPE SplitterPane // SplitterPane3
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                     }
+                     INFOOBJECT
+                     {
+                      KEY [530.1.8006305]
+                      OBJECTTYPE SplitterPane // SplitterPane4
+                      CONTENTS
+                      {
+                       VISIBLE true
+                      }
+                      INFOOBJECTS
+                      {
+                       INFOOBJECT
+                       {
+                        KEY [530.0.3532182]
+                        OBJECTTYPE GUIAnalysisBarChart // AnalysisBarChart
+                        CONTENTS
+                        {
+                         LeftSize 257
+                        }
+                       }
+                      }
+                     }
+                    }
+                   }
+                  }
+                 }
+                }
+               }
+              }
+             }
+             INFOOBJECT
+             {
+              KEY [530.0.3531813]
+              OBJECTTYPE SplitterPane // spBottomRight
+              CONTENTS
+              {
+               Size 55.4354736172919
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [530.0.3531950]
+                OBJECTTYPE List // List1
+                CONTENTS
+                {
+                 Quantorrow := false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [530.0.3531958]
+                  OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
+                  CONTENTS
+                  {
+                   Columns
+                   {
+                     SubTotals := true
+                     Visible
+                     {
+                       Column internal[DataSetDataColumn] [414702.1.301867879]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'FulfillmentQuantity [414702.1.294201082]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.301867880]
+                       {
+                         Width := 150
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'NumberOfPlies [414702.1.294145594]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.301867881]
+                       {
+                         Width := 157
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'ProductID [414702.1.294201095]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.301867882]
+                       {
+                         Width := 110
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'StartDate [414702.1.294201062]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.301867883]
+                       {
+                         Width := 188
+                         SizedByUser := true
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'StockingPointID [414702.1.294201105]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.301867884]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'SupplyQuantity [414702.1.294201072]'
+                         }
+                       }
+                       Column internal[DataSetDataColumn] [414702.1.301867885]
+                       {
+                         Width := 100
+                         Subtotals := false
+                         Specific
+                         {
+                           DataPath := 'SupplyType [414702.1.294201052]'
+                         }
+                       }
+                     }
+                   }
+                   ColumnSort [414702.1.301867880] true false
+                  }
+                 }
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [107654.0.148565389]
+      SINGLEINSTANCE false
+      ID '鏃舵浠诲姟'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Form // FormPeriodTasks
+      CREATETYPE FormPeriodTasks
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[2]Selection[FOCUS]
+      }
+      BASEINFOOBJECTS
+      {
+       BASEINFOOBJECT
+       {
+        KEY [107654.0.148565389]
+        OBJECTTYPE GUIContainerComponent // FormPeriodTasks
+        COMPONENTDATA
+        {
+         [107654.0.148565389]:[110880.4.1427962314]:[110880.4.1427962316]:[110880.4.1427968321]:[110880.4.1427968322]:[110880.4.1427969404]:[110880.4.1427969405]:[110880.4.1427973280]:[11766.0.1791753774]:[514.0.129466]:[104128.0.40995014]:[127710.1.1037824422] STR 'false'
+         [107654.0.148565389]:[110880.4.1427962314]:[110880.4.1427962316]:[110880.4.1427968321]:[110880.4.1427968322]:[110880.4.1427969404]:[110880.4.1427969405]:[110880.4.1427973280]:[11766.0.1791753774]:[514.0.129466]:[104128.0.40995014]:[127710.1.1037824123] STR 'false'
+        }
+       }
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [110880.4.1427962314]
+        OBJECTTYPE SplitterWnd // SplitterWnd1
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [110880.4.1427962316]
+          OBJECTTYPE SplitterPane // SplitterPane1
+          CONTENTS
+          {
+           VISIBLE true
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [110880.4.1427968321]
+            OBJECTTYPE SplitterWnd // SplitterWnd2
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [110880.4.1427968322]
+              OBJECTTYPE SplitterPane // SplitterPane2
+              CONTENTS
+              {
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [110880.4.1427969404]
+                OBJECTTYPE SplitterWnd // SplitterWnd3
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [110880.4.1427969405]
+                  OBJECTTYPE SplitterPane // SplitterPane4
+                  CONTENTS
+                  {
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [110880.4.1427973280]
+                    OBJECTTYPE List // ListPeriodTask_MP
+                    CONTENTS
+                    {
+                     Quantorrow := false
+                    }
+                    INFOOBJECTS
+                    {
+                     INFOOBJECT
+                     {
+                      KEY [11766.0.1791753776]
+                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelPeriodTask_MP
+                      CONTENTS
+                      {
+                       Columns
+                       {
+                         Definition := [11766.0.1176668425]
+                         {
+                           [112884.0.420632428]
+                           [11766.1.490571536]
+                           [11766.1.490571537]
+                           [11766.0.1176668437]
+                         }
+                         SubTotals := true
+                         Visible
+                         {
+                           Column internal[DataSetDataColumn] [112884.0.420632428]
+                           {
+                             Width := 195
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'Process_MP [110880.2.1152117000]|Name [110702.0.510655046]'
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [11766.1.490571536]
+                           {
+                             Width := 100
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'UnitPeriod [11766.0.881988410]|Start [101472.1.1929377045]'
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [11766.1.490571537]
+                           {
+                             Width := 100
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'UnitPeriod [11766.0.881988410]|End [101472.1.1929377307]'
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [11766.0.1176668437]
+                           {
+                             Width := 100
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'QuantityToProcess [11766.0.1140253578]'
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [414702.1.53972253]
+                           {
+                             Width := 175
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'Key [1.2.81]'
+                               AttributePathIdentifier := "StartType('external[PeriodTask_MP]')
+                               Attribute([1.2.81])"
+                             }
+                           }
+                         }
+                       }
+                       ColumnSort [112884.0.420632428] true false
+                       ColumnSort [11766.1.490571536] true false
+                       ColumnSort [11766.1.490571537] true false
+                       ColumnSort [11766.0.1176668437] true false
+                      }
+                     }
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [110880.4.1427969406]
+                  OBJECTTYPE SplitterPane // SplitterPane5
+                  CONTENTS
+                  {
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                  }
+                 }
+                }
+               }
+              }
+             }
+             INFOOBJECT
+             {
+              KEY [110880.4.1427968323]
+              OBJECTTYPE SplitterPane // SplitterPane3
+              CONTENTS
+              {
+               VISIBLE true
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [110880.4.1427969947]
+                OBJECTTYPE SplitterWnd // SplitterWnd4
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [110880.4.1427969948]
+                  OBJECTTYPE SplitterPane // SplitterPane6
+                  CONTENTS
+                  {
+                   Size 31.659249841068
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [110880.4.1427981196]
+                    OBJECTTYPE List // ListInputInputDemand
+                    CONTENTS
+                    {
+                     Quantorrow := false
+                    }
+                    INFOOBJECTS
+                    {
+                     INFOOBJECT
+                     {
+                      KEY [11766.0.1791753785]
+                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+                      CONTENTS
+                      {
+                       Columns
+                       {
+                         Definition := [11766.0.1025088210]
+                         {
+                           [11766.1.490215920]
+                         }
+                         SubTotals := true
+                         Visible
+                         {
+                           Column internal[DataSetDataColumn] [11766.1.490215920]
+                           {
+                             Width := 145
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'Quantity [101320.0.110374989]'
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [414702.1.19001156]
+                           {
+                             Width := 259
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'ProcessInput [110880.8.886850132]|downcast(OperationInput) [108486.1.157418918]|ProductID [113694.1.2134238792]'
+                               AttributePathIdentifier := "StartType('external[DependentDemand]')
+                               Node(R[110880.8.886850132], TT[108486.1.157418918], nondistinctive)
+                               Attribute([113694.1.2134238792])"
+                             }
+                           }
+                         }
+                       }
+                       ColumnSort [11766.1.490215920] true false
+                      }
+                     }
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [110880.4.1427969949]
+                  OBJECTTYPE SplitterPane // SplitterPane7
+                  CONTENTS
+                  {
+                   Size 68.340750158932
+                   VISIBLE true
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [110880.4.1427985019]
+                    OBJECTTYPE List // ListInputOutputSupply1
+                    CONTENTS
+                    {
+                     Quantorrow := false
+                    }
+                    INFOOBJECTS
+                    {
+                     INFOOBJECT
+                     {
+                      KEY [11766.0.1791753792]
+                      OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel3
+                      CONTENTS
+                      {
+                       Columns
+                       {
+                         Definition := [11766.0.1025296083]
+                         {
+                           [11766.0.1025296085]
+                         }
+                         SubTotals := true
+                         Visible
+                         {
+                           Column internal[DataSetDataColumn] [11766.0.1025296085]
+                           {
+                             Width := 100
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'Quantity [112884.1.1160030032]'
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [414702.1.19001111]
+                           {
+                             Width := 266
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'ProcessOutput [110880.8.945109647]|downcast(OperationOutput) [101318.0.90160276]|ProductID [113694.1.2134238792]'
+                               AttributePathIdentifier := "StartType('external[NewSupply]')
+                               Node(R[110880.8.945109647], TT[101318.0.90160276], nondistinctive)
+                               Attribute([113694.1.2134238792])"
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [414702.1.55207096]
+                           {
+                             Width := 173
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'Start [108486.2.80172755]'
+                               AttributePathIdentifier := "StartType('external[NewSupply]')
+                               Attribute([108486.2.80172755])"
+                             }
+                           }
+                           Column internal[DataSetDataColumn] [414702.1.55207125]
+                           {
+                             Width := 194
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               DataPath := 'AsProductionSupply [134266.1.5797947]|ProductInStockingPoint_MP [134266.1.5798354]|StockingPointID [108486.0.343831378]'
+                               AttributePathIdentifier := "StartType('external[NewSupply]')
+                               Node(R[134266.1.5797947], TT[134266.1.852406], distinctive)
+                               Node(R[134266.1.5798354], TT[11660.0.485565014], distinctive)
+                               Attribute([108486.0.343831378])"
+                             }
+                           }
+                           Column internal[DataSetConfigurableColumn] [414702.1.305339206]
+                           {
+                             Header := 'PeriodKey'
+                             Width := 243
+                             SizedByUser := true
+                             Subtotals := false
+                             Specific
+                             {
+                               Text := 'VALUE( object.PeriodTask_MP().Key() )'
+                               Alignment := '榛樿'
+                             }
+                           }
+                         }
+                       }
+                       ColumnSort [414702.1.19001111] true false
+                       ColumnSort [414702.1.55207096] true false
+                      }
+                     }
+                    }
+                   }
+                  }
+                 }
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [666.6.1042075]
+      SINGLEINSTANCE false
+      ID '杩囨护'
+      PARENTKEY [514.0.2180]
+      OBJECTTYPE Dialog // tlpFiltering
+      CREATETYPE tlpFiltering
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[6]Selection[NONE]
+      }
+      BASEINFOOBJECTS
+      {
+       BASEINFOOBJECT
+       {
+        KEY [666.6.1042075]
+        OBJECTTYPE GUIContainerComponent // tlpFiltering
+        COMPONENTDATA
+        {
+         [666.6.1042075]:[101180.0.423432963]:[101180.0.423434508]:[666.6.33523821]:[101180.0.674802547]:[100664.0.672641496] STR 'true'
+         [666.6.1042075]:[101180.0.423432963]:[101180.0.423439415]:[666.6.33523821]:[101180.0.674802547]:[100664.0.672641496] STR 'true'
+        }
+       }
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [101180.0.423434508]
+        OBJECTTYPE GUIComponent // dpGUIListFiltering
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [100664.0.634694330]
+          OBJECTTYPE SplitterWnd // SplitterWnd
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [100664.0.634694331]
+            OBJECTTYPE SplitterPane // SplitterPaneStoredFilters
+            CONTENTS
+            {
+             VISIBLE true
+            }
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [100664.0.681599437]
+              OBJECTTYPE List // ListStoredFilters
+              CONTENTS
+              {
+               Quantorrow := false
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [100664.0.681599439]
+                OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+                CONTENTS
+                {
+                 Columns
+                 {
+                   Definition := [121918.0.881777301]
+                   {
+                     [121918.0.881787967]
+                   }
+                   SubTotals := true
+                   Visible
+                   {
+                     Column internal[DataSetDataColumn] [121918.0.881787967]
+                     {
+                       Width := 100
+                       Subtotals := false
+                       Specific
+                       {
+                         DataPath := 'Name [1.2.5343]'
+                       }
+                     }
+                   }
+                 }
+                 DataMemberSort 'SortIndex [1.2.7432]' true true
+                }
+               }
+              }
+             }
+            }
+           }
+           INFOOBJECT
+           {
+            KEY [100664.0.634694332]
+            OBJECTTYPE SplitterPane // SplitterPane1
+            CONTENTS
+            {
+             VISIBLE true
+            }
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [100664.0.634737763]
+              OBJECTTYPE SplitterWnd // SplitterWndI
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [100664.0.634737764]
+                OBJECTTYPE SplitterPane // SplitPaneColumnBasedFilters
+                CONTENTS
+                {
+                 Size 99.921052631579
+                 VISIBLE true
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [100664.0.634737766]
+                  OBJECTTYPE Selection // selFilterColumn
+                  CONTENTS
+                  {
+                   BoundValue 'Key'
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [100664.0.634737768]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [666.6.33522193]
+                       {
+                         [666.6.36059183]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [666.6.36059183]
+                         {
+                           Header := 'Name'
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Name [1.2.3778]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [666.6.36059183] true false
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [101180.0.650773001]
+                  OBJECTTYPE Selection // selRelationalValues
+                  CONTENTS
+                  {
+                   BoundValue '='
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [101180.0.650773003]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [666.6.37024730]
+                       {
+                         [101180.0.649255714]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [101180.0.649255714]
+                         {
+                           Header := 'x'
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Operation [1.2.3779]'
+                           }
+                         }
+                       }
+                     }
+                     DataMemberSort 'Position [1.2.3780]' true true
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [666.6.40803406]
+                  OBJECTTYPE Selection // SelectionValues
+                  CONTENTS
+                  {
+                   BoundValue '[414702.1.304548259]'
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [666.6.40803422]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [101180.0.647865904]
+                       {
+                         [101180.0.647981465]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[RHSValueDataSetColumn] [101180.0.647981465]
+                         {
+                           Header := 'x'
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'RHSValue [1.3.3305]|StringValue [1.2.5531]'
+                           }
+                         }
+                       }
+                     }
+                     DataMemberSort 'Position [1.2.3781]' true true
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [100664.0.634737776]
+                  OBJECTTYPE List // ListGEBUIFilterColumnMatches
+                  CONTENTS
+                  {
+                   Quantorrow := false
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [100664.0.634737791]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [101180.0.647784541]
+                       {
+                         [101180.0.647785023]
+                         [101180.0.648130649]
+                         [101180.0.667481201]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [101180.0.647785023]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'GEBUIFilterColumn [1.3.3296]|Name [1.2.3778]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [101180.0.648130649]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'OperationDisplay [1.2.3770]'
+                           }
+                         }
+                         Column internal[RHSValueDataSetColumn] [101180.0.667481201]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'RHSValue [1.3.4449]|StringValue [1.2.5531]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [101180.0.647785023] true false
+                     DataMemberSort 'Position [1.2.3820]' true true
+                    }
+                   }
+                  }
+                 }
+                }
+               }
+               INFOOBJECT
+               {
+                KEY [100664.0.634737792]
+                OBJECTTYPE SplitterPane // PaneFreeFilter
+                CONTENTS
+                {
+                 VISIBLE false
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [112950.0.657398972]
+                  OBJECTTYPE CheckBox // chkEnabled
+                  CONTENTS
+                  {
+                   Checkstate 1
+                  }
+                 }
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+       INFOOBJECT
+       {
+        KEY [101180.0.423439415]
+        OBJECTTYPE GUIComponent // dpGEBListFiltering
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [100664.0.634694330]
+          OBJECTTYPE SplitterWnd // SplitterWnd
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [100664.0.634694331]
+            OBJECTTYPE SplitterPane // SplitterPaneStoredFilters
+            CONTENTS
+            {
+             VISIBLE false
+            }
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [100664.0.681599437]
+              OBJECTTYPE List // ListStoredFilters
+              CONTENTS
+              {
+               Quantorrow := false
+              }
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [100664.0.681599439]
+                OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel2
+                CONTENTS
+                {
+                 Columns
+                 {
+                   Definition := [121918.0.881777301]
+                   {
+                     [121918.0.881787967]
+                   }
+                   SubTotals := true
+                   Visible
+                   {
+                     Column internal[DataSetDataColumn] [121918.0.881787967]
+                     {
+                       Width := 100
+                       Subtotals := false
+                       Specific
+                       {
+                         DataPath := 'Name [1.2.5343]'
+                       }
+                     }
+                   }
+                 }
+                 DataMemberSort 'SortIndex [1.2.7432]' true true
+                }
+               }
+              }
+             }
+            }
+           }
+           INFOOBJECT
+           {
+            KEY [100664.0.634694332]
+            OBJECTTYPE SplitterPane // SplitterPane1
+            CONTENTS
+            {
+             Size 99.8686947373494
+             VISIBLE true
+            }
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [100664.0.634737763]
+              OBJECTTYPE SplitterWnd // SplitterWndI
+              INFOOBJECTS
+              {
+               INFOOBJECT
+               {
+                KEY [100664.0.634737764]
+                OBJECTTYPE SplitterPane // SplitPaneColumnBasedFilters
+                CONTENTS
+                {
+                 Size 99.921052631579
+                 VISIBLE true
+                }
+                INFOOBJECTS
+                {
+                 INFOOBJECT
+                 {
+                  KEY [100664.0.634737766]
+                  OBJECTTYPE Selection // selFilterColumn
+                  CONTENTS
+                  {
+                   BoundValue ''
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [100664.0.634737768]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel1
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [666.6.33522193]
+                       {
+                         [666.6.36059183]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [666.6.36059183]
+                         {
+                           Header := 'Name'
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Name [1.2.3778]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [666.6.36059183] true false
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [101180.0.650773001]
+                  OBJECTTYPE Selection // selRelationalValues
+                  CONTENTS
+                  {
+                   BoundValue ''
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [101180.0.650773003]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [666.6.37024730]
+                       {
+                         [101180.0.649255714]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [101180.0.649255714]
+                         {
+                           Header := 'x'
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'Operation [1.2.3779]'
+                           }
+                         }
+                       }
+                     }
+                     DataMemberSort 'Position [1.2.3780]' true true
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [666.6.40803406]
+                  OBJECTTYPE Selection // SelectionValues
+                  CONTENTS
+                  {
+                   BoundValue ''
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [666.6.40803422]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [101180.0.647865904]
+                       {
+                         [101180.0.647981465]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[RHSValueDataSetColumn] [101180.0.647981465]
+                         {
+                           Header := 'x'
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'RHSValue [1.3.3305]|StringValue [1.2.5531]'
+                           }
+                         }
+                       }
+                     }
+                     DataMemberSort 'Position [1.2.3781]' true true
+                    }
+                   }
+                  }
+                 }
+                 INFOOBJECT
+                 {
+                  KEY [100664.0.634737776]
+                  OBJECTTYPE List // ListGEBUIFilterColumnMatches
+                  CONTENTS
+                  {
+                   Quantorrow := false
+                  }
+                  INFOOBJECTS
+                  {
+                   INFOOBJECT
+                   {
+                    KEY [100664.0.634737791]
+                    OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel4
+                    CONTENTS
+                    {
+                     Columns
+                     {
+                       Definition := [101180.0.647784541]
+                       {
+                         [101180.0.647785023]
+                         [101180.0.648130649]
+                         [101180.0.667481201]
+                       }
+                       SubTotals := true
+                       Visible
+                       {
+                         Column internal[DataSetDataColumn] [101180.0.647785023]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'GEBUIFilterColumn [1.3.3296]|Name [1.2.3778]'
+                           }
+                         }
+                         Column internal[DataSetDataColumn] [101180.0.648130649]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'OperationDisplay [1.2.3770]'
+                           }
+                         }
+                         Column internal[RHSValueDataSetColumn] [101180.0.667481201]
+                         {
+                           Width := 100
+                           Subtotals := false
+                           Specific
+                           {
+                             DataPath := 'RHSValue [1.3.4449]|StringValue [1.2.5531]'
+                           }
+                         }
+                       }
+                     }
+                     ColumnSort [101180.0.647785023] true false
+                     DataMemberSort 'Position [1.2.3820]' true true
+                    }
+                   }
+                  }
+                 }
+                }
+               }
+               INFOOBJECT
+               {
+                KEY [100664.0.634737792]
+                OBJECTTYPE SplitterPane // PaneFreeFilter
+                CONTENTS
+                {
+                 VISIBLE false
+                }
+                INFOOBJECTS
+                {
+                }
+               }
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
     }
    }
   }

--
Gitblit v1.9.3