From af73f90f5dbcd379e1be72144f281ca26958b41f Mon Sep 17 00:00:00 2001
From: hongji.li <hongji.a.li@capgemini.com>
Date: 星期三, 25 十月 2023 09:52:50 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lhj

---
 _Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl                     |    4 
 _Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl                      |    1 
 _Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl                      |    1 
 _Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl             |    3 
 _Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl                |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl              |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl                    |    1 
 _Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl                    |    1 
 _Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl                        |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl                        |    1 
 _Main/BL/Type_MacroPlan/Method_MappingProductData.qbl                            |    4 
 _Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl                    |    1 
 _Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl                        |    1 
 _Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl                            |    1 
 _Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl                       |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl                      |    1 
 _Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl |   77 +++++++++++++++++++
 _Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl                     |    1 
 _Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl                 |    1 
 _Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl                   |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl             |    1 
 _Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl                       |    1 
 _Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl                   |    1 
 _Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl                         |    1 
 _Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl                     |    1 
 _Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl                          |    1 
 _Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl              |    1 
 _Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl                    |    1 
 _Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl                     |    1 
 _Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl            |    1 
 _Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl                                  |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl               |    1 
 _Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl                      |    1 
 _Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl           |    1 
 _Main/BL/Type_PriorityFactor/Attribute_Desc.qbl                                  |    1 
 _Main/BL/Type_PriorityResult/Attribute_Customer.qbl                              |    1 
 _Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl                       |    1 
 _Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl                          |    1 
 _Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl                       |    1 
 _Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl                               |    1 
 _Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl         |    1 
 _Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl  |    3 
 _Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl                        |    1 
 _Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl     |    1 
 _Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl                        |    6 
 _Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl                           |   17 ++--
 _Main/BL/Type_PriorityFactor/Attribute_Name.qbl                                  |    1 
 _Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl                       |    1 
 _Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl                        |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl                |    1 
 _Main/BL/Type_PriorityPolicy/Attribute_Name.qbl                                  |    1 
 _Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl              |    1 
 /dev/null                                                                        |    6 -
 _Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl               |    1 
 _Main/BL/Type_PriorityResult/Attribute_ProductID.qbl                             |    1 
 _Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl                    |   19 ++++
 _Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl                     |    3 
 _Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl              |    1 
 _Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl                |   11 ++
 _Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl                        |    1 
 _Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl                          |    1 
 _Main/BL/Type_PriorityResult/Attribute_Quantity.qbl                              |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl       |    1 
 _Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl                           |    1 
 _Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl                            |    1 
 _Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl                    |    1 
 _Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl                       |    1 
 _Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl                 |    1 
 _Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl                  |    1 
 69 files changed, 182 insertions(+), 29 deletions(-)

