From 690f3bc25ec004fcf9ada3f0cfbbacb88853b281 Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期二, 19 九月 2023 20:57:55 +0800
Subject: [PATCH] 数据全局化

---
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType.qbl                                                                      |    7 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_LengthOfTime.qbl                                                                      |    7 
 _Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl                                                                                   |  197 +++
 _Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl                                                                     |   40 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl                                         |    7 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPointCost_Global_MappingStocki.qbl                                  |   23 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingLane_Global_MappingLane_GlobalOTDTable.qbl                                  |   23 
 _Main/BL/Relations/Relation_Global_MappingActualProductInStockingPointInPeriod_GlobalOTDTable_G.qbl                                  |   23 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Operation.qbl                                               |   20 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_OperationCost.qbl                                                  |   17 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ProductInLane.qbl                                                  |   17 
 _Main/BL/EDI/Broker_GlobalOTDTable_ProductInLane.qbl                                                                                 |   57 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorDateTime.qbl                                                                    |    7 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Description.qbl                                           |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnit.qbl                                                                 |    8 
 _Main/BL/Type_Global_MappingOperation/Attribute_ActualCapacity.qbl                                                                   |    7 
 _Main/BL/Type_Global_MappingLaneLeg/Attribute_DestinationStockingPointID.qbl                                                         |    7 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_SalesSegmentName.qbl                                                               |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomOrder.qbl                                             |   20 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_UnitOfMeasure_MP.qbl                                        |   20 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_SubstitutionRelationship.qbl                                                      |    7 
 _Main/BL/Type_Global_MappingProductInLane/Attribute_LineID.qbl                                                                       |    8 
 _Main/BL/Type_Global_MappingOperation/Attribute_ProductID.qbl                                                                        |    8 
 _Main/BL/Relations/Relation_Global_MappingCustomOrder_GlobalOTDTable_GlobalOTDTable_Global_Mapp.qbl                                  |   23 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_UnitOfMeasureName.qbl                                                              |    7 
 _Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl                                                                                     |  200 +++
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ConversionFactor.qbl                                               |   17 
 _Main/BL/Type_Global_MappingForecast/TypeIndex_TypeIndex.qbl                                                                         |   12 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_ID.qbl                                                                                |    8 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationCost_Global_MappingOperationC.qbl                                  |   23 
 _Main/BL/EDI/Broker_GlobalOTDTable_OperationCost.qbl                                                                                 |  142 ++
 _Main/BL/Type_Global_MappingForecast/Attribute_BusinessType.qbl                                                                      |    7 
 _Main/BL/Type_Global_MappingCustomOrder/TypeIndex_TypeIndex.qbl                                                                      |   12 
 _Main/BL/Type_Global_MappingForecast/Attribute_ID.qbl                                                                                |    8 
 _Main/BL/EDI/Broker_GlobalOTDTable_InventorySupply.qbl                                                                               |  152 ++
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Date.qbl                                                  |    8 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_BusinessType.qbl                                                                   |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AIPISPIP.qbl                                                       |   17 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_SupplyType.qbl                                                                 |    7 
 _Main/BL/Type_Global_MappingForecast/_ROOT_Type_Global_MappingForecast.qbl                                                           |    9 
 _Main/BL/Relations/Relation_Global_MappingInventorySupply_GlobalOTDTable_GlobalOTDTable_Global_.qbl                                  |   23 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingLaneLeg_Global_MappingLaneLeg_GlobalOT.qbl                                  |   23 
 _Main/BL/Type_Global_MappingStockingPointCost/Attribute_Cost.qbl                                                                     |    7 
 _Main/BL/Type_Global_MappingForecast/Attribute_Price.qbl                                                                             |    7 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_ID.qbl                                                                         |    8 
 _Main/BL/Type_Global_MappingLane/Attribute_ID.qbl                                                                                    |    7 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_Name.qbl                                                                             |    7 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_IsSuccess.qbl                                                                        |    7 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_ManufacturedDate.qbl                                                           |    7 
 _Main/BL/Type_Global_MappingStockingPointCost/Attribute_ID.qbl                                                                       |    8 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_BrokerName.qbl                                                                       |    7 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderDate.qbl                                                                      |    7 
 _Main/BL/Type_Global_MappingLane/Attribute_UserLeadTime.qbl                                                                          |    7 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_CostDriver.qbl                                                                        |    7 
 _Main/BL/Type_Global_MappingLaneLeg/Attribute_UserLeadTime.qbl                                                                       |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterial.qbl                                              |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_StockingPointCost.qbl                                       |   20 
 _Main/BL/Type_Global_MappingOperation/TypeIndex_NewTypeIndex.qbl                                                                     |   36 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Forecast.qbl                                                       |    5 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ActualInventoryLevelEnd.qbl                               |    7 
 _Main/BL/Type_Global_MappingLane/Attribute_Name.qbl                                                                                  |    7 
 _Main/BL/Type_Global_MappingStockingPointCost/TypeIndex_NewTypeIndex.qbl                                                             |   12 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_Quantity.qbl                                                                       |    7 
 _Main/BL/Type_Global_MappingStockingPointCost/Attribute_CostDriver.qbl                                                               |    7 
 _Main/BL/Type_Global_MappingCustomOrder/_ROOT_Type_Global_MappingCustomOrder.qbl                                                     |    9 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Operation.qbl                                                      |   17 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderID.qbl                                                                        |    7 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_ProductID.qbl                                                                         |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Product_MP.qbl                                                     |   17 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialType.qbl                                                       |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_BusinessType.qbl                                                                  |    8 
 _Main/BL/Type_Global_MappingProductInLane/_ROOT_Type_Global_MappingProductInLane.qbl                                                 |    9 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeRate.qbl                                                               |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Product_MP.qbl                                              |   20 
 _Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def |    2 
 _Main/BL/Type_Global_MappingOperation/Attribute_PlantName.qbl                                                                        |    8 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductType.qbl                                                                   |    7 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_Price.qbl                                                                          |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ProductInLane.qbl                                           |   20 
 _Main/BL/Type_Global_MappingInventorySupply/TypeIndex_TypeIndex.qbl                                                                  |   12 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperation_Global_MappingOperation_Glob.qbl                                  |   23 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ProductID.qbl                                             |    8 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_Customer.qbl                                                                       |    7 
 _Main/BL/Type_Global_MappingForecast/Attribute_CurrencyID.qbl                                                                        |    7 
 _Main/BL/Type_Global_MappingForecast/Attribute_ProductID.qbl                                                                         |    7 
 _Main/BL/Type_Global_MappingLane/Attribute_UnitID.qbl                                                                                |    7 
 _Main/BL/Type_Global_MappingOperationBOM/TypeIndex_TypeIndex.qbl                                                                     |   40 
 _Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/_ROOT_Component_FormBrokerExecuteLog.def                                        |   41 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockingPointID.qbl                                       |    8 
 _Main/BL/Type_Global_MappingStockingPointCost/Attribute_ProductID.qbl                                                                |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentDescription.qbl                                                          |    7 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/_ROOT_Type_Global_MappingActualProductInStockingPointInPeriod.qbl   |    9 
 _Main/BL/Type_Global_MappingLane/_ROOT_Type_Global_MappingLane.qbl                                                                   |    9 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SalesSegment_MP.qbl                                         |   20 
 _Main/BL/Type_Global_MappingForecast/Attribute_PriorityName.qbl                                                                      |    7 
 _Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl                                                                        |   39 
 _Main/BL/Type_Global_MappingOperation/_ROOT_Type_Global_MappingOperation.qbl                                                         |    9 
 _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def                                                  |   27 
 _Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Response_ListGlobal_BrokerExecuteLog_MenuDelete_OnClick.def                     |   14 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_StockingPointID.qbl                                                                |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitUsageOfComponents.qbl                                                         |    7 
 _Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl                                                  |   48 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorNo.qbl                                                                          |    7 
 _Main/BL/Type_Global_MappingForecast/Attribute_EndDate.qbl                                                                           |    7 
 _Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ListGlobal_BrokerExecuteLog.def                                       |  117 +
 _Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ColumnTitles511.def                                                   |   18 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_InventorySupply.qbl                                                |   17 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_CurrencyID.qbl                                                                     |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialUnit.qbl                                                       |    7 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_SuccessDateTime.qbl                                                                  |    7 
 _Main/BL/Type_Global_MappingForecast/Attribute_StartDate.qbl                                                                         |    7 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderLineID.qbl                                                                    |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_OrganCode.qbl                                                                     |    8 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ConversionFactor.qbl                                        |   20 
 _Main/BL/Type_Global_MappingOperation/Attribute_MaximumQuantity.qbl                                                                  |    7 
 _Main/BL/Type_Global_MappingOperation/Attribute_SequenceNumber.qbl                                                                   |    8 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentOutputRate.qbl                                                           |    7 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_AccountName.qbl                                                                       |    7 
 _Main/BL/Type_Global_MappingForecast/Attribute_StockingPointID.qbl                                                                   |    7 
 _Main/BL/Type_Global_MappingOperation/Attribute_OrganCode.qbl                                                                        |    8 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AIPISPIP.qbl                                                |   20 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_UserQuantity.qbl                                                               |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductCode.qbl                                                                   |    8 
 _Main/BL/Type_Global_MappingStockingPointCost/Attribute_AccountName.qbl                                                              |    7 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockType.qbl                                             |    7 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_Start.qbl                                                                             |    7 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ManufacturedDate.qbl                                      |    7 
 _Main/BL/Type_Global_MappingOperation/Attribute_BusinessType.qbl                                                                     |    8 
 _Main/BL/Type_Global_MappingOperation/Attribute_ProcessSection.qbl                                                                   |    8 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitOfMeasureName.qbl                                                             |    7 
 _Main/BL/Type_Global_MappingProductInLane/TypeIndex_TypeIndex.qbl                                                                    |   16 
 _Main/BL/EDI/Broker_GlobalOTDTable_StockingPointCost.qbl                                                                             |  107 +
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductDescribe.qbl                                                               |    7 
 _Main/BL/Type_Global_MappingInventorySupply/_ROOT_Type_Global_MappingInventorySupply.qbl                                             |    9 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnitDescription.qbl                                                      |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_UnitOfMeasure_MP.qbl                                               |   17 
 _Main/BL/Type_Global_MappingForecast/Attribute_Quantity.qbl                                                                          |    7 
 _Main/BL/EDI/Broker_GlobalOTDTable_OperationBOM.qbl                                                                                  |  208 +++
 _Main/BL/Type_Global_MappingOperationBOM/_ROOT_Type_Global_MappingOperationBOM.qbl                                                   |    9 
 _Main/BL/Type_Global_MappingLaneLeg/Attribute_Name.qbl                                                                               |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationBOM.qbl                                            |   20 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SalesSegment_MP.qbl                                                |   17 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductID.qbl                                                                      |    7 
 _Main/BL/Type_Global_MappingForecast/Attribute_SalesSegmentName.qbl                                                                  |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialCode.qbl                                                       |    8 
 _Main/BL/Type_Global_MappingProductInLane/Attribute_ProductID.qbl                                                                    |    8 
 _Main/BL/Type_Global_MappingStockingPointCost/Attribute_StockingPointID.qbl                                                          |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductUnitDescription.qbl                                                        |    7 
 _Main/BL/EDI/Broker_GlobalOTDTable_AIPISPIP.qbl                                                                                      |  156 ++
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_InventorySupply.qbl                                         |   20 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Forecast.qbl                                                |    9 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationCost.qbl                                           |   20 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_MaterialSystem.qbl                                                                |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentCode.qbl                                                                 |    8 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_Date.qbl                                                                       |    7 
 _Main/BL/Type_Global_MappingUnitCost/TypeIndex_TypeIndex.qbl                                                                         |   12 
 _Main/BL/Type_Global_MappingOperation/Attribute_UnitOfMeasureName.qbl                                                                |    7 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/TypeIndex_TypeIndex.qbl                                             |   20 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_StockingPointID.qbl                                                            |    7 
 _Main/BL/Type_Global_MappingOperation/Attribute_UserLeadTime.qbl                                                                     |    7 
 _Main/BL/Relations/Relation_Global_MappingForecast_GlobalOTDTable_GlobalOTDTable_Global_Mapping.qbl                                  |   23 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_IsAvailable.qbl                                                                    |    7 
 _Main/BL/Type_Global_MappingOperation/Attribute_OrganName.qbl                                                                        |    7 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_TimeUnit.qbl                                                                          |    7 
 _Main/BL/Relations/Relation_Global_BrokerExecuteLog_GlobalOTDTable_GlobalOTDTable_Global_Broker.qbl                                  |   23 
 _Main/BL/Type_Global_MappingStockingPointCost/_ROOT_Type_Global_MappingStockingPointCost.qbl                                         |    9 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_OrgCode.qbl                                                                           |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomOrder.qbl                                                    |   17 
 _Main/BL/Type_Global_MappingForecast/Attribute_UnitOfMeasureName.qbl                                                                 |    7 
 _Main/BL/Type_Global_MappingLaneLeg/_ROOT_Type_Global_MappingLaneLeg.qbl                                                             |    9 
 _Main/BL/Type_Global_MappingStockingPointCost/Attribute_Start.qbl                                                                    |    7 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_ElementTotal.qbl                                                                     |    7 
 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_StockingPointCost.qbl                                              |   17 
 _Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorMessage.qbl                                                                     |    7 
 _Main/BL/Type_Global_MappingOperation/Attribute_MinimumQuantity.qbl                                                                  |    7 
 _Main/BL/Type_Global_MappingLaneLeg/Attribute_LaneID.qbl                                                                             |    7 
 _Main/BL/Type_Global_MappingLaneLeg/Attribute_OriginStockingPointID.qbl                                                              |    7 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationBOM_Global_MappingOperationBO.qbl                                  |   23 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_CustomerID.qbl                                                                     |    7 
 _Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_IsAvailable.qbl                                           |    7 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_ProductID.qbl                                                                  |    7 
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_PriorityName.qbl                                                                   |    7 
 _Main/BL/Type_Global_MappingUnitCost/_ROOT_Type_Global_MappingOperationCost.qbl                                                      |    9 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProductInLane_Global_MappingProductInL.qbl                                  |   23 
 _Main/BL/Type_Global_MappingUnitCost/Attribute_Cost.qbl                                                                              |    7 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentType.qbl                                                                 |    8 
 _Main/BL/Type_Global_MappingOperationBOM/Attribute_ProcessSection.qbl                                                                |    8 
 _Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl                                                                                      |  174 ++
 _Main/BL/Type_Global_MappingCustomOrder/Attribute_ID.qbl                                                                             |    8 
 _Main/BL/Type_Global_MappingInventorySupply/Attribute_Description.qbl                                                                |    7 
 _Main/BL/Type_Global_BrokerExecuteLog/_ROOT_Type_Global_BrokerExecuteLog.qbl                                                         |    9 
 _Main/BL/Type_Global_MappingOperation/Attribute_Line.qbl                                                                             |    8 
 192 files changed, 3,560 insertions(+), 13 deletions(-)

diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_AIPISPIP.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_AIPISPIP.qbl
new file mode 100644
index 0000000..94044c4
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_AIPISPIP.qbl
@@ -0,0 +1,156 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_AIPISPIP
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination8
+  {
+    EDIMLTable Global_MappingActualProductInStockingPointInPeriod
+    {
+      PrimaryKeyColumns: Date
+      PrimaryKeyColumns: ProductID
+      PrimaryKeyColumns: StockingPointID
+      TargetType: Global_MappingActualProductInStockingPointInPeriod
+      TypeIndex: TypeIndex
+      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 Source7
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_ACTUALPISPIP
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      PrimaryKeyColumns: DATE
+      PrimaryKeyColumns: PRODUCTID
+      PrimaryKeyColumns: STOCKINGPOINTID
+      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 Transformation7
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_ACTUALPISPIP
+      OutputTable: Global_MappingActualProductInStockingPointInPeriod
+      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_GlobalOTDTable_CustomOrder.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl
new file mode 100644
index 0000000..21b4fca
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl
@@ -0,0 +1,197 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_CustomOrder
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination13
+  {
+    EDIMLTable Global_MappingCustomOrder
+    {
+      PrimaryKeyColumns: ID
+      TargetType: Global_MappingCustomOrder
+      TypeIndex: TypeIndex
+      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 StockingPointID { Attribute: StockingPointID ValueType: String }
+      EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
+    }
+  }
+  EDIODBCLink.Source Source12
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_CUSTOMERORDER
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      PrimaryKeyColumns: ID
+      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 ORDERTIME
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn ORDERTYPE
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn PRICE
+      {
+        OthersMayUpdateColumn: true
+        ValueType: Real
+      }
+      EDIODBCLinkColumn PRIORITYNAME
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn PRODUCTGRADE
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn PRODUCTID
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn QUANTITY
+      {
+        OthersMayUpdateColumn: true
+        ValueType: Real
+      }
+      EDIODBCLinkColumn SALESEGMENTNAME
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn SEGMENTPRIORITY
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn SHEETPROFITABILITY
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn STOCKINGPOINTID
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn UNITOFMEASURENAME
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+    }
+  }
+  EDITransformation.Transformation Transformation12
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_CUSTOMERORDER
+      OutputTable: Global_MappingCustomOrder
+      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: ORDERTIME 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: StockingPointID }
+      EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
+    }
+  }
+}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl
new file mode 100644
index 0000000..35e5dd8
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl
@@ -0,0 +1,174 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_Forecast
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination12
+  {
+    EDIMLTable Global_MappingForecast
+    {
+      PrimaryKeyColumns: ID
+      TargetType: Global_MappingForecast
+      TypeIndex: TypeIndex
+      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 Source11
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_FORECAST
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      PrimaryKeyColumns: ID
+      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 PRODUCTGRADE
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn PRODUCTID
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn QUANTITY
+      {
+        OthersMayUpdateColumn: true
+        ValueType: Real
+      }
+      EDIODBCLinkColumn SALESEGMENTNAME
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn SEGMENTPRIORITY
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn SHEETPROFITABILITY
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn STARTDATE
+      {
+        OthersMayUpdateColumn: true
+        ValueType: DateTime
+      }
+      EDIODBCLinkColumn STOCKINGPOINTID
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+      EDIODBCLinkColumn UNITOFMEASURENAME
+      {
+        OthersMayUpdateColumn: true
+        ValueType: String
+      }
+    }
+  }
+  EDITransformation.Transformation Transformation11
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_FORECAST
+      OutputTable: Global_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_GlobalOTDTable_InventorySupply.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_InventorySupply.qbl
new file mode 100644
index 0000000..60277b7
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_InventorySupply.qbl
@@ -0,0 +1,152 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_InventorySupply
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination9
+  {
+    EDIMLTable Global_MappingInventorySupply
+    {
+      PrimaryKeyColumns: ID
+      TargetType: Global_MappingInventorySupply
+      TypeIndex: TypeIndex
+      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 Source8
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_EXTERNALSUPPLY
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      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 Transformation8
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_EXTERNALSUPPLY
+      OutputTable: Global_MappingInventorySupply
+      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_GlobalOTDTable_Operation.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl
new file mode 100644
index 0000000..a0a76df
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl
@@ -0,0 +1,200 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_Operation
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination5
+  {
+    EDIMLTable Global_MappingOperation
+    {
+      PrimaryKeyColumns: BusinessType
+      PrimaryKeyColumns: Line
+      PrimaryKeyColumns: OrganCode
+      PrimaryKeyColumns: PlantName
+      PrimaryKeyColumns: ProcessSection
+      PrimaryKeyColumns: ProductID
+      PrimaryKeyColumns: SequenceNumber
+      TargetType: Global_MappingOperation
+      TypeIndex: NewTypeIndex
+      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 Source4
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_OPERATION
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      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 Transformation4
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_OPERATION
+      OutputTable: Global_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_GlobalOTDTable_OperationBOM.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_OperationBOM.qbl
new file mode 100644
index 0000000..36bfcee
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_OperationBOM.qbl
@@ -0,0 +1,208 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_OperationBOM
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination6
+  {
+    EDIMLTable Global_MappingOperationBOM
+    {
+      PrimaryKeyColumns: AlternativeMaterialCode
+      PrimaryKeyColumns: BusinessType
+      PrimaryKeyColumns: ComponentCode
+      PrimaryKeyColumns: ComponentType
+      PrimaryKeyColumns: ComponentUnit
+      PrimaryKeyColumns: OrganCode
+      PrimaryKeyColumns: ProcessSection
+      PrimaryKeyColumns: ProductCode
+      TargetType: Global_MappingOperationBOM
+      TypeIndex: TypeIndex
+      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 Source5
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_BOM
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      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 Transformation5
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_BOM
+      OutputTable: Global_MappingOperationBOM
+      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_GlobalOTDTable_OperationCost.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_OperationCost.qbl
new file mode 100644
index 0000000..c249e43
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_OperationCost.qbl
@@ -0,0 +1,142 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_OperationCost
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination11
+  {
+    EDIMLTable Global_MappingOperationCost
+    {
+      PrimaryKeyColumns: ID
+      TargetType: Global_MappingOperationCost
+      TypeIndex: TypeIndex
+      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 Source10
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_OPERATIONCOST
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      PrimaryKeyColumns: ID
+      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 Transformation10
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_OPERATIONCOST
+      OutputTable: Global_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_GlobalOTDTable_ProductInLane.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_ProductInLane.qbl
new file mode 100644
index 0000000..5edb9d7
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_ProductInLane.qbl
@@ -0,0 +1,57 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_ProductInLane
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination7
+  {
+    EDIMLTable Global_MappingProductInLane
+    {
+      PrimaryKeyColumns: LineID
+      PrimaryKeyColumns: ProductID
+      TargetType: Global_MappingProductInLane
+      TypeIndex: TypeIndex
+      EDIMLColumn LineID { Attribute: LineID ValueType: String }
+      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
+    }
+  }
+  EDIODBCLink.Source Source6
+  {
+    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 Transformation6
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_PRODUCTINLINES
+      OutputTable: Global_MappingProductInLane
+      EDIColumnMatch { InputColumn: LINEID OutputColumn: LineID }
+      EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
+    }
+  }
+}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_StockingPointCost.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_StockingPointCost.qbl
new file mode 100644
index 0000000..c1f7632
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_StockingPointCost.qbl
@@ -0,0 +1,107 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_StockingPointCost
+{
+  MDSDefinition: GlobalOTDTable
+  TimeZone: 'ACT'
+  UseOSTimeZone: false
+  EDIModelLink.Destination Destination10
+  {
+    EDIMLTable Global_MappingStockingPointCost
+    {
+      PrimaryKeyColumns: ID
+      TargetType: Global_MappingStockingPointCost
+      TypeIndex: NewTypeIndex
+      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 Source9
+  {
+    DataIntegrityStrategy: 'Disabled'
+    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+    EDIODBCLinkTable MID_INVENTORYCOST
+    {
+      OthersMayCreateTable: true
+      OthersMayDeleteRow: true
+      OthersMayDropTable: true
+      OthersMayFlushTable: true
+      OthersMayInsertRow: true
+      Parameters: '/owner="OTD"'
+      PrimaryKeyColumns: ID
+      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 Transformation9
+  {
+    EDITableTransformation
+    {
+      InputTable: MID_INVENTORYCOST
+      OutputTable: Global_MappingStockingPointCost
+      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/Relations/Relation_GlobalOTDTable_Global_MappingLaneLeg_Global_MappingLaneLeg_GlobalOT.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingLaneLeg_Global_MappingLaneLeg_GlobalOT.qbl
new file mode 100644
index 0000000..38d8442
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingLaneLeg_Global_MappingLaneLeg_GlobalOT.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingLaneLeg_Global_MappingLaneLeg_GlobalOTDTable
+{
+  #keys: '1[414702.0.261965021]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_MappingLaneLeg
+  {
+    #keys: '3[414702.0.261965023][414702.0.261965022][414702.0.261965024]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.261965026][414702.0.261965025][414702.0.261965027]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingLaneLeg
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingLane_Global_MappingLane_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingLane_Global_MappingLane_GlobalOTDTable.qbl
new file mode 100644
index 0000000..c746523
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingLane_Global_MappingLane_GlobalOTDTable.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingLane_Global_MappingLane_GlobalOTDTable
+{
+  #keys: '1[414702.0.262115644]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_MappingLane
+  {
+    #keys: '3[414702.0.262115646][414702.0.262115645][414702.0.262115647]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.262115649][414702.0.262115648][414702.0.262115650]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingLane
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationBOM_Global_MappingOperationBO.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationBOM_Global_MappingOperationBO.qbl
new file mode 100644
index 0000000..d29b700
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationBOM_Global_MappingOperationBO.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingOperationBOM_Global_MappingOperationBOM_GlobalOTDTable
+{
+  #keys: '1[414702.0.261405153]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_MappingOperationBOM
+  {
+    #keys: '3[414702.0.261405155][414702.0.261405154][414702.0.261405156]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.261405158][414702.0.261405157][414702.0.261405159]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingOperationBOM
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationCost_Global_MappingOperationC.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationCost_Global_MappingOperationC.qbl
new file mode 100644
index 0000000..ac77edb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperationCost_Global_MappingOperationC.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingOperationCost_Global_MappingOperationCost_GlobalOTDTable
+{
+  #keys: '1[414702.0.264968475]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_MappingOperationCost
+  {
+    #keys: '3[414702.0.264968477][414702.0.264968476][414702.0.264968478]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.264968480][414702.0.264968479][414702.0.264968481]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingOperationCost
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperation_Global_MappingOperation_Glob.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperation_Global_MappingOperation_Glob.qbl
new file mode 100644
index 0000000..ed54513
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingOperation_Global_MappingOperation_Glob.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingOperation_Global_MappingOperation_GlobalOTDTable
+{
+  #keys: '1[414702.0.261949432]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_MappingOperation
+  {
+    #keys: '3[414702.0.261949434][414702.0.261949433][414702.0.261949435]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.261949437][414702.0.261949436][414702.0.261949438]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingOperation
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProductInLane_Global_MappingProductInL.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProductInLane_Global_MappingProductInL.qbl
new file mode 100644
index 0000000..976bb1e
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingProductInLane_Global_MappingProductInL.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingProductInLane_Global_MappingProductInLane_GlobalOTDTable
+{
+  #keys: '1[414702.0.262177985]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_MappingProductInLane
+  {
+    #keys: '3[414702.0.262177987][414702.0.262177986][414702.0.262177988]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.262177990][414702.0.262177989][414702.0.262177991]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingProductInLane
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPointCost_Global_MappingStocki.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPointCost_Global_MappingStocki.qbl
new file mode 100644
index 0000000..93a0fc7
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_MappingStockingPointCost_Global_MappingStocki.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_MappingStockingPointCost_Global_MappingStockingPointCost_GlobalOTDTable
+{
+  #keys: '1[414702.0.264765171]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_MappingStockingPointCost
+  {
+    #keys: '3[414702.0.264765173][414702.0.264765172][414702.0.264765174]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.264765176][414702.0.264765175][414702.0.264765177]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingStockingPointCost
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_Global_BrokerExecuteLog_GlobalOTDTable_GlobalOTDTable_Global_Broker.qbl b/_Main/BL/Relations/Relation_Global_BrokerExecuteLog_GlobalOTDTable_GlobalOTDTable_Global_Broker.qbl
new file mode 100644
index 0000000..fc0df60
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_BrokerExecuteLog_GlobalOTDTable_GlobalOTDTable_Global_Broker.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_BrokerExecuteLog_GlobalOTDTable_GlobalOTDTable_Global_BrokerExecuteLog
+{
+  #keys: '1[414702.0.265587049]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.265587051][414702.0.265587050][414702.0.265587052]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_BrokerExecuteLog
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Global_BrokerExecuteLog
+  {
+    #keys: '3[414702.0.265587054][414702.0.265587053][414702.0.265587055]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MappingActualProductInStockingPointInPeriod_GlobalOTDTable_G.qbl b/_Main/BL/Relations/Relation_Global_MappingActualProductInStockingPointInPeriod_GlobalOTDTable_G.qbl
new file mode 100644
index 0000000..a7c4126
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MappingActualProductInStockingPointInPeriod_GlobalOTDTable_G.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MappingActualProductInStockingPointInPeriod_GlobalOTDTable_GlobalOTDTable_Global_MappingActualProductInStockingPointInPeriod
+{
+  #keys: '1[414702.0.262251979]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.262251981][414702.0.262251980][414702.0.262251982]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingActualProductInStockingPointInPeriod
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Global_MappingActualProductInStockingPointInPeriod
+  {
+    #keys: '3[414702.0.262251984][414702.0.262251983][414702.0.262251985]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MappingCustomOrder_GlobalOTDTable_GlobalOTDTable_Global_Mapp.qbl b/_Main/BL/Relations/Relation_Global_MappingCustomOrder_GlobalOTDTable_GlobalOTDTable_Global_Mapp.qbl
new file mode 100644
index 0000000..208f701
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MappingCustomOrder_GlobalOTDTable_GlobalOTDTable_Global_Mapp.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MappingCustomOrder_GlobalOTDTable_GlobalOTDTable_Global_MappingCustomOrder
+{
+  #keys: '1[414702.0.264905852]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.264905854][414702.0.264905853][414702.0.264905855]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingCustomOrder
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Global_MappingCustomOrder
+  {
+    #keys: '3[414702.0.264905857][414702.0.264905856][414702.0.264905858]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MappingForecast_GlobalOTDTable_GlobalOTDTable_Global_Mapping.qbl b/_Main/BL/Relations/Relation_Global_MappingForecast_GlobalOTDTable_GlobalOTDTable_Global_Mapping.qbl
new file mode 100644
index 0000000..473d427
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MappingForecast_GlobalOTDTable_GlobalOTDTable_Global_Mapping.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MappingForecast_GlobalOTDTable_GlobalOTDTable_Global_MappingForecast
+{
+  #keys: '1[414702.0.264901309]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.264901311][414702.0.264901310][414702.0.264901312]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingForecast
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Global_MappingForecast
+  {
+    #keys: '3[414702.0.264901314][414702.0.264901313][414702.0.264901315]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MappingInventorySupply_GlobalOTDTable_GlobalOTDTable_Global_.qbl b/_Main/BL/Relations/Relation_Global_MappingInventorySupply_GlobalOTDTable_GlobalOTDTable_Global_.qbl
new file mode 100644
index 0000000..eef8db6
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MappingInventorySupply_GlobalOTDTable_GlobalOTDTable_Global_.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MappingInventorySupply_GlobalOTDTable_GlobalOTDTable_Global_MappingInventorySupply
+{
+  #keys: '1[414702.0.264621764]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.264621766][414702.0.264621765][414702.0.264621767]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_MappingInventorySupply
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Global_MappingInventorySupply
+  {
+    #keys: '3[414702.0.264621769][414702.0.264621768][414702.0.264621770]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AIPISPIP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AIPISPIP.qbl
new file mode 100644
index 0000000..ac058bb
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AIPISPIP.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_AIPISPIP (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_AIPISPIP",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "瀹為檯搴撳瓨鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ConversionFactor.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ConversionFactor.qbl
new file mode 100644
index 0000000..fb840ce
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ConversionFactor.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_ConversionFactor (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_ConversionFactor",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "鍗曚綅杞崲鍥犲瓙鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomOrder.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomOrder.qbl
new file mode 100644
index 0000000..66d92a1
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomOrder.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_CustomOrder (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_CustomOrder",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "璁㈠崟鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Forecast.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Forecast.qbl
new file mode 100644
index 0000000..aafd06e
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Forecast.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_Forecast (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody: 'info( "閿欒鍙凤細", errorNo, "errorNo璇俊鎭細", errorMessage );'
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_InventorySupply.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_InventorySupply.qbl
new file mode 100644
index 0000000..fd32c60
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_InventorySupply.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_InventorySupply (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_InventorySupply",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "搴撳瓨渚涘簲鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Operation.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Operation.qbl
new file mode 100644
index 0000000..3d491fe
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Operation.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_Operation (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_Operation",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "鎿嶄綔鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationBOM.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationBOM.qbl
new file mode 100644
index 0000000..8a0c0d2
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationBOM.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_OperationBOM (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_Operation",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "鎿嶄綔鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationCost.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationCost.qbl
new file mode 100644
index 0000000..2364cd5
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_OperationCost.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_OperationCost (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_OperationCost",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "鎿嶄綔鎴愭湰鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ProductInLane.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ProductInLane.qbl
new file mode 100644
index 0000000..5bf60a9
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_ProductInLane.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_ProductInLane (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_ProductInLane",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "浜у搧鍦ㄨ溅閬撴暟鎹�",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Product_MP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Product_MP.qbl
new file mode 100644
index 0000000..2637fd7
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_Product_MP.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_Product_MP (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_Product_MP",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "浜у搧鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SalesSegment_MP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SalesSegment_MP.qbl
new file mode 100644
index 0000000..56d48d9
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SalesSegment_MP.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_SalesSegment_MP (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_SalesSegment_MP",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "閿�鍞儴闂�",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_StockingPointCost.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_StockingPointCost.qbl
new file mode 100644
index 0000000..0f166b2
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_StockingPointCost.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_StockingPointCost (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_StockingPointCost",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "搴撳瓨鐐规垚鏈暟鎹�",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_UnitOfMeasure_MP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_UnitOfMeasure_MP.qbl
new file mode 100644
index 0000000..4974578
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_UnitOfMeasure_MP.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_UnitOfMeasure_MP (
+  Number errorNo,
+  String errorMessage
+)
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName    := "GlobalOTDTable_UnitOfMeasure_MP",
+                                  ElementTotal  := 0,
+                                  ErrorMessage  := errorMessage,
+                                  IsSuccess     := false,
+                                  Name          := "鍗曚綅鏁版嵁",
+                                  ErrorNo       := errorNo,
+                                  ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" )
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AIPISPIP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AIPISPIP.qbl
new file mode 100644
index 0000000..a0a1af4
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AIPISPIP.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_AIPISPIP
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_AIPISPIP",
+                                  ElementTotal    := this.Global_MappingActualProductInStockingPointInPeriod( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "瀹為檯搴撳瓨鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ConversionFactor.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ConversionFactor.qbl
new file mode 100644
index 0000000..b0ad4d2
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ConversionFactor.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_ConversionFactor
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_ConversionFactor",
+                                  ElementTotal    := this.Global_MappingConversionFactor( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "鍗曚綅杞崲鍥犲瓙鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomOrder.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomOrder.qbl
new file mode 100644
index 0000000..677960c
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomOrder.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_CustomOrder
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_CustomOrder",
+                                  ElementTotal    := this.Global_MappingCustomOrder( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "璁㈠崟鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Forecast.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Forecast.qbl
new file mode 100644
index 0000000..52523c5
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Forecast.qbl
@@ -0,0 +1,5 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_Forecast
+{
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_InventorySupply.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_InventorySupply.qbl
new file mode 100644
index 0000000..2ae1628
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_InventorySupply.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_InventorySupply
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_InventorySupply",
+                                  ElementTotal    := this.Global_MappingInventorySupply( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "搴撳瓨渚涘簲鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Operation.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Operation.qbl
new file mode 100644
index 0000000..718b9d0
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Operation.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_Operation
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_Operation",
+                                  ElementTotal    := this.Global_MappingOperation( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "鎿嶄綔鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_OperationCost.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_OperationCost.qbl
new file mode 100644
index 0000000..313be5a
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_OperationCost.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_OperationCost
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_OperationCost",
+                                  ElementTotal    := this.Global_MappingOperationCost( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "鎿嶄綔鎴愭湰鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ProductInLane.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ProductInLane.qbl
new file mode 100644
index 0000000..d4da6d7
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_ProductInLane.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_ProductInLane
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_ProductInLane",
+                                  ElementTotal    := this.Global_MappingProductInLane( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "浜у搧鍦ㄨ溅閬撴暟鎹�",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Product_MP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Product_MP.qbl
new file mode 100644
index 0000000..bac0207
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_Product_MP.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_Product_MP
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_Product_MP",
+                                  ElementTotal    := this.Global_MappingProduct_MP( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "浜у搧鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SalesSegment_MP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SalesSegment_MP.qbl
new file mode 100644
index 0000000..4cf7193
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SalesSegment_MP.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_SalesSegment_MP
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_SalesSegment_MP",
+                                  ElementTotal    := this.Global_MappingSalesSegment_MP( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "閿�鍞儴闂�",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_StockingPointCost.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_StockingPointCost.qbl
new file mode 100644
index 0000000..1e75ed5
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_StockingPointCost.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_StockingPointCost
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_StockingPointCost",
+                                  ElementTotal    := this.Global_MappingStockingPointCost( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "搴撳瓨鐐规垚鏈暟鎹�",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_UnitOfMeasure_MP.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_UnitOfMeasure_MP.qbl
new file mode 100644
index 0000000..d8eb2dd
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_UnitOfMeasure_MP.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_UnitOfMeasure_MP
+{
+  TextBody:
+  [*
+    this.Global_BrokerExecuteLog( relnew,
+                                  BrokerName      := "GlobalOTDTable_UnitOfMeasure_MP",
+                                  ElementTotal    := this.Global_MappingUnitOfMeasure_MP( relsize ),
+                                  ErrorMessage    := "",
+                                  IsSuccess       := true,
+                                  Name            := "鍗曚綅鏁版嵁",
+                                  SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ),
+                                  ErrorNo         := 0
+                                 );
+  *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl
index 65c9dda..a365d78 100644
--- a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl
@@ -7,18 +7,42 @@
 {
   TextBody:
   [*
-    //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().Execute();
+    globalOTDTable.Global_MappingUnitOfMeasure_MP( relflush );
+    globalOTDTable.Global_MappingSalesSegment_MP( relflush );
+    globalOTDTable.Global_MappingStockingPoint_MP( relflush );
+    globalOTDTable.Global_MappingCurrency_MP( relflush );
+    globalOTDTable.Global_MappingCurrencyRate_MP( relflush );
+    globalOTDTable.Global_MappingProduct_MP( relflush );
+    globalOTDTable.Global_MappingConversionFactor( relflush );
+    globalOTDTable.Global_MappingOperation( relflush );
+    globalOTDTable.Global_MappingOperationBOM( relflush );
+    globalOTDTable.Global_MappingLane( relflush );
+    globalOTDTable.Global_MappingLaneLeg( relflush );
+    globalOTDTable.Global_MappingProductInLane( relflush );
+    globalOTDTable.Global_MappingActualProductInStockingPointInPeriod( relflush );
+    globalOTDTable.Global_MappingInventorySupply( relflush );
+    globalOTDTable.Global_MappingStockingPointCost( relflush );
+    globalOTDTable.Global_MappingOperationCost( relflush );
+    globalOTDTable.Global_MappingForecast( relflush );
+    globalOTDTable.Global_MappingCustomOrder( relflush );
     
-    //globalOTDTable.GlobalOTDTable_SalesSegment_MP().Execute();
-    
-    //Global_MappingStockingPoint_MP::CreateByAPI( globalOTDTable );
-    
-    //Global_MappingCurrency_MP::CreateByAPI( globalOTDTable );
-    
-    //Global_MappingCurrencyRate_MP::CreateByAPI( globalOTDTable );
-    
-    //globalOTDTable.GlobalOTDTable_Product_MP().Execute();
-    
-    //globalOTDTable.GlobalOTDTable_ConversionFactor().Execute();
+    //globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().AsyncExecute();
+    //globalOTDTable.GlobalOTDTable_SalesSegment_MP().AsyncExecute();
+    //Global_MappingStockingPoint_MP::CreateByAPI( globalOTDTable );鍚庨潰琛�
+    //Global_MappingCurrency_MP::CreateByAPI( globalOTDTable );鍚庨潰琛�
+    //Global_MappingCurrencyRate_MP::CreateByAPI( globalOTDTable );鍚庨潰琛�
+    //globalOTDTable.GlobalOTDTable_Product_MP().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_ConversionFactor().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_Operation().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_OperationBOM().AsyncExecute();
+    //Global_MappingLane::CreateByAPI( globalOTDTable );
+    //Global_MappingLaneLeg::CreateByAPI( globalOTDTable );
+    globalOTDTable.GlobalOTDTable_ProductInLane().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_AIPISPIP().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_InventorySupply().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_StockingPointCost().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_OperationCost().AsyncExecute();
+    globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute();
+    //globalOTDTable.GlobalOTDTable_CustomOrder().AsyncExecute();
   *]
 }
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_BrokerName.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_BrokerName.qbl
new file mode 100644
index 0000000..be43894
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_BrokerName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BrokerName
+{
+  #keys: '3[414702.0.265409667][414702.0.265409666][414702.0.265409668]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ElementTotal.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ElementTotal.qbl
new file mode 100644
index 0000000..875b972
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ElementTotal.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ElementTotal
+{
+  #keys: '3[414702.0.265409647][414702.0.265409646][414702.0.265409648]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorDateTime.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorDateTime.qbl
new file mode 100644
index 0000000..a40993c
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorDateTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ErrorDateTime
+{
+  #keys: '3[414702.0.265409719][414702.0.265409718][414702.0.265409720]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorMessage.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorMessage.qbl
new file mode 100644
index 0000000..8889795
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorMessage.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ErrorMessage
+{
+  #keys: '3[414702.0.265409677][414702.0.265409676][414702.0.265409678]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorNo.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorNo.qbl
new file mode 100644
index 0000000..9f859c7
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_ErrorNo.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ErrorNo
+{
+  #keys: '3[414702.0.265409730][414702.0.265409729][414702.0.265409731]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_IsSuccess.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_IsSuccess.qbl
new file mode 100644
index 0000000..9371588
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_IsSuccess.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsSuccess
+{
+  #keys: '3[414702.0.265409687][414702.0.265409686][414702.0.265409688]'
+  ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_Name.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_Name.qbl
new file mode 100644
index 0000000..952c519
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[414702.0.265409697][414702.0.265409696][414702.0.265409698]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_SuccessDateTime.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_SuccessDateTime.qbl
new file mode 100644
index 0000000..118f95e
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/Attribute_SuccessDateTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SuccessDateTime
+{
+  #keys: '3[414702.0.265409657][414702.0.265409656][414702.0.265409658]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_BrokerExecuteLog/_ROOT_Type_Global_BrokerExecuteLog.qbl b/_Main/BL/Type_Global_BrokerExecuteLog/_ROOT_Type_Global_BrokerExecuteLog.qbl
new file mode 100644
index 0000000..828e927
--- /dev/null
+++ b/_Main/BL/Type_Global_BrokerExecuteLog/_ROOT_Type_Global_BrokerExecuteLog.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_BrokerExecuteLog
+{
+  #keys: '5[414702.0.265587043][414702.0.265587041][0.0.0][414702.0.265587042][414702.0.265587044]'
+  BaseType: Object
+  StructuredName: 'Global_BrokerExecuteLogs'
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ActualInventoryLevelEnd.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ActualInventoryLevelEnd.qbl
new file mode 100644
index 0000000..88049ea
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ActualInventoryLevelEnd.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ActualInventoryLevelEnd
+{
+  #keys: '3[414702.0.262251995][414702.0.262251994][414702.0.262251996]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Date.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Date.qbl
new file mode 100644
index 0000000..6bc7ee6
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Date.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Date
+{
+  #keys: '3[414702.0.262252005][414702.0.262252004][414702.0.262252006]'
+  IsReadOnly: true
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Description.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Description.qbl
new file mode 100644
index 0000000..8400797
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_Description.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Description
+{
+  #keys: '3[414702.0.262252018][414702.0.262252017][414702.0.262252019]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_IsAvailable.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_IsAvailable.qbl
new file mode 100644
index 0000000..79fc159
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_IsAvailable.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsAvailable
+{
+  #keys: '3[414702.0.262252028][414702.0.262252027][414702.0.262252029]'
+  ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ManufacturedDate.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ManufacturedDate.qbl
new file mode 100644
index 0000000..55f70c4
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ManufacturedDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ManufacturedDate
+{
+  #keys: '3[414702.0.262252041][414702.0.262252040][414702.0.262252042]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ProductID.qbl
new file mode 100644
index 0000000..bf2b39f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_ProductID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.262252054][414702.0.262252053][414702.0.262252055]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockType.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockType.qbl
new file mode 100644
index 0000000..5fb1718
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockType
+{
+  #keys: '3[414702.0.262252080][414702.0.262252079][414702.0.262252081]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockingPointID.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..46d1307
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/Attribute_StockingPointID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414702.0.262252067][414702.0.262252066][414702.0.262252068]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..ca6828a
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: Date
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ProductID
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: StockingPointID
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/_ROOT_Type_Global_MappingActualProductInStockingPointInPeriod.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/_ROOT_Type_Global_MappingActualProductInStockingPointInPeriod.qbl
new file mode 100644
index 0000000..56520e3
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/_ROOT_Type_Global_MappingActualProductInStockingPointInPeriod.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingActualProductInStockingPointInPeriod
+{
+  #keys: '5[414702.0.262251935][414702.0.262251933][0.0.0][414702.0.262251934][414702.0.262251936]'
+  BaseType: Object
+  StructuredName: 'Global_MappingActualProductInStockingPointInPeriods'
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_BusinessType.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..bfa20ee
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_BusinessType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+  #keys: '3[414702.0.265050257][414702.0.265050256][414702.0.265050258]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_CurrencyID.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_CurrencyID.qbl
new file mode 100644
index 0000000..72f92fc
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_CurrencyID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CurrencyID
+{
+  #keys: '3[414702.0.265050267][414702.0.265050266][414702.0.265050268]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Customer.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Customer.qbl
new file mode 100644
index 0000000..2f17f23
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Customer.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Customer
+{
+  #keys: '3[414702.0.265050277][414702.0.265050276][414702.0.265050278]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_CustomerID.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_CustomerID.qbl
new file mode 100644
index 0000000..022daa1
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_CustomerID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerID
+{
+  #keys: '3[414702.0.265050287][414702.0.265050286][414702.0.265050288]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ID.qbl
new file mode 100644
index 0000000..b3f10e8
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+  #keys: '3[414702.0.265050297][414702.0.265050296][414702.0.265050298]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_IsAvailable.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_IsAvailable.qbl
new file mode 100644
index 0000000..84eb713
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_IsAvailable.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsAvailable
+{
+  #keys: '3[414702.0.265050307][414702.0.265050306][414702.0.265050308]'
+  ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderDate.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderDate.qbl
new file mode 100644
index 0000000..d43da69
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderDate
+{
+  #keys: '3[414702.0.265050317][414702.0.265050316][414702.0.265050318]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderID.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderID.qbl
new file mode 100644
index 0000000..4cb585c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderID
+{
+  #keys: '3[414702.0.265050327][414702.0.265050326][414702.0.265050328]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderLineID.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderLineID.qbl
new file mode 100644
index 0000000..b220b24
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderLineID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderLineID
+{
+  #keys: '3[414702.0.265050337][414702.0.265050336][414702.0.265050338]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType.qbl
new file mode 100644
index 0000000..7e887b1
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderType
+{
+  #keys: '3[414702.0.265050347][414702.0.265050346][414702.0.265050348]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Price.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Price.qbl
new file mode 100644
index 0000000..0b78e7a
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Price.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Price
+{
+  #keys: '3[414702.0.265050357][414702.0.265050356][414702.0.265050358]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_PriorityName.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_PriorityName.qbl
new file mode 100644
index 0000000..503f72e
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_PriorityName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityName
+{
+  #keys: '3[414702.0.265050367][414702.0.265050366][414702.0.265050368]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductID.qbl
new file mode 100644
index 0000000..0a36831
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.265050377][414702.0.265050376][414702.0.265050378]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Quantity.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Quantity.qbl
new file mode 100644
index 0000000..a1e5d12
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[414702.0.265050387][414702.0.265050386][414702.0.265050388]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SalesSegmentName.qbl
new file mode 100644
index 0000000..5852c57
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SalesSegmentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesSegmentName
+{
+  #keys: '3[414702.0.265050397][414702.0.265050396][414702.0.265050398]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_StockingPointID.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..711c748
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414702.0.265050407][414702.0.265050406][414702.0.265050408]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..7db56bb
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+  #keys: '3[414702.0.265050417][414702.0.265050416][414702.0.265050418]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingCustomOrder/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..29c1c4b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: ID
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/_ROOT_Type_Global_MappingCustomOrder.qbl b/_Main/BL/Type_Global_MappingCustomOrder/_ROOT_Type_Global_MappingCustomOrder.qbl
new file mode 100644
index 0000000..77bd71b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingCustomOrder/_ROOT_Type_Global_MappingCustomOrder.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingCustomOrder
+{
+  #keys: '5[414702.0.264905849][414702.0.264905847][0.0.0][414702.0.264905848][414702.0.264905850]'
+  BaseType: Object
+  StructuredName: 'Global_MappingCustomOrders'
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_BusinessType.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..efba161
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_BusinessType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+  #keys: '3[414702.0.264905720][414702.0.264905719][414702.0.264905721]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_CurrencyID.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_CurrencyID.qbl
new file mode 100644
index 0000000..5057465
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_CurrencyID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CurrencyID
+{
+  #keys: '3[414702.0.264905730][414702.0.264905729][414702.0.264905731]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_EndDate.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_EndDate.qbl
new file mode 100644
index 0000000..bd2000e
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_EndDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndDate
+{
+  #keys: '3[414702.0.264905740][414702.0.264905739][414702.0.264905741]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_ID.qbl
new file mode 100644
index 0000000..72bf201
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+  #keys: '3[414702.0.264905750][414702.0.264905749][414702.0.264905751]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_Price.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_Price.qbl
new file mode 100644
index 0000000..56db917
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_Price.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Price
+{
+  #keys: '3[414702.0.264905760][414702.0.264905759][414702.0.264905761]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_PriorityName.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_PriorityName.qbl
new file mode 100644
index 0000000..3e5454c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_PriorityName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityName
+{
+  #keys: '3[414702.0.264905770][414702.0.264905769][414702.0.264905771]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_ProductID.qbl
new file mode 100644
index 0000000..76fdfb0
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.264905780][414702.0.264905779][414702.0.264905781]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_Quantity.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_Quantity.qbl
new file mode 100644
index 0000000..9a46ce6
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[414702.0.264905790][414702.0.264905789][414702.0.264905791]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_SalesSegmentName.qbl
new file mode 100644
index 0000000..001cfa6
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_SalesSegmentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesSegmentName
+{
+  #keys: '3[414702.0.264905800][414702.0.264905799][414702.0.264905801]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_StartDate.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_StartDate.qbl
new file mode 100644
index 0000000..b6041b9
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[414702.0.264905810][414702.0.264905809][414702.0.264905811]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_StockingPointID.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..a17318e
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414702.0.264905823][414702.0.264905822][414702.0.264905824]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..35cf924
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+  #keys: '3[414702.0.264905833][414702.0.264905832][414702.0.264905834]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingForecast/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..29c1c4b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: ID
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/_ROOT_Type_Global_MappingForecast.qbl b/_Main/BL/Type_Global_MappingForecast/_ROOT_Type_Global_MappingForecast.qbl
new file mode 100644
index 0000000..fbd4f40
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/_ROOT_Type_Global_MappingForecast.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingForecast
+{
+  #keys: '5[414702.0.264901306][414702.0.264901304][0.0.0][414702.0.264901305][414702.0.264901307]'
+  BaseType: Object
+  StructuredName: 'Global_MappingForecasts'
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_Date.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_Date.qbl
new file mode 100644
index 0000000..92b5404
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_Date.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Date
+{
+  #keys: '3[414702.0.264621780][414702.0.264621779][414702.0.264621781]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_Description.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_Description.qbl
new file mode 100644
index 0000000..fa1d524
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_Description.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Description
+{
+  #keys: '3[414702.0.264621790][414702.0.264621789][414702.0.264621791]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ID.qbl
new file mode 100644
index 0000000..07a5934
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+  #keys: '3[414702.0.264621800][414702.0.264621799][414702.0.264621801]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ManufacturedDate.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ManufacturedDate.qbl
new file mode 100644
index 0000000..2382366
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ManufacturedDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ManufacturedDate
+{
+  #keys: '3[414702.0.264621810][414702.0.264621809][414702.0.264621811]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ProductID.qbl
new file mode 100644
index 0000000..fbf35f1
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.264621820][414702.0.264621819][414702.0.264621821]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_StockingPointID.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..c1c48b7
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414702.0.264621830][414702.0.264621829][414702.0.264621831]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_SupplyType.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_SupplyType.qbl
new file mode 100644
index 0000000..6d09d45
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_SupplyType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyType
+{
+  #keys: '3[414702.0.264621840][414702.0.264621839][414702.0.264621841]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/Attribute_UserQuantity.qbl b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_UserQuantity.qbl
new file mode 100644
index 0000000..bad7e8b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/Attribute_UserQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UserQuantity
+{
+  #keys: '3[414702.0.264621850][414702.0.264621849][414702.0.264621851]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingInventorySupply/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..29c1c4b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: ID
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/_ROOT_Type_Global_MappingInventorySupply.qbl b/_Main/BL/Type_Global_MappingInventorySupply/_ROOT_Type_Global_MappingInventorySupply.qbl
new file mode 100644
index 0000000..c2fd61d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/_ROOT_Type_Global_MappingInventorySupply.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingInventorySupply
+{
+  #keys: '5[414702.0.264621761][414702.0.264621759][0.0.0][414702.0.264621760][414702.0.264621762]'
+  BaseType: Object
+  StructuredName: 'Global_MappingInventorySupplys'
+}
diff --git a/_Main/BL/Type_Global_MappingLane/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingLane/Attribute_ID.qbl
new file mode 100644
index 0000000..94add6c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLane/Attribute_ID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+  #keys: '3[414702.0.262115668][414702.0.262115667][414702.0.262115669]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLane/Attribute_Name.qbl b/_Main/BL/Type_Global_MappingLane/Attribute_Name.qbl
new file mode 100644
index 0000000..9194145
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLane/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[414702.0.261962980][414702.0.261962979][414702.0.261962981]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLane/Attribute_UnitID.qbl b/_Main/BL/Type_Global_MappingLane/Attribute_UnitID.qbl
new file mode 100644
index 0000000..59552ab
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLane/Attribute_UnitID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitID
+{
+  #keys: '3[414702.0.261962990][414702.0.261962989][414702.0.261962991]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLane/Attribute_UserLeadTime.qbl b/_Main/BL/Type_Global_MappingLane/Attribute_UserLeadTime.qbl
new file mode 100644
index 0000000..30037ed
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLane/Attribute_UserLeadTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UserLeadTime
+{
+  #keys: '3[414702.0.261963000][414702.0.261962999][414702.0.261963001]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl
new file mode 100644
index 0000000..70f08b8
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl
@@ -0,0 +1,39 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateByAPI (
+  GlobalOTDTable globalOTDTable
+)
+{
+  TextBody:
+  [*
+    globalOTDTable.Global_MappingLane( relflush );
+    
+    bodynumber := "3";
+    postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
+    address := "api-uat-sgc.tianma.cn";
+    url := "/otdService/https/GetLanesInfo";
+    port := 443;
+    i := HTTPInterface::Create( address, port);
+    i.URL( url );
+    i.SSL( true );
+    i.SSLKeystore( "MyKeystore" );
+    i.PostMethod( true ); //it's a POST method
+    
+    i.Call( postrequestbody ); // Call's argument is for POST method's content.
+    htmlresult := i.Result();
+    
+    htmlresponse := JSON::Parse( htmlresult );
+    reponseDataJson := htmlresponse.Get( "responseData" );
+    datalist := reponseDataJson.Get( "dataList" );
+    
+    total := datalist.Size();
+    for ( j := 0; j < total; j++ ) {
+      globalOTDTable.Global_MappingLane( relnew,
+                                         ID:= guard( datalist.Get( j ).Get( "id" ).GetString(), "" ),
+                                         Name   := guard( datalist.Get( j ).Get( "name" ).GetString(), "" ),
+                                         UnitID := guard( datalist.Get( j ).Get( "unitid" ).GetString(), "" ),
+                                         UserLeadTime := guard( datalist.Get( j ).Get( "userleadtime" ).GetString(), "" )
+                                        );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_Global_MappingLane/_ROOT_Type_Global_MappingLane.qbl b/_Main/BL/Type_Global_MappingLane/_ROOT_Type_Global_MappingLane.qbl
new file mode 100644
index 0000000..85253a3
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLane/_ROOT_Type_Global_MappingLane.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingLane
+{
+  #keys: '5[414702.0.262115640][414702.0.262115638][0.0.0][414702.0.262115639][414702.0.262115641]'
+  BaseType: Object
+  StructuredName: 'Global_MappingLanes'
+}
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/Attribute_DestinationStockingPointID.qbl b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_DestinationStockingPointID.qbl
new file mode 100644
index 0000000..f847bdb
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_DestinationStockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DestinationStockingPointID
+{
+  #keys: '3[414702.0.262115693][414702.0.262115692][414702.0.262115694]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/Attribute_LaneID.qbl b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_LaneID.qbl
new file mode 100644
index 0000000..6348e20
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_LaneID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LaneID
+{
+  #keys: '3[414702.0.262115703][414702.0.262115702][414702.0.262115704]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/Attribute_Name.qbl b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_Name.qbl
new file mode 100644
index 0000000..415fc30
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[414702.0.262115713][414702.0.262115712][414702.0.262115714]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/Attribute_OriginStockingPointID.qbl b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_OriginStockingPointID.qbl
new file mode 100644
index 0000000..7b3e636
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_OriginStockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OriginStockingPointID
+{
+  #keys: '3[414702.0.262115723][414702.0.262115722][414702.0.262115724]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/Attribute_UserLeadTime.qbl b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_UserLeadTime.qbl
new file mode 100644
index 0000000..17c076a
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLaneLeg/Attribute_UserLeadTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UserLeadTime
+{
+  #keys: '3[414702.0.262115733][414702.0.262115732][414702.0.262115734]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl
new file mode 100644
index 0000000..122bc25
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateByAPI (
+  GlobalOTDTable globalOTDTable
+)
+{
+  TextBody:
+  [*
+    globalOTDTable.Global_MappingLaneLeg( relflush );
+    
+    bodynumber := "4";
+    postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
+    address := "api-uat-sgc.tianma.cn";
+    url := "/otdService/https/GetLaneLegsInfo";
+    port := 443;
+    i := HTTPInterface::Create( address, port);
+    i.URL( url );
+    i.SSL( true );
+    i.SSLKeystore( "MyKeystore" );
+    i.PostMethod( true ); //it's a POST method
+    
+    i.Call( postrequestbody ); // Call's argument is for POST method's content.
+    htmlresult := i.Result();
+    
+    htmlresponse := JSON::Parse( htmlresult );
+    reponseDataJson := htmlresponse.Get( "responseData" );
+    datalist := reponseDataJson.Get( "dataList" );
+    
+    total := datalist.Size();
+    for ( j := 0; j < total; j++ ) {
+      globalOTDTable.Global_MappingLaneLeg( relnew,
+                                            DestinationStockingPointID := guard( datalist.Get( j ).Get( "destinationstockingpointid" ).GetString(), "" ),
+                                            LaneID                     := guard( datalist.Get( j ).Get( "laneid" ).GetString(), "" ),
+                                            Name                       := guard( datalist.Get( j ).Get( "name" ).GetString(), "" ),
+                                            OriginStockingPointID      := guard( datalist.Get( j ).Get( "originstockingpointid" ).GetString(), "" ),
+                                            UserLeadTime               := guard( datalist.Get( j ).Get( "userleadtime" ).GetString(), "" )
+                                           );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/_ROOT_Type_Global_MappingLaneLeg.qbl b/_Main/BL/Type_Global_MappingLaneLeg/_ROOT_Type_Global_MappingLaneLeg.qbl
new file mode 100644
index 0000000..3e8f307
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingLaneLeg/_ROOT_Type_Global_MappingLaneLeg.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingLaneLeg
+{
+  #keys: '5[414702.0.261965018][414702.0.261965016][0.0.0][414702.0.261965017][414702.0.261965019]'
+  BaseType: Object
+  StructuredName: 'Global_MappingLaneLegs'
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_ActualCapacity.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_ActualCapacity.qbl
new file mode 100644
index 0000000..e1a34fd
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_ActualCapacity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ActualCapacity
+{
+  #keys: '3[414702.0.261949448][414702.0.261949447][414702.0.261949449]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_BusinessType.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..1417ed6
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+  #keys: '3[414702.0.261949461][414702.0.261949460][414702.0.261949462]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_Line.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_Line.qbl
new file mode 100644
index 0000000..c3760b9
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_Line.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Line
+{
+  #keys: '3[414702.0.261949474][414702.0.261949473][414702.0.261949475]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_MaximumQuantity.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_MaximumQuantity.qbl
new file mode 100644
index 0000000..ef5f8c3
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_MaximumQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MaximumQuantity
+{
+  #keys: '3[414702.0.261949484][414702.0.261949483][414702.0.261949485]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_MinimumQuantity.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_MinimumQuantity.qbl
new file mode 100644
index 0000000..0d8733d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_MinimumQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MinimumQuantity
+{
+  #keys: '3[414702.0.261949494][414702.0.261949493][414702.0.261949495]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_OrganCode.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_OrganCode.qbl
new file mode 100644
index 0000000..f536192
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_OrganCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganCode
+{
+  #keys: '3[414702.0.261949504][414702.0.261949503][414702.0.261949505]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_OrganName.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_OrganName.qbl
new file mode 100644
index 0000000..f8f3a2d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_OrganName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganName
+{
+  #keys: '3[414702.0.261949514][414702.0.261949513][414702.0.261949515]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_PlantName.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_PlantName.qbl
new file mode 100644
index 0000000..b5f06b5
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_PlantName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlantName
+{
+  #keys: '3[414702.0.261949524][414702.0.261949523][414702.0.261949525]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_ProcessSection.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_ProcessSection.qbl
new file mode 100644
index 0000000..e53f1d6
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_ProcessSection.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProcessSection
+{
+  #keys: '3[414702.0.261949537][414702.0.261949536][414702.0.261949538]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_ProductID.qbl
new file mode 100644
index 0000000..d3238d9
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_ProductID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.261949547][414702.0.261949546][414702.0.261949548]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_SequenceNumber.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_SequenceNumber.qbl
new file mode 100644
index 0000000..34fec71
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_SequenceNumber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SequenceNumber
+{
+  #keys: '3[414702.0.261949560][414702.0.261949559][414702.0.261949561]'
+  IsReadOnly: true
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..3b3d6d8
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+  #keys: '3[414702.0.261949573][414702.0.261949572][414702.0.261949574]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/Attribute_UserLeadTime.qbl b/_Main/BL/Type_Global_MappingOperation/Attribute_UserLeadTime.qbl
new file mode 100644
index 0000000..15616b8
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/Attribute_UserLeadTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UserLeadTime
+{
+  #keys: '3[414702.0.261949583][414702.0.261949582][414702.0.261949584]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/TypeIndex_NewTypeIndex.qbl b/_Main/BL/Type_Global_MappingOperation/TypeIndex_NewTypeIndex.qbl
new file mode 100644
index 0000000..e1ca871
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/TypeIndex_NewTypeIndex.qbl
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex NewTypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: BusinessType
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: Line
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: OrganCode
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: PlantName
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ProcessSection
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ProductID
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: SequenceNumber
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingOperation/_ROOT_Type_Global_MappingOperation.qbl b/_Main/BL/Type_Global_MappingOperation/_ROOT_Type_Global_MappingOperation.qbl
new file mode 100644
index 0000000..b89eac9
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperation/_ROOT_Type_Global_MappingOperation.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingOperation
+{
+  #keys: '5[414702.0.261400160][414702.0.261400158][0.0.0][414702.0.261400159][414702.0.261400161]'
+  BaseType: Object
+  StructuredName: 'Global_MappingOperations'
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialCode.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialCode.qbl
new file mode 100644
index 0000000..34f2836
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AlternativeMaterialCode
+{
+  #keys: '3[414702.0.261405175][414702.0.261405174][414702.0.261405176]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialType.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialType.qbl
new file mode 100644
index 0000000..9189cae
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AlternativeMaterialType
+{
+  #keys: '3[414702.0.261405188][414702.0.261405187][414702.0.261405189]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialUnit.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialUnit.qbl
new file mode 100644
index 0000000..8f0cd9c
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeMaterialUnit.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AlternativeMaterialUnit
+{
+  #keys: '3[414702.0.261405198][414702.0.261405197][414702.0.261405199]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeRate.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeRate.qbl
new file mode 100644
index 0000000..0c92f98
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_AlternativeRate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AlternativeRate
+{
+  #keys: '3[414702.0.261405208][414702.0.261405207][414702.0.261405209]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_BusinessType.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..f4f88ac
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+  #keys: '3[414702.0.261405221][414702.0.261405220][414702.0.261405222]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentCode.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentCode.qbl
new file mode 100644
index 0000000..4b8629f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ComponentCode
+{
+  #keys: '3[414702.0.261405234][414702.0.261405233][414702.0.261405235]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentDescription.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentDescription.qbl
new file mode 100644
index 0000000..dd9a062
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentDescription.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ComponentDescription
+{
+  #keys: '3[414702.0.261405247][414702.0.261405246][414702.0.261405248]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentOutputRate.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentOutputRate.qbl
new file mode 100644
index 0000000..e8989c1
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentOutputRate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ComponentOutputRate
+{
+  #keys: '3[414702.0.261405257][414702.0.261405256][414702.0.261405258]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentType.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentType.qbl
new file mode 100644
index 0000000..e186807
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ComponentType
+{
+  #keys: '3[414702.0.261405270][414702.0.261405269][414702.0.261405271]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnit.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnit.qbl
new file mode 100644
index 0000000..6c49c9e
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnit.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ComponentUnit
+{
+  #keys: '3[414702.0.261405280][414702.0.261405279][414702.0.261405281]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnitDescription.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnitDescription.qbl
new file mode 100644
index 0000000..b92ee54
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ComponentUnitDescription.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ComponentUnitDescription
+{
+  #keys: '3[414702.0.261405290][414702.0.261405289][414702.0.261405291]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterial.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterial.qbl
new file mode 100644
index 0000000..de448e3
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterial.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DescriptionOfAlternativeMaterial
+{
+  #keys: '3[414702.0.261405300][414702.0.261405299][414702.0.261405301]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl
new file mode 100644
index 0000000..4014c58
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DescriptionOfAlternativeMaterialUnits
+{
+  #keys: '3[414702.0.261405310][414702.0.261405309][414702.0.261405311]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_MaterialSystem.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_MaterialSystem.qbl
new file mode 100644
index 0000000..e2499ba
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_MaterialSystem.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MaterialSystem
+{
+  #keys: '3[414702.0.261405320][414702.0.261405319][414702.0.261405321]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_OrganCode.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_OrganCode.qbl
new file mode 100644
index 0000000..42fdd82
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_OrganCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganCode
+{
+  #keys: '3[414702.0.261405330][414702.0.261405329][414702.0.261405331]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProcessSection.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProcessSection.qbl
new file mode 100644
index 0000000..9718001
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProcessSection.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProcessSection
+{
+  #keys: '3[414702.0.261405343][414702.0.261405342][414702.0.261405344]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductCode.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductCode.qbl
new file mode 100644
index 0000000..3e426ad
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductCode
+{
+  #keys: '3[414702.0.261405356][414702.0.261405355][414702.0.261405357]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductDescribe.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductDescribe.qbl
new file mode 100644
index 0000000..52b7655
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductDescribe.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductDescribe
+{
+  #keys: '3[414702.0.261405366][414702.0.261405365][414702.0.261405367]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductType.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductType.qbl
new file mode 100644
index 0000000..2e7bcfa
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductType
+{
+  #keys: '3[414702.0.261405376][414702.0.261405375][414702.0.261405377]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductUnitDescription.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductUnitDescription.qbl
new file mode 100644
index 0000000..d242d50
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_ProductUnitDescription.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductUnitDescription
+{
+  #keys: '3[414702.0.261405386][414702.0.261405385][414702.0.261405387]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_SubstitutionRelationship.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_SubstitutionRelationship.qbl
new file mode 100644
index 0000000..65e5c42
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_SubstitutionRelationship.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SubstitutionRelationship
+{
+  #keys: '3[414702.0.261405396][414702.0.261405395][414702.0.261405397]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..9d45810
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+  #keys: '3[414702.0.261405406][414702.0.261405405][414702.0.261405407]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitUsageOfComponents.qbl b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitUsageOfComponents.qbl
new file mode 100644
index 0000000..cff7d28
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/Attribute_UnitUsageOfComponents.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitUsageOfComponents
+{
+  #keys: '3[414702.0.261405416][414702.0.261405415][414702.0.261405417]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingOperationBOM/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..d2e08d2
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: AlternativeMaterialCode
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: BusinessType
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ComponentCode
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: OrganCode
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ProcessSection
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ProductCode
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ComponentUnit
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ComponentType
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/_ROOT_Type_Global_MappingOperationBOM.qbl b/_Main/BL/Type_Global_MappingOperationBOM/_ROOT_Type_Global_MappingOperationBOM.qbl
new file mode 100644
index 0000000..b3ad2f9
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingOperationBOM/_ROOT_Type_Global_MappingOperationBOM.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingOperationBOM
+{
+  #keys: '5[414702.0.261400165][414702.0.261400163][0.0.0][414702.0.261400164][414702.0.261400166]'
+  BaseType: Object
+  StructuredName: 'Global_MappingOperationBOMs'
+}
diff --git a/_Main/BL/Type_Global_MappingProductInLane/Attribute_LineID.qbl b/_Main/BL/Type_Global_MappingProductInLane/Attribute_LineID.qbl
new file mode 100644
index 0000000..4a9813d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProductInLane/Attribute_LineID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LineID
+{
+  #keys: '3[414702.0.262182403][414702.0.262182402][414702.0.262182404]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProductInLane/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingProductInLane/Attribute_ProductID.qbl
new file mode 100644
index 0000000..1914ac4
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProductInLane/Attribute_ProductID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.262182416][414702.0.262182415][414702.0.262182417]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingProductInLane/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingProductInLane/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..0612fa5
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProductInLane/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: LineID
+    }
+    TypeIndexAttribute
+    {
+      ModelElement: ProductID
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingProductInLane/_ROOT_Type_Global_MappingProductInLane.qbl b/_Main/BL/Type_Global_MappingProductInLane/_ROOT_Type_Global_MappingProductInLane.qbl
new file mode 100644
index 0000000..095c710
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProductInLane/_ROOT_Type_Global_MappingProductInLane.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingProductInLane
+{
+  #keys: '5[414702.0.262177982][414702.0.262177980][0.0.0][414702.0.262177981][414702.0.262177983]'
+  BaseType: Object
+  StructuredName: 'Global_MappingProductInLanes'
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_AccountName.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_AccountName.qbl
new file mode 100644
index 0000000..15cd3b3
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_AccountName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AccountName
+{
+  #keys: '3[414702.0.264769587][414702.0.264769586][414702.0.264769588]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_Cost.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_Cost.qbl
new file mode 100644
index 0000000..a37b9e9
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_Cost.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Cost
+{
+  #keys: '3[414702.0.264769597][414702.0.264769596][414702.0.264769598]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_CostDriver.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_CostDriver.qbl
new file mode 100644
index 0000000..149060b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_CostDriver.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CostDriver
+{
+  #keys: '3[414702.0.264769607][414702.0.264769606][414702.0.264769608]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_ID.qbl
new file mode 100644
index 0000000..cba2641
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+  #keys: '3[414702.0.264769617][414702.0.264769616][414702.0.264769618]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_ProductID.qbl
new file mode 100644
index 0000000..f5cdb72
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.264769630][414702.0.264769629][414702.0.264769631]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_Start.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_Start.qbl
new file mode 100644
index 0000000..6a1bfbb
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_Start.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Start
+{
+  #keys: '3[414702.0.264769640][414702.0.264769639][414702.0.264769641]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_StockingPointID.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..d8ba3bb
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+  #keys: '3[414702.0.264769653][414702.0.264769652][414702.0.264769654]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/TypeIndex_NewTypeIndex.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/TypeIndex_NewTypeIndex.qbl
new file mode 100644
index 0000000..d90f313
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/TypeIndex_NewTypeIndex.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex NewTypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: ID
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/_ROOT_Type_Global_MappingStockingPointCost.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/_ROOT_Type_Global_MappingStockingPointCost.qbl
new file mode 100644
index 0000000..ba439d7
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/_ROOT_Type_Global_MappingStockingPointCost.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingStockingPointCost
+{
+  #keys: '5[414702.0.264765168][414702.0.264765166][0.0.0][414702.0.264765167][414702.0.264765169]'
+  BaseType: Object
+  StructuredName: 'Global_MappingStockingPointCosts'
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_AccountName.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_AccountName.qbl
new file mode 100644
index 0000000..8e9fe48
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_AccountName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AccountName
+{
+  #keys: '3[414702.0.264972890][414702.0.264972889][414702.0.264972891]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_Cost.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_Cost.qbl
new file mode 100644
index 0000000..fb6c969
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_Cost.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Cost
+{
+  #keys: '3[414702.0.264972900][414702.0.264972899][414702.0.264972901]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_CostDriver.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_CostDriver.qbl
new file mode 100644
index 0000000..bbacd80
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_CostDriver.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CostDriver
+{
+  #keys: '3[414702.0.264972910][414702.0.264972909][414702.0.264972911]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_ID.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_ID.qbl
new file mode 100644
index 0000000..9c80b12
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+  #keys: '3[414702.0.264972920][414702.0.264972919][414702.0.264972921]'
+  IsReadOnly: true
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_LengthOfTime.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_LengthOfTime.qbl
new file mode 100644
index 0000000..fd779ed
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_LengthOfTime.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LengthOfTime
+{
+  #keys: '3[414702.0.264972930][414702.0.264972929][414702.0.264972931]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_OrgCode.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_OrgCode.qbl
new file mode 100644
index 0000000..e83c5da
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_OrgCode.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrgCode
+{
+  #keys: '3[414702.0.264972940][414702.0.264972939][414702.0.264972941]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_ProductID.qbl
new file mode 100644
index 0000000..5269253
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[414702.0.264972950][414702.0.264972949][414702.0.264972951]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_Start.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_Start.qbl
new file mode 100644
index 0000000..e41d3dc
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_Start.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Start
+{
+  #keys: '3[414702.0.264972960][414702.0.264972959][414702.0.264972961]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/Attribute_TimeUnit.qbl b/_Main/BL/Type_Global_MappingUnitCost/Attribute_TimeUnit.qbl
new file mode 100644
index 0000000..0f3ca7d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/Attribute_TimeUnit.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TimeUnit
+{
+  #keys: '3[414702.0.264972970][414702.0.264972969][414702.0.264972971]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/TypeIndex_TypeIndex.qbl b/_Main/BL/Type_Global_MappingUnitCost/TypeIndex_TypeIndex.qbl
new file mode 100644
index 0000000..29c1c4b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/TypeIndex_TypeIndex.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndex
+{
+  Attributes:
+  [
+    TypeIndexAttribute
+    {
+      ModelElement: ID
+    }
+  ]
+}
diff --git a/_Main/BL/Type_Global_MappingUnitCost/_ROOT_Type_Global_MappingOperationCost.qbl b/_Main/BL/Type_Global_MappingUnitCost/_ROOT_Type_Global_MappingOperationCost.qbl
new file mode 100644
index 0000000..7ca24cc
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingUnitCost/_ROOT_Type_Global_MappingOperationCost.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingOperationCost
+{
+  #keys: '5[414702.0.264968472][414702.0.264968470][0.0.0][414702.0.264968471][414702.0.264968473]'
+  BaseType: Object
+  StructuredName: 'Global_MappingOperationCosts'
+}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
index 51fa4f0..20ed0bd 100644
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
+++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -130,5 +130,32 @@
         }
       ]
     }
+    Component menuFile #extension
+    {
+      Children:
+      [
+        Component menuSeparator457 { #keys: '[414702.0.265704251]' BaseType: 'Menu' Properties: [ Separator: true ] }
+        Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] }
+      ]
+      Properties:
+      [
+        ModeledStringList ChildOrdering
+        {
+          c: ComponentMenu3
+          c: Menu9
+          c: menuBroadcastMessage
+          c: menuQuintiqChat
+          c: Menu10
+          c: menuChangePassword
+          c: Menu11
+          c: menuLoadReport
+          c: Menu13
+          c: MenuRestart
+          c: menuExit
+          c: menuSeparator457
+          c: ComponentMenu666
+        }
+      ]
+    }
   ]
 }
diff --git a/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ColumnTitles511.def b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ColumnTitles511.def
new file mode 100644
index 0000000..3369129
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ColumnTitles511.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+Component ColumnTitles511
+{
+  #keys: '[414702.0.265704399]'
+  BaseType: 'ColumnTitles'
+  Children:
+  [
+    Component popupColumnTitles297
+    {
+      #keys: '[414702.0.265704402]'
+      BaseType: 'popupColumnTitles'
+    }
+  ]
+  Properties:
+  [
+    ContextMenu: 'popupColumnTitles297'
+  ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ListGlobal_BrokerExecuteLog.def b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ListGlobal_BrokerExecuteLog.def
new file mode 100644
index 0000000..fcd767f
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Component_ListGlobal_BrokerExecuteLog.def
@@ -0,0 +1,117 @@
+Quintiq file version 2.0
+Component ListGlobal_BrokerExecuteLog
+{
+  #keys: '[414702.0.265704396]'
+  BaseType: 'List'
+  Children:
+  [
+    #child: ColumnTitles511
+    Component popupList445
+    {
+      #keys: '[414702.0.265704428]'
+      BaseType: 'popupList'
+      Children:
+      [
+        Component PopupParent
+        {
+          #keys: '[514.0.129466]'
+          BaseType: 'PopupParent'
+          IsDerived: true
+          Children:
+          [
+            Component menuSeparator { #keys: '[414702.0.265705233]' BaseType: 'Menu' Properties: [ Separator: true ] }
+            Component MenuDelete { #keys: '[414702.0.265705300]' BaseType: 'Menu' Properties: [ Image: 'DELETE' Text: 'Delete' ] }
+          ]
+          Properties:
+          [
+            ModeledStringList ChildOrdering
+            {
+              c: MenuActions
+              c: MenuFilter
+              c: menuListQuintiqSetQuantor
+              c: menuSeparator
+              c: MenuDelete
+            }
+          ]
+        }
+      ]
+      Properties:
+      [
+        PosX: 35
+        PosY: 60
+      ]
+    }
+    Component GUIDataExtractor430
+    {
+      #keys: '[414702.0.265704460]'
+      BaseType: 'GUIDataExtractor'
+      Properties:
+      [
+        DataSet: 'GlobalOTDTable'
+        DataType: 'GlobalOTDTable'
+        PosX: 5
+        PosY: 30
+        Transformation: 'Global_BrokerExecuteLog'
+      ]
+    }
+    Component GUIDataSetLevel295
+    {
+      #keys: '[414702.0.265704463]'
+      BaseType: 'GUIDataSetLevel'
+      Properties:
+      [
+        DataExtractor: 'GUIDataExtractor430'
+        PosX: 35
+        PosY: 30
+      ]
+    }
+  ]
+  Properties:
+  [
+    AutoDrag: true
+    BackgroundColor: 'Window'
+    Border: true
+    ContextMenu: 'popupList445'
+    FullRowSelect: true
+    ModeledStringList ChildOrdering
+    {
+      c: ColumnTitles511
+      c: popupList445
+      c: GUIDataExtractor430
+      c: GUIDataSetLevel295
+    }
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListGlobal_BrokerExecuteLog_Menu_OnClick
+    {
+      #keys: '[414702.0.265704469]'
+      Initiator: 'Menu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[589.0.8208609]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+    DelegatedResponseDefinition OnClick id:Responsedef_ListGlobal_BrokerExecuteLog_GUIButtonBase_OnClick
+    {
+      #keys: '[414702.0.265704470]'
+      Initiator: 'GUIButtonBase'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[589.0.8208654]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Response_ListGlobal_BrokerExecuteLog_MenuDelete_OnClick.def b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Response_ListGlobal_BrokerExecuteLog_MenuDelete_OnClick.def
new file mode 100644
index 0000000..2925bcd
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/Response_ListGlobal_BrokerExecuteLog_MenuDelete_OnClick.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: ListGlobal_BrokerExecuteLog
+Response OnClick (
+  Global_BrokerExecuteLog selection
+) id:Response_ListGlobal_BrokerExecuteLog_MenuDelete_OnClick
+{
+  #keys: '[414702.0.265705336]'
+  Body:
+  [*
+    selection.Delete();
+  *]
+  DefinitionID => /ListGlobal_BrokerExecuteLog/Responsedef_ListGlobal_BrokerExecuteLog_Menu_OnClick
+  Initiator: 'MenuDelete'
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/_ROOT_Component_FormBrokerExecuteLog.def b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/_ROOT_Component_FormBrokerExecuteLog.def
new file mode 100644
index 0000000..006b818
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormBrokerExecuteLog/_ROOT_Component_FormBrokerExecuteLog.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent FormBrokerExecuteLog
+{
+  #keys: '[414702.0.265704270]'
+  BaseType: 'Form'
+  GBLayout
+  {
+    Type: 'internal[GBLayoutDefinition]'
+    Columns:
+    [
+      GBFlow.Column { grow: 128 id: 581 parent: 0 }
+    ]
+    Elements:
+    [
+      GBElement
+      {
+        Component => ListGlobal_BrokerExecuteLog
+        Position { startcolumn: 581 startrow: 363 endcolumn: 581 endrow: 363 }
+      }
+    ]
+    Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
+    Rows:
+    [
+      GBFlow.Row { grow: 128 id: 363 parent: 0 }
+    ]
+  }
+  Children:
+  [
+    #child: ListGlobal_BrokerExecuteLog
+  ]
+  Properties:
+  [
+    Height: 333
+    Image: 'BIRD'
+    IncludeInView: true
+    Title: 'Broker鎵ц鏃ュ織'
+    Width: 441
+  ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def b/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def
index d5aa442..d600887 100644
--- a/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def
+++ b/_Main/UI/MacroPlanner/Component_ScenarioManager_FormScenario/Response_TIANMA_JITUAN_SplitterWndScenarioManager_Button897_OnClick.def
@@ -5,7 +5,7 @@
   #keys: '[414702.0.239704677]'
   Body:
   [*
-    GlobalOTDTable::SynchronizationAllMappingBroker( MacroPlan, GlobalOTDTable );
+    GlobalOTDTable::SynchronizationAllMappingBrokerAndAPI( MacroPlan, GlobalOTDTable );
   *]
   CanBindMultiple: false
   DefinitionID: 'Responsedef_GUIButtonBase_OnClick'

--
Gitblit v1.9.3