From 5fa4a6a06c62fd41731ff6cc1f1f6e031bd7436f Mon Sep 17 00:00:00 2001
From: yypsybs <yypsybs@foxmail.com>
Date: 星期三, 18 十月 2023 09:50:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Component_ListPanelMaterialTM.def                                                                         |    4 
 _Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl                                                                                                          |    6 
 _Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDSOP_GlobalOTDSOP_PanelMaterialAll.qbl                                                                           |   23 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def                                                                                        |   16 
 _Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Import.qbl                                                                                                                     |    5 
 _Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnCreated.def                                                                                 |    2 
 _var/_Main/ProjSettings/MacroPlanner/ColSch/Global.cs                                                                                                                 |  574 ++++++++++++------------
 _Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnDataChanged.def                                                                             |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Component_ListPanelMaterialTM.def                                                                         |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnCreated.def                                                          |    2 
 _Main/BL/Type_GlobalOTDSOP/StaticMethod_ReceivingPanelMaterials.qbl                                                                                                   |    4 
 _Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl                                                                                                       |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Component_ListPanelMaterialSpecializedDisplay.def                                           |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Component_ListPanelMaterialVehicle.def                                                                 |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM18_OnCreated.def                                                                 |    2 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl                                                                                                         |    8 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl                                                                                                        |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def                                   |    2 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl                                                                                                  |   40 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl                                                                                         |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnCreated.def                                                |    2 
 _Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl                                                                                                           |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnCreated.def                              |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def                     |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnDataChanged.def                                                      |    2 
 _Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl                                                                                      |    4 
 _Main/BL/Type_GlobalOTDSOP/Method_SynchronizeOrders.qbl                                                                                                               |    0 
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR#39.def                  |    2 
 _Main/BL/Type_GlobalOTDSOP/Method_ReceivingPanelMaterials.qbl                                                                                                         |    0 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTianHua_OnCreated.def                                                              |    2 
 _Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl                                                                               |   14 
 _Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl                                                                                                        |    2 
 _Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl                                                                                                       |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def                                 |    2 
 _Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Export.qbl                                                                                                                     |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def                                          |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_New.def                                                                 |    2 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl                                                                                                   |   12 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM17_OnCreated.def                                                                 |    2 
 _Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl                                                                                                    |    2 
 _Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl                                                                                                                     |    2 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl                                                                                          |   26 
 _Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl                                                                                      |    4 
 _Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl                                               |    2 
 _Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl                                                                                        |   14 
 _Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl                                                                                                         |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlActions_btnOk_OnClick.def                                                                          |    2 
 _Main/BL/Relations/Relation_VersionControl_GlobalOTDSOP_GlobalOTDSOP_VersionControl.qbl                                                                               |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnCreated.def                                                                |    2 
 _Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDSOP_GlobalOTDSOP_MappingVersionContr.qbl                                                                   |   23 +
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblAutomotiveElectronics_OnCreated.def                                                |    2 
 _Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl                                                                                                    |    7 
 _Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDSOP_GlobalOTDSO.qbl                                                                   |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def                                      |    4 
 _Main/BL/Relations/Relation_VersionStatus_GlobalOTDSOP_GlobalOTDSOP_VersionStatus.qbl                                                                                 |   23 +
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def                                          |   33 +
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnDataChanged.def                                |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnDataChanged.def                          |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnDataChanged.def                                            |    2 
 _Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocat.qbl                                                                   |   23 +
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def                                                                    |   21 
 _Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl                                                                                                |   14 
 _Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def                                          |   24 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Component_ListPanelMaterialSportsHealth.def                                                       |    4 
 _Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl                                                                                                   |    2 
 _Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl                                                                                             |   14 
 _Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl                                                                                                 |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def                                      |    2 
 _Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl                                       |    2 
 _Main/BL/Type_VersionControl/StaticMethod_Create.qbl                                                                                                                  |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnDataChanged.def                                                            |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnDataChanged.def                                              |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def |    2 
 _Main/BL/Type_GlobalOTDSOP/StaticMethod_GetVersionData.qbl                                                                                                            |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def                                                                           |    4 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl                                                                                  |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSpecializedDisplay_OnCreated.def                                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Component_ListPanelMaterialAutomotiveElectronics.def                                     |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnCreated.def                                                  |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def                                     |    2 
 _Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl                                                                                             |   14 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSportsHealth_OnCreated.def                                                         |    2 
 _Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl                                                                                  |   14 
 _Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl                                                                                                             |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblIT_OnCreated.def                                                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnDataChanged.def                                                            |    2 
 _Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl                                                                                                |   14 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def                                                             |   14 
 _Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl                                                                                         |   46 +-
 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuEdit_OnClick.def                                                                  |    3 
 _Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def                                                                                  |   13 
 _Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl                                                                                                  |   14 
 _Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl                                                                                                     |    2 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def                                                           |    8 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnCreated.def                                    |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def                                 |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnCreated.def                                                                |    2 
 _Main/BL/Type_GlobalOTDSOP/StaticMethod_GetOutputVersionData.qbl                                                                                                      |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblMaterialVehicle_OnCreated.def                                                      |    2 
 /dev/null                                                                                                                                                             |   23 -
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def                                                            |    8 
 _Main/UI/MacroPlannerWebApp/Component_FormIT/Component_ListPanelMaterialIT.def                                                                                        |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Component_ListPanelMaterialTianHua.def                                                                 |    4 
 103 files changed, 771 insertions(+), 554 deletions(-)

diff --git a/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl b/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl
index b3723db..80c5ce1 100644
--- a/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl
+++ b/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl
@@ -2,7 +2,7 @@
 #parent: #root
 EDIBroker Broker_OTD_VersionControl
 {
-  MDSDefinition: GlobalOTDTable
+  MDSDefinition: GlobalOTDSOP
   TimeZone: 'ACT'
   UseOSTimeZone: false
   EDIModelLink.Destination MappingVersionControl
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl b/_Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Export.qbl
similarity index 95%
rename from _Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl
rename to _Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Export.qbl
index d50d284..8cf249e 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Export.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Export.qbl
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
 #parent: #root
-EDIBroker GlobalOTDTable_CARRC_Export
+EDIBroker GlobalOTDSOP_CARRC_Export
 {
-  MDSDefinition: GlobalOTDTable
+  MDSDefinition: GlobalOTDSOP
   TimeZone: 'ACT'
   UseOSTimeZone: false
   EDIModelLink.Source Source11
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl b/_Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Import.qbl
similarity index 90%
rename from _Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl
rename to _Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Import.qbl
index e539ed2..ad30317 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_CARRC_Import.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDSOP_CARRC_Import.qbl
@@ -1,8 +1,8 @@
 Quintiq file version 2.0
 #parent: #root
-EDIBroker GlobalOTDTable_CARRC_Import
+EDIBroker GlobalOTDSOP_CARRC_Import
 {
-  MDSDefinition: GlobalOTDTable
+  MDSDefinition: GlobalOTDSOP
   TimeZone: 'ACT'
   UseOSTimeZone: false
   EDIModelLink.Destination Destination13
@@ -17,6 +17,7 @@
       EDIMLColumn Division { Attribute: Division ValueType: String }
       EDIMLColumn ModuleMaterialCode { Attribute: ModuleMaterialCode ValueType: String }
       EDIMLColumn PanelMaterialCode { Attribute: PanelMaterialCode ValueType: String }
+      EDIMLColumn PanelMaterialStockingPointID { Attribute: PanelMaterialStockingPointID ValueType: String }
       EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
     }
   }
diff --git a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl
index 28845d0..5e2eb3e 100644
--- a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl
+++ b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/MessageEnhancerProcessor_MessageHeaderEnhancerProcessor.qbl
@@ -20,6 +20,6 @@
   {
     Property: '_QI.Type'
     Type: 'String'
-    Value: 'GlobalOTDTable'
+    Value: 'GlobalOTDSOP'
   }
 }
diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDSOP_GlobalOTDSO.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDSOP_GlobalOTDSO.qbl
new file mode 100644
index 0000000..73f12a2
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDSOP_GlobalOTDSO.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAllocationResultsRuleConfiguration_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocationResultsRuleConfiguration
+{
+  #keys: '1[414702.1.138430337]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDSOP
+  {
+    #keys: '3[414702.1.138430339][414702.1.138430338][414702.1.138430340]'
+    Cardinality: '0to1'
+    ObjectDefinition: CapacityAllocationResultsRuleConfiguration
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide CapacityAllocationResultsRuleConfiguration
+  {
+    #keys: '3[414702.1.138430342][414702.1.138430341][414702.1.138430343]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDSOP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTD.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTD.qbl
deleted file mode 100644
index 40be5f9..0000000
--- a/_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTD.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResultsRuleConfiguration
-{
-  #keys: '1[414702.0.374991408]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide GlobalOTDTable
-  {
-    #keys: '3[414702.0.374991410][414702.0.374991409][414702.0.374991411]'
-    Cardinality: '0to1'
-    ObjectDefinition: CapacityAllocationResultsRuleConfiguration
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide CapacityAllocationResultsRuleConfiguration
-  {
-    #keys: '3[414702.0.374991413][414702.0.374991412][414702.0.374991414]'
-    Cardinality: '1toN'
-    ObjectDefinition: GlobalOTDTable
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocat.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocat.qbl
new file mode 100644
index 0000000..476e161
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocat.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAllocationResults_GlobalOTDSOP_GlobalOTDSOP_CapacityAllocationResults
+{
+  #keys: '1[414702.1.138430321]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDSOP
+  {
+    #keys: '3[414702.1.138430323][414702.1.138430322][414702.1.138430324]'
+    Cardinality: '0to1'
+    ObjectDefinition: CapacityAllocationResults
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide CapacityAllocationResults
+  {
+    #keys: '3[414702.1.138430326][414702.1.138430325][414702.1.138430327]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDSOP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl
deleted file mode 100644
index 278c0e9..0000000
--- a/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResults
-{
-  #keys: '1[414702.0.340560333]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide GlobalOTDTable
-  {
-    #keys: '3[414702.0.340560335][414702.0.340560334][414702.0.340560336]'
-    Cardinality: '0to1'
-    ObjectDefinition: CapacityAllocationResults
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide CapacityAllocationResults
-  {
-    #keys: '3[414702.0.340560338][414702.0.340560337][414702.0.340560339]'
-    Cardinality: '1toN'
-    ObjectDefinition: GlobalOTDTable
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDSOP_GlobalOTDSOP_MappingVersionContr.qbl b/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDSOP_GlobalOTDSOP_MappingVersionContr.qbl
new file mode 100644
index 0000000..7415d35
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDSOP_GlobalOTDSOP_MappingVersionContr.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MappingVersionControl_GlobalOTDSOP_GlobalOTDSOP_MappingVersionControl
+{
+  #keys: '1[412960.0.337760056]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDSOP
+  {
+    #keys: '3[412960.0.337760058][412960.0.337760057][412960.0.337760059]'
+    Cardinality: '0to1'
+    ObjectDefinition: MappingVersionControl
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide MappingVersionControl
+  {
+    #keys: '3[412960.0.337760061][412960.0.337760060][412960.0.337760062]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDSOP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl b/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl
deleted file mode 100644
index 39dd1eb..0000000
--- a/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionControl
-{
-  #keys: '1[412960.0.150120043]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide GlobalOTDTable
-  {
-    #keys: '3[412960.0.150120045][412960.0.150120044][412960.0.150120046]'
-    Cardinality: '0to1'
-    ObjectDefinition: MappingVersionControl
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide MappingVersionControl
-  {
-    #keys: '3[412960.0.150120048][412960.0.150120047][412960.0.150120049]'
-    Cardinality: '1toN'
-    ObjectDefinition: GlobalOTDTable
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDSOP_GlobalOTDSOP_PanelMaterialAll.qbl b/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDSOP_GlobalOTDSOP_PanelMaterialAll.qbl
new file mode 100644
index 0000000..9da7ad0
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDSOP_GlobalOTDSOP_PanelMaterialAll.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PanelMaterialAll_GlobalOTDSOP_GlobalOTDSOP_PanelMaterialAll
+{
+  #keys: '1[414702.1.138384587]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDSOP
+  {
+    #keys: '3[414702.1.138384589][414702.1.138384588][414702.1.138384590]'
+    Cardinality: '0to1'
+    ObjectDefinition: PanelMaterialAll
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PanelMaterialAll
+  {
+    #keys: '3[414702.1.138384592][414702.1.138384591][414702.1.138384593]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDSOP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl b/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl
deleted file mode 100644
index f2cc83e..0000000
--- a/_Main/BL/Relations/Relation_PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation PanelMaterialAll_GlobalOTDTable_GlobalOTDTable_PanelMaterialAll
-{
-  #keys: '1[414702.0.196798981]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide GlobalOTDTable
-  {
-    #keys: '3[414702.0.196798983][414702.0.196798982][414702.0.196798984]'
-    Cardinality: '0to1'
-    ObjectDefinition: PanelMaterialAll
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide PanelMaterialAll
-  {
-    #keys: '3[414702.0.196798986][414702.0.196798985][414702.0.196798987]'
-    Cardinality: '1toN'
-    ObjectDefinition: GlobalOTDTable
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_VersionControl_GlobalOTDSOP_GlobalOTDSOP_VersionControl.qbl b/_Main/BL/Relations/Relation_VersionControl_GlobalOTDSOP_GlobalOTDSOP_VersionControl.qbl
new file mode 100644
index 0000000..7e3d31e
--- /dev/null
+++ b/_Main/BL/Relations/Relation_VersionControl_GlobalOTDSOP_GlobalOTDSOP_VersionControl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation VersionControl_GlobalOTDSOP_GlobalOTDSOP_VersionControl
+{
+  #keys: '1[412960.0.337760078]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDSOP
+  {
+    #keys: '3[412960.0.337760080][412960.0.337760079][412960.0.337760081]'
+    Cardinality: '0to1'
+    ObjectDefinition: VersionControl
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide VersionControl
+  {
+    #keys: '3[412960.0.337760083][412960.0.337760082][412960.0.337760084]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDSOP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl b/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl
deleted file mode 100644
index bb27705..0000000
--- a/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl
-{
-  #keys: '1[412960.0.134860006]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide GlobalOTDTable
-  {
-    #keys: '3[412960.0.134860008][412960.0.134860007][412960.0.134860009]'
-    Cardinality: '0to1'
-    ObjectDefinition: VersionControl
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide VersionControl
-  {
-    #keys: '3[412960.0.134860011][412960.0.134860010][412960.0.134860012]'
-    Cardinality: '1toN'
-    ObjectDefinition: GlobalOTDTable
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDSOP_GlobalOTDSOP_VersionStatus.qbl b/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDSOP_GlobalOTDSOP_VersionStatus.qbl
new file mode 100644
index 0000000..2615f94
--- /dev/null
+++ b/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDSOP_GlobalOTDSOP_VersionStatus.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation VersionStatus_GlobalOTDSOP_GlobalOTDSOP_VersionStatus
+{
+  #keys: '1[412960.0.337760095]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDSOP
+  {
+    #keys: '3[412960.0.337760097][412960.0.337760096][412960.0.337760098]'
+    Cardinality: '0to1'
+    ObjectDefinition: VersionStatus
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide VersionStatus
+  {
+    #keys: '3[412960.0.337760100][412960.0.337760099][412960.0.337760101]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDSOP
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl b/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl
deleted file mode 100644
index effee95..0000000
--- a/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus
-{
-  #keys: '1[412960.0.134830056]'
-  DefaultRelationStrategy
-  {
-  }
-  RelationSide.LeftSide GlobalOTDTable
-  {
-    #keys: '3[412960.0.134830058][412960.0.134830057][412960.0.134830059]'
-    Cardinality: '0to1'
-    ObjectDefinition: VersionStatus
-    OwningSide: 'Reference'
-  }
-  RelationSide.RightSide VersionStatus
-  {
-    #keys: '3[412960.0.134830061][412960.0.134830060][412960.0.134830062]'
-    Cardinality: '1toN'
-    ObjectDefinition: GlobalOTDTable
-    OwningSide: 'Owned'
-  }
-}
diff --git a/_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl b/_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl
index 59c9af0..86a37a9 100644
--- a/_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/DeclarativeReferenceRelation_CalcCapacityAllocationResultsRuleConfiguration.qbl
@@ -5,7 +5,7 @@
   #keys: '1[414702.0.388304510]'
   Expression:
   [*
-    targetCapacityAllocationResultsRuleConfiguration := select( this.GlobalOTDTable(), CapacityAllocationResultsRuleConfiguration, tempCARRC, 
+    targetCapacityAllocationResultsRuleConfiguration := select( this.GlobalOTDSOP(), CapacityAllocationResultsRuleConfiguration, tempCARRC, 
                                                                 tempCARRC.ModuleMaterialCode() = this.ModuleMaterialCode() and
                                                                 tempCARRC.PanelMaterialCode() = this.PanelMaterialCode() );
     
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
index 2340157..0f65a44 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
@@ -1,16 +1,16 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod CreateDate (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   MacroPlan macroPlan,
   Scenario scenario
 )
 {
   TextBody:
   [*
-    globalOTDTable.CapacityAllocationResults( relflush );
+    globalOTDSOP.CapacityAllocationResults( relflush );
     
-    finaleProductInStockingPoint_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan, globalOTDTable );
+    finaleProductInStockingPoint_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan, globalOTDSOP );
     
     period_MPS := null( Period_MPs );
     traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) {
@@ -18,15 +18,15 @@
     }
     
     traverse ( finaleProductInStockingPoint_MPs, Elements, fpispmp ) {
-      capacityAllocationResultsRuleConfigurations := selectset( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() );
+      capacityAllocationResultsRuleConfigurations := selectset( globalOTDSOP, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() );
     //  info( "鐢熶骇鐨勪骇鍝侊細", fpispmp.ProductID(), "------浜у搧鍦ㄥ簱瀛樼偣-------锛�", fpispmp.StockingPointID() );
       traverse ( period_MPS, Elements, pmp ) {     
         // CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); 鑰佺増
-        CapacityAllocationResults::IterativeGeneration2( globalOTDTable, fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfigurations, 0, null( NewSupply ), 0.0 );
+        CapacityAllocationResults::IterativeGeneration2( globalOTDSOP, fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfigurations, 0, null( NewSupply ), 0.0 );
       }
     }
     
-    traverse ( globalOTDTable, CapacityAllocationResults, car ) {
+    traverse ( globalOTDSOP, CapacityAllocationResults, car ) {
       car.VersionNumber( scenario.Name() );
     }
   *]
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl
index 2b6d0a6..867dabd 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate1.qbl
@@ -2,7 +2,7 @@
 #parent: #root
 StaticMethod CreateDate1 (
   MacroPlan macroPlan,
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   DependentDemand dependentDemand,
   NewSupply newSupply,
   Supply_MP firstNewSupply,
@@ -18,25 +18,25 @@
     
     if ( capacityAllocationResultsRuleConfiguration.PanelMaterialCode() = productID ) {
       info( "鎵惧埌浜嗭紒锛侊紒" );
-      globalOTDTable.CapacityAllocationResults( relnew,
-                                                PanelBase             := panelPISP.StockingPointID(),
-                                                PanelMaterialCode     := panelPISP.ProductID(),
-                                                NumberOfPanels        := fulfillmentQuantity,
-                                                PanelMeasurementUnit  := panelPISP.UnitOfMeasure_MP().Name(),
-                                                ModuleMaterialCode    := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().ProductID(),
-                                                NumberOfModules       := firstNewSupply.Quantity(),
-                                                ModuleMeasurementUnit := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().UnitOfMeasureName(),
-                                                ModuleBase            := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().StockingPointID(),
-                                                RequirementDate       := dependentDemand.Start().Date(),
-                                                // 瀵煎嚭澶栭儴渚涘簲瀛楁
-                                                Date                  := dependentDemand.Start().Date(),
-                                                Description           := "",
-                                                ID                    := OS::GenerateGUIDAsString(),
-                                                ProductID             := panelPISP.ProductID(),
-                                                StockingPointID       := panelPISP.StockingPointID(),
-                                                UserQuantity          := fulfillmentQuantity,
-                                                ManufacturedDate      := Date::MinDate()
-                                               );
+      globalOTDSOP.CapacityAllocationResults( relnew,
+                                              PanelBase             := panelPISP.StockingPointID(),
+                                              PanelMaterialCode     := panelPISP.ProductID(),
+                                              NumberOfPanels        := fulfillmentQuantity,
+                                              PanelMeasurementUnit  := panelPISP.UnitOfMeasure_MP().Name(),
+                                              ModuleMaterialCode    := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().ProductID(),
+                                              NumberOfModules       := firstNewSupply.Quantity(),
+                                              ModuleMeasurementUnit := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().UnitOfMeasureName(),
+                                              ModuleBase            := firstNewSupply.ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().StockingPointID(),
+                                              RequirementDate       := dependentDemand.Start().Date(),
+                                              // 瀵煎嚭澶栭儴渚涘簲瀛楁
+                                              Date                  := dependentDemand.Start().Date(),
+                                              Description           := "",
+                                              ID                    := OS::GenerateGUIDAsString(),
+                                              ProductID             := panelPISP.ProductID(),
+                                              StockingPointID       := panelPISP.StockingPointID(),
+                                              UserQuantity          := fulfillmentQuantity,
+                                              ManufacturedDate      := Date::MinDate()
+                                             );
     }
   *]
 }
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl
index af2857c..92e3c7f 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod IterativeGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   ProductInStockingPoint_MP pisp,
   Number numberOfLayers,
   NewSupply finaleNewSupply,
@@ -27,7 +27,7 @@
             oi := dd.ProcessInput().astype( OperationInput );
             finaleDependentDemand := finaleDependentDemand * oo.Quantity() * oi.Quantity();
     //        info( "渚濊禆闇�姹備骇鍝両D锛�", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), "    渚濊禆鏁伴噺锛�", dd.Quantity(), "    褰撳墠鍛ㄦ湡浠诲姟Key锛�", dd.PeriodTask_MP().astype( PeriodTaskOperation ).Key() );
-            CapacityAllocationResults::IterativeGeneration( globalOTDTable, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate );
+            CapacityAllocationResults::IterativeGeneration( globalOTDSOP, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate );
           }
     //      info( "----------------------------------------------------" );
         } else {
@@ -35,17 +35,17 @@
     //      info( "======" );
           pispPanel := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
           pispModule := finaleNewSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
-          globalOTDTable.CapacityAllocationResults( relnew,
-                                                    PanelBase             := pispPanel.StockingPointID(),
-                                                    PanelMaterialCode     := pispPanel.ProductID(),
-                                                    NumberOfPanels        := finaleDependentDemand,
-                                                    PanelMeasurementUnit  := pispPanel.UnitOfMeasure_MP().Name(),
-                                                    ModuleMaterialCode    := pispModule.ProductID(),
-                                                    NumberOfModules       := finaleNewSupply.Quantity(),
-                                                    ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(),
-                                                    ModuleBase            := pispModule.StockingPointID(),
-                                                    RequirementDate       := finaleNewSupply.Start().Date()
-                                                   );
+          globalOTDSOP.CapacityAllocationResults( relnew,
+                                                  PanelBase             := pispPanel.StockingPointID(),
+                                                  PanelMaterialCode     := pispPanel.ProductID(),
+                                                  NumberOfPanels        := finaleDependentDemand,
+                                                  PanelMeasurementUnit  := pispPanel.UnitOfMeasure_MP().Name(),
+                                                  ModuleMaterialCode    := pispModule.ProductID(),
+                                                  NumberOfModules       := finaleNewSupply.Quantity(),
+                                                  ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(),
+                                                  ModuleBase            := pispModule.StockingPointID(),
+                                                  RequirementDate       := finaleNewSupply.Start().Date()
+                                                 );
         }
         finaleNewSupply := null( NewSupply );
       }
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
index 226f832..36a59af 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod IterativeGeneration2 (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   ProductInStockingPoint_MP pisp,
   Date targetDate,
   CapacityAllocationResultsRuleConfigurations carrcs,
@@ -21,7 +21,7 @@
         previous := pispippl.PreviousPlanningPISPIP().astype( ProductInStockingPointInPeriodPlanningLeaf );
         if ( not previous.Period_MP().IsHistorical() ) {
           previousDate := previous.Start().Date();
-          CapacityAllocationResults::IterativeGeneration2( globalOTDTable,
+          CapacityAllocationResults::IterativeGeneration2( globalOTDSOP,
                                                            pisp,
                                                            previousDate,
                                                            carrcs,
@@ -50,7 +50,7 @@
     //          info( "灞傛暟锛�", numberOfLayers, "    褰撳墠渚涘簲鐨刾isp锛�", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), "    鎬讳緵搴斿�硷細", ns.Quantity(), "    闇�瑕佷緵搴斿�硷細", currentLayerDependentDemandQuantity,
     //                "    褰撳墠闇�姹俻isp锛�", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), "    闇�姹傚�硷細", currentLayerDependentDemandQuantity );
     //          info( "-----------------------------------------------------------------------------------------------------------------" );
-              CapacityAllocationResults::IterativeGeneration2( globalOTDTable,
+              CapacityAllocationResults::IterativeGeneration2( globalOTDSOP,
                                                                dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(),
                                                                targetDate,
                                                                carrcs,
@@ -62,25 +62,25 @@
             carrc := select( carrcs, Elements, carrc, carrc.PanelMaterialCode() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() );
             if ( not isnull( carrc ) ) {
     //          info( "鎵惧埌闈㈡澘鐗╂枡..." );
-              globalOTDTable.CapacityAllocationResults( relnew,
-                                                        PanelBase             := pto.Operation().UnitID(),
-                                                        PanelMaterialCode     := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
-                                                        NumberOfPanels        := currentLayerDependentDemandQuantity,
-                                                        PanelMeasurementUnit  := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(),
-                                                        ModuleMaterialCode    := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
-                                                        NumberOfModules       := firstLevelSupply.Quantity(),
-                                                        ModuleMeasurementUnit := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(),
-                                                        ModuleBase            := guard( firstLevelSupply.PeriodTask_MP().astype( PeriodTaskOperation ).Operation().UnitID(), "杞﹂亾杩愯緭" ),
-                                                        Division              := carrc.Division(),
-                                                        RequirementDate       := firstLevelSupply.Start().Date(),
-                                                        Date                  := firstLevelSupply.Start().Date(),
-                                                        Description           := "",
-                                                        ID                    := OS::GenerateGUIDAsString(),
-                                                        ProductID             := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
-                                                        StockingPointID       := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().StockingPointID(),
-                                                        UserQuantity          := currentLayerDependentDemandQuantity,
-                                                        ManufacturedDate      := Date::MinDate()
-                                                       );
+              globalOTDSOP.CapacityAllocationResults( relnew,
+                                                      PanelBase             := pto.Operation().UnitID(),
+                                                      PanelMaterialCode     := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
+                                                      NumberOfPanels        := currentLayerDependentDemandQuantity,
+                                                      PanelMeasurementUnit  := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(),
+                                                      ModuleMaterialCode    := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
+                                                      NumberOfModules       := firstLevelSupply.Quantity(),
+                                                      ModuleMeasurementUnit := firstLevelSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().UnitOfMeasureName(),
+                                                      ModuleBase            := guard( firstLevelSupply.PeriodTask_MP().astype( PeriodTaskOperation ).Operation().UnitID(), "杞﹂亾杩愯緭" ),
+                                                      Division              := carrc.Division(),
+                                                      RequirementDate       := firstLevelSupply.Start().Date(),
+                                                      Date                  := firstLevelSupply.Start().Date(),
+                                                      Description           := "",
+                                                      ID                    := OS::GenerateGUIDAsString(),
+                                                      ProductID             := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(),
+                                                      StockingPointID       := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().StockingPointID(),
+                                                      UserQuantity          := currentLayerDependentDemandQuantity,
+                                                      ManufacturedDate      := Date::MinDate()
+                                                     );
                                                         
             }
             //info( "-----------------------------------------------------------------------------------------------------------------" );
@@ -93,7 +93,7 @@
     //              "    褰撳墠闇�姹俻isp锛�", targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name(), "    闇�姹傚�硷細", currentLayerDependentDemandQuantity );
     //        info( "LaneLeg鍛ㄦ湡浠诲姟..." );
             //info( "-----------------------------------------------------------------------------------------------------------------" );
-            CapacityAllocationResults::IterativeGeneration2( globalOTDTable,
+            CapacityAllocationResults::IterativeGeneration2( globalOTDSOP,
                                                              targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(),
                                                              targetDate,
                                                              carrcs,
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
index 1c16b4d..a10d437 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
@@ -2,7 +2,7 @@
 #parent: #root
 StaticMethod IterativeGeneration3 (
   MacroPlan macroPlan,
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   Supply_MP smp,
   Supply_MP firstSMP,
   Number numberOfPlies,
@@ -27,9 +27,9 @@
                 fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
                 info( "--------------------------------------------------------------" );
                 if ( not isnull( capacityAllocationResultsRuleConfiguration ) ) {
-                  CapacityAllocationResults::CreateDate1( macroPlan, globalOTDTable, dd, ns, firstSMP, capacityAllocationResultsRuleConfiguration, fulfillmentQuantity );
+                  CapacityAllocationResults::CreateDate1( macroPlan, globalOTDSOP, dd, ns, firstSMP, capacityAllocationResultsRuleConfiguration, fulfillmentQuantity );
                 }
-                CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp1, firstSMP, numberOfPlies, fulfillmentQuantity, capacityAllocationResultsRuleConfiguration );
+                CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp1, firstSMP, numberOfPlies, fulfillmentQuantity, capacityAllocationResultsRuleConfiguration );
                 numberOfPlies--;
               }
             }
@@ -45,9 +45,9 @@
               numberOfPlies++;
               info( "--------------------------------------------------------------" );
               if ( not isnull( capacityAllocationResultsRuleConfiguration ) ) {
-                CapacityAllocationResults::CreateDate1( macroPlan, globalOTDTable, targetDependentDemand, ns, firstSMP, capacityAllocationResultsRuleConfiguration, f.Quantity() );
+                CapacityAllocationResults::CreateDate1( macroPlan, globalOTDSOP, targetDependentDemand, ns, firstSMP, capacityAllocationResultsRuleConfiguration, f.Quantity() );
               }
-              CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp1, firstSMP, numberOfPlies, f.Quantity(), capacityAllocationResultsRuleConfiguration );
+              CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp1, firstSMP, numberOfPlies, f.Quantity(), capacityAllocationResultsRuleConfiguration );
               numberOfPlies--;
             }
           }
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
index 6501563..f0f089a 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
@@ -2,7 +2,7 @@
 #parent: #root
 StaticMethod ObtainTheFinalOutputProduct (
   MacroPlan macroPlan,
-  GlobalOTDTable globalOTDTable
+  GlobalOTDSOP globalOTDSOP
 ) as owning ProductInStockingPoint_MPs
 {
   TextBody:
@@ -22,7 +22,7 @@
     //}
     
     finaleProductInStockingPoint_MPs := selectset( macroPlan, Product_MP.ProductInStockingPoint_MP, tempPISPMP, 
-                                                   exists( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = tempPISPMP.ProductID() and tempCARRC.StockingPointID() = tempPISPMP.StockingPointID() )
+                                                   exists( globalOTDSOP, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = tempPISPMP.ProductID() and tempCARRC.StockingPointID() = tempPISPMP.StockingPointID() )
                                                   );
     
     return &finaleProductInStockingPoint_MPs;
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
index 416ea24..bc20514 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
@@ -2,14 +2,14 @@
 #parent: #root
 StaticMethod Test (
   MacroPlan macroPlan,
-  GlobalOTDTable globalOTDTable
+  GlobalOTDSOP globalOTDSOP
 )
 {
   TextBody:
   [*
-    globalOTDTable.CapacityAllocationResults( relflush );
+    globalOTDSOP.CapacityAllocationResults( relflush );
     
-    capacityAllocationResultsRuleConfiguration := select( globalOTDTable, CapacityAllocationResultsRuleConfiguration, carrc, 
+    capacityAllocationResultsRuleConfiguration := select( globalOTDSOP, CapacityAllocationResultsRuleConfiguration, carrc, 
                                                           carrc.ModuleMaterialCode() = "ProXOver 1 D2.6 A" and
                                                           carrc.StockingPointID() = "Carco Philadelphia" );
     
@@ -18,7 +18,7 @@
       traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp, 
                  /*smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and*/
                  smp.Quantity() > 0 ) {                                                                  
-        CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp, smp, 1, smp.Quantity(), capacityAllocationResultsRuleConfiguration );
+        CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp, smp, 1, smp.Quantity(), capacityAllocationResultsRuleConfiguration );
       }
     }
   *]
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl
index a56cf1b..e12a971 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test1.qbl
@@ -2,7 +2,7 @@
 #parent: #root
 StaticMethod Test1 (
   MacroPlan macroPlan,
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   CapacityAllocationResultsRuleConfigurations capacityAllocationResultsRuleConfigurations
 )
 {
@@ -14,7 +14,7 @@
       traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp, 
                  /*smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and*/
                  smp.Quantity() > 0 ) {                                                                  
-        CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDTable, smp, smp, 1, smp.Quantity(), carrc );
+        CapacityAllocationResults::IterativeGeneration3( macroPlan, globalOTDSOP, smp, smp, 1, smp.Quantity(), carrc );
         info( "=======================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" );
       }
     }
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl
index 4397413..a6abe7c 100644
--- a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Export.qbl
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod Export (
-  GlobalOTDTable globalOTDTable
+  GlobalOTDSOP globalOTDSOP
 ) as BinaryValue
 {
   TextBody:
   [*
     // hongjli Sep-25-2023 (created)
-    binaryValue := globalOTDTable.GlobalOTDTable_CARRC_Export().ExecuteToXLS( true ).AsBinaryValue();
+    binaryValue := globalOTDSOP.GlobalOTDSOP_CARRC_Export().ExecuteToXLS( true ).AsBinaryValue();
     
     return binaryValue;
   *]
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl
index a4eddc6..e18f952 100644
--- a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_Import.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod Import (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   String base64String
 )
 {
@@ -9,6 +9,6 @@
   [*
     binaryData := BinaryData::FromBase64EncodedString( base64String );
     
-    globalOTDTable.GlobalOTDTable_CARRC_Import().ExecuteFromXLS( &binaryData, true );
+    globalOTDSOP.GlobalOTDSOP_CARRC_Import().ExecuteFromXLS( &binaryData, true );
   *]
 }
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_ReceivingPanelMaterials.qbl
similarity index 100%
rename from _Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl
rename to _Main/BL/Type_GlobalOTDSOP/Method_ReceivingPanelMaterials.qbl
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeOrders.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_SynchronizeOrders.qbl
similarity index 100%
rename from _Main/BL/Type_GlobalDTOTable/Method_SynchronizeOrders.qbl
rename to _Main/BL/Type_GlobalOTDSOP/Method_SynchronizeOrders.qbl
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_GetOutputVersionData.qbl
similarity index 96%
rename from _Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl
rename to _Main/BL/Type_GlobalOTDSOP/StaticMethod_GetOutputVersionData.qbl
index a8610b8..14bc629 100644
--- a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl
+++ b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_GetOutputVersionData.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod GetOutputVersionData (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   MacroPlan macroplan,
   String businessname
 )
@@ -66,6 +66,6 @@
       }
     
     // Send Data To DB
-    owner.Broker_OTD_VersionControlToDB().Execute();
+    // owner.Broker_OTD_VersionControlToDB().Execute();
   *]
 }
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_GetVersionData.qbl
similarity index 95%
rename from _Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl
rename to _Main/BL/Type_GlobalOTDSOP/StaticMethod_GetVersionData.qbl
index b094140..7a8a609 100644
--- a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl
+++ b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_GetVersionData.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod GetVersionData (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businessname
 )
 {
@@ -17,7 +17,7 @@
     }
     
     // Get Data From DB
-    owner.Broker_OTD_VersionControl().Execute();
+    //owner.Broker_OTD_VersionControl().Execute();
     
     // Get Data list to deal
     listtodeal := selectset( owner, MappingVersionControl, item, item.DataTo() = businesstype );
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_ReceivingPanelMaterials.qbl
similarity index 62%
rename from _Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl
rename to _Main/BL/Type_GlobalOTDSOP/StaticMethod_ReceivingPanelMaterials.qbl
index ad3eacc..31a3c66 100644
--- a/_Main/BL/Type_GlobalDTOTable/StaticMethod_ReceivingPanelMaterials.qbl
+++ b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_ReceivingPanelMaterials.qbl
@@ -2,11 +2,11 @@
 #parent: #root
 StaticMethod ReceivingPanelMaterials (
   NamedValueTree requestnvt
-) as stream[NamedValueTree]
+)
 {
   TextBody:
   [*
-    MDSGlobalOTDTable::Find( DatasetFindOptions::Construct("GlobalOTDTable")) -> ( c ) {
+    MDSGlobalOTDSOP::Find( DatasetFindOptions::Construct("GlobalOTDSOP")) -> ( c ) {
       return c.ReceivingPanelMaterials( requestnvt );
     }
   *]
diff --git a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl
index 7e23ced..3e40288 100644
--- a/_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialAutomotiveElectronics/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl
index 2247ccb..39590fa 100644
--- a/_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialIT/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl
index 699665f..da488c1 100644
--- a/_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialSpecializedDisplay/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl
index 21dd372..ae91512 100644
--- a/_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialSportsHealth/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl
index e3cd600..c07b02c 100644
--- a/_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialTM17/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl
index 81c7bd9..c646fb6 100644
--- a/_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialTM18/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl
index a21141a..7d2964a 100644
--- a/_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialTianHua/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl b/_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl
index 6160180..668e4f6 100644
--- a/_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl
+++ b/_Main/BL/Type_PanelMaterialVehicle/StaticMethod_ReceiveDataGeneration.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReceiveDataGeneration (
-  GlobalOTDTable globalOTDTable,
+  GlobalOTDSOP globalOTDSOP,
   NamedValueTree requestnvt
 )
 {
@@ -25,15 +25,15 @@
     businessTypeNameValue := restPayloadNameValue.Child( businessTypeHandle );
     scenarioNameNameValue := restPayloadNameValue.Child( scenarioNameHandle );
     
-    panelMaterialAll := select( globalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
+    panelMaterialAll := select( globalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = businessTypeNameValue.GetValueAsString() );
     if ( not isnull( panelMaterialAll ) ) {
       panelMaterialAll.Delete();
     }
-    panelMaterialAll := globalOTDTable.PanelMaterialAll( relnew, 
-                                                         ReleaseDate  := releaseDateNameValue.GetValueAsString(),
-                                                         BusinessType := businessTypeNameValue.GetValueAsString(),
-                                                         ScenarioName := scenarioNameNameValue.GetValueAsString()
-                                                        );
+    panelMaterialAll := globalOTDSOP.PanelMaterialAll( relnew, 
+                                                       ReleaseDate  := releaseDateNameValue.GetValueAsString(),
+                                                       BusinessType := businessTypeNameValue.GetValueAsString(),
+                                                       ScenarioName := scenarioNameNameValue.GetValueAsString()
+                                                      );
     
     panelMaterialsHandle := requestnvt.GetHandle( "panelMaterials" );
     panelMaterialsNameValue := restPayloadNameValue.Child( panelMaterialsHandle );
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
index bf6fb53..2f00e3e 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod CopyVersion (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businessname
 ) as VersionControl
 {
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl b/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl
index 22a6355..1136335 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod Create (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businesstype,
   String caltype,
   DateTime createtime,
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl
index 450646d..b886d30 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod CreateNewSceneVersion (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businessname
 ) as VersionControl
 {
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
index 8f05fb1..403fc6d 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod CreateNewVersion (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businessname
 ) as VersionControl
 {
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl
index a281109..a71d287 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod FindByFullVersionID (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String versionid
 ) as VersionControl
 {
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
index 4450bf4..a352c1f 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod FindLatestUpdateVersion (
-  GlobalOTDTable globalotdtable,
+  GlobalOTDSOP globalotdsop,
   String businesstype
 ) as VersionControl
 {
@@ -11,7 +11,7 @@
     // Administrator Sep-13-2023 (created)
     
     // Get the latest version data 
-    latestversion := maxselect( globalotdtable, 
+    latestversion := maxselect( globalotdsop, 
                                 VersionControl, 
                                 version, 
                                 version.BusinessType()=businesstype and version.IsReleased()=true, 
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl
index df4f8f4..ee37c6c 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod FindLatestVersion (
-  GlobalOTDTable globalotdtable,
+  GlobalOTDSOP globalotdsop,
   String businesstype
 ) as VersionControl
 {
@@ -11,7 +11,7 @@
     // Administrator Sep-13-2023 (created)
     
     // Get the latest version data 
-    latestversion := maxselect( globalotdtable, 
+    latestversion := maxselect( globalotdsop, 
                                 VersionControl, 
                                 version, 
                                 version.BusinessType()=businesstype, 
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl
index 7e7ec19..59dd8e3 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod FindReleasedVersions (
-  GlobalOTDTable globalotdtable,
+  GlobalOTDSOP globalotdsop,
   String businesstype,
   String versionid
 ) as owning VersionControls
@@ -12,7 +12,10 @@
     // Administrator Sep-13-2023 (created)
     
     // Get the latest version data 
-    latestversion := selectset( globalotdtable, VersionControl, version, version.BusinessType()=businesstype and version.IsReleased()=true and version.VersionID().FindString( versionid, 0 ) = 0 );
+    latestversion := selectset( globalotdsop, 
+                                VersionControl, 
+                                version, 
+                                version.BusinessType()=businesstype and version.IsReleased()=true and version.VersionID().FindString( versionid, 0 ) = 0 );
     
     return &latestversion;
   *]
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl b/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl
index 03b2084..9efc81f 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod GetVersionInfo (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businessname
 ) as owning Strings
 {
@@ -9,9 +9,9 @@
   TextBody:
   [*
     // Administrator Sep-13-2023 (created)
-    businesstyoe := GlobalOTDTable::GetBusinessTypeName( businessname );
+    businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
     result := construct( Strings );
-    rootversion := VersionControl::FindLatestVersion( owner, businesstyoe );
+    rootversion := VersionControl::FindLatestVersion( owner, businesstype );
     
     if( not isnull( rootversion ) ){
       result.Add( rootversion.VersionID() );
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl
index f90a939..c488456 100644
--- a/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl
+++ b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod ReleaseNewVersion (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businesstype
 )
 {
diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl
index a33f467..3621c15 100644
--- a/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod CreateOrUpdate (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String businesstype,
   String businessname,
   DateTime lastreleasetime,
diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl
index 5a58dc6..6fc83ee 100644
--- a/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl
+++ b/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod FindLatestStatus (
-  GlobalOTDTable globalotdtable,
+  GlobalOTDSOP globalotdsop,
   String businesstype
 ) as VersionStatus
 {
@@ -11,7 +11,7 @@
     // Administrator Sep-13-2023 (created)
     
     // Get the latest version data 
-    lateststatus := select( globalotdtable, VersionStatus, version, version.BusinessType()=businesstype );
+    lateststatus := select( globalotdsop, VersionStatus, version, version.BusinessType()=businesstype );
     
     return lateststatus;
   *]
diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
index dec4ba1..71785cd 100644
--- a/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
+++ b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 StaticMethod GetBusinessTypeStatus (
-  GlobalOTDTable owner,
+  GlobalOTDSOP owner,
   String rootversionid
 )
 {
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def
new file mode 100644
index 0000000..c8a46d0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioSelection.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component ActionBarGroupScenarioSelection #extension
+{
+  Children:
+  [
+    #child: PanelScenarioSelection
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
new file mode 100644
index 0000000..08ac6ea
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioSelection.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component ActionBarPageScenarioSelection #extension
+{
+  Children:
+  [
+    #child: ActionBarGroupScenarioSelection
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def
new file mode 100644
index 0000000..bd276b6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_PanelScenarioSelection.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+Component PanelScenarioSelection #extension
+{
+  Children:
+  [
+    Component DropDownListScenario id:DropDownListScenario_886 #extension
+    {
+      Children:
+      [
+        Component DataExtractorScenarios id:DataExtractorScenarios_484 #extension
+        {
+          Properties:
+          [
+            FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios'
+            FixedFilter: 'object.IsLoaded() and not object.IsDeleted() and availablescenarios.Find( object ) >= 0'
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def
new file mode 100644
index 0000000..7f368bd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderCurrentUser_OnDataChanged.def
@@ -0,0 +1,33 @@
+Quintiq file version 2.0
+#parent: DataHolderCurrentUser
+Response OnDataChanged () id:Response_TIANMA_JITUAN_ApplicationMacroPlanner_DataHolderCurrentUser_OnDataChanged
+{
+  #keys: '[414702.1.131671499]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      user := QuintiqUser::CurrentUser();
+      scenarionodes := construct( ScenarioNodes );
+      
+      if( user.IsAdministrator()
+          or not exists( ScenarioManager, ScenarioNode.ScenarioAuthorization, sa, true ) )
+      {
+        scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode, true );
+      }
+      else
+      {
+        scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode,
+                                    guard( scenarionode.astype( ScenarioFolder ).IsRecycleBin(), false )
+                                    or scenarionode.CreatedBy().ToUpper() = user.ShortName().ToUpper()
+                                    or exists( scenarionode, ScenarioAuthorization, sa,
+                                               user.IsMemberOfGroup( sa.Name() ) ) );
+      }
+      
+      DataHolderAvailableScenarios.Data( &scenarionodes );
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index 4f48b76..49e8c72 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -14,6 +14,7 @@
         #child: applicationDevelopmentActionBarPageDef_1
         #child: ActionBarPagePlan
         #child: ActionBarPageInventory
+        #child: ActionBarPageScenarioSelection
       ]
     }
     Component DataHolderCapacityAndSaleBudgeFilterItem
@@ -66,5 +67,18 @@
         Taborder: 44
       ]
     }
+    Component DataHolderAvailableScenarios
+    {
+      #keys: '[414702.1.131690403]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'structured[ScenarioNode]*'
+      Properties:
+      [
+        Taborder: 45
+      ]
+    }
+    Component DataHolderCurrentUser #extension
+    {
+    }
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_New.def
index fa8fb18..700f5cb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_New.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_New.def
@@ -5,7 +5,7 @@
   #keys: '[414702.0.375317354]'
   Body:
   [*
-    capacityAllocationResultsRuleConfiguration := GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relshadow );
+    capacityAllocationResultsRuleConfiguration := GlobalOTDSOP.CapacityAllocationResultsRuleConfiguration( relshadow );
     
     DataHolderDialogData.Data( &capacityAllocationResultsRuleConfiguration );
     
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
index 9d16e0c..b2227a1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
@@ -12,20 +12,20 @@
       
       data := DataHolderDialogData.Data().WrappedInstance();
       if ( isnull( data ) ) {
-        GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relnew,
-                                                                   PanelMaterialCode  := efPanelMaterialCode.Text(),
-                                                                   ModuleMaterialCode := efModuleMaterialCode.Text(),
-                                                                   Division           := efDivision.Text(),
-                                                                   StockingPointID    := efStockingPointID.Text()
-                                                                  );
+        GlobalOTDSOP.CapacityAllocationResultsRuleConfiguration( relnew,
+                                                                 PanelMaterialCode  := efPanelMaterialCode.Text(),
+                                                                 ModuleMaterialCode := efModuleMaterialCode.Text(),
+                                                                 Division           := efDivision.Text(),
+                                                                 StockingPointID    := efStockingPointID.Text()
+                                                                );
       } else {
         data.Delete();
-        GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relnew,
-                                                                   PanelMaterialCode  := efPanelMaterialCode.Text(),
-                                                                   ModuleMaterialCode := efModuleMaterialCode.Text(),
-                                                                   Division           := efDivision.Text(),
-                                                                   StockingPointID    := efStockingPointID.Text()
-                                                                  );
+        GlobalOTDSOP.CapacityAllocationResultsRuleConfiguration( relnew,
+                                                                 PanelMaterialCode  := efPanelMaterialCode.Text(),
+                                                                 ModuleMaterialCode := efModuleMaterialCode.Text(),
+                                                                 Division           := efDivision.Text(),
+                                                                 StockingPointID    := efStockingPointID.Text()
+                                                                );
       }
       
       
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
index d2fe1c9..d2aa450 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -19,13 +19,14 @@
     
     // New version
     globalotdtable := GlobalOTDTable;
+    globalotdsop := GlobalOTDSOP;
     testbusinesstype := "闆嗗洟";
     if( data.IsCreateNewVersion() ){
-      VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype );
+      VersionControl::CreateNewSceneVersion( globalotdsop, testbusinesstype );
       }else{
-        VersionControl::CopyVersion( globalotdtable, testbusinesstype );
+        VersionControl::CopyVersion( globalotdsop, testbusinesstype );
         }
-    versionname := VersionControl::GetVersionInfo( globalotdtable, testbusinesstype ).Element( 3 );
+    versionname := VersionControl::GetVersionInfo( globalotdsop, testbusinesstype ).Element( 3 );
     
     // Get Version Name
     if( data.Name() = "" ){
@@ -33,10 +34,11 @@
       }
     
     // Get Business Type from Scenario Name
-    businesstype := select( globalotdtable, 
-                            BusinessType, 
-                            b, 
-                            b.ScenarioName()=data.ScenarioName() ).BusinessTypeName();
+    businesstype := guard( select( globalotdtable, 
+                                   BusinessType, 
+                                   b, 
+                                   b.ScenarioName()=data.ScenarioName() ).BusinessTypeName(), 
+                           "" );
     data.BusinessType( businesstype );
     
     // Copy scenario
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlActions_btnOk_OnClick.def
index 9a51849..f341bac 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlActions_btnOk_OnClick.def
@@ -15,7 +15,7 @@
       Form.ApplyChanges();
       try {
         macroPlan := ExternalMDSEditor::MacroPlan( ddlSelectVersion.Data().DatasetName() ).AsMacroPlan();
-        GlobalOTDTable.SynchronizeOrders( macroPlan );
+        GlobalOTDSOP.SynchronizeOrders( macroPlan );
       
         Form.Close();
       
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblAutomotiveElectronics_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblAutomotiveElectronics_OnCreated.def
index 94fd670..fda9845 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblAutomotiveElectronics_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblAutomotiveElectronics_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "姹借溅鐢靛瓙" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "姹借溅鐢靛瓙" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblIT_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblIT_OnCreated.def
index 1633488..45f90a4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblIT_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblIT_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblMaterialVehicle_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblMaterialVehicle_OnCreated.def
index 74d3b84..8bcbdf5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblMaterialVehicle_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblMaterialVehicle_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杞﹁浇" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杞﹁浇" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSpecializedDisplay_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSpecializedDisplay_OnCreated.def
index a40ec23..f41fb03 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSpecializedDisplay_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSpecializedDisplay_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "涓撴樉" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "涓撴樉" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSportsHealth_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSportsHealth_OnCreated.def
index 9a0ebc8..f18a133 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSportsHealth_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblSportsHealth_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杩愬姩鍋ュ悍" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杩愬姩鍋ュ悍" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM17_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM17_OnCreated.def
index f75df01..a05ee5e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM17_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM17_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM18_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM18_OnCreated.def
index ac39931..622ed3d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM18_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTM18_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTianHua_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTianHua_OnCreated.def
index 795f493..478080e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTianHua_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFusionData/Response_pnlReceiveDatas_lblTianHua_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "澶╁崕" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "澶╁崕" );
       this.Text( guard( targetPanelMaterialAll.ReleaseDate(), "鏃犳暟鎹�" ) );
     *]
     GroupServerCalls: false
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR\04339.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR\04339.def"
index 6a4fd16..d3833b6 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR\04339.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_ButtonGenerateCapacityAllocationR\04339.def"
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, DataHolderActiveScenario.Data() );
+      CapacityAllocationResults::CreateDate( GlobalOTDSOP, MacroPlan, DataHolderActiveScenario.Data() );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
index 8e85a2c..7336146 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'CapacityAllocationResultsRuleConfiguration'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def
index 3bbd52f..1cafe5e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuGenerateByPeggin.def
@@ -16,7 +16,7 @@
   {
     Body:
     [*
-      CapacityAllocationResults::Test1( MacroPlan, GlobalOTDTable, selection );
+      CapacityAllocationResults::Test1( MacroPlan, GlobalOTDSOP, selection );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def
index 602baba..2d9b279 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Export_OnClick.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      Application.Download( "浜ц兘鍒嗛厤缁撴灉瑙勫垯.xlsx", CapacityAllocationResultsRuleConfiguration::Export( GlobalOTDTable ).AsBinaryData() );
+      Application.Download( "浜ц兘鍒嗛厤缁撴灉瑙勫垯.xlsx", CapacityAllocationResultsRuleConfiguration::Export( GlobalOTDSOP ).AsBinaryData() );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def
index 3e90d91..fc89b7a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_Import_OnClick.def
@@ -16,7 +16,7 @@
           
           fileName := uploadJson.Get( "name" ).GetString();
           base64String := uploadJson.Get( "data" ).GetString();
-          CapacityAllocationResultsRuleConfiguration::Import( GlobalOTDTable, base64String );
+          CapacityAllocationResultsRuleConfiguration::Import( GlobalOTDSOP, base64String );
           
           WebMessageBox::Success( "涓婁紶鎴愬姛", true );
         }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormIT/Component_ListPanelMaterialIT.def b/_Main/UI/MacroPlannerWebApp/Component_FormIT/Component_ListPanelMaterialIT.def
index f5a7514..3d88e82 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormIT/Component_ListPanelMaterialIT.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormIT/Component_ListPanelMaterialIT.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialIT'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnCreated.def
index 2e5c2f6..ee8d9a2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnDataChanged.def
index 45047d0..9e7b501 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormIT/Response_DataHolderPanelIT_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "IT" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Component_ListPanelMaterialAutomotiveElectronics.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Component_ListPanelMaterialAutomotiveElectronics.def
index 59acd48..8ccd983 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Component_ListPanelMaterialAutomotiveElectronics.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Component_ListPanelMaterialAutomotiveElectronics.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialAutomotiveElectronics'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnCreated.def
index 153bf2b..795cb34 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "姹借溅鐢靛瓙" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "姹借溅鐢靛瓙" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnDataChanged.def
index 5d5b00c..09e5f5d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialAutomotiveElectronics/Response_DataHolderPanelAutomotiveElectronics_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "姹借溅鐢靛瓙" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "姹借溅鐢靛瓙" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Component_ListPanelMaterialSpecializedDisplay.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Component_ListPanelMaterialSpecializedDisplay.def
index daa00b5..0c99db0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Component_ListPanelMaterialSpecializedDisplay.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Component_ListPanelMaterialSpecializedDisplay.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialSpecializedDisplay'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnCreated.def
index f850744..76eda79 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "涓撴樉" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "涓撴樉" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnDataChanged.def
index da65c1e..e9d7c35 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/Response_DataHolderPanelSpecializedDisplay_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "涓撴樉" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "涓撴樉" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Component_ListPanelMaterialSportsHealth.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Component_ListPanelMaterialSportsHealth.def
index 470bb1a..0763481 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Component_ListPanelMaterialSportsHealth.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Component_ListPanelMaterialSportsHealth.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialSportsHealth'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnCreated.def
index a335367..075c0ad 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杩愬姩鍋ュ悍" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杩愬姩鍋ュ悍" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnDataChanged.def
index 8f99fec..f32dc7f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSportsHealth/Response_DataHolderPanelSportsHealth_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杩愬姩鍋ュ悍" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杩愬姩鍋ュ悍" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Component_ListPanelMaterialTM.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Component_ListPanelMaterialTM.def
index e55373e..a6fe84e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Component_ListPanelMaterialTM.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Component_ListPanelMaterialTM.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialTM17'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnCreated.def
index b163a78..61927b9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnDataChanged.def
index da9f657..af98ab2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM17/Response_DataHolderPanelTM17_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM17" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Component_ListPanelMaterialTM.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Component_ListPanelMaterialTM.def
index 68eb395..f97dc1b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Component_ListPanelMaterialTM.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Component_ListPanelMaterialTM.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialTM18'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnCreated.def
index da89ecb..1ec6d4d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnDataChanged.def
index b1e90c7..0a3f65b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTM18/Response_DataHolderPanelTM18_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "TM18" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Component_ListPanelMaterialTianHua.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Component_ListPanelMaterialTianHua.def
index 351aa56..fbb4377 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Component_ListPanelMaterialTianHua.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Component_ListPanelMaterialTianHua.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialTianHua'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnCreated.def
index 571614d..fd3b59e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "澶╁崕" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "澶╁崕" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnDataChanged.def
index eec0cbb..0720784 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/Response_DataHolderPanelTianHua_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "澶╁崕" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "澶╁崕" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Component_ListPanelMaterialVehicle.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Component_ListPanelMaterialVehicle.def
index 5b14efc..d135ecf 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Component_ListPanelMaterialVehicle.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Component_ListPanelMaterialVehicle.def
@@ -11,8 +11,8 @@
       BaseType: 'WebDataExtractor'
       Properties:
       [
-        DataType: 'GlobalOTDTable'
-        Source: 'GlobalOTDTable'
+        DataType: 'GlobalOTDSOP'
+        Source: 'GlobalOTDSOP'
         Taborder: 0
         Transformation: 'PanelMaterialAll.PanelMaterialVehicle'
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnCreated.def
index 5d3384d..1949110 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杞﹁浇" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杞﹁浇" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnDataChanged.def
index b38c87f..233ca90 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialVehicle/Response_DataHolderPanelMaterialVehicle_OnDataChanged.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      targetPanelMaterialAll := select( GlobalOTDTable, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杞﹁浇" );
+      targetPanelMaterialAll := select( GlobalOTDSOP, PanelMaterialAll, tempPMA, tempPMA.BusinessType() = "杞﹁浇" );
       if ( not isnull( targetPanelMaterialAll ) ) {
         this.Data( targetPanelMaterialAll );
       }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
index 71c782e..29091a5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
@@ -124,6 +124,19 @@
           ]
         }
       ]
+      Properties:
+      [
+        FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios'
+        FixedFilter: 'availablescenarios.Find( object ) >= 0'
+      ]
+    }
+    Component DataExtractorScenario #extension
+    {
+      Properties:
+      [
+        FilterArguments: 'availablescenarios:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderAvailableScenarios'
+        FixedFilter: 'availablescenarios.Find( object ) >= 0'
+      ]
     }
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuEdit_OnClick.def
index 9c2d77f..078fc6e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuEdit_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuEdit_OnClick.def
@@ -17,8 +17,7 @@
     [*
       // Edit scenario
       dlg := construct( DialogCreateEditScenario );
-      dlg.dropDownStringListGeneral().Visible( selection.EnableSync() );
-      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( GlobalOTDTable ) );
+      dlg.DropDownListGeneral().Visible( selection.EnableSync() );
       dlg.checkboxIsKeyProduct().Visible( selection.EnableSync() );
       dlg.checkboxCreatePurchaseSupplyProduct().Visible( selection.EnableSync() );
       
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def
index 745d231..e47f974 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def
@@ -18,12 +18,12 @@
     Body:
     [*
       // Copy scenario
-      owner := GlobalOTDTable;
+      owner := GlobalOTDSOP;
       macroplan := MacroPlan;
       testbusinesstype := "闆嗗洟";
       
       VersionControl::ReleaseNewVersion( owner, testbusinesstype );
-      GlobalOTDTable::GetOutputVersionData( owner, macroplan, testbusinesstype );
+      GlobalOTDSOP::GetOutputVersionData( owner, macroplan, testbusinesstype );
       selection.SetReleased();
       
       versionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 3 );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def
index 1f8b93b..8b48d40 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def
@@ -18,7 +18,7 @@
     Body:
     [*
       // Copy scenario
-      owner := GlobalOTDTable;
+      owner := GlobalOTDSOP;
       macroplan := MacroPlan;
       testbusinesstype := "闆嗗洟";
       
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def
index ff0fa8b..583d85c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      owner := GlobalOTDTable;
+      owner := GlobalOTDSOP;
       testbusinesstype := "闆嗗洟";
       rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 2 );
       dlg := construct( DialogVersionIDCopy );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
index d0a18a1..481d119 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      owner := GlobalOTDTable;
+      owner := GlobalOTDSOP;
       testbusinesstype := "闆嗗洟";
       //GlobalOTDTable::GetVersionData( owner, testbusinesstype );
       rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 0 );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
index a3136f5..fdaf048 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
@@ -10,7 +10,7 @@
   {
     Body:
     [*
-      owner := GlobalOTDTable;
+      owner := GlobalOTDSOP;
       macroplan := MacroPlan;
       testbusinesstype := "闆嗗洟";
       
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def
index 9a4348d..1a4367c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def
@@ -21,8 +21,8 @@
           BaseType: 'WebDataExtractor'
           Properties:
           [
-            DataType: 'GlobalOTDTable'
-            Source: 'GlobalOTDTable'
+            DataType: 'GlobalOTDSOP'
+            Source: 'GlobalOTDSOP'
             Taborder: 0
             Transformation: 'VersionStatus'
           ]
diff --git a/_var/_Main/ProjSettings/MacroPlanner/ColSch/Global.cs b/_var/_Main/ProjSettings/MacroPlanner/ColSch/Global.cs
index b807d11..a4bffc1 100644
--- a/_var/_Main/ProjSettings/MacroPlanner/ColSch/Global.cs
+++ b/_var/_Main/ProjSettings/MacroPlanner/ColSch/Global.cs
@@ -95,293 +95,293 @@
     ColorSchemeChartEntry
     {
       Definition: 'CurrencyRates'
-      ChartEntryValue { Access: 738809.649108796 Color: '$B22900' Value: 'HUF' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2004D' Value: '娓厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$35B2A6' Value: '榛庡反瀚╅晳' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$AFE572' Value: '涔屽吂鍒厠鏂潶鑻忓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$0B00B2' Value: '鍦簹閭e厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72E58B' Value: '鑻忎腹绗撼灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$729CE5' Value: '鎵樻媺灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E572CC' Value: '娲ュ反甯冮煢鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6AFE00' Value: '鏍兼煡灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72E5CE' Value: '鑿插緥瀹炬瘮绱�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5A872' Value: 'TRY' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$981E4D' Value: '绗撼灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$003FFF' Value: 'DKK' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$35B2B0' Value: '闃挎浖閲屼簹灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FEA54C' Value: '宸存尝浜�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6BB235' Value: '鏅哄埄姣旂储' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$98824C' Value: 'ZAR' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$144ECB' Value: '宸磋タ闆烽樋灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B23542' Value: '濉旀媺' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E572DF' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璁板笎鍗曚綅 17 (E.U.A.-17)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CFE6A' Value: '鎽╁皵澶氱摝鍒椾紛' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00B282' Value: '涔熼棬绗撼灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7B4C98' Value: '澧ㄨタ鍝ユ瘮绱�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$A000B2' Value: '鏂噷鍏板崱鍗㈡瘮' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE4C6A' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璐у竵鍚堟垚鍗曚綅 (EURCO)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7C35B2' Value: 'CFA 娉曢儙 BEAC' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$984C89' Value: 'CHF' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6A4CFE' Value: '婢抽棬鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B28635' Value: '鍠滃悕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5C472' Value: '鍔犵撼濉炶开锛堟棫锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB5178' Value: '鍗㈡椇杈炬硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$5BFE4C' Value: '瀹夐亾灏旀瘮濉炲' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E1FE4C' Value: '宸村反澶氭柉鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$8200B2' Value: 'EEK' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CFED2' Value: '闃垮瘜姹楀凹' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$754C98' Value: '鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$981E94' Value: '瑗跨彮鐗欐瘮濉炲' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C9862' Value: '鍒氭灉娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$143FCB' Value: '鍙厬鎹㈡瘮濉炲甯愭埛' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6E4C98' Value: 'CNY' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$63984C' Value: '鎽╂礇鍝ヨ开鎷夊' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2DE583' Value: '灏兼硦灏斿崲姣�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5742D' Value: '鎷夐噷' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$70984C' Value: 'Uruguary Peso en Unidades Indexadas' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$69984C' Value: '濉炲皵缁翠簹绗撼灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CFEE1' Value: '绾︽棪绗撼灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$411E98' Value: '鏂板姞鍧″厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E52D8F' Value: '鍖楁湞椴滃厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$52E52D' Value: '鏂拌阿鍏嬪皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1E9822' Value: '涔屽悏浜�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$20B200' Value: '鑻忓厠闆�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CBA114' Value: '椹潵瑗夸簹鏋楀悏鐗�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE3F00' Value: '鍙厬鎹㈤┈鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1E6198' Value: '甯冮殕杩硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72E582' Value: '鑻忛噷鍗楀厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$988E4C' Value: '濉炶垖灏斿崲姣�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72A6E5' Value: '鏂板崡鏂媺澶绾冲皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$14CB36' Value: '閽�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C8998' Value: '鏂扮储灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B4FE4C' Value: '鍒╂瘮閲屼簹鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00FE7F' Value: '鏅媺' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CDE52D' Value: '鏂板鎵�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00B256' Value: 'KRW' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$14CB26' Value: '鏂囪幈鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$5196CB' Value: '椹揪鍔犳柉鍔犻樋閲屼簹閲�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B23800' Value: '閲�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$F04CFE' Value: '婢冲ぇ鎷夎タ浜�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$372DE5' Value: '鐗规畩缁撶畻甯佺 - 閲戞硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2DE592' Value: '鍥炬牸閲屽厠' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$35B267' Value: '閲屽叞鍚夊凹' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FF00BF' Value: 'PHP' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2005C' Value: 'RON' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B23595' Value: '涓滃姞鍕掓瘮鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1E6C98' Value: '杈炬媺瑗�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CCE572' Value: 'JPY' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$78CB51' Value: 'USD' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7F00FF' Value: 'PLN' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE007F' Value: '鍏嬮瞾鎵庡' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72E5C4' Value: 'NOK' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1E5798' Value: '鏂板彴甯�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2AF00' Value: 'HKD' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C9868' Value: '钀ㄥ皵鐡﹀绉戦儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E57289' Value: '绂忔灄' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B12DE5' Value: '姣斿埄鏃舵硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$51ABCB' Value: '鍗楁柉鎷夊か绗撼灏旓紙宸蹭綔搴燂級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7135B2' Value: '闃块瞾宸村矝鐩�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$3FFE00' Value: '鍏嬮瞾鎭�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2900B2' Value: '鍔犳嬁澶у厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE00AA' Value: '鍙ゅ痉' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2C1E98' Value: '鑽峰睘瀹夌殑鍒楁柉缇ゅ矝鐩�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE4CF0' Value: '閾�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$0079B2' Value: '鑽峰叞鐩�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6ECB51' Value: '闃垮鎷滅枂椹鐗癸紙鏃э級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$359FB2' Value: '缁熻' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7CCB14' Value: '鐗欎拱鍔犲厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C6398' Value: 'INR' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$BFCB51' Value: '濂堟媺' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B5CB51' Value: '鍗㈡.鍫℃硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B29B35' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璁板笎鍗曚綅 9 (E.U.A.-9)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$D2FE4C' Value: '闃垮鎷滅枂椹鐗�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$51CB9B' Value: '鐟炲吀鍏嬫湕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$8A981E' Value: '涓归害鍏嬫湕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C9895' Value: 'SEK' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$63CB51' Value: '鍔皵鐗归瞾濮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$A872E5' Value: '鍗″皵浼摝鑱傚吂' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE4C5B' Value: '缇庡厓锛堟鏃ワ級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2FB200' Value: 'MYR' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C5D98' Value: '濮斿唴鐟炴媺鍗氬埄鐡�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB14B9' Value: '鍒楀厠' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C9098' Value: '绾冲厠娉�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$8635B2' Value: '鍏堜护' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FEFE00' Value: '鍏嬫湕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$A551CB' Value: 'Euro' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$54FE00' Value: '鐧戒縿缃楁柉鍗㈠竷' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00FE6A' Value: '淇濆姞鍒╀簹鍒楀紬' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$0000FE' Value: '鍏嬬綏鍦颁簹绗撼灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$8BCB14' Value: '鐗规畩缁撶畻甯佺 - UIC 娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$97B200' Value: '鍑犲唴浜氭瘮缁嶆瘮绱�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E52D9F' Value: '椹揪鍔犳柉鍔犳硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$824C98' Value: '鑻忛噷鍗楃浘' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$61E52D' Value: '缂呭厓锛堝凡搴熷純锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$0002B2' Value: 'THB' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CFE5B' Value: '鎵庝紛灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2359F' Value: '鐩村竷缃楅檧闀�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB518C' Value: '宸村搱椹厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$794CFE' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璐у竵鍗曚綅 (E.M.U.-6)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B25600' Value: 'CFP 娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2002F' Value: '鍑犲唴浜氭硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$9E72E5' Value: 'Unidades de formento' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$A22DE5' Value: '鍒╂槀' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2A635' Value: '瀹芥湱' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB149B' Value: '绉戞懇缃楁硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C986E' Value: '涔屽共杈惧厛浠わ紙浣滃簾锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$14CBB0' Value: '鐡滄媺灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE0094' Value: '绱㈣帿灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$981E39' Value: '涔屾媺鍦瘮绱�(1)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CFE4C' Value: '鐧戒縿缃楁柉鍗㈠竷锛堝凡浣滃簾锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$AF00B2' Value: '娲ュ反甯冮煢鍏冿紙涓嶅啀浣跨敤锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$874CFE' Value: '鍗板湴' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB7251' Value: '鐟炲皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1E9874' Value: '椹撼鐗癸紙涓嶅啀浣跨敤锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72E578' Value: '鐜涚撼鐗�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6735B2' Value: 'WIR 娆у厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE4C87' Value: '鍩冨強闀�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$984B1E' Value: '寰峰浗椹厠' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1E987E' Value: '鏂板湡鑰冲叾閲屾媺' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$80B235' Value: '鐩�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$88B200' Value: '绉戝宸村竵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CFEC3' Value: '鐖卞皵鍏伴晳' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB5182' Value: '鎸▉鍏嬫湕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B23537' Value: '闃挎媺浼仈鍚堥厠闀垮浗杩媺濮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB7C51' Value: '姊呰开鍗″皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5D02D' Value: '澶氱背灏煎姞姣旂储' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$0088B2' Value: 'RUB' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$80981E' Value: '浼埄鍏瑰厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2D43E5' Value: '涓滃笣姹跺焹搴撳' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1A00B2' Value: '鏂礇浼愬厠鍏嬫湕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5B172' Value: '鍏嬬摝鏌�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$24981E' Value: '閾�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B951CB' Value: '娆ф床璐у竵鍗曚綅 (E.C.U.)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$005CB2' Value: '鍔犵撼濉炶开' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00E9FE' Value: '鍝ユ柉杈鹃粠鍔犵閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$51A1CB' Value: '鐟炲+娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: 'Red' Value: 'EUR' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$964CFE' Value: '鍏嬬摝鏌�(1)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6314CB' Value: '鎷夎彶浜�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$BF00FE' Value: '娲涜拏' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$3542B2' Value: '绔嬮櫠瀹涢噷濉旀柉' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$35B248' Value: '鏂版墡浼婂皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E57280' Value: '鎵�缃楅棬缇ゅ矝鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$14C8CB' Value: '鏃犲竵绉�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00BFFE' Value: '绱㈠' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2E981E' Value: '鍏圭綏鎻愶紙宸蹭綔搴燂級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B23580' Value: '鎷夎劚缁翠簹鍗㈠竷' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$984C76' Value: '鍒楀紬' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72AFE5' Value: 'NZD' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C87FE' Value: '鏃ュ渾' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72E5D8' Value: '濉斿崱' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB142F' Value: '淇勭綏鏂崲甯冿紙鏃у竵锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE4CE1' Value: '鍏嬬綏鍦颁簹搴撶撼' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$985F1E' Value: '鍦熻�冲叾閲屾媺' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E172E5' Value: 'GBP' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$51CB90' Value: '浣涘緱瑙掑焹鏂簱澶�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE4CFE' Value: '闃垮皵鍙婂埄浜氱绾冲皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5642D' Value: '浼婃湕閲屼簹灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$354CB2' Value: 'Mexican Unidad de Inversion (UDI)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$A900FE' Value: '鎷夎劚缁翠簹鎷夌壒' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$76B235' Value: '闃垮瘜姹楀凹锛堟棫锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$51CBA5' Value: '缇庢彁鍗★紙鏃э級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B24700' Value: '鍚夊竷鎻愭硶閮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$14CBBF' Value: '鏂扮綏椹凹浜氬垪浼�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$02B200' Value: '寮�鏇肩兢宀涘厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$61B235' Value: '瀹芥湱锛堝凡浣滃簾锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$72E5E1' Value: '鍗″灏旈噷浜氬皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FFBF00' Value: 'AUD' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$DCE52D' Value: 'CFA 娉曢儙 BCEAO' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$9100B2' Value: '椹�充粬閲屾媺' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$98954C' Value: '绾崇背姣斾簹鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$984C83' Value: '璐㈡斂娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$98884C' Value: '浜氱編灏间簹寰锋媺濮�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$11B200' Value: '澧ㄨタ鍝ユ瘮绱紙宸蹭綔搴燂級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$5414CB' Value: '淇勭綏鏂崲甯�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C9698' Value: '娌欑壒閲屼簹灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$002AFE' Value: '鍝ヤ鸡姣斾簹姣旂储' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00B274' Value: '鑻忎腹闀�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$C3E572' Value: '鏂愭祹鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$5D51CB' Value: '钁¤悇鐗欏焹鏂簱澶�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2DBDE5' Value: '鍐板矝鍏嬫湕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$981E43' Value: '娉曞浗娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C5698' Value: '濮嗙淮澶�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$35AAB2' Value: 'Unidad de Valor Constante (UVC)' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6DCB14' Value: '姣涢噷姹傛柉鍗㈡瘮' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$6851CB' Value: 'WIR 娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B9E572' Value: '鎰忓ぇ鍒╅噷鎷�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB1420' Value: '涔熼棬閲屼簹灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E57276' Value: '鍧氭垐' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FEE900' Value: '涔屽共杈惧厛浠�' }
-      ChartEntryValue { Access: 738809.649108796 Color: 'Cyan' Value: 'HRK' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00D4FE' Value: '閭﹀姞' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$76984C' Value: 'SGD' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$1E986A' Value: '娴嬭瘯' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$5351CB' Value: '鍩冨淇勬瘮浜氭瘮灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00B265' Value: '璧幈' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$984C7C' Value: '缇庡厓锛堝悓鏃ワ級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$371E98' Value: '缇庡厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B29135' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璁板笎鍗曚綅 17锛堝凡浣滃簾锛�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FEB44C' Value: '鍧︽灏间簹鍏堜护' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E52D80' Value: '鐗瑰埆鎻愭鏉�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CFEF0' Value: '鑲凹浜氬厛浠�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$51B5CB' Value: 'RMB' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FED400' Value: '鏍奸瞾鍚変簹鎭エ' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$AF51CB' Value: '閲戣瀺鍏板痉' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C96FE' Value: '鍗板害鍗㈡瘮' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CBC351' Value: 'BRL' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$35B25D' Value: 'Unidad de Valor Real' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2DCDE5' Value: '涔屾媺鍦瘮绱�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$35B252' Value: '闃挎牴寤锋瘮绱�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$881E98' Value: '闊╁厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$76981E' Value: '鐡﹀姫闃垮浘' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$C02DE5' Value: '鐗圭珛灏艰揪鍜屽宸村摜鍏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$A6B200' Value: '鍩烘櫘' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$5159CB' Value: 'TWD' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$006BB2' Value: '鍙欏埄浜氶晳' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7293E5' Value: '鏂拌タ鍏板厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB8651' Value: '鍗㈡瘮' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7FFF00' Value: 'BGN' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$921E98' Value: '鍗氬埄鐡�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$98551E' Value: '鐜诲埄缁翠簹姣旂储' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$51CB86' Value: 'Dollar' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$C9CB51' Value: '鍗楁柉鎷夊か绗撼灏�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$14CB45' Value: '鍙厬鎹㈢殑娉曢儙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$C3FE4C' Value: '鑻遍晳' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$9400FE' Value: '鍙ゅ反姣旂储' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$76E572' Value: 'LVL' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE964C' Value: '娆у厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB9114' Value: '绉戝宸�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2DAEE5' Value: '绐佸凹鏂绾冲皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$71E52D' Value: '娉伴摙' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C5098' Value: '鍒椾紛' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FEC34C' Value: '鍒╂瘮浜氱绾冲皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$FE4C79' Value: '鍏扮壒' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$59CB51' Value: '濉斿悏鍏嬫柉鍧﹀崲甯�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2003E' Value: '鍦h但鍕掓嬁闀�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5BB72' Value: '鑻忎腹绗撼灏旓紙鏃э級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$145DCB' Value: '寰锋媺鍏嬮┈' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00FE55' Value: '椹厠' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CA5FE' Value: '濉炴郸璺柉闀�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2DE574' Value: '澶氬竷鎷�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E572D6' Value: '绱㈤┈閲屽厛浠�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E57293' Value: 'LTL' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$7314CB' Value: '绉戝▉鐗圭绾冲皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4C985B' Value: 'MXN' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$0015FE' Value: '鐧炬厱澶у厓锛堢櫨鎱曞ぇ鍏冿級' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$C351CB' Value: '浼︾毊鎷�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$4CB4FE' Value: '婢冲厓' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$3561B2' Value: '鎹峰厠鍏嬫湕' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$9572E5' Value: '绂忓厠鍏扮兢宀涢晳' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$2D34E5' Value: '姣旂储鍙姌鎹�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$984C50' Value: 'CAD' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$3556B2' Value: '浼婃媺鍏嬬绾冲皵' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$E5DF2D' Value: '宸村熀鏂潶鍗㈡瘮' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB5196' Value: '浜烘皯甯�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB8214' Value: '鍗㈠竷' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$B2358A' Value: '鍏圭綏鎻�' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$8B72E5' Value: 'IDR' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$00FF3F' Value: 'CZK' }
-      ChartEntryValue { Access: 738809.649108796 Color: '$CB14AA' Value: '宸存灄绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B22900' Value: 'HUF' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2004D' Value: '娓厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$35B2A6' Value: '榛庡反瀚╅晳' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$AFE572' Value: '涔屽吂鍒厠鏂潶鑻忓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$0B00B2' Value: '鍦簹閭e厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72E58B' Value: '鑻忎腹绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$729CE5' Value: '鎵樻媺灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E572CC' Value: '娲ュ反甯冮煢鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6AFE00' Value: '鏍兼煡灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72E5CE' Value: '鑿插緥瀹炬瘮绱�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5A872' Value: 'TRY' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$981E4D' Value: '绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$003FFF' Value: 'DKK' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$35B2B0' Value: '闃挎浖閲屼簹灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FEA54C' Value: '宸存尝浜�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6BB235' Value: '鏅哄埄姣旂储' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$98824C' Value: 'ZAR' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$144ECB' Value: '宸磋タ闆烽樋灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B23542' Value: '濉旀媺' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E572DF' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璁板笎鍗曚綅 17 (E.U.A.-17)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CFE6A' Value: '鎽╁皵澶氱摝鍒椾紛' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00B282' Value: '涔熼棬绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7B4C98' Value: '澧ㄨタ鍝ユ瘮绱�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$A000B2' Value: '鏂噷鍏板崱鍗㈡瘮' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE4C6A' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璐у竵鍚堟垚鍗曚綅 (EURCO)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7C35B2' Value: 'CFA 娉曢儙 BEAC' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$984C89' Value: 'CHF' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6A4CFE' Value: '婢抽棬鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B28635' Value: '鍠滃悕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5C472' Value: '鍔犵撼濉炶开锛堟棫锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB5178' Value: '鍗㈡椇杈炬硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$5BFE4C' Value: '瀹夐亾灏旀瘮濉炲' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E1FE4C' Value: '宸村反澶氭柉鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$8200B2' Value: 'EEK' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CFED2' Value: '闃垮瘜姹楀凹' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$754C98' Value: '鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$981E94' Value: '瑗跨彮鐗欐瘮濉炲' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C9862' Value: '鍒氭灉娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$143FCB' Value: '鍙厬鎹㈡瘮濉炲甯愭埛' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6E4C98' Value: 'CNY' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$63984C' Value: '鎽╂礇鍝ヨ开鎷夊' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2DE583' Value: '灏兼硦灏斿崲姣�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5742D' Value: '鎷夐噷' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$70984C' Value: 'Uruguary Peso en Unidades Indexadas' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$69984C' Value: '濉炲皵缁翠簹绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CFEE1' Value: '绾︽棪绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$411E98' Value: '鏂板姞鍧″厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E52D8F' Value: '鍖楁湞椴滃厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$52E52D' Value: '鏂拌阿鍏嬪皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1E9822' Value: '涔屽悏浜�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$20B200' Value: '鑻忓厠闆�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CBA114' Value: '椹潵瑗夸簹鏋楀悏鐗�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE3F00' Value: '鍙厬鎹㈤┈鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1E6198' Value: '甯冮殕杩硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72E582' Value: '鑻忛噷鍗楀厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$988E4C' Value: '濉炶垖灏斿崲姣�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72A6E5' Value: '鏂板崡鏂媺澶绾冲皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$14CB36' Value: '閽�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C8998' Value: '鏂扮储灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B4FE4C' Value: '鍒╂瘮閲屼簹鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00FE7F' Value: '鏅媺' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CDE52D' Value: '鏂板鎵�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00B256' Value: 'KRW' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$14CB26' Value: '鏂囪幈鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$5196CB' Value: '椹揪鍔犳柉鍔犻樋閲屼簹閲�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B23800' Value: '閲�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$F04CFE' Value: '婢冲ぇ鎷夎タ浜�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$372DE5' Value: '鐗规畩缁撶畻甯佺 - 閲戞硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2DE592' Value: '鍥炬牸閲屽厠' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$35B267' Value: '閲屽叞鍚夊凹' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FF00BF' Value: 'PHP' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2005C' Value: 'RON' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B23595' Value: '涓滃姞鍕掓瘮鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1E6C98' Value: '杈炬媺瑗�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CCE572' Value: 'JPY' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$78CB51' Value: 'USD' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7F00FF' Value: 'PLN' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE007F' Value: '鍏嬮瞾鎵庡' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72E5C4' Value: 'NOK' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1E5798' Value: '鏂板彴甯�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2AF00' Value: 'HKD' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C9868' Value: '钀ㄥ皵鐡﹀绉戦儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E57289' Value: '绂忔灄' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B12DE5' Value: '姣斿埄鏃舵硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$51ABCB' Value: '鍗楁柉鎷夊か绗撼灏旓紙宸蹭綔搴燂級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7135B2' Value: '闃块瞾宸村矝鐩�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$3FFE00' Value: '鍏嬮瞾鎭�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2900B2' Value: '鍔犳嬁澶у厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE00AA' Value: '鍙ゅ痉' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2C1E98' Value: '鑽峰睘瀹夌殑鍒楁柉缇ゅ矝鐩�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE4CF0' Value: '閾�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$0079B2' Value: '鑽峰叞鐩�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6ECB51' Value: '闃垮鎷滅枂椹鐗癸紙鏃э級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$359FB2' Value: '缁熻' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7CCB14' Value: '鐗欎拱鍔犲厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C6398' Value: 'INR' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$BFCB51' Value: '濂堟媺' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B5CB51' Value: '鍗㈡.鍫℃硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B29B35' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璁板笎鍗曚綅 9 (E.U.A.-9)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$D2FE4C' Value: '闃垮鎷滅枂椹鐗�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$51CB9B' Value: '鐟炲吀鍏嬫湕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$8A981E' Value: '涓归害鍏嬫湕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C9895' Value: 'SEK' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$63CB51' Value: '鍔皵鐗归瞾濮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$A872E5' Value: '鍗″皵浼摝鑱傚吂' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE4C5B' Value: '缇庡厓锛堟鏃ワ級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2FB200' Value: 'MYR' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C5D98' Value: '濮斿唴鐟炴媺鍗氬埄鐡�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB14B9' Value: '鍒楀厠' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C9098' Value: '绾冲厠娉�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$8635B2' Value: '鍏堜护' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FEFE00' Value: '鍏嬫湕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$A551CB' Value: 'Euro' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$54FE00' Value: '鐧戒縿缃楁柉鍗㈠竷' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00FE6A' Value: '淇濆姞鍒╀簹鍒楀紬' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$0000FE' Value: '鍏嬬綏鍦颁簹绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$8BCB14' Value: '鐗规畩缁撶畻甯佺 - UIC 娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$97B200' Value: '鍑犲唴浜氭瘮缁嶆瘮绱�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E52D9F' Value: '椹揪鍔犳柉鍔犳硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$824C98' Value: '鑻忛噷鍗楃浘' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$61E52D' Value: '缂呭厓锛堝凡搴熷純锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$0002B2' Value: 'THB' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CFE5B' Value: '鎵庝紛灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2359F' Value: '鐩村竷缃楅檧闀�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB518C' Value: '宸村搱椹厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$794CFE' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璐у竵鍗曚綅 (E.M.U.-6)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B25600' Value: 'CFP 娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2002F' Value: '鍑犲唴浜氭硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$9E72E5' Value: 'Unidades de formento' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$A22DE5' Value: '鍒╂槀' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2A635' Value: '瀹芥湱' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB149B' Value: '绉戞懇缃楁硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C986E' Value: '涔屽共杈惧厛浠わ紙浣滃簾锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$14CBB0' Value: '鐡滄媺灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE0094' Value: '绱㈣帿灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$981E39' Value: '涔屾媺鍦瘮绱�(1)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CFE4C' Value: '鐧戒縿缃楁柉鍗㈠竷锛堝凡浣滃簾锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$AF00B2' Value: '娲ュ反甯冮煢鍏冿紙涓嶅啀浣跨敤锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$874CFE' Value: '鍗板湴' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB7251' Value: '鐟炲皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1E9874' Value: '椹撼鐗癸紙涓嶅啀浣跨敤锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72E578' Value: '鐜涚撼鐗�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6735B2' Value: 'WIR 娆у厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE4C87' Value: '鍩冨強闀�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$984B1E' Value: '寰峰浗椹厠' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1E987E' Value: '鏂板湡鑰冲叾閲屾媺' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$80B235' Value: '鐩�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$88B200' Value: '绉戝宸村竵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CFEC3' Value: '鐖卞皵鍏伴晳' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB5182' Value: '鎸▉鍏嬫湕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B23537' Value: '闃挎媺浼仈鍚堥厠闀垮浗杩媺濮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB7C51' Value: '姊呰开鍗″皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5D02D' Value: '澶氱背灏煎姞姣旂储' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$0088B2' Value: 'RUB' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$80981E' Value: '浼埄鍏瑰厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2D43E5' Value: '涓滃笣姹跺焹搴撳' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1A00B2' Value: '鏂礇浼愬厠鍏嬫湕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5B172' Value: '鍏嬬摝鏌�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$24981E' Value: '閾�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B951CB' Value: '娆ф床璐у竵鍗曚綅 (E.C.U.)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$005CB2' Value: '鍔犵撼濉炶开' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00E9FE' Value: '鍝ユ柉杈鹃粠鍔犵閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$51A1CB' Value: '鐟炲+娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: 'Red' Value: 'EUR' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$964CFE' Value: '鍏嬬摝鏌�(1)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6314CB' Value: '鎷夎彶浜�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$BF00FE' Value: '娲涜拏' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$3542B2' Value: '绔嬮櫠瀹涢噷濉旀柉' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$35B248' Value: '鏂版墡浼婂皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E57280' Value: '鎵�缃楅棬缇ゅ矝鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$14C8CB' Value: '鏃犲竵绉�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00BFFE' Value: '绱㈠' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2E981E' Value: '鍏圭綏鎻愶紙宸蹭綔搴燂級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B23580' Value: '鎷夎劚缁翠簹鍗㈠竷' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$984C76' Value: '鍒楀紬' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72AFE5' Value: 'NZD' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C87FE' Value: '鏃ュ渾' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72E5D8' Value: '濉斿崱' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB142F' Value: '淇勭綏鏂崲甯冿紙鏃у竵锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE4CE1' Value: '鍏嬬綏鍦颁簹搴撶撼' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$985F1E' Value: '鍦熻�冲叾閲屾媺' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E172E5' Value: 'GBP' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$51CB90' Value: '浣涘緱瑙掑焹鏂簱澶�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE4CFE' Value: '闃垮皵鍙婂埄浜氱绾冲皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5642D' Value: '浼婃湕閲屼簹灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$354CB2' Value: 'Mexican Unidad de Inversion (UDI)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$A900FE' Value: '鎷夎劚缁翠簹鎷夌壒' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$76B235' Value: '闃垮瘜姹楀凹锛堟棫锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$51CBA5' Value: '缇庢彁鍗★紙鏃э級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B24700' Value: '鍚夊竷鎻愭硶閮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$14CBBF' Value: '鏂扮綏椹凹浜氬垪浼�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$02B200' Value: '寮�鏇肩兢宀涘厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$61B235' Value: '瀹芥湱锛堝凡浣滃簾锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$72E5E1' Value: '鍗″灏旈噷浜氬皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FFBF00' Value: 'AUD' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$DCE52D' Value: 'CFA 娉曢儙 BCEAO' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$9100B2' Value: '椹�充粬閲屾媺' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$98954C' Value: '绾崇背姣斾簹鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$984C83' Value: '璐㈡斂娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$98884C' Value: '浜氱編灏间簹寰锋媺濮�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$11B200' Value: '澧ㄨタ鍝ユ瘮绱紙宸蹭綔搴燂級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$5414CB' Value: '淇勭綏鏂崲甯�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C9698' Value: '娌欑壒閲屼簹灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$002AFE' Value: '鍝ヤ鸡姣斾簹姣旂储' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00B274' Value: '鑻忎腹闀�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$C3E572' Value: '鏂愭祹鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$5D51CB' Value: '钁¤悇鐗欏焹鏂簱澶�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2DBDE5' Value: '鍐板矝鍏嬫湕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$981E43' Value: '娉曞浗娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C5698' Value: '濮嗙淮澶�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$35AAB2' Value: 'Unidad de Valor Constante (UVC)' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6DCB14' Value: '姣涢噷姹傛柉鍗㈡瘮' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$6851CB' Value: 'WIR 娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B9E572' Value: '鎰忓ぇ鍒╅噷鎷�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB1420' Value: '涔熼棬閲屼簹灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E57276' Value: '鍧氭垐' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FEE900' Value: '涔屽共杈惧厛浠�' }
+      ChartEntryValue { Access: 738766.584444444 Color: 'Cyan' Value: 'HRK' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00D4FE' Value: '閭﹀姞' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$76984C' Value: 'SGD' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$1E986A' Value: '娴嬭瘯' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$5351CB' Value: '鍩冨淇勬瘮浜氭瘮灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00B265' Value: '璧幈' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$984C7C' Value: '缇庡厓锛堝悓鏃ワ級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$371E98' Value: '缇庡厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B29135' Value: '鍊哄埜甯傚満鍗曚綅 - 娆ф床璁板笎鍗曚綅 17锛堝凡浣滃簾锛�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FEB44C' Value: '鍧︽灏间簹鍏堜护' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E52D80' Value: '鐗瑰埆鎻愭鏉�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CFEF0' Value: '鑲凹浜氬厛浠�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$51B5CB' Value: 'RMB' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FED400' Value: '鏍奸瞾鍚変簹鎭エ' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$AF51CB' Value: '閲戣瀺鍏板痉' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C96FE' Value: '鍗板害鍗㈡瘮' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CBC351' Value: 'BRL' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$35B25D' Value: 'Unidad de Valor Real' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2DCDE5' Value: '涔屾媺鍦瘮绱�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$35B252' Value: '闃挎牴寤锋瘮绱�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$881E98' Value: '闊╁厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$76981E' Value: '鐡﹀姫闃垮浘' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$C02DE5' Value: '鐗圭珛灏艰揪鍜屽宸村摜鍏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$A6B200' Value: '鍩烘櫘' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$5159CB' Value: 'TWD' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$006BB2' Value: '鍙欏埄浜氶晳' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7293E5' Value: '鏂拌タ鍏板厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB8651' Value: '鍗㈡瘮' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7FFF00' Value: 'BGN' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$921E98' Value: '鍗氬埄鐡�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$98551E' Value: '鐜诲埄缁翠簹姣旂储' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$51CB86' Value: 'Dollar' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$C9CB51' Value: '鍗楁柉鎷夊か绗撼灏�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$14CB45' Value: '鍙厬鎹㈢殑娉曢儙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$C3FE4C' Value: '鑻遍晳' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$9400FE' Value: '鍙ゅ反姣旂储' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$76E572' Value: 'LVL' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE964C' Value: '娆у厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB9114' Value: '绉戝宸�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2DAEE5' Value: '绐佸凹鏂绾冲皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$71E52D' Value: '娉伴摙' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C5098' Value: '鍒椾紛' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FEC34C' Value: '鍒╂瘮浜氱绾冲皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$FE4C79' Value: '鍏扮壒' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$59CB51' Value: '濉斿悏鍏嬫柉鍧﹀崲甯�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2003E' Value: '鍦h但鍕掓嬁闀�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5BB72' Value: '鑻忎腹绗撼灏旓紙鏃э級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$145DCB' Value: '寰锋媺鍏嬮┈' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00FE55' Value: '椹厠' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CA5FE' Value: '濉炴郸璺柉闀�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2DE574' Value: '澶氬竷鎷�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E572D6' Value: '绱㈤┈閲屽厛浠�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E57293' Value: 'LTL' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$7314CB' Value: '绉戝▉鐗圭绾冲皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4C985B' Value: 'MXN' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$0015FE' Value: '鐧炬厱澶у厓锛堢櫨鎱曞ぇ鍏冿級' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$C351CB' Value: '浼︾毊鎷�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$4CB4FE' Value: '婢冲厓' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$3561B2' Value: '鎹峰厠鍏嬫湕' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$9572E5' Value: '绂忓厠鍏扮兢宀涢晳' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$2D34E5' Value: '姣旂储鍙姌鎹�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$984C50' Value: 'CAD' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$3556B2' Value: '浼婃媺鍏嬬绾冲皵' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$E5DF2D' Value: '宸村熀鏂潶鍗㈡瘮' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB5196' Value: '浜烘皯甯�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB8214' Value: '鍗㈠竷' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$B2358A' Value: '鍏圭綏鎻�' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$8B72E5' Value: 'IDR' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$00FF3F' Value: 'CZK' }
+      ChartEntryValue { Access: 738766.584444444 Color: '$CB14AA' Value: '宸存灄绗撼灏�' }
     }
     ColorSchemeEntry
     {

--
Gitblit v1.9.3