diff --git a/_Main/BL/EDI/Broker_Broker_OTD_ActualPISPIP.qbl b/_Main/BL/EDI/Broker_Broker_OTD_ActualPISPIP.qbl
deleted file mode 100644
index bc7c6a3..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_ActualPISPIP.qbl
+++ /dev/null
@@ -1,153 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_ActualPISPIP
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_ActualPISPIP
-  {
-    EDIMLTable MappingActualPISPIP
-    {
-      PrimaryKeyColumns: Date
-      PrimaryKeyColumns: ProductID
-      PrimaryKeyColumns: StockingPointID
-      TargetType: MappingActualPISPIP
-      TypeIndex: MappingActualPISPIPTypeIndex
-      EDIMLColumn ActualInventoryLevelEnd { Attribute: ActualInventoryLevelEnd ValueType: Real }
-      EDIMLColumn Date { Attribute: Date ValueType: Date }
-      EDIMLColumn Description { Attribute: Description ValueType: String }
-      EDIMLColumn IsAvailable { Attribute: IsAvailable ValueType: Boolean }
-      EDIMLColumn ManufacturedDate { Attribute: ManufacturedDate ValueType: Date }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-      EDIMLColumn StockType { Attribute: StockType ValueType: String }
-      EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_ActualPISPIP
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_ACTUALPISPIP
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="TIANMA"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn ACTUALLINVENTORYLEVELEND
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn DATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn DESCRIPTION
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ISAVAILABLE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn MANUFACTUREDDATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn STOCKINGPOINTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn STOCKTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationActualPISPIP
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_ACTUALPISPIP
-      OutputTable: MappingActualPISPIP
-      EDIColumnMatch
-      {
-        InputColumn: ACTUALLINVENTORYLEVELEND
-        OutputColumn: ActualInventoryLevelEnd
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <StringToReal xmlns="http://www.quintiq.com/GEB/StringToReal" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-              <NumericFormatString>Standard</NumericFormatString>
-              <LocaleString>Chinese (China)</LocaleString>
-              <CurrencyString></CurrencyString>
-              <CustomFormatString></CustomFormatString>
-            </StringToReal>
-          *]
-        }
-      }
-      EDIColumnMatch
-      {
-        InputColumn: DATE
-        OutputColumn: Date
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: DESCRIPTION OutputColumn: Description }
-      EDIColumnMatch { InputColumn: ISAVAILABLE OutputColumn: IsAvailable }
-      EDIColumnMatch
-      {
-        InputColumn: MANUFACTUREDDATE
-        OutputColumn: ManufacturedDate
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-      EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
-      EDIColumnMatch { InputColumn: STOCKTYPE OutputColumn: StockType }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_BOM.qbl b/_Main/BL/EDI/Broker_Broker_OTD_BOM.qbl
deleted file mode 100644
index 965dd1b..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_BOM.qbl
+++ /dev/null
@@ -1,206 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_BOM
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_MappingBOM
-  {
-    EDIMLTable MappingBOM
-    {
-      PrimaryKeyColumns: AlternativeMaterialCode
-      PrimaryKeyColumns: BusinessType
-      PrimaryKeyColumns: ComponentCode
-      PrimaryKeyColumns: OrganCode
-      PrimaryKeyColumns: ProcessSection
-      PrimaryKeyColumns: ProductCode
-      TargetType: MappingBOM
-      TypeIndex: BOMTypeIndex
-      EDIMLColumn AlternativeMaterialCode { Attribute: AlternativeMaterialCode ValueType: String }
-      EDIMLColumn AlternativeMaterialType { Attribute: AlternativeMaterialType ValueType: String }
-      EDIMLColumn AlternativeMaterialUnit { Attribute: AlternativeMaterialUnit ValueType: String }
-      EDIMLColumn AlternativeRate { Attribute: AlternativeRate ValueType: Real }
-      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
-      EDIMLColumn ComponentCode { Attribute: ComponentCode ValueType: String }
-      EDIMLColumn ComponentDescription { Attribute: ComponentDescription ValueType: String }
-      EDIMLColumn ComponentOutputRate { Attribute: ComponentOutputRate ValueType: Real }
-      EDIMLColumn ComponentType { Attribute: ComponentType ValueType: String }
-      EDIMLColumn ComponentUnit { Attribute: ComponentUnit ValueType: String }
-      EDIMLColumn ComponentUnitDescription { Attribute: ComponentUnitDescription ValueType: String }
-      EDIMLColumn DescriptionOfAlternativeMaterial { Attribute: DescriptionOfAlternativeMaterial ValueType: String }
-      EDIMLColumn DescriptionOfAlternativeMaterialUnits { Attribute: DescriptionOfAlternativeMaterialUnits ValueType: String }
-      EDIMLColumn MaterialSystem { Attribute: MaterialSystem ValueType: String }
-      EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
-      EDIMLColumn ProcessSection { Attribute: ProcessSection ValueType: String }
-      EDIMLColumn ProductCode { Attribute: ProductCode ValueType: String }
-      EDIMLColumn ProductDescribe { Attribute: ProductDescribe ValueType: String }
-      EDIMLColumn ProductType { Attribute: ProductType ValueType: String }
-      EDIMLColumn ProductUnitDescription { Attribute: ProductUnitDescription ValueType: String }
-      EDIMLColumn SubstitutionRelationship { Attribute: SubstitutionRelationship ValueType: String }
-      EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
-      EDIMLColumn UnitUsageOfComponents { Attribute: UnitUsageOfComponents ValueType: Real }
-    }
-  }
-  EDIODBCLink.Source MID_BOM
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_BOM
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="TIANMA"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn ALTERNATIVEMATERIALCODE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ALTERNATIVEMATERIALTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ALTERNATIVEMATERIALUNIT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ALTERNATIVERATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn BUSINESSTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COMPONENTCODE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COMPONENTDESCRIPTION
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COMPONENTOUTPUTRATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn COMPONENTTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COMPONENTUNIT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COMPONENTUNITDESCRIPTION
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn DESCRIPTIONOFALTERNATIVEMATERIAL
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn DESCRIPTIONOFALTERNATIVEMATERIALUNIT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn MATERIALSYSTEM
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORGANCODE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PROCESSSECTION
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTCODE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTDESCRIBE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTUNITDESCRIPTION
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn SUBSTITUTIONRELATIONSHIP
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn UNITOFMEASURENAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn UNITUSAGEOFCOMPENENT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationBOM
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_BOM
-      OutputTable: MappingBOM
-      EDIColumnMatch { InputColumn: ALTERNATIVEMATERIALCODE OutputColumn: AlternativeMaterialCode }
-      EDIColumnMatch { InputColumn: ALTERNATIVEMATERIALTYPE OutputColumn: AlternativeMaterialType }
-      EDIColumnMatch { InputColumn: ALTERNATIVEMATERIALUNIT OutputColumn: AlternativeMaterialUnit }
-      EDIColumnMatch { InputColumn: ALTERNATIVERATE OutputColumn: AlternativeRate }
-      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
-      EDIColumnMatch { InputColumn: COMPONENTCODE OutputColumn: ComponentCode }
-      EDIColumnMatch { InputColumn: COMPONENTDESCRIPTION OutputColumn: ComponentDescription }
-      EDIColumnMatch { InputColumn: COMPONENTOUTPUTRATE OutputColumn: ComponentOutputRate }
-      EDIColumnMatch { InputColumn: COMPONENTTYPE OutputColumn: ComponentType }
-      EDIColumnMatch { InputColumn: COMPONENTUNIT OutputColumn: ComponentUnit }
-      EDIColumnMatch { InputColumn: COMPONENTUNITDESCRIPTION OutputColumn: ComponentUnitDescription }
-      EDIColumnMatch { InputColumn: DESCRIPTIONOFALTERNATIVEMATERIAL OutputColumn: DescriptionOfAlternativeMaterial }
-      EDIColumnMatch { InputColumn: DESCRIPTIONOFALTERNATIVEMATERIALUNIT OutputColumn: DescriptionOfAlternativeMaterialUnits }
-      EDIColumnMatch { InputColumn: MATERIALSYSTEM OutputColumn: MaterialSystem }
-      EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
-      EDIColumnMatch { InputColumn: PROCESSSECTION OutputColumn: ProcessSection }
-      EDIColumnMatch { InputColumn: PRODUCTCODE OutputColumn: ProductCode }
-      EDIColumnMatch { InputColumn: PRODUCTDESCRIBE OutputColumn: ProductDescribe }
-      EDIColumnMatch { InputColumn: PRODUCTTYPE OutputColumn: ProductType }
-      EDIColumnMatch { InputColumn: PRODUCTUNITDESCRIPTION OutputColumn: ProductUnitDescription }
-      EDIColumnMatch { InputColumn: SUBSTITUTIONRELATIONSHIP OutputColumn: SubstitutionRelationship }
-      EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
-      EDIColumnMatch { InputColumn: UNITUSAGEOFCOMPENENT OutputColumn: UnitUsageOfComponents }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_BaseConversionFactor.qbl b/_Main/BL/EDI/Broker_Broker_OTD_BaseConversionFactor.qbl
deleted file mode 100644
index 4bca9ec..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_BaseConversionFactor.qbl
+++ /dev/null
@@ -1,78 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_BaseConversionFactor
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_BaseConversionFactor
-  {
-    EDIMLTable MappingBaseConversionFactor
-    {
-      PrimaryKeyColumns: IsEnabled
-      PrimaryKeyColumns: ProductId
-      PrimaryKeyColumns: SourceUnitOfMeasureName
-      PrimaryKeyColumns: TargetUnitOfMeasureName
-      TargetType: MappingBaseConversionFactor
-      TypeIndex: MappingBaseConversionFactorTypeIndex
-      EDIMLColumn Factor { Attribute: Factor ValueType: Real }
-      EDIMLColumn IsEnabled { Attribute: IsEnabled ValueType: Boolean }
-      EDIMLColumn ProductId { Attribute: ProductId ValueType: String }
-      EDIMLColumn SourceUnitOfMeasureName { Attribute: SourceUnitOfMeasureName ValueType: String }
-      EDIMLColumn TargetUnitOfMeasureName { Attribute: TargetUnitOfMeasureName ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_BaseConversionFactor
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_BASECONVERSIONFACTORS
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="YUXTEST"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn FACTOR
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn ISENABLED
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn SOURCEUNITOFMEASURENAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn TARGETUNITOFMEASURENAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationBaseConversionFactor
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_BASECONVERSIONFACTORS
-      OutputTable: MappingBaseConversionFactor
-      EDIColumnMatch { InputColumn: FACTOR OutputColumn: Factor }
-      EDIColumnMatch { InputColumn: ISENABLED OutputColumn: IsEnabled }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductId }
-      EDIColumnMatch { InputColumn: SOURCEUNITOFMEASURENAME OutputColumn: SourceUnitOfMeasureName }
-      EDIColumnMatch { InputColumn: TARGETUNITOFMEASURENAME OutputColumn: TargetUnitOfMeasureName }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_CustomerOrder.qbl b/_Main/BL/EDI/Broker_Broker_OTD_CustomerOrder.qbl
deleted file mode 100644
index 362c208..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_CustomerOrder.qbl
+++ /dev/null
@@ -1,176 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_CustomerOrder
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_CustomerOrder
-  {
-    EDIMLTable MappingCustomerOrder
-    {
-      PrimaryKeyColumns: ID
-      TargetType: MappingCustomerOrder
-      TypeIndex: MappingCustomerOrderTypeIndex
-      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
-      EDIMLColumn CurrencyID { Attribute: CurrencyID ValueType: String }
-      EDIMLColumn Customer { Attribute: Customer ValueType: String }
-      EDIMLColumn CustomerID { Attribute: CustomerID ValueType: String }
-      EDIMLColumn ID { Attribute: ID ValueType: String }
-      EDIMLColumn IsAvailable { Attribute: IsAvailable ValueType: Boolean }
-      EDIMLColumn OrderDate { Attribute: OrderDate ValueType: Date }
-      EDIMLColumn OrderID { Attribute: OrderID ValueType: String }
-      EDIMLColumn OrderLineID { Attribute: OrderLineID ValueType: String }
-      EDIMLColumn OrderType { Attribute: OrderType ValueType: String }
-      EDIMLColumn Price { Attribute: Price ValueType: Real }
-      EDIMLColumn PriorityName { Attribute: PriorityName ValueType: String }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-      EDIMLColumn Quantity { Attribute: Quantity ValueType: Real }
-      EDIMLColumn SalesSegmentName { Attribute: SalesSegmentName ValueType: String }
-      EDIMLColumn StockPointID { Attribute: StockPointID ValueType: String }
-      EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_CUSTOMERORDER
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_CUSTOMERORDER
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="TIANMA"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn BUSINESSTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn CURRENCYID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn CUSTOMER
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn CUSTOMERID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ISAVAILABLE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORDERDATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn ORDERID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORDERLINEID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORDERTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRICE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn PRIORITYNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn QUANTITY
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn SALESEGMENTNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn STOCKINGPOINTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn UNITOFMEASURENAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationCustomerOrder
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_CUSTOMERORDER
-      OutputTable: MappingCustomerOrder
-      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
-      EDIColumnMatch { InputColumn: CURRENCYID OutputColumn: CurrencyID }
-      EDIColumnMatch { InputColumn: CUSTOMER OutputColumn: Customer }
-      EDIColumnMatch { InputColumn: CUSTOMERID OutputColumn: CustomerID }
-      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
-      EDIColumnMatch { InputColumn: ISAVAILABLE OutputColumn: IsAvailable }
-      EDIColumnMatch
-      {
-        InputColumn: ORDERDATE
-        OutputColumn: OrderDate
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: ORDERID OutputColumn: OrderID }
-      EDIColumnMatch { InputColumn: ORDERLINEID OutputColumn: OrderLineID }
-      EDIColumnMatch { InputColumn: ORDERTYPE OutputColumn: OrderType }
-      EDIColumnMatch { InputColumn: PRICE OutputColumn: Price }
-      EDIColumnMatch { InputColumn: PRIORITYNAME OutputColumn: PriorityName }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-      EDIColumnMatch { InputColumn: QUANTITY OutputColumn: Quantity }
-      EDIColumnMatch { InputColumn: SALESEGMENTNAME OutputColumn: SalesSegmentName }
-      EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockPointID }
-      EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_ExternalSupply.qbl b/_Main/BL/EDI/Broker_Broker_OTD_ExternalSupply.qbl
deleted file mode 100644
index 90a3bea..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_ExternalSupply.qbl
+++ /dev/null
@@ -1,152 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_ExternalSupply
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_ExternalSupply
-  {
-    EDIMLTable MappingExternalSupply
-    {
-      PrimaryKeyColumns: ID
-      TargetType: MappingExternalSupply
-      TypeIndex: MappingExternalSupplyTypeIndex
-      EDIMLColumn Date { Attribute: Date ValueType: Date }
-      EDIMLColumn Description { Attribute: Description ValueType: String }
-      EDIMLColumn ID { Attribute: ID ValueType: String }
-      EDIMLColumn ManufacturedDate { Attribute: ManufacturedDate ValueType: Date }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-      EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
-      EDIMLColumn SupplyType { Attribute: SupplyType ValueType: String }
-      EDIMLColumn UserQuantity { Attribute: UserQuantity ValueType: Real }
-    }
-  }
-  EDIODBCLink.Source MID_ExternalSupply
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_EXTERNALSUPPLY
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="TIANMA"'
-      PrimaryKeyColumns: ID
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn DATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn DESCRIPTION
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn MANUFACTUREDDATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn STOCKINGPOINTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn SUPPLYTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn USERQUANTITY
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationExternalSupply
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_EXTERNALSUPPLY
-      OutputTable: MappingExternalSupply
-      EDIColumnMatch
-      {
-        InputColumn: DATE
-        OutputColumn: Date
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: DESCRIPTION OutputColumn: Description }
-      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
-      EDIColumnMatch
-      {
-        InputColumn: MANUFACTUREDDATE
-        OutputColumn: ManufacturedDate
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-      EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
-      EDIColumnMatch { InputColumn: SUPPLYTYPE OutputColumn: SupplyType }
-      EDIColumnMatch
-      {
-        InputColumn: USERQUANTITY
-        OutputColumn: UserQuantity
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <StringToReal xmlns="http://www.quintiq.com/GEB/StringToReal" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-              <NumericFormatString>Standard</NumericFormatString>
-              <LocaleString>Chinese (China)</LocaleString>
-              <CurrencyString></CurrencyString>
-              <CustomFormatString></CustomFormatString>
-            </StringToReal>
-          *]
-        }
-      }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Forecast.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Forecast.qbl
deleted file mode 100644
index 6b4a67f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Forecast.qbl
+++ /dev/null
@@ -1,158 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Forecast
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_Forecast
-  {
-    EDIMLTable MappingForecast
-    {
-      PrimaryKeyColumns: ID
-      TargetType: MappingForecast
-      TypeIndex: MappingForecastTypeIndex
-      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
-      EDIMLColumn CurrencyID { Attribute: CurrencyID ValueType: String }
-      EDIMLColumn EndDate { Attribute: EndDate ValueType: Date }
-      EDIMLColumn ID { Attribute: ID ValueType: String }
-      EDIMLColumn Price { Attribute: Price ValueType: Real }
-      EDIMLColumn PriorityName { Attribute: PriorityName ValueType: String }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-      EDIMLColumn Quantity { Attribute: Quantity ValueType: Real }
-      EDIMLColumn SalesSegmentName { Attribute: SalesSegmentName ValueType: String }
-      EDIMLColumn StartDate { Attribute: StartDate ValueType: Date }
-      EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
-      EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_FORECAST
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_FORECAST
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="YUXTEST"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn BUSINESSTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn CURRENCYID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ENDDATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn ID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRICE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn PRIORITYNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn QUANTITY
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn SALESEGMENTNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn STARTDATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn STOCKINGPOINTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn UNITOFMEASURENAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationForecast
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_FORECAST
-      OutputTable: MappingForecast
-      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
-      EDIColumnMatch { InputColumn: CURRENCYID OutputColumn: CurrencyID }
-      EDIColumnMatch
-      {
-        InputColumn: ENDDATE
-        OutputColumn: EndDate
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
-      EDIColumnMatch { InputColumn: PRICE OutputColumn: Price }
-      EDIColumnMatch { InputColumn: PRIORITYNAME OutputColumn: PriorityName }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-      EDIColumnMatch { InputColumn: QUANTITY OutputColumn: Quantity }
-      EDIColumnMatch { InputColumn: SALESEGMENTNAME OutputColumn: SalesSegmentName }
-      EDIColumnMatch
-      {
-        InputColumn: STARTDATE
-        OutputColumn: StartDate
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
-      EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_InventoryCost.qbl b/_Main/BL/EDI/Broker_Broker_OTD_InventoryCost.qbl
deleted file mode 100644
index b332e9d..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_InventoryCost.qbl
+++ /dev/null
@@ -1,106 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_InventoryCost
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_InventoryCost
-  {
-    EDIMLTable MappingInventoryValueAndCost
-    {
-      PrimaryKeyColumns: ID
-      TargetType: MappingInventoryValueAndCost
-      TypeIndex: MappingInventoryCostTypeIndex
-      EDIMLColumn AccountName { Attribute: AccountName ValueType: String }
-      EDIMLColumn Cost { Attribute: Cost ValueType: Real }
-      EDIMLColumn CostDriver { Attribute: CostDriver ValueType: String }
-      EDIMLColumn ID { Attribute: ID ValueType: String }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-      EDIMLColumn Start { Attribute: Start ValueType: Date }
-      EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_INVENTORYCOST
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_INVENTORYCOST
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="YUXTEST"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn ACCOUNTNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COST
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn COSTDRIVER
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn START
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn STOCKINGPOINTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationInventoryCost
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_INVENTORYCOST
-      OutputTable: MappingInventoryValueAndCost
-      EDIColumnMatch { InputColumn: ACCOUNTNAME OutputColumn: AccountName }
-      EDIColumnMatch { InputColumn: COST OutputColumn: Cost }
-      EDIColumnMatch { InputColumn: COSTDRIVER OutputColumn: CostDriver }
-      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-      EDIColumnMatch
-      {
-        InputColumn: START
-        OutputColumn: Start
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Operation.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Operation.qbl
deleted file mode 100644
index e269f2f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Operation.qbl
+++ /dev/null
@@ -1,200 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Operation
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_Operation
-  {
-    EDIMLTable MappingOperation
-    {
-      PrimaryKeyColumns: BusinessType
-      PrimaryKeyColumns: Line
-      PrimaryKeyColumns: OrganCode
-      PrimaryKeyColumns: PlantName
-      PrimaryKeyColumns: ProcessSection
-      PrimaryKeyColumns: ProductID
-      PrimaryKeyColumns: SequenceNumber
-      TargetType: MappingOperation
-      TypeIndex: MappingOperationTypeIndex
-      EDIMLColumn ActualCapacity { Attribute: ActualCapacity ValueType: Real }
-      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
-      EDIMLColumn Line { Attribute: Line ValueType: String }
-      EDIMLColumn MaximumQuantity { Attribute: MaximumQuantity ValueType: Number }
-      EDIMLColumn MinimumQuantity { Attribute: MinimumQuantity ValueType: Number }
-      EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
-      EDIMLColumn OrganName { Attribute: OrganName ValueType: String }
-      EDIMLColumn PlantName { Attribute: PlantName ValueType: String }
-      EDIMLColumn ProcessSection { Attribute: ProcessSection ValueType: String }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-      EDIMLColumn SequenceNumber { Attribute: SequenceNumber ValueType: Number }
-      EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
-      EDIMLColumn UserLeadTime { Attribute: UserLeadTime ValueType: Real }
-    }
-  }
-  EDIODBCLink.Source MID_OPERATION
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_OPERATION
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="TIANMA"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn ACTUALCAPACITY
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn BUSINESSTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn LINE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn MAXIMUMQUANTITY
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn MINIMUMQUANTITY
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORGANCODE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORGANNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PLANTNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PROCESSSECTION
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn SEQUENCENUMBER
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn UNITOFMEASURENAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn USERLEADTIME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationOperation
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_OPERATION
-      OutputTable: MappingOperation
-      EDIColumnMatch { InputColumn: ACTUALCAPACITY OutputColumn: ActualCapacity }
-      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
-      EDIColumnMatch { InputColumn: LINE OutputColumn: Line }
-      EDIColumnMatch
-      {
-        InputColumn: MAXIMUMQUANTITY
-        OutputColumn: MaximumQuantity
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-              <NumericFormatString>Standard</NumericFormatString>
-              <LocaleString>Chinese (China)</LocaleString>
-              <CurrencyString></CurrencyString>
-              <CustomFormatString></CustomFormatString>
-            </StringToNumber>
-          *]
-        }
-      }
-      EDIColumnMatch
-      {
-        InputColumn: MINIMUMQUANTITY
-        OutputColumn: MinimumQuantity
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-              <NumericFormatString>Standard</NumericFormatString>
-              <LocaleString>Chinese (China)</LocaleString>
-              <CurrencyString></CurrencyString>
-              <CustomFormatString></CustomFormatString>
-            </StringToNumber>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
-      EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
-      EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
-      EDIColumnMatch { InputColumn: PROCESSSECTION OutputColumn: ProcessSection }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-      EDIColumnMatch
-      {
-        InputColumn: SEQUENCENUMBER
-        OutputColumn: SequenceNumber
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-              <NumericFormatString>Standard</NumericFormatString>
-              <LocaleString>Chinese (China)</LocaleString>
-              <CurrencyString></CurrencyString>
-              <CustomFormatString></CustomFormatString>
-            </StringToNumber>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
-      EDIColumnMatch { InputColumn: USERLEADTIME OutputColumn: UserLeadTime }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_OperationCost.qbl b/_Main/BL/EDI/Broker_Broker_OTD_OperationCost.qbl
deleted file mode 100644
index e60201f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_OperationCost.qbl
+++ /dev/null
@@ -1,141 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_OperationCost
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_MappingOperationCost
-  {
-    EDIMLTable MappingOperationCost
-    {
-      PrimaryKeyColumns: ID
-      TargetType: MappingOperationCost
-      TypeIndex: MappingOperationCostTypeIndex
-      EDIMLColumn AccountName { Attribute: AccountName ValueType: String }
-      EDIMLColumn Cost { Attribute: Cost ValueType: Real }
-      EDIMLColumn CostDriver { Attribute: CostDriver ValueType: String }
-      EDIMLColumn ID { Attribute: ID ValueType: String }
-      EDIMLColumn LengthOfTime { Attribute: LengthOfTime ValueType: Number }
-      EDIMLColumn OrgCode { Attribute: OrgCode ValueType: String }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-      EDIMLColumn Start { Attribute: Start ValueType: Date }
-      EDIMLColumn TimeUnit { Attribute: TimeUnit ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_OPERATIONCOST
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_OPERATIONCOST
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="TIANMA"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn ACCOUNTNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COST
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn COSTDRIVER
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn LENGTHOFTIME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORGCODE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn START
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn TIMEUNIT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationOperationCost
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_OPERATIONCOST
-      OutputTable: MappingOperationCost
-      EDIColumnMatch { InputColumn: ACCOUNTNAME OutputColumn: AccountName }
-      EDIColumnMatch { InputColumn: COST OutputColumn: Cost }
-      EDIColumnMatch { InputColumn: COSTDRIVER OutputColumn: CostDriver }
-      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
-      EDIColumnMatch
-      {
-        InputColumn: LENGTHOFTIME
-        OutputColumn: LengthOfTime
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-              <NumericFormatString>Standard</NumericFormatString>
-              <LocaleString>Chinese (China)</LocaleString>
-              <CurrencyString></CurrencyString>
-              <CustomFormatString></CustomFormatString>
-            </StringToNumber>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: ORGCODE OutputColumn: OrgCode }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-      EDIColumnMatch
-      {
-        InputColumn: START
-        OutputColumn: Start
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: TIMEUNIT OutputColumn: TimeUnit }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl
deleted file mode 100644
index 7bcabef..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl
+++ /dev/null
@@ -1,144 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Product
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_MappingProduct
-  {
-    EDIMLTable MappingProduct
-    {
-      PrimaryKeyColumns: BusinessType
-      PrimaryKeyColumns: ID
-      TargetType: MappingProduct
-      TypeIndex: MappingProductTypeIndex
-      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
-      EDIMLColumn CommonBusiness { Attribute: CommonBusiness ValueType: String }
-      EDIMLColumn EndDate { Attribute: EndDate ValueType: Date }
-      EDIMLColumn ID { Attribute: ID ValueType: String }
-      EDIMLColumn IsCommon { Attribute: IsCommon ValueType: Boolean }
-      EDIMLColumn KeyProduct { Attribute: KeyProduct ValueType: Boolean }
-      EDIMLColumn Name { Attribute: Name ValueType: String }
-      EDIMLColumn Notes { Attribute: Notes ValueType: String }
-      EDIMLColumn ProductMajorType { Attribute: ProductMajorType ValueType: String }
-      EDIMLColumn ProductSubclassType { Attribute: ProductSubclassType ValueType: String }
-      EDIMLColumn ShelfLife { Attribute: ShelfLife ValueType: Real }
-      EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_PRODUCT
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_PRODUCT
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="TIANMA"'
-      PrimaryKeyColumns: BUSINESSTYPE
-      PrimaryKeyColumns: ID
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn BUSINESSTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn COMMONBUSINESS
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ENDDATE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: DateTime
-      }
-      EDIODBCLinkColumn ID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ISCOMMON
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn KEYPRODUCT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn NAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn NOTE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTMAJORTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTSUBCLASSTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn SHELFLIFE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: Real
-      }
-      EDIODBCLinkColumn UNITOFMEAURENAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationProduct
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_PRODUCT
-      OutputTable: MappingProduct
-      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
-      EDIColumnMatch { InputColumn: COMMONBUSINESS OutputColumn: CommonBusiness }
-      EDIColumnMatch
-      {
-        InputColumn: ENDDATE
-        OutputColumn: EndDate
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-            </DateTimeToDate>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
-      EDIColumnMatch { InputColumn: ISCOMMON OutputColumn: IsCommon }
-      EDIColumnMatch { InputColumn: KEYPRODUCT OutputColumn: KeyProduct }
-      EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
-      EDIColumnMatch { InputColumn: NOTE OutputColumn: Notes }
-      EDIColumnMatch { InputColumn: PRODUCTMAJORTYPE OutputColumn: ProductMajorType }
-      EDIColumnMatch { InputColumn: PRODUCTSUBCLASSTYPE OutputColumn: ProductSubclassType }
-      EDIColumnMatch { InputColumn: SHELFLIFE OutputColumn: ShelfLife }
-      EDIColumnMatch { InputColumn: UNITOFMEAURENAME OutputColumn: UnitOfMeasureName }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_ProductInLane.qbl b/_Main/BL/EDI/Broker_Broker_OTD_ProductInLane.qbl
deleted file mode 100644
index b523027..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_ProductInLane.qbl
+++ /dev/null
@@ -1,57 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_ProductInLane
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_MappingProductInLane
-  {
-    EDIMLTable MappingProductInLane
-    {
-      PrimaryKeyColumns: LineID
-      PrimaryKeyColumns: ProductID
-      TargetType: MappingProductInLane
-      TypeIndex: MappingProductInLineTypeIndex
-      EDIMLColumn LineID { Attribute: LineID ValueType: String }
-      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_PRODUCTINLINES
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_PRODUCTINLINES
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="OTD"'
-      PrimaryKeyColumns: LINEID
-      PrimaryKeyColumns: PRODUCTID
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn LINEID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PRODUCTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationProductInLane
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_PRODUCTINLINES
-      OutputTable: MappingProductInLane
-      EDIColumnMatch { InputColumn: LINEID OutputColumn: LineID }
-      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_SalesSegment.qbl b/_Main/BL/EDI/Broker_Broker_OTD_SalesSegment.qbl
deleted file mode 100644
index 6176047..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_SalesSegment.qbl
+++ /dev/null
@@ -1,92 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_SalesSegment
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_SalesSegment
-  {
-    EDIMLTable MappingSalesSegment
-    {
-      PrimaryKeyColumns: BusinessType
-      PrimaryKeyColumns: Name
-      TargetType: MappingSalesSegment
-      TypeIndex: MappingSalesSegmentTypeIndex
-      EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
-      EDIMLColumn DisplayIndex { Attribute: DisplayIndex ValueType: Number }
-      EDIMLColumn Name { Attribute: Name ValueType: String }
-      EDIMLColumn ParentName { Attribute: ParentName ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_SALESSEGMENT
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_SALESSEGMENT
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="YUXTEST"'
-      PrimaryKeyColumns: BUSINESSTYPE
-      PrimaryKeyColumns: NAME
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn BUSINESSTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn DISPLAYINDEX
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn NAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PARENTNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationSalesSegment
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_SALESSEGMENT
-      OutputTable: MappingSalesSegment
-      EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
-      EDIColumnMatch
-      {
-        InputColumn: DISPLAYINDEX
-        OutputColumn: DisplayIndex
-        Converter
-        {
-          XMLDefinition:
-          [*
-            <?xml version="1.0" encoding="UTF-16"?>
-            <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
-              <IsStandard>true</IsStandard>
-              <IsISO>false</IsISO>
-              <IsCustom>false</IsCustom>
-              <ConversionType>0</ConversionType>
-              <NumericFormatString>Standard</NumericFormatString>
-              <LocaleString>Chinese (China)</LocaleString>
-              <CurrencyString></CurrencyString>
-              <CustomFormatString></CustomFormatString>
-            </StringToNumber>
-          *]
-        }
-      }
-      EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
-      EDIColumnMatch { InputColumn: PARENTNAME OutputColumn: ParentName }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Unit.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Unit.qbl
deleted file mode 100644
index 80cde4f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Unit.qbl
+++ /dev/null
@@ -1,85 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Unit
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_Unit
-  {
-    EDIMLTable MappingUnit
-    {
-      PrimaryKeyColumns: EquipmentID
-      PrimaryKeyColumns: OperationType
-      PrimaryKeyColumns: OrganCode
-      PrimaryKeyColumns: PlantName
-      TargetType: MappingUnit
-      TypeIndex: MappingUnitTypeIndex
-      EDIMLColumn Equipment { Attribute: Equipment ValueType: String }
-      EDIMLColumn EquipmentID { Attribute: EquipmentID ValueType: String }
-      EDIMLColumn OperationType { Attribute: OperationType ValueType: String }
-      EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
-      EDIMLColumn OrganName { Attribute: OrganName ValueType: String }
-      EDIMLColumn PlantName { Attribute: PlantName ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_UNIT
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_UNIT
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="OTD"'
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn EQUIPMENT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn EQUIPMENTID
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn OPERATIONTYPE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORGANCODE
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn ORGANNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn PLANTNAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationUnit
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_UNIT
-      OutputTable: MappingUnit
-      EDIColumnMatch { InputColumn: EQUIPMENT OutputColumn: Equipment }
-      EDIColumnMatch { InputColumn: EQUIPMENTID OutputColumn: EquipmentID }
-      EDIColumnMatch { InputColumn: OPERATIONTYPE OutputColumn: OperationType }
-      EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
-      EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
-      EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
-    }
-  }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_UnitOfMeasure.qbl b/_Main/BL/EDI/Broker_Broker_OTD_UnitOfMeasure.qbl
deleted file mode 100644
index 0ece78e..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_UnitOfMeasure.qbl
+++ /dev/null
@@ -1,55 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_UnitOfMeasure
-{
-  MDSDefinition: MacroPlan
-  TimeZone: 'ACT'
-  UseOSTimeZone: false
-  EDIModelLink.Destination Des_UnitOfMeasure
-  {
-    EDIMLTable MappingUnitOfMeasure
-    {
-      PrimaryKeyColumns: Name
-      TargetType: MappingUnitOfMeasure
-      TypeIndex: MappingUnitOfMeasureTypeIndex
-      EDIMLColumn IsDefault { Attribute: IsDefault ValueType: Boolean }
-      EDIMLColumn Name { Attribute: Name ValueType: String }
-    }
-  }
-  EDIODBCLink.Source MID_UnitOfMeasure
-  {
-    DataIntegrityStrategy: 'Disabled'
-    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
-    EDIODBCLinkTable MID_UNITOFMEASURES
-    {
-      OthersMayCreateTable: true
-      OthersMayDeleteRow: true
-      OthersMayDropTable: true
-      OthersMayFlushTable: true
-      OthersMayInsertRow: true
-      Parameters: '/owner="YUXTEST"'
-      PrimaryKeyColumns: NAME
-      RecordModificationHintStrategy: 'None'
-      EDIODBCLinkColumn ISDEFAULT
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-      EDIODBCLinkColumn NAME
-      {
-        OthersMayUpdateColumn: true
-        ValueType: String
-      }
-    }
-  }
-  EDITransformation.Transformation TransformationUnitOfMeasure
-  {
-    EDITableTransformation
-    {
-      InputTable: MID_UNITOFMEASURES
-      OutputTable: MappingUnitOfMeasure
-      EDIColumnMatch { InputColumn: ISDEFAULT OutputColumn: IsDefault }
-      EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
-    }
-  }
-}
diff --git a/_Main/BL/Relations/Relation_HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder.qbl b/_Main/BL/Relations/Relation_HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder.qbl
deleted file mode 100644
index 3a7a8c1..0000000
--- a/_Main/BL/Relations/Relation_HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder
-{
-  #keys: '1[414382.0.385610086]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[414382.0.385610088][414382.0.385610087][414382.0.385610089]'
-    Cardinality: '0to1'
-    ObjectDefinition: HistoricalSalesOrder
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide HistoricalSalesOrder
-  {
-    #keys: '3[414382.0.385610091][414382.0.385610090][414382.0.385610092]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan.qbl b/_Main/BL/Relations/Relation_MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan.qbl
deleted file mode 100644
index 8f7d3ba..0000000
--- a/_Main/BL/Relations/Relation_MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan
-{
-  #keys: '1[414480.0.61560199]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MappingActualPISPIP
-  {
-    #keys: '3[414480.0.61560201][414480.0.61560200][414480.0.61560202]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-  RelationSide.RightSide MacroPlan
-  {
-    #keys: '3[414480.0.61560204][414480.0.61560203][414480.0.61560205]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingActualPISPIP
-    OwningSide: 'Reference'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan.qbl b/_Main/BL/Relations/Relation_MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan.qbl
deleted file mode 100644
index 606070c..0000000
--- a/_Main/BL/Relations/Relation_MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan
-{
-  #keys: '1[414480.0.61581395]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MappingExternalSupply
-  {
-    #keys: '3[414480.0.61581397][414480.0.61581396][414480.0.61581398]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-  RelationSide.RightSide MacroPlan
-  {
-    #keys: '3[414480.0.61581400][414480.0.61581399][414480.0.61581401]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingExternalSupply
-    OwningSide: 'Reference'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MacroPlan_MappingProduct_MappingProduct_MacroPlan.qbl b/_Main/BL/Relations/Relation_MacroPlan_MappingProduct_MappingProduct_MacroPlan.qbl
deleted file mode 100644
index f0b9f15..0000000
--- a/_Main/BL/Relations/Relation_MacroPlan_MappingProduct_MappingProduct_MacroPlan.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MacroPlan_MappingProduct_MappingProduct_MacroPlan
-{
-  #keys: '1[414480.0.61560241]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MappingProduct
-  {
-    #keys: '3[414480.0.61560243][414480.0.61560242][414480.0.61560244]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-  RelationSide.RightSide MacroPlan
-  {
-    #keys: '3[414480.0.61560246][414480.0.61560245][414480.0.61560247]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingProduct
-    OwningSide: 'Reference'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingBOM_MacroPlan_MacroPlan_MappingBOM.qbl b/_Main/BL/Relations/Relation_MappingBOM_MacroPlan_MacroPlan_MappingBOM.qbl
deleted file mode 100644
index 902d4e9..0000000
--- a/_Main/BL/Relations/Relation_MappingBOM_MacroPlan_MacroPlan_MappingBOM.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingBOM_MacroPlan_MacroPlan_MappingBOM
-{
-  #keys: '1[412960.0.86935179]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[412960.0.86935181][412960.0.86935180][412960.0.86935182]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingBOM
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingBOM
-  {
-    #keys: '3[412960.0.86935184][412960.0.86935183][412960.0.86935185]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversi.qbl b/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversi.qbl
deleted file mode 100644
index a3c06fc..0000000
--- a/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversi.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversionFactor
-{
-  #keys: '1[414384.0.583154683]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[414384.0.583154685][414384.0.583154684][414384.0.583154686]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingBaseConversionFactor
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingBaseConversionFactor
-  {
-    #keys: '3[414384.0.583154688][414384.0.583154687][414384.0.583154689]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder.qbl b/_Main/BL/Relations/Relation_MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder.qbl
deleted file mode 100644
index 203709b..0000000
--- a/_Main/BL/Relations/Relation_MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder
-{
-  #keys: '1[414384.0.583154766]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[414384.0.583154768][414384.0.583154767][414384.0.583154769]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingCustomerOrder
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingCustomerOrder
-  {
-    #keys: '3[414384.0.583154771][414384.0.583154770][414384.0.583154772]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingForecast_MacroPlan_MacroPlan_MappingForecast.qbl b/_Main/BL/Relations/Relation_MappingForecast_MacroPlan_MacroPlan_MappingForecast.qbl
deleted file mode 100644
index e3bd43d..0000000
--- a/_Main/BL/Relations/Relation_MappingForecast_MacroPlan_MacroPlan_MappingForecast.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingForecast_MacroPlan_MacroPlan_MappingForecast
-{
-  #keys: '1[414384.0.583160291]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[414384.0.583160293][414384.0.583160292][414384.0.583160294]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingForecast
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingForecast
-  {
-    #keys: '3[414384.0.583160296][414384.0.583160295][414384.0.583160297]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryVa.qbl b/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryVa.qbl
deleted file mode 100644
index f282c80..0000000
--- a/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryVa.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryValueAndCost
-{
-  #keys: '1[414384.0.601560025]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[414384.0.601560027][414384.0.601560026][414384.0.601560028]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingInventoryValueAndCost
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingInventoryValueAndCost
-  {
-    #keys: '3[414384.0.601560030][414384.0.601560029][414384.0.601560031]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost.qbl b/_Main/BL/Relations/Relation_MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost.qbl
deleted file mode 100644
index 28c2cbe..0000000
--- a/_Main/BL/Relations/Relation_MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost
-{
-  #keys: '1[412960.0.95000601]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[412960.0.95000603][412960.0.95000602][412960.0.95000604]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingOperationCost
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingOperationCost
-  {
-    #keys: '3[412960.0.95000606][412960.0.95000605][412960.0.95000607]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingOperation_MacroPlan_MacroPlan_MappingOperation.qbl b/_Main/BL/Relations/Relation_MappingOperation_MacroPlan_MacroPlan_MappingOperation.qbl
deleted file mode 100644
index 4e7f7bc..0000000
--- a/_Main/BL/Relations/Relation_MappingOperation_MacroPlan_MacroPlan_MappingOperation.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingOperation_MacroPlan_MacroPlan_MappingOperation
-{
-  #keys: '1[412960.0.86990893]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[412960.0.86990895][412960.0.86990894][412960.0.86990896]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingOperation
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingOperation
-  {
-    #keys: '3[412960.0.86990898][412960.0.86990897][412960.0.86990899]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane.qbl b/_Main/BL/Relations/Relation_MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane.qbl
deleted file mode 100644
index 22712fa..0000000
--- a/_Main/BL/Relations/Relation_MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane
-{
-  #keys: '1[412960.0.86844662]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[412960.0.86844664][412960.0.86844663][412960.0.86844665]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingProductInLane
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingProductInLane
-  {
-    #keys: '3[412960.0.86844667][412960.0.86844666][412960.0.86844668]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment.qbl b/_Main/BL/Relations/Relation_MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment.qbl
deleted file mode 100644
index 691032b..0000000
--- a/_Main/BL/Relations/Relation_MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment
-{
-  #keys: '1[414384.0.583160113]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[414384.0.583160115][414384.0.583160114][414384.0.583160116]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingSalesSegment
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingSalesSegment
-  {
-    #keys: '3[414384.0.583160118][414384.0.583160117][414384.0.583160119]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure.qbl b/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure.qbl
deleted file mode 100644
index e01a2f2..0000000
--- a/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure
-{
-  #keys: '1[414384.0.583160058]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[414384.0.583160060][414384.0.583160059][414384.0.583160061]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingUnitOfMeasure
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingUnitOfMeasure
-  {
-    #keys: '3[414384.0.583160063][414384.0.583160062][414384.0.583160064]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingUnit_MacroPlan_MacroPlan_MappingUnit.qbl b/_Main/BL/Relations/Relation_MappingUnit_MacroPlan_MacroPlan_MappingUnit.qbl
deleted file mode 100644
index e226c90..0000000
--- a/_Main/BL/Relations/Relation_MappingUnit_MacroPlan_MacroPlan_MappingUnit.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingUnit_MacroPlan_MacroPlan_MappingUnit
-{
-  #keys: '1[412960.0.96453721]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide MacroPlan
-  {
-    #keys: '3[412960.0.96453723][412960.0.96453722][412960.0.96453724]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingUnit
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingUnit
-  {
-    #keys: '3[412960.0.96453726][412960.0.96453725][412960.0.96453727]'
-    Cardinality: '1toN'
-    ObjectDefinition: MacroPlan
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_BusinessType.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_BusinessType.qbl
deleted file mode 100644
index c91ccf2..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
-  #keys: '3[414382.0.385610070][414382.0.385610069][414382.0.385610071]'
-  Description: '浜嬩笟閮�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CurrencyID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_CurrencyID.qbl
deleted file mode 100644
index 6e3ea82..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CurrencyID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CurrencyID
-{
-  #keys: '3[414382.0.385610058][414382.0.385610057][414382.0.385610059]'
-  Description: '璐у竵'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Customer.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_Customer.qbl
deleted file mode 100644
index de33204..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Customer.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Customer
-{
-  #keys: '3[414382.0.385610043][414382.0.385610042][414382.0.385610044]'
-  Description: '瀹㈡埛鍚嶇О'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CustomerID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_CustomerID.qbl
deleted file mode 100644
index 5236115..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CustomerID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CustomerID
-{
-  #keys: '3[414382.0.385610052][414382.0.385610051][414382.0.385610053]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_ID.qbl
deleted file mode 100644
index ab18ec7..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
-  #keys: '3[414382.0.385610061][414382.0.385610060][414382.0.385610062]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_IsAvailable.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_IsAvailable.qbl
deleted file mode 100644
index 7b79b6c..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_IsAvailable.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsAvailable
-{
-  #keys: '3[414382.0.385610046][414382.0.385610045][414382.0.385610047]'
-  Description: '璁㈠崟鏄惁鍙備笌璁″垝'
-  ValueType: Boolean
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderDate.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderDate.qbl
deleted file mode 100644
index c8eca1a..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderDate
-{
-  #keys: '3[414382.0.385610082][414382.0.385610081][414382.0.385610083]'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderID.qbl
deleted file mode 100644
index 993c964..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderID
-{
-  #keys: '3[414382.0.385610049][414382.0.385610048][414382.0.385610050]'
-  Description: '璁㈠崟鍙�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderLineID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderLineID.qbl
deleted file mode 100644
index 33b2a30..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderLineID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderLineID
-{
-  #keys: '3[414382.0.385610040][414382.0.385610039][414382.0.385610041]'
-  Description: '璁㈠崟琛屽彿'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderType.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderType.qbl
deleted file mode 100644
index f539ba0..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderType
-{
-  #keys: '3[414382.0.385610034][414382.0.385610033][414382.0.385610035]'
-  Description: '璁㈠崟绫诲瀷'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Price.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_Price.qbl
deleted file mode 100644
index 50d7084..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Price.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Price
-{
-  #keys: '3[414382.0.385610055][414382.0.385610054][414382.0.385610056]'
-  Description: '鍗曚环'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_PriorityName.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_PriorityName.qbl
deleted file mode 100644
index 38db16d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_PriorityName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityName
-{
-  #keys: '3[414382.0.385610079][414382.0.385610078][414382.0.385610080]'
-  Description: '浼樺厛绾�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ProductID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_ProductID.qbl
deleted file mode 100644
index 018fc15..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[414382.0.385610067][414382.0.385610066][414382.0.385610068]'
-  Description: '浜у搧缂栫爜'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Quantity.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_Quantity.qbl
deleted file mode 100644
index 06b7d7d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Quantity.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Quantity
-{
-  #keys: '3[414382.0.385610076][414382.0.385610075][414382.0.385610077]'
-  Description: '鏁伴噺'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesAmount.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesAmount.qbl
deleted file mode 100644
index b5fe9ed..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesAmount.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesAmount
-{
-  #keys: '3[414382.0.394810026][414382.0.394810025][414382.0.394810027]'
-  ValueType: Number
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesSegmentName.qbl
deleted file mode 100644
index 5c59143..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesSegmentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesSegmentName
-{
-  #keys: '3[414382.0.385610064][414382.0.385610063][414382.0.385610065]'
-  Description: '閿�鍞儴闂ㄥ悕绉�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_StockPointID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_StockPointID.qbl
deleted file mode 100644
index ae7cbb1..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_StockPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockPointID
-{
-  #keys: '3[414382.0.385610073][414382.0.385610072][414382.0.385610074]'
-  Description: '搴撳瓨鐐瑰敮涓�鏍囪瘑'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index d6b4ecf..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
-  #keys: '3[414382.0.385610037][414382.0.385610036][414382.0.385610038]'
-  Description: '鍗曚綅'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_VerNo.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_VerNo.qbl
deleted file mode 100644
index fdb397d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_VerNo.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute VerNo
-{
-  #keys: '3[414382.0.385610106][414382.0.385610105][414382.0.385610107]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_BusinessType.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_BusinessType.qbl
deleted file mode 100644
index 1672b03..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_BusinessType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: BusinessType
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CurrencyID.qbl
deleted file mode 100644
index cae9679..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CurrencyID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: CurrencyID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_Customer.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_Customer.qbl
deleted file mode 100644
index e02a336..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_Customer.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: Customer
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CustomerID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CustomerID.qbl
deleted file mode 100644
index 66ae438..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CustomerID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: CustomerID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_IsAvailable.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_IsAvailable.qbl
deleted file mode 100644
index efaa00d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_IsAvailable.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  ISOValue: 'true'
-  TargetAttribute: IsAvailable
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderID.qbl
deleted file mode 100644
index 05c5cf1..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: OrderID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderLineID.qbl
deleted file mode 100644
index 01ff2bf..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderLineID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: OrderLineID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderType.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderType.qbl
deleted file mode 100644
index 36871b8..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: OrderType
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_PriorityName.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_PriorityName.qbl
deleted file mode 100644
index 59ad087..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_PriorityName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: PriorityName
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_ProductID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_ProductID.qbl
deleted file mode 100644
index 98649b2..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_ProductID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: ProductID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_SalesSegmentName.qbl
deleted file mode 100644
index 521966d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_SalesSegmentName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: SalesSegmentName
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_StockPointID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_StockPointID.qbl
deleted file mode 100644
index 7c0c612..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_StockPointID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: StockPointID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Method_GetProductIdString.qbl b/_Main/BL/Type_HistoricalSalesOrder/Method_GetProductIdString.qbl
deleted file mode 100644
index 25fd342..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Method_GetProductIdString.qbl
+++ /dev/null
@@ -1,26 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method GetProductIdString (
-  MacroPlan owner,
-  String businessType
-) as String
-{
-  TextBody:
-  [*
-    // NBoTk Sep-13-2023 (created)
-    
-    productIDs := selectuniquevalues( owner,MappingProduct,product,
-                                      product.BusinessType() = businessType,
-                                      product.ID()
-                                      );
-    
-    value := "TC067FYMM05-00;B26700040";
-    
-    if( not isnull( productIDs) )
-    { 
-         value := productIDs.Concatenate( ";");
-    }
-    
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerID.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerID.qbl
deleted file mode 100644
index d7d5927..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerID.qbl
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetCustomerID (
-  MacroPlan owner,
-  String customer
-) as String
-{
-  TextBody:
-  [*
-    // NBoTk Sep-13-2023 (created)
-    
-    
-    cunstomer :=  select( owner,MappingCustomerOrder,order,
-                         order.Customer() = customer
-                         );
-    
-    return cunstomer.CustomerID();
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerString.qbl
deleted file mode 100644
index c039119..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerString.qbl
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetCustomerString (
-  MacroPlan owner,
-  String businessType
-) as String
-{
-  TextBody:
-  [*
-    // NBoTk Sep-13-2023 (created)
-    
-    customers := selectuniquevalues( owner,MappingCustomerOrder,order,
-                                      order.BusinessType() = businessType,
-                                      order.Customer()
-                                      );
-    
-    
-    
-    value := customers.Concatenate( ";");
-    
-    if( value = "" )
-    {
-      value := "灏忕背閫氳鎶�鏈湁闄愬叕鍙�";
-    }
-    
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetHistoricalSalesOrders.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetHistoricalSalesOrders.qbl
deleted file mode 100644
index 2a8fe90..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetHistoricalSalesOrders.qbl
+++ /dev/null
@@ -1,64 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetHistoricalSalesOrders (
-  String businessType,
-  String customer,
-  String sheetProfitability,
-  String productID,
-  Date end,
-  MacroPlan owner,
-  Date start
-) as owning HistoricalSalesOrders
-{
-  Description: 'Get historical sales orders of deleiveryCells'
-  TextBody:
-  [*
-    // NBoTk Sep-11-2023 (created)
-    
-    // filter businessType start end 
-    // start default 3 years, end is today
-    value := selectset( owner,HistoricalSalesOrder,order,
-                        true,
-                        order.BusinessType() = businessType
-                        and order.OrderDate() >= start
-                        and order.OrderDate() <= end
-                        );
-    
-    // filter customer
-    if(customer <> '' )
-    {
-        value := selectset( value,Elements,orer,
-                            true,
-                            orer.Customer() = customer
-                            );
-    }
-    
-    // filter sheetProfitability
-    //if(sheetProfitability <> '' )
-    //{
-    //    value := selectset( value,Elements,orer,
-    //                        true,
-    //                        orer.S() = sheetProfitability
-    //                        );
-    //}
-    
-    // filter productID
-    if(productID <> '' )
-    {
-        value := selectset( value,Elements,orer,
-                            true,
-                            orer.ProductID() = productID
-                            );
-    }
-    
-    // order by 鐩堝埄姘村钩 闇�姹傛椂闂�
-    
-    value := selectsortedset( value,Elements,order,
-                              true,
-                              //order.SheetProfitability(),
-                              order.OrderDate()
-                              );
-    
-    return &value;
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetProductIdString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetProductIdString.qbl
deleted file mode 100644
index faa36c9..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetProductIdString.qbl
+++ /dev/null
@@ -1,27 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetProductIdString (
-  MacroPlan owner,
-  String businessType
-) as String
-{
-  TextBody:
-  [*
-    // NBoTk Sep-13-2023 (created)
-    
-    productIDs := selectuniquevalues( owner,MappingProduct,product,
-                                      product.BusinessType() = businessType,
-                                      product.ID()
-                                      );
-    
-    value := productIDs.Concatenate( ";");
-    
-    
-    if( value = "" )
-    {
-      value := "TC067FYMM05-00;B26700040";
-    }
-    
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetSalesSegmentString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetSalesSegmentString.qbl
deleted file mode 100644
index e76aaec..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetSalesSegmentString.qbl
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetSalesSegmentString (
-  MacroPlan owner,
-  String businessType
-) as String
-{
-  TextBody:
-  [*
-    // NBoTk Sep-13-2023 (created)
-    
-    salesSegments := selectuniquevalues( owner,MappingSalesSegment,salesSegment,
-                                        salesSegment.BusinessType() = businessType,
-                                        salesSegment.ParentName()
-                                        );
-    
-    
-    
-    value := salesSegments.Concatenate( ";");
-    
-    
-    if( value = "" )
-    {
-      value := "娑堣垂鍝佽惀閿�涓績;閿�鍞竴绉�";
-    }
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetStockingPointString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetStockingPointString.qbl
deleted file mode 100644
index d7ce897..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetStockingPointString.qbl
+++ /dev/null
@@ -1,25 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetStockingPointString (
-  MacroPlan owner,
-  String businessType
-) as String
-{
-  TextBody:
-  [*
-    // NBoTk Sep-13-2023 (created)
-    
-    stockingPointIDs := selectuniquevalues( owner,StockingPoint_MP,stock,
-                                      stock.ID()
-                                      );
-    
-     value := stockingPointIDs.Concatenate( ";");
-    
-    if( value = "" )
-    {
-         value := "I13_P;I13_SA";
-    }
-    
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetUnitOfMeasuresString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetUnitOfMeasuresString.qbl
deleted file mode 100644
index 58570ab..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetUnitOfMeasuresString.qbl
+++ /dev/null
@@ -1,26 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetUnitOfMeasuresString (
-  MacroPlan owner,
-  String businessType
-) as String
-{
-  TextBody:
-  [*
-    // NBoTk Sep-13-2023 (created)
-    
-    units := selectuniquevalues( owner,MappingUnitOfMeasure,unit,
-                                      unit.Name()
-                                      );
-    
-    
-    value := units.Concatenate( ";");
-    
-    if( value = "" )
-    {
-       value := "PCS;MPC";
-    }
-    
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/_ROOT_Type_HistoricalSalesOrder.qbl b/_Main/BL/Type_HistoricalSalesOrder/_ROOT_Type_HistoricalSalesOrder.qbl
deleted file mode 100644
index 3e9f0af..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/_ROOT_Type_HistoricalSalesOrder.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type HistoricalSalesOrder
-{
-  #keys: '5[414382.0.385610030][414382.0.385610028][0.0.0][414382.0.385610029][414382.0.385610031]'
-  BaseType: Object
-  StructuredName: 'HistoricalSalesOrders'
-}
diff --git a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
index 0c19698..060eabc 100644
--- a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
+++ b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
@@ -16,7 +16,6 @@
     processingtime := Duration::Zero();
     
     unitofmeasurename := "PCS";
-    currencyid := "CNY";
     startdate := Date::Date( 1900, 1, 1 );
     enddate := Date::Date( 9999, 12, 31 );
     capacitytype := "Transport quantity";
@@ -31,14 +30,14 @@
     
     unit := Unit::FindUnitTypeIndex( unitid );
     if( isnull( unit)){
-      unit :=macroplan.Unit( relnew, 
-                 ID := unitid, 
-                 Name := unitid, 
-                 UnitOfMeasureName := unitofmeasurename, 
-                 CurrencyID := currencyid, 
-                 StartDate := startdate, 
-                 EndDate := enddate, 
-                 CapacityType := capacitytype );
+      unit := macroplan.Unit( relnew, ID := unitid, 
+                   Name := unitid, 
+                   ParentUnitID := "杩愯緭", 
+                   CapacityType := capacitytype, 
+                   UnitOfMeasureName := unitofmeasurename,
+                   CurrencyID := macroplan.BaseCurrency().ID(), 
+                   StartDate := startdate, 
+                   EndDate := enddate );
     }
     
     result := Lane::CreateLane( unit, id, name, processingtime);
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl
index 8c1a8e4..c7fe0d5 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl
@@ -13,7 +13,7 @@
     // yypsybs Aug-21-2023 (created)
     keyProductList := construct( Strings );
     if( isKeyProduct ) {
-        keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() );
+       keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() );
     }
     bomList := selectsortedset(  globalOTDTable, Global_MappingOperationBOM, item,
                                  ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, 
@@ -75,8 +75,15 @@
         }
     }
     if( createPurchaseSupplyMaterial ) {
-        toCreateBomList := selectuniquevalues( bomList, Elements, item, 
+      toCreateBomList := construct( Strings );
+      if( isKeyProduct){
+          toCreateBomList := selectuniquevalues( bomList, Elements, item, 
                                                item.ComponentType() = "P" and keyProductList.Find( item.ComponentCode())>=0, item.OrganCode() + item.ComponentCode());
+        }else{
+          toCreateBomList := selectuniquevalues( bomList, Elements, item, 
+                                               item.ComponentType() = "P" , item.OrganCode() + item.ComponentCode());
+        
+          }
         traverse( toCreateBomList, Elements, key ) {
             boms := selectset( bomList, Elements, item, item.ComponentType() = "P" and item.OrganCode() + item.ComponentCode() = key );
             bom := boms.First();
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl
index 55562f4..8b44c13 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl
@@ -16,14 +16,14 @@
     
     if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
         if( iskeyproduct = true ){
-          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true );
+          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�" );
           }
         else{
           listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, true );
           }
     } else {
         if( iskeyproduct = true ){
-          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType() ) >= 0 );
+          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, (item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�") and businesstypes.Find( item.BusinessType() ) >= 0 );
          }
         else{
           listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType() ) >= 0 );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl
index 171448e..1407447 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl
@@ -53,8 +53,8 @@
     supplyunit.IsSupplier(true);
     
     Unit::CreateOrUpdate( this, 
-                          "鏁磋溅杩愯緭", 
-                          "鏁磋溅杩愯緭", 
+                          "杩愯緭", 
+                          "杩愯緭", 
                           "澶╅┈闆嗗洟", 
                           capacitytype, 
                           unitofmeasurename );
@@ -88,7 +88,7 @@
                             thirdlevelid, 
                             thirdlevelid, 
                             secondlevelid, 
-                            "Time", 
+                            infinite, 
                             item.UnitOfMeasureName() );
                    
       //Get the last level unit
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
index 1e0929e..fdacd72 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
@@ -16,14 +16,14 @@
     
     if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
         if( iskeyproduct = true ){
-          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true );
+          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�" );
           }
         else{
           listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, true );
           }
     } else {
         if( iskeyproduct = true ){
-          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType() ) >= 0 );
+          listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, (item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�") and businesstypes.Find( item.BusinessType() ) >= 0 );
          }
         else{
           listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType() ) >= 0 );
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_ActualInventoryLevelEnd.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_ActualInventoryLevelEnd.qbl
deleted file mode 100644
index da407e8..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_ActualInventoryLevelEnd.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ActualInventoryLevelEnd
-{
-  #keys: '3[414480.0.61560027][414480.0.61560026][414480.0.61560028]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_Date.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_Date.qbl
deleted file mode 100644
index 993e8a6..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_Date.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Date
-{
-  #keys: '3[414480.0.61560037][414480.0.61560036][414480.0.61560038]'
-  IsReadOnly: true
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_Description.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_Description.qbl
deleted file mode 100644
index 7956d7b..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_Description.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Description
-{
-  #keys: '3[414480.0.61560047][414480.0.61560046][414480.0.61560048]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_IsAvailable.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_IsAvailable.qbl
deleted file mode 100644
index d8ca643..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_IsAvailable.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsAvailable
-{
-  #keys: '3[414480.0.61560097][414480.0.61560096][414480.0.61560098]'
-  ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_ManufacturedDate.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_ManufacturedDate.qbl
deleted file mode 100644
index 41e09a4..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_ManufacturedDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ManufacturedDate
-{
-  #keys: '3[414480.0.61560077][414480.0.61560076][414480.0.61560078]'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_ProductID.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_ProductID.qbl
deleted file mode 100644
index f3ed793..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[414480.0.61560057][414480.0.61560056][414480.0.61560058]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockType.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_StockType.qbl
deleted file mode 100644
index 4cc104f..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockType
-{
-  #keys: '3[414480.0.61560087][414480.0.61560086][414480.0.61560088]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_StockingPointID.qbl
deleted file mode 100644
index d90bd1c..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
-  #keys: '3[414480.0.61560067][414480.0.61560066][414480.0.61560068]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/TypeIndex_MappingActualPISPIPTypeIndex.qbl b/_Main/BL/Type_MappingActualPISPIP/TypeIndex_MappingActualPISPIPTypeIndex.qbl
deleted file mode 100644
index da6905e..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/TypeIndex_MappingActualPISPIPTypeIndex.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingActualPISPIPTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: Date
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: ProductID
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: StockingPointID
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/_ROOT_Type_MappingActualPISPIP.qbl b/_Main/BL/Type_MappingActualPISPIP/_ROOT_Type_MappingActualPISPIP.qbl
deleted file mode 100644
index c1eb86e..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/_ROOT_Type_MappingActualPISPIP.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingActualPISPIP
-{
-  #keys: '5[414480.0.61560023][414480.0.61560021][0.0.0][414480.0.61560022][414480.0.61560024]'
-  BaseType: Object
-  Description: '鍦ㄥ簱搴撳瓨'
-  StructuredName: 'MappingActualPISPIPs'
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialCode.qbl
deleted file mode 100644
index 805262d..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeMaterialCode
-{
-  #keys: '3[412960.0.86934549][412960.0.86934548][412960.0.86934550]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialType.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialType.qbl
deleted file mode 100644
index baca335..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeMaterialType
-{
-  #keys: '3[412960.0.86934670][412960.0.86934669][412960.0.86934671]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialUnit.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialUnit.qbl
deleted file mode 100644
index 276a497..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialUnit.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeMaterialUnit
-{
-  #keys: '3[412960.0.86934797][412960.0.86934796][412960.0.86934798]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeRate.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeRate.qbl
deleted file mode 100644
index bf080b2..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeRate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeRate
-{
-  #keys: '3[412960.0.86934925][412960.0.86934924][412960.0.86934926]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingBOM/Attribute_BusinessType.qbl
deleted file mode 100644
index 534f086..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
-  #keys: '3[412960.0.86941837][412960.0.86941836][412960.0.86941838]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentCode.qbl
deleted file mode 100644
index 905fc88..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentCode
-{
-  #keys: '3[412960.0.86934110][412960.0.86934109][412960.0.86934111]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentDescription.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentDescription.qbl
deleted file mode 100644
index 99fb1de..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentDescription.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentDescription
-{
-  #keys: '3[412960.0.86934357][412960.0.86934356][412960.0.86934358]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentOutputRate.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentOutputRate.qbl
deleted file mode 100644
index 2738173..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentOutputRate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentOutputRate
-{
-  #keys: '3[412960.0.86934173][412960.0.86934172][412960.0.86934174]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentType.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentType.qbl
deleted file mode 100644
index f6574f3..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentType
-{
-  #keys: '3[412960.0.86934293][412960.0.86934292][412960.0.86934294]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnit.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentUnit.qbl
deleted file mode 100644
index b15885e..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnit.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentUnit
-{
-  #keys: '3[412960.0.86934421][412960.0.86934420][412960.0.86934422]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnitDescription.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentUnitDescription.qbl
deleted file mode 100644
index 329c8f5..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnitDescription.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentUnitDescription
-{
-  #keys: '3[412960.0.86934485][412960.0.86934484][412960.0.86934486]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterial.qbl b/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterial.qbl
deleted file mode 100644
index d0064b7..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterial.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DescriptionOfAlternativeMaterial
-{
-  #keys: '3[412960.0.86934734][412960.0.86934733][412960.0.86934735]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl b/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl
deleted file mode 100644
index f2d3cdf..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DescriptionOfAlternativeMaterialUnits
-{
-  #keys: '3[412960.0.86934861][412960.0.86934860][412960.0.86934862]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterials.qbl b/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterials.qbl
deleted file mode 100644
index 563268b..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterials.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DescriptionOfAlternativeMaterials
-{
-  #keys: '3[414384.0.633771855][414384.0.633771854][414384.0.633771856]'
-  Description: '鏇夸唬鏂欐弿杩�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_MaterialSystem.qbl b/_Main/BL/Type_MappingBOM/Attribute_MaterialSystem.qbl
deleted file mode 100644
index c0d2997..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_MaterialSystem.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute MaterialSystem
-{
-  #keys: '3[412960.0.86935116][412960.0.86935115][412960.0.86935117]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_OrganCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_OrganCode.qbl
deleted file mode 100644
index 6b7ec13..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_OrganCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganCode
-{
-  #keys: '3[412960.0.86956307][412960.0.86956306][412960.0.86956308]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProcessSection.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProcessSection.qbl
deleted file mode 100644
index c333f3d..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProcessSection.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProcessSection
-{
-  #keys: '3[412960.0.86935053][412960.0.86935052][412960.0.86935054]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductCode.qbl
deleted file mode 100644
index 6b70c9a..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductCode
-{
-  #keys: '3[412960.0.86956371][412960.0.86956370][412960.0.86956372]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductDescribe.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductDescribe.qbl
deleted file mode 100644
index 2b9211a..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductDescribe.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductDescribe
-{
-  #keys: '3[412960.0.86956499][412960.0.86956498][412960.0.86956500]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductType.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductType.qbl
deleted file mode 100644
index 8e90486..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductType
-{
-  #keys: '3[412960.0.86956435][412960.0.86956434][412960.0.86956436]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductUnitDescription.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductUnitDescription.qbl
deleted file mode 100644
index f6da6b5..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductUnitDescription.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductUnitDescription
-{
-  #keys: '3[412960.0.86933925][412960.0.86933924][412960.0.86933926]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_SubstitutionRelationship.qbl b/_Main/BL/Type_MappingBOM/Attribute_SubstitutionRelationship.qbl
deleted file mode 100644
index 5d5a978..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_SubstitutionRelationship.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SubstitutionRelationship
-{
-  #keys: '3[412960.0.86934989][412960.0.86934988][412960.0.86934990]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingBOM/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index ef7f61e..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
-  #keys: '3[412960.0.86956563][412960.0.86956562][412960.0.86956564]'
-  ValueType: String
-}
diff --git "a/_Main/BL/Type_MappingBOM/Attribute_UnitUsageOfComponents\043328.qbl" "b/_Main/BL/Type_MappingBOM/Attribute_UnitUsageOfComponents\043328.qbl"
deleted file mode 100644
index db7d74c..0000000
--- "a/_Main/BL/Type_MappingBOM/Attribute_UnitUsageOfComponents\043328.qbl"
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitUsageOfComponents
-{
-  #keys: '3[412960.0.86933989][412960.0.86933988][412960.0.86933990]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl b/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl
deleted file mode 100644
index d374c5e..0000000
--- a/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl
+++ /dev/null
@@ -1,25 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CreateTestData (
-  MacroPlan parent,
-  String businessType,
-  String orgCode,
-  String productCode
-) as MappingBOM
-{
-  TextBody:
-  [*
-    // yypsybs Sep-18-2023 (created)
-    value := select( parent, MappingBOM, bom, bom.BusinessType() = businessType and bom.OrganCode() = orgCode and bom.ProductCode() = productCode );
-    if( isnull( value ) ) {
-      value := parent.MappingBOM( relnew, 
-                                  BusinessType := businessType,
-                                  OrganCode := orgCode,
-                                  ProductCode := productCode, 
-                                  ProcessSection := "", 
-                                  ComponentCode := "", 
-                                  AlternativeMaterialCode := "" );
-    }
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingBOM/TypeIndex_BOMTypeIndex.qbl b/_Main/BL/Type_MappingBOM/TypeIndex_BOMTypeIndex.qbl
deleted file mode 100644
index 6fe767b..0000000
--- a/_Main/BL/Type_MappingBOM/TypeIndex_BOMTypeIndex.qbl
+++ /dev/null
@@ -1,32 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex BOMTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: OrganCode
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: ComponentCode
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: ProductCode
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: AlternativeMaterialCode
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: ProcessSection
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: BusinessType
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingBOM/_ROOT_Type_MappingBOM.qbl b/_Main/BL/Type_MappingBOM/_ROOT_Type_MappingBOM.qbl
deleted file mode 100644
index 8cc965f..0000000
--- a/_Main/BL/Type_MappingBOM/_ROOT_Type_MappingBOM.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingBOM
-{
-  #keys: '5[412960.0.86941816][412960.0.86941814][0.0.0][412960.0.86941815][412960.0.86941817]'
-  BaseType: Object
-  StructuredName: 'MappingBOMs'
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_Factor.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_Factor.qbl
deleted file mode 100644
index 41d39b0..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_Factor.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Factor
-{
-  #keys: '3[414384.0.583154658][414384.0.583154657][414384.0.583154659]'
-  Description: '绯绘暟'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_IsEnabled.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_IsEnabled.qbl
deleted file mode 100644
index 7126f0a..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_IsEnabled.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsEnabled
-{
-  #keys: '3[414384.0.583154638][414384.0.583154637][414384.0.583154639]'
-  Description: '鏄惁鏈夋晥'
-  IsReadOnly: true
-  ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_ProductId.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_ProductId.qbl
deleted file mode 100644
index de885d5..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_ProductId.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductId
-{
-  #keys: '3[414384.0.583154648][414384.0.583154647][414384.0.583154649]'
-  Description: '鐗╂枡缂栫爜'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_SourceUnitOfMeasureName.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_SourceUnitOfMeasureName.qbl
deleted file mode 100644
index 5fd0076..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_SourceUnitOfMeasureName.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SourceUnitOfMeasureName
-{
-  #keys: '3[414384.0.583154615][414384.0.583154614][414384.0.583154616]'
-  Description: '婧愬崟浣嶅悕'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_TargetUnitOfMeasureName.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_TargetUnitOfMeasureName.qbl
deleted file mode 100644
index fb1c698..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_TargetUnitOfMeasureName.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute TargetUnitOfMeasureName
-{
-  #keys: '3[414384.0.583154628][414384.0.583154627][414384.0.583154629]'
-  Description: '鐩爣鍗曚綅鍚�'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/DefaultValue_Factor.qbl b/_Main/BL/Type_MappingBaseConversionFactor/DefaultValue_Factor.qbl
deleted file mode 100644
index f3fbfd1..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/DefaultValue_Factor.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  ISOValue: '1'
-  TargetAttribute: Factor
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/TypeIndex_MappingBaseConversionFactorTypeIndex.qbl b/_Main/BL/Type_MappingBaseConversionFactor/TypeIndex_MappingBaseConversionFactorTypeIndex.qbl
deleted file mode 100644
index 6cb1f90..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/TypeIndex_MappingBaseConversionFactorTypeIndex.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingBaseConversionFactorTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: SourceUnitOfMeasureName
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: TargetUnitOfMeasureName
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: ProductId
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: IsEnabled
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/_ROOT_Type_MappingBaseConversionFactor.qbl b/_Main/BL/Type_MappingBaseConversionFactor/_ROOT_Type_MappingBaseConversionFactor.qbl
deleted file mode 100644
index 46a0348..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/_ROOT_Type_MappingBaseConversionFactor.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingBaseConversionFactor
-{
-  #keys: '5[414384.0.583154589][414384.0.583154587][0.0.0][414384.0.583154588][414384.0.583154590]'
-  BaseType: Object
-  Description: 'ETL鍗曚綅杞崲'
-  StructuredName: 'MappingBaseConversionFactors'
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_BusinessType.qbl
deleted file mode 100644
index 9d0d69b..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
-  #keys: '3[414384.0.583154786][414384.0.583154785][414384.0.583154787]'
-  Description: '浜嬩笟閮�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_CurrencyID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_CurrencyID.qbl
deleted file mode 100644
index f09efe0..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_CurrencyID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CurrencyID
-{
-  #keys: '3[414384.0.583154796][414384.0.583154795][414384.0.583154797]'
-  Description: '璐у竵'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_Customer.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_Customer.qbl
deleted file mode 100644
index 33a6c7c..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_Customer.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Customer
-{
-  #keys: '3[414384.0.583154806][414384.0.583154805][414384.0.583154807]'
-  Description: '瀹㈡埛鍚嶇О'
-  ValueType: String
-}
diff --git "a/_Main/BL/Type_MappingCustomerOrder/Attribute_CustomerID\043616.qbl" "b/_Main/BL/Type_MappingCustomerOrder/Attribute_CustomerID\043616.qbl"
deleted file mode 100644
index bf6ee59..0000000
--- "a/_Main/BL/Type_MappingCustomerOrder/Attribute_CustomerID\043616.qbl"
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CustomerID
-{
-  #keys: '3[414384.0.583154816][414384.0.583154815][414384.0.583154817]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_ID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_ID.qbl
deleted file mode 100644
index 96a56c7..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
-  #keys: '3[414384.0.583154833][414384.0.583154832][414384.0.583154834]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_IsAvailable.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_IsAvailable.qbl
deleted file mode 100644
index 8f209ab..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_IsAvailable.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsAvailable
-{
-  #keys: '3[414384.0.583160549][414384.0.583160548][414384.0.583160550]'
-  Description: '璁㈠崟鏄惁鍙備笌璁″垝'
-  ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderDate.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderDate.qbl
deleted file mode 100644
index 8031d73..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderDate
-{
-  #keys: '3[414384.0.583154843][414384.0.583154842][414384.0.583154844]'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderID.qbl
deleted file mode 100644
index b096ea4..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderID
-{
-  #keys: '3[414384.0.583154853][414384.0.583154852][414384.0.583154854]'
-  Description: '璁㈠崟鍙�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderLineID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderLineID.qbl
deleted file mode 100644
index a49d0fa..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderLineID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderLineID
-{
-  #keys: '3[414384.0.583154863][414384.0.583154862][414384.0.583154864]'
-  Description: '璁㈠崟琛屽彿'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderType.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderType.qbl
deleted file mode 100644
index 1da64a6..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderType
-{
-  #keys: '3[414384.0.583160539][414384.0.583160538][414384.0.583160540]'
-  Description: '璁㈠崟绫诲瀷'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_Price.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_Price.qbl
deleted file mode 100644
index 375844f..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_Price.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Price
-{
-  #keys: '3[414384.0.583154882][414384.0.583154881][414384.0.583154883]'
-  Description: '鍗曚环'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_PriorityName.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_PriorityName.qbl
deleted file mode 100644
index 7707d63..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_PriorityName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityName
-{
-  #keys: '3[414384.0.583160479][414384.0.583160478][414384.0.583160480]'
-  Description: '浼樺厛绾�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_ProductID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_ProductID.qbl
deleted file mode 100644
index d7648f7..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[414384.0.583160489][414384.0.583160488][414384.0.583160490]'
-  Description: '浜у搧缂栫爜'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_Quantity.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_Quantity.qbl
deleted file mode 100644
index a48f0b1..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_Quantity.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Quantity
-{
-  #keys: '3[414384.0.583160519][414384.0.583160518][414384.0.583160520]'
-  Description: '鏁伴噺'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_SalesSegmentName.qbl
deleted file mode 100644
index a0a6ac3..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_SalesSegmentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesSegmentName
-{
-  #keys: '3[414384.0.583160509][414384.0.583160508][414384.0.583160510]'
-  Description: '閿�鍞儴闂ㄥ悕绉�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_StockPointID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_StockPointID.qbl
deleted file mode 100644
index 35ae11d..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_StockPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockPointID
-{
-  #keys: '3[414384.0.583160499][414384.0.583160498][414384.0.583160500]'
-  Description: '搴撳瓨鐐瑰敮涓�鏍囪瘑'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 793aa39..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
-  #keys: '3[414384.0.583160529][414384.0.583160528][414384.0.583160530]'
-  Description: '鍗曚綅'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/DefaultValue_IsAvailable.qbl b/_Main/BL/Type_MappingCustomerOrder/DefaultValue_IsAvailable.qbl
deleted file mode 100644
index efaa00d..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/DefaultValue_IsAvailable.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  ISOValue: 'true'
-  TargetAttribute: IsAvailable
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl
deleted file mode 100644
index 27563ee..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyByHalfYear (
-  Strings productNo,
-  MacroPlan macroPlan,
-  Number yearNo,
-  Number halfNo
-) as Real
-{
-  TextBody:
-  [*
-    // yypsybs Sep-18-2023 (created)
-    fromMonth := 1 + ( halfNo - 1 ) * 6;
-    toMonth := 6 + ( halfNo - 1 ) * 6;
-    result := 0.0;
-    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
-      result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
-    }
-    return result;
-  *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl
deleted file mode 100644
index 478e518..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl
+++ /dev/null
@@ -1,22 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyByMonth (
-  Strings productNo,
-  MacroPlan macroPlan,
-  Number yearNo,
-  Number monthNo
-) as Real
-{
-  TextBody:
-  [*
-    // yypsybs Sep-18-2023 (created)
-    result := sum( macroPlan, 
-                   MappingCustomerOrder, 
-                   item, 
-                   productNo.Find( item.ProductID() ) > -1 
-                   and item.OrderDate().Year() = yearNo
-                   and item.OrderDate().Month() = monthNo,
-                   item.Quantity() * item.Price() );
-    return result;
-  *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl
deleted file mode 100644
index 1a6ad83..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyBySeason (
-  Strings productNo,
-  MacroPlan macroPlan,
-  Number yearNo,
-  Number seasonNo
-) as Real
-{
-  TextBody:
-  [*
-    // yypsybs Sep-18-2023 (created)
-    fromMonth := 1 + ( seasonNo - 1 ) * 3;
-    toMonth := 3 + ( seasonNo - 1 ) * 3;
-    result := 0.0;
-    for( i := fromMonth; i <= toMonth; i := i + 1 ) {
-      result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
-    }
-    return result;
-  *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl
deleted file mode 100644
index bd09df8..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyByYear (
-  Strings productNo,
-  MacroPlan macroPlan,
-  Number yearNo
-) as Real
-{
-  TextBody:
-  [*
-    // yypsybs Sep-21-2023 (created)
-    result := 0.0;
-    for( i := 1; i <= 12; i := i + 1 ) {
-      result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
-    }
-    return result;
-  *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/TypeIndex_MappingCustomerOrderTypeIndex.qbl b/_Main/BL/Type_MappingCustomerOrder/TypeIndex_MappingCustomerOrderTypeIndex.qbl
deleted file mode 100644
index 1637398..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/TypeIndex_MappingCustomerOrderTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingCustomerOrderTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ID
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/_ROOT_Type_MappingCustomerOrder.qbl b/_Main/BL/Type_MappingCustomerOrder/_ROOT_Type_MappingCustomerOrder.qbl
deleted file mode 100644
index 6d522dc..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/_ROOT_Type_MappingCustomerOrder.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingCustomerOrder
-{
-  #keys: '5[414384.0.583154763][414384.0.583154761][0.0.0][414384.0.583154762][414384.0.583154764]'
-  BaseType: Object
-  Description: 'ETL璁㈠崟闇�姹�'
-  StructuredName: 'MappingCustomerOrders'
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_Date.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_Date.qbl
deleted file mode 100644
index 26a68d5..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_Date.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Date
-{
-  #keys: '3[414480.0.61560142][414480.0.61560141][414480.0.61560143]'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_Description.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_Description.qbl
deleted file mode 100644
index a278391..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_Description.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Description
-{
-  #keys: '3[414480.0.61560152][414480.0.61560151][414480.0.61560153]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_ID.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_ID.qbl
deleted file mode 100644
index 843a93a..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
-  #keys: '3[414480.0.61560112][414480.0.61560111][414480.0.61560113]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_ManufacturedDate.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_ManufacturedDate.qbl
deleted file mode 100644
index deced53..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_ManufacturedDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ManufacturedDate
-{
-  #keys: '3[414480.0.61560172][414480.0.61560171][414480.0.61560173]'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_ProductID.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_ProductID.qbl
deleted file mode 100644
index acf4d11..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[414480.0.61560122][414480.0.61560121][414480.0.61560123]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_StockingPointID.qbl
deleted file mode 100644
index 022f6a1..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
-  #keys: '3[414480.0.61560132][414480.0.61560131][414480.0.61560133]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_SupplyType.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_SupplyType.qbl
deleted file mode 100644
index be7d7e7..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_SupplyType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SupplyType
-{
-  #keys: '3[414480.0.61560162][414480.0.61560161][414480.0.61560163]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_UserQuantity.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_UserQuantity.qbl
deleted file mode 100644
index 0d0001c..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_UserQuantity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UserQuantity
-{
-  #keys: '3[414480.0.61560182][414480.0.61560181][414480.0.61560183]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/TypeIndex_MappingExternalSupplyTypeIndex.qbl b/_Main/BL/Type_MappingExternalSupply/TypeIndex_MappingExternalSupplyTypeIndex.qbl
deleted file mode 100644
index d575064..0000000
--- a/_Main/BL/Type_MappingExternalSupply/TypeIndex_MappingExternalSupplyTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingExternalSupplyTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ID
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/_ROOT_Type_MappingExternalSupply.qbl b/_Main/BL/Type_MappingExternalSupply/_ROOT_Type_MappingExternalSupply.qbl
deleted file mode 100644
index 7d24b00..0000000
--- a/_Main/BL/Type_MappingExternalSupply/_ROOT_Type_MappingExternalSupply.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingExternalSupply
-{
-  #keys: '5[414480.0.61560108][414480.0.61560106][0.0.0][414480.0.61560107][414480.0.61560109]'
-  BaseType: Object
-  Description: '鍦ㄩ�斿湪鍒�'
-  StructuredName: 'MappingExternalSupplys'
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingForecast/Attribute_BusinessType.qbl
deleted file mode 100644
index 419f914..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
-  #keys: '3[414384.0.583160308][414384.0.583160307][414384.0.583160309]'
-  Description: '浜嬩笟閮�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_CurrencyID.qbl b/_Main/BL/Type_MappingForecast/Attribute_CurrencyID.qbl
deleted file mode 100644
index aa36bcc..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_CurrencyID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CurrencyID
-{
-  #keys: '3[414384.0.583160408][414384.0.583160407][414384.0.583160409]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_EndDate.qbl b/_Main/BL/Type_MappingForecast/Attribute_EndDate.qbl
deleted file mode 100644
index d023148..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_EndDate.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute EndDate
-{
-  #keys: '3[414384.0.583160358][414384.0.583160357][414384.0.583160359]'
-  Description: '缁撴潫鏃ユ湡'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_ID.qbl b/_Main/BL/Type_MappingForecast/Attribute_ID.qbl
deleted file mode 100644
index b4b1a45..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
-  #keys: '3[414384.0.583160318][414384.0.583160317][414384.0.583160319]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_Price.qbl b/_Main/BL/Type_MappingForecast/Attribute_Price.qbl
deleted file mode 100644
index 91d21b6..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_Price.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Price
-{
-  #keys: '3[414384.0.583160388][414384.0.583160387][414384.0.583160389]'
-  Description: '鍗曚环'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_PriorityName.qbl b/_Main/BL/Type_MappingForecast/Attribute_PriorityName.qbl
deleted file mode 100644
index 814e324..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_PriorityName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityName
-{
-  #keys: '3[414384.0.583160398][414384.0.583160397][414384.0.583160399]'
-  Description: '浼樺厛绾у悕绉�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_ProductID.qbl b/_Main/BL/Type_MappingForecast/Attribute_ProductID.qbl
deleted file mode 100644
index 46137a3..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[414384.0.583160328][414384.0.583160327][414384.0.583160329]'
-  Description: '浜у搧鍞竴缂栫爜'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_Quantity.qbl b/_Main/BL/Type_MappingForecast/Attribute_Quantity.qbl
deleted file mode 100644
index 1d306b0..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_Quantity.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Quantity
-{
-  #keys: '3[414384.0.583160378][414384.0.583160377][414384.0.583160379]'
-  Description: '鏁伴噺'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_MappingForecast/Attribute_SalesSegmentName.qbl
deleted file mode 100644
index 75c8cd0..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_SalesSegmentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesSegmentName
-{
-  #keys: '3[414384.0.583160368][414384.0.583160367][414384.0.583160369]'
-  Description: '閿�鍞儴闂ㄥ悕绉�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_StartDate.qbl b/_Main/BL/Type_MappingForecast/Attribute_StartDate.qbl
deleted file mode 100644
index a1bef6a..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_StartDate.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StartDate
-{
-  #keys: '3[414384.0.583160348][414384.0.583160347][414384.0.583160349]'
-  Description: '寮�濮嬫棩鏈�'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingForecast/Attribute_StockingPointID.qbl
deleted file mode 100644
index d7607ca..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
-  #keys: '3[414384.0.583160338][414384.0.583160337][414384.0.583160339]'
-  Description: '搴撳瓨鐐笽D'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingForecast/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 7dbcc91..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
-  #keys: '3[414384.0.583160418][414384.0.583160417][414384.0.583160419]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByMonth.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByMonth.qbl
deleted file mode 100644
index 6b7351c..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByMonth.qbl
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetBalanceByMonth (
-  Strings productCodes,
-  MacroPlan parent,
-  Number yearNo,
-  Number monthNo
-) as Real
-{
-  Description: 'todo changeParent'
-  TextBody:
-  [*
-    // yypsybs Sep-19-2023 (created)
-    value := sum( parent, 
-                  MappingForecast, 
-                  item,
-                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year() and monthNo = item.StartDate().Month(), 
-                  item.Price() * item.Quantity() );
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByYear.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByYear.qbl
deleted file mode 100644
index dfc4872..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByYear.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetBalanceByYear (
-  Strings productCodes,
-  MacroPlan parent,
-  Number yearNo
-) as Real
-{
-  Description: 'todo changeParent'
-  TextBody:
-  [*
-    // yypsybs Sep-19-2023 (created)
-    value := sum( parent, 
-                  MappingForecast, 
-                  item,
-                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year(), 
-                  item.Price() * item.Quantity() );
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl
deleted file mode 100644
index ecf844c..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityByHalfYear (
-  Strings productCodes,
-  MacroPlan parent,
-  Number yearNo,
-  Number halfNo
-) as Real
-{
-  TextBody:
-  [*
-    // yypsybs Sep-19-2023 (created)
-    value := 0.0;
-    
-    startMonth := 1 + ( halfNo - 1 ) * 6;
-    endMonth := 6 + ( halfNo - 1 ) * 6;
-    
-    for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
-      value := value + MappingForecast::GetQuantityByMonth( productCodes, parent, yearNo, monthNo );
-    }
-    
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByMonth.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByMonth.qbl
deleted file mode 100644
index d3ae8c1..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByMonth.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityByMonth (
-  Strings productCodes,
-  MacroPlan parent,
-  Number yearNo,
-  Number monthNo
-) as Real
-{
-  TextBody:
-  [*
-    // yypsybs Sep-19-2023 (created)
-    value := sum( parent, 
-                  MappingForecast, 
-                  item,
-                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year() and monthNo = item.StartDate().Month(), 
-                  item.Quantity() );
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityBySeason.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityBySeason.qbl
deleted file mode 100644
index 3b4ac41..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityBySeason.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityBySeason (
-  Strings productCodes,
-  MacroPlan parent,
-  Number yearNo,
-  Number seasonNo
-) as Real
-{
-  TextBody:
-  [*
-    // yypsybs Sep-19-2023 (created)
-    value := 0.0;
-    
-    startMonth := 1 + ( seasonNo - 1 ) * 3;
-    endMonth := 3 + ( seasonNo - 1 ) * 3;
-    
-    for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
-      value := value + MappingForecast::GetQuantityByMonth( productCodes, parent, yearNo, monthNo );
-    }
-    
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByYear.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByYear.qbl
deleted file mode 100644
index 31db8aa..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByYear.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityByYear (
-  Strings productCodes,
-  MacroPlan parent,
-  Number yearNo
-) as Real
-{
-  Description: 'todo changeParent'
-  TextBody:
-  [*
-    // yypsybs Sep-19-2023 (created)
-    value := sum( parent, 
-                  MappingForecast, 
-                  item,
-                  productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year(), 
-                  item.Quantity() );
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingForecast/TypeIndex_MappingForecastTypeIndex.qbl b/_Main/BL/Type_MappingForecast/TypeIndex_MappingForecastTypeIndex.qbl
deleted file mode 100644
index b1edfb5..0000000
--- a/_Main/BL/Type_MappingForecast/TypeIndex_MappingForecastTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingForecastTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ID
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingForecast/_ROOT_Type_MappingForecast.qbl b/_Main/BL/Type_MappingForecast/_ROOT_Type_MappingForecast.qbl
deleted file mode 100644
index b96f05c..0000000
--- a/_Main/BL/Type_MappingForecast/_ROOT_Type_MappingForecast.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingForecast
-{
-  #keys: '5[414384.0.583160279][414384.0.583160277][0.0.0][414384.0.583160278][414384.0.583160280]'
-  BaseType: Object
-  Description: 'ETL璁㈠崟棰勬祴'
-  StructuredName: 'MappingForecasts'
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_AccountName.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_AccountName.qbl
deleted file mode 100644
index f275616..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_AccountName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AccountName
-{
-  #keys: '3[414384.0.601560062][414384.0.601560061][414384.0.601560063]'
-  Description: '绉戠洰鍚嶇О'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Cost.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Cost.qbl
deleted file mode 100644
index 0b9d627..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Cost.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Cost
-{
-  #keys: '3[414384.0.601560065][414384.0.601560064][414384.0.601560066]'
-  Description: '鎴愭湰'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_CostDriver.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_CostDriver.qbl
deleted file mode 100644
index d6c93bc..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_CostDriver.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CostDriver
-{
-  #keys: '3[414384.0.601560068][414384.0.601560067][414384.0.601560069]'
-  Description: '鎴愭湰鍔ㄥ洜'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ID.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ID.qbl
deleted file mode 100644
index 9d9899e..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ID.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
-  #keys: '3[414384.0.601560071][414384.0.601560070][414384.0.601560072]'
-  Description: '鍞竴鏍囪瘑'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ProductID.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ProductID.qbl
deleted file mode 100644
index 17cc4f1..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[414384.0.601560074][414384.0.601560073][414384.0.601560075]'
-  Description: '鐗╂枡缂栫爜'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Start.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Start.qbl
deleted file mode 100644
index 4f793fc..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Start.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Start
-{
-  #keys: '3[414384.0.601560077][414384.0.601560076][414384.0.601560078]'
-  Description: '鐢熸晥鏃堕棿'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_StockingPointID.qbl
deleted file mode 100644
index 5823c8c..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
-  #keys: '3[414384.0.601560080][414384.0.601560079][414384.0.601560081]'
-  Description: '搴撳瓨鐐圭紪鐮�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_AccountName.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_AccountName.qbl
deleted file mode 100644
index 51766e0..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_AccountName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  ISOValue: 'Inventory holding cost'
-  TargetAttribute: AccountName
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_CostDriver.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_CostDriver.qbl
deleted file mode 100644
index e26561c..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_CostDriver.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  ISOValue: 'Inventory holding'
-  TargetAttribute: CostDriver
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/TypeIndex_MappingInventoryCostTypeIndex.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/TypeIndex_MappingInventoryCostTypeIndex.qbl
deleted file mode 100644
index c55e5f5..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/TypeIndex_MappingInventoryCostTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingInventoryCostTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ID
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/_ROOT_Type_MappingInventoryValueAndCost.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/_ROOT_Type_MappingInventoryValueAndCost.qbl
deleted file mode 100644
index f8c6551..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/_ROOT_Type_MappingInventoryValueAndCost.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingInventoryValueAndCost
-{
-  #keys: '5[414384.0.601560012][414384.0.601560010][0.0.0][414384.0.601560011][414384.0.601560013]'
-  BaseType: Object
-  Description: 'ETL搴撳瓨鎴愭湰'
-  StructuredName: 'MappingInventoryValueAndCosts'
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_ActualCapacity.qbl b/_Main/BL/Type_MappingOperation/Attribute_ActualCapacity.qbl
deleted file mode 100644
index 9e79672..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_ActualCapacity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ActualCapacity
-{
-  #keys: '3[412960.0.86978472][412960.0.86978471][412960.0.86978473]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingOperation/Attribute_BusinessType.qbl
deleted file mode 100644
index 4709bfd..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
-  #keys: '3[412960.0.86977961][412960.0.86977960][412960.0.86977962]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_Line.qbl b/_Main/BL/Type_MappingOperation/Attribute_Line.qbl
deleted file mode 100644
index a52b854..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_Line.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Line
-{
-  #keys: '3[412960.0.86978344][412960.0.86978343][412960.0.86978345]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_MaximumQuantity.qbl b/_Main/BL/Type_MappingOperation/Attribute_MaximumQuantity.qbl
deleted file mode 100644
index a382633..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_MaximumQuantity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute MaximumQuantity
-{
-  #keys: '3[412960.0.86978664][412960.0.86978663][412960.0.86978665]'
-  ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_MinimumQuantity.qbl b/_Main/BL/Type_MappingOperation/Attribute_MinimumQuantity.qbl
deleted file mode 100644
index 4065295..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_MinimumQuantity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute MinimumQuantity
-{
-  #keys: '3[412960.0.86978600][412960.0.86978599][412960.0.86978601]'
-  ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_OrganCode.qbl b/_Main/BL/Type_MappingOperation/Attribute_OrganCode.qbl
deleted file mode 100644
index b3eef88..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_OrganCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganCode
-{
-  #keys: '3[412960.0.86978024][412960.0.86978023][412960.0.86978025]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_OrganName.qbl b/_Main/BL/Type_MappingOperation/Attribute_OrganName.qbl
deleted file mode 100644
index b2250d8..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_OrganName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganName
-{
-  #keys: '3[412960.0.86978088][412960.0.86978087][412960.0.86978089]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_PlantName.qbl b/_Main/BL/Type_MappingOperation/Attribute_PlantName.qbl
deleted file mode 100644
index ec05566..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_PlantName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PlantName
-{
-  #keys: '3[412960.0.86978216][412960.0.86978215][412960.0.86978217]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_ProcessSection.qbl b/_Main/BL/Type_MappingOperation/Attribute_ProcessSection.qbl
deleted file mode 100644
index 0716724..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_ProcessSection.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProcessSection
-{
-  #keys: '3[412960.0.86978280][412960.0.86978279][412960.0.86978281]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_ProductID.qbl b/_Main/BL/Type_MappingOperation/Attribute_ProductID.qbl
deleted file mode 100644
index 9e2b692..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[412960.0.86978152][412960.0.86978151][412960.0.86978153]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_SequenceNumber.qbl b/_Main/BL/Type_MappingOperation/Attribute_SequenceNumber.qbl
deleted file mode 100644
index fed9689..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_SequenceNumber.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SequenceNumber
-{
-  #keys: '3[412960.0.86978408][412960.0.86978407][412960.0.86978409]'
-  IsReadOnly: true
-  ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingOperation/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 963cca9..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
-  #keys: '3[412960.0.86978728][412960.0.86978727][412960.0.86978729]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_UserLeadTime.qbl b/_Main/BL/Type_MappingOperation/Attribute_UserLeadTime.qbl
deleted file mode 100644
index b88d70e..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_UserLeadTime.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UserLeadTime
-{
-  #keys: '3[412960.0.86978536][412960.0.86978535][412960.0.86978537]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingOperation/StaticMethod_FindMinSeq.qbl b/_Main/BL/Type_MappingOperation/StaticMethod_FindMinSeq.qbl
deleted file mode 100644
index 74aadb6..0000000
--- a/_Main/BL/Type_MappingOperation/StaticMethod_FindMinSeq.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod FindMinSeq (
-  MacroPlan macroPlan,
-  String orgCode,
-  String productId,
-  String processSection
-) as Number
-{
-  TextBody:
-  [*
-    // yypsybs Aug-22-2023 (created)
-    return guard (min( macroPlan, MappingOperation, item, 
-                item.OrganCode() = orgCode and item.ProductID() = productId and item.ProcessSection() = processSection,
-                item.SequenceNumber() ), Number::MinNumber() );
-  *]
-}
diff --git a/_Main/BL/Type_MappingOperation/TypeIndex_MappingOperationTypeIndex.qbl b/_Main/BL/Type_MappingOperation/TypeIndex_MappingOperationTypeIndex.qbl
deleted file mode 100644
index 2fc4aff..0000000
--- a/_Main/BL/Type_MappingOperation/TypeIndex_MappingOperationTypeIndex.qbl
+++ /dev/null
@@ -1,36 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingOperationTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ProcessSection
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: PlantName
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: BusinessType
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: Line
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: ProductID
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: SequenceNumber
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: OrganCode
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingOperation/_ROOT_Type_MappingOperation.qbl b/_Main/BL/Type_MappingOperation/_ROOT_Type_MappingOperation.qbl
deleted file mode 100644
index 0ec2e02..0000000
--- a/_Main/BL/Type_MappingOperation/_ROOT_Type_MappingOperation.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingOperation
-{
-  #keys: '5[412960.0.86977940][412960.0.86977938][0.0.0][412960.0.86977939][412960.0.86977941]'
-  BaseType: Object
-  StructuredName: 'MappingOperations'
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_AccountName.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_AccountName.qbl
deleted file mode 100644
index 9a81230..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_AccountName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AccountName
-{
-  #keys: '3[412960.0.94793446][412960.0.94793445][412960.0.94793447]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_Cost.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_Cost.qbl
deleted file mode 100644
index b0c351a..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_Cost.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Cost
-{
-  #keys: '3[412960.0.94793456][412960.0.94793455][412960.0.94793457]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_CostDriver.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_CostDriver.qbl
deleted file mode 100644
index 2651c65..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_CostDriver.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CostDriver
-{
-  #keys: '3[412960.0.94793466][412960.0.94793465][412960.0.94793467]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_ID.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_ID.qbl
deleted file mode 100644
index 981e7e2..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
-  #keys: '3[412960.0.94793476][412960.0.94793475][412960.0.94793477]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_LengthOfTime.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_LengthOfTime.qbl
deleted file mode 100644
index 02977c1..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_LengthOfTime.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute LengthOfTime
-{
-  #keys: '3[412960.0.94793486][412960.0.94793485][412960.0.94793487]'
-  ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_OrgCode.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_OrgCode.qbl
deleted file mode 100644
index 86c20db..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_OrgCode.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrgCode
-{
-  #keys: '3[412960.0.94793496][412960.0.94793495][412960.0.94793497]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_ProductID.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_ProductID.qbl
deleted file mode 100644
index af70a16..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[412960.0.94793506][412960.0.94793505][412960.0.94793507]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_Start.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_Start.qbl
deleted file mode 100644
index 7747d1c..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_Start.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Start
-{
-  #keys: '3[412960.0.94793516][412960.0.94793515][412960.0.94793517]'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_TimeUnit.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_TimeUnit.qbl
deleted file mode 100644
index e88a460..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_TimeUnit.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute TimeUnit
-{
-  #keys: '3[412960.0.94793526][412960.0.94793525][412960.0.94793527]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/TypeIndex_MappingOperationCostTypeIndex.qbl b/_Main/BL/Type_MappingOperationCost/TypeIndex_MappingOperationCostTypeIndex.qbl
deleted file mode 100644
index 56c3d31..0000000
--- a/_Main/BL/Type_MappingOperationCost/TypeIndex_MappingOperationCostTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingOperationCostTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ID
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingOperationCost/_ROOT_Type_MappingOperationCost.qbl b/_Main/BL/Type_MappingOperationCost/_ROOT_Type_MappingOperationCost.qbl
deleted file mode 100644
index c6b4926..0000000
--- a/_Main/BL/Type_MappingOperationCost/_ROOT_Type_MappingOperationCost.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingOperationCost
-{
-  #keys: '5[412960.0.94793442][412960.0.94793440][0.0.0][412960.0.94793441][412960.0.94793443]'
-  BaseType: Object
-  StructuredName: 'MappingOperationCosts'
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingProduct/Attribute_BusinessType.qbl
deleted file mode 100644
index 1d3a4b3..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
-  #keys: '3[414480.0.61560268][414480.0.61560267][414480.0.61560269]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_CommonBusiness.qbl b/_Main/BL/Type_MappingProduct/Attribute_CommonBusiness.qbl
deleted file mode 100644
index 6c38dd3..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_CommonBusiness.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CommonBusiness
-{
-  #keys: '3[414480.0.61560298][414480.0.61560297][414480.0.61560299]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_EndDate.qbl b/_Main/BL/Type_MappingProduct/Attribute_EndDate.qbl
deleted file mode 100644
index 869e122..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_EndDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute EndDate
-{
-  #keys: '3[414480.0.61534728][414480.0.61534727][414480.0.61534729]'
-  ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ID.qbl b/_Main/BL/Type_MappingProduct/Attribute_ID.qbl
deleted file mode 100644
index 5d5d0a4..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
-  #keys: '3[414480.0.61560258][414480.0.61560257][414480.0.61560259]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_IsCommon.qbl b/_Main/BL/Type_MappingProduct/Attribute_IsCommon.qbl
deleted file mode 100644
index 2c6dcc1..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_IsCommon.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsCommon
-{
-  #keys: '3[414480.0.61560288][414480.0.61560287][414480.0.61560289]'
-  ValueType: Boolean
-}
diff --git "a/_Main/BL/Type_MappingProduct/Attribute_KeyProduct\043814.qbl" "b/_Main/BL/Type_MappingProduct/Attribute_KeyProduct\043814.qbl"
deleted file mode 100644
index a24de96..0000000
--- "a/_Main/BL/Type_MappingProduct/Attribute_KeyProduct\043814.qbl"
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute KeyProduct
-{
-  #keys: '3[414480.0.61534708][414480.0.61534707][414480.0.61534709]'
-  ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_Name.qbl b/_Main/BL/Type_MappingProduct/Attribute_Name.qbl
deleted file mode 100644
index ee3c048..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_Name.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Name
-{
-  #keys: '3[414480.0.61534675][414480.0.61534674][414480.0.61534676]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_Notes.qbl b/_Main/BL/Type_MappingProduct/Attribute_Notes.qbl
deleted file mode 100644
index 2c845d2..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_Notes.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Notes
-{
-  #keys: '3[414480.0.61534718][414480.0.61534717][414480.0.61534719]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_OrgCode.qbl b/_Main/BL/Type_MappingProduct/Attribute_OrgCode.qbl
deleted file mode 100644
index 6569df8..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_OrgCode.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrgCode
-{
-  #keys: '3[414384.0.795680117][414384.0.795680116][414384.0.795680118]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ProductMajorType.qbl b/_Main/BL/Type_MappingProduct/Attribute_ProductMajorType.qbl
deleted file mode 100644
index a1a1d2e..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ProductMajorType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductMajorType
-{
-  #keys: '3[414480.0.61534652][414480.0.61534651][414480.0.61534653]'
-  Description: '鐗╂枡澶х被'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ProductSubclassType.qbl b/_Main/BL/Type_MappingProduct/Attribute_ProductSubclassType.qbl
deleted file mode 100644
index 7eacc67..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ProductSubclassType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductSubclassType
-{
-  #keys: '3[414480.0.61534662][414480.0.61534661][414480.0.61534663]'
-  Description: '鐗╂枡灏忕被'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ShelfLife.qbl b/_Main/BL/Type_MappingProduct/Attribute_ShelfLife.qbl
deleted file mode 100644
index 8f3b139..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ShelfLife.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ShelfLife
-{
-  #keys: '3[414480.0.61534698][414480.0.61534697][414480.0.61534699]'
-  ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingProduct/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 585f237..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
-  #keys: '3[414480.0.61534685][414480.0.61534684][414480.0.61534686]'
-  Description: '鐗╂枡鍗曚綅'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/StaticMethod_GetByProductId.qbl b/_Main/BL/Type_MappingProduct/StaticMethod_GetByProductId.qbl
deleted file mode 100644
index c8ac218..0000000
--- a/_Main/BL/Type_MappingProduct/StaticMethod_GetByProductId.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetByProductId (
-  MacroPlan parent,
-  String productId
-) as MappingProduct
-{
-  Description: '鏍规嵁鏂欏彿鏌ヨ褰�'
-  TextBody:
-  [*
-    // yypsybs Sep-12-2023 (created)
-    
-    // todo 淇敼parent绫诲瀷
-    value := select( parent, MappingProduct, item, item.ID() = productId );
-    return value;
-  *]
-}
diff --git a/_Main/BL/Type_MappingProduct/TypeIndex_MappingProductTypeIndex.qbl b/_Main/BL/Type_MappingProduct/TypeIndex_MappingProductTypeIndex.qbl
deleted file mode 100644
index 56be564..0000000
--- a/_Main/BL/Type_MappingProduct/TypeIndex_MappingProductTypeIndex.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingProductTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ID
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: BusinessType
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingProduct/_ROOT_Type_MappingProduct.qbl b/_Main/BL/Type_MappingProduct/_ROOT_Type_MappingProduct.qbl
deleted file mode 100644
index 305fd9d..0000000
--- a/_Main/BL/Type_MappingProduct/_ROOT_Type_MappingProduct.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingProduct
-{
-  #keys: '5[414480.0.61581356][414480.0.61581354][0.0.0][414480.0.61581355][414480.0.61581357]'
-  BaseType: Object
-  StructuredName: 'MappingProducts'
-}
diff --git a/_Main/BL/Type_MappingProductInLine/Attribute_LineID.qbl b/_Main/BL/Type_MappingProductInLine/Attribute_LineID.qbl
deleted file mode 100644
index f5a5b03..0000000
--- a/_Main/BL/Type_MappingProductInLine/Attribute_LineID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute LineID
-{
-  #keys: '3[412960.0.86844688][412960.0.86844687][412960.0.86844689]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProductInLine/Attribute_ProductID.qbl b/_Main/BL/Type_MappingProductInLine/Attribute_ProductID.qbl
deleted file mode 100644
index 1d12810..0000000
--- a/_Main/BL/Type_MappingProductInLine/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
-  #keys: '3[412960.0.86844678][412960.0.86844677][412960.0.86844679]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProductInLine/TypeIndex_MappingProductInLineTypeIndex.qbl b/_Main/BL/Type_MappingProductInLine/TypeIndex_MappingProductInLineTypeIndex.qbl
deleted file mode 100644
index e03b2fd..0000000
--- a/_Main/BL/Type_MappingProductInLine/TypeIndex_MappingProductInLineTypeIndex.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingProductInLineTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: ProductID
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: LineID
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingProductInLine/_ROOT_Type_MappingProductInLane.qbl b/_Main/BL/Type_MappingProductInLine/_ROOT_Type_MappingProductInLane.qbl
deleted file mode 100644
index dc33bce..0000000
--- a/_Main/BL/Type_MappingProductInLine/_ROOT_Type_MappingProductInLane.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingProductInLane
-{
-  #keys: '5[412960.0.86844659][412960.0.86844657][0.0.0][412960.0.86844658][412960.0.86844660]'
-  BaseType: Object
-  StructuredName: 'MappingProductInLanes'
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_BusinessType.qbl
deleted file mode 100644
index 7dd6ffa..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
-  #keys: '3[414384.0.583160133][414384.0.583160132][414384.0.583160134]'
-  Description: '浜嬩笟閮�'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_DisplayIndex.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_DisplayIndex.qbl
deleted file mode 100644
index 560dc81..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_DisplayIndex.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DisplayIndex
-{
-  #keys: '3[414384.0.583160163][414384.0.583160162][414384.0.583160164]'
-  Description: '鏄剧ず椤哄簭缂栧彿'
-  ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_Name.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_Name.qbl
deleted file mode 100644
index 34acb74..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_Name.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Name
-{
-  #keys: '3[414384.0.583160143][414384.0.583160142][414384.0.583160144]'
-  Description: '瀹㈡埛鍚嶇О'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_ParentName.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_ParentName.qbl
deleted file mode 100644
index 2dae528..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_ParentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ParentName
-{
-  #keys: '3[414384.0.583160153][414384.0.583160152][414384.0.583160154]'
-  Description: '閿�鍞儴闂ㄥ垎绫�'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/TypeIndex_MappingSalesSegmentTypeIndex.qbl b/_Main/BL/Type_MappingSalesSegment/TypeIndex_MappingSalesSegmentTypeIndex.qbl
deleted file mode 100644
index 8d2d6f4..0000000
--- a/_Main/BL/Type_MappingSalesSegment/TypeIndex_MappingSalesSegmentTypeIndex.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingSalesSegmentTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: BusinessType
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: Name
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/_ROOT_Type_MappingSalesSegment.qbl b/_Main/BL/Type_MappingSalesSegment/_ROOT_Type_MappingSalesSegment.qbl
deleted file mode 100644
index 36a7d8b..0000000
--- a/_Main/BL/Type_MappingSalesSegment/_ROOT_Type_MappingSalesSegment.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingSalesSegment
-{
-  #keys: '5[414384.0.583160110][414384.0.583160108][0.0.0][414384.0.583160109][414384.0.583160111]'
-  BaseType: Object
-  Description: 'ETL閿�鍞儴闂�'
-  StructuredName: 'MappingSalesSegments'
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_Equipment.qbl b/_Main/BL/Type_MappingUnit/Attribute_Equipment.qbl
deleted file mode 100644
index 9031b89..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_Equipment.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Equipment
-{
-  #keys: '3[412960.0.96453712][412960.0.96453711][412960.0.96453713]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_EquipmentID.qbl b/_Main/BL/Type_MappingUnit/Attribute_EquipmentID.qbl
deleted file mode 100644
index a058fae..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_EquipmentID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute EquipmentID
-{
-  #keys: '3[412960.0.96453702][412960.0.96453701][412960.0.96453703]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_OperationType.qbl b/_Main/BL/Type_MappingUnit/Attribute_OperationType.qbl
deleted file mode 100644
index f6e2520..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_OperationType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OperationType
-{
-  #keys: '3[412960.0.96453692][412960.0.96453691][412960.0.96453693]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_OrganCode.qbl b/_Main/BL/Type_MappingUnit/Attribute_OrganCode.qbl
deleted file mode 100644
index 94daa49..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_OrganCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganCode
-{
-  #keys: '3[412960.0.96453662][412960.0.96453661][412960.0.96453663]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_OrganName.qbl b/_Main/BL/Type_MappingUnit/Attribute_OrganName.qbl
deleted file mode 100644
index f7e8208..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_OrganName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganName
-{
-  #keys: '3[412960.0.96453672][412960.0.96453671][412960.0.96453673]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_PlantName.qbl b/_Main/BL/Type_MappingUnit/Attribute_PlantName.qbl
deleted file mode 100644
index 98dffe6..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_PlantName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PlantName
-{
-  #keys: '3[412960.0.96453682][412960.0.96453681][412960.0.96453683]'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/TypeIndex_MappingUnitTypeIndex.qbl b/_Main/BL/Type_MappingUnit/TypeIndex_MappingUnitTypeIndex.qbl
deleted file mode 100644
index 1e6093e..0000000
--- a/_Main/BL/Type_MappingUnit/TypeIndex_MappingUnitTypeIndex.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingUnitTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: OrganCode
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: OperationType
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: EquipmentID
-    }
-    TypeIndexAttribute
-    {
-      ModelElement: PlantName
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingUnit/_ROOT_Type_MappingUnit.qbl b/_Main/BL/Type_MappingUnit/_ROOT_Type_MappingUnit.qbl
deleted file mode 100644
index 9dd41e7..0000000
--- a/_Main/BL/Type_MappingUnit/_ROOT_Type_MappingUnit.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingUnit
-{
-  #keys: '5[412960.0.96453658][412960.0.96453656][0.0.0][412960.0.96453657][412960.0.96453659]'
-  BaseType: Object
-  StructuredName: 'MappingUnits'
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_IsDefault.qbl b/_Main/BL/Type_MappingUnitOfMeasure/Attribute_IsDefault.qbl
deleted file mode 100644
index 241405a..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_IsDefault.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsDefault
-{
-  #keys: '3[414384.0.583160085][414384.0.583160084][414384.0.583160086]'
-  Description: '鏄惁榛樿'
-  ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_name.qbl b/_Main/BL/Type_MappingUnitOfMeasure/Attribute_name.qbl
deleted file mode 100644
index f65ee0a..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_name.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Name
-{
-  #keys: '3[414384.0.583160075][414384.0.583160074][414384.0.583160076]'
-  Description: '鍗曚綅鍚嶇О'
-  IsReadOnly: true
-  ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/DefaultValue_IsDefault.qbl b/_Main/BL/Type_MappingUnitOfMeasure/DefaultValue_IsDefault.qbl
deleted file mode 100644
index 4bce483..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/DefaultValue_IsDefault.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  ISOValue: 'false'
-  TargetAttribute: IsDefault
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/TypeIndex_MappingUnitOfMeasureTypeIndex.qbl b/_Main/BL/Type_MappingUnitOfMeasure/TypeIndex_MappingUnitOfMeasureTypeIndex.qbl
deleted file mode 100644
index 930697e..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/TypeIndex_MappingUnitOfMeasureTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingUnitOfMeasureTypeIndex
-{
-  Attributes:
-  [
-    TypeIndexAttribute
-    {
-      ModelElement: Name
-    }
-  ]
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/_ROOT_Type_MappingUnitOfMeasure.qbl b/_Main/BL/Type_MappingUnitOfMeasure/_ROOT_Type_MappingUnitOfMeasure.qbl
deleted file mode 100644
index cfa0e06..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/_ROOT_Type_MappingUnitOfMeasure.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingUnitOfMeasure
-{
-  #keys: '5[414384.0.583160055][414384.0.583160053][0.0.0][414384.0.583160054][414384.0.583160056]'
-  BaseType: Object
-  Description: 'ETL鍗曚綅'
-  StructuredName: 'MappingUnitOfMeasures'
-}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl
index 8aac689..a151143 100644
--- a/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
 Attribute BusinessType
 {
   #keys: '3[414382.0.456067060][414382.0.456067059][414382.0.456067061]'
+  Description: '浜嬩笟閮�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl b/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl
index bb97070..8947833 100644
--- a/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl
+++ b/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl
@@ -3,5 +3,6 @@
 Attribute Desc
 {
   #keys: '3[414382.0.440655066][414382.0.440655065][414382.0.440655067]'
+  Description: '鎻忚堪'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl b/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl
index 80792db..f6624c3 100644
--- a/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl
+++ b/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl
@@ -3,5 +3,6 @@
 Attribute Name
 {
   #keys: '3[414382.0.440655046][414382.0.440655045][414382.0.440655047]'
+  Description: '浼樺厛绾у洜瀛愬悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl
deleted file mode 100644
index 3f5a69d..0000000
--- a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ReflectionAttribute
-{
-  #keys: '3[414382.0.554303396][414382.0.554303395][414382.0.554303397]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl
deleted file mode 100644
index 49b163b..0000000
--- a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ReflectionType
-{
-  #keys: '3[414382.0.554014806][414382.0.554014805][414382.0.554014807]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
index 4fa81fb..b1761d7 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
@@ -8,10 +8,11 @@
   String name
 ) as Boolean
 {
+  Description: '鏍¢獙鍚嶇О鏄惁鐩稿悓'
   TextBody:
   [*
     // NBoTk Sep-22-2023 (created)
-    
+    // 鏍¢獙鍚嶇О鏄惁鐩稿悓 鍚嶇О鐩稿悓鐨勬暟鎹烦杩囧鐞�
     value := true;
     
     // 鍚嶇О鐩稿悓璺宠繃
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
index d935ad9..0497cd2 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
@@ -6,6 +6,7 @@
   String name
 ) as Real
 {
+  Description: '鑾峰彇浼樺厛绾у洜瀛愮郴鏁�'
   TextBody:
   [*
     // NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
index 6f6f24f..db637e1 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
@@ -5,6 +5,7 @@
   String businessType
 ) as owning PriorityFactors
 {
+  Description: '鏍规嵁浜嬩笟閮ㄨ幏鍙栦紭鍏堢骇鍥犲瓙闆嗗悎'
   TextBody:
   [*
     // NBoTk Sep-18-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
index 05489f2..70e553c 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
@@ -5,6 +5,7 @@
   String businessType
 ) as String
 {
+  Description: '鑾峰彇浼樺厛绾у洜瀛愪笅鎷夊垪琛�'
   TextBody:
   [*
     // NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
index a2be846..6149423 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
@@ -4,6 +4,7 @@
   MacroPlan owner
 )
 {
+  Description: '鍒濆鍖栧熀纭�鏁版嵁锛堟祴璇曢樁娈典娇鐢級'
   TextBody:
   [*
     // NBoTk Sep-15-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl b/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl
index fcac9ad..a1fceb8 100644
--- a/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl
+++ b/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl
@@ -5,5 +5,6 @@
 {
   #keys: '5[414382.0.440655008][414382.0.440655006][0.0.0][414382.0.440655007][414382.0.440655009]'
   BaseType: Object
+  Description: '浼樺厛绾у洜瀛�'
   StructuredName: 'PriorityFactors'
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
index 55b4b64..a793114 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
@@ -3,5 +3,6 @@
 Attribute GradeDesc
 {
   #keys: '3[414382.0.475830209][414382.0.475830208][414382.0.475830210]'
+  Description: '浼樺厛绾у洜瀛愮粏鍒嗘弿杩�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl
index 9ae65b9..f22d96f 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl
@@ -3,5 +3,6 @@
 Attribute GradeTarget
 {
   #keys: '3[414382.0.440655126][414382.0.440655125][414382.0.440655127]'
+  Description: '浼樺厛绾у洜瀛愮粏鍒嗙洰鏍囧��'
   ValueType: Real
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl
index e84d510..d0e463e 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl
@@ -3,5 +3,6 @@
 Attribute GradeValueStr
 {
   #keys: '3[414382.0.440655139][414382.0.440655138][414382.0.440655140]'
+  Description: '浼樺厛绾у洜瀛愮粏鍒嗙郴鏁�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl
index e38eb27..ac74d03 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl
@@ -3,5 +3,6 @@
 Attribute GradingName
 {
   #keys: '3[414382.0.440655086][414382.0.440655085][414382.0.440655087]'
+  Description: '浼樺厛绾у洜瀛愮粏鍒嗗悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl
index b5b33ba..899f37f 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl
@@ -3,5 +3,6 @@
 Attribute IsBusinessType
 {
   #keys: '3[414382.0.444830107][414382.0.444830106][414382.0.444830108]'
+  Description: '鏄惁涓轰簨涓氶儴锛堝綋鍓嶉樁娈靛純鐢級'
   ValueType: Boolean
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl
index 8b4b84c..9f2a7b3 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl
@@ -3,5 +3,6 @@
 Attribute IsRange
 {
   #keys: '3[414382.0.440655096][414382.0.440655095][414382.0.440655097]'
+  Description: '鏄惁浣跨敤鑼冨洿'
   ValueType: Boolean
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorDesc.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorDesc.qbl
deleted file mode 100644
index 265d712..0000000
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorDesc.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityFactorDesc
-{
-  #keys: '3[414382.0.452050072][414382.0.452050071][414382.0.452050073]'
-  ValueType: String
-}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl
index 6d4a629..71105b3 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl
@@ -2,6 +2,7 @@
 #parent: #root
 Attribute PriorityFactorName
 {
-  #keys: '3[414382.0.444830222][414382.0.444830221][414382.0.444830223]'
+  #keys: '3[414382.0.640470087][414382.0.640470086][414382.0.640470088]'
+  Description: '浼樺厛绾у洜瀛愬悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl
index 4193c14..ad59f0e 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl
@@ -3,5 +3,6 @@
 Attribute RangeMax
 {
   #keys: '3[414382.0.440655106][414382.0.440655105][414382.0.440655107]'
+  Description: '鑼冨洿鏈�澶у��'
   ValueType: Real
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl
index 1af51cb..513cdbe 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl
@@ -3,5 +3,6 @@
 Attribute RangeMin
 {
   #keys: '3[414382.0.440655116][414382.0.440655115][414382.0.440655117]'
+  Description: '鑼冨洿鏈�灏忓��'
   ValueType: Real
 }
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
index 536d7e8..bca0897 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
@@ -4,6 +4,7 @@
   MacroPlan owner
 )
 {
+  Description: '娓呴櫎娴嬭瘯鏁版嵁锛堟祴璇曢樁娈碉級'
   TextBody:
   [*
     // NBoTk Sep-18-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
index 1f31939..c05523a 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
@@ -5,6 +5,7 @@
   MacroPlan owner
 ) as owning PriorityFactorDetailss
 {
+  Description: '鏍规嵁浜嬩紭鍏堢骇鍥犲瓙鑾峰彇浼樺厛绾у洜瀛愮粏鍒嗛泦鍚�'
   TextBody:
   [*
     // NBoTk Sep-18-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
index 1449c61..d015c1f 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
@@ -5,6 +5,7 @@
   PriorityFactor priorityFactor
 )
 {
+  Description: '鍒濆鍖栨暟鎹紙娴嬭瘯闃舵锛�'
   TextBody:
   [*
     // NBoTk Sep-17-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl b/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl
index 7c4a1f4..0551401 100644
--- a/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl
@@ -5,5 +5,6 @@
 {
   #keys: '5[414382.0.440655013][414382.0.440655011][0.0.0][414382.0.440655012][414382.0.440655014]'
   BaseType: Object
+  Description: '浼樺厛绾у洜瀛愮粏鍒�'
   StructuredName: 'PriorityFactorDetailss'
 }
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
index 4cc5680..221fec6 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
 Attribute BusinessType
 {
   #keys: '3[414382.0.488041999][414382.0.488041998][414382.0.488042000]'
+  Description: '浜嬩笟閮�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
index ce4c95c..ac12465 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
@@ -3,5 +3,6 @@
 Attribute CalculateValue
 {
   #keys: '3[414382.0.488041974][414382.0.488041973][414382.0.488041975]'
+  Description: '璁$畻鍊�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
index a142044..a5dc73d 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
@@ -3,5 +3,6 @@
 Attribute Desc
 {
   #keys: '3[414382.0.488042011][414382.0.488042010][414382.0.488042012]'
+  Description: '鎻忚堪'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
index 1c416d1..9c6372a 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
@@ -3,5 +3,6 @@
 Attribute Formula
 {
   #keys: '3[414382.0.488041964][414382.0.488041963][414382.0.488041965]'
+  Description: '璁$畻鍏紡'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
index 709f9c9..e386c74 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
@@ -3,5 +3,6 @@
 Attribute Name
 {
   #keys: '3[414382.0.488041954][414382.0.488041953][414382.0.488041955]'
+  Description: '浼樺厛绾х瓥鐣ュ悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl
index c76e0a0..b8cf039 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl
@@ -5,6 +5,7 @@
   String formula
 ) as String
 {
+  Description: '鏍规嵁浼樺厛绾у洜瀛愬悕绉� 鎷兼帴鍏紡'
   TextBody:
   [*
     // NBoTk Oct-7-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl
index 2095877..6a7f27e 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl
@@ -6,6 +6,7 @@
   String lastCalcStr
 ) as String
 {
+  Description: '浼樺厛绾ц绠�'
   TextBody:
   [*
     // NBoTk Oct-7-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
index 2698209..b6c9ec4 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
@@ -5,6 +5,7 @@
   String businessType
 ) as owning PriorityPolicys
 {
+  Description: '鏍规嵁浜嬩笟閮ㄨ幏鍙栦紭鍏堢骇绛栫暐'
   TextBody:
   [*
     // NBoTk Sep-20-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
index 122b53c..b284e66 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
@@ -6,6 +6,7 @@
   String stringData
 ) as String
 {
+  Description: '椤甸潰璁$畻鍏紡鍥為��鎿嶄綔'
   TextBody:
   [*
     // NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
index 129f7d7..7098d73 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
@@ -6,6 +6,7 @@
   String stringData
 ) as String
 {
+  Description: '椤甸潰璁$畻鍊煎洖閫�鎿嶄綔'
   TextBody:
   [*
     // NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
index 16f7189..ed82831 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
 Attribute BusinessType
 {
   #keys: '3[414382.0.504275379][414382.0.504275378][414382.0.504275380]'
+  Description: '浜嬩笟閮�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl b/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
index 21774fc..c333696 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
@@ -3,5 +3,6 @@
 Attribute Customer
 {
   #keys: '3[414382.0.504275376][414382.0.504275375][414382.0.504275377]'
+  Description: '瀹㈡埛鍚嶇О'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl b/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
index afabecd..f803ee2 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
@@ -3,5 +3,6 @@
 Attribute CustomerID
 {
   #keys: '3[414382.0.504275385][414382.0.504275384][414382.0.504275386]'
+  Description: '瀹㈡埛缂栫爜'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl b/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl
index f65a510..bce35d0 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl
@@ -3,5 +3,6 @@
 Attribute CustomerOrderID
 {
   #keys: '3[414382.0.554015006][414382.0.554015005][414382.0.554015007]'
+  Description: '瀹㈡埛璁㈠崟ID'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl b/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
index 5088806..3d15622 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
@@ -3,5 +3,6 @@
 Attribute DemandDate
 {
   #keys: '3[414382.0.504275370][414382.0.504275369][414382.0.504275371]'
+  Description: '闇�姹傛椂闂�'
   ValueType: Date
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl b/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
index 6f38dd5..eea1d9c 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
@@ -3,5 +3,6 @@
 Attribute PriorityResultScore
 {
   #keys: '3[414382.0.504275396][414382.0.504275395][414382.0.504275397]'
+  Description: '浼樺厛绾х粨鏋滃緱鍒�'
   ValueType: Real
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl b/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
index b9b828f..a3d6adc 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
@@ -3,5 +3,6 @@
 Attribute ProductID
 {
   #keys: '3[414382.0.504275367][414382.0.504275366][414382.0.504275368]'
+  Description: '浜у搧缂栫爜'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl b/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
index b18ef2c..8d86e9e 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
@@ -3,5 +3,6 @@
 Attribute Quantity
 {
   #keys: '3[414382.0.504275361][414382.0.504275360][414382.0.504275362]'
+  Description: '鏁伴噺'
   ValueType: Real
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
index 1ade98f..9a4faf4 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
@@ -3,5 +3,6 @@
 Attribute SalesSegmentName
 {
   #keys: '3[414382.0.504275382][414382.0.504275381][414382.0.504275383]'
+  Description: '閿�鍞儴闂ㄥ悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl b/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
index db04a7f..17b0e02 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
@@ -3,5 +3,6 @@
 Attribute StockingPointID
 {
   #keys: '3[414382.0.504275364][414382.0.504275363][414382.0.504275365]'
+  Description: '搴撳瓨鐐�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
index 8877500..42dda31 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
@@ -3,5 +3,6 @@
 Attribute UnitOfMeasureName
 {
   #keys: '3[414382.0.504275373][414382.0.504275372][414382.0.504275374]'
+  Description: '鍗曚綅'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl
deleted file mode 100644
index 1672b03..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: BusinessType
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl
deleted file mode 100644
index e02a336..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: Customer
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl
deleted file mode 100644
index 66ae438..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: CustomerID
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl
deleted file mode 100644
index 98649b2..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: ProductID
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl
deleted file mode 100644
index 521966d..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: SalesSegmentName
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl
deleted file mode 100644
index fbb83fc..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: StockingPointID
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl
deleted file mode 100644
index b2012de..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: UnitOfMeasureName
-}
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
index 2f7e3cb..09624f6 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
@@ -9,6 +9,7 @@
   const GlobalOTDTable globalOTDTable
 ) as Real
 {
+  Description: '閫掑綊澶勭悊浼樺厛绾х瓥鐣ュ叕寮�'
   TextBody:
   [*
     // NBoTk Sep-26-2023 (created)
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
index 4555573..d1f8df9 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
@@ -7,6 +7,7 @@
   const GlobalOTDTable globalOTDTable
 ) as Real
 {
+  Description: '璁$畻浼樺厛绾у洜瀛愬緱鍒�'
   TextBody:
   [*
     // NBoTk Sep-26-2023 (created)
@@ -115,8 +116,22 @@
                  // 涓嬪崟鏃堕棿
                  orderTime := customerOrder.OrderTime();
                  days := orderTime.TotalInDays() - customerOrder.EndDate().TotalInDays();
-                 obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "璁㈠崟涓嬪崟鏃堕棿" and days >= [Number]p.GradingName());
-                 value := priorityFactor.Coefficient() * obj.GradeTarget();
+                 obj := null( PriorityFactorDetails);
+                 sortDetail := selectsortedset( priorityFactor,PriorityFactorDetails,p,[Number]p.GradingName());
+                 traverse( sortDetail,Elements,e )
+                 {
+                       if( days >= [Number]e.GradingName() )
+                       {
+                              obj := e;
+                       }
+                 }      
+                 //obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "璁㈠崟涓嬪崟鏃堕棿" and days >= [Number]p.GradingName());
+                 value := 0;
+                 if( not isnull( obj) )
+                 {
+                    value := priorityFactor.Coefficient() * obj.GradeTarget();
+                 }
+                 
             }
     }
     return value;
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl
index 3033476..8518ab1 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl
@@ -5,6 +5,7 @@
   MacroPlan macroPlan
 ) as String
 {
+  Description: '浼樺厛绾х瓥鐣ュ叕寮忔埅鍙�'
   TextBody:
   [*
     // NBoTk Sep-26-2023 (created)
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
index 83fc44e..c8cc95d 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
@@ -6,6 +6,7 @@
   GlobalOTDTable globalOTDTable
 )
 {
+  Description: '璁$畻customerOrder浼樺厛绾у緱鍒�'
   TextBody:
   [*
     // NBoTk Sep-26-2023 (created)
diff --git a/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl b/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
index 3d6983a..301485b 100644
--- a/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
+++ b/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
@@ -5,5 +5,6 @@
 {
   #keys: '5[414382.0.504275125][414382.0.504275123][0.0.0][414382.0.504275124][414382.0.504275126]'
   BaseType: Object
+  Description: '浼樺厛绾х粨鏋�'
   StructuredName: 'PriorityResults'
 }
diff --git a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
index 5e14913..c380797 100644
--- a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
+++ b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
@@ -4,11 +4,12 @@
   PriorityResultBusinessTypeDetail businessTypeDetails
 ) as Boolean
 {
+  Description: '鏍¢獙褰撳墠鍗曟嵁鏄惁鍙揣鎬ョ疆椤�'
   TextBody:
   [*
     // NBoTk Sep-21-2023 (created)
     groupDetails := selectset( businessTypeDetails.PriorityResult(),PriorityResultGroupDetail,p,true);
     
-    return isnull( groupDetails);
+    return not isnull( groupDetails);
   *]
 }
diff --git a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
index 8030509..7e00fe2 100644
--- a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
+++ b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
@@ -5,6 +5,7 @@
   PriorityResultBusinessTypeDetail businessTypeDetails
 )
 {
+  Description: '绱ф�ョ疆椤�'
   TextBody:
   [*
     // NBoTk Sep-21-2023 (created)
@@ -16,5 +17,81 @@
     
     topScore := maxPriorityResult + 1;
     businessTypeDetails.PriorityTotalScore(topScore);
+    
+    // 浼樺厛绾у洜瀛愬鐞嗗畬鎴愬悗 鎺掑簭鍥炲~鏁版嵁
+    resultList := selectsortedset( owner,PriorityResult,result,
+                                   true,
+                                   result.PriorityResultScore()
+                                   )
+    
+    // 閲嶆柊璁$畻鍙嶅~customerOrder浼樺厛绾�
+    // Quintiq浼樺厛绾у垎10绾� 闇�瑕佸垎娈佃绠� 鍚戜笂鍙栨暣
+    subLevel := round( resultList.Size() div 10);
+    subLevelCount := 0;
+    
+    priorityValue := 1;
+    if( resultList.Size() <= 10 )
+    {
+        traverse( resultList,Elements,e)
+        {
+            obj := selectobject( owner,SalesDemand.astype( CustomerOrder ),order, 
+                         order.ID() = e.CustomerOrderID()
+                         );
+                         
+            // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞�
+            if( not isnull( obj ) )
+            {
+                  obj.PriorityName([String]priorityValue);
+                  
+                  // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉
+                  // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪
+                  oldPriority := selectobject( owner,Priority,p,p.Name() = [String]priorityValue);
+                  if(isnull( oldPriority ) )
+                  {
+                        owner.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue);
+                  }        
+            }
+            
+            // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾�
+            //浼樺厛绾�+1
+            priorityValue := priorityValue + 1;
+        }
+    }
+    else
+    {
+        traverse( resultList,Elements,e)
+        {
+            obj := selectobject( owner,SalesDemand.astype( CustomerOrder ),order, 
+                                 order.ID() = e.CustomerOrderID()
+                                 );
+            
+            // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞�
+            if( not isnull( obj ) )
+            {
+                  obj.PriorityName([String]priorityValue);
+                  
+                  // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉
+                  // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪
+                  oldPriority := selectobject( owner,Priority,p,p.Name() = [String]priorityValue);
+                  if(isnull( oldPriority ) )
+                  {
+                        owner.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue);
+                  }        
+            }
+        
+            // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾�
+            subLevelCount := subLevelCount + 1;
+            if( subLevelCount = subLevel )
+            {
+                // 褰撳埌杈惧垎娈垫暟閲忓悗 浼樺厛绾�+1 鍒嗘璁℃暟浠�0寮�濮�
+                if( priorityValue < 10 )
+                {
+                      priorityValue := priorityValue + 1;
+                }
+                subLevelCount := 0;
+            }
+        }
+    
+    }
   *]
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
index 0d853fd..aef1070 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
 Attribute BusinessType
 {
   #keys: '3[414382.0.504275420][414382.0.504275419][414382.0.504275421]'
+  Description: '浜嬩笟閮�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
index e5c3e9e..0ebe7f8 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
@@ -3,5 +3,6 @@
 Attribute Customer
 {
   #keys: '3[414382.0.504275411][414382.0.504275410][414382.0.504275412]'
+  Description: '瀹㈡埛鍚嶇О'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
index 3afa6f2..7f16e5b 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
@@ -3,5 +3,6 @@
 Attribute CustomerID
 {
   #keys: '3[414382.0.504275429][414382.0.504275428][414382.0.504275430]'
+  Description: '瀹㈡埛缂栫爜'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
index 8218754..099d639 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
@@ -3,5 +3,6 @@
 Attribute DemandDate
 {
   #keys: '3[414382.0.504275423][414382.0.504275422][414382.0.504275424]'
+  Description: '闇�姹傛椂闂�'
   ValueType: Date
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
index 30c7925..caa0d6f 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
@@ -3,5 +3,6 @@
 Attribute PriorityFactorGradingName
 {
   #keys: '3[414382.0.504275468][414382.0.504275467][414382.0.504275469]'
+  Description: '浼樺厛绾у洜瀛愮粏鍒嗗悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
index 2941275..07dc447 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
@@ -3,5 +3,6 @@
 Attribute PriorityFactorName
 {
   #keys: '3[414382.0.504275458][414382.0.504275457][414382.0.504275459]'
+  Description: '浼樺厛绾у洜瀛愬悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
index 58f721a..6488cec 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
@@ -3,5 +3,6 @@
 Attribute PriorityPolicyName
 {
   #keys: '3[414382.0.504275439][414382.0.504275438][414382.0.504275440]'
+  Description: '浼樺厛绾х瓥鐣ュ悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
index 7ef6592..4c5b4b8 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
@@ -3,5 +3,6 @@
 Attribute PriorityResultScore
 {
   #keys: '3[414382.0.504275426][414382.0.504275425][414382.0.504275427]'
+  Description: '浼樺厛绾х粨鏋滃緱鍒�'
   ValueType: Real
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
index 6da2ce3..69c2626 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
@@ -3,5 +3,6 @@
 Attribute Quantity
 {
   #keys: '3[414382.0.504275414][414382.0.504275413][414382.0.504275415]'
+  Description: '鏁伴噺'
   ValueType: Real
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
index 96cedff..a51accf 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
@@ -3,5 +3,6 @@
 Attribute SalesSegmentName
 {
   #keys: '3[414382.0.504275435][414382.0.504275434][414382.0.504275436]'
+  Description: '閿�鍞儴闂ㄥ悕绉�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
index 6f0a2fc..63082aa 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
@@ -3,5 +3,6 @@
 Attribute StockingPointID
 {
   #keys: '3[414382.0.504275417][414382.0.504275416][414382.0.504275418]'
+  Description: '搴撳瓨鐐�'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
index 7abadad..d2f8d9e 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
@@ -3,5 +3,6 @@
 Attribute UnitOfMeasureName
 {
   #keys: '3[414382.0.504275432][414382.0.504275431][414382.0.504275433]'
+  Description: '鍗曚綅'
   ValueType: String
 }
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl
deleted file mode 100644
index 1672b03..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: BusinessType
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl
deleted file mode 100644
index e02a336..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: Customer
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl
deleted file mode 100644
index 66ae438..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: CustomerID
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl
deleted file mode 100644
index 521966d..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: SalesSegmentName
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl
deleted file mode 100644
index fbb83fc..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: StockingPointID
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl
deleted file mode 100644
index b2012de..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
-  TargetAttribute: UnitOfMeasureName
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl b/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
index 26b2f55..7aed150 100644
--- a/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
@@ -5,5 +5,6 @@
 {
   #keys: '5[414382.0.504275135][414382.0.504275133][0.0.0][414382.0.504275134][414382.0.504275136]'
   BaseType: Object
+  Description: '浼樺厛绾х粨鏋滄槑缁�'
   StructuredName: 'PriorityResultDetails'
 }

--
Gitblit v1.9.3