From c18905b5ec4447ca08bfb15f612aa1618dcb46b1 Mon Sep 17 00:00:00 2001
From: yanyuan <yuan.yan@capgemini.com>
Date: 星期四, 07 九月 2023 15:26:24 +0800
Subject: [PATCH] Revert "Combine code of MPsync"

---
 /dev/null |   11 -----------
 1 files changed, 0 insertions(+), 11 deletions(-)

diff --git a/_Main/BL/Relations/Relation_MappingActualPISPIP_MPSync_MPSync_MappingActualPISPIP.qbl b/_Main/BL/Relations/Relation_MappingActualPISPIP_MPSync_MPSync_MappingActualPISPIP.qbl
deleted file mode 100644
index 0f7a1ec..0000000
--- a/_Main/BL/Relations/Relation_MappingActualPISPIP_MPSync_MPSync_MappingActualPISPIP.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingActualPISPIP_MPSync_MPSync_MappingActualPISPIP
-{
-  #keys: '1[414384.0.737300004]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300006][414384.0.737300005][414384.0.737300007]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingActualPISPIP
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingActualPISPIP
-  {
-    #keys: '3[414384.0.737300009][414384.0.737300008][414384.0.737300010]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingBOM_MPSync_MPSync_MappingBOM.qbl b/_Main/BL/Relations/Relation_MappingBOM_MPSync_MPSync_MappingBOM.qbl
deleted file mode 100644
index 0af0e9d..0000000
--- a/_Main/BL/Relations/Relation_MappingBOM_MPSync_MPSync_MappingBOM.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingBOM_MPSync_MPSync_MappingBOM
-{
-  #keys: '1[414384.0.737300037]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300039][414384.0.737300038][414384.0.737300040]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingBOM
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingBOM
-  {
-    #keys: '3[414384.0.737300042][414384.0.737300041][414384.0.737300043]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MPSync_MPSync_MappingBaseConversionFact.qbl b/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MPSync_MPSync_MappingBaseConversionFact.qbl
deleted file mode 100644
index d038edc..0000000
--- a/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MPSync_MPSync_MappingBaseConversionFact.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingBaseConversionFactor_MPSync_MPSync_MappingBaseConversionFactor
-{
-  #keys: '1[414384.0.737300021]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300023][414384.0.737300022][414384.0.737300024]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingBaseConversionFactor
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingBaseConversionFactor
-  {
-    #keys: '3[414384.0.737300026][414384.0.737300025][414384.0.737300027]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingCustomerOrder_MPSync_MPSync_MappingCustomerOrder.qbl b/_Main/BL/Relations/Relation_MappingCustomerOrder_MPSync_MPSync_MappingCustomerOrder.qbl
deleted file mode 100644
index 0b61f30..0000000
--- a/_Main/BL/Relations/Relation_MappingCustomerOrder_MPSync_MPSync_MappingCustomerOrder.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingCustomerOrder_MPSync_MPSync_MappingCustomerOrder
-{
-  #keys: '1[414384.0.737300053]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300055][414384.0.737300054][414384.0.737300056]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingCustomerOrder
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingCustomerOrder
-  {
-    #keys: '3[414384.0.737300058][414384.0.737300057][414384.0.737300059]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingExternalSupply_MPSync_MPSync_MappingExternalSupply.qbl b/_Main/BL/Relations/Relation_MappingExternalSupply_MPSync_MPSync_MappingExternalSupply.qbl
deleted file mode 100644
index a4fbde1..0000000
--- a/_Main/BL/Relations/Relation_MappingExternalSupply_MPSync_MPSync_MappingExternalSupply.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingExternalSupply_MPSync_MPSync_MappingExternalSupply
-{
-  #keys: '1[414384.0.737300069]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300071][414384.0.737300070][414384.0.737300072]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingExternalSupply
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingExternalSupply
-  {
-    #keys: '3[414384.0.737300074][414384.0.737300073][414384.0.737300075]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingForecast_MPSync_MPSync_MappingForecast.qbl b/_Main/BL/Relations/Relation_MappingForecast_MPSync_MPSync_MappingForecast.qbl
deleted file mode 100644
index d90edf7..0000000
--- a/_Main/BL/Relations/Relation_MappingForecast_MPSync_MPSync_MappingForecast.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingForecast_MPSync_MPSync_MappingForecast
-{
-  #keys: '1[414384.0.737300085]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300087][414384.0.737300086][414384.0.737300088]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingForecast
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingForecast
-  {
-    #keys: '3[414384.0.737300090][414384.0.737300089][414384.0.737300091]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MPSync_MPSync_MappingInventoryValueAnd.qbl b/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MPSync_MPSync_MappingInventoryValueAnd.qbl
deleted file mode 100644
index 9f91cf9..0000000
--- a/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MPSync_MPSync_MappingInventoryValueAnd.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingInventoryValueAndCost_MPSync_MPSync_MappingInventoryValueAndCost
-{
-  #keys: '1[414384.0.737300101]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300103][414384.0.737300102][414384.0.737300104]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingInventoryValueAndCost
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingInventoryValueAndCost
-  {
-    #keys: '3[414384.0.737300106][414384.0.737300105][414384.0.737300107]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingOperationCost_MPSync_MPSync_MappingOperationCost.qbl b/_Main/BL/Relations/Relation_MappingOperationCost_MPSync_MPSync_MappingOperationCost.qbl
deleted file mode 100644
index 67b9f81..0000000
--- a/_Main/BL/Relations/Relation_MappingOperationCost_MPSync_MPSync_MappingOperationCost.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingOperationCost_MPSync_MPSync_MappingOperationCost
-{
-  #keys: '1[414384.0.736080617]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.736080619][414384.0.736080618][414384.0.736080620]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingOperationCost
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingOperationCost
-  {
-    #keys: '3[414384.0.736080622][414384.0.736080621][414384.0.736080623]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingOperation_MPSync_MPSync_MappingOperation.qbl b/_Main/BL/Relations/Relation_MappingOperation_MPSync_MPSync_MappingOperation.qbl
deleted file mode 100644
index bb6553e..0000000
--- a/_Main/BL/Relations/Relation_MappingOperation_MPSync_MPSync_MappingOperation.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingOperation_MPSync_MPSync_MappingOperation
-{
-  #keys: '1[414384.0.737300117]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.737300119][414384.0.737300118][414384.0.737300120]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingOperation
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingOperation
-  {
-    #keys: '3[414384.0.737300122][414384.0.737300121][414384.0.737300123]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingProductInLane_MPSync_MPSync_MappingProductInLane.qbl b/_Main/BL/Relations/Relation_MappingProductInLane_MPSync_MPSync_MappingProductInLane.qbl
deleted file mode 100644
index a8def35..0000000
--- a/_Main/BL/Relations/Relation_MappingProductInLane_MPSync_MPSync_MappingProductInLane.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingProductInLane_MPSync_MPSync_MappingProductInLane
-{
-  #keys: '1[414384.0.736080646]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.736080648][414384.0.736080647][414384.0.736080649]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingProductInLane
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingProductInLane
-  {
-    #keys: '3[414384.0.736080651][414384.0.736080650][414384.0.736080652]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingProduct_MPSync_MPSync_MappingProduct.qbl b/_Main/BL/Relations/Relation_MappingProduct_MPSync_MPSync_MappingProduct.qbl
deleted file mode 100644
index 64c3aef..0000000
--- a/_Main/BL/Relations/Relation_MappingProduct_MPSync_MPSync_MappingProduct.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingProduct_MPSync_MPSync_MappingProduct
-{
-  #keys: '1[414384.0.736080633]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.736080635][414384.0.736080634][414384.0.736080636]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingProduct
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingProduct
-  {
-    #keys: '3[414384.0.736080638][414384.0.736080637][414384.0.736080639]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingSalesSegment_MPSync_MPSync_MappingSalesSegment.qbl b/_Main/BL/Relations/Relation_MappingSalesSegment_MPSync_MPSync_MappingSalesSegment.qbl
deleted file mode 100644
index 7af3e26..0000000
--- a/_Main/BL/Relations/Relation_MappingSalesSegment_MPSync_MPSync_MappingSalesSegment.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingSalesSegment_MPSync_MPSync_MappingSalesSegment
-{
-  #keys: '1[414384.0.736080662]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.736080664][414384.0.736080663][414384.0.736080665]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingSalesSegment
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingSalesSegment
-  {
-    #keys: '3[414384.0.736080667][414384.0.736080666][414384.0.736080668]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MPSync_MPSync_MappingUnitOfMeasure.qbl b/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MPSync_MPSync_MappingUnitOfMeasure.qbl
deleted file mode 100644
index f1c43b5..0000000
--- a/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MPSync_MPSync_MappingUnitOfMeasure.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingUnitOfMeasure_MPSync_MPSync_MappingUnitOfMeasure
-{
-  #keys: '1[414384.0.736080697]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.736080699][414384.0.736080698][414384.0.736080700]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingUnitOfMeasure
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingUnitOfMeasure
-  {
-    #keys: '3[414384.0.736080702][414384.0.736080701][414384.0.736080703]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingUnit_MPSync_MPSync_MappingUnit.qbl b/_Main/BL/Relations/Relation_MappingUnit_MPSync_MPSync_MappingUnit.qbl
deleted file mode 100644
index 96a13c9..0000000
--- a/_Main/BL/Relations/Relation_MappingUnit_MPSync_MPSync_MappingUnit.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingUnit_MPSync_MPSync_MappingUnit
-{
-  #keys: '1[414384.0.736080678]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MPSync
-  {
-    #keys: '3[414384.0.736080680][414384.0.736080679][414384.0.736080681]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingUnit
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingUnit
-  {
-    #keys: '3[414384.0.736080683][414384.0.736080682][414384.0.736080684]'
-    Cardinality: '1toN'
-    ObjectDefinition: MPSync
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Type_IOBaseConversionFactor/StaticMethod_DeleteIfExist.qbl b/_Main/BL/Type_IOBaseConversionFactor/StaticMethod_DeleteIfExist.qbl
deleted file mode 100644
index 9802666..0000000
--- a/_Main/BL/Type_IOBaseConversionFactor/StaticMethod_DeleteIfExist.qbl
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DeleteIfExist (
-  MPSync mpSync,
-  String from,
-  String to,
-  String productId
-)
-{
-  TextBody:
-  [*
-    // yypsybs Sep-1-2023 (created)
-    toDel := select( mpSync, IOBaseConversionFactor, item, 
-                     item.SourceUnitOfMeasureName() = from and item.TargetUnitOfMeasureName() = to and item.ProductID() = productId );
-    if( not isnull( toDel ) ) {
-      toDel.Delete();  
-    }
-  *]
-}
diff --git a/_Main/BL/Type_IOBaseConversionFactor/_ROOT_Type_IOBaseConversionFactor.qbl b/_Main/BL/Type_IOBaseConversionFactor/_ROOT_Type_IOBaseConversionFactor.qbl
deleted file mode 100644
index 6636e3d..0000000
--- a/_Main/BL/Type_IOBaseConversionFactor/_ROOT_Type_IOBaseConversionFactor.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IOBaseConversionFactor #extension
-{
-}
diff --git a/_Main/BL/Type_IOCurrencyRate_MP/StaticMethod_DeleteIfExist.qbl b/_Main/BL/Type_IOCurrencyRate_MP/StaticMethod_DeleteIfExist.qbl
deleted file mode 100644
index 474e3f5..0000000
--- a/_Main/BL/Type_IOCurrencyRate_MP/StaticMethod_DeleteIfExist.qbl
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DeleteIfExist (
-  MPSync mpSync,
-  String currencyId,
-  Date start
-)
-{
-  TextBody:
-  [*
-    // yypsybs Sep-1-2023 (created)
-    toDel := select( mpSync, IOCurrencyRate_MP, item, 
-                     item.CurrencyID() = currencyId and item.Start() = start );
-    if( not isnull( toDel ) ) {
-      toDel.Delete();  
-    }
-  *]
-}
diff --git a/_Main/BL/Type_IOCurrencyRate_MP/_ROOT_Type_IOCurrencyRate_MP.qbl b/_Main/BL/Type_IOCurrencyRate_MP/_ROOT_Type_IOCurrencyRate_MP.qbl
deleted file mode 100644
index 21d526b..0000000
--- a/_Main/BL/Type_IOCurrencyRate_MP/_ROOT_Type_IOCurrencyRate_MP.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IOCurrencyRate_MP #extension
-{
-}
diff --git a/_Main/BL/Type_IOCurrency_MP/StaticMethod_DeleteIfExist.qbl b/_Main/BL/Type_IOCurrency_MP/StaticMethod_DeleteIfExist.qbl
deleted file mode 100644
index b476627..0000000
--- a/_Main/BL/Type_IOCurrency_MP/StaticMethod_DeleteIfExist.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DeleteIfExist (
-  MPSync mpSync,
-  String id
-)
-{
-  TextBody:
-  [*
-    // yypsybs Sep-1-2023 (created)
-    toDel := select( mpSync, IOCurrency_MP, item, item.ID() = id );
-    if( not isnull( toDel ) ) {
-      toDel.Delete();
-    }
-  *]
-}
diff --git a/_Main/BL/Type_IOCurrency_MP/_ROOT_Type_IOCurrency_MP.qbl b/_Main/BL/Type_IOCurrency_MP/_ROOT_Type_IOCurrency_MP.qbl
deleted file mode 100644
index 36fb030..0000000
--- a/_Main/BL/Type_IOCurrency_MP/_ROOT_Type_IOCurrency_MP.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IOCurrency_MP #extension
-{
-}
diff --git a/_Main/BL/Type_IOLane/StaticMethod_DeleteIfExist.qbl b/_Main/BL/Type_IOLane/StaticMethod_DeleteIfExist.qbl
deleted file mode 100644
index cfd3b35..0000000
--- a/_Main/BL/Type_IOLane/StaticMethod_DeleteIfExist.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DeleteIfExist (
-  MPSync mpSync,
-  String id
-)
-{
-  TextBody:
-  [*
-    // yypsybs Sep-1-2023 (created)
-    toDel := select( mpSync, IOLane, item, item.ID() = id );
-    if( not isnull( toDel ) ) {
-      toDel.Delete();  
-    }
-  *]
-}
diff --git a/_Main/BL/Type_IOLane/_ROOT_Type_IOLane.qbl b/_Main/BL/Type_IOLane/_ROOT_Type_IOLane.qbl
deleted file mode 100644
index 66ac220..0000000
--- a/_Main/BL/Type_IOLane/_ROOT_Type_IOLane.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IOLane #extension
-{
-}
diff --git a/_Main/BL/Type_IOOperation/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_IOOperation/StaticMethod_CreateIfNotExist.qbl
deleted file mode 100644
index c6d4e89..0000000
--- a/_Main/BL/Type_IOOperation/StaticMethod_CreateIfNotExist.qbl
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CreateIfNotExist (
-  MPSync mpSync,
-  String id
-) as IOOperation
-{
-  TextBody:
-  [*
-    // yypsybs Sep-5-2023 (created)
-    result := select( mpSync, IOOperation, op, op.ID() = id );
-    if( isnull( result ) ) {
-      result := mpSync.IOOperation( relnew, 
-                          ID := id );
-    }
-    return result;
-  *]
-}
diff --git a/_Main/BL/Type_IOOperation/_ROOT_Type_IOOperation.qbl b/_Main/BL/Type_IOOperation/_ROOT_Type_IOOperation.qbl
deleted file mode 100644
index 3bb29a6..0000000
--- a/_Main/BL/Type_IOOperation/_ROOT_Type_IOOperation.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IOOperation #extension
-{
-}
diff --git a/_Main/BL/Type_IOProduct_MP/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_IOProduct_MP/StaticMethod_CreateIfNotExist.qbl
deleted file mode 100644
index 3a636ab..0000000
--- a/_Main/BL/Type_IOProduct_MP/StaticMethod_CreateIfNotExist.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CreateIfNotExist (
-  MPSync mpSync,
-  String id,
-  String name,
-  String parentId,
-  String uom
-) as IOProduct_MP
-{
-  TextBody:
-  [*
-    // yypsybs Sep-1-2023 (created)
-    value := IOProduct_MP::FindById( mpSync, id );
-    if( isnull( value ) ) {
-      value := IOProduct_MP::Create( mpSync, id, name, "", uom );
-      if( parentId <> "" ) {
-        value.ParentID( parentId );
-      }
-    }
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_IOProduct_MP/StaticMethod_FindById.qbl b/_Main/BL/Type_IOProduct_MP/StaticMethod_FindById.qbl
deleted file mode 100644
index b080495..0000000
--- a/_Main/BL/Type_IOProduct_MP/StaticMethod_FindById.qbl
+++ /dev/null
@@ -1,14 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod FindById (
-  MPSync mpSync,
-  String id
-) as IOProduct_MP
-{
-  TextBody:
-  [*
-    // yypsybs Sep-1-2023 (created)
-    result := select( mpSync, IOProduct_MP, item, item.ID() = id );
-    return result;
-  *]
-}
diff --git a/_Main/BL/Type_IOProduct_MP/_ROOT_Type_IOProduct_MP.qbl b/_Main/BL/Type_IOProduct_MP/_ROOT_Type_IOProduct_MP.qbl
deleted file mode 100644
index e99d7ea..0000000
--- a/_Main/BL/Type_IOProduct_MP/_ROOT_Type_IOProduct_MP.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IOProduct_MP #extension
-{
-}
diff --git a/_Main/BL/Type_IORoutingStep/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_IORoutingStep/StaticMethod_CreateIfNotExist.qbl
deleted file mode 100644
index e5e10b1..0000000
--- a/_Main/BL/Type_IORoutingStep/StaticMethod_CreateIfNotExist.qbl
+++ /dev/null
@@ -1,22 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CreateIfNotExist (
-  MPSync mpSync,
-  String routingId,
-  String name,
-  Number seq
-) as IORoutingStep
-{
-  TextBody:
-  [*
-    // yypsybs Sep-5-2023 (created)
-    value := select( mpSync, IORoutingStep, item, item.RoutingID() = routingId and item.Name() = name and item.SequenceNumberForExcel() = seq );
-    if( isnull( value ) ) {
-      mpSync.IORoutingStep( relnew, 
-                            RoutingID := routingId, 
-                            Name := name, 
-                            SequenceNumberForExcel := seq  );
-    }
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_IORoutingStep/_ROOT_Type_IORoutingStep.qbl b/_Main/BL/Type_IORoutingStep/_ROOT_Type_IORoutingStep.qbl
deleted file mode 100644
index 966b160..0000000
--- a/_Main/BL/Type_IORoutingStep/_ROOT_Type_IORoutingStep.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IORoutingStep #extension
-{
-}
diff --git a/_Main/BL/Type_IOUnit/StaticMethod_CreateIfNotExistByTree.qbl b/_Main/BL/Type_IOUnit/StaticMethod_CreateIfNotExistByTree.qbl
deleted file mode 100644
index 61c9d6b..0000000
--- a/_Main/BL/Type_IOUnit/StaticMethod_CreateIfNotExistByTree.qbl
+++ /dev/null
@@ -1,32 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CreateIfNotExistByTree (
-  MPSync mpSync,
-  String id,
-  String name,
-  String parentId,
-  String UOMName,
-  String currencyId,
-  Date startDate,
-  Date endDate,
-  String capacityType
-) as IOUnit
-{
-  TextBody:
-  [*
-    // yypsybs Sep-6-2023 (created)
-    value := IOUnit::FindById( mpSync, id );
-    if( isnull( value ) ) {
-      value := mpSync.IOUnit( relnew, 
-                     ID := id,
-                     Name := name, 
-                     ParentUnitID := parentId, 
-                     UnitOfMeasureName := UOMName, 
-                     CurrencyID := currencyId, 
-                     StartDate := startDate, 
-                     EndDate := endDate, 
-                     CapacityType := capacityType );
-    }
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_IOUnit/StaticMethod_FindById.qbl b/_Main/BL/Type_IOUnit/StaticMethod_FindById.qbl
deleted file mode 100644
index 8d1460c..0000000
--- a/_Main/BL/Type_IOUnit/StaticMethod_FindById.qbl
+++ /dev/null
@@ -1,14 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod FindById (
-  MPSync mpSync,
-  String id
-) as IOUnit
-{
-  TextBody:
-  [*
-    // yypsybs Sep-6-2023 (created)
-    value := select( mpSync, IOUnit, item, item.ID() = id );
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_IOUnit/_ROOT_Type_IOUnit.qbl b/_Main/BL/Type_IOUnit/_ROOT_Type_IOUnit.qbl
deleted file mode 100644
index 4056a12..0000000
--- a/_Main/BL/Type_IOUnit/_ROOT_Type_IOUnit.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-TypeSpecialization IOUnit #extension
-{
-}
diff --git a/_Main/BL/Type_IOUnitOfMeasure_MP/StaticMethod_DeleteIfExist.qbl b/_Main/BL/Type_IOUnitOfMeasure_MP/StaticMethod_DeleteIfExist.qbl
deleted file mode 100644
index 43a9efe..0000000
--- a/_Main/BL/Type_IOUnitOfMeasure_MP/StaticMethod_DeleteIfExist.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DeleteIfExist (
-  MPSync mpSync,
-  String name
-)
-{
-  TextBody:
-  [*
-    // yypsybs Sep-1-2023 (created)
-    toDel := select( mpSync, IOUnitOfMeasure_MP, item, 
-                     item.Name() = name );
-    if( not isnull( toDel ) ) {
-      toDel.Delete();  
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_GetProductTypeByProductId.qbl b/_Main/BL/Type_MPSync/Method_GetProductTypeByProductId.qbl
deleted file mode 100644
index 7e4e927..0000000
--- a/_Main/BL/Type_MPSync/Method_GetProductTypeByProductId.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method GetProductTypeByProductId (
-  String productId
-) as String
-{
-  TextBody:
-  [*
-    // yypsybs Sep-5-2023 (created)
-    values := selectvalues( this, MappingBOM, item, item.ProductCode() = productId, item.ProductType() );
-    value := "";
-    if( values.Size() > 0 ) {
-      value := values.Element( 0 );  
-    }
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_ImportDBDataCustom.qbl b/_Main/BL/Type_MPSync/Method_ImportDBDataCustom.qbl
deleted file mode 100644
index 0646b5f..0000000
--- a/_Main/BL/Type_MPSync/Method_ImportDBDataCustom.qbl
+++ /dev/null
@@ -1,91 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method ImportDBDataCustom (
-  MacroPlan macroPlan,
-  Strings businessTypes,
-  Boolean isKeyProduct,
-  Boolean createPurchaseSupplyMaterial
-)
-{
-  Description: '灏嗚〃鐨勬暟鎹浆涓篒Oxxxx鐨勬暟鎹�'
-  TextBody:
-  [*
-    // Import data from DB
-    
-    // 鏁版嵁澶勭悊
-    
-    // 閿�鍞骇鍒強閿�鍞儴闂�
-    this.MappingSalesLevelData();
-    this.Broker_OTD_SalesSegment().Execute();
-    this.MappingSalesSegmentData( businessTypes );
-    
-    // 鍗曚綅鍙婂崟浣嶆崲绠�
-    this.Broker_OTD_UnitOfMeasure().Execute();
-    this.MappingUnitOfMeasureData();
-    this.Broker_OTD_BaseConversionFactor().Execute();
-    this.MappingBaseConversionFactorData();
-    
-    // 璐у竵鍙婅揣甯佹眹鐜�
-    this.MappingCurrencyData();
-    this.MappingCurrencyRateData();
-    
-    // 搴撳瓨鐐�
-    this.MappingStockingPointData();
-    
-    // 浜у搧
-    this.Broker_OTD_Product().Execute();
-    this.MappingProductData( businessTypes, isKeyProduct );
-    
-    // 璁㈠崟棰勬祴
-    this.Broker_OTD_Forecast().Execute();
-    this.MappingForecastData( businessTypes );
-    
-    // 璁㈠崟闇�姹�
-    this.Broker_OTD_CustomerOrder().Execute();
-    this.MappingCustomerOrderData( businessTypes );
-    
-    // 杞﹂亾
-    this.MappingLaneData();
-    // 杞﹂亾杩愯緭娈�
-    this.MappingLaneLegData();
-    // 渚涘簲缃戠粶锛堣溅閬擄級
-    this.Broker_OTD_ProductInLane().Execute();
-    this.MappingProductInLaneData();
-    
-    // routing routingStep unit operation operationLink operationInputGroup operationBOM
-    this.Broker_OTD_Operation().Execute();
-    this.Broker_OTD_BOM().Execute();
-    // 娓呯悊鏃ф暟鎹�
-    this.IOUnit( relflush );
-    this.IOOperation( relflush );
-    this.IOOperationLink( relflush );
-    this.IOOperationInputGroup( relflush );
-    // 澶勭悊鏁版嵁
-    this.MappingUnitData( businessTypes );
-    this.MappingOperationData( businessTypes );
-    // 娓呯悊鏃ф暟鎹�
-    this.IOOperationBOM( relflush );
-    // 澶勭悊鏁版嵁
-    this.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial );
-    
-    // 搴撳瓨鎴愭湰
-    this.Broker_OTD_InventoryCost().Execute();
-    this.MappingInventoryValueAndCostData();
-    
-    // 搴撳瓨鏁版嵁
-    this.Broker_OTD_ActualPISPIP().Execute();
-    this.MappingActualPISPIPData( businessTypes, isKeyProduct )
-    
-    // Update the LastImportFromDatabase time
-    this.LastImportTime( DateTime::ActualTime() );
-    // sync to mp
-    if( not isnull( macroPlan ) ) {
-      macroPlan.SynchronizeFromMPSync( this, false, 
-                                       true, true, true, true, true,
-                                       true, true, true, true, true,
-                                       true, true, true, true, true,
-                                       true, true, true, true, true,
-                                       true, true, true, true );  
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingActualPISPIPData.qbl b/_Main/BL/Type_MPSync/Method_MappingActualPISPIPData.qbl
deleted file mode 100644
index afc3888..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingActualPISPIPData.qbl
+++ /dev/null
@@ -1,30 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingActualPISPIPData (
-  Strings businessTypes,
-  Boolean nuclear
-)
-{
-  TextBody:
-  [*
-    this.IOActualProductInStockingPointInPeriod( relflush );
-    // 鍏堟寜鍏抽敭鐗╂枡锛屽啀鎸塨usinessType绛涢�変骇鍝�
-    productList := selectset( this, MappingProduct, item, item.KeyProduct() = nuclear );
-    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
-      productList := selectset( productList, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 );
-    }
-    productIdList := selectvalues( productList, Elements, item, item.ID() );
-    // 鏍规嵁浜у搧绛涢�夊簱瀛樻暟鎹�
-    traverse( this, MappingActualPISPIP, item, productIdList.Find( item.ProductID() ) >= 0 ) {
-      this.IOActualProductInStockingPointInPeriod( relnew, 
-                                                   ActualInventoryLevelEnd := item.ActualInventoryLevelEnd(), 
-                                                   // todo 纭浣跨敤褰撳墠鏃ユ湡杩樻槸鏁版嵁搴撴棩鏈�
-                                                   Date := item.Date(), 
-                                                   Description := item.Description(), 
-                                                   ManufacturedDate := item.ManufacturedDate(), 
-                                                   ProductID := item.ProductID(), 
-                                                   StockingPointID := item.StockingPointID() );
-                                                   
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingBaseConversionFactorData.qbl b/_Main/BL/Type_MPSync/Method_MappingBaseConversionFactorData.qbl
deleted file mode 100644
index 78cf5e9..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingBaseConversionFactorData.qbl
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingBaseConversionFactorData
-{
-  Description: 'ETL鏁版嵁杞ā鍨嬫暟鎹�'
-  TextBody:
-  [*
-    this.IOBaseConversionFactor( relflush );
-    traverse( this, MappingBaseConversionFactor, item ) {
-    //  IOBaseConversionFactor::DeleteIfExist( this, item.SourceUnitOfMeasureName(), item.TargetUnitOfMeasureName(), item.ProductId() );
-      this.IOBaseConversionFactor( relnew, 
-                                   SourceUnitOfMeasureName := item.SourceUnitOfMeasureName(),
-                                   TargetUnitOfMeasureName := item.TargetUnitOfMeasureName(),
-                                   ProductID := item.ProductId(),
-                                   UserFactor := item.Factor(), 
-                                   IsEnabled := item.IsEnabled() );
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingCurencyRatesData.qbl b/_Main/BL/Type_MPSync/Method_MappingCurencyRatesData.qbl
deleted file mode 100644
index b941727..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingCurencyRatesData.qbl
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingCurencyRatesData (
-  JSON data
-)
-{
-  TextBody:
-  [*
-    data_length := data.Size();
-    for( i := 0; i < data_length; i++ )
-    {
-      datarow := data.Get( i );
-      currencyId := datarow.Get( "currencyid" ).GetString();
-      rate := [Real]datarow.Get( "rate" ).GetString();
-      startString := datarow.Get( "start" ).GetString();
-      years := [Number]startString.SubString( 0, 4 );
-      month := [Number]startString.SubString( 5, 2 );
-      day := [Number]startString.SubString( 8, 2 );
-      start := Date::Construct( years, month, day );
-      // 鍒犻櫎宸叉湁鐨�
-    //  IOCurrencyRate_MP::DeleteIfExist( this, currencyId, start );
-      this.IOCurrencyRate_MP( relnew, 
-                              CurrencyID := currencyId,
-                              Rate := rate,
-                              Start := start );
-    }
-  *]
-}
diff --git "a/_Main/BL/Type_MPSync/Method_MappingCurrencyData\043670.qbl" "b/_Main/BL/Type_MPSync/Method_MappingCurrencyData\043670.qbl"
deleted file mode 100644
index b5acd8e..0000000
--- "a/_Main/BL/Type_MPSync/Method_MappingCurrencyData\043670.qbl"
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingCurrencyData (
-  JSON data
-)
-{
-  TextBody:
-  [*
-    data_length := data.Size();
-    for( i := 0; i < data_length; i++ )
-    {
-      datarow := data.Get( i );
-      id := datarow.Get( "id" ).GetString();
-      isBase := [Boolean]datarow.Get( "isbase" ).GetString();
-      name := datarow.Get( "name" ).GetString();
-      symbol := " ";
-      // 鍒犻櫎宸叉湁鐨�
-    //  IOCurrency_MP::DeleteIfExist( this, id );
-      this.IOCurrency_MP( relnew, 
-                          ID := id, IsBase := isBase, Name := name, Symbol := symbol );
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingCurrencyData.qbl b/_Main/BL/Type_MPSync/Method_MappingCurrencyData.qbl
deleted file mode 100644
index 8dae5ee..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingCurrencyData.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingCurrencyData
-{
-  TextBody:
-  [*
-    this.IOCurrency_MP( relflush );
-    // 璐у竵淇℃伅
-    bodyNumber := "1";
-    postRequestBody := MPSync::ApiBuildPostRequestBody( bodyNumber );
-    address := "api-uat-sgc.tianma.cn";
-    url := "/otdService/https/GetCurrenciesInfo";
-    port := 443;
-    data := MPSync::ApiResponesCheck( address, port, url, postRequestBody );
-    this.MappingCurrencyData( data );
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingCurrencyRateData.qbl b/_Main/BL/Type_MPSync/Method_MappingCurrencyRateData.qbl
deleted file mode 100644
index 4335dd8..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingCurrencyRateData.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingCurrencyRateData
-{
-  TextBody:
-  [*
-    this.IOCurrencyRate_MP( relflush );
-    // 璐у竵姹囩巼淇℃伅
-    bodynumber := "5";
-    postrequestbody := MPSync::ApiBuildPostRequestBody( bodynumber );
-    address := "api-uat-sgc.tianma.cn";
-    url := "/otdService/https/GetCurrencyRatesInfo";
-    port := 443;
-    data := MPSync::ApiResponesCheck( address, port, url, postrequestbody );
-    this.MappingCurencyRatesData( data );
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingCustomerOrderData.qbl b/_Main/BL/Type_MPSync/Method_MappingCustomerOrderData.qbl
deleted file mode 100644
index c15e946..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingCustomerOrderData.qbl
+++ /dev/null
@@ -1,44 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingCustomerOrderData (
-  Strings businessTypes
-)
-{
-  Description: 'ETL璁㈠崟棰勬祴'
-  TextBody:
-  [*
-    toDels := selectset( this, IOSalesDemandBase, item, item.istype( IOCustomerOrder ) );
-    traverse( toDels, Elements, toDel ) {
-      toDel.Delete();  
-    }
-    // 寰呭鐞嗘暟鎹�
-    toDealList := selectset( this, MappingCustomerOrder, item, true );
-    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
-        toDealList := selectset( toDealList, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 );
-    }
-    // todo 娌acroPlan鎬庝箞鎼�
-    //queryStartDate := guard( DateTime::Now() - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
-    //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
-    //listToDeal := selectset( listToDeal, Elements, item, item.StartDate() >= queryStartDate and item.EndDate() <= queryEndDate );
-    // 澶勭悊
-    traverse( toDealList, Elements, item ) {
-      this.IOSalesDemandBase( relnew, 
-                              IOCustomerOrder, 
-                              ID := item.ID(), 
-                              CurrencyID := item.CurrencyID(), 
-                              PriorityName := item.PriorityName(),
-                              ProductID := item.ProductID(),
-                              SalesSegmentName := item.SalesSegmentName(), 
-                              StockingPointID := item.StockPointID(), 
-                              UnitOfMeasureName := item.UnitOfMeasureName(),
-                              CustomerID := item.CustomerID(),
-                              CustomerName := item.Customer(),
-                              OrderID := item.OrderID(), 
-                              OrderLineID := item.OrderLineID(),
-                              Price := item.Price(), 
-                              Quantity := item.Quantity(), 
-                              StartDate := item.OrderDate() );
-                              
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingExternalSupplyData.qbl b/_Main/BL/Type_MPSync/Method_MappingExternalSupplyData.qbl
deleted file mode 100644
index f077a13..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingExternalSupplyData.qbl
+++ /dev/null
@@ -1,34 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingExternalSupplyData (
-  Strings businessTypes,
-  Boolean nuclear
-)
-{
-  TextBody:
-  [*
-    //// renhao Aug-14-2023 (created)
-    //
-    //traverse( this,MappingExternalSupply,externalSupply){
-    //  product := select( this,MappingProduct,product,product.ID() = externalSupply.ProductID() and product.KeyProduct() = nuclear,true);
-    //  
-    //  if( not isnull( product)){
-    //    productMP :=  select( this,Product_MP,productMP,productMP.ID() = externalSupply.ProductID() ,true);
-    //    stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true);
-    //    if( not isnull(businessTypes)){
-    //    
-    //      for( i :=0 ;i < businessTypes.Size();i++ ){
-    //        businessType := businessTypes.Element( i);
-    //        if( product.BusinessType() = businessType and not product.IsCommon()){
-    //          InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�",true);
-    //        }
-    //      }
-    //      
-    //    }else{
-    //      InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�",true);
-    //    }
-    //    
-    //  }
-    //}
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingForecastData.qbl b/_Main/BL/Type_MPSync/Method_MappingForecastData.qbl
deleted file mode 100644
index bfc14c3..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingForecastData.qbl
+++ /dev/null
@@ -1,40 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingForecastData (
-  Strings businessTypes
-)
-{
-  Description: 'ETL璁㈠崟棰勬祴'
-  TextBody:
-  [*
-    toDels := selectset( this, IOSalesDemandBase, item, item.istype( IOForecast ) );
-    traverse( toDels, Elements, toDel ) {
-      toDel.Delete();  
-    }
-    // 寰呭鐞嗘暟鎹�
-    listToDeal := selectset( this, MappingForecast, item, true );
-    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
-        listToDeal := selectset( listToDeal, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 );
-    }
-    // todo 娌acroPlan鎬庝箞鎼�
-    //queryStartDate := guard( DateTime::Now() - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
-    //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
-    //listToDeal := selectset( listToDeal, Elements, item, item.StartDate() >= queryStartDate and item.EndDate() <= queryEndDate );
-    // 澶勭悊
-    traverse( listToDeal, Elements, item ) {
-      this.IOSalesDemandBase( relnew, 
-                              IOForecast, 
-                              ID := item.ID(), 
-                              CurrencyID := item.CurrencyID(), 
-                              PriorityName := item.PriorityName(),
-                              SalesSegmentName := item.SalesSegmentName(),
-                              StockingPointID := item.StockingPointID(),
-                              UnitOfMeasureName := item.UnitOfMeasureName(),
-                              ProductID := item.ProductID(),
-                              StartDate := item.StartDate(), 
-                              EndDate := item.EndDate(), 
-                              Quantity := item.Quantity(),
-                              Price := item.Price());
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingInventoryValueAndCostData.qbl b/_Main/BL/Type_MPSync/Method_MappingInventoryValueAndCostData.qbl
deleted file mode 100644
index 3a8d758..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingInventoryValueAndCostData.qbl
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingInventoryValueAndCostData
-{
-  TextBody:
-  [*
-    this.IOInventoryValueAndCost( relflush );
-    traverse( this, MappingInventoryValueAndCost, item ) {
-      this.IOInventoryValueAndCost( relnew, 
-                                    ID := item.ID(), 
-                                    AccountName := item.AccountName(), 
-                                    Cost := item.Cost(), 
-                                    CostDriver := item.CostDriver(), 
-                                    ProductID := item.ProductID(), 
-                                    Start := item.Start(), 
-                                    StockingPointID := item.StockingPointID() );     
-    }
-  *]
-}
diff --git "a/_Main/BL/Type_MPSync/Method_MappingLaneData\043474.qbl" "b/_Main/BL/Type_MPSync/Method_MappingLaneData\043474.qbl"
deleted file mode 100644
index 5757549..0000000
--- "a/_Main/BL/Type_MPSync/Method_MappingLaneData\043474.qbl"
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingLaneData (
-  JSON data
-)
-{
-  TextBody:
-  [*
-    dataLength := data.Size();
-    for( i := 0; i < dataLength; i++ ) {
-      dataRow := data.Get( i );
-      id := dataRow.Get( "id" ).GetString();
-      unitId := dataRow.Get( "unitid" ).GetString();
-      name := dataRow.Get( "name" ).GetString();
-      userLeadTimeHours := [Number]dataRow.Get( "userleadtime" ).GetString();
-      this.IOLane( relnew, 
-                   ID := id, 
-                   Name := name, 
-                   UnitID := unitId,
-                   UserLeadTime := Duration::Hours( userLeadTimeHours ) );
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingLaneData.qbl b/_Main/BL/Type_MPSync/Method_MappingLaneData.qbl
deleted file mode 100644
index 8e84a76..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingLaneData.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingLaneData
-{
-  TextBody:
-  [*
-    this.IOLane( relflush );
-    bodyNumber := "3";
-    postRequestBody := MPSync::ApiBuildPostRequestBody( bodyNumber );
-    address := "api-uat-sgc.tianma.cn";
-    url := "/otdService/https/GetLanesInfo";
-    port := 443;
-    data := MPSync::ApiResponesCheck( address, port, url, postRequestBody );
-    this.MappingLaneData( data );
-  *]
-}
diff --git "a/_Main/BL/Type_MPSync/Method_MappingLaneLegData\043257.qbl" "b/_Main/BL/Type_MPSync/Method_MappingLaneLegData\043257.qbl"
deleted file mode 100644
index 0b5adf8..0000000
--- "a/_Main/BL/Type_MPSync/Method_MappingLaneLegData\043257.qbl"
+++ /dev/null
@@ -1,30 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingLaneLegData (
-  JSON data
-)
-{
-  TextBody:
-  [*
-    dataLength := data.Size();
-    for( i := 0; i < dataLength; i++ ) {
-      dataRow := data.Get( i );
-      laneId := dataRow.Get( "laneid" ).GetString();
-      originStockingPointId := dataRow.Get( "originstockingpointid" ).GetString();
-      destinationStockingPointId := dataRow.Get( "destinationstockingpointid" ).GetString();
-      name := dataRow.Get( "name" ).GetString();
-      userLeadTimeHours := [Number]dataRow.Get( "userleadtime" ).GetString();
-      this.IOLaneLeg( relnew, 
-                      LaneID := laneId, 
-                      OriginStockingPointID := originStockingPointId, 
-                      DestinationStockingPointID := destinationStockingPointId,
-                      Name := name, 
-                      HasUserLeadTime := true,
-                      UserLeadTime := Duration::Hours( userLeadTimeHours ), 
-                      Start := Date::MinDate(), 
-                      End := Date::MaxDate(), 
-                      PreferenceBonus := 0.0,
-                      CO2Emission := 0.0 );           
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingLaneLegData.qbl b/_Main/BL/Type_MPSync/Method_MappingLaneLegData.qbl
deleted file mode 100644
index edd9206..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingLaneLegData.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingLaneLegData
-{
-  TextBody:
-  [*
-    this.IOLaneLeg( relflush );
-    bodynumber := "4";
-    postRequestBody := MPSync::ApiBuildPostRequestBody( bodynumber );
-    address := "api-uat-sgc.tianma.cn";
-    url := "/otdService/https/GetLaneLegsInfo";
-    port := 443;
-    data := MPSync::ApiResponesCheck( address, port, url, postRequestBody );
-    this.MappingLaneLegData( data );
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingOperationBOMData.qbl b/_Main/BL/Type_MPSync/Method_MappingOperationBOMData.qbl
deleted file mode 100644
index 1ba679a..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingOperationBOMData.qbl
+++ /dev/null
@@ -1,181 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingOperationBOMData (
-  Strings businessTypes,
-  Boolean isKeyProduct,
-  Boolean createPurchaseSupplyMaterial
-)
-{
-  TextBody:
-  [*
-    // keyProduct
-    keyProductIds := selectuniquevalues( this, MappingProduct, prod, prod.KeyProduct() = true, prod.ID() );
-    // 鑾峰彇鏈夊簭鐨勫緟澶勭悊璁板綍
-    toDealOps := construct( MappingOperations );
-    toDealBoms := construct( MappingBOMs );
-    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
-        toDealOps := selectsortedset( this, MappingOperation, item, 
-                                      businessTypes.Find( item.BusinessType() ) >= 0 
-                                      and ( not isKeyProduct or keyProductIds.Find( item.ProductID() ) >= 0 ), 
-                                      item.SequenceNumber() );
-        toDealBoms := selectset( this, MappingBOM, item, 
-                                 businessTypes.Find( item.BusinessType() ) >= 0 
-                                 and ( not isKeyProduct or keyProductIds.Find( item.ComponentCode() ) >= 0 ) );
-    } else {
-        toDealOps := selectsortedset( this, MappingOperation, item, 
-                                      not isKeyProduct or keyProductIds.Find( item.ProductID() ) >= 0 , 
-                                      item.SequenceNumber() );
-        toDealBoms := selectset( this, MappingBOM, item, 
-                                 businessTypes.Find( item.BusinessType() ) >= 0
-                                 and ( not isKeyProduct or keyProductIds.Find( item.ComponentCode() ) >= 0 ) );
-    }
-    // 瀵规瘡涓猺outing璁$畻inputGroupId
-    inputGroupId := 1
-    // 瀵规瘡涓猂outing杩涜鎶曞叆浜у嚭澶勭悊
-    routingKeys := selectuniquevalues( toDealOps, Elements, item, item.OrganCode() + "_" + item.ProductID() );
-    traverse( routingKeys, Elements, routingKey ) {
-      // ==== 浜у嚭 ====
-      // 鎵炬渶澶eq
-      maxSeq := max( toDealOps, Elements, item, item.OrganCode() + "_" + item.ProductID() = routingKey, item.SequenceNumber() );
-      maxSeqElements := selectset( toDealOps, Elements, item, 
-                                   item.OrganCode() + "_" + item.ProductID() = routingKey and item.SequenceNumber() = maxSeq );
-      traverse( maxSeqElements, Elements, maxSeqELement ) {
-        operationId := maxSeqELement.OrganCode() + "_" + maxSeqELement.ProductID() + "_" + maxSeqELement.ProcessSection();
-        if( maxSeqELement.Line() <> "" ) {
-          operationId := operationId + "_" + maxSeqELement.Line();
-        }
-        this.IOOperationBOM( relnew, 
-                             OperationID := operationId, 
-                             ProductID := maxSeqELement.ProductID(), 
-                             StockingPointID := maxSeqELement.OrganCode() + "_" + this.GetProductTypeByProductId( maxSeqELement.ProductID() ) + "_Stock", 
-                             Quantity := 1, 
-                             IsInput := false );
-      }
-      // ==== 鎶曞叆 ====
-      // 瀵筄peration涓殑姣忎釜ProcessSection锛� 鎵緎eq鏈�灏忕殑list锛屾瘡鏉om瀵硅list鐢熸垚operationBOM
-      processSectionList := selectuniquevalues( toDealOps, Elements, toDeal, 
-                                                toDeal.OrganCode() + "_" + toDeal.ProductID() = routingKey,
-                                                toDeal.ProcessSection() );
-      traverse( processSectionList, Elements, processSection ) {
-        minSeq := min( toDealOps, Elements, item, 
-                       item.OrganCode() + "_" + item.ProductID() = routingKey 
-                       and item.ProcessSection() = processSection,
-                       item.SequenceNumber() );
-        operationRecordsWithMinSeq := selectset( toDealOps, Elements, minSeqWithProcessSectionElement, 
-                                                 minSeqWithProcessSectionElement.OrganCode() + "_" + minSeqWithProcessSectionElement.ProductID() = routingKey 
-                                                 and minSeqWithProcessSectionElement.ProcessSection() = processSection
-                                                 and minSeqWithProcessSectionElement.SequenceNumber() = minSeq );
-        bomRecords := selectset( toDealBoms, Elements, bom, 
-                                 bom.OrganCode() + "_" + bom.ProductCode() = routingKey 
-                                 and bom.ProcessSection() = processSection );
-        // 鎸夋槸鍚︽湁鏇挎崲鏂欏垎缁�
-        bomWithoutAlters := selectset( bomRecords, Elements, bomRecord, bomRecord.AlternativeMaterialCode() = "" );
-        bomWithAlters := selectset( bomRecords, Elements, bomRecord, bomRecord.AlternativeMaterialCode() <> "" );
-        // 澶勭悊涓嶅甫鏇挎崲鏂欑殑input
-        traverse( operationRecordsWithMinSeq, Elements, op ) {
-          traverse( bomWithoutAlters, Elements, bom ) {
-            operationId := op.OrganCode() + "_" + op.ProductID() + "_" + op.ProcessSection();
-            if( op.Line() <> "" ) {
-              operationId := operationId + "_" + op.Line();
-            }
-            this.IOOperationBOM( relnew, 
-                                 OperationID := operationId, 
-                                 ProductID := op.ProductID(),
-                                 StockingPointID := op.OrganCode() + "_" + bom.ComponentType() + "_Stock", 
-                                 IsInput := true, 
-                                 Quantity := bom.UnitUsageOfComponents() / bom.ComponentOutputRate() );           
-          }
-        }
-        // 澶勭悊甯︽浛鎹㈡枡鐨勶紝鎸塴ine鍜屼富鏂欏垎缁�
-        lineList := selectuniquevalues( operationRecordsWithMinSeq, Elements, item, item.Line() );
-        mainProdList := selectuniquevalues( bomWithAlters, Elements, item, item.ComponentCode() );
-        traverse( lineList, Elements, line ) {
-          opWithLine := select( operationRecordsWithMinSeq, Elements, item, item.Line() = line );
-          opId := opWithLine.OrganCode() + "_" + opWithLine.ProductID() + "_" + opWithLine.ProcessSection();
-          if( opWithLine.Line() <> "" ) {
-            opId := opId + "_" + opWithLine.Line();
-          }
-          traverse( mainProdList, Elements, mainProd ) {
-            // 姣忕涓绘枡涓�涓猤roup
-            inputGroupId := inputGroupId + 1;
-            bomWithMainProdList := selectset( bomWithAlters, Elements, item, item.ComponentCode() = mainProd );
-            bomRandom := bomWithMainProdList.First();
-            // 鎬绘暟閲�
-            maxQuantityInGroup := bomRandom.UnitUsageOfComponents() / bomRandom.ComponentOutputRate();
-            // 鏇夸唬鏂欐�绘瘮渚�
-            alterRateTotal := sum( bomWithMainProdList, Elements, item, item.AlternativeRate() );
-            // 鍒涘缓inputGroup
-            this.IOOperationInputGroup( relnew, InputGroupID := inputGroupId, OperationID := opId, InputGroupQuantity := maxQuantityInGroup );
-            // 鍒涘缓涓绘枡鐨刬nput bom
-            this.IOOperationBOM( relnew, 
-                                 OperationID := opId, 
-                                 InputGroupID := inputGroupId,
-                                 ProductID := bomRandom.ComponentCode(),
-                                 StockingPointID := bomRandom.OrganCode() + "_" + bomRandom.ComponentType() + "_Stock", 
-                                 IsInput := true, 
-                                 Quantity := maxQuantityInGroup * ( 1 - alterRateTotal ), 
-                                 MinQuantityInGroup := 0.0, 
-                                 MaxQuantityInGroup := maxQuantityInGroup );  
-            // 鏇夸唬鏂檌nput bom
-            traverse( bomWithMainProdList, Elements, bom ) {
-              this.IOOperationBOM( relnew, 
-                         OperationID := opId, 
-                         InputGroupID := inputGroupId,
-                         ProductID := bom.AlternativeMaterialCode(),
-                         StockingPointID := bom.OrganCode() + "_" + bom.ComponentType() + "_Stock", 
-                         IsInput := true, 
-                         Quantity := maxQuantityInGroup * bom.AlternativeRate(), 
-                         MinQuantityInGroup := 0.0, 
-                         MaxQuantityInGroup := maxQuantityInGroup );  
-            }
-          }
-        }
-      }
-      // 閽堝姣忎釜routing 閲嶇疆 inputGroupId
-      inputGroupId := 1;
-    }
-    // 瀵规瘡涓狾rgCode_ComponentCode缁勫悎锛屽垱寤洪噰璐璻outing
-    if( createPurchaseSupplyMaterial ) {
-      toCreateKeys := selectuniquevalues( toDealBoms, Elements, bom,
-                                          bom.ComponentType() = "P", 
-                                          bom.OrganCode() + "_" + bom.ComponentCode() );
-      traverse( toCreateKeys, Elements, toCreateKey ) {
-        bomRandom := selectset( toDealBoms, Elements, bom, bom.ComponentType() = "P" and bom.OrganCode() + "_" + bom.ComponentCode() = toCreateKey ).First();
-        routingId := bomRandom.OrganCode() + "_" + bomRandom.ComponentCode();
-        routingName := routingId;
-        routingStepName := "閲囪喘";
-        routingStepSeq := 1;
-        operationId := bomRandom.OrganCode() + "_PR_" + bomRandom.ComponentCode();
-        operationName := operationId;
-        unitId := "渚涘簲鍟�";
-        // ==== 鍒涘缓 ====
-        // 鍒涘缓routing
-        this.IORouting( relnew, 
-                        ID := routingId, Name := routingName, IsEnabled := true, Start := Date::MinDate(), End := Date::MaxDate() );
-        // 鍒涘缓routingStep
-        IORoutingStep::CreateIfNotExist( this, 
-                                     routingId,
-                                     routingStepName,
-                                     routingStepSeq );
-        // 鍒涘缓op
-        ioOp := IOOperation::CreateIfNotExist( this, operationId );
-        ioOp.UnitID( unitId );
-        ioOp.RoutingID( routingId );
-        ioOp.RoutingStepName( routingStepName );
-        ioOp.Name( operationName );
-        ioOp.UserLeadTime( Duration::Zero() );
-        ioOp.Throughput( 1.0 );
-        ioOp.HasUserMaximumQuantity( false );
-        ioOp.UserMinimumQuantity( Real::MinReal() );
-        ioOp.UserMaximumQuantity( Real::MaxReal() );
-        // 鍒涘缓opBOM
-        this.IOOperationBOM( relnew, 
-                   OperationID := operationId, 
-                   ProductID := bomRandom.ComponentCode(),
-                   StockingPointID := bomRandom.OrganCode() + "_" + bomRandom.ComponentType() + "_Stock", 
-                   IsInput := true, 
-                   Quantity := 1 );  
-      }
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingOperationCostData.qbl b/_Main/BL/Type_MPSync/Method_MappingOperationCostData.qbl
deleted file mode 100644
index 30509c6..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingOperationCostData.qbl
+++ /dev/null
@@ -1,55 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingOperationCostData (
-  Strings businesstypes
-)
-{
-  Description: 'Get operation cost data from operation mapping'
-  TextBody:
-  [*
-    //// Administrator Aug-21-2023 (created)
-    //// list to deal
-    //listtodeal := construct( structured[MappingOperation] );
-    //
-    //if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
-    //    listtodeal := selectset( this, MappingOperation, item, true );
-    //} else {
-    //    listtodeal := selectset( this, MappingOperation, item, businesstypes.Find( item.BusinessType() ) <> -1 );
-    //}
-    //
-    //// Get the list to deal with max sequence number
-    //listtodealwithmaxsn := construct( structured[MappingOperation] );
-    //traverse( listtodeal, Elements, item ){
-    //  maxsn := maxselect( this, 
-    //                      MappingOperation, 
-    //                      moperation, 
-    //                      moperation.OrganCode() = item.OrganCode(), 
-    //                      moperation.ProductID() = item.ProductID(), 
-    //                      moperation.SequenceNumber() ).SequenceNumber()
-    //  if( item.SequenceNumber() = maxsn ){
-    //    listtodealwithmaxsn.Add( item );
-    //    }
-    //  }
-    //
-    //// Get the operation cost data
-    //traverse( listtodealwithmaxsn, Elements, item ){
-    //  id := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection() + "_" + item.Line();
-    //  operation := Operation::FindOperationTypeIndex( id );
-    //  account := Account_MP::FindByName( this, "Operation cost" );
-    //  isfromdb := false;
-    //  existoperationcost := OperationCost::FindOperationCostTypeIndex( id );
-    //  if( isnull( existoperationcost ) ){
-    //    connecteditem := select( this, 
-    //                             MappingOperationCost, 
-    //                             moperationcost, 
-    //                             moperationcost.OrgCode() = item.OrganCode(), 
-    //                             moperationcost.ProductID() = item.ProductID() );
-    //    cost := connecteditem.Cost();
-    //    lengthoftime := connecteditem.LengthOfTime();
-    //    start := connecteditem.Start();
-    //    timeunit := connecteditem.TimeUnit();
-    //    OperationCost::Create( id, operation, account, "Volume", start, timeunit, lengthoftime, cost, isfromdb );
-    //    }
-    //  }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingOperationData.qbl b/_Main/BL/Type_MPSync/Method_MappingOperationData.qbl
deleted file mode 100644
index b03e439..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingOperationData.qbl
+++ /dev/null
@@ -1,102 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingOperationData (
-  Strings businessTypes
-)
-{
-  TextBody:
-  [*
-    // 鑾峰彇鏈夊簭鐨勫緟澶勭悊璁板綍
-    toDealList := construct( MappingOperations );
-    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
-        toDealList := selectsortedset( this, MappingOperation, item, 
-                                       businessTypes.Find( item.BusinessType() ) >= 0, 
-                                       item.SequenceNumber() );
-    } else {
-        toDealList := selectsortedset( this, MappingOperation, item, 
-                                       true, 
-                                       item.SequenceNumber() );
-    }
-    // 鍒犻櫎鍘熸湁routing
-    this.IORouting( relflush );
-    // 鏂皉outing
-    routingIdList := selectuniquevalues( toDealList, Elements, item, item.OrganCode() + "_" + item.ProductID() );
-    traverse( routingIdList, Elements, routingId ) {
-      this.IORouting( relnew, 
-                      ID := routingId, Name := routingId, IsEnabled := true );
-    }
-    // 鍒犻櫎鍘熸湁routingStep
-    this.IORoutingStep( relflush );
-    // 鏂皉outingStep
-    traverse( toDealList, Elements, op ) {
-      routingId := op.OrganCode() + "_" + op.ProductID();
-      routingStepName := op.ProcessSection() + "_" + [String]op.SequenceNumber();
-      IORoutingStep::CreateIfNotExist( this, 
-                                       routingId,
-                                       routingStepName,
-                                       op.SequenceNumber() );
-    }
-    // 鏂皁peration
-    traverse( toDealList, Elements, op ) {
-      // 姹囨�绘暟鎹�
-      routingId := op.OrganCode() + "_" + op.ProductID();
-      routingStepName := op.ProcessSection() + "_" + [String]op.SequenceNumber();
-      opId := op.OrganCode() + "_" + op.ProductID() + "_" + op.ProcessSection();
-      unitId := op.OrganCode() + "_" + op.ProcessSection();
-      if( op.Line() <> "" ) {
-        opId := opId + "_" + op.Line();
-        unitId := unitId + "_" + op.Line();
-      }
-      opName := opId;
-      // 鏂板缓
-      ioOp := IOOperation::CreateIfNotExist( this, opId );
-      ioOp.UnitID( unitId );
-      ioOp.RoutingID( routingId );
-      ioOp.RoutingStepName( routingStepName );
-      ioOp.Name( opName );
-      ioOp.UserLeadTime( Duration::Hours( op.UserLeadTime() ) );
-      ioOp.Throughput( op.ActualCapacity() );
-      ioOp.UserMinimumQuantity( op.MinimumQuantity() );
-      ioOp.UserMaximumQuantity( op.MaximumQuantity() );
-      ioOp.HasUserMaximumQuantity( op.MaximumQuantity() <> 0.0 );
-    }
-    // 鎸� OrganCode + ProductID 鍒嗙粍 + 鎺掑簭
-    keyList := selectuniquevalues( toDealList, Elements, op, 
-                                   op.OrganCode() + "_" + op.ProductID() );
-    keyList := selectsortedset( keyList, Elements, str, str );
-    traverse( keyList, Elements, key ) {
-      previousList := construct( MappingOperations );
-      // 鎸� SequenceNumber 鍒嗙粍 + 鎺掑簭
-      subKeyList := selectuniquevalues( toDealList, Elements, op, 
-                                        key = op.OrganCode() + "_" + op.ProductID(),
-                                        op.SequenceNumber() );
-      subKeyList := selectsortedset( subKeyList, Elements, seq, seq );
-      // 閬嶅巻姣忎釜Seq锛屼笌鍓嶄竴涓猯ist杩涜杩炴帴锛屽悓鏃跺垱寤篻roup
-      traverse( subKeyList, Elements, seq ) {
-        elementList := selectset( this, MappingOperation, op, 
-                                  op.OrganCode() + "_" + op.ProductID() = key and op.SequenceNumber() = seq );
-        if( not isnull( previousList ) and previousList.Size() > 0 ) {
-          // 瀵规瘡涓洰鏍囧垱寤篿nputGroup
-          if( previousList.Size() > 1 ) {
-            traverse( elementList, Elements, targetOp ) {
-              targetOpId := targetOp.OrganCode() + "_" + targetOp.ProductID() + "_" + targetOp.ProcessSection();
-              this.IOOperationInputGroup( relnew, InputGroupID := 1, OperationID := targetOpId, InputGroupQuantity := 1 );
-            }
-          }
-          // 婧愪笌鐩爣涓や袱鍒涘缓operationLink
-          traverse( elementList, Elements, targetOp ) {
-            traverse( previousList, Elements, sourceOp ) {
-              sourceOpId := sourceOp.OrganCode() + "_" + sourceOp.ProductID() + "_" + sourceOp.ProcessSection();
-              targetOpId := targetOp.OrganCode() + "_" + targetOp.ProductID() + "_" + targetOp.ProcessSection();
-              this.IOOperationLink( relnew, 
-                                    SourceOperationID := sourceOpId, DestOperationID := targetOpId, 
-                                    SourceGroupID := 1, DestGroupID := 1, SourceQuantity := 1, DestQuantity := 1 / previousList.Size(), 
-                                    DestHasUserQuantity := false, DestMinQuantity := 0, DestMaxQuantity := 1 );
-            }  
-          }
-        }
-        previousList := elementList;
-      }
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingProductData.qbl b/_Main/BL/Type_MPSync/Method_MappingProductData.qbl
deleted file mode 100644
index 4a5f907..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingProductData.qbl
+++ /dev/null
@@ -1,47 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingProductData (
-  Strings businesstypes,
-  Boolean iskeyproduct
-)
-{
-  Description: 'Method to get needed data from mapping product data'
-  TextBody:
-  [*
-    // 娓呴櫎鏃ф暟鎹�
-    this.IOProduct_MP( relflush );
-    // list to deal
-    listToDeal := construct( structured[MappingProduct] );
-    if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
-      if( iskeyproduct = true ){
-        listToDeal := selectset( this, MappingProduct, item, item.KeyProduct() = true );
-      } else {
-        listToDeal := selectset( this, MappingProduct, item, true );
-      }
-    } else {
-      if( iskeyproduct = true ){
-        listToDeal := selectset( this, MappingProduct, item, item.KeyProduct() = true, businesstypes.Find( item.BusinessType() ) <> -1 or businesstypes.Find( item.CommonBusiness() ) <> -1 );
-      } else {
-        listToDeal := selectset( this, MappingProduct, item, businesstypes.Find( item.BusinessType() ) <> -1 or businesstypes.Find( item.CommonBusiness() ) <> -1 );
-      }
-    }
-    // 鍒涘缓鏍逛骇鍝�
-    IOProduct_MP::CreateIfNotExist( this, "鍏ㄩ儴鐗╂枡浜у搧", "鍏ㄩ儴鐗╂枡浜у搧", "", "PCS" );
-    // 澶勭悊鏂颁俊鎭�
-    traverse( listToDeal, Elements, item ) {
-      // 鍒涘缓鐖朵骇鍝�
-      IOProduct_MP::CreateIfNotExist( this, item.ProductMajorType(), item.ProductMajorType(), "鍏ㄩ儴鐗╂枡", "PCS" );
-      IOProduct_MP::CreateIfNotExist( this, item.ProductSubclassType(), item.ProductSubclassType(), item.ProductMajorType(), "PCS" );
-      // 鍒涘缓浜у搧
-      this.IOProduct_MP( relnew, 
-                         ID := item.ID(), 
-                         Name := item.Name(), 
-                         ParentID := item.ProductSubclassType(), 
-                         UOMName := item.UnitOfMeasureName(),
-                         // todo ?
-                         HasShelfLife := true, 
-                         ShelfLife := item.ShelfLife(),
-                         Notes := item.Notes() );
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingProductInLaneData.qbl b/_Main/BL/Type_MPSync/Method_MappingProductInLaneData.qbl
deleted file mode 100644
index 4b1a242..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingProductInLaneData.qbl
+++ /dev/null
@@ -1,15 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingProductInLaneData
-{
-  Description: 'Get Product In Line data'
-  TextBody:
-  [*
-    this.IOProductInLane( relflush );
-    traverse( this, MappingProductInLane, item ){
-      this.IOProductInLane( relnew, 
-                            LaneID := item.LineID(),
-                            ProductID := item.ProductID() );
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingSalesLevelData.qbl b/_Main/BL/Type_MPSync/Method_MappingSalesLevelData.qbl
deleted file mode 100644
index 0baf2aa..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingSalesLevelData.qbl
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingSalesLevelData
-{
-  TextBody:
-  [*
-    this.IOSalesLevel_MP( relflush );
-    this.IOSalesLevel_MP( relnew, 
-                          Level := 0,
-                          Name := "钀ラ攢涓績" );
-    this.IOSalesLevel_MP( relnew, 
-                          Level := 1,
-                          Name := "閿�鍞" );
-    this.IOSalesLevel_MP( relnew, 
-                          Level := 2,
-                          Name := "瀹㈡埛" );
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingSalesSegmentData.qbl b/_Main/BL/Type_MPSync/Method_MappingSalesSegmentData.qbl
deleted file mode 100644
index d92ea1e..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingSalesSegmentData.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingSalesSegmentData (
-  Strings businessTypes
-)
-{
-  Description: 'ETL閿�鍞儴闂�'
-  TextBody:
-  [*
-    this.IOSalesSegment_MP( relflush );
-    toDealList := selectset( this, MappingSalesSegment, item, true );
-    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
-        toDealList := selectset( toDealList, Elements, item, businessTypes.Find( item.BusinessType() ) >= 0 );
-    }
-    
-    traverse( toDealList, Elements, item ) {
-        this.IOSalesSegment_MP( relnew, 
-                                Name := item.Name(), 
-                                ParentName := item.ParentName(),
-                                DisplayIndex := item.DisplayIndex() );
-    }
-  *]
-}
diff --git "a/_Main/BL/Type_MPSync/Method_MappingStockingPointData\043321.qbl" "b/_Main/BL/Type_MPSync/Method_MappingStockingPointData\043321.qbl"
deleted file mode 100644
index cfe65b5..0000000
--- "a/_Main/BL/Type_MPSync/Method_MappingStockingPointData\043321.qbl"
+++ /dev/null
@@ -1,29 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingStockingPointData (
-  JSON data
-)
-{
-  TextBody:
-  [*
-    dataLength := data.Size();
-    for( i:=0; i < dataLength; i++ )
-    {
-      dataRow := data.Get( i );
-      id := dataRow.Get( "id" ).GetString();
-      unitId := dataRow.Get( "unitid" ).GetString();
-      name := dataRow.Get( "name" ).GetString();
-      this.IOStockingPoint_MP( relnew, 
-                               ID := id, 
-                               Name := name, 
-                               UnitID := unitId, 
-                               CurrencyID := "CNY", 
-                               UnitOfMeasureName := "PCS",
-                               IsPlannedInfinite := false,
-                               GroupName := " ",
-                               Notes := " ", 
-                               Start := Date::MinDate(), 
-                               End := Date::MaxDate() );
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingStockingPointData.qbl b/_Main/BL/Type_MPSync/Method_MappingStockingPointData.qbl
deleted file mode 100644
index b09b6be..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingStockingPointData.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingStockingPointData
-{
-  TextBody:
-  [*
-    this.IOStockingPoint_MP( relflush );
-    bodyNumber := "2";
-    postRequestBody := MPSync::ApiBuildPostRequestBody( bodyNumber );
-    address := "api-uat-sgc.tianma.cn";
-    port := 443;
-    url := "/otdService/https/GetStockingPointsInfo";
-    data := MPSync::ApiResponesCheck( address, port, url, postRequestBody );
-    this.MappingStockingPointData( data );
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingUnitData.qbl b/_Main/BL/Type_MPSync/Method_MappingUnitData.qbl
deleted file mode 100644
index eaec58b..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingUnitData.qbl
+++ /dev/null
@@ -1,52 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingUnitData (
-  Strings businessTypes
-)
-{
-  Description: 'Get unit data from operation mapping'
-  TextBody:
-  [*
-    listToDeal := selectset( this, MappingOperation, item, true );
-    if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
-      listToDeal := selectset( this, MappingOperation, item, businessTypes.Find( item.BusinessType() ) >= 0 );
-    }
-    // 甯搁噺
-    unitOfMeasureName := "PCS";
-    currencyId := "CNY";
-    startDate := Date::Date( 1900, 1, 1 );
-    endDate := Date::Date( 9999, 12, 31 );
-    capacityType := "Infinite";
-    // 閫愮骇鍒涘缓
-    IOUnit::CreateIfNotExistByTree( this, "澶╅┈闆嗗洟", "澶╅┈闆嗗洟", "", unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-    IOUnit::CreateIfNotExistByTree( this, "鐢熶骇", "鐢熶骇", "澶╅┈闆嗗洟", unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-    IOUnit::CreateIfNotExistByTree( this, "渚涘簲鍟�", "渚涘簲鍟�", "澶╅┈闆嗗洟", unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-    IOUnit::CreateIfNotExistByTree( this, "鏁磋溅杩愯緭", "鏁磋溅杩愯緭", "澶╅┈闆嗗洟", unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-    // 鏍规嵁operation鍒涘缓
-    traverse( listToDeal, Elements, op ) {
-      // 涓�绾� orgCode
-      levelOne := op.OrganCode();
-      IOUnit::CreateIfNotExistByTree( this, 
-                                      levelOne, op.OrganName(), "鐢熶骇", 
-                                      unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-      // 浜岀骇 orgCode + plantName
-      levelTwo := op.OrganCode() + "_" + op.PlantName();
-      IOUnit::CreateIfNotExistByTree( this, 
-                                      levelTwo, levelTwo, levelOne, 
-                                      unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-      // 涓夌骇 浜岀骇 + processSection
-      levelThree := levelTwo + "_" + op.ProcessSection();
-      IOUnit::CreateIfNotExistByTree( this, 
-                                      levelThree, levelThree, levelTwo, 
-                                      unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-      // 鍥涚骇 涓夌骇 + line
-      if( op.Line() <> "" ) {
-        levelFour := levelThree + "_" + op.Line();
-        IOUnit::CreateIfNotExistByTree( this, 
-                                        levelFour, levelFour, levelThree, 
-                                        unitOfMeasureName, currencyId, startDate, endDate, capacityType );
-      }
-      
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/Method_MappingUnitOfMeasureData.qbl b/_Main/BL/Type_MPSync/Method_MappingUnitOfMeasureData.qbl
deleted file mode 100644
index 066fe15..0000000
--- a/_Main/BL/Type_MPSync/Method_MappingUnitOfMeasureData.qbl
+++ /dev/null
@@ -1,14 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method MappingUnitOfMeasureData
-{
-  Description: 'ETL鏁版嵁杞ā鍨嬫暟鎹�'
-  TextBody:
-  [*
-    this.IOUnitOfMeasure_MP( relflush );
-    traverse( this, MappingUnitOfMeasure, item ) {
-    //  IOUnitOfMeasure_MP::DeleteIfExist( this, item.Name() );
-      this.IOUnitOfMeasure_MP( relnew, IsDefault := item.IsDefault(), Name :=  item.Name() );
-    }
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/StaticMethod_ApiBuildPostRequestBody.qbl b/_Main/BL/Type_MPSync/StaticMethod_ApiBuildPostRequestBody.qbl
deleted file mode 100644
index d7495b1..0000000
--- a/_Main/BL/Type_MPSync/StaticMethod_ApiBuildPostRequestBody.qbl
+++ /dev/null
@@ -1,25 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod ApiBuildPostRequestBody (
-  String bodynumber
-) as String
-{
-  TextBody:
-  [*
-    postrequestbody := JSON::Object()
-                        .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
-                        .Add( "fromSystemCode", "OTDH000" + bodynumber )
-                        .Add( "toInterfaceCode", "QIDH000" + bodynumber )
-                        .Add( "ouZone", "OU_TMSH" )
-                        .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
-                        .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
-                        .Add( "dataType", "JSON" )
-                        .Add( "data", JSON::Object()
-                                      .Add( "pageIndex", "1" ) ).Build();
-    
-    info( DateTime::Now().Format( "Y-M2-D2 H:m:s" ) );
-    postrequestbodystring := postrequestbody.AsString();
-    
-    return postrequestbodystring;
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/StaticMethod_ApiResponesCheck.qbl b/_Main/BL/Type_MPSync/StaticMethod_ApiResponesCheck.qbl
deleted file mode 100644
index ac1f3c0..0000000
--- a/_Main/BL/Type_MPSync/StaticMethod_ApiResponesCheck.qbl
+++ /dev/null
@@ -1,54 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod ApiResponesCheck (
-  String address,
-  Number port,
-  String path,
-  String postrequestbody
-) as owning JSON
-{
-  TextBody:
-  [*
-    // for HTTPS requests:
-    i := HTTPInterface::Create( address, port );
-    //i := HTTPInterface::Create( address ,443);
-    info( address, port, path, postrequestbody );
-    
-    i.URL(path);
-    //i.SSL(false);
-    i.SSL(true);
-    i.SSLKeystore('MyKeystore'); // created in the Config Utility
-    
-    i.PostMethod(true); //it's a POST method
-    
-    i.Call(postrequestbody); // Call's argument is for POST method's content.
-    htmlresult := i.Result();
-    
-    htmlresponse := JSON::Parse( htmlresult );
-    
-    code := htmlresponse.Get( "resultCode" ).GetString();
-    message := htmlresponse.Get( "resultMsg" );
-    data := htmlresponse.Get( "responseData" );
-    datalist := data.Get( "dataList" );
-    
-    if( code = "1" )
-    {
-      info( "Data have been written into table" );
-      }
-    else
-    {
-      messagestring := " ";
-      if ( message.IsNull() )
-      {
-        messagestring := "No message returns!";
-        }
-      else
-      {
-        messagestring := message.GetString();
-        }
-      info( "Error! error code: " + code + ", error message: " + messagestring );
-      }
-    
-    return &datalist;
-  *]
-}
diff --git a/_Main/BL/Type_MPSync/_ROOT_Type_MPSync.qbl b/_Main/BL/Type_MPSync/_ROOT_Type_MPSync.qbl
deleted file mode 100644
index 2e63828..0000000
--- a/_Main/BL/Type_MPSync/_ROOT_Type_MPSync.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MPSync #extension
-{
-}
diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew\043331.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew\043331.qbl"
deleted file mode 100644
index dc03063..0000000
--- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew\043331.qbl"
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DoSyncNew (
-  MacroPlan macroPlan,
-  MPSync mpSync,
-  String businessTypeStr,
-  Boolean isKeyProduct,
-  Boolean createPurchaseSupplyMaterial
-)
-{
-  Description: '鍗曟鍚屾'
-  TextBody:
-  [*
-    // yypsybs Aug-17-2023 (created)
-    businessTypes := construct( Strings );
-    if( businessTypeStr.Length() > 0 ) {
-        businessTypes := businessTypeStr.Tokenize( ',' );
-    }
-    MacroPlan::DoSyncNew( macroPlan, mpSync, businessTypes, isKeyProduct, createPurchaseSupplyMaterial );
-  *]
-}
diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew\043821.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew\043821.qbl"
deleted file mode 100644
index c7824af..0000000
--- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew\043821.qbl"
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DoSyncNew (
-  MacroPlan macroPlan,
-  MPSync mpSync,
-  Boolean isKeyProduct,
-  Boolean createPurchaseSupplyMaterial
-)
-{
-  Description: '鍗曟鍚屾'
-  TextBody:
-  [*
-    // yypsybs Aug-17-2023 (created)
-    businessTypes := construct( Strings );
-    MacroPlan::DoSyncNew( macroPlan, mpSync, businessTypes, isKeyProduct, createPurchaseSupplyMaterial );
-  *]
-}
diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew.qbl
deleted file mode 100644
index a66613b..0000000
--- a/_Main/BL/Type_MacroPlan/StaticMethod_DoSyncNew.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DoSyncNew (
-  MacroPlan macroPlan,
-  MPSync mpSync,
-  Strings businessTypes,
-  Boolean isKeyProduct,
-  Boolean createPurchaseSupplyMaterial
-)
-{
-  Description: '鍗曟鍚屾'
-  TextBody:
-  [*
-    // yypsybs Aug-31-2023 (created)
-    mpSync.ImportDBDataCustom( macroPlan, businessTypes, isKeyProduct, createPurchaseSupplyMaterial );
-  *]
-}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestCurrencyData_OnClick.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestCurrencyData_OnClick.def
deleted file mode 100644
index adde90d..0000000
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestCurrencyData_OnClick.def
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: mbMainMenu/MenuTestCurrencyData
-Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestCurrencyData_OnClick
-{
-  #keys: '[414502.0.88134030]'
-  Body:
-  [*
-    // Click to start a dialog about lane data test
-    dlg := construct( CurrencyDataTestDialog );
-    dlg.OpenDialog( Application );
-  *]
-  DefinitionID: 'Responsedef_Menu_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestCurrency_OnClick.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestCurrency_OnClick.def
deleted file mode 100644
index 375e8df..0000000
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestCurrency_OnClick.def
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: mbMainMenu/MenuTestCurrency
-Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestCurrency_OnClick
-{
-  #keys: '[414502.0.88134200]'
-  Body:
-  [*
-    // Click to start a dialog about lane data test
-    dlg := construct( CurrencyRateDataTestDialog );
-    dlg.OpenDialog( Application );
-  *]
-  DefinitionID: 'Responsedef_Menu_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestLanesData_OnClick.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestLanesData_OnClick.def
deleted file mode 100644
index 1178192..0000000
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestLanesData_OnClick.def
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: mbMainMenu/MenuTestLanesData
-Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestLanesData_OnClick
-{
-  #keys: '[414502.0.18234397]'
-  Body:
-  [*
-    // Click to start a dialog about lane data test
-    dlg := construct( LanesDataTestDialog );
-    dlg.OpenDialog( Application );
-  *]
-  DefinitionID: 'Responsedef_Menu_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestLanesLegsData_OnClick.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestLanesLegsData_OnClick.def
deleted file mode 100644
index 1c7baf7..0000000
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestLanesLegsData_OnClick.def
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: mbMainMenu/MenuTestLanesLegsData
-Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestLanesLegsData_OnClick
-{
-  #keys: '[412960.0.15704079]'
-  Body:
-  [*
-    // Click to start a dialog about lane data test
-    dlg := construct( LanesLegsDataTestDialog );
-    dlg.OpenDialog( Application );
-  *]
-  DefinitionID: 'Responsedef_Menu_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestStockpointData_OnClick.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestStockpointData_OnClick.def
deleted file mode 100644
index 6ff38a8..0000000
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_MacroPlanner_mbMainMenu_MenuTestStockpointData_OnClick.def
+++ /dev/null
@@ -1,13 +0,0 @@
-Quintiq file version 2.0
-#parent: mbMainMenu/MenuTestStockpointData
-Response OnClick () id:Response_MacroPlanner_mbMainMenu_MenuTestStockpointData_OnClick
-{
-  #keys: '[414502.0.18234233]'
-  Body:
-  [*
-    // Click to start a new dialog about stockpoint data test
-    dlg := construct( StockpointDataTestDialog );
-    dlg.OpenDialog( Application );
-  *]
-  DefinitionID: 'Responsedef_Menu_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Component_Toolbar484.def b/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Component_Toolbar484.def
deleted file mode 100644
index fb1103c..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Component_Toolbar484.def
+++ /dev/null
@@ -1,70 +0,0 @@
-Quintiq file version 2.0
-Component Toolbar484
-{
-  #keys: '[414502.0.88134261]'
-  BaseType: 'Toolbar'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 128 id: 486 parent: 0 }
-      GBFlow.Column { grow: 0 id: 661 parent: 0 }
-      GBFlow.Column { grow: 0 id: 550 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => btnOk
-        Position { startcolumn: 661 startrow: 337 endcolumn: 661 endrow: 337 }
-      }
-      GBElement
-      {
-        Component => btnCancel
-        Position { startcolumn: 550 startrow: 337 endcolumn: 550 endrow: 337 }
-      }
-    ]
-    Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 337 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    Component btnOk
-    {
-      #keys: '[414502.0.88134278]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+O'
-        Text: '&OK'
-      ]
-    }
-    Component btnCancel
-    {
-      #keys: '[414502.0.88134286]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+C'
-        Text: '&Cancel'
-      ]
-    }
-  ]
-  Properties:
-  [
-    Border: false
-    Location: 'bottom'
-    Size: 26
-    ModeledStringList ChildOrdering
-    {
-      c: btnOk
-      c: btnCancel
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Method_OpenDialog.def b/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Method_OpenDialog.def
deleted file mode 100644
index 1402dba..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Method_OpenDialog.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method OpenDialog (
-  internal[GUIComponent] parent
-) id:Method_CurrencyDataTestDialog_OpenDialog
-{
-  #keys: '[414502.0.88134527]'
-  Body:
-  [*
-    testResult := MacroPlan.TestDataConnect("TestCurrency");
-    
-    Label413.Text( testResult );
-    
-    
-    this.DoModal( parent );
-  *]
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Response_Toolbar484_btnCancel_OnClick.def b/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Response_Toolbar484_btnCancel_OnClick.def
deleted file mode 100644
index 93b5667..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Response_Toolbar484_btnCancel_OnClick.def
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar484/btnCancel
-Response OnClick () id:Response_Toolbar484_btnCancel_OnClick
-{
-  #keys: '[414502.0.88134293]'
-  Body:
-  [*
-    Dialog.EndModal(-1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Response_Toolbar484_btnOk_OnClick.def b/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Response_Toolbar484_btnOk_OnClick.def
deleted file mode 100644
index 0dd56ce..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/Response_Toolbar484_btnOk_OnClick.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar484/btnOk
-Response OnClick () id:Response_Toolbar484_btnOk_OnClick
-{
-  #keys: '[414502.0.88134285]'
-  Body:
-  [*
-    Dialog.ApplyChanges();
-    Dialog.EndModal(1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/_ROOT_Component_CurrencyDataTestDialog.def b/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/_ROOT_Component_CurrencyDataTestDialog.def
deleted file mode 100644
index b4135a8..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyDataTestDialog/_ROOT_Component_CurrencyDataTestDialog.def
+++ /dev/null
@@ -1,55 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlanner
-OrphanComponent CurrencyDataTestDialog
-{
-  #keys: '[414502.0.88134250]'
-  BaseType: 'Dialog'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 0 id: 947 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => Label413
-        Position { startcolumn: 947 startrow: 363 endcolumn: 947 endrow: 363 }
-      }
-    ]
-    Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 363 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    #child: Toolbar484
-    Component Label413
-    {
-      #keys: '[414502.0.88134400]'
-      BaseType: 'Label'
-      Properties:
-      [
-        Transparent: true
-      ]
-    }
-  ]
-  Properties:
-  [
-    EnterButton: 'btnOk'
-    EscapeButton: 'btnCancel'
-    Height: 108
-    Title: 'Currency Data Test Dialog'
-    Width: 121
-    ModeledStringList ChildOrdering
-    {
-      c: Toolbar484
-      c: Label413
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Component_Toolbar868.def b/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Component_Toolbar868.def
deleted file mode 100644
index 29de3f7..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Component_Toolbar868.def
+++ /dev/null
@@ -1,70 +0,0 @@
-Quintiq file version 2.0
-Component Toolbar868
-{
-  #keys: '[414502.0.88134578]'
-  BaseType: 'Toolbar'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 128 id: 376 parent: 0 }
-      GBFlow.Column { grow: 0 id: 118 parent: 0 }
-      GBFlow.Column { grow: 0 id: 500 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => btnOk
-        Position { startcolumn: 118 startrow: 254 endcolumn: 118 endrow: 254 }
-      }
-      GBElement
-      {
-        Component => btnCancel
-        Position { startcolumn: 500 startrow: 254 endcolumn: 500 endrow: 254 }
-      }
-    ]
-    Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 254 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    Component btnOk
-    {
-      #keys: '[414502.0.88134595]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+O'
-        Text: '&OK'
-      ]
-    }
-    Component btnCancel
-    {
-      #keys: '[414502.0.88134603]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+C'
-        Text: '&Cancel'
-      ]
-    }
-  ]
-  Properties:
-  [
-    Border: false
-    Location: 'bottom'
-    Size: 26
-    ModeledStringList ChildOrdering
-    {
-      c: btnOk
-      c: btnCancel
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Method_OpenDialog.def b/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Method_OpenDialog.def
deleted file mode 100644
index 81ec543..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Method_OpenDialog.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method OpenDialog (
-  internal[GUIComponent] parent
-) id:Method_CurrencyRateDataTestDialog_OpenDialog
-{
-  #keys: '[414502.0.88134671]'
-  Body:
-  [*
-    testResult := MacroPlan.TestDataConnect("TestCurrencyRate");
-    
-    Label492.Text( testResult );
-    
-    
-    this.DoModal( parent );
-  *]
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Response_Toolbar868_btnCancel_OnClick.def b/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Response_Toolbar868_btnCancel_OnClick.def
deleted file mode 100644
index 4a3848a..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Response_Toolbar868_btnCancel_OnClick.def
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar868/btnCancel
-Response OnClick () id:Response_Toolbar868_btnCancel_OnClick
-{
-  #keys: '[414502.0.88134610]'
-  Body:
-  [*
-    Dialog.EndModal(-1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Response_Toolbar868_btnOk_OnClick.def b/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Response_Toolbar868_btnOk_OnClick.def
deleted file mode 100644
index f0dc017..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/Response_Toolbar868_btnOk_OnClick.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar868/btnOk
-Response OnClick () id:Response_Toolbar868_btnOk_OnClick
-{
-  #keys: '[414502.0.88134602]'
-  Body:
-  [*
-    Dialog.ApplyChanges();
-    Dialog.EndModal(1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/_ROOT_Component_CurrencyRateDataTestDialog.def b/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/_ROOT_Component_CurrencyRateDataTestDialog.def
deleted file mode 100644
index 7fefc38..0000000
--- a/_Main/UI/MacroPlanner/Component_CurrencyRateDataTestDialog/_ROOT_Component_CurrencyRateDataTestDialog.def
+++ /dev/null
@@ -1,54 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlanner
-OrphanComponent CurrencyRateDataTestDialog
-{
-  #keys: '[414502.0.88134567]'
-  BaseType: 'Dialog'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 0 id: 116 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => Label492
-        Position { startcolumn: 116 startrow: 920 endcolumn: 116 endrow: 920 }
-      }
-    ]
-    Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 920 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    #child: Toolbar868
-    Component Label492
-    {
-      #keys: '[414502.0.88134655]'
-      BaseType: 'Label'
-      Properties:
-      [
-        Transparent: true
-      ]
-    }
-  ]
-  Properties:
-  [
-    EnterButton: 'btnOk'
-    EscapeButton: 'btnCancel'
-    Title: 'Currency Rate Data Test Dialog'
-    Width: 444
-    ModeledStringList ChildOrdering
-    {
-      c: Toolbar868
-      c: Label492
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Component_Toolbar458.def b/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Component_Toolbar458.def
deleted file mode 100644
index af42334..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Component_Toolbar458.def
+++ /dev/null
@@ -1,70 +0,0 @@
-Quintiq file version 2.0
-Component Toolbar458
-{
-  #keys: '[414502.0.18234842]'
-  BaseType: 'Toolbar'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 128 id: 178 parent: 0 }
-      GBFlow.Column { grow: 0 id: 729 parent: 0 }
-      GBFlow.Column { grow: 0 id: 210 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => btnOk
-        Position { startcolumn: 729 startrow: 251 endcolumn: 729 endrow: 251 }
-      }
-      GBElement
-      {
-        Component => btnCancel
-        Position { startcolumn: 210 startrow: 251 endcolumn: 210 endrow: 251 }
-      }
-    ]
-    Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 251 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    Component btnOk
-    {
-      #keys: '[414502.0.18234859]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+O'
-        Text: '&OK'
-      ]
-    }
-    Component btnCancel
-    {
-      #keys: '[414502.0.18234867]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+C'
-        Text: '&Cancel'
-      ]
-    }
-  ]
-  Properties:
-  [
-    Border: false
-    Location: 'bottom'
-    Size: 26
-    ModeledStringList ChildOrdering
-    {
-      c: btnOk
-      c: btnCancel
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Method_OpenDialog.def b/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Method_OpenDialog.def
deleted file mode 100644
index e2f983a..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Method_OpenDialog.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method OpenDialog (
-  internal[GUIComponent] parent
-) id:Method_LanesDataTestDialog_OpenDialog
-{
-  #keys: '[414502.0.27954178]'
-  Body:
-  [*
-    testResult := MacroPlan.TestDataConnect("TestLanes");
-    
-    Label808.Text( testResult );
-    
-    
-    this.DoModal( parent );
-  *]
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Response_Toolbar458_btnCancel_OnClick.def b/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Response_Toolbar458_btnCancel_OnClick.def
deleted file mode 100644
index 431eab4..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Response_Toolbar458_btnCancel_OnClick.def
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar458/btnCancel
-Response OnClick () id:Response_Toolbar458_btnCancel_OnClick
-{
-  #keys: '[414502.0.18234874]'
-  Body:
-  [*
-    Dialog.EndModal(-1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Response_Toolbar458_btnOk_OnClick.def b/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Response_Toolbar458_btnOk_OnClick.def
deleted file mode 100644
index bb58abf..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/Response_Toolbar458_btnOk_OnClick.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar458/btnOk
-Response OnClick () id:Response_Toolbar458_btnOk_OnClick
-{
-  #keys: '[414502.0.18234866]'
-  Body:
-  [*
-    Dialog.ApplyChanges();
-    Dialog.EndModal(1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/_ROOT_Component_LanesDataTestDialog.def b/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/_ROOT_Component_LanesDataTestDialog.def
deleted file mode 100644
index 8c6fb22..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesDataTestDialog/_ROOT_Component_LanesDataTestDialog.def
+++ /dev/null
@@ -1,55 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlanner
-OrphanComponent LanesDataTestDialog
-{
-  #keys: '[414502.0.18234831]'
-  BaseType: 'Dialog'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 0 id: 785 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => Label808
-        Position { startcolumn: 785 startrow: 325 endcolumn: 785 endrow: 325 }
-      }
-    ]
-    Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 325 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    #child: Toolbar458
-    Component Label808
-    {
-      #keys: '[414502.0.27954099]'
-      BaseType: 'Label'
-      Properties:
-      [
-        Transparent: true
-      ]
-    }
-  ]
-  Properties:
-  [
-    EnterButton: 'btnOk'
-    EscapeButton: 'btnCancel'
-    Height: 108
-    Title: 'Lanes Data Test'
-    Width: 136
-    ModeledStringList ChildOrdering
-    {
-      c: Toolbar458
-      c: Label808
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Component_Toolbar886.def b/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Component_Toolbar886.def
deleted file mode 100644
index c42fef1..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Component_Toolbar886.def
+++ /dev/null
@@ -1,70 +0,0 @@
-Quintiq file version 2.0
-Component Toolbar886
-{
-  #keys: '[412960.0.15704261]'
-  BaseType: 'Toolbar'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 128 id: 851 parent: 0 }
-      GBFlow.Column { grow: 0 id: 755 parent: 0 }
-      GBFlow.Column { grow: 0 id: 969 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => btnOk
-        Position { startcolumn: 755 startrow: 569 endcolumn: 755 endrow: 569 }
-      }
-      GBElement
-      {
-        Component => btnCancel
-        Position { startcolumn: 969 startrow: 569 endcolumn: 969 endrow: 569 }
-      }
-    ]
-    Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 569 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    Component btnOk
-    {
-      #keys: '[412960.0.15704278]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+O'
-        Text: '&OK'
-      ]
-    }
-    Component btnCancel
-    {
-      #keys: '[412960.0.15704286]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+C'
-        Text: '&Cancel'
-      ]
-    }
-  ]
-  Properties:
-  [
-    Border: false
-    Location: 'bottom'
-    Size: 26
-    ModeledStringList ChildOrdering
-    {
-      c: btnOk
-      c: btnCancel
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Method_OpenDialog.def b/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Method_OpenDialog.def
deleted file mode 100644
index 16abb6c..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Method_OpenDialog.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method OpenDialog (
-  internal[GUIComponent] parent
-) id:Method_LanesLegsDataTestDialog_OpenDialog
-{
-  #keys: '[412960.0.15704586]'
-  Body:
-  [*
-    testResult := MacroPlan.TestDataConnect("TestLanesLegs");
-    
-    Label484.Text( testResult );
-    
-    
-    this.DoModal( parent );
-  *]
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Response_Toolbar886_btnCancel_OnClick.def b/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Response_Toolbar886_btnCancel_OnClick.def
deleted file mode 100644
index ba4cc61..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Response_Toolbar886_btnCancel_OnClick.def
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar886/btnCancel
-Response OnClick () id:Response_Toolbar886_btnCancel_OnClick
-{
-  #keys: '[412960.0.15704293]'
-  Body:
-  [*
-    Dialog.EndModal(-1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Response_Toolbar886_btnOk_OnClick.def b/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Response_Toolbar886_btnOk_OnClick.def
deleted file mode 100644
index 0928340..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/Response_Toolbar886_btnOk_OnClick.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar886/btnOk
-Response OnClick () id:Response_Toolbar886_btnOk_OnClick
-{
-  #keys: '[412960.0.15704285]'
-  Body:
-  [*
-    Dialog.ApplyChanges();
-    Dialog.EndModal(1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/_ROOT_Component_LanesLegsDataTestDialog.def b/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/_ROOT_Component_LanesLegsDataTestDialog.def
deleted file mode 100644
index 4b4e5a1..0000000
--- a/_Main/UI/MacroPlanner/Component_LanesLegsDataTestDialog/_ROOT_Component_LanesLegsDataTestDialog.def
+++ /dev/null
@@ -1,54 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlanner
-OrphanComponent LanesLegsDataTestDialog
-{
-  #keys: '[412960.0.15704249]'
-  BaseType: 'Dialog'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 0 id: 739 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => Label484
-        Position { startcolumn: 739 startrow: 321 endcolumn: 739 endrow: 321 }
-      }
-    ]
-    Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 321 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    #child: Toolbar886
-    Component Label484
-    {
-      #keys: '[412960.0.15704489]'
-      BaseType: 'Label'
-      Properties:
-      [
-        Transparent: true
-      ]
-    }
-  ]
-  Properties:
-  [
-    EnterButton: 'btnOk'
-    EscapeButton: 'btnCancel'
-    Title: 'Lanes Legs Data Test'
-    Width: 492
-    ModeledStringList ChildOrdering
-    {
-      c: Toolbar886
-      c: Label484
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Component_Toolbar309.def b/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Component_Toolbar309.def
deleted file mode 100644
index ef7dbeb..0000000
--- a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Component_Toolbar309.def
+++ /dev/null
@@ -1,70 +0,0 @@
-Quintiq file version 2.0
-Component Toolbar309
-{
-  #keys: '[414502.0.18234549]'
-  BaseType: 'Toolbar'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 128 id: 557 parent: 0 }
-      GBFlow.Column { grow: 0 id: 351 parent: 0 }
-      GBFlow.Column { grow: 0 id: 110 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => btnOk
-        Position { startcolumn: 351 startrow: 960 endcolumn: 351 endrow: 960 }
-      }
-      GBElement
-      {
-        Component => btnCancel
-        Position { startcolumn: 110 startrow: 960 endcolumn: 110 endrow: 960 }
-      }
-    ]
-    Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 960 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    Component btnOk
-    {
-      #keys: '[414502.0.18234566]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+O'
-        Text: '&OK'
-      ]
-    }
-    Component btnCancel
-    {
-      #keys: '[414502.0.18234574]'
-      BaseType: 'Button'
-      Properties:
-      [
-        LayoutGroup: 'dlgButtons'
-        Shortcut: 'Alt+C'
-        Text: '&Cancel'
-      ]
-    }
-  ]
-  Properties:
-  [
-    Border: false
-    Location: 'bottom'
-    Size: 26
-    ModeledStringList ChildOrdering
-    {
-      c: btnOk
-      c: btnCancel
-    }
-  ]
-}
diff --git a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Method_OpenDialog.def b/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Method_OpenDialog.def
deleted file mode 100644
index 9019ae7..0000000
--- a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Method_OpenDialog.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method OpenDialog (
-  internal[GUIComponent] parent
-) id:Method_StockpointDataTestDialog_OpenDialog
-{
-  #keys: '[414502.0.18237141]'
-  Body:
-  [*
-    testResult := MacroPlan.TestDataConnect("TestStockpoint");
-    
-    Label310.Text( testResult );
-    
-    
-    this.DoModal( parent );
-  *]
-}
diff --git a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Response_Toolbar309_btnCancel_OnClick.def b/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Response_Toolbar309_btnCancel_OnClick.def
deleted file mode 100644
index e57510c..0000000
--- a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Response_Toolbar309_btnCancel_OnClick.def
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar309/btnCancel
-Response OnClick () id:Response_Toolbar309_btnCancel_OnClick
-{
-  #keys: '[414502.0.18234581]'
-  Body:
-  [*
-    Dialog.EndModal(-1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Response_Toolbar309_btnOk_OnClick.def b/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Response_Toolbar309_btnOk_OnClick.def
deleted file mode 100644
index 2b3730d..0000000
--- a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/Response_Toolbar309_btnOk_OnClick.def
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: Toolbar309/btnOk
-Response OnClick () id:Response_Toolbar309_btnOk_OnClick
-{
-  #keys: '[414502.0.18234573]'
-  Body:
-  [*
-    Dialog.ApplyChanges();
-    Dialog.EndModal(1);
-  *]
-  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
-}
diff --git a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/_ROOT_Component_StockpointDataTestDialog.def b/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/_ROOT_Component_StockpointDataTestDialog.def
deleted file mode 100644
index 0aadd85..0000000
--- a/_Main/UI/MacroPlanner/Component_StockpointDataTestDialog/_ROOT_Component_StockpointDataTestDialog.def
+++ /dev/null
@@ -1,55 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlanner
-OrphanComponent StockpointDataTestDialog
-{
-  #keys: '[414502.0.18234537]'
-  BaseType: 'Dialog'
-  GBLayout
-  {
-    Type: 'internal[GBLayoutDefinition]'
-    Columns:
-    [
-      GBFlow.Column { grow: 0 id: 423 parent: 0 }
-    ]
-    Elements:
-    [
-      GBElement
-      {
-        Component => Label310
-        Position { startcolumn: 423 startrow: 569 endcolumn: 423 endrow: 569 }
-      }
-    ]
-    Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ]
-    Rows:
-    [
-      GBFlow.Row { grow: 0 id: 569 parent: 0 }
-    ]
-  }
-  Children:
-  [
-    #child: Toolbar309
-    Component Label310
-    {
-      #keys: '[414502.0.18237441]'
-      BaseType: 'Label'
-      Properties:
-      [
-        Transparent: true
-      ]
-    }
-  ]
-  Properties:
-  [
-    EnterButton: 'btnOk'
-    EscapeButton: 'btnCancel'
-    Height: 108
-    Title: 'Stockpoint Data Test'
-    Width: 121
-    ModeledStringList ChildOrdering
-    {
-      c: Label310
-      c: Toolbar309
-    }
-  ]
-}
diff --git a/_var/_Main/Data/.keep b/_var/_Main/Data/.keep
deleted file mode 100644
index e69de29..0000000
--- a/_var/_Main/Data/.keep
+++ /dev/null
diff --git a/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Change_1086.kbc b/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Change_1086.kbc
deleted file mode 100644
index 775e999..0000000
--- a/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Change_1086.kbc
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<KBSChange:KBSChange  
-  xmlns:KBSChange="KBSChange"
-  xmlns:KBRevisionElementID="KBRevisionElementID"
-  xmlns:KBElementID="KBElementID">
-  <KBSChange:ChangeNr>1086</KBSChange:ChangeNr>
-  <KBSChange:User>quintiq/yypsybs</KBSChange:User>
-  <KBSChange:Description>123</KBSChange:Description>
-  <KBSChange:Category></KBSChange:Category>
-  <KBSChange:CreationTime>2023-08-24T14:48:03</KBSChange:CreationTime>
-  <KBSChange:Elements>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>45</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>AccountTypes</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>1</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>BusinessTypes</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>47</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>CostDriverRules</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>17</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>DemoScenario</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>57</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>NonFinancialKPI</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>31</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>SanityCheckCategories</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>23</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>ScenarioStatus</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>60</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>SolverSettings</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-    <KBRevisionElementID:KBRevisionElementID>
-      <KBRevisionElementID:Revision>532</KBRevisionElementID:Revision>
-      <KBElementID:KBElementID>
-        <KBElementID:Kind>Table</KBElementID:Kind>
-        <KBElementID:Name>TestInstances</KBElementID:Name>
-      </KBElementID:KBElementID>
-    </KBRevisionElementID:KBRevisionElementID>
-  </KBSChange:Elements>
-</KBSChange:KBSChange>
diff --git a/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Table_BusinessTypes_1.elm b/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Table_BusinessTypes_1.elm
deleted file mode 100644
index 4ec4fb5..0000000
--- a/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Table_BusinessTypes_1.elm
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<KBSElementRevision:KBSElementRevision  
-  xmlns:KBSElementRevision="KBSElementRevision"
-  xmlns:KBElementID="KBElementID">
-  <KBSElementRevision:Revision>1</KBSElementRevision:Revision>
-  <KBElementID:KBElementID>
-    <KBElementID:Kind>Table</KBElementID:Kind>
-    <KBElementID:Name>BusinessTypes</KBElementID:Name>
-  </KBElementID:KBElementID>
-</KBSElementRevision:KBSElementRevision>
diff --git a/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Table_BusinessTypes_1.xml b/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Table_BusinessTypes_1.xml
deleted file mode 100644
index cd052a9..0000000
--- a/_var/_Main/KBs/MacroPlanner/ScenarioManager/KB/1.0.0.0/Table_BusinessTypes_1.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<table>
-  <name>BusinessTypes</name>
-  <column>
-    <name>BusinessType</name>
-    <label>BusinessType</label>
-    <type>String</type>
-    <cell value="aaa"/>
-    <cell value="bbb"/>
-  </column>
-</table>

--
Gitblit v1.9.3