From 5ae534ab606e6f2ba5ea60914224d665b0447d5a Mon Sep 17 00:00:00 2001
From: Kevin Kok Khah Whey <khahwhey.kok@3ds.com>
Date: 星期二, 07 十一月 2023 22:48:31 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_Kevin
---
_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl | 14
_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl | 3
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeleteModule.qbl | 20
_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl | 3
_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl | 23
_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl | 5
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick#603.def | 41
_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/_ROOT_Component_FormDataInterfaceLog.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase#886.def | 60
_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def | 2
_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionDate.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged#613.def | 3
_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AnnualBudgetData.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModuleCorrespondence.def | 42
_Main/BL/Type_Global_MappingForecast/Attribute_SegmentPriority.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase#1.def | 36
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModulePanelCorrespondence#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def | 25
_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProductInSalesDemandBase.def | 36
_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl | 23
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ProductID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def | 9
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick#106.def | 4
_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelStockingPointID.qbl | 7
_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl | 6
_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl | 36
_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_S_DT_CustomOrder/Attribute_PriorityName.qbl | 7
_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuRight.def | 25
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForProductInStocking_MP.qbl | 21
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProduct_MP#1.def | 25
_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def | 2
_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl | 7
_Main/BL/Type_GlobalOTDSOP/Method_AsyncCapacityAndSaleBudgeCompare.qbl | 24
_Main/BL/Type_S_DT_SpliteStruct/Attribute_Qty.qbl | 8
_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleProductID.qbl | 7
_var/_Main/ModelSettings/Common/Dev-25/_ROOT_Role_Dev-25.properties | 46
_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl | 17
_Main/BL/Relations/Relation_ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorr.qbl | 23
_Main/BL/Type_S_DT_CustomOrder/Attribute_DefaultUOMConversionFactor#413.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick.def | 19
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl | 49
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption5.def | 35
_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModuleCorrespondence.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSDIP.def | 14
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl | 62
_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl | 18
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def | 8
_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_CreateStream.qbl | 19
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total4.qbl | 7
_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel1.def | 37
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/_ROOT_Component_FrmCustomOrderSpliteRow.def | 102
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsEligibleForNetting.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_listOrders_635_OnSelectionChanged.def | 18
_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_CreateCustomOrder.qbl | 9
_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl | 23
_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl | 6
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyQuantity.qbl | 7
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeletePanel.qbl | 21
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnCl.def | 23
_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl | 2
_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl | 42
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def | 6
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_SynchronizeInterfaceData.qbl | 18
_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionQTY.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def | 33
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def | 22
_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl | 13
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_PlantName.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResultProductInStockingPoint_MP.def | 63
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def | 2
_Main/BL/Type_Global_ProductCategory/StaticMethod_CreateStream.qbl | 19
_Main/BL/Type_DataInterfaceLog/Attribute_ErrorNo.qbl | 7
_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_S_DT_SpliteStruct/Attribute_SpliteReason.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listOrders#635.def | 54
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick.def | 17
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ActualFulfillmentQuantity.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick.def | 19
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelPeggingResult570.def | 15
_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl | 23
_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl | 1
_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl | 7
_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl | 14
_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh#171.def | 4
_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEditPriorityFactor_OnClick#325.def | 20
_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl | 10
_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl | 20
_Main/BL/Type_S_FunctionClass/_ROOT_Type_S_FunctionClass.qbl | 10
_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTop.def | 29
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateData.qbl | 32
_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl | 7
_Main/BL/Type_S_DT_SpliteStruct/Attribute_OrderID.qbl | 8
_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl | 7
_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl | 7
_Main/Sys/ImgAttr/DataInterfaceLog.dme | 31
_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl | 6
_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl | 4
_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl | 9
_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResultProductInStockingPoint_MP.def | 42
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListStockingPoint#140.def | 60
_Main/BL/Type_DataInterfaceLog/_ROOT_Type_DataInterfaceLog.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def | 59
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def | 22
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def | 19
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPIUser.qbl | 7
_Main/BL/Type_Global_MappingAnnualBudgetReview/_ROOT_Type_Global_MappingSummaryOfInboundTransaction.qbl | 9
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total5.qbl | 7
_var/_Main/ModelSettings/Common/Dev-40/_ROOT_Role_Dev-40.properties | 8
_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_OK_FCOS_OnClick.def | 38
_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl | 14
_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_PlantName.qbl | 9
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl | 38
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl | 10
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SegmentPriority.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def | 17
_Main/BL/Type_Global_MappingForecast/Attribute_ProductGrade.qbl | 8
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl | 77
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuDelete_OnClick.def | 18
_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl | 12
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProduct_MP#34.def | 59
_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw | 204
_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl | 15
_Main/BL/Type_ModulePanelCorrespondence/_ROOT_Type_ModulePanelCorrespondence.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_New.def | 19
_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTag.qbl | 8
_Main/BL/Type_Global_MappingForecast/Attribute_SheetProfitability.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def | 16
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def | 4
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_sendERP_FCOV_OnClick.def | 16
_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_pButton.def | 48
_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl | 18
_Main/BL/Type_S_DT_SpliteStruct/_ROOT_Type_S_DT_SpliteStruct.qbl | 10
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateAllChildRelation.qbl | 17
_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl | 1
_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl | 23
_Main/BL/Type_S_DT_CustomOrder/Attribute_SheetProfitability.qbl | 8
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_NumberOfPlies.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_OutsideOfPlanningHorizonQuantity.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listActionBarPageDataInterfaceLog.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingAllResult#1.def | 10
_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl | 23
_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SummaryOfInboundTransaction.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def | 83
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_ButtonGenerateProductCategory_OnClick#902.def | 24
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_deleteOrder_FCOV_OnClick.def | 36
_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPageStockingPoint.def | 10
_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def | 2
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl | 18
_Main/BL/Type_SummaryOfInboundTransaction/_ROOT_Type_SummaryOfInboundTransaction.qbl | 9
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetParentChildRelationship.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def | 2
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl | 14
_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw | 2199 -----
_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl | 3
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl | 30
_Main/BL/Relations/Relation_PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_M.qbl | 23
_Main/BL/Type_S_DT_CustomOrder/Attribute_Price.qbl | 7
_Main/BL/Type_DataInterfaceLog/Attribute_ID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def | 36
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_OrderTag.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_pButton.def | 26
_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevere.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_listContextMenuPriorityFactor_MenuNewPriorityFactor_OnClick.def | 17
_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def | 60
_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModuleCorrespondence.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def | 16
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def | 17
_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuSummaryOfInboundTransaction.def | 10
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_splite_info_btn_splite_add_OnClick.def | 51
_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnSelectionChanged.def | 4
_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl | 16
_var/_Main/ModelSettings/Common/Live-23/_ROOT_Role_Live-23.properties | 575 +
_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def | 34
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 20
_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl | 12
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def | 3
_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleStockingPointID.qbl | 7
_Main/UI/MacroPlannerWebApp/Views/全局参数.vw | 351
_var/_Main/ModelSettings/Common/Live-25/_ROOT_Role_Live-25.properties | 575 +
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_ButtonDeleteMappingData_OnClick#608.def | 30
_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl | 23
_Main/BL/Type_S_DT_CustomOrder/Attribute_EndDate.qbl | 7
_Main/BL/Type_S_DT_OrderSpliteRow/Attribute_NewAttribute.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_ListSummaryOfInboundTransaction.def | 41
_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl | 23
_Main/UI/MacroPlannerWebApp/Views/模组_面板关系.vw | 194
_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl | 13
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuStockingPoint#1.def | 36
_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingDataStream.qbl | 32
_var/_Main/ModelSettings/Common/Live-27/_ROOT_Role_Live-27.properties | 575 +
_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesDemandConversionFactor.qbl | 7
_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption3.def | 2
_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl | 23
_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def | 19
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def | 17
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_lisplitedetails#450.def | 42
_Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl | 8
_Main/BL/Relations/Relation_PriorityFactorDetail_PriorityFactor_PriorityFactor_PriorityFactorDe.qbl | 23
_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl | 7
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total6.qbl | 7
_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl | 31
_Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData#500.qbl | 74
_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel3.def | 48
_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl | 8
_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl | 8
_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType493.def | 10
_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bDeleteModule_OnClick#462.def | 16
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsPostponed.qbl | 7
_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl | 7
_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def | 60
_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductGrade.qbl | 8
_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def | 21
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def | 14
_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl | 17
_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl | 15
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl | 42
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_Function_FCOV.def | 114
_Main/BL/Type_GlobalOTDSOP/StaticMethod_Test.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType423.def | 10
_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl | 52
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsSoftDeleted.qbl | 7
_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl | 1
_Main/BL/Type_S_DT_CustomOrder/Attribute_PISPConversionFactor.qbl | 7
_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_S_DT_CustomOrder_S_DT_CustomOrder_S_DT_OrderSpl.qbl | 23
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPI.qbl | 7
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateData.qbl | 18
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def | 1
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def | 18
_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SummaryOfInboundTransaction.qbl | 9
_Main/BL/Type_DataInterfaceLog/Attribute_CreateDate.qbl | 7
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total12.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupScenarioComparisonViews_ButtonAnnualPro.def | 16
_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganCode.qbl | 9
_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl | 3
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoin.qbl | 23
_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl | 15
_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl | 29
_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl | 27
_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelLeft#865.def | 15
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLeaf.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def | 6
_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl | 23
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl | 3
_var/_Main/ModelSettings/Common/Live-21/_ROOT_Role_Live-21.properties | 575 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceGlobal_BrokerExecuteLog#981.def | 2
_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModifyTime.qbl | 8
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total10.qbl | 7
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl | 294
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def | 16
_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl | 8
_Main/BL/Type_S_DT_CustomOrder/DeclarativeTypeIndexRelation_CalcChild.qbl | 16
_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl | 5
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total7.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_Button5_OnClick#605.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuDeletePriorityFactorGrading_OnClick.def | 24
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def | 2
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel651.def | 44
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsManuallyConfigured.qbl | 7
_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def | 18
_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl | 7
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProductInSalesDemandBase.def | 10
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Method_CreateCapacityAndSaleBudgeCompareData.def | 40
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_PullCapacityAllocationRule.qbl | 29
_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1#809.qbl | 29
_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_SplitCount.qbl | 8
_Main/BL/Type_S_DT_CustomOrder/Attribute_FulfilledQuantity.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDeletePriorityFactor_OnClick.def | 24
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bAddModule_OnClick#61.def | 16
_Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageStockingPoint#1.def | 10
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StartDate.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderID.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_BusinessType.qbl | 0
_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_spliteDetails.def | 26
_Main/BL/Type_SummaryOfInboundTransaction/StaticMethod_FlushData.qbl | 55
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl | 7
_Main/BL/Relations/Relation_S_DT_CustomOrder_MacroPlan_MacroPlan_S_DT_CustomOrder.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/_ROOT_Component_FormSummaryOfInboundTransaction.def | 18
_Main/BL/Type_S_DT_CustomOrder/Attribute_Variance.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bRunPeggingAlgorithm_OnClick.def | 22
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_list_SpliteDetails#136.def | 61
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def | 10
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_FCOS_OnDataChanged.def | 23
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick#231.def | 22
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def | 59
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelPanel.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_ListDataInterfaceLog.def | 59
_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID.qbl | 9
_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl | 8
_Main/BL/Type_PriorityResult/Attribute_Customer.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_splitRow_FCOV_OnClick.def | 25
_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl | 1
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl | 10
_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_CreateStream.qbl | 19
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLocked.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def | 17
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_Panel700.def | 39
_Main/BL/Type_S_DT_CustomOrder/Attribute_StartDate.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def | 2
_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl | 3
_Main/BL/Type_S_DT_CustomOrder/Attribute_ID_SpliteStruct.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def | 27
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_DataView.def | 16
_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl | 9
_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl | 19
_Main/BL/Type_S_FunctionClass/StaticMethod_SM_OrderToSpliteOrder.qbl | 207
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def | 5
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def | 1
_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def | 8
_Main/BL/Type_S_DT_CustomOrder/Attribute_DemandUncertaintyPercentage.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/_ROOT_Component_FormHistoricalSalesOrders.def | 4
_Main/BL/Type_S_DT_SpliteStruct/Attribute_Status.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingAllResult#1.def | 25
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage243#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def | 57
_Main/BL/Type_S_DT_CustomOrder/Attribute_Quantity.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetail.def | 32
_var/_Main/ModelSettings/Common/Dev-42/_ROOT_Role_Dev-42.properties | 8
_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl | 14
_Main/BL/Type_DataInterfaceLog/StaticMethod_OnSuccess.qbl | 14
_Main/BL/Type_S_DT_CustomOrder/Attribute_ID.qbl | 8
_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan#127.qbl | 18
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_CustomerPolicy.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelSalesDemand.def | 15
_Main/BL/Type_DataInterfaceLog/StaticMethod_OnError.qbl | 18
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelStockingPoint.def | 15
_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl | 53
_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_Item.qbl | 9
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Item.qbl | 8
_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 24
_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl | 1
_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl | 1
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total8.qbl | 7
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl | 28
_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl | 6
_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_CreateStream.qbl | 20
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelContent.def | 16
_Main/BL/Type_S_DT_CustomOrder/Attribute_DerivedPriorityName.qbl | 7
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProduc.qbl | 23
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganCode.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listContextMenuDataInterfaceLog.def | 36
_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModify.qbl | 8
_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl | 27
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/_ROOT_Component_FormModulePanelCorrespondence.def | 44
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantity.qbl | 31
_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityInDefaultUoM.qbl | 7
_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def | 41
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_listContextMenuSD_MenuSyncInterfaceData_OnClick.def | 16
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total11.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def | 17
_Main/BL/EDI/Broker_GlobalOTDTable_AnnualBudgetData.qbl | 80
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_Panel655.def | 37
_Main/BL/Type_DataInterfaceLog/Attribute_ErrorMessage.qbl | 7
_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl | 1
_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl | 23
_Main/BL/Type_S_DT_SpliteStruct/DefaultValue_Status.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def | 15
_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetail.qbl | 10
_Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl | 14
_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl | 17
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def | 23
_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl | 6
_Main/BL/Type_S_DT_CustomOrder/_ROOT_Type_S_DT_CustomOrder.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonExportCompare_OnClick#325.def | 20
_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl | 7
_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl | 23
_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl | 23
_Main/BL/Relations/Relation_S_FunctionClass_MacroPlan_MacroPlan_S_FunctionClass.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageRight.def | 10
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_Panel651_btn_delete_FCOV_OnClick.def | 22
_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl | 1
_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID_S_DT_CustomOrder.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def | 2
_Main/UI/MacroPlannerWebApp/Views/年度产销复盘.vw | 738 -
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl | 18
_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuStockingPoint.def | 10
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def | 2
_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteRenmain.qbl | 8
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl | 38
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StartDate.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def | 16
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def | 33
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelSalesDemand#411.def | 15
_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl | 23
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def | 19
_Main/BL/Relations/Relation_S_DT_SpliteStruct_MacroPlan_MacroPlan_S_DT_SpliteStruct.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_pButton#407.def | 37
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl | 5
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl | 42
_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def | 18
_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganName.qbl | 9
_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl | 1
_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteStatus.qbl | 14
_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTopMost.def | 20
_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl | 225
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl | 1
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl | 62
_Main/BL/Type_GlobalOTDSOP/Method_SetCapacityAndSaleBudgeRunStatus.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioComparison.def | 8
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSDIP.def | 8
_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_TotalIdentification.qbl | 8
_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def | 1
_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Response_pButton_bFlushData_OnClick.def | 16
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateInventorySupply.qbl | 31
_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl | 34
_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/_ROOT_Component_frmStandardAnalysis633.def | 19
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListSummaryOfInboundTransaction.def | 41
_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelProductID.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_BusinessType.qbl | 8
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 6
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnCreated.def | 4
_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_InitializedData.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelContent#807.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def | 1
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_OperateBtns_FCOS.def | 16
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu655#1.def | 10
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total9.qbl | 7
_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def | 15
_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl | 5
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl | 45
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick.def | 17
_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_MacroPlan_MacroPlan_S_DT_OrderSpliteRow.qbl | 23
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl | 28
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnCl.def | 17
_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl | 172
_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryDataStream.qbl | 17
_Main/BL/Type_S_DT_CustomOrder/Attribute_HasPostponedSalesDemand.qbl | 7
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listActionBarPage229#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/_ROOT_Component_FrmCustomOrderView.def | 19
_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl | 7
_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button4_OnClick#249.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bCreate_OnClick.def | 23
_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_CreateData.qbl | 9
_Main/BL/Type_Global_MappingProduct_MP/Attribute_Critical.qbl | 8
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyType.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def | 33
_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderLineID.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsFirmed.qbl | 7
_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl | 41
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreatePanel.qbl | 23
_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataTotalViolationCount.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_pButton.def | 47
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def | 63
_Main/BL/Type_DataInterfaceLog/StaticMethod_Create.qbl | 21
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/_ROOT_Type_PeggingResultProductInStockingPoint_MP.qbl | 9
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl | 1
_Main/BL/Type_S_DT_CustomOrder/Attribute_PriceUoM.qbl | 7
_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_InitializedData.qbl | 16
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def | 37
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonExportDetail_OnClick#971.def | 23
_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def | 10
_Main/BL/Relations/Relation_ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module.qbl | 23
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl | 21
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl | 41
_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteReason.qbl | 8
_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 5
_Main/BL/Relations/Relation_S_DT_CustomOrder_Child_S_DT_CustomOrder_Parent.qbl | 23
_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl | 10
_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNewPriorityFactor_OnClick.def | 20
_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl | 9
_Main/BL/Type_MacroPlan/StaticMethod_DoASync#253.qbl | 108
_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl | 1
_Main/BL/Relations/Relation_DataInterfaceLog_GlobalOTDLog_GlobalOTDLog_DataInterfaceLog.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModulePanelCorrespondence#1.def | 25
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl | 14
_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl | 1
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl | 42
_Main/BL/Type_ModulePanelCorrespondence/Attribute_IsModule.qbl | 7
_Main/BL/Type_DataInterfaceLog/StaticMethod_OnException.qbl | 16
_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl | 1
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganName.qbl | 8
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl | 13
_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForSalesDemandBase.qbl | 21
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_function_FCOS.def | 41
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def | 10
_Main/BL/Type_CapacityAndSaleBudgeRunStatus/_ROOT_Type_CapacityAndSaleBudgeRunStatus.qbl | 9
_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl | 16
_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingData.qbl | 15
_Main/BL/Type_S_DT_CustomOrder/Attribute_Status_Splite.qbl | 8
_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl | 1
_Main/BL/Type_S_DT_OrderSpliteRow/_ROOT_Type_S_DT_OrderSpliteRow.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button3_OnClick#918.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_DataHolderPriorityFactor_OnDataChanged.def | 19
_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl | 7
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total1.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def | 6
_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def | 36
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelStockingPoint#569.def | 15
_var/_Main/ModelSettings/Common/Dev-23/_ROOT_Role_Dev-23.properties | 46
_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl | 28
_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcCritical.qbl | 13
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_Create.qbl | 31
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetAllChildRelation.qbl | 20
_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl | 1
_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl | 7
_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl | 27
_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def | 39
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listContextMenu950#1.def | 25
_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl | 59
_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevereCount.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl | 14
_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl | 18
_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_Button1_OnClick#673.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_MenuSelectionAll506_OnClick.def | 17
_Main/BL/Type_S_DT_CustomOrder/Attribute_ParentID.qbl | 7
_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl | 1
_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTime.qbl | 8
_Main/BL/Type_Global_MappingProduct_MP/Function_CalcCritical.qbl | 12
_Main/BL/Type_GlobalParameters/Attribute_Address.qbl | 8
_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl | 7
_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl | 6
_Main/BL/Type_DataInterfaceLog/Attribute_Message.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def | 37
_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl | 10
_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule116.def | 48
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_SCustomOrder_FCOS_OnDataChanged.def | 25
_var/_Main/ModelSettings/Common/Dev-38/_ROOT_Role_Dev-38.properties | 8
_Main/BL/Type_PeggingProductInStockingPoint_MP/_ROOT_Type_PeggingProductInStockingPoint_MP.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick.def | 19
_Main/BL/Type_PriorityFactor/Method_CreatePrioitifyFacotrDetail.qbl | 11
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl | 57
_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderType.qbl | 8
_Main/BL/Type_S_DT_CustomOrder/Attribute_UnitOfMeasureName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bPullCapacityAllocationRule_OnClick.def | 16
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GeneratePeggingResult.qbl | 25
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def | 31
_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl | 23
_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 20
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_UnitOfMeasurementName.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_ExpectedQuantity.qbl | 7
_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl | 28
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def | 16
_Main/BL/EDI/Broker_GlobalOTDTable_SummaryOfInboundTransaction.qbl | 127
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def | 34
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel4#2.def | 37
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelSalesDemand_411_OnActivate.def | 20
_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl | 31
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def | 117
_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl | 13
_Main/BL/Type_Global_MAPISPIPCategory/Attribute_Critical.qbl | 8
_Main/BL/Relations/Relation_Global_MappingSummaryOfInboundTransaction_GlobalOTDTable_GlobalOTDT.qbl | 23
_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl | 1
_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_CreateStream.qbl | 20
_Main/BL/Type_Lane/StaticMethod_FindById.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def | 40
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick.def | 17
_Main/BL/Type_Global_MappingAnnualBudgetReview/TypeIndex_Global_MappingSummaryOfInboundTransactionTypeIndex.qbl | 28
_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityPerDay.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingAllResult_103_MenuSelectAll_OnClick.def | 17
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsValidData.qbl | 7
_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductIn.qbl | 23
_Main/BL/Relations/Relation_CapacityAndSaleBudgeRunStatus_GlobalOTDSOP_GlobalOTDSOP_CapacityAnd.qbl | 23
_Main/UI/MacroPlannerWebApp/Views/Pegging分析.vw | 519 +
_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl | 18
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelRight#520.def | 16
_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl | 7
_Main/BL/Type_DataInterfaceLog/StaticMethod_Success.qbl | 16
_Main/BL/Type_S_DT_CustomOrder/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl | 47
_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelStockingPoint_569_OnActivate.def | 20
_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase#1.def | 10
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl | 7
_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelSummaryOfInboundTransaction.def | 15
_Main/BL/Type_S_DT_SpliteStruct/Attribute_ForecastDate.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageBelow.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_CheckSelectAll_OnChanged.def | 35
_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn#56.qbl | 0
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_dhStatus_OnDataChanged.def | 25
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelBelow.def | 16
_Main/BL/Type_Global_MappingAnnualBudgetReview/StaticMethod_SynchronizeInterfaceData.qbl | 18
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_LastModify.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEditPriorityFactorGrading_OnClick.def | 20
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu199#1.def | 10
_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AnnualBudgetData.qbl | 6
_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreateModule.qbl | 19
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_OrderType.qbl | 0
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def | 19
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick#19.def | 21
_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType713.def | 37
_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl | 20
_var/_Main/ModelSettings/Common/Dev-27/_ROOT_Role_Dev-27.properties | 46
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuBelow.def | 10
_var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw | 3354 ++++++-
_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl | 23
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_ExecuteAsyncCapacityAndSaleBudgeCompare.qbl | 12
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelAbove.def | 16
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl | 1
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total2.qbl | 7
_Main/UI/MacroPlannerWebApp/Views/接口测试.vw | 88
_Main/BL/Type_GlobalParameters/Attribute_Port.qbl | 8
_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl | 9
_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl | 35
_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def | 11
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def | 25
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl | 30
_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl | 2
_Main/BL/Type_S_DT_CustomOrder/Attribute_SegmentPriority.qbl | 8
_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl | 9
_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteUser.qbl | 7
_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl | 25
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResult#103.def | 60
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuNewPriorityFactorGrading_OnClick.def | 18
_Main/BL/Type_S_DT_CustomOrder/Attribute_HasValidConversionFactor.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuSelectionAll_OnClick.def | 17
_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl | 16
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def | 6
_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl | 1
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_FulfillmentQuantity.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_pFilterCriteria.def | 60
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesSegmentName.qbl | 7
_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl | 2
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def | 2
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl | 4
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl | 18
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProduct_MP#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageSummaryOfInboundTransaction.def | 10
_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def | 23
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl | 48
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_ProductGrade.qbl | 6
_Main/BL/Type_S_DT_CustomOrder/Attribute_CurrencyID.qbl | 7
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuSpliteOrder_OnClick.def | 22
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def | 3
_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listActionBarPageSummaryOfInboundTransaction.def | 10
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_huanyuan_FCOV_OnClick.def | 40
_Main/BL/Type_CapacityAndSaleBudgeRunStatus/Attribute_RunSataus.qbl | 7
_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl | 1
_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListStockingPoint.def | 42
_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button2_OnClick#836.def | 20
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral#549.def | 10
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl | 25
_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def | 25
_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listContextMenuSummaryOfInboundTransaction.def | 10
_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl | 70
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_function_FCOS_btn_add_FCOS_OnClick.def | 32
_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total3.qbl | 7
_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_Cancel_FCOS_OnClick.def | 41
_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl | 1
_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl | 23
_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl | 7
_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_ProductID.qbl | 7
_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SheetProfitability.qbl | 6
_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl | 1
_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateNewSupply.qbl | 70
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def | 2
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_splite_info.def | 50
_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl | 1
_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryData.qbl | 15
_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerPolicy.qbl | 8
_Main/BL/Type_S_DT_CustomOrder/Attribute_IsAvailable.qbl | 8
_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl | 7
_Main/BL/Type_PriorityFactor/Attribute_Name.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_list_SpliteDetails_136_m_delete_list_SD_OnClick.def | 37
_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioComparisonViews#859.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def | 53
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel713.def | 26
_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_InitializedData.qbl | 19
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl | 25
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def | 23
_Main/BL/Type_Flag/_ROOT_Type_Flag.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick.def | 17
_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerID.qbl | 8
/dev/null | 205
_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModulePanelCorrespondence#612.def | 75
_Main/BL/Relations/Relation_SummaryOfInboundTransaction_GlobalOTDSOP_GlobalOTDSOP_SummaryOfInbo.qbl | 23
_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl | 28
_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl | 15
_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl | 23
_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl | 15
_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl | 1
_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl | 1
_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage978#1.def | 10
_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl | 1
_Main/BL/Type_S_DT_CustomOrder/TypeIndex_PrimaryKey_ID.qbl | 12
749 files changed, 18,934 insertions(+), 4,743 deletions(-)
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_ActualPISPIP.qbl b/_Main/BL/EDI/Broker_Broker_OTD_ActualPISPIP.qbl
deleted file mode 100644
index bc7c6a3..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_ActualPISPIP.qbl
+++ /dev/null
@@ -1,153 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_ActualPISPIP
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_ActualPISPIP
- {
- EDIMLTable MappingActualPISPIP
- {
- PrimaryKeyColumns: Date
- PrimaryKeyColumns: ProductID
- PrimaryKeyColumns: StockingPointID
- TargetType: MappingActualPISPIP
- TypeIndex: MappingActualPISPIPTypeIndex
- EDIMLColumn ActualInventoryLevelEnd { Attribute: ActualInventoryLevelEnd ValueType: Real }
- EDIMLColumn Date { Attribute: Date ValueType: Date }
- EDIMLColumn Description { Attribute: Description ValueType: String }
- EDIMLColumn IsAvailable { Attribute: IsAvailable ValueType: Boolean }
- EDIMLColumn ManufacturedDate { Attribute: ManufacturedDate ValueType: Date }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- EDIMLColumn StockType { Attribute: StockType ValueType: String }
- EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
- }
- }
- EDIODBCLink.Source MID_ActualPISPIP
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_ACTUALPISPIP
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="TIANMA"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn ACTUALLINVENTORYLEVELEND
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn DATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn DESCRIPTION
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ISAVAILABLE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn MANUFACTUREDDATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn STOCKINGPOINTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn STOCKTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationActualPISPIP
- {
- EDITableTransformation
- {
- InputTable: MID_ACTUALPISPIP
- OutputTable: MappingActualPISPIP
- EDIColumnMatch
- {
- InputColumn: ACTUALLINVENTORYLEVELEND
- OutputColumn: ActualInventoryLevelEnd
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <StringToReal xmlns="http://www.quintiq.com/GEB/StringToReal" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- <NumericFormatString>Standard</NumericFormatString>
- <LocaleString>Chinese (China)</LocaleString>
- <CurrencyString></CurrencyString>
- <CustomFormatString></CustomFormatString>
- </StringToReal>
- *]
- }
- }
- EDIColumnMatch
- {
- InputColumn: DATE
- OutputColumn: Date
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: DESCRIPTION OutputColumn: Description }
- EDIColumnMatch { InputColumn: ISAVAILABLE OutputColumn: IsAvailable }
- EDIColumnMatch
- {
- InputColumn: MANUFACTUREDDATE
- OutputColumn: ManufacturedDate
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
- EDIColumnMatch { InputColumn: STOCKTYPE OutputColumn: StockType }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_BOM.qbl b/_Main/BL/EDI/Broker_Broker_OTD_BOM.qbl
deleted file mode 100644
index 965dd1b..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_BOM.qbl
+++ /dev/null
@@ -1,206 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_BOM
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_MappingBOM
- {
- EDIMLTable MappingBOM
- {
- PrimaryKeyColumns: AlternativeMaterialCode
- PrimaryKeyColumns: BusinessType
- PrimaryKeyColumns: ComponentCode
- PrimaryKeyColumns: OrganCode
- PrimaryKeyColumns: ProcessSection
- PrimaryKeyColumns: ProductCode
- TargetType: MappingBOM
- TypeIndex: BOMTypeIndex
- EDIMLColumn AlternativeMaterialCode { Attribute: AlternativeMaterialCode ValueType: String }
- EDIMLColumn AlternativeMaterialType { Attribute: AlternativeMaterialType ValueType: String }
- EDIMLColumn AlternativeMaterialUnit { Attribute: AlternativeMaterialUnit ValueType: String }
- EDIMLColumn AlternativeRate { Attribute: AlternativeRate ValueType: Real }
- EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
- EDIMLColumn ComponentCode { Attribute: ComponentCode ValueType: String }
- EDIMLColumn ComponentDescription { Attribute: ComponentDescription ValueType: String }
- EDIMLColumn ComponentOutputRate { Attribute: ComponentOutputRate ValueType: Real }
- EDIMLColumn ComponentType { Attribute: ComponentType ValueType: String }
- EDIMLColumn ComponentUnit { Attribute: ComponentUnit ValueType: String }
- EDIMLColumn ComponentUnitDescription { Attribute: ComponentUnitDescription ValueType: String }
- EDIMLColumn DescriptionOfAlternativeMaterial { Attribute: DescriptionOfAlternativeMaterial ValueType: String }
- EDIMLColumn DescriptionOfAlternativeMaterialUnits { Attribute: DescriptionOfAlternativeMaterialUnits ValueType: String }
- EDIMLColumn MaterialSystem { Attribute: MaterialSystem ValueType: String }
- EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
- EDIMLColumn ProcessSection { Attribute: ProcessSection ValueType: String }
- EDIMLColumn ProductCode { Attribute: ProductCode ValueType: String }
- EDIMLColumn ProductDescribe { Attribute: ProductDescribe ValueType: String }
- EDIMLColumn ProductType { Attribute: ProductType ValueType: String }
- EDIMLColumn ProductUnitDescription { Attribute: ProductUnitDescription ValueType: String }
- EDIMLColumn SubstitutionRelationship { Attribute: SubstitutionRelationship ValueType: String }
- EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
- EDIMLColumn UnitUsageOfComponents { Attribute: UnitUsageOfComponents ValueType: Real }
- }
- }
- EDIODBCLink.Source MID_BOM
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_BOM
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="TIANMA"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn ALTERNATIVEMATERIALCODE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ALTERNATIVEMATERIALTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ALTERNATIVEMATERIALUNIT
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ALTERNATIVERATE
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn BUSINESSTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COMPONENTCODE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COMPONENTDESCRIPTION
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COMPONENTOUTPUTRATE
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn COMPONENTTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COMPONENTUNIT
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COMPONENTUNITDESCRIPTION
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn DESCRIPTIONOFALTERNATIVEMATERIAL
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn DESCRIPTIONOFALTERNATIVEMATERIALUNIT
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn MATERIALSYSTEM
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORGANCODE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PROCESSSECTION
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTCODE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTDESCRIBE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTUNITDESCRIPTION
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn SUBSTITUTIONRELATIONSHIP
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn UNITOFMEASURENAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn UNITUSAGEOFCOMPENENT
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- }
- }
- EDITransformation.Transformation TransformationBOM
- {
- EDITableTransformation
- {
- InputTable: MID_BOM
- OutputTable: MappingBOM
- EDIColumnMatch { InputColumn: ALTERNATIVEMATERIALCODE OutputColumn: AlternativeMaterialCode }
- EDIColumnMatch { InputColumn: ALTERNATIVEMATERIALTYPE OutputColumn: AlternativeMaterialType }
- EDIColumnMatch { InputColumn: ALTERNATIVEMATERIALUNIT OutputColumn: AlternativeMaterialUnit }
- EDIColumnMatch { InputColumn: ALTERNATIVERATE OutputColumn: AlternativeRate }
- EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
- EDIColumnMatch { InputColumn: COMPONENTCODE OutputColumn: ComponentCode }
- EDIColumnMatch { InputColumn: COMPONENTDESCRIPTION OutputColumn: ComponentDescription }
- EDIColumnMatch { InputColumn: COMPONENTOUTPUTRATE OutputColumn: ComponentOutputRate }
- EDIColumnMatch { InputColumn: COMPONENTTYPE OutputColumn: ComponentType }
- EDIColumnMatch { InputColumn: COMPONENTUNIT OutputColumn: ComponentUnit }
- EDIColumnMatch { InputColumn: COMPONENTUNITDESCRIPTION OutputColumn: ComponentUnitDescription }
- EDIColumnMatch { InputColumn: DESCRIPTIONOFALTERNATIVEMATERIAL OutputColumn: DescriptionOfAlternativeMaterial }
- EDIColumnMatch { InputColumn: DESCRIPTIONOFALTERNATIVEMATERIALUNIT OutputColumn: DescriptionOfAlternativeMaterialUnits }
- EDIColumnMatch { InputColumn: MATERIALSYSTEM OutputColumn: MaterialSystem }
- EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
- EDIColumnMatch { InputColumn: PROCESSSECTION OutputColumn: ProcessSection }
- EDIColumnMatch { InputColumn: PRODUCTCODE OutputColumn: ProductCode }
- EDIColumnMatch { InputColumn: PRODUCTDESCRIBE OutputColumn: ProductDescribe }
- EDIColumnMatch { InputColumn: PRODUCTTYPE OutputColumn: ProductType }
- EDIColumnMatch { InputColumn: PRODUCTUNITDESCRIPTION OutputColumn: ProductUnitDescription }
- EDIColumnMatch { InputColumn: SUBSTITUTIONRELATIONSHIP OutputColumn: SubstitutionRelationship }
- EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
- EDIColumnMatch { InputColumn: UNITUSAGEOFCOMPENENT OutputColumn: UnitUsageOfComponents }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_BaseConversionFactor.qbl b/_Main/BL/EDI/Broker_Broker_OTD_BaseConversionFactor.qbl
deleted file mode 100644
index 4bca9ec..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_BaseConversionFactor.qbl
+++ /dev/null
@@ -1,78 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_BaseConversionFactor
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_BaseConversionFactor
- {
- EDIMLTable MappingBaseConversionFactor
- {
- PrimaryKeyColumns: IsEnabled
- PrimaryKeyColumns: ProductId
- PrimaryKeyColumns: SourceUnitOfMeasureName
- PrimaryKeyColumns: TargetUnitOfMeasureName
- TargetType: MappingBaseConversionFactor
- TypeIndex: MappingBaseConversionFactorTypeIndex
- EDIMLColumn Factor { Attribute: Factor ValueType: Real }
- EDIMLColumn IsEnabled { Attribute: IsEnabled ValueType: Boolean }
- EDIMLColumn ProductId { Attribute: ProductId ValueType: String }
- EDIMLColumn SourceUnitOfMeasureName { Attribute: SourceUnitOfMeasureName ValueType: String }
- EDIMLColumn TargetUnitOfMeasureName { Attribute: TargetUnitOfMeasureName ValueType: String }
- }
- }
- EDIODBCLink.Source MID_BaseConversionFactor
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_BASECONVERSIONFACTORS
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="YUXTEST"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn FACTOR
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn ISENABLED
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn SOURCEUNITOFMEASURENAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn TARGETUNITOFMEASURENAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationBaseConversionFactor
- {
- EDITableTransformation
- {
- InputTable: MID_BASECONVERSIONFACTORS
- OutputTable: MappingBaseConversionFactor
- EDIColumnMatch { InputColumn: FACTOR OutputColumn: Factor }
- EDIColumnMatch { InputColumn: ISENABLED OutputColumn: IsEnabled }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductId }
- EDIColumnMatch { InputColumn: SOURCEUNITOFMEASURENAME OutputColumn: SourceUnitOfMeasureName }
- EDIColumnMatch { InputColumn: TARGETUNITOFMEASURENAME OutputColumn: TargetUnitOfMeasureName }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_CustomerOrder.qbl b/_Main/BL/EDI/Broker_Broker_OTD_CustomerOrder.qbl
deleted file mode 100644
index 362c208..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_CustomerOrder.qbl
+++ /dev/null
@@ -1,176 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_CustomerOrder
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_CustomerOrder
- {
- EDIMLTable MappingCustomerOrder
- {
- PrimaryKeyColumns: ID
- TargetType: MappingCustomerOrder
- TypeIndex: MappingCustomerOrderTypeIndex
- EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
- EDIMLColumn CurrencyID { Attribute: CurrencyID ValueType: String }
- EDIMLColumn Customer { Attribute: Customer ValueType: String }
- EDIMLColumn CustomerID { Attribute: CustomerID ValueType: String }
- EDIMLColumn ID { Attribute: ID ValueType: String }
- EDIMLColumn IsAvailable { Attribute: IsAvailable ValueType: Boolean }
- EDIMLColumn OrderDate { Attribute: OrderDate ValueType: Date }
- EDIMLColumn OrderID { Attribute: OrderID ValueType: String }
- EDIMLColumn OrderLineID { Attribute: OrderLineID ValueType: String }
- EDIMLColumn OrderType { Attribute: OrderType ValueType: String }
- EDIMLColumn Price { Attribute: Price ValueType: Real }
- EDIMLColumn PriorityName { Attribute: PriorityName ValueType: String }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- EDIMLColumn Quantity { Attribute: Quantity ValueType: Real }
- EDIMLColumn SalesSegmentName { Attribute: SalesSegmentName ValueType: String }
- EDIMLColumn StockPointID { Attribute: StockPointID ValueType: String }
- EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
- }
- }
- EDIODBCLink.Source MID_CUSTOMERORDER
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_CUSTOMERORDER
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="TIANMA"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn BUSINESSTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn CURRENCYID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn CUSTOMER
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn CUSTOMERID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ISAVAILABLE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORDERDATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn ORDERID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORDERLINEID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORDERTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRICE
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn PRIORITYNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn QUANTITY
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn SALESEGMENTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn STOCKINGPOINTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn UNITOFMEASURENAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationCustomerOrder
- {
- EDITableTransformation
- {
- InputTable: MID_CUSTOMERORDER
- OutputTable: MappingCustomerOrder
- EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
- EDIColumnMatch { InputColumn: CURRENCYID OutputColumn: CurrencyID }
- EDIColumnMatch { InputColumn: CUSTOMER OutputColumn: Customer }
- EDIColumnMatch { InputColumn: CUSTOMERID OutputColumn: CustomerID }
- EDIColumnMatch { InputColumn: ID OutputColumn: ID }
- EDIColumnMatch { InputColumn: ISAVAILABLE OutputColumn: IsAvailable }
- EDIColumnMatch
- {
- InputColumn: ORDERDATE
- OutputColumn: OrderDate
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: ORDERID OutputColumn: OrderID }
- EDIColumnMatch { InputColumn: ORDERLINEID OutputColumn: OrderLineID }
- EDIColumnMatch { InputColumn: ORDERTYPE OutputColumn: OrderType }
- EDIColumnMatch { InputColumn: PRICE OutputColumn: Price }
- EDIColumnMatch { InputColumn: PRIORITYNAME OutputColumn: PriorityName }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- EDIColumnMatch { InputColumn: QUANTITY OutputColumn: Quantity }
- EDIColumnMatch { InputColumn: SALESEGMENTNAME OutputColumn: SalesSegmentName }
- EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockPointID }
- EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_ExternalSupply.qbl b/_Main/BL/EDI/Broker_Broker_OTD_ExternalSupply.qbl
deleted file mode 100644
index 90a3bea..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_ExternalSupply.qbl
+++ /dev/null
@@ -1,152 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_ExternalSupply
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_ExternalSupply
- {
- EDIMLTable MappingExternalSupply
- {
- PrimaryKeyColumns: ID
- TargetType: MappingExternalSupply
- TypeIndex: MappingExternalSupplyTypeIndex
- EDIMLColumn Date { Attribute: Date ValueType: Date }
- EDIMLColumn Description { Attribute: Description ValueType: String }
- EDIMLColumn ID { Attribute: ID ValueType: String }
- EDIMLColumn ManufacturedDate { Attribute: ManufacturedDate ValueType: Date }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
- EDIMLColumn SupplyType { Attribute: SupplyType ValueType: String }
- EDIMLColumn UserQuantity { Attribute: UserQuantity ValueType: Real }
- }
- }
- EDIODBCLink.Source MID_ExternalSupply
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_EXTERNALSUPPLY
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="TIANMA"'
- PrimaryKeyColumns: ID
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn DATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn DESCRIPTION
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn MANUFACTUREDDATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn STOCKINGPOINTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn SUPPLYTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn USERQUANTITY
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationExternalSupply
- {
- EDITableTransformation
- {
- InputTable: MID_EXTERNALSUPPLY
- OutputTable: MappingExternalSupply
- EDIColumnMatch
- {
- InputColumn: DATE
- OutputColumn: Date
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: DESCRIPTION OutputColumn: Description }
- EDIColumnMatch { InputColumn: ID OutputColumn: ID }
- EDIColumnMatch
- {
- InputColumn: MANUFACTUREDDATE
- OutputColumn: ManufacturedDate
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
- EDIColumnMatch { InputColumn: SUPPLYTYPE OutputColumn: SupplyType }
- EDIColumnMatch
- {
- InputColumn: USERQUANTITY
- OutputColumn: UserQuantity
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <StringToReal xmlns="http://www.quintiq.com/GEB/StringToReal" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- <NumericFormatString>Standard</NumericFormatString>
- <LocaleString>Chinese (China)</LocaleString>
- <CurrencyString></CurrencyString>
- <CustomFormatString></CustomFormatString>
- </StringToReal>
- *]
- }
- }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Forecast.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Forecast.qbl
deleted file mode 100644
index 6b4a67f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Forecast.qbl
+++ /dev/null
@@ -1,158 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Forecast
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_Forecast
- {
- EDIMLTable MappingForecast
- {
- PrimaryKeyColumns: ID
- TargetType: MappingForecast
- TypeIndex: MappingForecastTypeIndex
- EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
- EDIMLColumn CurrencyID { Attribute: CurrencyID ValueType: String }
- EDIMLColumn EndDate { Attribute: EndDate ValueType: Date }
- EDIMLColumn ID { Attribute: ID ValueType: String }
- EDIMLColumn Price { Attribute: Price ValueType: Real }
- EDIMLColumn PriorityName { Attribute: PriorityName ValueType: String }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- EDIMLColumn Quantity { Attribute: Quantity ValueType: Real }
- EDIMLColumn SalesSegmentName { Attribute: SalesSegmentName ValueType: String }
- EDIMLColumn StartDate { Attribute: StartDate ValueType: Date }
- EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
- EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
- }
- }
- EDIODBCLink.Source MID_FORECAST
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_FORECAST
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="YUXTEST"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn BUSINESSTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn CURRENCYID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ENDDATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn ID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRICE
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn PRIORITYNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn QUANTITY
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn SALESEGMENTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn STARTDATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn STOCKINGPOINTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn UNITOFMEASURENAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationForecast
- {
- EDITableTransformation
- {
- InputTable: MID_FORECAST
- OutputTable: MappingForecast
- EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
- EDIColumnMatch { InputColumn: CURRENCYID OutputColumn: CurrencyID }
- EDIColumnMatch
- {
- InputColumn: ENDDATE
- OutputColumn: EndDate
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: ID OutputColumn: ID }
- EDIColumnMatch { InputColumn: PRICE OutputColumn: Price }
- EDIColumnMatch { InputColumn: PRIORITYNAME OutputColumn: PriorityName }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- EDIColumnMatch { InputColumn: QUANTITY OutputColumn: Quantity }
- EDIColumnMatch { InputColumn: SALESEGMENTNAME OutputColumn: SalesSegmentName }
- EDIColumnMatch
- {
- InputColumn: STARTDATE
- OutputColumn: StartDate
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
- EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_InventoryCost.qbl b/_Main/BL/EDI/Broker_Broker_OTD_InventoryCost.qbl
deleted file mode 100644
index b332e9d..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_InventoryCost.qbl
+++ /dev/null
@@ -1,106 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_InventoryCost
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_InventoryCost
- {
- EDIMLTable MappingInventoryValueAndCost
- {
- PrimaryKeyColumns: ID
- TargetType: MappingInventoryValueAndCost
- TypeIndex: MappingInventoryCostTypeIndex
- EDIMLColumn AccountName { Attribute: AccountName ValueType: String }
- EDIMLColumn Cost { Attribute: Cost ValueType: Real }
- EDIMLColumn CostDriver { Attribute: CostDriver ValueType: String }
- EDIMLColumn ID { Attribute: ID ValueType: String }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- EDIMLColumn Start { Attribute: Start ValueType: Date }
- EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
- }
- }
- EDIODBCLink.Source MID_INVENTORYCOST
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_INVENTORYCOST
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="YUXTEST"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn ACCOUNTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COST
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn COSTDRIVER
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn START
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn STOCKINGPOINTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationInventoryCost
- {
- EDITableTransformation
- {
- InputTable: MID_INVENTORYCOST
- OutputTable: MappingInventoryValueAndCost
- EDIColumnMatch { InputColumn: ACCOUNTNAME OutputColumn: AccountName }
- EDIColumnMatch { InputColumn: COST OutputColumn: Cost }
- EDIColumnMatch { InputColumn: COSTDRIVER OutputColumn: CostDriver }
- EDIColumnMatch { InputColumn: ID OutputColumn: ID }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- EDIColumnMatch
- {
- InputColumn: START
- OutputColumn: Start
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Operation.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Operation.qbl
deleted file mode 100644
index e269f2f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Operation.qbl
+++ /dev/null
@@ -1,200 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Operation
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_Operation
- {
- EDIMLTable MappingOperation
- {
- PrimaryKeyColumns: BusinessType
- PrimaryKeyColumns: Line
- PrimaryKeyColumns: OrganCode
- PrimaryKeyColumns: PlantName
- PrimaryKeyColumns: ProcessSection
- PrimaryKeyColumns: ProductID
- PrimaryKeyColumns: SequenceNumber
- TargetType: MappingOperation
- TypeIndex: MappingOperationTypeIndex
- EDIMLColumn ActualCapacity { Attribute: ActualCapacity ValueType: Real }
- EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
- EDIMLColumn Line { Attribute: Line ValueType: String }
- EDIMLColumn MaximumQuantity { Attribute: MaximumQuantity ValueType: Number }
- EDIMLColumn MinimumQuantity { Attribute: MinimumQuantity ValueType: Number }
- EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
- EDIMLColumn OrganName { Attribute: OrganName ValueType: String }
- EDIMLColumn PlantName { Attribute: PlantName ValueType: String }
- EDIMLColumn ProcessSection { Attribute: ProcessSection ValueType: String }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- EDIMLColumn SequenceNumber { Attribute: SequenceNumber ValueType: Number }
- EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
- EDIMLColumn UserLeadTime { Attribute: UserLeadTime ValueType: Real }
- }
- }
- EDIODBCLink.Source MID_OPERATION
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_OPERATION
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="TIANMA"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn ACTUALCAPACITY
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn BUSINESSTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn LINE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn MAXIMUMQUANTITY
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn MINIMUMQUANTITY
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORGANCODE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORGANNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PLANTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PROCESSSECTION
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn SEQUENCENUMBER
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn UNITOFMEASURENAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn USERLEADTIME
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- }
- }
- EDITransformation.Transformation TransformationOperation
- {
- EDITableTransformation
- {
- InputTable: MID_OPERATION
- OutputTable: MappingOperation
- EDIColumnMatch { InputColumn: ACTUALCAPACITY OutputColumn: ActualCapacity }
- EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
- EDIColumnMatch { InputColumn: LINE OutputColumn: Line }
- EDIColumnMatch
- {
- InputColumn: MAXIMUMQUANTITY
- OutputColumn: MaximumQuantity
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- <NumericFormatString>Standard</NumericFormatString>
- <LocaleString>Chinese (China)</LocaleString>
- <CurrencyString></CurrencyString>
- <CustomFormatString></CustomFormatString>
- </StringToNumber>
- *]
- }
- }
- EDIColumnMatch
- {
- InputColumn: MINIMUMQUANTITY
- OutputColumn: MinimumQuantity
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- <NumericFormatString>Standard</NumericFormatString>
- <LocaleString>Chinese (China)</LocaleString>
- <CurrencyString></CurrencyString>
- <CustomFormatString></CustomFormatString>
- </StringToNumber>
- *]
- }
- }
- EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
- EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
- EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
- EDIColumnMatch { InputColumn: PROCESSSECTION OutputColumn: ProcessSection }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- EDIColumnMatch
- {
- InputColumn: SEQUENCENUMBER
- OutputColumn: SequenceNumber
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- <NumericFormatString>Standard</NumericFormatString>
- <LocaleString>Chinese (China)</LocaleString>
- <CurrencyString></CurrencyString>
- <CustomFormatString></CustomFormatString>
- </StringToNumber>
- *]
- }
- }
- EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName }
- EDIColumnMatch { InputColumn: USERLEADTIME OutputColumn: UserLeadTime }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_OperationCost.qbl b/_Main/BL/EDI/Broker_Broker_OTD_OperationCost.qbl
deleted file mode 100644
index e60201f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_OperationCost.qbl
+++ /dev/null
@@ -1,141 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_OperationCost
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_MappingOperationCost
- {
- EDIMLTable MappingOperationCost
- {
- PrimaryKeyColumns: ID
- TargetType: MappingOperationCost
- TypeIndex: MappingOperationCostTypeIndex
- EDIMLColumn AccountName { Attribute: AccountName ValueType: String }
- EDIMLColumn Cost { Attribute: Cost ValueType: Real }
- EDIMLColumn CostDriver { Attribute: CostDriver ValueType: String }
- EDIMLColumn ID { Attribute: ID ValueType: String }
- EDIMLColumn LengthOfTime { Attribute: LengthOfTime ValueType: Number }
- EDIMLColumn OrgCode { Attribute: OrgCode ValueType: String }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- EDIMLColumn Start { Attribute: Start ValueType: Date }
- EDIMLColumn TimeUnit { Attribute: TimeUnit ValueType: String }
- }
- }
- EDIODBCLink.Source MID_OPERATIONCOST
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_OPERATIONCOST
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="TIANMA"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn ACCOUNTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COST
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn COSTDRIVER
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn LENGTHOFTIME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORGCODE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn START
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn TIMEUNIT
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationOperationCost
- {
- EDITableTransformation
- {
- InputTable: MID_OPERATIONCOST
- OutputTable: MappingOperationCost
- EDIColumnMatch { InputColumn: ACCOUNTNAME OutputColumn: AccountName }
- EDIColumnMatch { InputColumn: COST OutputColumn: Cost }
- EDIColumnMatch { InputColumn: COSTDRIVER OutputColumn: CostDriver }
- EDIColumnMatch { InputColumn: ID OutputColumn: ID }
- EDIColumnMatch
- {
- InputColumn: LENGTHOFTIME
- OutputColumn: LengthOfTime
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- <NumericFormatString>Standard</NumericFormatString>
- <LocaleString>Chinese (China)</LocaleString>
- <CurrencyString></CurrencyString>
- <CustomFormatString></CustomFormatString>
- </StringToNumber>
- *]
- }
- }
- EDIColumnMatch { InputColumn: ORGCODE OutputColumn: OrgCode }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- EDIColumnMatch
- {
- InputColumn: START
- OutputColumn: Start
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: TIMEUNIT OutputColumn: TimeUnit }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl
deleted file mode 100644
index 7bcabef..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Product.qbl
+++ /dev/null
@@ -1,144 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Product
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_MappingProduct
- {
- EDIMLTable MappingProduct
- {
- PrimaryKeyColumns: BusinessType
- PrimaryKeyColumns: ID
- TargetType: MappingProduct
- TypeIndex: MappingProductTypeIndex
- EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
- EDIMLColumn CommonBusiness { Attribute: CommonBusiness ValueType: String }
- EDIMLColumn EndDate { Attribute: EndDate ValueType: Date }
- EDIMLColumn ID { Attribute: ID ValueType: String }
- EDIMLColumn IsCommon { Attribute: IsCommon ValueType: Boolean }
- EDIMLColumn KeyProduct { Attribute: KeyProduct ValueType: Boolean }
- EDIMLColumn Name { Attribute: Name ValueType: String }
- EDIMLColumn Notes { Attribute: Notes ValueType: String }
- EDIMLColumn ProductMajorType { Attribute: ProductMajorType ValueType: String }
- EDIMLColumn ProductSubclassType { Attribute: ProductSubclassType ValueType: String }
- EDIMLColumn ShelfLife { Attribute: ShelfLife ValueType: Real }
- EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
- }
- }
- EDIODBCLink.Source MID_PRODUCT
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_PRODUCT
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="TIANMA"'
- PrimaryKeyColumns: BUSINESSTYPE
- PrimaryKeyColumns: ID
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn BUSINESSTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn COMMONBUSINESS
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ENDDATE
- {
- OthersMayUpdateColumn: true
- ValueType: DateTime
- }
- EDIODBCLinkColumn ID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ISCOMMON
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn KEYPRODUCT
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn NAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn NOTE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTMAJORTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTSUBCLASSTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn SHELFLIFE
- {
- OthersMayUpdateColumn: true
- ValueType: Real
- }
- EDIODBCLinkColumn UNITOFMEAURENAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationProduct
- {
- EDITableTransformation
- {
- InputTable: MID_PRODUCT
- OutputTable: MappingProduct
- EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
- EDIColumnMatch { InputColumn: COMMONBUSINESS OutputColumn: CommonBusiness }
- EDIColumnMatch
- {
- InputColumn: ENDDATE
- OutputColumn: EndDate
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- </DateTimeToDate>
- *]
- }
- }
- EDIColumnMatch { InputColumn: ID OutputColumn: ID }
- EDIColumnMatch { InputColumn: ISCOMMON OutputColumn: IsCommon }
- EDIColumnMatch { InputColumn: KEYPRODUCT OutputColumn: KeyProduct }
- EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
- EDIColumnMatch { InputColumn: NOTE OutputColumn: Notes }
- EDIColumnMatch { InputColumn: PRODUCTMAJORTYPE OutputColumn: ProductMajorType }
- EDIColumnMatch { InputColumn: PRODUCTSUBCLASSTYPE OutputColumn: ProductSubclassType }
- EDIColumnMatch { InputColumn: SHELFLIFE OutputColumn: ShelfLife }
- EDIColumnMatch { InputColumn: UNITOFMEAURENAME OutputColumn: UnitOfMeasureName }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_ProductInLane.qbl b/_Main/BL/EDI/Broker_Broker_OTD_ProductInLane.qbl
deleted file mode 100644
index b523027..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_ProductInLane.qbl
+++ /dev/null
@@ -1,57 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_ProductInLane
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_MappingProductInLane
- {
- EDIMLTable MappingProductInLane
- {
- PrimaryKeyColumns: LineID
- PrimaryKeyColumns: ProductID
- TargetType: MappingProductInLane
- TypeIndex: MappingProductInLineTypeIndex
- EDIMLColumn LineID { Attribute: LineID ValueType: String }
- EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
- }
- }
- EDIODBCLink.Source MID_PRODUCTINLINES
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_PRODUCTINLINES
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="OTD"'
- PrimaryKeyColumns: LINEID
- PrimaryKeyColumns: PRODUCTID
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn LINEID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PRODUCTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationProductInLane
- {
- EDITableTransformation
- {
- InputTable: MID_PRODUCTINLINES
- OutputTable: MappingProductInLane
- EDIColumnMatch { InputColumn: LINEID OutputColumn: LineID }
- EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_SalesSegment.qbl b/_Main/BL/EDI/Broker_Broker_OTD_SalesSegment.qbl
deleted file mode 100644
index 6176047..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_SalesSegment.qbl
+++ /dev/null
@@ -1,92 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_SalesSegment
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_SalesSegment
- {
- EDIMLTable MappingSalesSegment
- {
- PrimaryKeyColumns: BusinessType
- PrimaryKeyColumns: Name
- TargetType: MappingSalesSegment
- TypeIndex: MappingSalesSegmentTypeIndex
- EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
- EDIMLColumn DisplayIndex { Attribute: DisplayIndex ValueType: Number }
- EDIMLColumn Name { Attribute: Name ValueType: String }
- EDIMLColumn ParentName { Attribute: ParentName ValueType: String }
- }
- }
- EDIODBCLink.Source MID_SALESSEGMENT
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_SALESSEGMENT
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="YUXTEST"'
- PrimaryKeyColumns: BUSINESSTYPE
- PrimaryKeyColumns: NAME
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn BUSINESSTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn DISPLAYINDEX
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn NAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PARENTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationSalesSegment
- {
- EDITableTransformation
- {
- InputTable: MID_SALESSEGMENT
- OutputTable: MappingSalesSegment
- EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
- EDIColumnMatch
- {
- InputColumn: DISPLAYINDEX
- OutputColumn: DisplayIndex
- Converter
- {
- XMLDefinition:
- [*
- <?xml version="1.0" encoding="UTF-16"?>
- <StringToNumber xmlns="http://www.quintiq.com/GEB/StringToNumber" Key="@1">
- <IsStandard>true</IsStandard>
- <IsISO>false</IsISO>
- <IsCustom>false</IsCustom>
- <ConversionType>0</ConversionType>
- <NumericFormatString>Standard</NumericFormatString>
- <LocaleString>Chinese (China)</LocaleString>
- <CurrencyString></CurrencyString>
- <CustomFormatString></CustomFormatString>
- </StringToNumber>
- *]
- }
- }
- EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
- EDIColumnMatch { InputColumn: PARENTNAME OutputColumn: ParentName }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_Unit.qbl b/_Main/BL/EDI/Broker_Broker_OTD_Unit.qbl
deleted file mode 100644
index 80cde4f..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_Unit.qbl
+++ /dev/null
@@ -1,85 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_Unit
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_Unit
- {
- EDIMLTable MappingUnit
- {
- PrimaryKeyColumns: EquipmentID
- PrimaryKeyColumns: OperationType
- PrimaryKeyColumns: OrganCode
- PrimaryKeyColumns: PlantName
- TargetType: MappingUnit
- TypeIndex: MappingUnitTypeIndex
- EDIMLColumn Equipment { Attribute: Equipment ValueType: String }
- EDIMLColumn EquipmentID { Attribute: EquipmentID ValueType: String }
- EDIMLColumn OperationType { Attribute: OperationType ValueType: String }
- EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
- EDIMLColumn OrganName { Attribute: OrganName ValueType: String }
- EDIMLColumn PlantName { Attribute: PlantName ValueType: String }
- }
- }
- EDIODBCLink.Source MID_UNIT
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_UNIT
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="OTD"'
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn EQUIPMENT
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn EQUIPMENTID
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn OPERATIONTYPE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORGANCODE
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn ORGANNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn PLANTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationUnit
- {
- EDITableTransformation
- {
- InputTable: MID_UNIT
- OutputTable: MappingUnit
- EDIColumnMatch { InputColumn: EQUIPMENT OutputColumn: Equipment }
- EDIColumnMatch { InputColumn: EQUIPMENTID OutputColumn: EquipmentID }
- EDIColumnMatch { InputColumn: OPERATIONTYPE OutputColumn: OperationType }
- EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
- EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
- EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_UnitOfMeasure.qbl b/_Main/BL/EDI/Broker_Broker_OTD_UnitOfMeasure.qbl
deleted file mode 100644
index 0ece78e..0000000
--- a/_Main/BL/EDI/Broker_Broker_OTD_UnitOfMeasure.qbl
+++ /dev/null
@@ -1,55 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-EDIBroker Broker_OTD_UnitOfMeasure
-{
- MDSDefinition: MacroPlan
- TimeZone: 'ACT'
- UseOSTimeZone: false
- EDIModelLink.Destination Des_UnitOfMeasure
- {
- EDIMLTable MappingUnitOfMeasure
- {
- PrimaryKeyColumns: Name
- TargetType: MappingUnitOfMeasure
- TypeIndex: MappingUnitOfMeasureTypeIndex
- EDIMLColumn IsDefault { Attribute: IsDefault ValueType: Boolean }
- EDIMLColumn Name { Attribute: Name ValueType: String }
- }
- }
- EDIODBCLink.Source MID_UnitOfMeasure
- {
- DataIntegrityStrategy: 'Disabled'
- SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
- EDIODBCLinkTable MID_UNITOFMEASURES
- {
- OthersMayCreateTable: true
- OthersMayDeleteRow: true
- OthersMayDropTable: true
- OthersMayFlushTable: true
- OthersMayInsertRow: true
- Parameters: '/owner="YUXTEST"'
- PrimaryKeyColumns: NAME
- RecordModificationHintStrategy: 'None'
- EDIODBCLinkColumn ISDEFAULT
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn NAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- }
- }
- EDITransformation.Transformation TransformationUnitOfMeasure
- {
- EDITableTransformation
- {
- InputTable: MID_UNITOFMEASURES
- OutputTable: MappingUnitOfMeasure
- EDIColumnMatch { InputColumn: ISDEFAULT OutputColumn: IsDefault }
- EDIColumnMatch { InputColumn: NAME OutputColumn: Name }
- }
- }
-}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_AnnualBudgetData.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_AnnualBudgetData.qbl
index a2e490d..17c0b8c 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_AnnualBudgetData.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_AnnualBudgetData.qbl
@@ -77,7 +77,7 @@
OthersMayDropTable: true
OthersMayFlushTable: true
OthersMayInsertRow: true
- Parameters: '/owner="YUXTEST"'
+ Parameters: '/owner="OTD"'
RecordModificationHintStrategy: 'None'
EDIODBCLinkColumn BUSINESSSORT
{
@@ -304,11 +304,6 @@
OthersMayUpdateColumn: true
ValueType: String
}
- EDIODBCLinkColumn PLANTNAME
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
EDIODBCLinkColumn PRODUCTID
{
OthersMayUpdateColumn: true
@@ -319,17 +314,67 @@
OthersMayUpdateColumn: true
ValueType: String
}
- EDIODBCLinkColumn RESOLUTIONRATIO
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
- EDIODBCLinkColumn SHIPPINGFORM
- {
- OthersMayUpdateColumn: true
- ValueType: String
- }
EDIODBCLinkColumn YEARNO
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD1
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD10
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD11
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD12
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD2
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD3
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD4
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD5
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD6
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD7
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD8
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn YIELD9
{
OthersMayUpdateColumn: true
ValueType: String
@@ -387,11 +432,8 @@
EDIColumnMatch { InputColumn: MONTHLYSHEETCAPACITY9 OutputColumn: MonthlySheetCapacity9 }
EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
- EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
EDIColumnMatch { InputColumn: PRODUCTLINEANDSPECIFICATION OutputColumn: ProductLineAndSpecification }
- EDIColumnMatch { InputColumn: RESOLUTIONRATIO OutputColumn: ResolutionRatio }
- EDIColumnMatch { InputColumn: SHIPPINGFORM OutputColumn: ShippingForm }
EDIColumnMatch { InputColumn: YEARNO OutputColumn: YearNo }
}
}
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
index 571fce9..f201682 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CAR_Export.qbl
@@ -2,7 +2,7 @@
#parent: #root
EDIBroker GlobalOTDTable_CAR_Export
{
- MDSDefinition: GlobalOTDTable
+ MDSDefinition: GlobalOTDSOP
TimeZone: 'ACT'
UseOSTimeZone: false
EDIModelLink.Source Source13
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl
index c405497..c0a1573 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl
@@ -54,6 +54,10 @@
OthersMayUpdateColumn: true
ValueType: String
}
+ EDIODBCLinkColumn CHECKMSG
+ {
+ ValueType: String
+ }
EDIODBCLinkColumn CURRENCYID
{
OthersMayUpdateColumn: true
@@ -79,6 +83,14 @@
OthersMayUpdateColumn: true
ValueType: String
}
+ EDIODBCLinkColumn ISCHECKED
+ {
+ ValueType: Number
+ }
+ EDIODBCLinkColumn ISPASS
+ {
+ ValueType: Number
+ }
EDIODBCLinkColumn ORDERDATE
{
OthersMayUpdateColumn: true
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl
index 5d2e4f1..785463b 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_Forecast.qbl
@@ -18,9 +18,12 @@
EDIMLColumn ID { Attribute: ID ValueType: String }
EDIMLColumn Price { Attribute: Price ValueType: Real }
EDIMLColumn PriorityName { Attribute: PriorityName ValueType: String }
+ EDIMLColumn ProductGrade { Attribute: ProductGrade ValueType: String }
EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
EDIMLColumn Quantity { Attribute: Quantity ValueType: Real }
EDIMLColumn SalesSegmentName { Attribute: SalesSegmentName ValueType: String }
+ EDIMLColumn SegmentPriority { Attribute: SegmentPriority ValueType: String }
+ EDIMLColumn SheetProfitability { Attribute: SheetProfitability ValueType: String }
EDIMLColumn StartDate { Attribute: StartDate ValueType: Date }
EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String }
@@ -45,6 +48,10 @@
OthersMayUpdateColumn: true
ValueType: String
}
+ EDIODBCLinkColumn CHECKMSG
+ {
+ ValueType: String
+ }
EDIODBCLinkColumn CURRENCYID
{
OthersMayUpdateColumn: true
@@ -59,6 +66,14 @@
{
OthersMayUpdateColumn: true
ValueType: String
+ }
+ EDIODBCLinkColumn ISCHECKED
+ {
+ ValueType: Number
+ }
+ EDIODBCLinkColumn ISPASS
+ {
+ ValueType: Number
}
EDIODBCLinkColumn PRICE
{
@@ -146,9 +161,12 @@
EDIColumnMatch { InputColumn: ID OutputColumn: ID }
EDIColumnMatch { InputColumn: PRICE OutputColumn: Price }
EDIColumnMatch { InputColumn: PRIORITYNAME OutputColumn: PriorityName }
+ EDIColumnMatch { InputColumn: PRODUCTGRADE OutputColumn: ProductGrade }
EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
EDIColumnMatch { InputColumn: QUANTITY OutputColumn: Quantity }
EDIColumnMatch { InputColumn: SALESEGMENTNAME OutputColumn: SalesSegmentName }
+ EDIColumnMatch { InputColumn: SEGMENTPRIORITY OutputColumn: SegmentPriority }
+ EDIColumnMatch { InputColumn: SHEETPROFITABILITY OutputColumn: SheetProfitability }
EDIColumnMatch
{
InputColumn: STARTDATE
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl
index 0501f22..8439598 100644
--- a/_Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_Operation.qbl
@@ -20,10 +20,12 @@
TypeIndex: GlobalOTDTable_OperationTypeIndex
EDIMLColumn ActualCapacity { Attribute: ActualCapacity ValueType: Real }
EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String }
+ EDIMLColumn DestinationOrganizationId { Attribute: DestinationOrganizationId ValueType: String }
EDIMLColumn Line { Attribute: Line ValueType: String }
EDIMLColumn MaximumQuantity { Attribute: MaximumQuantity ValueType: Number }
EDIMLColumn MinimumQuantity { Attribute: MinimumQuantity ValueType: Number }
EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
+ EDIMLColumn OrganId { Attribute: OrganId ValueType: String }
EDIMLColumn OrganName { Attribute: OrganName ValueType: String }
EDIMLColumn PlantName { Attribute: PlantName ValueType: String }
EDIMLColumn ProcessSection { Attribute: ProcessSection ValueType: String }
@@ -56,6 +58,11 @@
OthersMayUpdateColumn: true
ValueType: String
}
+ EDIODBCLinkColumn DESTINATIONORGANIZATIONID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
EDIODBCLinkColumn LINE
{
OthersMayUpdateColumn: true
@@ -77,6 +84,11 @@
ValueType: String
}
EDIODBCLinkColumn ORGANNAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn ORGID
{
OthersMayUpdateColumn: true
ValueType: String
@@ -121,6 +133,7 @@
OutputTable: Global_MappingOperation
EDIColumnMatch { InputColumn: ACTUALCAPACITY OutputColumn: ActualCapacity }
EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType }
+ EDIColumnMatch { InputColumn: DESTINATIONORGANIZATIONID OutputColumn: DestinationOrganizationId }
EDIColumnMatch { InputColumn: LINE OutputColumn: Line }
EDIColumnMatch
{
@@ -168,6 +181,7 @@
}
EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
+ EDIColumnMatch { InputColumn: ORGID OutputColumn: OrganId }
EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
EDIColumnMatch { InputColumn: PROCESSSECTION OutputColumn: ProcessSection }
EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_SummaryOfInboundTransaction.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_SummaryOfInboundTransaction.qbl
new file mode 100644
index 0000000..90d1882
--- /dev/null
+++ b/_Main/BL/EDI/Broker_GlobalOTDTable_SummaryOfInboundTransaction.qbl
@@ -0,0 +1,127 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker GlobalOTDTable_SummaryOfInboundTransaction
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination Destination17
+ {
+ EDIMLTable Global_MappingSummaryOfInboundTransaction
+ {
+ PrimaryKeyColumns: Item
+ PrimaryKeyColumns: OrganCode
+ PrimaryKeyColumns: OrganName
+ PrimaryKeyColumns: PlantName
+ PrimaryKeyColumns: TransactionDate
+ TargetType: Global_MappingSummaryOfInboundTransaction
+ TypeIndex: Global_MappingSummaryOfInboundTransactionTypeIndex
+ EDIMLColumn Item { Attribute: Item ValueType: String }
+ EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String }
+ EDIMLColumn OrganName { Attribute: OrganName ValueType: String }
+ EDIMLColumn PlantName { Attribute: PlantName ValueType: String }
+ EDIMLColumn TransactionDate { Attribute: TransactionDate ValueType: Date }
+ EDIMLColumn TransactionQTY { Attribute: TransactionQTY ValueType: Real }
+ }
+ }
+ EDIODBCLink.Source Source16
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle'
+ EDIODBCLinkTable MID_ANNUAL_BUDGET_REVIEW
+ {
+ OthersMayCreateTable: true
+ OthersMayDeleteRow: true
+ OthersMayDropTable: true
+ OthersMayFlushTable: true
+ OthersMayInsertRow: true
+ Parameters: '/owner="OTD"'
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn ITEM
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn ORGANCODE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn ORGANNAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PLANTNAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn TRANSACTIONDATE
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn TRANSACTIONQTY
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation Transformation16
+ {
+ EDITableTransformation
+ {
+ InputTable: MID_ANNUAL_BUDGET_REVIEW
+ OutputTable: Global_MappingSummaryOfInboundTransaction
+ EDIColumnMatch { InputColumn: ITEM OutputColumn: Item }
+ EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode }
+ EDIColumnMatch { InputColumn: ORGANNAME OutputColumn: OrganName }
+ EDIColumnMatch { InputColumn: PLANTNAME OutputColumn: PlantName }
+ EDIColumnMatch
+ {
+ InputColumn: TRANSACTIONDATE
+ OutputColumn: TransactionDate
+ Converter
+ {
+ XMLDefinition:
+ [*
+ <?xml version="1.0" encoding="UTF-16"?>
+ <StringToDate xmlns="http://www.quintiq.com/GEB/StringToDate" Key="@1">
+ <IsStandard>true</IsStandard>
+ <IsISO>false</IsISO>
+ <IsCustom>false</IsCustom>
+ <ConversionType>0</ConversionType>
+ <DateFormatString>DefaultDate</DateFormatString>
+ <LocaleString>Chinese (China)</LocaleString>
+ <CustomFormatString></CustomFormatString>
+ </StringToDate>
+ *]
+ }
+ }
+ EDIColumnMatch
+ {
+ InputColumn: TRANSACTIONQTY
+ OutputColumn: TransactionQTY
+ Converter
+ {
+ XMLDefinition:
+ [*
+ <?xml version="1.0" encoding="UTF-16"?>
+ <StringToReal xmlns="http://www.quintiq.com/GEB/StringToReal" Key="@1">
+ <IsStandard>true</IsStandard>
+ <IsISO>false</IsISO>
+ <IsCustom>false</IsCustom>
+ <ConversionType>0</ConversionType>
+ <NumericFormatString>Standard</NumericFormatString>
+ <LocaleString>Chinese (China)</LocaleString>
+ <CurrencyString></CurrencyString>
+ <CustomFormatString></CustomFormatString>
+ </StringToReal>
+ *]
+ }
+ }
+ }
+ }
+}
diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeRunStatus_GlobalOTDSOP_GlobalOTDSOP_CapacityAnd.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeRunStatus_GlobalOTDSOP_GlobalOTDSOP_CapacityAnd.qbl
new file mode 100644
index 0000000..8f4f50d
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeRunStatus_GlobalOTDSOP_GlobalOTDSOP_CapacityAnd.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAndSaleBudgeRunStatus_GlobalOTDSOP_GlobalOTDSOP_CapacityAndSaleBudgeRunStatus
+{
+ #keys: '1[414702.1.385990039]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDSOP
+ {
+ #keys: '3[414702.1.385990041][414702.1.385990040][414702.1.385990042]'
+ Cardinality: '0to1'
+ ObjectDefinition: CapacityAndSaleBudgeRunStatus
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide CapacityAndSaleBudgeRunStatus
+ {
+ #keys: '3[414702.1.385990044][414702.1.385990043][414702.1.385990045]'
+ Cardinality: '0to1'
+ ObjectDefinition: GlobalOTDSOP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_DataInterfaceLog_GlobalOTDLog_GlobalOTDLog_DataInterfaceLog.qbl b/_Main/BL/Relations/Relation_DataInterfaceLog_GlobalOTDLog_GlobalOTDLog_DataInterfaceLog.qbl
new file mode 100644
index 0000000..04035ff
--- /dev/null
+++ b/_Main/BL/Relations/Relation_DataInterfaceLog_GlobalOTDLog_GlobalOTDLog_DataInterfaceLog.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation DataInterfaceLog_GlobalOTDLog_GlobalOTDLog_DataInterfaceLog
+{
+ #keys: '1[414702.1.240820064]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDLog
+ {
+ #keys: '3[414702.1.240820066][414702.1.240820065][414702.1.240820067]'
+ Cardinality: '0to1'
+ ObjectDefinition: DataInterfaceLog
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide DataInterfaceLog
+ {
+ #keys: '3[414702.1.240820069][414702.1.240820068][414702.1.240820070]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDLog
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl b/_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl
new file mode 100644
index 0000000..05afed6
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters
+{
+ #keys: '1[412960.0.369930029]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[412960.0.369930031][412960.0.369930030][412960.0.369930032]'
+ Cardinality: '0to1'
+ ObjectDefinition: GlobalParameters
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide GlobalParameters
+ {
+ #keys: '3[412960.0.369930034][412960.0.369930033][412960.0.369930035]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl
new file mode 100644
index 0000000..6828008
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612437]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.220612439][414702.1.220612438][414702.1.220612440]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_InventorySupplyCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_InventorySupplyCategory
+ {
+ #keys: '3[414702.1.220612442][414702.1.220612441][414702.1.220612443]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl
new file mode 100644
index 0000000..d5b1a83
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_InventorySupplyCategory_Global_MappingInventorySupply_Global_MappingInventorySupply_Global_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612411]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingInventorySupply
+ {
+ #keys: '3[414702.1.220612413][414702.1.220612412][414702.1.220612414]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_InventorySupplyCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_InventorySupplyCategory
+ {
+ #keys: '3[414702.1.220612416][414702.1.220612415][414702.1.220612417]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingInventorySupply
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl
new file mode 100644
index 0000000..76a7147
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612424]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.220612426][414702.1.220612425][414702.1.220612427]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_InventorySupplyCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_InventorySupplyCategory
+ {
+ #keys: '3[414702.1.220612429][414702.1.220612428][414702.1.220612430]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl
new file mode 100644
index 0000000..783e09e
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768030]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.226768032][414702.1.226768031][414702.1.226768033]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MAPISPIPCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_MAPISPIPCategory
+ {
+ #keys: '3[414702.1.226768035][414702.1.226768034][414702.1.226768036]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl
new file mode 100644
index 0000000..3952c31
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointInPeriod_Global_MappingActualProductInStockingPointInPeriod_Global_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768004]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingActualProductInStockingPointInPeriod
+ {
+ #keys: '3[414702.1.226768006][414702.1.226768005][414702.1.226768007]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_MAPISPIPCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_MAPISPIPCategory
+ {
+ #keys: '3[414702.1.226768009][414702.1.226768008][414702.1.226768010]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingActualProductInStockingPointInPeriod
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl
new file mode 100644
index 0000000..408356c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768017]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.226768019][414702.1.226768018][414702.1.226768020]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_MAPISPIPCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_MAPISPIPCategory
+ {
+ #keys: '3[414702.1.226768022][414702.1.226768021][414702.1.226768023]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MappingSummaryOfInboundTransaction_GlobalOTDTable_GlobalOTDT.qbl b/_Main/BL/Relations/Relation_Global_MappingSummaryOfInboundTransaction_GlobalOTDTable_GlobalOTDT.qbl
new file mode 100644
index 0000000..9ff8834
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MappingSummaryOfInboundTransaction_GlobalOTDTable_GlobalOTDT.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MappingSummaryOfInboundTransaction_GlobalOTDTable_GlobalOTDTable_Global_MappingSummaryOfInboundTransaction
+{
+ #keys: '1[414702.1.390426987]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.390426989][414702.1.390426988][414702.1.390426990]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingSummaryOfInboundTransaction
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_MappingSummaryOfInboundTransaction
+ {
+ #keys: '3[414702.1.390426992][414702.1.390426991][414702.1.390426993]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl b/_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl
new file mode 100644
index 0000000..b35e9f5
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_ProductCategory
+{
+ #keys: '1[414702.1.222746446]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.222746448][414702.1.222746447][414702.1.222746449]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_ProductCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductCategory
+ {
+ #keys: '3[414702.1.222746451][414702.1.222746450][414702.1.222746452]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl b/_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl
new file mode 100644
index 0000000..0be0b32
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_ProductCategory
+{
+ #keys: '1[414702.1.222746433]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.222746435][414702.1.222746434][414702.1.222746436]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_ProductCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductCategory
+ {
+ #keys: '3[414702.1.222746438][414702.1.222746437][414702.1.222746439]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl
new file mode 100644
index 0000000..399cbfd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556276]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.220556278][414702.1.220556277][414702.1.220556279]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_ProductInLineCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductInLineCategory
+ {
+ #keys: '3[414702.1.220556281][414702.1.220556280][414702.1.220556282]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl
new file mode 100644
index 0000000..f827bdb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductInLineCategory_Global_MappingProductInLane_Global_MappingProductInLane_Global_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556250]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProductInLane
+ {
+ #keys: '3[414702.1.220556252][414702.1.220556251][414702.1.220556253]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_ProductInLineCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductInLineCategory
+ {
+ #keys: '3[414702.1.220556255][414702.1.220556254][414702.1.220556256]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProductInLane
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl
new file mode 100644
index 0000000..bff781f
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductInLineCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556263]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.220556265][414702.1.220556264][414702.1.220556266]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_ProductInLineCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductInLineCategory
+ {
+ #keys: '3[414702.1.220556268][414702.1.220556267][414702.1.220556269]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl
new file mode 100644
index 0000000..5f4ae65
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Global_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718240]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.224718242][414702.1.224718241][414702.1.224718243]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_StockingPointCostCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_StockingPointCostCategory
+ {
+ #keys: '3[414702.1.224718245][414702.1.224718244][414702.1.224718246]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl
new file mode 100644
index 0000000..9a77d29
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718214]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.224718216][414702.1.224718215][414702.1.224718217]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_StockingPointCostCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_StockingPointCostCategory
+ {
+ #keys: '3[414702.1.224718219][414702.1.224718218][414702.1.224718220]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl
new file mode 100644
index 0000000..207890c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_StockingPointCostCategory_Global_MappingStockingPointCost_Global_MappingStockingPointCost_Global_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718227]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingStockingPointCost
+ {
+ #keys: '3[414702.1.224718229][414702.1.224718228][414702.1.224718230]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_StockingPointCostCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_StockingPointCostCategory
+ {
+ #keys: '3[414702.1.224718232][414702.1.224718231][414702.1.224718233]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingStockingPointCost
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder.qbl b/_Main/BL/Relations/Relation_HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder.qbl
deleted file mode 100644
index 3a7a8c1..0000000
--- a/_Main/BL/Relations/Relation_HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation HistoricalSalesOrder_MacroPlan_MacroPlan_HistoricalSalesOrder
-{
- #keys: '1[414382.0.385610086]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[414382.0.385610088][414382.0.385610087][414382.0.385610089]'
- Cardinality: '0to1'
- ObjectDefinition: HistoricalSalesOrder
- OwningSide: 'Reference'
- }
- RelationSide.RightSide HistoricalSalesOrder
- {
- #keys: '3[414382.0.385610091][414382.0.385610090][414382.0.385610092]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan.qbl b/_Main/BL/Relations/Relation_MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan.qbl
deleted file mode 100644
index 8f7d3ba..0000000
--- a/_Main/BL/Relations/Relation_MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MacroPlan_MappingActualPISPIP_MappingActualPISPIP_MacroPlan
-{
- #keys: '1[414480.0.61560199]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MappingActualPISPIP
- {
- #keys: '3[414480.0.61560201][414480.0.61560200][414480.0.61560202]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
- RelationSide.RightSide MacroPlan
- {
- #keys: '3[414480.0.61560204][414480.0.61560203][414480.0.61560205]'
- Cardinality: '0to1'
- ObjectDefinition: MappingActualPISPIP
- OwningSide: 'Reference'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan.qbl b/_Main/BL/Relations/Relation_MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan.qbl
deleted file mode 100644
index 606070c..0000000
--- a/_Main/BL/Relations/Relation_MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MacroPlan_MappingExternalSupply_MappingExternalSupply_MacroPlan
-{
- #keys: '1[414480.0.61581395]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MappingExternalSupply
- {
- #keys: '3[414480.0.61581397][414480.0.61581396][414480.0.61581398]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
- RelationSide.RightSide MacroPlan
- {
- #keys: '3[414480.0.61581400][414480.0.61581399][414480.0.61581401]'
- Cardinality: '0to1'
- ObjectDefinition: MappingExternalSupply
- OwningSide: 'Reference'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MacroPlan_MappingProduct_MappingProduct_MacroPlan.qbl b/_Main/BL/Relations/Relation_MacroPlan_MappingProduct_MappingProduct_MacroPlan.qbl
deleted file mode 100644
index f0b9f15..0000000
--- a/_Main/BL/Relations/Relation_MacroPlan_MappingProduct_MappingProduct_MacroPlan.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MacroPlan_MappingProduct_MappingProduct_MacroPlan
-{
- #keys: '1[414480.0.61560241]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MappingProduct
- {
- #keys: '3[414480.0.61560243][414480.0.61560242][414480.0.61560244]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
- RelationSide.RightSide MacroPlan
- {
- #keys: '3[414480.0.61560246][414480.0.61560245][414480.0.61560247]'
- Cardinality: '0to1'
- ObjectDefinition: MappingProduct
- OwningSide: 'Reference'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingBOM_MacroPlan_MacroPlan_MappingBOM.qbl b/_Main/BL/Relations/Relation_MappingBOM_MacroPlan_MacroPlan_MappingBOM.qbl
deleted file mode 100644
index 902d4e9..0000000
--- a/_Main/BL/Relations/Relation_MappingBOM_MacroPlan_MacroPlan_MappingBOM.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingBOM_MacroPlan_MacroPlan_MappingBOM
-{
- #keys: '1[412960.0.86935179]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[412960.0.86935181][412960.0.86935180][412960.0.86935182]'
- Cardinality: '0to1'
- ObjectDefinition: MappingBOM
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingBOM
- {
- #keys: '3[412960.0.86935184][412960.0.86935183][412960.0.86935185]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversi.qbl b/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversi.qbl
deleted file mode 100644
index a3c06fc..0000000
--- a/_Main/BL/Relations/Relation_MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversi.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingBaseConversionFactor_MacroPlan_MacroPlan_MappingBaseConversionFactor
-{
- #keys: '1[414384.0.583154683]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[414384.0.583154685][414384.0.583154684][414384.0.583154686]'
- Cardinality: '0to1'
- ObjectDefinition: MappingBaseConversionFactor
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingBaseConversionFactor
- {
- #keys: '3[414384.0.583154688][414384.0.583154687][414384.0.583154689]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder.qbl b/_Main/BL/Relations/Relation_MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder.qbl
deleted file mode 100644
index 203709b..0000000
--- a/_Main/BL/Relations/Relation_MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingCustomerOrder_MacroPlan_MacroPlan_MappingCustomerOrder
-{
- #keys: '1[414384.0.583154766]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[414384.0.583154768][414384.0.583154767][414384.0.583154769]'
- Cardinality: '0to1'
- ObjectDefinition: MappingCustomerOrder
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingCustomerOrder
- {
- #keys: '3[414384.0.583154771][414384.0.583154770][414384.0.583154772]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingForecast_MacroPlan_MacroPlan_MappingForecast.qbl b/_Main/BL/Relations/Relation_MappingForecast_MacroPlan_MacroPlan_MappingForecast.qbl
deleted file mode 100644
index e3bd43d..0000000
--- a/_Main/BL/Relations/Relation_MappingForecast_MacroPlan_MacroPlan_MappingForecast.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingForecast_MacroPlan_MacroPlan_MappingForecast
-{
- #keys: '1[414384.0.583160291]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[414384.0.583160293][414384.0.583160292][414384.0.583160294]'
- Cardinality: '0to1'
- ObjectDefinition: MappingForecast
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingForecast
- {
- #keys: '3[414384.0.583160296][414384.0.583160295][414384.0.583160297]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryVa.qbl b/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryVa.qbl
deleted file mode 100644
index f282c80..0000000
--- a/_Main/BL/Relations/Relation_MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryVa.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingInventoryValueAndCost_MacroPlan_MacroPlan_MappingInventoryValueAndCost
-{
- #keys: '1[414384.0.601560025]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[414384.0.601560027][414384.0.601560026][414384.0.601560028]'
- Cardinality: '0to1'
- ObjectDefinition: MappingInventoryValueAndCost
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingInventoryValueAndCost
- {
- #keys: '3[414384.0.601560030][414384.0.601560029][414384.0.601560031]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost.qbl b/_Main/BL/Relations/Relation_MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost.qbl
deleted file mode 100644
index 28c2cbe..0000000
--- a/_Main/BL/Relations/Relation_MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingOperationCost_MacroPlan_MacroPlan_MappingOperationCost
-{
- #keys: '1[412960.0.95000601]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[412960.0.95000603][412960.0.95000602][412960.0.95000604]'
- Cardinality: '0to1'
- ObjectDefinition: MappingOperationCost
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingOperationCost
- {
- #keys: '3[412960.0.95000606][412960.0.95000605][412960.0.95000607]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingOperation_MacroPlan_MacroPlan_MappingOperation.qbl b/_Main/BL/Relations/Relation_MappingOperation_MacroPlan_MacroPlan_MappingOperation.qbl
deleted file mode 100644
index 4e7f7bc..0000000
--- a/_Main/BL/Relations/Relation_MappingOperation_MacroPlan_MacroPlan_MappingOperation.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingOperation_MacroPlan_MacroPlan_MappingOperation
-{
- #keys: '1[412960.0.86990893]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[412960.0.86990895][412960.0.86990894][412960.0.86990896]'
- Cardinality: '0to1'
- ObjectDefinition: MappingOperation
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingOperation
- {
- #keys: '3[412960.0.86990898][412960.0.86990897][412960.0.86990899]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane.qbl b/_Main/BL/Relations/Relation_MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane.qbl
deleted file mode 100644
index 22712fa..0000000
--- a/_Main/BL/Relations/Relation_MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingProductInLane_MacroPlan_MacroPlan_MappingProductInLane
-{
- #keys: '1[412960.0.86844662]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[412960.0.86844664][412960.0.86844663][412960.0.86844665]'
- Cardinality: '0to1'
- ObjectDefinition: MappingProductInLane
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingProductInLane
- {
- #keys: '3[412960.0.86844667][412960.0.86844666][412960.0.86844668]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment.qbl b/_Main/BL/Relations/Relation_MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment.qbl
deleted file mode 100644
index 691032b..0000000
--- a/_Main/BL/Relations/Relation_MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingSalesSegment_MacroPlan_MacroPlan_MappingSalesSegment
-{
- #keys: '1[414384.0.583160113]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[414384.0.583160115][414384.0.583160114][414384.0.583160116]'
- Cardinality: '0to1'
- ObjectDefinition: MappingSalesSegment
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingSalesSegment
- {
- #keys: '3[414384.0.583160118][414384.0.583160117][414384.0.583160119]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure.qbl b/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure.qbl
deleted file mode 100644
index e01a2f2..0000000
--- a/_Main/BL/Relations/Relation_MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingUnitOfMeasure_MacroPlan_MacroPlan_MappingUnitOfMeasure
-{
- #keys: '1[414384.0.583160058]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[414384.0.583160060][414384.0.583160059][414384.0.583160061]'
- Cardinality: '0to1'
- ObjectDefinition: MappingUnitOfMeasure
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingUnitOfMeasure
- {
- #keys: '3[414384.0.583160063][414384.0.583160062][414384.0.583160064]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_MappingUnit_MacroPlan_MacroPlan_MappingUnit.qbl b/_Main/BL/Relations/Relation_MappingUnit_MacroPlan_MacroPlan_MappingUnit.qbl
deleted file mode 100644
index e226c90..0000000
--- a/_Main/BL/Relations/Relation_MappingUnit_MacroPlan_MacroPlan_MappingUnit.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation MappingUnit_MacroPlan_MacroPlan_MappingUnit
-{
- #keys: '1[412960.0.96453721]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide MacroPlan
- {
- #keys: '3[412960.0.96453723][412960.0.96453722][412960.0.96453724]'
- Cardinality: '0to1'
- ObjectDefinition: MappingUnit
- OwningSide: 'Reference'
- }
- RelationSide.RightSide MappingUnit
- {
- #keys: '3[412960.0.96453726][412960.0.96453725][412960.0.96453727]'
- Cardinality: '1toN'
- ObjectDefinition: MacroPlan
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorr.qbl b/_Main/BL/Relations/Relation_ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorr.qbl
new file mode 100644
index 0000000..58a68fb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorr.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ModulePanelCorrespondence_GlobalOTDSOP_GlobalOTDSOP_ModulePanelCorrespondence
+{
+ #keys: '1[414702.1.376546995]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDSOP
+ {
+ #keys: '3[414702.1.376546997][414702.1.376546996][414702.1.376546998]'
+ Cardinality: '0to1'
+ ObjectDefinition: ModulePanelCorrespondence
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide ModulePanelCorrespondence
+ {
+ #keys: '3[414702.1.376547000][414702.1.376546999][414702.1.376547001]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDSOP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module.qbl b/_Main/BL/Relations/Relation_ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module.qbl
new file mode 100644
index 0000000..c65eeaf
--- /dev/null
+++ b/_Main/BL/Relations/Relation_ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation ModulePanelCorrespondence_Panel_ModulePanelCorrespondence_Module
+{
+ #keys: '1[414702.1.376547033]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Panel
+ {
+ #keys: '3[414702.1.376547035][414702.1.376547034][414702.1.376547036]'
+ Cardinality: '1toN'
+ ObjectDefinition: ModulePanelCorrespondence
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Module
+ {
+ #keys: '3[414702.1.376547038][414702.1.376547037][414702.1.376547039]'
+ Cardinality: '0to1'
+ ObjectDefinition: ModulePanelCorrespondence
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl b/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..aabfffd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP_PeggingProductInSalesDemandBase
+{
+ #keys: '1[414702.1.290710058]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PeggingProduct_MP
+ {
+ #keys: '3[414702.1.290710060][414702.1.290710059][414702.1.290710061]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingProductInSalesDemandBase
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingProductInSalesDemandBase
+ {
+ #keys: '3[414702.1.290710063][414702.1.290710062][414702.1.290710064]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingProduct_MP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_M.qbl b/_Main/BL/Relations/Relation_PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_M.qbl
new file mode 100644
index 0000000..ad607ec
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_M.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingProductInStockingPoint_MP_PeggingProduct_MP_PeggingProduct_MP_PeggingProductInStockingPoint_MP
+{
+ #keys: '1[414702.1.364041917]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PeggingProduct_MP
+ {
+ #keys: '3[414702.1.364041919][414702.1.364041918][414702.1.364041920]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingProductInStockingPoint_MP
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingProductInStockingPoint_MP
+ {
+ #keys: '3[414702.1.364041922][414702.1.364041921][414702.1.364041923]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingProduct_MP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl b/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..17eff95
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP
+{
+ #keys: '1[414702.1.290710038]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDSOP
+ {
+ #keys: '3[414702.1.290710040][414702.1.290710039][414702.1.290710041]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingProduct_MP
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingProduct_MP
+ {
+ #keys: '3[414702.1.290710043][414702.1.290710042][414702.1.290710044]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDSOP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProduc.qbl b/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProduc.qbl
new file mode 100644
index 0000000..9853043
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProduc.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResultProductInStockingPoint_MP_AllChild_PeggingResultProductInStockingPoint_MP_AllParent
+{
+ #keys: '1[414702.1.364041995]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide AllChild
+ {
+ #keys: '3[414702.1.364041997][414702.1.364041996][414702.1.364041998]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResultProductInStockingPoint_MP
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide AllParent
+ {
+ #keys: '3[414702.1.364042000][414702.1.364041999][414702.1.364042001]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResultProductInStockingPoint_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductIn.qbl b/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductIn.qbl
new file mode 100644
index 0000000..dec1590
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductIn.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResultProductInStockingPoint_MP_Child_PeggingResultProductInStockingPoint_MP_Parent
+{
+ #keys: '1[414702.1.364041982]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Child
+ {
+ #keys: '3[414702.1.364041984][414702.1.364041983][414702.1.364041985]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResultProductInStockingPoint_MP
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Parent
+ {
+ #keys: '3[414702.1.364041987][414702.1.364041986][414702.1.364041988]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResultProductInStockingPoint_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoin.qbl b/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoin.qbl
new file mode 100644
index 0000000..5401191
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoin.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResultProductInStockingPoint_MP_PeggingProductInStockingPoint_MP_PeggingProductInStockingPoint_MP_PeggingResultProductInStockingPoint_MP
+{
+ #keys: '1[414702.1.364041967]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PeggingProductInStockingPoint_MP
+ {
+ #keys: '3[414702.1.364041969][414702.1.364041968][414702.1.364041970]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResultProductInStockingPoint_MP
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingResultProductInStockingPoint_MP
+ {
+ #keys: '3[414702.1.364041972][414702.1.364041971][414702.1.364041973]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingProductInStockingPoint_MP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl b/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl
new file mode 100644
index 0000000..485b308
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_AllChild_PeggingResult_AllParent
+{
+ #keys: '1[414702.1.294852003]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide AllChild
+ {
+ #keys: '3[414702.1.294852005][414702.1.294852004][414702.1.294852006]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide AllParent
+ {
+ #keys: '3[414702.1.294852008][414702.1.294852007][414702.1.294852009]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl b/_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl
new file mode 100644
index 0000000..edc59bb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_AllGroupChild_PeggingResult_AllGroupParent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_AllGroupChild_PeggingResult_AllGroupParent
+{
+ #keys: '1[414702.1.320753677]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide AllGroupChild
+ {
+ #keys: '3[414702.1.320753679][414702.1.320753678][414702.1.320753680]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide AllGroupParent
+ {
+ #keys: '3[414702.1.320753682][414702.1.320753681][414702.1.320753683]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl b/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl
new file mode 100644
index 0000000..c36e77b
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_Child_PeggingResult_Parent
+{
+ #keys: '1[414702.1.290710113]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Child
+ {
+ #keys: '3[414702.1.290710115][414702.1.290710114][414702.1.290710116]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Parent
+ {
+ #keys: '3[414702.1.290710118][414702.1.290710117][414702.1.290710119]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl b/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl
new file mode 100644
index 0000000..b399e75
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSalesDemandBase_PeggingResult
+{
+ #keys: '1[414702.1.290710098]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PeggingProductInSalesDemandBase
+ {
+ #keys: '3[414702.1.290710100][414702.1.290710099][414702.1.290710101]'
+ Cardinality: '0to1'
+ ObjectDefinition: PeggingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PeggingResult
+ {
+ #keys: '3[414702.1.290710103][414702.1.290710102][414702.1.290710104]'
+ Cardinality: '1toN'
+ ObjectDefinition: PeggingProductInSalesDemandBase
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PriorityFactorDetail_PriorityFactor_PriorityFactor_PriorityFactorDe.qbl b/_Main/BL/Relations/Relation_PriorityFactorDetail_PriorityFactor_PriorityFactor_PriorityFactorDe.qbl
new file mode 100644
index 0000000..5da1a69
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PriorityFactorDetail_PriorityFactor_PriorityFactor_PriorityFactorDe.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PriorityFactorDetail_PriorityFactor_PriorityFactor_PriorityFactorDetail
+{
+ #keys: '1[414382.0.444850082]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PriorityFactor
+ {
+ #keys: '3[414382.0.444850084][414382.0.444850083][414382.0.444850085]'
+ Cardinality: '0to1'
+ ObjectDefinition: PriorityFactorDetail
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PriorityFactorDetail
+ {
+ #keys: '3[414382.0.444850087][414382.0.444850086][414382.0.444850088]'
+ Cardinality: '1toN'
+ ObjectDefinition: PriorityFactor
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl b/_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl
deleted file mode 100644
index f58818b..0000000
--- a/_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorDetails
-{
- #keys: '1[414382.0.444850082]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide PriorityFactor
- {
- #keys: '3[414382.0.444850084][414382.0.444850083][414382.0.444850085]'
- Cardinality: '0to1'
- ObjectDefinition: PriorityFactorDetails
- OwningSide: 'Reference'
- }
- RelationSide.RightSide PriorityFactorDetails
- {
- #keys: '3[414382.0.444850087][414382.0.444850086][414382.0.444850088]'
- Cardinality: '1toN'
- ObjectDefinition: PriorityFactor
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_S_DT_CustomOrder_Child_S_DT_CustomOrder_Parent.qbl b/_Main/BL/Relations/Relation_S_DT_CustomOrder_Child_S_DT_CustomOrder_Parent.qbl
new file mode 100644
index 0000000..ba14057
--- /dev/null
+++ b/_Main/BL/Relations/Relation_S_DT_CustomOrder_Child_S_DT_CustomOrder_Parent.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation S_DT_CustomOrder_Child_S_DT_CustomOrder_Parent
+{
+ #keys: '1[414724.0.301487674]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Child
+ {
+ #keys: '3[414724.0.301487676][414724.0.301487675][414724.0.301487677]'
+ Cardinality: '0to1'
+ ObjectDefinition: S_DT_CustomOrder
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Parent
+ {
+ #keys: '3[414724.0.301487679][414724.0.301487678][414724.0.301487680]'
+ Cardinality: '1toN'
+ ObjectDefinition: S_DT_CustomOrder
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_S_DT_CustomOrder_MacroPlan_MacroPlan_S_DT_CustomOrder.qbl b/_Main/BL/Relations/Relation_S_DT_CustomOrder_MacroPlan_MacroPlan_S_DT_CustomOrder.qbl
new file mode 100644
index 0000000..1060e96
--- /dev/null
+++ b/_Main/BL/Relations/Relation_S_DT_CustomOrder_MacroPlan_MacroPlan_S_DT_CustomOrder.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation S_DT_CustomOrder_MacroPlan_MacroPlan_S_DT_CustomOrder
+{
+ #keys: '1[414724.0.292616032]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414724.0.292616034][414724.0.292616033][414724.0.292616035]'
+ Cardinality: '0to1'
+ ObjectDefinition: S_DT_CustomOrder
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide S_DT_CustomOrder
+ {
+ #keys: '3[414724.0.292616037][414724.0.292616036][414724.0.292616038]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_MacroPlan_MacroPlan_S_DT_OrderSpliteRow.qbl b/_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_MacroPlan_MacroPlan_S_DT_OrderSpliteRow.qbl
new file mode 100644
index 0000000..101f476
--- /dev/null
+++ b/_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_MacroPlan_MacroPlan_S_DT_OrderSpliteRow.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation S_DT_OrderSpliteRow_MacroPlan_MacroPlan_S_DT_OrderSpliteRow
+{
+ #keys: '1[414724.0.289871273]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414724.0.289871275][414724.0.289871274][414724.0.289871276]'
+ Cardinality: '0to1'
+ ObjectDefinition: S_DT_OrderSpliteRow
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide S_DT_OrderSpliteRow
+ {
+ #keys: '3[414724.0.289871278][414724.0.289871277][414724.0.289871279]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_S_DT_CustomOrder_S_DT_CustomOrder_S_DT_OrderSpl.qbl b/_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_S_DT_CustomOrder_S_DT_CustomOrder_S_DT_OrderSpl.qbl
new file mode 100644
index 0000000..673ec22
--- /dev/null
+++ b/_Main/BL/Relations/Relation_S_DT_OrderSpliteRow_S_DT_CustomOrder_S_DT_CustomOrder_S_DT_OrderSpl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation S_DT_OrderSpliteRow_S_DT_CustomOrder_S_DT_CustomOrder_S_DT_OrderSpliteRow
+{
+ #keys: '1[414724.0.292600485]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide S_DT_CustomOrder
+ {
+ #keys: '3[414724.0.292600487][414724.0.292600486][414724.0.292600488]'
+ Cardinality: '0to1'
+ ObjectDefinition: S_DT_OrderSpliteRow
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide S_DT_OrderSpliteRow
+ {
+ #keys: '3[414724.0.292600490][414724.0.292600489][414724.0.292600491]'
+ Cardinality: '1toN'
+ ObjectDefinition: S_DT_CustomOrder
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_S_DT_SpliteStruct_MacroPlan_MacroPlan_S_DT_SpliteStruct.qbl b/_Main/BL/Relations/Relation_S_DT_SpliteStruct_MacroPlan_MacroPlan_S_DT_SpliteStruct.qbl
new file mode 100644
index 0000000..71e9ae6
--- /dev/null
+++ b/_Main/BL/Relations/Relation_S_DT_SpliteStruct_MacroPlan_MacroPlan_S_DT_SpliteStruct.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation S_DT_SpliteStruct_MacroPlan_MacroPlan_S_DT_SpliteStruct
+{
+ #keys: '1[414724.0.291485612]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414724.0.291485614][414724.0.291485613][414724.0.291485615]'
+ Cardinality: '0to1'
+ ObjectDefinition: S_DT_SpliteStruct
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide S_DT_SpliteStruct
+ {
+ #keys: '3[414724.0.291485617][414724.0.291485616][414724.0.291485618]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_S_FunctionClass_MacroPlan_MacroPlan_S_FunctionClass.qbl b/_Main/BL/Relations/Relation_S_FunctionClass_MacroPlan_MacroPlan_S_FunctionClass.qbl
new file mode 100644
index 0000000..01a5c7d
--- /dev/null
+++ b/_Main/BL/Relations/Relation_S_FunctionClass_MacroPlan_MacroPlan_S_FunctionClass.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation S_FunctionClass_MacroPlan_MacroPlan_S_FunctionClass
+{
+ #keys: '1[414724.0.288796777]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414724.0.288796779][414724.0.288796778][414724.0.288796780]'
+ Cardinality: '0to1'
+ ObjectDefinition: S_FunctionClass
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide S_FunctionClass
+ {
+ #keys: '3[414724.0.288796782][414724.0.288796781][414724.0.288796783]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_SummaryOfInboundTransaction_GlobalOTDSOP_GlobalOTDSOP_SummaryOfInbo.qbl b/_Main/BL/Relations/Relation_SummaryOfInboundTransaction_GlobalOTDSOP_GlobalOTDSOP_SummaryOfInbo.qbl
new file mode 100644
index 0000000..b06730d
--- /dev/null
+++ b/_Main/BL/Relations/Relation_SummaryOfInboundTransaction_GlobalOTDSOP_GlobalOTDSOP_SummaryOfInbo.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation SummaryOfInboundTransaction_GlobalOTDSOP_GlobalOTDSOP_SummaryOfInboundTransaction
+{
+ #keys: '1[414702.1.391291474]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDSOP
+ {
+ #keys: '3[414702.1.391291476][414702.1.391291475][414702.1.391291477]'
+ Cardinality: '0to1'
+ ObjectDefinition: SummaryOfInboundTransaction
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide SummaryOfInboundTransaction
+ {
+ #keys: '3[414702.1.391291479][414702.1.391291478][414702.1.391291480]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDSOP
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl
index cd44e09..2e4ee74 100644
--- a/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_BaseConversionFactor/StaticMethod_CreateOrUpdate.qbl
@@ -26,6 +26,20 @@
if( productId <> "" ) {
product := Product_MP::FindById( macroPlan, productId );
}else{
+ // info( productId );
+ // cf := select( source,
+ // AsSourceUnitOfMeasure,
+ // cf,
+ // ( cf.TargetUnitOfMeasure() = target
+ // or cf.TargetUnitOfMeasure() = source )
+ // and cf.Product_MP() = product
+ // );
+ // info( isnull( cf ) );
+ // info( "sourceuomname: " + cf.astype( BaseConversionFactor ).SourceUnitOfMeasureName() );
+ // info( "targetuomname: " + target.Name() );
+ // info( "cf.targetuomname: " + cf.astype( BaseConversionFactor ).TargetUnitOfMeasureName() );
+ // info( "productid: " + guard( product.ID(), "" ) );
+ // info( "cf.product: " + cf.astype( BaseConversionFactor ).ProductID() );
result := BaseConversionFactor::CreateUpdate( source, target, factor, product, isEnable )
}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
index 14045dd..1b8028f 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Export.qbl
@@ -1,12 +1,12 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Export (
- GlobalOTDTable globalOTDTable
+ GlobalOTDSOP globalOTDSOP
) as BinaryValue
{
TextBody:
[*
- binaryData := globalOTDTable.GlobalOTDTable_CAR_Export().ExecuteToXLS( true );
+ binaryData := globalOTDSOP.GlobalOTDTable_CAR_Export().ExecuteToXLS( true );
return binaryData.AsBinaryValue();
*]
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl
new file mode 100644
index 0000000..ee9147b
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDSOP this,
+ String businessTypeOrPlaceOfProductionOfArray,
+ String timeStringAndScenarioName,
+ Real quantity
+)
+{
+ TextBody:
+ [*
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ BusinessTypeOrPlaceOfProductionOfArray := businessTypeOrPlaceOfProductionOfArray,
+ TimeStringAndScenarioName := timeStringAndScenarioName,
+ Quantity := quantity
+ );
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..b5c063f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateData.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ GlobalOTDSOP this,
+ MacroPlans macroPlans,
+ CapacityAndSaleBudgeCompareItemRows casbcirs,
+ String popoa,
+ String groupBy,
+ String saleOrCapacity,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ //info( "浜ц兘/閿�鍞锛�", saleOrCapacity, " 鏃堕棿鍒嗙粍锛�", groupBy, " 鍩哄湴/浜嬩笟閮細", popoa );
+
+ if ( groupBy = "骞�" ) {
+ CapacityAndSaleBudgeChartElement::CreateDataByYear( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months );
+ } else if ( groupBy = "鏈�" ) {
+ CapacityAndSaleBudgeChartElement::CreateDataByMonth( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months );
+ } else if ( groupBy = "瀛e害" ) {
+ CapacityAndSaleBudgeChartElement::CreateDataByQuarter( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months );
+ } else if ( groupBy = "鍗婂勾" ) {
+ CapacityAndSaleBudgeChartElement::CreateDataByHalfAYear( this, macroPlans, casbcirs, popoa, saleOrCapacity, years, months );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl
new file mode 100644
index 0000000..ca7db25
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByHalfAYear.qbl
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDataByHalfAYear (
+ GlobalOTDSOP this,
+ MacroPlans macroPlans,
+ CapacityAndSaleBudgeCompareItemRows casbcirs,
+ String popoa,
+ String saleOrCapacity,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" );
+ categories := construct( Strings );
+ if ( popoa = "闈㈡澘鍩哄湴" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() );
+ } else if ( popoa = "浜嬩笟閮�" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() );
+ }
+
+ traverse ( years, Elements, y ) {
+ traverse ( categories, Elements, c ) {
+ for ( i := 0; i < 2; i ++ ) {
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + ifexpr( i = 0, "涓婂崐骞�", "涓嬪崐骞�" ) + "-" + "鐩爣";
+ targetMonth := selectset( months, Elements, tempM, tempM.MonthNo() >= ( ( i * 6 ) + 1 ) and
+ tempM.MonthNo() <= ( ( i + 1 ) * 6 ) );
+ filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa );
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), targetMonth );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+
+ traverse ( macroPlans, Elements, mp ) {
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + ifexpr( i = 0, "涓婂崐骞�", "涓嬪崐骞�" ) + "-" + mp.ScenarioName();
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), targetMonth );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+ }
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl
new file mode 100644
index 0000000..ab7379c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByMonth.qbl
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDataByMonth (
+ GlobalOTDSOP this,
+ MacroPlans macroPlans,
+ CapacityAndSaleBudgeCompareItemRows casbcirs,
+ String popoa,
+ String saleOrCapacity,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" );
+ categories := construct( Strings );
+ if ( popoa = "闈㈡澘鍩哄湴" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() );
+ } else if ( popoa = "浜嬩笟閮�" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() );
+ }
+
+ traverse ( years, Elements, y ) {
+ traverse ( categories, Elements, c ) {
+ traverse ( months, Elements, m ) {
+ filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa );
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + "鐩爣";
+ targetMonths := construct( CapacityAndSaleBudgeFilterMonths );
+ targetMonths.Add( m );
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), targetMonths );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+
+ traverse ( macroPlans, Elements, mp ) {
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + mp.ScenarioName();
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), targetMonths );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+ }
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl
new file mode 100644
index 0000000..889033f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByQuarter.qbl
@@ -0,0 +1,45 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDataByQuarter (
+ GlobalOTDSOP this,
+ MacroPlans macroPlans,
+ CapacityAndSaleBudgeCompareItemRows casbcirs,
+ String popoa,
+ String saleOrCapacity,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" );
+ categories := construct( Strings );
+ if ( popoa = "闈㈡澘鍩哄湴" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() );
+ } else if ( popoa = "浜嬩笟閮�" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() );
+ }
+
+ traverse ( years, Elements, y ) {
+ traverse ( categories, Elements, c ) {
+ for ( i := 1; i < 5; i ++ ) {
+ targetMonth := selectset( months, Elements, tempM, tempM.MonthNo() >= ( ( i - 1 ) * 3 + 1 ) and
+ tempM.MonthNo() <= ( i * 3 ) );
+ if ( targetMonth.Size() > 0 ) {
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + "绗�" + [String]i + "瀛e害" + "-" + "鐩爣";
+ info( targetMonth.Size() );
+ filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa );
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), targetMonth );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+
+ traverse ( macroPlans, Elements, mp ) {
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + "绗�" + [String]i + "瀛e害" + "-" + mp.ScenarioName();
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), targetMonth );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+ }
+ }
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl
new file mode 100644
index 0000000..d7c9acd
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_CreateDataByYear.qbl
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDataByYear (
+ GlobalOTDSOP this,
+ MacroPlans macroPlans,
+ CapacityAndSaleBudgeCompareItemRows casbcirs,
+ String popoa,
+ String saleOrCapacity,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ calculationConditions := ifexpr( saleOrCapacity = "浜ц兘", "PanelAllocation", "SalesVolume" );
+ categories := construct( Strings );
+ if ( popoa = "闈㈡澘鍩哄湴" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.PlaceOfProductionOfArray() );
+ } else if ( popoa = "浜嬩笟閮�" ) {
+ categories := selectuniquevalues( casbcirs, Elements, tempCASBCIR, true, tempCASBCIR.BusinessType() );
+ }
+
+ traverse ( years, Elements, y ) {
+ traverse ( categories, Elements, c ) {
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + "鐩爣";
+ filterCASBCIR := CapacityAndSaleBudgeChartElement::FilterCalculationRows( casbcirs, c, popoa );
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, "", y.YearNo(), months );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+
+ traverse ( macroPlans, Elements, mp ) {
+ timeStringAndScenarioName := [String]y.YearNo() + "骞�" + "-" + mp.ScenarioName();
+ quantity := CapacityAndSaleBudgeChartElement::GetQuantity( filterCASBCIR, calculationConditions, mp.ScenarioName(), y.YearNo(), months );
+ CapacityAndSaleBudgeChartElement::Create( this, c, timeStringAndScenarioName, quantity );
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl
new file mode 100644
index 0000000..42c90f3
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_FilterCalculationRows.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FilterCalculationRows (
+ CapacityAndSaleBudgeCompareItemRows casbcirs,
+ String category,
+ String popoa
+) as owning CapacityAndSaleBudgeCompareItemRows
+{
+ TextBody:
+ [*
+ resultCASBCIR := construct( CapacityAndSaleBudgeCompareItemRows );
+
+ if ( popoa = "闈㈡澘鍩哄湴" ) {
+ resultCASBCIR := selectset( casbcirs, Elements, tempCASBCIR, tempCASBCIR.PlaceOfProductionOfArray() = category );
+ } else if ( popoa = "浜嬩笟閮�" ) {
+ resultCASBCIR := selectset( casbcirs, Elements, tempCASBCIR, tempCASBCIR.BusinessType() = category );
+ }
+
+ return &resultCASBCIR;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl
new file mode 100644
index 0000000..ae1ad4d
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_GetQuantity.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetQuantity (
+ CapacityAndSaleBudgeCompareItemRows casbcirs,
+ String calculationConditions,
+ String scenarioName,
+ Number year,
+ CapacityAndSaleBudgeFilterMonths months
+) as Real
+{
+ TextBody:
+ [*
+ total := 0.0;
+
+ total := sum( casbcirs, Elements.CapacityAndSaleBudgeCompareItemCell, tempCASBCIC,
+ tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().ColumnType() = calculationConditions and
+ tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().ScenarioName() = scenarioName and
+ tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().Year() = year and
+ exists( months, Elements, tempM, tempM.MonthNo() = tempCASBCIC.CapacityAndSaleBudgeCompareItemColumn().Month() ),
+ [Real]tempCASBCIC.CellContent()
+ );
+
+ return total;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl
new file mode 100644
index 0000000..c01c3ad
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_SelectGenerateChartRows.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SelectGenerateChartRows (
+ GlobalOTDSOP this,
+ owning CapacityAndSaleBudgeFilterItems items,
+ owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
+ owning CapacityAndSaleBudgeFilterBusinessTypes casbfbts,
+ owning CapacityAndSaleBudgeFilterYears years,
+ owning CapacityAndSaleBudgeFilterMonths months
+) as owning CapacityAndSaleBudgeCompareItemRows
+{
+ TextBody:
+ [*
+ casbcirs := construct( CapacityAndSaleBudgeCompareItemRows );
+
+ CapacityAndSaleBudgeCompareItemCell::SetFilterCriteria( this, &items, &casbfpopoas, &casbfbts, &years, &months );
+
+ casbcirs := selectset( this, CapacityAndSaleBudgeCompareItemRow, tempCASBCIR,
+ exists( casbfpopoas, Elements, tempCASBFPOPOA, tempCASBFPOPOA.PlaceOfProductionOfArray() = tempCASBCIR.PlaceOfProductionOfArray() ) and
+ exists( casbfbts, Elements, tempCASBFBT, tempCASBFBT.BusinessType() = tempCASBCIR.BusinessType() )
+ );
+
+ return &casbcirs;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl
new file mode 100644
index 0000000..ae7cb61
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocation.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanelAllocation (
+ MacroPlans macroPlans,
+ const GlobalOTDTable globalOTDTable,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationDataForBudget( globalOTDTable, this, capacityAndSaleBudgeFilterItems, years, months );
+
+ CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocationDataForScenario( macroPlans, this, capacityAndSaleBudgeFilterItems, years, months );
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl
new file mode 100644
index 0000000..da29213
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationBudget.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanelAllocationBudget (
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Global_MappingForecast::GetQuantityByMonth( casbcir.GetProductCodes(), globalOTDTable, DateTime::Now().Year(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl
new file mode 100644
index 0000000..4cf1bf3
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationByScenario.qbl
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanelAllocationByScenario (
+ MacroPlans macroPlans,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year
+)
+{
+ TextBody:
+ [*
+ traverse ( macroPlans, Elements, mp ) {
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Product_MP::GetNewSupplyByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl
new file mode 100644
index 0000000..02ff695
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForBudget.qbl
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanelAllocationDataForBudget (
+ const GlobalOTDTable globalOTDTable,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ if ( exists( capacityAndSaleBudgeFilterItems, Elements, tempCASBFI, tempCASBFI.ItemName() = "闈㈡澘鍒嗛厤閲�" ) ) {
+ columnNo := max( this, CapacityAndSaleBudgeCompareItemColumn, tempCASBCIC, true, tempCASBCIC.ColumnNo() ) + 1;
+ traverse ( years, Elements, y ) {
+ traverse ( months, Elements, m ) {
+ columnMonthName := "闈㈡澘鍒嗛厤閲�" + "-" + [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + "骞村害棰勭畻";
+ columnMonth := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), Month := m.MonthNo(), ColumnType := "PanelAllocation" );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ // info( "褰撳墠琛岋細", casbcir.RowNo(), " 琛岀粍缁囷細", casbcir.PlaceOfProductionOfArray(), " 琛屼簨涓氶儴锛�", casbcir.BusinessType() );
+ annualPanelAllocationQuantity := CapacityAndSaleBudgeCompareItemCell::GetPanelAllocationQuantityForBudget( globalOTDTable,
+ y.YearNo(),
+ m.MonthNo(),
+ casbcir.PlaceOfProductionOfArray(),
+ casbcir.BusinessType()
+ );
+ monthCell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualPanelAllocationQuantity );
+ monthCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnNo++;
+ }
+
+ columnYearName := "闈㈡澘鍒嗛厤閲�" + "-" + [String]y.YearNo() + "骞�" + "-" + "total" + "-" + "骞村害棰勭畻";
+ columnYear := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnYearName, ColumnNo := columnNo, Year := y.YearNo(), ColumnType := "PanelAllocation" );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ annualPanelAllocationQuantity := CapacityAndSaleBudgeCompareItemCell::GetPanelAllocationQuantityForBudget( globalOTDTable,
+ y.YearNo(),
+ 0,
+ casbcir.PlaceOfProductionOfArray(),
+ casbcir.BusinessType()
+ );
+ yearCell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualPanelAllocationQuantity );
+ yearCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl
new file mode 100644
index 0000000..d64a23a
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreatePanelAllocationDataForScenario.qbl
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanelAllocationDataForScenario (
+ MacroPlans macroPlans,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ if ( exists( capacityAndSaleBudgeFilterItems, Elements, tempCASBFI, tempCASBFI.ItemName() = "闈㈡澘鍒嗛厤閲�" ) ) {
+ columnNo := max( this, CapacityAndSaleBudgeCompareItemColumn, tempCASBCIC, true, tempCASBCIC.ColumnNo() ) + 1;
+ traverse ( macroPlans, Elements, mp ) {
+ traverse ( years, Elements, y ) {
+ traverse ( months, Elements, m ) {
+ columnMonthName := "闈㈡澘鍒嗛厤閲�" + "-" + [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + mp.ScenarioName();
+ columnMonth := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), Month := m.MonthNo(), ColumnType := "PanelAllocation", ScenarioName := mp.ScenarioName() );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ productIDs := selectuniquevalues( casbcir, CapacityAndSaleBudgeCompareItemRowProduct, tempCASBCIRP, true, tempCASBCIRP.ProductCode() );
+ total := CapacityAndSaleBudgeCompareItemCell::GetPanelAllocationQuantity( this, productIDs, y.YearNo(), m.MonthNo() );
+ cellMonth := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ cellMonth.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ columnNo++;
+ }
+ }
+
+ columnMonthName := "闈㈡澘鍒嗛厤閲�" + "-" + [String]y.YearNo() + "骞�" + "-" + "total" + "-" + mp.ScenarioName();
+ columnYear := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), ColumnType := "PanelAllocation", ScenarioName := mp.ScenarioName() );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ productIDs := selectuniquevalues( casbcir, CapacityAndSaleBudgeCompareItemRowProduct, tempCASBCIRP, true, tempCASBCIRP.ProductCode() );
+ total := CapacityAndSaleBudgeCompareItemCell::GetPanelAllocationQuantity( this, productIDs, y.YearNo(), 0 );
+ cellYear := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ cellYear.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnNo++;
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl
new file mode 100644
index 0000000..6741062
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolume.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateSalesVolume (
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-骞村害棰勭畻";
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( casbcir.GetProductCodes(), globalOTDTable, year.YearNo(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl
new file mode 100644
index 0000000..4335178
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeByScenario.qbl
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateSalesVolumeByScenario (
+ MacroPlans macroPlans,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterMonths months,
+ CapacityAndSaleBudgeFilterYear year
+)
+{
+ TextBody:
+ [*
+ traverse ( macroPlans, Elements, mp ) {
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ total := 0.0;
+ traverse ( months, Elements, m ) {
+ columnName := "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]m.MonthNo() + "鏈�-" + mp.ScenarioName();
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, columnName );
+ cellReal := Forecast::GetFulfilledBalanceByMonth( casbcir.GetProductCodes(), mp, year.YearNo(), m.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ total := total + cellReal;
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + mp.ScenarioName() );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ columnYear.TotalIdentification( year.YearNo() );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl
new file mode 100644
index 0000000..cb8b77f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeData.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateSalesVolumeData (
+ MacroPlans macroPlans,
+ const GlobalOTDTable globalOTDTable,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeDataForBudget( globalOTDTable, this, capacityAndSaleBudgeFilterItems, years, months );
+
+ CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeDataForScenario( macroPlans, this, capacityAndSaleBudgeFilterItems, years, months );
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl
new file mode 100644
index 0000000..3ce767b
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForBudget.qbl
@@ -0,0 +1,49 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateSalesVolumeDataForBudget (
+ const GlobalOTDTable globalOTDTable,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ if ( exists( capacityAndSaleBudgeFilterItems, Elements, tempCASBFI, tempCASBFI.ItemName() = "閿�鍞" ) ) {
+ columnNo := max( this, CapacityAndSaleBudgeCompareItemColumn, tempCASBCIC, true, tempCASBCIC.ColumnNo() ) + 1;
+ traverse ( years, Elements, y ) {
+ traverse ( months, Elements, m ) {
+ columnMonthName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + "骞村害棰勭畻";
+ columnMonth := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), Month := m.MonthNo(), ColumnType := "SalesVolume" );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ // info( "褰撳墠琛岋細", casbcir.RowNo(), " 琛岀粍缁囷細", casbcir.PlaceOfProductionOfArray(), " 琛屼簨涓氶儴锛�", casbcir.BusinessType() );
+ annualSalesQuantity := CapacityAndSaleBudgeCompareItemCell::GetAnnualSalesQuantity( globalOTDTable,
+ y.YearNo(),
+ m.MonthNo(),
+ casbcir.PlaceOfProductionOfArray(),
+ casbcir.BusinessType()
+ );
+ monthCell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualSalesQuantity );
+ monthCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnNo++;
+ }
+
+ columnYearName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + "total" + "-" + "骞村害棰勭畻";
+ columnYear := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnYearName, ColumnNo := columnNo, Year := y.YearNo(), ColumnType := "SalesVolume" );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ annualSalesQuantity := CapacityAndSaleBudgeCompareItemCell::GetAnnualSalesQuantity( globalOTDTable,
+ y.YearNo(),
+ 0,
+ casbcir.PlaceOfProductionOfArray(),
+ casbcir.BusinessType()
+ );
+ yearCell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]annualSalesQuantity );
+ yearCell.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnNo++;
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl
new file mode 100644
index 0000000..cc0516c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_CreateSalesVolumeDataForScenario.qbl
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateSalesVolumeDataForScenario (
+ MacroPlans macroPlans,
+ GlobalOTDSOP this,
+ CapacityAndSaleBudgeFilterItems capacityAndSaleBudgeFilterItems,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ if ( exists( capacityAndSaleBudgeFilterItems, Elements, tempCASBFI, tempCASBFI.ItemName() = "閿�鍞" ) ) {
+ columnNo := max( this, CapacityAndSaleBudgeCompareItemColumn, tempCASBCIC, true, tempCASBCIC.ColumnNo() ) + 1;
+ traverse ( macroPlans, Elements, mp ) {
+ traverse ( years, Elements, y ) {
+ traverse ( months, Elements, m ) {
+ columnMonthName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + [String]m.MonthNo() + "鏈�" + "-" + mp.ScenarioName();
+ columnMonth := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), Month := m.MonthNo(), ColumnType := "SalesVolume", ScenarioName := mp.ScenarioName() );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ productIDs := selectuniquevalues( casbcir, CapacityAndSaleBudgeCompareItemRowProduct, tempCASBCIRP, true, tempCASBCIRP.ProductCode() );
+ total := sum( mp, SalesDemand, tempSD, productIDs.Find( tempSD.ProductID() ) >= 0 and
+ tempSD.StartDate().Year() = [Number]y.YearNo() and
+ tempSD.StartDate().Month() = [Number]m.MonthNo(),
+ tempSD.Quantity() * tempSD.Price() );
+ cellMonth := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ cellMonth.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ columnNo++;
+ }
+ }
+
+ columnMonthName := "瀵瑰閿�鍞" + "-" + [String]y.YearNo() + "骞�" + "-" + "total" + "-" + mp.ScenarioName();
+ columnYear := this.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnMonthName, ColumnNo := columnNo, Year := y.YearNo(), ColumnType := "SalesVolume", ScenarioName := mp.ScenarioName() );
+ traverse ( this, CapacityAndSaleBudgeCompareItemRow, casbcir ) {
+ productIDs := selectuniquevalues( casbcir, CapacityAndSaleBudgeCompareItemRowProduct, tempCASBCIRP, true, tempCASBCIRP.ProductCode() );
+ total := sum( mp, SalesDemand, tempSD, productIDs.Find( tempSD.ProductID() ) >= 0 and
+ tempSD.StartDate().Year() = [Number]y.YearNo(),
+ tempSD.Quantity() * tempSD.Price() );
+ cellYear := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]total );
+ cellYear.CapacityAndSaleBudgeCompareItemRow( relset, casbcir );
+ }
+ columnNo++;
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_ExecuteAsyncCapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_ExecuteAsyncCapacityAndSaleBudgeCompare.qbl
new file mode 100644
index 0000000..b4c7ae8
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_ExecuteAsyncCapacityAndSaleBudgeCompare.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ExecuteAsyncCapacityAndSaleBudgeCompare (
+ GlobalOTDSOP globalOTDSOP,
+ MacroPlans macroPlans
+)
+{
+ TextBody:
+ [*
+ // hongjli Nov-6-2023 (created)
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl
new file mode 100644
index 0000000..4d9a817
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GenerateBasicDataBasedOnFilteringCriteria.qbl
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateBasicDataBasedOnFilteringCriteria (
+ GlobalOTDSOP globalOTDSOP,
+ const GlobalOTDTable globalOTDTable,
+ CapacityAndSaleBudgeFilterItems items,
+ CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
+ CapacityAndSaleBudgeFilterBusinessTypes casbfbts
+)
+{
+ TextBody:
+ [*
+ columnPOPOA := globalOTDSOP.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := "闈㈡澘鍩哄湴", ColumnNo := 0 );
+ columnBT := globalOTDSOP.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := "浜嬩笟閮�", ColumnNo := 1 );
+
+ rowNr := 0;
+
+ //info( "缁勭粐鍩哄湴涓暟锛�", casbfpopoas.Size(), " 浜嬩笟閮ㄤ釜鏁帮細", casbfbts.Size() );
+
+ traverse ( casbfpopoas, Elements, casbfpopoa ) {
+ traverse ( casbfbts, Elements, casbfbt ) {
+ targetGlobal_MappingAnnualBudgetData := selectset( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, tempGMABD.OrganCode() = casbfpopoa.PlaceOfProductionOfArray() and
+ tempGMABD.BusinessType() = casbfbt.BusinessType() );
+ if ( targetGlobal_MappingAnnualBudgetData.Size() > 0 ) {
+ targetCapacityAndSaleBudgeCompareItemRow := globalOTDSOP.CapacityAndSaleBudgeCompareItemRow( relnew,
+ PlaceOfProductionOfArray := casbfpopoa.PlaceOfProductionOfArray(),
+ BusinessType := casbfbt.BusinessType(),
+ RowNo := rowNr );
+ rowNr++;
+ traverse ( targetGlobal_MappingAnnualBudgetData, Elements, gmabd ) {
+ targetCapacityAndSaleBudgeCompareItemRow.CapacityAndSaleBudgeCompareItemRowProduct( relnew, ProductCode := gmabd.ProductID() );
+ }
+ cellPOPOA := columnPOPOA.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := casbfpopoa.PlaceOfProductionOfArray() );
+ cellBT := columnBT.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := casbfbt.BusinessType() );
+ cellPOPOA.CapacityAndSaleBudgeCompareItemRow( relset, targetCapacityAndSaleBudgeCompareItemRow );
+ cellBT.CapacityAndSaleBudgeCompareItemRow( relset, targetCapacityAndSaleBudgeCompareItemRow );
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl
new file mode 100644
index 0000000..db9e694
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetAnnualSalesQuantity.qbl
@@ -0,0 +1,62 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetAnnualSalesQuantity (
+ const GlobalOTDTable globalOTDTable,
+ Number year,
+ Number month,
+ String placeOfProductionOfArray,
+ String businessType
+) as Real
+{
+ TextBody:
+ [*
+ total := 0.0;
+
+ targetGlobal_MappingAnnualBudgetDatas := selectset( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD,
+ tempGMABD.YearNo() = [String]year and
+ tempGMABD.OrganCode() = placeOfProductionOfArray and
+ tempGMABD.BusinessType() = businessType
+ );
+
+ if ( month = 0 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales1() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales2() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales3() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales4() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales5() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales6() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales7() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales8() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales9() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales10() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales11() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales12() );
+ } else if ( month = 1 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales1() );
+ } else if ( month = 2 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales2() );
+ } else if ( month = 3 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales3() );
+ } else if ( month = 4 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales4() );
+ } else if ( month = 5 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales5() );
+ } else if ( month = 6 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales6() );
+ } else if ( month = 7 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales7() );
+ } else if ( month = 8 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales8() );
+ } else if ( month = 9 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales9() );
+ } else if ( month = 10 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales10() );
+ } else if ( month = 11 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales11() );
+ } else if ( month = 12 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySales12() );
+ }
+
+ return total;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantity.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantity.qbl
new file mode 100644
index 0000000..58dc15c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantity.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetPanelAllocationQuantity (
+ GlobalOTDSOP globalOTDSOP,
+ Strings productIDs,
+ Number year,
+ Number month
+) as Real
+{
+ TextBody:
+ [*
+ total := 0.0;
+
+ traverse ( productIDs, Elements, pid ) {
+ targetPRPISPMPs := selectset( globalOTDSOP, PeggingProduct_MP.PeggingProductInStockingPoint_MP.PeggingResultProductInStockingPoint_MP, tempPRPISPMP,
+ tempPRPISPMP.ProductID() = pid and
+ tempPRPISPMP.NumberOfPlies() = 0 );
+ total := total +
+ sum( targetPRPISPMPs, Elements.AllChild, tempAC,
+ exists( globalOTDSOP, ModulePanelCorrespondence.Panel, tempP,
+ tempP.Module().ModuleProductID() = pid and
+ tempP.PanelProductID() = tempAC.ProductID() ) and
+ tempAC.StartDate().Year() = year and
+ ifexpr( month <> 0, tempAC.StartDate().Month() = month, true ),
+ tempAC.FulfillmentQuantity()
+ );
+ }
+
+ return total;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl
new file mode 100644
index 0000000..c615dd1
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_GetPanelAllocationQuantityForBudget.qbl
@@ -0,0 +1,62 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetPanelAllocationQuantityForBudget (
+ const GlobalOTDTable globalOTDTable,
+ Number year,
+ Number month,
+ String placeOfProductionOfArray,
+ String businessType
+) as Real
+{
+ TextBody:
+ [*
+ total := 0.0;
+
+ targetGlobal_MappingAnnualBudgetDatas := selectset( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD,
+ tempGMABD.YearNo() = [String]year and
+ tempGMABD.OrganCode() = placeOfProductionOfArray and
+ tempGMABD.BusinessType() = businessType
+ );
+
+ if ( month = 0 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity1() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity2() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity3() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity4() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity5() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity6() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity7() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity8() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity9() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity10() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity11() )
+ + sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity12() );
+ } else if ( month = 1 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity1() );
+ } else if ( month = 2 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity2() );
+ } else if ( month = 3 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity3() );
+ } else if ( month = 4 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity4() );
+ } else if ( month = 5 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity5() );
+ } else if ( month = 6 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity6() );
+ } else if ( month = 7 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity7() );
+ } else if ( month = 8 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity8() );
+ } else if ( month = 9 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity9() );
+ } else if ( month = 10 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity10() );
+ } else if ( month = 11 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity11() );
+ } else if ( month = 12 ) {
+ total := sum( targetGlobal_MappingAnnualBudgetDatas, Elements, tempGMABD, true, [Real]tempGMABD.MonthlySheetCapacity12() );
+ }
+
+ return total;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl
new file mode 100644
index 0000000..2b671f2
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemCell/StaticMethod_SetFilterCriteria.qbl
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetFilterCriteria (
+ GlobalOTDSOP this,
+ output owning CapacityAndSaleBudgeFilterItems items,
+ output owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
+ output owning CapacityAndSaleBudgeFilterBusinessTypes casbfbts,
+ output owning CapacityAndSaleBudgeFilterYears years,
+ output owning CapacityAndSaleBudgeFilterMonths months
+)
+{
+ TextBody:
+ [*
+ if ( items.Size() = 0 ) {
+ items := selectset( this, CapacityAndSaleBudgeFilterItem, tempCASBFI, tempCASBFI.ItemName() = "閿�鍞" );
+ }
+
+ if ( casbfpopoas.Size() = 0 ) {
+ casbfpopoas := selectset( this, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA, true );
+ }
+
+ if ( casbfbts.Size() = 0 ) {
+ casbfbts := selectset( this, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT, true );
+ }
+
+ if ( years.Size() = 0 ) {
+ years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() );
+ } else {
+ years := selectsortedset( years, Elements, tempCASBFY, true, tempCASBFY.YearNo() );
+ }
+
+ if ( months.Size() = 0 ) {
+ months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, tempCASBFM, true, tempCASBFM.MonthNo() );
+ } else {
+ months := selectsortedset( months, Elements, tempCASBFM, true, tempCASBFM.MonthNo() );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl
new file mode 100644
index 0000000..548bc7e
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ColumnType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ColumnType
+{
+ #keys: '3[414702.1.340387451][414702.1.340387450][414702.1.340387452]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl
new file mode 100644
index 0000000..d88acda
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Month.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Month
+{
+ #keys: '3[414702.1.339609433][414702.1.339609432][414702.1.339609434]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl
new file mode 100644
index 0000000..7056338
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_ScenarioName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ScenarioName
+{
+ #keys: '3[414702.1.339085005][414702.1.339085004][414702.1.339085006]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_TotalIdentification.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_TotalIdentification.qbl
new file mode 100644
index 0000000..c116037
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_TotalIdentification.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TotalIdentification
+{
+ #keys: '3[414702.1.286051925][414702.1.286051924][414702.1.286051926]'
+ Description: '鏍囪瘑浣嶏紙鍒ゆ柇鏄惁鍔犲拰锛�'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl
new file mode 100644
index 0000000..ddcd77c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/Attribute_Year.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Year
+{
+ #keys: '3[414702.1.339609423][414702.1.339609422][414702.1.339609424]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl
index 230f93e..3b19661 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl
@@ -10,9 +10,11 @@
[*
// yypsybs Sep-18-2023 (created)
value := select( parent, CapacityAndSaleBudgeCompareItemRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray );
- if( isnull( value ) ) {
+
+ if ( isnull( value ) ) {
value := parent.CapacityAndSaleBudgeCompareItemRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray );
- }
+ }
+
return value;
*]
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl
new file mode 100644
index 0000000..7a77229
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_InitializedData.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod InitializedData (
+ GlobalOTDSOP globalOTDSOP,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDSOP.CapacityAndSaleBudgeFilterBusinessType( relflush );
+
+ businessTypes := selectuniquevalues( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, true, tempGMABD.BusinessType() );
+
+ traverse ( businessTypes, Elements, bt ) {
+ globalOTDSOP.CapacityAndSaleBudgeFilterBusinessType( relnew, BusinessType := bt );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl
deleted file mode 100644
index 3601509..0000000
--- a/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl
+++ /dev/null
@@ -1,14 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod Initial (
- GlobalOTDSOP parent
-)
-{
- Description: '鍒濆鍖栧姣旈」'
- TextBody:
- [*
- // yypsybs Sep-15-2023 (created)
- CapacityAndSaleBudgeFilterItem::CreateIfNotExist( parent, "闈㈡澘鍒嗛厤閲�" );
- CapacityAndSaleBudgeFilterItem::CreateIfNotExist( parent, "閿�鍞" );
- *]
-}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_InitializedData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_InitializedData.qbl
new file mode 100644
index 0000000..c9a019d
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_InitializedData.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod InitializedData (
+ GlobalOTDSOP globalOTDSOP
+)
+{
+ Description: '鍒濆鍖栧姣旈」'
+ TextBody:
+ [*
+ globalOTDSOP.CapacityAndSaleBudgeFilterItem( relflush );
+
+ globalOTDSOP.CapacityAndSaleBudgeFilterItem( relnew, ItemName := "闈㈡澘鍒嗛厤閲�" );
+ globalOTDSOP.CapacityAndSaleBudgeFilterItem( relnew, ItemName := "閿�鍞" );
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl
deleted file mode 100644
index 8159900..0000000
--- a/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod Initial (
- GlobalOTDSOP parent
-)
-{
- Description: '鍒濆鍖栧勾浠�'
- TextBody:
- [*
- // yypsybs Sep-15-2023 (created)
- existList := selectuniquevalues( parent, CapacityAndSaleBudgeFilterMonth, item, item.MonthNo() );
- for( i := 1; i <= 12; i++ ) {
- if( existList.Find( i ) = -1 ) {
- parent.CapacityAndSaleBudgeFilterMonth( relnew,
- MonthNo := i );
- }
- }
- *]
-}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_InitializedData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_InitializedData.qbl
new file mode 100644
index 0000000..b85464a
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_InitializedData.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod InitializedData (
+ GlobalOTDSOP globalOTDSOP
+)
+{
+ Description: '鍒濆鍖栧勾浠�'
+ TextBody:
+ [*
+ globalOTDSOP.CapacityAndSaleBudgeFilterMonth( relflush );
+
+ for( i := 1; i <= 12; i++ ) {
+ globalOTDSOP.CapacityAndSaleBudgeFilterMonth( relnew, MonthNo := i );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl
new file mode 100644
index 0000000..53f41ff
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_InitializedData.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod InitializedData (
+ GlobalOTDSOP globalOTDSOP,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDSOP.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush );
+
+ organCodes := selectuniquevalues( globalOTDTable, Global_MappingAnnualBudgetData, tempGMABD, true, tempGMABD.OrganCode() );
+
+ traverse ( organCodes, Elements, oc ) {
+ globalOTDSOP.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relnew, PlaceOfProductionOfArray := oc );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl
deleted file mode 100644
index 72badb3..0000000
--- a/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod Initial (
- GlobalOTDSOP parent
-)
-{
- Description: '鍒濆鍖栧勾浠�'
- TextBody:
- [*
- // yypsybs Sep-15-2023 (created)
- existList := selectuniquevalues( parent, CapacityAndSaleBudgeFilterYear, item, item.YearNo() );
- nowYear := Date::Today().Year();
- for( i := nowYear - 10; i <= nowYear + 5; i++ ) {
- if( existList.Find( i ) = -1 ) {
- parent.CapacityAndSaleBudgeFilterYear( relnew,
- YearNo := i );
- }
- }
- *]
-}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_InitializedData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_InitializedData.qbl
new file mode 100644
index 0000000..a76216a
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_InitializedData.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod InitializedData (
+ GlobalOTDSOP globalOTDSOP
+)
+{
+ Description: '鍒濆鍖栧勾浠�'
+ TextBody:
+ [*
+ // yypsybs Sep-15-2023 (created)
+ globalOTDSOP.CapacityAndSaleBudgeFilterYear( relflush );
+
+ nowYear := Date::Today().Year();
+
+ for( i := nowYear - 10; i <= nowYear + 5; i++ ) {
+ globalOTDSOP.CapacityAndSaleBudgeFilterYear( relnew, YearNo := i );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeRunStatus/Attribute_RunSataus.qbl b/_Main/BL/Type_CapacityAndSaleBudgeRunStatus/Attribute_RunSataus.qbl
new file mode 100644
index 0000000..9dd2404
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeRunStatus/Attribute_RunSataus.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RunSataus
+{
+ #keys: '3[414702.1.385990030][414702.1.385990029][414702.1.385990031]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeRunStatus/_ROOT_Type_CapacityAndSaleBudgeRunStatus.qbl b/_Main/BL/Type_CapacityAndSaleBudgeRunStatus/_ROOT_Type_CapacityAndSaleBudgeRunStatus.qbl
new file mode 100644
index 0000000..83963ff
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeRunStatus/_ROOT_Type_CapacityAndSaleBudgeRunStatus.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CapacityAndSaleBudgeRunStatus
+{
+ #keys: '5[414702.1.385990024][414702.1.385990022][0.0.0][414702.1.385990023][414702.1.385990025]'
+ BaseType: Object
+ StructuredName: 'CapacityAndSaleBudgeRunStatuss'
+}
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl
index b3244e0..272b16c 100644
--- a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRate.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateCurrencyRate (
+ MacroPlan mp,
String currencyid,
Date start,
Real rate
@@ -11,10 +12,10 @@
[*
// Administrator Jul-19-2023 (created)
isfromdb := true;
- currency := Currency_MP::FindCurrencyTypeIndex( currencyid );
+ currency := Currency_MP::FindById( mp, currencyid );
//create new currency
- result := CurrencyRate_MP::FindCurrencyRateTypeIndex( currencyid, start );
+ result := CurrencyRate_MP::FindByIdAndStart( currency, currencyid, start );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl
index 67cd2c8..97a01d2 100644
--- a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateCurrencyRateFromJson.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateCurrencyRateFromJson (
+ MacroPlan mp,
JSON datarow
) as CurrencyRate_MP
{
@@ -16,7 +17,7 @@
day := [Number]startstring.SubString( 8, 2 );
start := Date::Construct( years, month, day );
- result := CurrencyRate_MP::CreateCurrencyRate( currencyid, start, rate );
+ result := CurrencyRate_MP::CreateCurrencyRate( mp, currencyid, start, rate );
return result;
*]
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..82dc0fa
--- /dev/null
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( CurrencyRate_MPs );
+ traverse( globalOTDTable, Global_MappingCurrencyRate_MP, gcr, true )
+ {
+ a := CurrencyRate_MP::CreateCurrencyRate( macroPlan, gcr.CurrencyID(), gcr.Start(), gcr.Rate() );
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Currency_MP.CurrencyRate_MP, cr, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl
new file mode 100644
index 0000000..2c39de8
--- /dev/null
+++ b/_Main/BL/Type_CurrencyRate_MP/StaticMethod_FindByIdAndStart.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByIdAndStart (
+ Currency_MP owner,
+ String id,
+ Date start
+) as CurrencyRate_MP
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+
+ result := select( owner, CurrencyRate_MP, item, true, item.CurrencyID() = id and item.Start() = start );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl b/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl
index ade128e..155abb3 100644
--- a/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl
+++ b/_Main/BL/Type_Currency_MP/StaticMethod_CreateCurrency.qbl
@@ -16,7 +16,7 @@
isfromdb := true;
//create new currency
- result := Currency_MP::FindCurrencyTypeIndex( id );
+ result := Currency_MP::FindById( mp, id );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..dbda48a
--- /dev/null
+++ b/_Main/BL/Type_Currency_MP/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( Currency_MPs );
+ traverse( globalOTDTable, Global_MappingCurrency_MP, gc, true )
+ {
+ a := Currency_MP::CreateCurrency( macroPlan, gc.ID(), gc.Name(), " ", gc.IsBase() );
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Currency_MP, c, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/Attribute_CreateDate.qbl b/_Main/BL/Type_DataInterfaceLog/Attribute_CreateDate.qbl
new file mode 100644
index 0000000..927fccc
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/Attribute_CreateDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CreateDate
+{
+ #keys: '3[414702.1.240820091][414702.1.240820090][414702.1.240820092]'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/Attribute_ErrorMessage.qbl b/_Main/BL/Type_DataInterfaceLog/Attribute_ErrorMessage.qbl
new file mode 100644
index 0000000..2017c51
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/Attribute_ErrorMessage.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ErrorMessage
+{
+ #keys: '3[414702.1.240820101][414702.1.240820100][414702.1.240820102]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/Attribute_ErrorNo.qbl b/_Main/BL/Type_DataInterfaceLog/Attribute_ErrorNo.qbl
new file mode 100644
index 0000000..ffce55d
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/Attribute_ErrorNo.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ErrorNo
+{
+ #keys: '3[414702.1.240820111][414702.1.240820110][414702.1.240820112]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteStatus.qbl b/_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteStatus.qbl
new file mode 100644
index 0000000..99829e0
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteStatus.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ExecuteStatus
+{
+ #keys: '3[414702.1.240820121][414702.1.240820120][414702.1.240820122]'
+ Description:
+ [*
+ 鎵ц鐘舵��
+ Running
+ Success
+ Error
+ *]
+ ValueType: String
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteUser.qbl b/_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteUser.qbl
new file mode 100644
index 0000000..365dfbf
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/Attribute_ExecuteUser.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ExecuteUser
+{
+ #keys: '3[414702.1.240820131][414702.1.240820130][414702.1.240820132]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/Attribute_ID.qbl b/_Main/BL/Type_DataInterfaceLog/Attribute_ID.qbl
new file mode 100644
index 0000000..6566ce8
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/Attribute_ID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414702.1.240784646][414702.1.240784645][414702.1.240784647]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/Attribute_Message.qbl b/_Main/BL/Type_DataInterfaceLog/Attribute_Message.qbl
new file mode 100644
index 0000000..ec7d65b
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/Attribute_Message.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Message
+{
+ #keys: '3[414702.1.240784656][414702.1.240784655][414702.1.240784657]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/StaticMethod_Create.qbl b/_Main/BL/Type_DataInterfaceLog/StaticMethod_Create.qbl
new file mode 100644
index 0000000..1c6dcae
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/StaticMethod_Create.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDLog globalOTDLog,
+ String executeUser,
+ String message
+) as String
+{
+ TextBody:
+ [*
+ dataInterfaceLog := globalOTDLog.DataInterfaceLog( relnew,
+ ID := OS::GenerateGUIDAsString(),
+ ExecuteStatus := "Running",
+ ExecuteUser := executeUser,
+ Message := message,
+ CreateDate := DateTime::ActualTime()
+ );
+
+ return dataInterfaceLog.ID();
+ *]
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnError.qbl b/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnError.qbl
new file mode 100644
index 0000000..60ebeac
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnError.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod OnError (
+ GlobalOTDLog globalOTDLog,
+ Number errorNo,
+ String errorMessage,
+ String ID
+)
+{
+ TextBody:
+ [*
+ targetDataInterfaceLog := select( globalOTDLog, DataInterfaceLog, tempDI, tempDI.ID() = ID );
+
+ targetDataInterfaceLog.ExecuteStatus( "Error" );
+ targetDataInterfaceLog.ErrorNo( errorNo );
+ targetDataInterfaceLog.ErrorMessage( errorMessage );
+ *]
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnException.qbl b/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnException.qbl
new file mode 100644
index 0000000..51eb429
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnException.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod OnException (
+ Exception e,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ options := DatasetFindOptions::Construct( "GlobalOTDLog" ).IncludeOffline( true );
+
+ mdskey := DatasetController::FindUnique( options );
+
+ MDSGlobalOTDLog::Root( mdskey ) -> DataInterfaceLog::OnError( e.ErrorNumber(), e.Message(), dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnSuccess.qbl b/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnSuccess.qbl
new file mode 100644
index 0000000..76535c0
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/StaticMethod_OnSuccess.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod OnSuccess (
+ GlobalOTDLog globalOTDLog,
+ String ID
+)
+{
+ TextBody:
+ [*
+ targetDataInterfaceLog := select( globalOTDLog, DataInterfaceLog, tempDI, tempDI.ID() = ID );
+
+ targetDataInterfaceLog.ExecuteStatus( "Success" );
+ *]
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/StaticMethod_Success.qbl b/_Main/BL/Type_DataInterfaceLog/StaticMethod_Success.qbl
new file mode 100644
index 0000000..0d1e585
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/StaticMethod_Success.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Success (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ options := DatasetFindOptions::Construct( "GlobalOTDLog" ).IncludeOffline( true );
+
+ mdskey := DatasetController::FindUnique( options );
+
+ MDSGlobalOTDLog::Root( mdskey ) -> DataInterfaceLog::OnSuccess( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_DataInterfaceLog/_ROOT_Type_DataInterfaceLog.qbl b/_Main/BL/Type_DataInterfaceLog/_ROOT_Type_DataInterfaceLog.qbl
new file mode 100644
index 0000000..c29ffcf
--- /dev/null
+++ b/_Main/BL/Type_DataInterfaceLog/_ROOT_Type_DataInterfaceLog.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type DataInterfaceLog
+{
+ #keys: '5[414702.1.240820045][414702.1.240820043][0.0.0][414702.1.240820044][414702.1.240820046]'
+ BaseType: Object
+ StructuredName: 'DataInterfaceLogs'
+}
diff --git a/_Main/BL/Type_Flag/_ROOT_Type_Flag.qbl b/_Main/BL/Type_Flag/_ROOT_Type_Flag.qbl
new file mode 100644
index 0000000..9b19c84
--- /dev/null
+++ b/_Main/BL/Type_Flag/_ROOT_Type_Flag.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Flag
+{
+ #keys: '5[414996.0.33484648][414996.0.33484646][0.0.0][414996.0.33484647][414996.0.33484649]'
+ BaseType: Object
+ Description: '鏍囧織浣�'
+ StructuredName: 'Flags'
+}
diff --git a/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl b/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl
index 2d3b108..ac48151 100644
--- a/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl
+++ b/_Main/BL/Type_Forecast/StaticMethod_GetFulfilledBalanceByMonth.qbl
@@ -12,11 +12,11 @@
// yypsybs Sep-18-2023 (created)
result := sum( macroPlan,
Product_MP.SalesDemand,
- item,
- item.istype( Forecast ) and productNo.Find( item.ProductID() ) > -1
- and item.StartDate().Year() = yearNo
- and item.StartDate().Month() = monthNo,
- item.FulfilledQuantity() * item.Price() );
+ tempSD,
+ productNo.Find( tempSD.ProductID() ) > -1
+ and tempSD.StartDate().Year() = yearNo
+ and tempSD.StartDate().Month() = monthNo,
+ tempSD.FulfilledQuantity() * tempSD.Price() );
return result;
*]
}
diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData\043500.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData\043500.qbl"
new file mode 100644
index 0000000..06ec0cb
--- /dev/null
+++ "b/_Main/BL/Type_GlobalDTOTable/Method_CreateCapacityAndSaleBudgeTestData\043500.qbl"
@@ -0,0 +1,74 @@
+Quintiq file version 2.0
+#parent: #root
+Method CreateCapacityAndSaleBudgeTestData (
+ GlobalOTDSOP globalOTDSOP,
+ const GlobalOTDTable globalOTDTable,
+ CapacityAndSaleBudgeFilterYears years,
+ Product_MPs product_MPs
+)
+{
+ TextBody:
+ [*
+ this.Global_MappingAnnualBudgetData( relflush );
+
+ product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() and not tempPMP.IsSystem() );
+ if ( years.Size() = 0 ) {
+ years := selectset( globalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY,
+ tempCASBFY.YearNo() = Date::ActualDate().Year()
+ );
+ }
+ businessTypes := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, tempGMPMP, true, tempGMPMP.BusinessType() );
+ placeOfProductionOfArrays := selectuniquevalues( globalOTDTable, Global_MappingOperation, tempGMO, true, tempGMO.OrganCode() );
+
+ traverse ( years, Elements, year, businessTypes.Size() > 0 and placeOfProductionOfArrays.Size() > 0 ) {
+ traverse ( product_MPs, Elements, pmp ) {
+ businessType := businessTypes.Element( Number::Random( 0, businessTypes.Size() - 1 ) );
+ placeOfProductionOfArray := placeOfProductionOfArrays.Element( Number::Random( 0, placeOfProductionOfArrays.Size() - 1 ) );
+ mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew,
+ ID := OS::GenerateGUIDAsString(),
+ YearNo := [String]year.YearNo(),
+ BusinessType := businessType,
+ OrganCode := placeOfProductionOfArray,
+ ProductID := pmp.ID()
+ );
+
+ mappingAnnualBudget.MonthlyModCapacity1( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity2( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity3( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity4( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity5( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity6( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity7( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity8( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity9( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity10( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity11( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlyModCapacity12( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity1( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity2( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity3( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity4( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity5( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity6( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity7( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity8( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity9( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity10( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity11( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySheetCapacity12( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales1( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales2( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales3( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales4( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales5( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales6( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales7( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales8( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales9( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales10( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales11( [String]Real::Random( 20000.0, 30000.0 ) );
+ mappingAnnualBudget.MonthlySales12( [String]Real::Random( 20000.0, 30000.0 ) );
+ }
+ }
+ *]
+}
diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl"
deleted file mode 100644
index b83e909..0000000
--- "a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData\04312.qbl"
+++ /dev/null
@@ -1,40 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method InitTestData (
- MacroPlan macroPlan
-)
-{
- TextBody:
- [*
- //// yypsybs Oct-7-2023 (created)
- //productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() );
- //debuginfo( "productCodeList : " + [String]productCodeList.Size() );
- //
- //this.Global_MappingAnnualBudgetData( relflush );
- //if( this.Global_MappingAnnualBudgetData( relsize ) = 0 ) {
- // debuginfo( "create Global_MappingAnnualBudgetData test data" );
- // id := 1;
- // for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year() + 5; year := year + 1 ) {
- // for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
- // productCode := productCodeList.Element( i - 1 );
- // mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew,
- // ID := [String]id,
- // YearNo := [String]year,
- // BusinessType := "浜嬩笟閮�" + [String](productCode.Length() mod 3),
- // ProductID := productCode);
- // id := id + 1;
- // for( month := 1; month <= 12; month := month + 1 ) {
- // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlyModCapacity" + [String]month );
- // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) );
- // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySheetCapacity" + [String]month );
- // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) );
- // field := Reflection::FindAttribute( "Global_MappingAnnualBudgetData", "MonthlySales" + [String]month );
- // field.Set( mappingAnnualBudget, [String]Real::Random( 20000.0, 30000.0 ) );
- // }
- // }
- // }
- // result2 := selectset( this, Global_MappingAnnualBudgetData, item, true );
- // debuginfo( "test MappingAnnualBudget size : " + [String]result2.Size() );
- //}
- *]
-}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
deleted file mode 100644
index abebe3c..0000000
--- a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method InitTestData
-{
- TextBody:
- [*
- //this.MatAttrSettingAndPlanStrategy( relflush );
-
- // yypsybs Sep-8-2023 (created)
- //debuginfo( "CapacityAndSaleBudge::InitTestData" )
- //mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 1, "鎵嬫満浜嬩笟閮�", "MAT_1", "MAT_1", "TYPE_1", 233.0, "閫氱敤", "闀垮懆鏈�" );
- //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_1", 666.0, "PROD_1_DESC" );
- //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_2", 777.0, "PROD_2_DESC" );
- //mat2 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 2, "鎵嬫満浜嬩笟閮�", "MAT_2", "MAT_2", "TYPE_2", 233.0, "涓撶敤", "闀垮懆鏈�" );
- //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_1", 1666.0, "PROD_1_DESC" );
- //MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_2", 1777.0, "PROD_2_DESC" );
- //MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 3, "鎵嬫満浜嬩笟閮�", "MAT_3", "MAT_3", "TYPE_1", 233.0, "閫氱敤", "鐭懆鏈�" );
- //MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 4, "鎵嬫満浜嬩笟閮�", "MAT_4", "MAT_4", "TYPE_2", 233.0, "涓撶敤", "鐭懆鏈�" );
- *]
-}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl b/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl
deleted file mode 100644
index c84f323..0000000
--- a/_Main/BL/Type_GlobalDTOTable/Method_InitTestDataByYear.qbl
+++ /dev/null
@@ -1,68 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method InitTestDataByYear (
- MacroPlan macroPlan,
- CapacityAndSaleBudgeFilterYears years
-)
-{
- TextBody:
- [*
- // yypsybs Oct-7-2023 (created)
- productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() );
- debuginfo( "productCodeList : " + [String]productCodeList.Size() );
-
- this.Global_MappingAnnualBudgetData( relflush );
- debuginfo( "create Global_MappingAnnualBudgetData test data" );
- id := 1;
- traverse( years, Elements, year ) {
- for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
- productCode := productCodeList.Element( i - 1 );
- mappingAnnualBudget := this.Global_MappingAnnualBudgetData( relnew,
- ID := [String]id,
- YearNo := [String]year.YearNo(),
- BusinessType := "浜嬩笟閮�" + [String](productCode.Length() mod 3),
- OrganCode := "I13",
- ProductID := productCode);
- id := id + 1;
- mappingAnnualBudget.MonthlyModCapacity1( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity2( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity3( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity4( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity5( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity6( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity7( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity8( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity9( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity10( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity11( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlyModCapacity12( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity1( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity2( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity3( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity4( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity5( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity6( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity7( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity8( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity9( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity10( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity11( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySheetCapacity12( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales1( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales2( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales3( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales4( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales5( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales6( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales7( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales8( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales9( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales10( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales11( [String]Real::Random( 20000.0, 30000.0 ) );
- mappingAnnualBudget.MonthlySales12( [String]Real::Random( 20000.0, 30000.0 ) );
- }
- }
- result2 := selectset( this, Global_MappingAnnualBudgetData, item, true );
- debuginfo( "test MappingAnnualBudget size : " + [String]result2.Size() );
- *]
-}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AnnualBudgetData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AnnualBudgetData.qbl
new file mode 100644
index 0000000..4794c79
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_AnnualBudgetData.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_AnnualBudgetData (
+ Number errorNo,
+ String errorMessage
+)
+{
+ TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "Global_MappingAnnualBudgetData", "骞村害棰勭畻鏁版嵁" );'
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SummaryOfInboundTransaction.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SummaryOfInboundTransaction.qbl
new file mode 100644
index 0000000..cb43c89
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_SummaryOfInboundTransaction.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecuteFailure_GlobalOTDTable_SummaryOfInboundTransaction (
+ Number errorNo,
+ String errorMessage
+)
+{
+ TextBody: 'this.SettingFailureDetails( errorNo, errorMessage, "Global_MappingSummaryOfInboundTransaction", "鍏ュ簱浜ゆ槗姹囨��" );'
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AnnualBudgetData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AnnualBudgetData.qbl
new file mode 100644
index 0000000..2ac19a0
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_AnnualBudgetData.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_AnnualBudgetData
+{
+ TextBody: 'this.SettingSuccessfulDetails( "Global_MappingAnnualBudgetData", "骞村害棰勭畻鏁版嵁", this.Global_MappingAnnualBudgetData( relsize ) );'
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SummaryOfInboundTransaction.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SummaryOfInboundTransaction.qbl
new file mode 100644
index 0000000..aabd21c
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_SummaryOfInboundTransaction.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnAsyncExecute_GlobalOTDTable_SummaryOfInboundTransaction
+{
+ TextBody: 'this.SettingSuccessfulDetails( "Global_MappingSummaryOfInboundTransaction", "鍏ュ簱浜ゆ槗姹囨��", this.Global_MappingSummaryOfInboundTransaction( relsize ) );'
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl
index 8c6686f..46121bf 100644
--- a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl
+++ b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl
@@ -21,7 +21,9 @@
Boolean isCurrency_MP,
Boolean isCurrencyRate_MP,
Boolean isLane,
- Boolean isLaneLeg
+ Boolean isLaneLeg,
+ Boolean isSummaryOfInboundTransaction,
+ Boolean isAnnualBudgetData
)
{
TextBody:
@@ -115,5 +117,13 @@
Global_BrokerExecuteLog::CreateInOperation( this, "LaneLeg", executionUser );
this -> Global_MappingLaneLeg::CreateByAPI() -> Exception() -> Global_MappingLaneLeg::OnException( this );
}
+
+ if ( isSummaryOfInboundTransaction ) {
+ Global_MappingSummaryOfInboundTransaction::SynchronizeInterfaceData( this, executionUser, "Global_MappingSummaryOfInboundTransaction" );
+ }
+
+ if ( isAnnualBudgetData ) {
+ Global_MappingAnnualBudgetData::SynchronizeInterfaceData( this, executionUser, "Global_MappingAnnualBudgetData" );
+ }
*]
}
diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl"
index 12a5633..d4f4029 100644
--- "a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl"
+++ "b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl"
@@ -44,17 +44,17 @@
}
if( organcodelist.Size() = 0 ){
- organcodelist := selectvalues( this, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
+ organcodelist := selectuniquevalues( this, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
}
macroPlan.InitialUnitAndStockingPoint();
if ( isUnitOfMeasure_MP ) {
- Global_MappingUnitOfMeasure_MP::SynchronizeMacroPlanData( this, macroPlan );
+ Global_MappingUnitOfMeasure_MP::SynchronizeMacroPlanData( this, macroPlan, executionUser );
}
if ( isCustomOrder ) {
- Global_MappingCustomOrder::SynchronizeMacroPlanData( this, macroPlan, executionUser );
+ Global_MappingCustomOrder::SynchronizeMacroPlanData( this, macroPlan, businessTypes, organcodelist, executionUser );
}
if ( isForeacst ) {
@@ -82,7 +82,7 @@
}
if ( isProductInLane ) {
- Global_MappingProductInLane::SynchronizeMacroPlanData( this, macroPlan, executionUser );
+ Global_MappingProductInLane::SynchronizeMacroPlanData( this, macroPlan, businessTypes, executionUser );
}
if ( isAIPISPIP ) {
@@ -94,20 +94,12 @@
}
if ( isStockingPointCost ) {
- Global_MappingStockingPointCost::SynchronizeMacroPlanData( this, macroPlan, executionUser );
+ Global_MappingStockingPointCost::SynchronizeMacroPlanData( this, macroPlan, businessTypes, executionUser );
}
if ( isOperationCost ) {
Global_MappingOperationCost::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist );
}
-
- //if ( isDOI_DSI ) {
- // Global_MappingDOI_DSI::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_DOI_DSI" );
- //}
- //
- //if ( isCustomerGrade ) {
- // Global_MappingCustomerGrade::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_CustomerGrade" );
- //}
if ( isStockingPoint_MP ) {
Global_MappingStockingPoint_MP::SynchronizeMacroPlanData( this, macroPlan, executionUser );
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryData.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryData.qbl
new file mode 100644
index 0000000..37b6ab8
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryData.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DeleteAllCategoryData (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ globalOTDTable -> GlobalOTDTable::DeleteAllCategoryDataStream()
+ -> DataInterfaceLog::Success( dataInterfaceLogID )
+ -> Exception()
+ -> DataInterfaceLog::OnException( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryDataStream.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryDataStream.qbl
new file mode 100644
index 0000000..9095912
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllCategoryDataStream.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DeleteAllCategoryDataStream (
+ GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDTable]
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_ProductCategory( relflush );
+ globalOTDTable.Global_ProductInLineCategory( relflush );
+ globalOTDTable.Global_InventorySupplyCategory( relflush );
+ globalOTDTable.Global_StockingPointCostCategory( relflush );
+ globalOTDTable.Global_MAPISPIPCategory( relflush );
+
+ return emit( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingData.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingData.qbl
new file mode 100644
index 0000000..3f6a675
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingData.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DeleteAllMappingData (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ globalOTDTable -> GlobalOTDTable::DeleteAllMappingDataStream()
+ -> DataInterfaceLog::Success( dataInterfaceLogID )
+ -> Exception()
+ -> DataInterfaceLog::OnException( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingDataStream.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingDataStream.qbl
new file mode 100644
index 0000000..532eaa6
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_DeleteAllMappingDataStream.qbl
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DeleteAllMappingDataStream (
+ GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDTable]
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MappingCustomOrder( relflush );
+ globalOTDTable.Global_MappingForecast( relflush );
+ globalOTDTable.Global_MappingUnitOfMeasure_MP( relflush );
+ globalOTDTable.Global_MappingSalesSegment_MP( relflush );
+ globalOTDTable.Global_MappingProduct_MP( relflush );
+ globalOTDTable.Global_MappingConversionFactor( relflush );
+ globalOTDTable.Global_MappingOperation( relflush );
+ globalOTDTable.Global_MappingOperationBOM( relflush );
+ globalOTDTable.Global_MappingProductInLane( relflush );
+ globalOTDTable.Global_MappingActualProductInStockingPointInPeriod( relflush );
+ globalOTDTable.Global_MappingInventorySupply( relflush );
+ globalOTDTable.Global_MappingStockingPointCost( relflush );
+ globalOTDTable.Global_MappingOperationCost( relflush );
+ globalOTDTable.Global_MappingDOI_DSI( relflush );
+ globalOTDTable.Global_MappingCustomerGrade( relflush );
+ globalOTDTable.Global_MappingStockingPoint_MP( relflush );
+ globalOTDTable.Global_MappingCurrency_MP( relflush );
+ globalOTDTable.Global_MappingCurrencyRate_MP( relflush );
+ globalOTDTable.Global_MappingLane( relflush );
+ globalOTDTable.Global_MappingLaneLeg( relflush );
+
+ return emit( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_AsyncCapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_AsyncCapacityAndSaleBudgeCompare.qbl
new file mode 100644
index 0000000..2794ebb
--- /dev/null
+++ b/_Main/BL/Type_GlobalOTDSOP/Method_AsyncCapacityAndSaleBudgeCompare.qbl
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: #root
+Method AsyncCapacityAndSaleBudgeCompare (
+ MacroPlans macroPlans,
+ CapacityAndSaleBudgeFilterItems items,
+ CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
+ CapacityAndSaleBudgeFilterBusinessTypes casbfbts,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ this -> CapacityAndSaleBudgeCompare( macroPlans,
+ items,
+ casbfpopoas,
+ casbfbts,
+ years,
+ months,
+ globalOTDTable )
+ -> SetCapacityAndSaleBudgeRunStatus();
+ *]
+}
diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl
index f860d1f..7e62097 100644
--- a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl
+++ b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeChart.qbl
@@ -4,299 +4,23 @@
MacroPlans macroPlans,
String saleOrCapacity,
String groupBy,
- String byBusinessTypeOrByOrgCode,
- CapacityAndSaleBudgeFilterBusinessTypes businessTypes,
- CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays,
- CapacityAndSaleBudgeFilterYears years,
- CapacityAndSaleBudgeFilterMonths months,
+ String popoa,
+ owning CapacityAndSaleBudgeFilterItems items,
+ owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays,
+ owning CapacityAndSaleBudgeFilterBusinessTypes businessTypes,
+ owning CapacityAndSaleBudgeFilterYears years,
+ owning CapacityAndSaleBudgeFilterMonths months,
GlobalOTDTable otdTable
)
{
Description: '鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement'
TextBody:
[*
- // yypsybs Sep-19-2023 (created)
- // true, false
- //info( saleOrCapacity );
- // 鏈�;瀛e害;鍗婂勾;骞�
- //info( groupBy );
- // 闈㈡澘鍩哄湴;浜嬩笟閮�
- //info( byBusinessTypeOrByOrgCode );
- //traverse( businessTypes, Elements, businessType ) {
- // info( "businessType : " + businessType.BusinessType() );
- //}
- //traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) {
- // info( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() );
- //}
- //traverse( macroPlans, Elements, macroPlan ) {
- // info( "macroPlan : " + macroPlan.ScenarioName() );
- //}
- // 骞翠唤涓嶉�夋椂鍏ㄩ��
- if( years.Size() = 0 ) {
- years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, true, item.YearNo() );
- }
- //traverse( years, Elements, year ) {
- // debuginfo( "yearNo : " + [String]year.YearNo() );
- //}
- // 鏈堜唤涓嶉�夋椂鍏ㄩ��
- if( months.Size() = 0 ) {
- months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() );
- }
- //traverse( months, Elements, month ) {
- // debuginfo( "monthNo : " + [String]month.MonthNo() );
- //}
-
- // ====娓呯悊鏃ф暟鎹�====
this.CapacityAndSaleBudgeChartRow( relflush );
this.CapacityAndSaleBudgeChartElement( relflush );
- // ====鎸夐潰鏉垮熀鍦板拰浜嬩笟閮ㄥ浜у搧杩涜绛涢�夊垎缁�====
- historyData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true );
- if( businessTypes.Size() > 0 ) {
- businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() );
- historyData := selectset( historyData, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 );
- }
- if( placeOfProductionOfArrays.Size() > 0 ) {
- placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() );
- historyData := selectset( historyData, Elements, item, placeOfProductionOfArrayStrings.Find( item.OrgCodeFromBom() ) > -1 );
- }
- //info( "historyData : " + [String]historyData.Size() );
- traverse( historyData, Elements, item ) {
- row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.OrgCodeFromBom() );
- // 璁板綍姣忚鍖呭惈鍝簺product
- CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductID() );
- }
- rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true );
- //info( "rows : " + [String]rows.Size() );
- placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.OrgCodeFromBom() );
- //traverse( placeOfProductionOfArrayList, Elements, item ) {
- // info( "placeOfProduction : " + item );
- //}
- businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() );
- //traverse( businessTypeList, Elements, item ) {
- // info( "businessType : " + item );
- //}
- // 鐢熸垚鍥捐〃鍏冪礌
- traverse( years, Elements, year ) {
- // debuginfo( "process year start : " + [String]year.YearNo() );
- if( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "骞�" ) {
- // 鐩爣
- traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ),
- Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) )
- );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ),
- Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() )
- )
- );
- }
- }
- }
- if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鍗婂勾" ) {
- for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) {
- traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ),
- Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) )
- );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ),
- Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
- )
- );
- }
- }
- }
- }
- if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "瀛e害" ) {
- for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
- traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ),
- Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) )
- );
- // info( "productCodeList : " + [String]productCodeList.Size() );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ) ,
- Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo )
- )
- );
- }
- }
- }
- }
- if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鏈�" ) {
- traverse( months, Elements, month ) {
- // info( "process month start : " + [String]month.MonthNo() );
- monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
- traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ),
- Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) )
- );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ),
- Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() )
- )
- );
- }
- }
- // info( "process month end : " + [String]month.MonthNo() );
- }
- }
- if( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "骞�" ) {
- // 鐩爣
- traverse( businessTypeList, Elements, businessType ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleByYear( productCodeList, otdTable, year.YearNo() ),
- Global_MappingForecast::GetQuantityByYear( productCodeList, otdTable, year.YearNo() ) )
- );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceByYear( productCodeList, macroPlan, year.YearNo() ) ,
- Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() )
- )
- );
- }
- }
- }
- if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鍗婂勾" ) {
- for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) {
- traverse( businessTypeList, Elements, businessType ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ),
- Global_MappingForecast::GetQuantityByHalfYear( productCodeList, otdTable, year.YearNo(), halfNo ) )
- );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ) ,
- Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
- )
- );
- }
- }
- }
- }
- if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "瀛e害" ) {
- for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
- // debuginfo( "process season start : " + [String]seasonNo );
- traverse( businessTypeList, Elements, businessType ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ),
- Global_MappingForecast::GetQuantityBySeason( productCodeList, otdTable, year.YearNo(), seasonNo ) )
- );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ),
- Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo )
- )
- );
- }
- }
- // info( "process season end : " + [String]seasonNo );
- }
- }
- if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鏈�" ) {
- traverse( months, Elements, month ) {
- // debuginfo( "process month start : " + [String]month.MonthNo() );
- monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
- traverse( businessTypeList, Elements, businessType ) {
- productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Global_MappingAnnualBudgetData::GetSaleByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ),
- Global_MappingForecast::GetQuantityByMonth( productCodeList, otdTable, year.YearNo(), month.MonthNo() ) )
- );
- // S&OP
- traverse( macroPlans, Elements, macroPlan ) {
- this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
- BusinessTypeOrPlaceOfProductionOfArray := businessType,
- Quantity := ifexpr( saleOrCapacity = "閿�鍞",
- Forecast::GetFulfilledBalanceByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ) ,
- Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() )
- )
- );
- }
- }
- // debuginfo( "process month end : " + [String]month.MonthNo() );
- }
- }
- // debuginfo( "process year end : " + [String]year.YearNo() )
- }
- //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() );
- //traverse( this, CapacityAndSaleBudgeChartRow, row ) {
- // info( "==鈫�==" );
- // info( row.BusinessType() );
- // info( row.PlaceOfProductionOfArray() );
- // elements := selectset( row, CapacityAndSaleBudgeChartRowProduct, cell, true );
- // info( elements.Size() );
- // info( row.GetProductCodes().Concatenate( " | " ) );
- // info( "==鈫�==" );
- //}
+ casbcirs := CapacityAndSaleBudgeChartElement::SelectGenerateChartRows( this, &items, &placeOfProductionOfArrays, &businessTypes, &years, &months );
+
+ CapacityAndSaleBudgeChartElement::CreateData( this, macroPlans, casbcirs, popoa, groupBy, saleOrCapacity, years, months );
*]
}
diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
index 64a208a..8a96743 100644
--- a/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
+++ b/_Main/BL/Type_GlobalOTDSOP/Method_CapacityAndSaleBudgeCompare.qbl
@@ -3,209 +3,52 @@
Method CapacityAndSaleBudgeCompare (
MacroPlans macroPlans,
CapacityAndSaleBudgeFilterItems items,
+ CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
+ CapacityAndSaleBudgeFilterBusinessTypes casbfbts,
CapacityAndSaleBudgeFilterYears years,
CapacityAndSaleBudgeFilterMonths months,
- const GlobalOTDTable otdTable
-)
+ const GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDSOP]
{
Description: 'todo : mappingParent鏀逛负mpSync, random鍒犱簡'
TextBody:
[*
- // yypsybs Sep-18-2023 (created)
- // ====涓嶉�夋椂榛樿鍏ㄩ��====
- if( years.Size() = 0 ) {
- years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, item.YearNo() );
- }
- if( months.Size() = 0 ) {
- months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, item.MonthNo() );
- }
- traverse( macroPlans, Elements, item ) {
- debuginfo( "scenario : " + item.ScenarioName() );
- }
- traverse( items, Elements, item ) {
- debuginfo( "item : " + item.ItemName() );
- }
- traverse( years, Elements, item ) {
- debuginfo( "year : " + [String]item.YearNo() );
- }
- traverse( months, Elements, item ) {
- debuginfo( "month : " + [String]item.MonthNo() );
- }
- // ====娓呯悊鏃ф暟鎹�====
this.CapacityAndSaleBudgeCompareItemRow( relflush );
this.CapacityAndSaleBudgeCompareItemColumn( relflush );
- // ====姹囨�绘墍鏈夊嚭鐜扮殑浜у搧====
- historyData := selectset( otdTable, Global_MappingAnnualBudgetData, item, true );
- debuginfo( "historyData : " + [String]historyData.Size() );
- traverse( historyData, Elements, one ) {
- productCode := one.ProductID();
- // Global_MappingOperationBOM::CreateTestData( otdTable, "浜嬩笟閮�" + [String](productCode.Length() mod 3), "闈㈡澘鍩哄湴" + [String](productCode.Length() mod 4), productCode );
- // boms := selectset( otdTable, Global_MappingOperationBOM, bom, bom.ProductCode() = productCode );
- // if( boms.Size() > 0 ) {
- // bom := boms.First();
- // businessType := bom.BusinessType();
- // placeOfProductionOfArray := bom.OrganCode();
- // 鐩稿悓闈㈡澘鍩哄湴鍜屼簨涓氶儴鐨勬斁涓�琛�
- row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, one.BusinessType(), one.OrgCodeFromBom() );
- // 璁板綍姣忚鍖呭惈鍝簺product
- CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode );
- // } else {
- // debuginfo( "no boms for product : " + productCode );
- // }
- }
- debuginfo( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() );
- // ====浠庡乏鍚戝彸鐢熸垚鍒楀ご涓庡唴瀹�====
- // 浜嬩笟閮紝闈㈡澘鍩哄湴
- debuginfo( "dealing businessType and placeOfProductionOfArray" )
- columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜嬩笟閮�" );
- columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍩哄湴" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cell := columnBusinessType.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.BusinessType() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- cell := columnPlaceOfProductionOfArray.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.PlaceOfProductionOfArray() );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- // 闈㈡澘鍒嗛厤閲� - 骞村害棰勭畻 (sheets)
- // 鏍煎紡锛� 闈㈡澘鍒嗛厤閲� - 骞� - 鏈堬紙1-12 & total锛� - 骞村害棰勭畻/scenarioName
- debuginfo( "dealing 闈㈡澘鍒嗛厤閲�" )
- if( CapacityAndSaleBudgeFilterItem::Contains( items, "闈㈡澘鍒嗛厤閲�" ) ) {
- traverse( years, Elements, year ) {
- debuginfo( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞�" );
- // 鍘嗗彶鏁版嵁
- debuginfo( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞村巻鍙叉暟鎹�" );
- traverse( months, Elements, month ) {
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := Global_MappingForecast::GetQuantityByMonth( row.GetProductCodes(), otdTable, DateTime::Now().Year(), month.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := Global_MappingForecast::GetQuantityByYear( row.GetProductCodes(), otdTable, year.YearNo() );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- debuginfo( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞碨&OP鏁版嵁" );
- // S&OP鏁版嵁
- traverse( macroPlans, Elements, macroPlan ) {
- traverse( months, Elements, month ) {
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this,
- "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := Product_MP::GetNewSupplyByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this,
- "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := Product_MP::GetNewSupplyByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- }
- }
- // 骞村害閿�鍞
- debuginfo( "dealing 閿�鍞" )
- if( CapacityAndSaleBudgeFilterItem::Contains( items, "閿�鍞" ) ) {
- traverse( years, Elements, year ) {
- debuginfo( "閿�鍞" + [String]year.YearNo() + "骞�" );
- // 鍘嗗彶鏁版嵁
- debuginfo( "閿�鍞" + [String]year.YearNo() + "骞村巻鍙叉暟鎹�" );
- traverse( months, Elements, month ) {
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := Global_MappingAnnualBudgetData::GetSaleByMonth( row.GetProductCodes(), otdTable, year.YearNo(), month.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := Global_MappingAnnualBudgetData::GetSaleByYear( row.GetProductCodes(), otdTable, year.YearNo() );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- debuginfo( "閿�鍞" + [String]year.YearNo() + "骞村巻鍙叉暟鎹甋&OP鏁版嵁" );
- // S&OP鏁版嵁
- traverse( macroPlans, Elements, macroPlan ) {
- traverse( months, Elements, month ) {
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := Forecast::GetFulfilledBalanceByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // QID 23
- cellReal := Forecast::GetFulfilledBalanceByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- }
- }
- // 澶у紶鐩堝埄棰�
- debuginfo( "dealing 澶у紶鐩堝埄棰�" )
- traverse( years, Elements, year ) {
- // 鍘嗗彶鏁版嵁
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // todo
- // QID 23
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- // S&OP鏁版嵁
- traverse( macroPlans, Elements, macroPlan ) {
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
- }
- // 浜у搧鐩堝埄棰�
- debuginfo( "dealing 浜у搧鐩堝埄棰�" )
- traverse( years, Elements, year ) {
- // 鍘嗗彶鏁版嵁
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // todo
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- // S&OP鏁版嵁
- traverse( macroPlans, Elements, macroPlan ) {
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName() );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- // todo
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- }
+ //CapacityAndSaleBudgeCompareItemCell::SetFilterCriteria( this, &items, &casbfpopoas, &casbfbts, &years, &months );
+ //---------------------------------------------------------------------------
+ if ( items.Size() = 0 ) {
+ items := selectset( this, CapacityAndSaleBudgeFilterItem, tempCASBFI, tempCASBFI.ItemName() = "閿�鍞" );
}
- // 璁剧疆rowNo鍜宑olumnNo
- debuginfo( "set rowNo and columnNo" );
- rowNo := 1;
- rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() );
- traverse( rowSorted, Elements, item ) {
- item.RowNo( rowNo );
- rowNo := rowNo + 1;
+ if ( casbfpopoas.Size() = 0 ) {
+ casbfpopoas := selectset( this, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA, true );
}
- columnNo := 1;
- traverse( this, CapacityAndSaleBudgeCompareItemColumn, item ) {
- item.ColumnNo( columnNo );
- columnNo := columnNo + 1;
+
+ if ( casbfbts.Size() = 0 ) {
+ casbfbts := selectset( this, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT, true );
}
- debuginfo( "done" );
+
+ if ( years.Size() = 0 ) {
+ years := selectset( this, CapacityAndSaleBudgeFilterYear, tempCASBFY, tempCASBFY.YearNo() = Date::ActualDate().Year() );
+ } else {
+ years := selectsortedset( years, Elements, tempCASBFY, true, tempCASBFY.YearNo() );
+ }
+
+ if ( months.Size() = 0 ) {
+ months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, tempCASBFM, true, tempCASBFM.MonthNo() );
+ } else {
+ months := selectsortedset( months, Elements, tempCASBFM, true, tempCASBFM.MonthNo() );
+ }
+ //---------------------------------------------------------------------------
+
+ CapacityAndSaleBudgeCompareItemCell::GenerateBasicDataBasedOnFilteringCriteria( this, globalOTDTable, items, casbfpopoas, casbfbts );
+
+ CapacityAndSaleBudgeCompareItemCell::CreateSalesVolumeData( macroPlans, globalOTDTable, this, items, years, months );
+
+ CapacityAndSaleBudgeCompareItemCell::CreatePanelAllocation( macroPlans, globalOTDTable, this, items, years, months );
+
+ return emit( this );
*]
}
diff --git a/_Main/BL/Type_GlobalOTDSOP/Method_SetCapacityAndSaleBudgeRunStatus.qbl b/_Main/BL/Type_GlobalOTDSOP/Method_SetCapacityAndSaleBudgeRunStatus.qbl
new file mode 100644
index 0000000..e51a52c
--- /dev/null
+++ b/_Main/BL/Type_GlobalOTDSOP/Method_SetCapacityAndSaleBudgeRunStatus.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+Method SetCapacityAndSaleBudgeRunStatus
+{
+ TextBody:
+ [*
+ this.CapacityAndSaleBudgeRunStatus( relflush );
+ this.CapacityAndSaleBudgeRunStatus( relnew, RunSataus := 0 );
+ *]
+}
diff --git a/_Main/BL/Type_GlobalOTDSOP/StaticMethod_Test.qbl b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_Test.qbl
new file mode 100644
index 0000000..4845329
--- /dev/null
+++ b/_Main/BL/Type_GlobalOTDSOP/StaticMethod_Test.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Test (
+ GlobalOTDSOP this,
+ MacroPlans macroPlans,
+ owning CapacityAndSaleBudgeFilterItems items,
+ owning CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays casbfpopoas,
+ owning CapacityAndSaleBudgeFilterBusinessTypes casbfbts,
+ owning CapacityAndSaleBudgeFilterYears years,
+ owning CapacityAndSaleBudgeFilterMonths months,
+ const GlobalOTDTable globalOTDTable
+)
+{
+}
diff --git a/_Main/BL/Type_GlobalParameters/Attribute_Address.qbl b/_Main/BL/Type_GlobalParameters/Attribute_Address.qbl
new file mode 100644
index 0000000..f2e1fe6
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/Attribute_Address.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Address
+{
+ #keys: '3[412960.0.369930086][412960.0.369930085][412960.0.369930087]'
+ Description: 'Api浣跨敤鐨勫湴鍧�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl b/_Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl
new file mode 100644
index 0000000..85f6698
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AttributeName
+{
+ #keys: '3[412960.0.369930046][412960.0.369930045][412960.0.369930047]'
+ Description: '鍙橀噺鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl b/_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl
new file mode 100644
index 0000000..378b5e3
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AttributeValue
+{
+ #keys: '3[412960.0.369930056][412960.0.369930055][412960.0.369930057]'
+ Description: '鍙橀噺鍊�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_GlobalParameters/Attribute_Port.qbl b/_Main/BL/Type_GlobalParameters/Attribute_Port.qbl
new file mode 100644
index 0000000..29658ab
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/Attribute_Port.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Port
+{
+ #keys: '3[412960.0.369930066][412960.0.369930065][412960.0.369930067]'
+ Description: 'Api浣跨敤鐨勭鍙�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl b/_Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl
new file mode 100644
index 0000000..c1fe72b
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PostRequestBody
+{
+ #keys: '3[412960.0.369930076][412960.0.369930075][412960.0.369930077]'
+ Description: 'Api浣跨敤鐨刾ost body'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl b/_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl
new file mode 100644
index 0000000..c10cd30
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl
@@ -0,0 +1,172 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod TestForApiRequest (
+ GlobalOTDTable owner
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-26-2023 (created)
+ //info( "Sales Segment Finished, Start Get StockingPoint From Api" )
+ //bodynumber := "2";
+ //postrequestbody := JSON::Object()
+ // .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
+ // .Add( "fromSystemCode", "OTDH000" + bodynumber )
+ // .Add( "toInterfaceCode", "QIDH000" + bodynumber )
+ // .Add( "ouZone", "OU_TMSH" )
+ // .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
+ // .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
+ // .Add( "dataType", "JSON" )
+ // .Add( "data", JSON::Object()
+ // .Add( "pageIndex", "1" ) ).Build();
+ //
+ //info( DateTime::Now().Format( "Y-M2-D2 H:m:s" ) );
+ //postrequestbodystring := postrequestbody.AsString();
+ //info( postrequestbodystring );
+ //
+ //parameter := select( owner, GlobalParameters, param, param.AttributeName() = "test" );
+ //body := parameter.PostRequestBody();
+ //address := parameter.Address();
+ //url := parameter.AttributeValue();
+ //port := [Number]parameter.Port();
+ //
+ //// for HTTPS requests:
+ //i := HTTPInterface::Create( address, port);
+ ////i := HTTPInterface::Create( address ,443);
+ //info( address, url, port, body );
+ //
+ //i.URL(url);
+ //i.SSL(false);
+ ////i.SSL(true);
+ ////i.SSLKeystore('MyKeystore'); // created in the Config Utility
+ //
+ //i.PostMethod(true); //it's a POST method
+ //
+ //i.Call(body); // Call's argument is for POST method's content.
+ //htmlresult := i.Result();
+ //info( htmlresult );
+ //
+ //htmlresponse := JSON::Parse( htmlresult );
+ //info( htmlresponse );
+
+ info( "Init StockingPoint For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "StockingPoint" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ spparameter := owner.GlobalParameters( relnew );
+ spparameter.AttributeName( "StockingPoint" );
+ spparameter.AttributeValue( "/otdService/https/GetStockingPointsInfo" );
+ spparameter.Address( "api-uat-sgc.tianma.cn" );
+ spparameter.Port( "443" );
+ bodynumber := "2";
+ postrequestbody := JSON::Object()
+ .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
+ .Add( "fromSystemCode", "OTDH000" + bodynumber )
+ .Add( "toInterfaceCode", "QIDH000" + bodynumber )
+ .Add( "ouZone", "OU_TMSH" )
+ .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
+ .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
+ .Add( "dataType", "JSON" )
+ .Add( "data", JSON::Object()
+ .Add( "pageIndex", "1" ) ).Build();
+ postrequestbodystring := postrequestbody.AsString();
+ spparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init CurrencyInfo For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ ciparameter := owner.GlobalParameters( relnew );
+ ciparameter.AttributeName( "CurrencyInfo" );
+ ciparameter.AttributeValue( "/otdService/https/GetCurrenciesInfo" );
+ ciparameter.Address( "api-uat-sgc.tianma.cn" );
+ ciparameter.Port( "443" );
+ bodynumber := "1";
+ postrequestbody := JSON::Object()
+ .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
+ .Add( "fromSystemCode", "OTDH000" + bodynumber )
+ .Add( "toInterfaceCode", "QIDH000" + bodynumber )
+ .Add( "ouZone", "OU_TMSH" )
+ .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
+ .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
+ .Add( "dataType", "JSON" )
+ .Add( "data", JSON::Object()
+ .Add( "pageIndex", "1" ) ).Build();
+ postrequestbodystring := postrequestbody.AsString();
+ ciparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init CurrencyRates For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "CurrencyRates" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ crparameter := owner.GlobalParameters( relnew );
+ crparameter.AttributeName( "CurrencyRates" );
+ crparameter.AttributeValue( "/otdService/https/GetCurrencyRatesInfo" );
+ crparameter.Address( "api-uat-sgc.tianma.cn" );
+ crparameter.Port( "443" );
+ bodynumber := "5";
+ postrequestbody := JSON::Object()
+ .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
+ .Add( "fromSystemCode", "OTDH000" + bodynumber )
+ .Add( "toInterfaceCode", "QIDH000" + bodynumber )
+ .Add( "ouZone", "OU_TMSH" )
+ .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
+ .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
+ .Add( "dataType", "JSON" )
+ .Add( "data", JSON::Object()
+ .Add( "pageIndex", "1" ) ).Build();
+ postrequestbodystring := postrequestbody.AsString();
+ crparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init Lanes For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "Lanes" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ lparameter := owner.GlobalParameters( relnew );
+ lparameter.AttributeName( "Lanes" );
+ lparameter.AttributeValue( "/otdService/https/GetLanesInfo" );
+ lparameter.Address( "api-uat-sgc.tianma.cn" );
+ lparameter.Port( "443" );
+ bodynumber := "3";
+ postrequestbody := JSON::Object()
+ .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
+ .Add( "fromSystemCode", "OTDH000" + bodynumber )
+ .Add( "toInterfaceCode", "QIDH000" + bodynumber )
+ .Add( "ouZone", "OU_TMSH" )
+ .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
+ .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
+ .Add( "dataType", "JSON" )
+ .Add( "data", JSON::Object()
+ .Add( "pageIndex", "1" ) ).Build();
+ postrequestbodystring := postrequestbody.AsString();
+ lparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init LaneLegs For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "LaneLegs" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ llparameter := owner.GlobalParameters( relnew );
+ llparameter.AttributeName( "LaneLegs" );
+ llparameter.AttributeValue( "/otdService/https/GetLaneLegsInfo" );
+ llparameter.Address( "api-uat-sgc.tianma.cn" );
+ llparameter.Port( "443" );
+ bodynumber := "4";
+ postrequestbody := JSON::Object()
+ .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber )
+ .Add( "fromSystemCode", "OTDH000" + bodynumber )
+ .Add( "toInterfaceCode", "QIDH000" + bodynumber )
+ .Add( "ouZone", "OU_TMSH" )
+ .Add( "uuid", "1617355496bb588e353e80147eea5f45" )
+ .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) )
+ .Add( "dataType", "JSON" )
+ .Add( "data", JSON::Object()
+ .Add( "pageIndex", "1" ) ).Build();
+ postrequestbodystring := postrequestbody.AsString();
+ llparameter.PostRequestBody( postrequestbodystring );
+ *]
+}
diff --git a/_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl b/_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl
new file mode 100644
index 0000000..7496bd1
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type GlobalParameters
+{
+ #keys: '5[412960.0.369930026][412960.0.369930024][0.0.0][412960.0.369930025][412960.0.369930027]'
+ BaseType: Object
+ Description: '鍏ㄥ眬鍙傛暟'
+ StructuredName: 'GlobalParameterss'
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl
new file mode 100644
index 0000000..0ee01a8
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsCommon
+{
+ #keys: '3[414702.1.228025354][414702.1.228025353][414702.1.228025355]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..8ed3bfe
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.220612402][414702.1.220612401][414702.1.220612403]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl
new file mode 100644
index 0000000..3f5b37c
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcIsCommon
+{
+ TextBody:
+ [*
+ // hongjli Oct-24-2023 (created)
+
+ value := guard( select( this, Global_MappingProduct_MP, tempGMPMP, true ).IsCommon(), false );
+
+ this.IsCommon( value );
+ *]
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..9cf3238
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ globalOTDTable -> Global_InventorySupplyCategory::CreateStream()
+ -> DataInterfaceLog::Success( dataInterfaceLogID )
+ -> Exception()
+ -> DataInterfaceLog::OnException( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_CreateStream.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_CreateStream.qbl
new file mode 100644
index 0000000..a39e004
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_CreateStream.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateStream (
+ GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDTable]
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_InventorySupplyCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingInventorySupply,
+ tempGMIS, true, tempGMIS.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_InventorySupplyCategory( relnew, ProductID := id );
+ }
+
+ return emit( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl
new file mode 100644
index 0000000..9acdd56
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_InventorySupplyCategory
+{
+ #keys: '5[414702.1.220612398][414702.1.220612396][0.0.0][414702.1.220612397][414702.1.220612399]'
+ BaseType: Object
+ StructuredName: 'Global_InventorySupplyCategorys'
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_Critical.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_Critical.qbl
new file mode 100644
index 0000000..d8e681a
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_Critical.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Critical
+{
+ #keys: '3[414882.0.72610025][414882.0.72610024][414882.0.72610026]'
+ Description: '鍏抽敭鐗╂枡'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl
new file mode 100644
index 0000000..037726d
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsCommon
+{
+ #keys: '3[414702.1.226768068][414702.1.226768067][414702.1.226768069]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl
new file mode 100644
index 0000000..6d30cca
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute KeyProduct
+{
+ #keys: '3[414702.1.226768051][414702.1.226768050][414702.1.226768052]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..694b52b
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.226767995][414702.1.226767994][414702.1.226767996]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcCritical.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcCritical.qbl
new file mode 100644
index 0000000..a6a025e
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcCritical.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcCritical
+{
+ TextBody:
+ [*
+ // hongjli Oct-24-2023 (created)
+
+ value := guard( select( this, Global_MappingProduct_MP, tempGMPMP, true ).Critical(), false );
+
+ this.Critical(value);
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl
new file mode 100644
index 0000000..3f5b37c
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcIsCommon
+{
+ TextBody:
+ [*
+ // hongjli Oct-24-2023 (created)
+
+ value := guard( select( this, Global_MappingProduct_MP, tempGMPMP, true ).IsCommon(), false );
+
+ this.IsCommon( value );
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl
new file mode 100644
index 0000000..1e84bcc
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcKeyProduct
+{
+ TextBody:
+ [*
+ // hongjli Oct-24-2023 (created)
+
+ value := guard( select( this, Global_MappingProduct_MP, tempGMPMP, true ).KeyProduct(), false );
+
+ this.KeyProduct( value );
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..fcc0484
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ globalOTDTable -> Global_MAPISPIPCategory::CreateStream()
+ -> DataInterfaceLog::Success( dataInterfaceLogID )
+ -> Exception()
+ -> DataInterfaceLog::OnException( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_CreateStream.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_CreateStream.qbl
new file mode 100644
index 0000000..125e79a
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_CreateStream.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateStream (
+ GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDTable]
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MAPISPIPCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingActualProductInStockingPointInPeriod,
+ tempGMAPISPIP, true, tempGMAPISPIP.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_MAPISPIPCategory( relnew, ProductID := id );
+ }
+
+ return emit( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl
new file mode 100644
index 0000000..a8193a5
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MAPISPIPCategory
+{
+ #keys: '5[414702.1.226767991][414702.1.226767989][0.0.0][414702.1.226767990][414702.1.226767992]'
+ BaseType: Object
+ StructuredName: 'Global_MAPISPIPCategorys'
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
new file mode 100644
index 0000000..c5cc65f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768045]'
+ Expression:
+ [*
+ targetGlobal_MAPISPIPCategory := select( this.GlobalOTDTable(), Global_MAPISPIPCategory, tempGMAPISPIPC,
+ tempGMAPISPIPC.ProductID() = this.ProductID() );
+
+ return targetGlobal_MAPISPIPCategory;
+ *]
+ Relation: Global_MAPISPIPCategory
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl
index 984a0eb..ad249d7 100644
--- a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -12,14 +12,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾瀹為檯搴撳瓨鏁版嵁",
+ BrokerName := "鍚屾瀹為檯搴撳瓨鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingActualPISPIPData( businessTypes, globalOTDTable, isKeyProduct, organcodelist );
+ macroPlan.DoASyncMappingActualPISPIPData( businessTypes, globalOTDTable, isKeyProduct, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_CreateData.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..6905cec
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_CreateData.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ GlobalOTDTable this,
+ String executionUser
+)
+{
+ TextBody: 'Global_MappingAnnualBudgetData::SynchronizeInterfaceData( this, executionUser, "Global_MappingAnnualBudgetData" );'
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_SynchronizeInterfaceData.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_SynchronizeInterfaceData.qbl
new file mode 100644
index 0000000..7c8452d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetData/StaticMethod_SynchronizeInterfaceData.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizeInterfaceData (
+ GlobalOTDTable globalOTDTable,
+ String executionUser,
+ String brokerName
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MappingAnnualBudgetData( relflush );
+ isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName );
+ if ( not isCanRun ) {
+ Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser );
+ globalOTDTable.GlobalOTDTable_AnnualBudgetData().AsyncExecute();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_Item.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_Item.qbl
new file mode 100644
index 0000000..3e56d2f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_Item.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Item
+{
+ #keys: '3[414702.1.390427039][414702.1.390427038][414702.1.390427040]'
+ Description: '鐗╂枡'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganCode.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganCode.qbl
new file mode 100644
index 0000000..23c3a79
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganCode.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganCode
+{
+ #keys: '3[414702.1.390427006][414702.1.390427005][414702.1.390427007]'
+ Description: '缁勭粐缂栫爜'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganName.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganName.qbl
new file mode 100644
index 0000000..9a7761f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_OrganName.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganName
+{
+ #keys: '3[414702.1.390427016][414702.1.390427015][414702.1.390427017]'
+ Description: '缁勭粐鍚嶇О'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_PlantName.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_PlantName.qbl
new file mode 100644
index 0000000..1541f58
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_PlantName.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlantName
+{
+ #keys: '3[414702.1.390427026][414702.1.390427025][414702.1.390427027]'
+ Description: '宸ュ巶鍚嶇О'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionDate.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionDate.qbl
new file mode 100644
index 0000000..648a6a8
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionDate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TransactionDate
+{
+ #keys: '3[414702.1.390427059][414702.1.390427058][414702.1.390427060]'
+ IsReadOnly: true
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionQTY.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionQTY.qbl
new file mode 100644
index 0000000..99766dd
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/Attribute_TransactionQTY.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TransactionQTY
+{
+ #keys: '3[414702.1.390427049][414702.1.390427048][414702.1.390427050]'
+ Description: '鍏ュ簱鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/StaticMethod_SynchronizeInterfaceData.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/StaticMethod_SynchronizeInterfaceData.qbl
new file mode 100644
index 0000000..aa3fb6b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/StaticMethod_SynchronizeInterfaceData.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizeInterfaceData (
+ GlobalOTDTable globalOTDTable,
+ String executionUser,
+ String brokerName
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MappingSummaryOfInboundTransaction( relflush );
+ isCanRun := Global_BrokerExecuteLog::CanRun( globalOTDTable, brokerName );
+ if ( not isCanRun ) {
+ Global_BrokerExecuteLog::CreateInOperation( globalOTDTable, brokerName, executionUser );
+ globalOTDTable.GlobalOTDTable_SummaryOfInboundTransaction().AsyncExecute();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/TypeIndex_Global_MappingSummaryOfInboundTransactionTypeIndex.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/TypeIndex_Global_MappingSummaryOfInboundTransactionTypeIndex.qbl
new file mode 100644
index 0000000..5cbba27
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/TypeIndex_Global_MappingSummaryOfInboundTransactionTypeIndex.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex Global_MappingSummaryOfInboundTransactionTypeIndex
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: OrganCode
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: PlantName
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: OrganName
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: Item
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: TransactionDate
+ }
+ ]
+}
diff --git a/_Main/BL/Type_Global_MappingAnnualBudgetReview/_ROOT_Type_Global_MappingSummaryOfInboundTransaction.qbl b/_Main/BL/Type_Global_MappingAnnualBudgetReview/_ROOT_Type_Global_MappingSummaryOfInboundTransaction.qbl
new file mode 100644
index 0000000..f5f75de
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingAnnualBudgetReview/_ROOT_Type_Global_MappingSummaryOfInboundTransaction.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MappingSummaryOfInboundTransaction
+{
+ #keys: '5[414702.1.390426984][414702.1.390426982][0.0.0][414702.1.390426983][414702.1.390426985]'
+ BaseType: Object
+ StructuredName: 'Global_MappingSummaryOfInboundTransactions'
+}
diff --git a/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl
index 9467117..51aa067 100644
--- a/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingConversionFactor/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,14 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍗曚綅杞崲鏁版嵁",
+ BrokerName := "鍚屾鍗曚綅杞崲鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingBaseConversionFactorData(globalOTDTable);
+ macroPlan.DoASyncMappingBaseConversionFactorData(globalOTDTable);
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl
index e3b0e63..c8828b9 100644
--- a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl
@@ -8,11 +8,11 @@
[*
globalOTDTable.Global_MappingCurrencyRate_MP( relflush );
- bodynumber := "5";
- postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetCurrencyRatesInfo";
- port := 443;
+ parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyRates" );
+ postrequestbody := parameter.PostRequestBody();
+ address := parameter.Address();
+ url := parameter.AttributeValue();
+ port := [Number]parameter.Port();
i := HTTPInterface::Create( address, port);
i.URL( url );
i.SSL( true );
diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 5913ebe..e30d9ef 100644
--- a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,29 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾璐у竵姹囩巼鏁版嵁",
+ BrokerName := "鍚屾璐у竵姹囩巼鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( CurrencyRate_MPs );
- traverse( globalOTDTable, Global_MappingCurrencyRate_MP, gcr, true )
- {
- a := CurrencyRate_MP::CreateCurrencyRate( gcr.CurrencyID(), gcr.Start(), gcr.Rate() );
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Currency_MP.CurrencyRate_MP, cr, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ CurrencyRate_MP::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl
index 2480088..4370c77 100644
--- a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl
@@ -8,11 +8,11 @@
[*
globalOTDTable.Global_MappingCurrency_MP( relflush );
- bodynumber := "1";
- postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetCurrenciesInfo";
- port := 443;
+ parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" );
+ postrequestbody := parameter.PostRequestBody();
+ address := parameter.Address();
+ url := parameter.AttributeValue();
+ port := [Number]parameter.Port();
i := HTTPInterface::Create( address, port);
i.URL( url );
i.SSL( true );
@@ -31,7 +31,8 @@
globalOTDTable.Global_MappingCurrency_MP( relnew,
ID := guard( datalist.Get( j ).Get( "id" ).GetString(), "" ),
Name := guard( datalist.Get( j ).Get( "name" ).GetString(), "" ),
- IsBase := guard( datalist.Get( j ).Get( "isbase" ).GetBoolean(), false )
+ // IsBase := guard( datalist.Get( j ).Get( "isbase" ).GetBoolean(), false )
+ IsBase := ifexpr( datalist.Get( j ).Get( "isbase" ).GetString() = "TRUE", true, false )
);
}
diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 38ac6bb..31f2109 100644
--- a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,29 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾璐у竵鏁版嵁",
+ BrokerName := "鍚屾璐у竵鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( Currency_MPs );
- traverse( globalOTDTable, Global_MappingCurrency_MP, gc, true )
- {
- a := Currency_MP::CreateCurrency( macroPlan, gc.ID(), gc.Name(), " ", gc.IsBase() );
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Currency_MP, c, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ Currency_MP::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_CreateCustomOrder.qbl b/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_CreateCustomOrder.qbl
index f07437b..39682d8 100644
--- a/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_CreateCustomOrder.qbl
+++ b/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_CreateCustomOrder.qbl
@@ -34,12 +34,17 @@
false
);
targetCustomerOrder.BusinessType( gmco.BusinessType() );
- targetCustomerOrder.OrderType( gmco.OrderType() );
+ // CustomerPolicy
targetCustomerOrder.IsAvailable( gmco.IsAvailable() );
+ // IsLocked
+ // LastModify
+ // LastModifyTime
+ // OrderTag
+ targetCustomerOrder.OrderTime( gmco.OrderTime() );
+ targetCustomerOrder.OrderType( gmco.OrderType() );
targetCustomerOrder.ProductGrade( gmco.ProductGrade() );
targetCustomerOrder.SegmentPriority( gmco.SegmentPriority() );
targetCustomerOrder.SheetProfitability( gmco.SheetProfitability() );
- targetCustomerOrder.OrderTime( gmco.OrderTime() );
}
*]
}
diff --git a/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl
index 9a69cf5..7e2f51f 100644
--- a/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingCustomOrder/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -3,20 +3,23 @@
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
MacroPlan macroPlan,
+ Strings businessTypes,
+ Strings organcodelist,
String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾璁㈠崟鏁版嵁",
+ BrokerName := "鍚屾璁㈠崟鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- Global_MappingCustomOrder::CreateCustomOrder( globalOTDTable, macroPlan );
+ macroPlan.DoASyncMappingCustomerOrderData( businessTypes, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_ProductGrade.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_ProductGrade.qbl
new file mode 100644
index 0000000..8badfce
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_ProductGrade.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductGrade
+{
+ #keys: '3[414996.0.21578321][414996.0.21578320][414996.0.21578322]'
+ Description: '浜у搧绛夌骇'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_SegmentPriority.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_SegmentPriority.qbl
new file mode 100644
index 0000000..0a38886
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_SegmentPriority.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SegmentPriority
+{
+ #keys: '3[414996.0.21578344][414996.0.21578343][414996.0.21578345]'
+ Description: '缁嗗垎甯傚満浼樺厛绾�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/Attribute_SheetProfitability.qbl b/_Main/BL/Type_Global_MappingForecast/Attribute_SheetProfitability.qbl
new file mode 100644
index 0000000..244baca
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingForecast/Attribute_SheetProfitability.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SheetProfitability
+{
+ #keys: '3[414996.0.21578334][414996.0.21578333][414996.0.21578335]'
+ Description: '澶у紶鐩堝埄'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl
index ef72e85..cb14755 100644
--- a/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingForecast/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾棰勬祴鏁版嵁",
+ BrokerName := "鍚屾棰勬祴鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingForecastData( businessTypes, globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingForecastData( businessTypes, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl b/_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
new file mode 100644
index 0000000..3756789
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612460]'
+ Expression:
+ [*
+ targetGlobal_InventorySupplyCategory := select( this.GlobalOTDTable(), Global_InventorySupplyCategory, tempGISC,
+ tempGISC.ProductID() = this.ProductID() );
+
+ return targetGlobal_InventorySupplyCategory;
+ *]
+ Relation: Global_InventorySupplyCategory
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl
index 06d00c5..7de7b35 100644
--- a/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingInventorySupply/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -12,14 +12,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍦ㄩ�斿簱瀛樻暟鎹�",
+ BrokerName := "鍚屾鍦ㄩ�斿簱瀛樻暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingExternalSupplyData( businessTypes, isKeyProduct, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl
index e46efd6..d1f365c 100644
--- a/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl
+++ b/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl
@@ -8,11 +8,11 @@
[*
globalOTDTable.Global_MappingLane( relflush );
- bodynumber := "3";
- postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetLanesInfo";
- port := 443;
+ parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "Lanes" );
+ postrequestbody := parameter.PostRequestBody();
+ address := parameter.Address();
+ url := parameter.AttributeValue();
+ port := [Number]parameter.Port();
i := HTTPInterface::Create( address, port);
i.URL( url );
i.SSL( true );
diff --git a/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl
index 60224b2..6cfc45e 100644
--- a/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingLane/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,61 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾杞﹂亾鏁版嵁",
+ BrokerName := "鍚屾杞﹂亾鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( Lanes );
- traverse( globalOTDTable, Global_MappingLane, gl, true )
- {
- id := gl.ID();
- unitid := gl.UnitID();
- name := gl.Name();
- userleadtime := gl.UserLeadTime();
- processingtime := Duration::Zero();
-
- unitofmeasurename := "PCS";
- currencyid := "CNY";
- startdate := Date::Date( 1900, 1, 1 );
- enddate := Date::Date( 9999, 12, 31 );
- capacitytype := "Transport quantity";
- if( userleadtime.Length() = 0 )
- {
- processingtime := Duration::Zero();
- }
- else
- {
- processingtime := Duration::Hours( [Number]userleadtime );
- };
-
- unit := Unit::FindUnitTypeIndex( unitid );
- if( isnull( unit)){
- unit :=macroPlan.Unit( relnew,
- ID := unitid,
- Name := unitid,
- UnitOfMeasureName := unitofmeasurename,
- CurrencyID := currencyid,
- StartDate := startdate,
- EndDate := enddate,
- CapacityType := capacitytype );
- }
-
- a := Lane::CreateLane( unit, id, name, processingtime);
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Unit.Lane, l, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ Lane::CreasteFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl
index 7899f6e..ad5182b 100644
--- a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl
+++ b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl
@@ -8,11 +8,11 @@
[*
globalOTDTable.Global_MappingLaneLeg( relflush );
- bodynumber := "4";
- postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetLaneLegsInfo";
- port := 443;
+ parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "LaneLegs" );
+ postrequestbody := parameter.PostRequestBody();
+ address := parameter.Address();
+ url := parameter.AttributeValue();
+ port := [Number]parameter.Port();
i := HTTPInterface::Create( address, port);
i.URL( url );
i.SSL( true );
diff --git a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl
index d1743ec..dacd193 100644
--- a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,44 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾杞﹂亾璺嚎鏁版嵁",
+ BrokerName := "鍚屾杞﹂亾璺嚎鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( LaneLegs );
- traverse( globalOTDTable, Global_MappingLaneLeg, gll, true )
- {
- processingtime := Duration::Zero();
- hasprocessingtime := true;
- userleadtime := gll.UserLeadTime();
- if( userleadtime.Length() = 0 )
- {
- hasprocessingtime := false;
- processingtime := Duration::Zero();
- }
- else
- {
- hasprocessingtime := true;
- processingtime := Duration::Hours( [Number]userleadtime );
- };
-
- lane := Lane::FindLaneTypeIndex( gll.LaneID() );
- a := LaneLeg::CreateLaneleg(lane, gll.LaneID(), gll.OriginStockingPointID(), gll.DestinationStockingPointID(), gll.Name(), hasprocessingtime, processingtime);
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, Unit.Lane.LaneLeg, ll, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ LaneLeg::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl
index 6a663dd..59d2808 100644
--- a/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingOperation/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾宸ヨ壓璺嚎鏁版嵁",
+ BrokerName := "鍚屾宸ヨ壓璺嚎鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingOperationData( businessTypes ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationData( businessTypes, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl
index 3198fd5..86e1e89 100644
--- a/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingOperationBOM/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -13,14 +13,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾BOM鏁版嵁",
+ BrokerName := "鍚屾BOM鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial, globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial, globalOTDTable, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl b/_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
new file mode 100644
index 0000000..e3c341b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_ProductInLineCategory
+{
+ #keys: '1[414702.1.224718199]'
+ Expression:
+ [*
+ targeGlobal_ProductInLineCategory := select( this.GlobalOTDTable(), Global_ProductInLineCategory, tempGPILC,
+ tempGPILC.ProductID() = this.ProductID() );
+
+ return targeGlobal_ProductInLineCategory;
+ *]
+ Relation: Global_ProductInLineCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl
index 9e722b5..00eddb8 100644
--- a/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingProductInLane/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -3,20 +3,22 @@
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
MacroPlan macroPlan,
+ Strings businessTypes,
String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾杩愯緭璺嚎浜у搧鏁版嵁",
+ BrokerName := "鍚屾杩愯緭璺嚎浜у搧鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingProductInLaneData(globalOTDTable);
+ macroPlan.DoASyncMappingProductInLaneData( globalOTDTable, businessTypes );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Critical.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Critical.qbl
new file mode 100644
index 0000000..bdc96fd
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_Critical.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Critical
+{
+ #keys: '3[414882.0.72574612][414882.0.72574611][414882.0.72574613]'
+ Description: '鍏抽敭鐗╂枡'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl
index 431f730..3824133 100644
--- a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_KeyProduct.qbl
@@ -3,5 +3,10 @@
Attribute KeyProduct
{
#keys: '3[414702.0.247711010][414702.0.247711009][414702.0.247711011]'
+ Description:
+ [*
+ 宸插純鐢�
+ 鍏抽敭鐗╂枡娌℃湁鏁版嵁鏉ユ簮锛屼互鍚庝粠鍏朵粬灞炴�ц绠楀緱鍒帮紝鏀逛负Critical
+ *]
ValueType: Boolean
}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
new file mode 100644
index 0000000..3abbab2
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612452]'
+ Expression:
+ [*
+ targetGlobal_InventorySupplyCategory := select( this.GlobalOTDTable(), Global_InventorySupplyCategory, tempGISC,
+ tempGISC.ProductID() = this.ID() );
+
+ return targetGlobal_InventorySupplyCategory;
+ *]
+ Relation: Global_InventorySupplyCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
new file mode 100644
index 0000000..163005b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_MAPISPIPCategory
+{
+ #keys: '1[414702.1.220556366]'
+ Expression:
+ [*
+ targetGlobal_MAPISPIPCategory := select( this.GlobalOTDTable(), Global_MAPISPIPCategory, tempGMAPISPIPC,
+ tempGMAPISPIPC.ProductID() = this.ID() );
+
+ return targetGlobal_MAPISPIPCategory;
+ *]
+ Relation: Global_MAPISPIPCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl
new file mode 100644
index 0000000..435f27d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_ProductCategory
+{
+ #keys: '1[414702.1.223351035]'
+ Expression:
+ [*
+ targetGlobal_ProductCategory := select( this.GlobalOTDTable(), Global_ProductCategory, tempGPC,
+ tempGPC.BusinessTypeName() = this.BusinessType() );
+
+ return targetGlobal_ProductCategory;
+ *]
+ Relation: Global_ProductCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
new file mode 100644
index 0000000..1b1d556
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556292]'
+ Expression:
+ [*
+ targetGlobal_ProductInLineCategory := select( this.GlobalOTDTable(), Global_ProductInLineCategory, tempGPILC,
+ tempGPILC.ProductID() = this.ID() );
+
+ return targetGlobal_ProductInLineCategory;
+ *]
+ Relation: Global_ProductInLineCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
new file mode 100644
index 0000000..de4cbd5
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718256]'
+ Expression:
+ [*
+ targetGlobal_StockingPointCostCategory := select( this.GlobalOTDTable(), Global_StockingPointCostCategory, tempGSPCC,
+ tempGSPCC.ProductID() = this.ID() );
+
+ return targetGlobal_StockingPointCostCategory;
+ *]
+ Relation: Global_StockingPointCostCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Function_CalcCritical.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Function_CalcCritical.qbl
new file mode 100644
index 0000000..be05486
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/Function_CalcCritical.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcCritical
+{
+ TextBody:
+ [*
+ // renhao Oct-30-2023 (created)
+ value := this.ProductMajorType()="鎴愬搧" or this.ProductMajorType()="鍗婃垚鍝�";
+
+ this.Critical(value);
+ *]
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 8c10d2f..47d8f21 100644
--- a/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingProduct_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾浜у搧鏁版嵁",
+ BrokerName := "鍚屾浜у搧鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingProductData( businessTypes, globalOTDTable,isKeyProduct );
+ macroPlan.DoASyncMappingProductData( businessTypes, globalOTDTable, isKeyProduct );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index fc881d2..636f6a8 100644
--- a/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingSalesSegment_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -10,14 +10,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾閿�鍞儴闂ㄦ暟鎹�",
+ BrokerName := "鍚屾閿�鍞儴闂ㄦ暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingSalesSegmentData( businessTypes, globalOTDTable );
+ macroPlan.DoASyncMappingSalesSegmentData( businessTypes, globalOTDTable );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
new file mode 100644
index 0000000..09e4ac2
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718261]'
+ Expression:
+ [*
+ targetGlobal_StockingPointCostCategory := select( this.GlobalOTDTable(), Global_StockingPointCostCategory, tempGSPCC,
+ tempGSPCC.ProductID() = this.ProductID() );
+
+ return targetGlobal_StockingPointCostCategory;
+ *]
+ Relation: Global_StockingPointCostCategory
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl
index df0cc31..adfe937 100644
--- a/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -3,20 +3,22 @@
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
MacroPlan macroPlan,
+ Strings businessTypes,
String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾搴撳瓨鎴愭湰鏁版嵁",
+ BrokerName := "鍚屾搴撳瓨鎴愭湰鏁版嵁",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingInventoryValueAndCostData(globalOTDTable);
+ macroPlan.DoASyncMappingInventoryValueAndCostData( globalOTDTable, businessTypes );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl
index 4901d0a..749075f 100644
--- a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl
@@ -8,11 +8,11 @@
[*
globalOTDTable.Global_MappingStockingPoint_MP( relflush );
- bodynumber := "2";
- postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetStockingPointsInfo";
- port := 443;
+ parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" );
+ postrequestbody := parameter.PostRequestBody();
+ address := parameter.Address();
+ url := parameter.AttributeValue();
+ port := [Number]parameter.Port();
i := HTTPInterface::Create( address, port);
i.URL( url );
i.SSL( true );
diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index 7db4814..a388711 100644
--- a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -9,29 +9,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾搴撳瓨鐐规暟鎹�",
+ BrokerName := "鍚屾搴撳瓨鐐规暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- updates := construct( StockingPoint_MPs );
- traverse( globalOTDTable, Global_MappingStockingPoint_MP, sp, true )
- {
- a := StockingPoint_MP::CreateStockingpoint( macroPlan, sp.ID(), sp.UnitID(), sp.Name() );
- updates.Add( a );
- }
- origindataset := selectset( macroPlan, StockingPoint_MP, sp, true );
- obsoletes := origindataset.Difference( updates );
- // delete obsoleted
- difflength := obsoletes.Size();
- for( j:=0; j<difflength; j++ )
- {
- obsolete := obsoletes.Element( j );
- obsolete.Delete();
- }
-
+ StockingPoint_MP::CreateFromMapping( globalOTDTable, macroPlan );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
diff --git a/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl
index 8f08b84..2b7b644 100644
--- a/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingUnitCost/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -11,14 +11,15 @@
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍒堕�犳垚鏈暟鎹�",
+ BrokerName := "鍚屾鍒堕�犳垚鏈暟鎹�",
+ ExecutionStatus := "InOperation",
IsSuccess := true,
ExecuteUser := executionUser
);
try {
- macroPlan.MappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
+ macroPlan.DoASyncMappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
global_BrokerExecuteLog.ExecutionStatus( "Complete" );
global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
diff --git a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl
index d31811e..30bfa48 100644
--- a/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl
+++ b/_Main/BL/Type_Global_MappingUnitOfMeasure_MP/StaticMethod_SynchronizeMacroPlanData.qbl
@@ -2,30 +2,30 @@
#parent: #root
StaticMethod SynchronizeMacroPlanData (
GlobalOTDTable globalOTDTable,
- MacroPlan macroPlan
+ MacroPlan macroPlan,
+ String executionUser
)
{
TextBody:
[*
global_BrokerExecuteLog := globalOTDTable.Global_BrokerExecuteLog( relnew,
- Name := "鍚屾鍗曚綅鏁版嵁",
- IsSuccess := true
+ BrokerName := "鍚屾鍗曚綅鏁版嵁",
+ ExecutionStatus := "InOperation",
+ IsSuccess := true,
+ ExecuteUser := executionUser
);
try {
- traverse ( globalOTDTable, Global_MappingUnitOfMeasure_MP, gmuommp ) {
- unitOfMeasure_MP := select( macroPlan, UnitOfMeasure_MP, tempUOMMP, tempUOMMP.Name() = gmuommp.Name() );
- if ( isnull( unitOfMeasure_MP ) ) {
- unitOfMeasure_MP := UnitOfMeasure_MP::Create( macroPlan, gmuommp.Name(), false, false );
- }
- if ( gmuommp.IsDefault() ) {
- unitOfMeasure_MP.SetAsDefault();
- }
- }
+ macroPlan.DoASyncMappingUnitOfMeasureData(globalOTDTable);
+
+ global_BrokerExecuteLog.ExecutionStatus( "Complete" );
+ global_BrokerExecuteLog.SuccessDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
} onerror {
global_BrokerExecuteLog.IsSuccess( false );
global_BrokerExecuteLog.ErrorNo( e.ErrorNr() );
global_BrokerExecuteLog.ErrorMessage( e.GeneralInformation() );
+ global_BrokerExecuteLog.ErrorDateTime( DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) );
+ global_BrokerExecuteLog.ExecutionStatus( "Complete" );
}
*]
}
diff --git a/_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl b/_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl
new file mode 100644
index 0000000..e7db0cb
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessTypeName
+{
+ #keys: '3[414702.1.223351026][414702.1.223351025][414702.1.223351027]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..e60b885
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ globalOTDTable -> Global_ProductCategory::CreateStream()
+ -> DataInterfaceLog::Success( dataInterfaceLogID )
+ -> Exception()
+ -> DataInterfaceLog::OnException( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_Global_ProductCategory/StaticMethod_CreateStream.qbl b/_Main/BL/Type_Global_ProductCategory/StaticMethod_CreateStream.qbl
new file mode 100644
index 0000000..6613fb9
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductCategory/StaticMethod_CreateStream.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateStream (
+ GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDTable]
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_ProductCategory( relflush );
+
+ businessTypes := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, tempGMPMP, true, tempGMPMP.BusinessType() );
+
+ traverse ( businessTypes, Elements, bt ) {
+ globalOTDTable.Global_ProductCategory( relnew, BusinessTypeName := bt );
+ }
+
+ return emit( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl b/_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl
new file mode 100644
index 0000000..1e27352
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_ProductCategory
+{
+ #keys: '5[414702.1.222746430][414702.1.222746428][0.0.0][414702.1.222746429][414702.1.222746431]'
+ BaseType: Object
+ StructuredName: 'Global_ProductCategorys'
+}
diff --git a/_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..4611fa8
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.220556241][414702.1.220556240][414702.1.220556242]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..a3021a4
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ globalOTDTable -> Global_ProductInLineCategory::CreateStream()
+ -> DataInterfaceLog::Success( dataInterfaceLogID )
+ -> Exception()
+ -> DataInterfaceLog::OnException( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_CreateStream.qbl b/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_CreateStream.qbl
new file mode 100644
index 0000000..2d15e8f
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_CreateStream.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateStream (
+ GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDTable]
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_ProductInLineCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingProductInLane, tempGMPIL, true, tempGMPIL.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_ProductInLineCategory( relnew, ProductID := id );
+ }
+
+ return emit( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl b/_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl
new file mode 100644
index 0000000..0f700ee
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_ProductInLineCategory
+{
+ #keys: '5[414702.1.220556230][414702.1.220556228][0.0.0][414702.1.220556229][414702.1.220556231]'
+ BaseType: Object
+ StructuredName: 'Global_ProductInLineCategorys'
+}
diff --git a/_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..27e2084
--- /dev/null
+++ b/_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.224718205][414702.1.224718204][414702.1.224718206]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..ceb2861
--- /dev/null
+++ b/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable,
+ String dataInterfaceLogID
+)
+{
+ TextBody:
+ [*
+ globalOTDTable -> Global_StockingPointCostCategory::CreateStream()
+ -> DataInterfaceLog::Success( dataInterfaceLogID )
+ -> Exception()
+ -> DataInterfaceLog::OnException( dataInterfaceLogID );
+ *]
+}
diff --git a/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_CreateStream.qbl b/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_CreateStream.qbl
new file mode 100644
index 0000000..3946f6f
--- /dev/null
+++ b/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_CreateStream.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateStream (
+ GlobalOTDTable globalOTDTable
+) as stream[GlobalOTDTable]
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_StockingPointCostCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingStockingPointCost, tempGMSPC, true, tempGMSPC.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_StockingPointCostCategory( relnew, ProductID := id );
+ }
+
+ return emit( globalOTDTable );
+ *]
+}
diff --git a/_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl b/_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl
new file mode 100644
index 0000000..eec0dca
--- /dev/null
+++ b/_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_StockingPointCostCategory
+{
+ #keys: '5[414702.1.220556235][414702.1.220556233][0.0.0][414702.1.220556234][414702.1.220556236]'
+ BaseType: Object
+ StructuredName: 'Global_StockingPointCostCategorys'
+}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_BusinessType.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_BusinessType.qbl
deleted file mode 100644
index c91ccf2..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
- #keys: '3[414382.0.385610070][414382.0.385610069][414382.0.385610071]'
- Description: '浜嬩笟閮�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CurrencyID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_CurrencyID.qbl
deleted file mode 100644
index 6e3ea82..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CurrencyID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CurrencyID
-{
- #keys: '3[414382.0.385610058][414382.0.385610057][414382.0.385610059]'
- Description: '璐у竵'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Customer.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_Customer.qbl
deleted file mode 100644
index de33204..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Customer.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Customer
-{
- #keys: '3[414382.0.385610043][414382.0.385610042][414382.0.385610044]'
- Description: '瀹㈡埛鍚嶇О'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CustomerID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_CustomerID.qbl
deleted file mode 100644
index 5236115..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_CustomerID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CustomerID
-{
- #keys: '3[414382.0.385610052][414382.0.385610051][414382.0.385610053]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_ID.qbl
deleted file mode 100644
index ab18ec7..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
- #keys: '3[414382.0.385610061][414382.0.385610060][414382.0.385610062]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_IsAvailable.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_IsAvailable.qbl
deleted file mode 100644
index 7b79b6c..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_IsAvailable.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsAvailable
-{
- #keys: '3[414382.0.385610046][414382.0.385610045][414382.0.385610047]'
- Description: '璁㈠崟鏄惁鍙備笌璁″垝'
- ValueType: Boolean
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderDate.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderDate.qbl
deleted file mode 100644
index c8eca1a..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderDate
-{
- #keys: '3[414382.0.385610082][414382.0.385610081][414382.0.385610083]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderID.qbl
deleted file mode 100644
index 993c964..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderID
-{
- #keys: '3[414382.0.385610049][414382.0.385610048][414382.0.385610050]'
- Description: '璁㈠崟鍙�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderLineID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderLineID.qbl
deleted file mode 100644
index 33b2a30..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderLineID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderLineID
-{
- #keys: '3[414382.0.385610040][414382.0.385610039][414382.0.385610041]'
- Description: '璁㈠崟琛屽彿'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderType.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderType.qbl
deleted file mode 100644
index f539ba0..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_OrderType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderType
-{
- #keys: '3[414382.0.385610034][414382.0.385610033][414382.0.385610035]'
- Description: '璁㈠崟绫诲瀷'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Price.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_Price.qbl
deleted file mode 100644
index 50d7084..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Price.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Price
-{
- #keys: '3[414382.0.385610055][414382.0.385610054][414382.0.385610056]'
- Description: '鍗曚环'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_PriorityName.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_PriorityName.qbl
deleted file mode 100644
index 38db16d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_PriorityName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityName
-{
- #keys: '3[414382.0.385610079][414382.0.385610078][414382.0.385610080]'
- Description: '浼樺厛绾�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ProductID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_ProductID.qbl
deleted file mode 100644
index 018fc15..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[414382.0.385610067][414382.0.385610066][414382.0.385610068]'
- Description: '浜у搧缂栫爜'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Quantity.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_Quantity.qbl
deleted file mode 100644
index 06b7d7d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_Quantity.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Quantity
-{
- #keys: '3[414382.0.385610076][414382.0.385610075][414382.0.385610077]'
- Description: '鏁伴噺'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesAmount.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesAmount.qbl
deleted file mode 100644
index b5fe9ed..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesAmount.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesAmount
-{
- #keys: '3[414382.0.394810026][414382.0.394810025][414382.0.394810027]'
- ValueType: Number
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesSegmentName.qbl
deleted file mode 100644
index 5c59143..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_SalesSegmentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesSegmentName
-{
- #keys: '3[414382.0.385610064][414382.0.385610063][414382.0.385610065]'
- Description: '閿�鍞儴闂ㄥ悕绉�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_StockPointID.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_StockPointID.qbl
deleted file mode 100644
index ae7cbb1..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_StockPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockPointID
-{
- #keys: '3[414382.0.385610073][414382.0.385610072][414382.0.385610074]'
- Description: '搴撳瓨鐐瑰敮涓�鏍囪瘑'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index d6b4ecf..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
- #keys: '3[414382.0.385610037][414382.0.385610036][414382.0.385610038]'
- Description: '鍗曚綅'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Attribute_VerNo.qbl b/_Main/BL/Type_HistoricalSalesOrder/Attribute_VerNo.qbl
deleted file mode 100644
index fdb397d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Attribute_VerNo.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute VerNo
-{
- #keys: '3[414382.0.385610106][414382.0.385610105][414382.0.385610107]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CurrencyID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CurrencyID.qbl
deleted file mode 100644
index cae9679..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CurrencyID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: CurrencyID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_Customer.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_Customer.qbl
deleted file mode 100644
index e02a336..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_Customer.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: Customer
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CustomerID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CustomerID.qbl
deleted file mode 100644
index 66ae438..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_CustomerID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: CustomerID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_IsAvailable.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_IsAvailable.qbl
deleted file mode 100644
index efaa00d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_IsAvailable.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- ISOValue: 'true'
- TargetAttribute: IsAvailable
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderID.qbl
deleted file mode 100644
index 05c5cf1..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: OrderID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderLineID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderLineID.qbl
deleted file mode 100644
index 01ff2bf..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderLineID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: OrderLineID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_PriorityName.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_PriorityName.qbl
deleted file mode 100644
index 59ad087..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_PriorityName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: PriorityName
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_ProductID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_ProductID.qbl
deleted file mode 100644
index 98649b2..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_ProductID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: ProductID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_SalesSegmentName.qbl
deleted file mode 100644
index 521966d..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_SalesSegmentName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: SalesSegmentName
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_StockPointID.qbl b/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_StockPointID.qbl
deleted file mode 100644
index 7c0c612..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_StockPointID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: StockPointID
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/Method_GetProductIdString.qbl b/_Main/BL/Type_HistoricalSalesOrder/Method_GetProductIdString.qbl
deleted file mode 100644
index 25fd342..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/Method_GetProductIdString.qbl
+++ /dev/null
@@ -1,26 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method GetProductIdString (
- MacroPlan owner,
- String businessType
-) as String
-{
- TextBody:
- [*
- // NBoTk Sep-13-2023 (created)
-
- productIDs := selectuniquevalues( owner,MappingProduct,product,
- product.BusinessType() = businessType,
- product.ID()
- );
-
- value := "TC067FYMM05-00;B26700040";
-
- if( not isnull( productIDs) )
- {
- value := productIDs.Concatenate( ";");
- }
-
- return value;
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerID.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerID.qbl
deleted file mode 100644
index d7d5927..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerID.qbl
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetCustomerID (
- MacroPlan owner,
- String customer
-) as String
-{
- TextBody:
- [*
- // NBoTk Sep-13-2023 (created)
-
-
- cunstomer := select( owner,MappingCustomerOrder,order,
- order.Customer() = customer
- );
-
- return cunstomer.CustomerID();
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerString.qbl
deleted file mode 100644
index c039119..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetCustomerString.qbl
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetCustomerString (
- MacroPlan owner,
- String businessType
-) as String
-{
- TextBody:
- [*
- // NBoTk Sep-13-2023 (created)
-
- customers := selectuniquevalues( owner,MappingCustomerOrder,order,
- order.BusinessType() = businessType,
- order.Customer()
- );
-
-
-
- value := customers.Concatenate( ";");
-
- if( value = "" )
- {
- value := "灏忕背閫氳鎶�鏈湁闄愬叕鍙�";
- }
-
- return value;
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetHistoricalSalesOrders.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetHistoricalSalesOrders.qbl
deleted file mode 100644
index 2a8fe90..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetHistoricalSalesOrders.qbl
+++ /dev/null
@@ -1,64 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetHistoricalSalesOrders (
- String businessType,
- String customer,
- String sheetProfitability,
- String productID,
- Date end,
- MacroPlan owner,
- Date start
-) as owning HistoricalSalesOrders
-{
- Description: 'Get historical sales orders of deleiveryCells'
- TextBody:
- [*
- // NBoTk Sep-11-2023 (created)
-
- // filter businessType start end
- // start default 3 years, end is today
- value := selectset( owner,HistoricalSalesOrder,order,
- true,
- order.BusinessType() = businessType
- and order.OrderDate() >= start
- and order.OrderDate() <= end
- );
-
- // filter customer
- if(customer <> '' )
- {
- value := selectset( value,Elements,orer,
- true,
- orer.Customer() = customer
- );
- }
-
- // filter sheetProfitability
- //if(sheetProfitability <> '' )
- //{
- // value := selectset( value,Elements,orer,
- // true,
- // orer.S() = sheetProfitability
- // );
- //}
-
- // filter productID
- if(productID <> '' )
- {
- value := selectset( value,Elements,orer,
- true,
- orer.ProductID() = productID
- );
- }
-
- // order by 鐩堝埄姘村钩 闇�姹傛椂闂�
-
- value := selectsortedset( value,Elements,order,
- true,
- //order.SheetProfitability(),
- order.OrderDate()
- );
-
- return &value;
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetProductIdString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetProductIdString.qbl
deleted file mode 100644
index faa36c9..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetProductIdString.qbl
+++ /dev/null
@@ -1,27 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetProductIdString (
- MacroPlan owner,
- String businessType
-) as String
-{
- TextBody:
- [*
- // NBoTk Sep-13-2023 (created)
-
- productIDs := selectuniquevalues( owner,MappingProduct,product,
- product.BusinessType() = businessType,
- product.ID()
- );
-
- value := productIDs.Concatenate( ";");
-
-
- if( value = "" )
- {
- value := "TC067FYMM05-00;B26700040";
- }
-
- return value;
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetSalesSegmentString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetSalesSegmentString.qbl
deleted file mode 100644
index e76aaec..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetSalesSegmentString.qbl
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetSalesSegmentString (
- MacroPlan owner,
- String businessType
-) as String
-{
- TextBody:
- [*
- // NBoTk Sep-13-2023 (created)
-
- salesSegments := selectuniquevalues( owner,MappingSalesSegment,salesSegment,
- salesSegment.BusinessType() = businessType,
- salesSegment.ParentName()
- );
-
-
-
- value := salesSegments.Concatenate( ";");
-
-
- if( value = "" )
- {
- value := "娑堣垂鍝佽惀閿�涓績;閿�鍞竴绉�";
- }
- return value;
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetStockingPointString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetStockingPointString.qbl
deleted file mode 100644
index d7ce897..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetStockingPointString.qbl
+++ /dev/null
@@ -1,25 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetStockingPointString (
- MacroPlan owner,
- String businessType
-) as String
-{
- TextBody:
- [*
- // NBoTk Sep-13-2023 (created)
-
- stockingPointIDs := selectuniquevalues( owner,StockingPoint_MP,stock,
- stock.ID()
- );
-
- value := stockingPointIDs.Concatenate( ";");
-
- if( value = "" )
- {
- value := "I13_P;I13_SA";
- }
-
- return value;
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetUnitOfMeasuresString.qbl b/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetUnitOfMeasuresString.qbl
deleted file mode 100644
index 58570ab..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/StaticMethod_GetUnitOfMeasuresString.qbl
+++ /dev/null
@@ -1,26 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetUnitOfMeasuresString (
- MacroPlan owner,
- String businessType
-) as String
-{
- TextBody:
- [*
- // NBoTk Sep-13-2023 (created)
-
- units := selectuniquevalues( owner,MappingUnitOfMeasure,unit,
- unit.Name()
- );
-
-
- value := units.Concatenate( ";");
-
- if( value = "" )
- {
- value := "PCS;MPC";
- }
-
- return value;
- *]
-}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/_ROOT_Type_HistoricalSalesOrder.qbl b/_Main/BL/Type_HistoricalSalesOrder/_ROOT_Type_HistoricalSalesOrder.qbl
deleted file mode 100644
index 3e9f0af..0000000
--- a/_Main/BL/Type_HistoricalSalesOrder/_ROOT_Type_HistoricalSalesOrder.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type HistoricalSalesOrder
-{
- #keys: '5[414382.0.385610030][414382.0.385610028][0.0.0][414382.0.385610029][414382.0.385610031]'
- BaseType: Object
- StructuredName: 'HistoricalSalesOrders'
-}
diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl
index 4116cce..9dec2cd 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_CreateOrUpdate.qbl
@@ -32,16 +32,16 @@
//if( isnull( account ) ) {
// error( "account not found" );
//}
- result := InventoryValueAndCost::FindById( macroPlan, stockingPointId,productId,start,id );
+ result := InventoryValueAndCost::FindById( macroPlan, stockingPointId, productId, start, id );
if( not isnull( product) and not isnull( stockingPoint) and not isnull( account)){
if( isnull( result ) ) {
result := InventoryValueAndCost::Create( id, product, stockingPoint, account, costDriver, start, cost, true ).astype( InventoryValueAndCost );
} else if( result.ProductID() <> productId ) {
info( "cannot change product of inventory value and cost" )
}
- // else {
- // result.Update( account, costDriver, start, account.DefaultTimeUnit(), account.DefaultLengthOfTime(), cost, true );
- // }
+ else {
+ result.Update( account, costDriver, start, account.DefaultTimeUnit(), account.DefaultLengthOfTime(), cost, true );
+ }
}
return result;
diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
index 076964d..0b2323a 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
@@ -2,7 +2,8 @@
#parent: #root
StaticMethod DoASync (
MacroPlan macroPlan,
- const GlobalOTDTable globalOTDTable
+ const GlobalOTDTable globalOTDTable,
+ Strings businessTypeNames
)
{
TextBody:
@@ -11,6 +12,6 @@
//info( "ActualPISPIP Finished, Start InventoryCost Data Broker" );
//macroPlan.Broker_OTD_InventoryCost().Execute();
info( "InventoryCost Data Broker Finished, Start InventoryCost Mapping" );
- macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable);
+ macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable,businessTypeNames);
*]
}
diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl
index 133145d..e49e111 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_FindById.qbl
@@ -12,6 +12,9 @@
[*
// yypsybs Aug-16-2023 (created)
value := select( macroPlan, Product_MP.InventoryValueAndCost, item, true, item.ProductID()=productId and item.StockingPointID() = stockPointId and item.Start() = start );
+ if( isnull( value ) ){
+ value := select( macroPlan, Product_MP.InventoryValueAndCost, item, true, item.ID() = id );
+ }
return value;
*]
}
diff --git a/_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl b/_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl
new file mode 100644
index 0000000..ab95433
--- /dev/null
+++ b/_Main/BL/Type_Lane/StaticMethod_CreasteFromMapping.qbl
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreasteFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( Lanes );
+ traverse( globalOTDTable, Global_MappingLane, gl, true )
+ {
+ id := gl.ID();
+ unitid := gl.UnitID();
+ name := gl.Name();
+ userleadtime := gl.UserLeadTime();
+ processingtime := Duration::Zero();
+
+ unitofmeasurename := "PCS";
+ currencyid := "CNY";
+ startdate := Date::Date( 1900, 1, 1 );
+ enddate := Date::Date( 9999, 12, 31 );
+ capacitytype := "Transport quantity";
+ if( userleadtime.Length() = 0 )
+ {
+ processingtime := Duration::Zero();
+ }
+ else
+ {
+ processingtime := Duration::Hours( [Number]userleadtime );
+ };
+
+ unit := Unit::FindById( macroPlan, unitid );
+ if( isnull( unit)){
+ unit :=macroPlan.Unit( relnew,
+ ID := unitid,
+ Name := unitid,
+ UnitOfMeasureName := unitofmeasurename,
+ CurrencyID := currencyid,
+ StartDate := startdate,
+ EndDate := enddate,
+ CapacityType := capacitytype );
+ }
+
+ a := Lane::CreateLane( macroPlan, unit, id, name, processingtime);
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Unit.Lane, l, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl b/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl
index 64c72eb..286b75f 100644
--- a/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl
+++ b/_Main/BL/Type_Lane/StaticMethod_CreateLane.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateLane (
+ MacroPlan mp,
Unit unit,
String id,
String name,
@@ -19,7 +20,7 @@
isfromdb := true;
//create new stockingpoint
- result := Lane::FindLaneTypeIndex( id );
+ result := Lane::FindById( mp, id );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
index 0c19698..d4e9b77 100644
--- a/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
+++ b/_Main/BL/Type_Lane/StaticMethod_CreateLaneFromJson.qbl
@@ -16,7 +16,6 @@
processingtime := Duration::Zero();
unitofmeasurename := "PCS";
- currencyid := "CNY";
startdate := Date::Date( 1900, 1, 1 );
enddate := Date::Date( 9999, 12, 31 );
capacitytype := "Transport quantity";
@@ -31,17 +30,17 @@
unit := Unit::FindUnitTypeIndex( unitid );
if( isnull( unit)){
- unit :=macroplan.Unit( relnew,
- ID := unitid,
- Name := unitid,
- UnitOfMeasureName := unitofmeasurename,
- CurrencyID := currencyid,
- StartDate := startdate,
- EndDate := enddate,
- CapacityType := capacitytype );
+ unit := macroplan.Unit( relnew, ID := unitid,
+ Name := unitid,
+ ParentUnitID := "杩愯緭",
+ CapacityType := capacitytype,
+ UnitOfMeasureName := unitofmeasurename,
+ CurrencyID := macroplan.BaseCurrency().ID(),
+ StartDate := startdate,
+ EndDate := enddate );
}
- result := Lane::CreateLane( unit, id, name, processingtime);
+ result := Lane::CreateLane( macroplan, unit, id, name, processingtime);
return result;
*]
diff --git a/_Main/BL/Type_Lane/StaticMethod_FindById.qbl b/_Main/BL/Type_Lane/StaticMethod_FindById.qbl
new file mode 100644
index 0000000..05cf40a
--- /dev/null
+++ b/_Main/BL/Type_Lane/StaticMethod_FindById.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindById (
+ MacroPlan mp,
+ String id
+) as Lane
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+ result := select( mp, Unit.Lane, lane, true, lane.ID() = id );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl b/_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl
new file mode 100644
index 0000000..b60c9e4
--- /dev/null
+++ b/_Main/BL/Type_Lane/StaticMethod_FindByIdAndUnit.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByIdAndUnit (
+ Unit unit,
+ String id
+) as Lane
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+
+ result := select( unit, Lane, item, true, item.ID() = id );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..f15c486
--- /dev/null
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( LaneLegs );
+ traverse( globalOTDTable, Global_MappingLaneLeg, gll, true )
+ {
+ processingtime := Duration::Zero();
+ hasprocessingtime := true;
+ userleadtime := gll.UserLeadTime();
+ if( userleadtime.Length() = 0 )
+ {
+ hasprocessingtime := false;
+ processingtime := Duration::Zero();
+ }
+ else
+ {
+ hasprocessingtime := true;
+ processingtime := Duration::Hours( [Number]userleadtime );
+ };
+
+ lane := Lane::FindById( macroPlan, gll.LaneID() );
+ a := LaneLeg::CreateLaneleg( macroPlan, lane, gll.LaneID(), gll.OriginStockingPointID(), gll.DestinationStockingPointID(), gll.Name(), hasprocessingtime, processingtime);
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, Unit.Lane.LaneLeg, ll, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl
index ed77c9e..021a0f6 100644
--- a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneLegFromJson.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateLaneLegFromJson (
+ MacroPlan mp,
JSON datarow
) as LaneLeg
{
@@ -29,7 +30,7 @@
lane := Lane::FindLaneTypeIndex( laneid );
- result := LaneLeg::CreateLaneleg(lane, laneid, originstockingpointid, destinationstockingpointid, name, hasprocessingtime, processingtime);
+ result := LaneLeg::CreateLaneleg( mp, lane, laneid, originstockingpointid, destinationstockingpointid, name, hasprocessingtime, processingtime);
return result;
*]
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl
index c72fe3d..6ca8d7e 100644
--- a/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_CreateLaneleg.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateLaneleg (
+ MacroPlan mp,
Lane lane,
String laneid,
String originstockingpointid,
@@ -25,16 +26,16 @@
isfromdb := true;
//create new stockingpoint
- originstockingpoint := StockingPoint_MP::FindStockingPointTypeIndex( originstockingpointid );
+ originstockingpoint := StockingPoint_MP::FindById( mp, originstockingpointid );
lane.AddStockingPoint( originstockingpoint, true, isfromdb );
Transaction::Transaction().Propagate();
- destinationstockingpoint := StockingPoint_MP::FindStockingPointTypeIndex( destinationstockingpointid );
+ destinationstockingpoint := StockingPoint_MP::FindById( mp, destinationstockingpointid );
lane.AddStockingPoint( destinationstockingpoint, false, isfromdb );
Transaction::Transaction().Propagate();
- result := LaneLeg::FindLaneLegTypeIndex( laneid, originstockingpointid, destinationstockingpointid );
+ result := LaneLeg::FindByIdAndLane( lane, originstockingpointid, destinationstockingpointid );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl b/_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl
new file mode 100644
index 0000000..a6a90ec
--- /dev/null
+++ b/_Main/BL/Type_LaneLeg/StaticMethod_FindByIdAndLane.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByIdAndLane (
+ Lane lane,
+ String originstockingpointid,
+ String destinationstockingpointid
+) as LaneLeg
+{
+ TextBody:
+ [*
+ // yypsybs Aug-14-2023 (created)
+
+ result := select( lane, LaneLeg, item, true, item.OriginStockingPointID() = originstockingpointid and item.DestinationStockingPointID() = destinationstockingpointid );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl b/_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl
deleted file mode 100644
index 1672b03..0000000
--- a/_Main/BL/Type_MacroPlan/DefaultValue_BusinessType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: BusinessType
-}
diff --git a/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl b/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl
index 9f5c492..e4ee8c5 100644
--- a/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_ApiCurencyRatesData.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
Method ApiCurencyRatesData (
+ MacroPlan mp,
JSON data
)
{
@@ -14,7 +15,7 @@
for( i:=0; i<data_length; i++ )
{
datarow := data.Get( i );
- a := CurrencyRate_MP::CreateCurrencyRateFromJson( datarow );
+ a := CurrencyRate_MP::CreateCurrencyRateFromJson( mp, datarow );
updates.Add( a );
}
origindataset := selectset( this, Currency_MP.CurrencyRate_MP, cr, true );
diff --git a/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl b/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl
index 450d6ae..c3e7b0c 100644
--- a/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_ApiLaneLegsData.qbl
@@ -1,6 +1,7 @@
Quintiq file version 2.0
#parent: #root
Method ApiLaneLegsData (
+ MacroPlan mp,
JSON data
)
{
@@ -14,7 +15,7 @@
for( i:=0; i<data_length; i++ )
{
datarow := data.Get( i );
- a := LaneLeg::CreateLaneLegFromJson( datarow );
+ a := LaneLeg::CreateLaneLegFromJson( mp, datarow );
updates.Add( a );
}
origindataset := selectset( this, Unit.Lane.LaneLeg, ll, true );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
index f9c40e7..7140c64 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
@@ -10,11 +10,22 @@
TextBody:
[*
// renhao Aug-14-2023 (created)
- listtodeal := selectset( globalOTDTable,
- Global_MappingActualProductInStockingPointInPeriod,
- actual,
- ( actual.ActualInventoryLevelEnd() > 0 ) and
- ( organcodelist.Find( actual.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ listtodeal := construct( Global_MappingActualProductInStockingPointInPeriods, constcontent );
+ if ( businessTypes.Size() > 0 ) {
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypes, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_MAPISPIPCategory.Global_MappingActualProductInStockingPointInPeriod,
+ tempGMPIL,
+ ( tempGMPIL.ActualInventoryLevelEnd() > 0 ) and
+ ( organcodelist.Find( tempGMPIL.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ } else {
+ listtodeal := selectset( globalOTDTable,
+ Global_MappingActualProductInStockingPointInPeriod,
+ actual,
+ ( actual.ActualInventoryLevelEnd() > 0 ) and
+ ( organcodelist.Find( actual.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ }
totalcount := listtodeal.Size();
info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" );
@@ -24,13 +35,14 @@
if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){
info( "Now is dealing with the " + count.AsQUILL() + "ActualPISPIP " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
}
- product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true);
- if( not isnull( product)){
+ //product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true);
+ //if( guard( actual.Global_MAPISPIPCategory().KeyProduct() = nuclear, false ) ){
+ if( not nuclear or (nuclear and actual.Global_MAPISPIPCategory().Critical() = nuclear) ){
if( not isnull(businessTypes)){
- for( i :=0 ;i < businessTypes.Size();i++ ){
- businessType := businessTypes.Element( i );
- if( product.BusinessType() = businessType and not product.IsCommon()){
+
+ //businessType := businessTypes.Element( i );
+ if( /*product.BusinessType() = businessType and not product.IsCommon()*/ not actual.Global_MAPISPIPCategory().IsCommon() ){
ActualProductInStockingPointInPeriod::CreateOrUpdate( this,
actual.ProductID(),
actual.StockingPointID(),
@@ -38,7 +50,7 @@
actual.ActualInventoryLevelEnd(),
actual.ManufacturedDate());
}
- }
+
}else{
ActualProductInStockingPointInPeriod::CreateOrUpdate( this,
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl
index e56a4f7..16ec956 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingCustomerOrderData.qbl
@@ -22,7 +22,7 @@
( organcodelist.Find( item.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
}
queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
- queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
+ //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
listToDeal := selectset( listToDeal, Elements, item, item.OrderDate() >= queryStartDate /*and item.OrderDate() <= queryEndDate*/, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) );
totalcount := listToDeal.Size();
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
index e8950bc..6b2f316 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
@@ -11,13 +11,27 @@
[*
// renhao Aug-14-2023 (created)
queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
- queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
- listtodeal := selectset( globalOTDTable,
- Global_MappingInventorySupply,
- externalSupply,
- ( externalSupply.UserQuantity()>0 ) and
- ( externalSupply.Date() >= queryStartDate ) and
- ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/);
+ //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
+
+ listtodeal := construct( Global_MappingInventorySupplys, constcontent );
+ if ( businessTypes.Size() > 0 ) {
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypes, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_InventorySupplyCategory.Global_MappingInventorySupply,
+ tempGMIS,
+ ( tempGMIS.UserQuantity()>0 ) and
+ ( tempGMIS.Date() >= queryStartDate ) and
+ ( organcodelist.Find( tempGMIS.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ } else {
+ listtodeal := selectset( globalOTDTable,
+ Global_MappingInventorySupply,
+ externalSupply,
+ ( externalSupply.UserQuantity()>0 ) and
+ ( externalSupply.Date() >= queryStartDate ) and
+ ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/);
+ }
+
totalcount := listtodeal.Size();
description := "鍦ㄩ�斿湪鍒�";
info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" );
@@ -28,18 +42,18 @@
if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){
info( "Now is dealing with the " + count.AsQUILL() + "ExternalSupply " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
}
- product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = externalSupply.ProductID(),true);
+ //product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = externalSupply.ProductID(),true);
- if( not isnull( product)){
+ if( /*not isnull( product)*/ not isnull( externalSupply.Global_InventorySupplyCategory() ) ){
productMP := Product_MP :: FindProductTypeIndex( externalSupply.ProductID());
stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true);
if( not isnull( stockingpoint) and not isnull( productMP)){
if( not isnull(businessTypes)){
for( i :=0 ;i < businessTypes.Size();i++ ){
- businessType := businessTypes.Element( i );
- if( product.BusinessType() = businessType and not product.IsCommon()){
+ //businessType := businessTypes.Element( i );
+ if( /*product.BusinessType() = businessType and not product.IsCommon()*/ not externalSupply.Global_InventorySupplyCategory().IsCommon() ){
InventorySupply::CreateOrUpdate( externalSupply.ID(),
productMP,
stockingpoint,
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
index b0e0349..b000fe9 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
@@ -1,13 +1,24 @@
Quintiq file version 2.0
#parent: #root
Method DoASyncMappingInventoryValueAndCostData (
- const GlobalOTDTable globalOTDTable
+ const GlobalOTDTable globalOTDTable,
+ Strings businessTypeNames
)
{
TextBody:
[*
// yypsybs Aug-15-2023 (created)
- listtodeal := selectset( globalOTDTable,Global_MappingStockingPointCost,item,true );
+ listtodeal := construct( Global_MappingStockingPointCosts, constcontent );
+ if ( businessTypeNames.Size() = 0 ) {
+ listtodeal := selectset( globalOTDTable,Global_MappingStockingPointCost,item,true );
+ } else {
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypeNames, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_StockingPointCostCategory.Global_MappingStockingPointCost,
+ tempGMPIL,
+ true );
+ }
totalcount := listtodeal.Size();
info( "InventoryCost has " + totalcount.AsQUILL() + " rows in total" );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl
index 8c1a8e4..37eb082 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMData.qbl
@@ -13,7 +13,7 @@
// yypsybs Aug-21-2023 (created)
keyProductList := construct( Strings );
if( isKeyProduct ) {
- keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() );
+ keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() );
}
bomList := selectsortedset( globalOTDTable, Global_MappingOperationBOM, item,
ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0,
@@ -75,12 +75,33 @@
}
}
if( createPurchaseSupplyMaterial ) {
- toCreateBomList := selectuniquevalues( bomList, Elements, item,
+ toCreateBomList := construct( Strings );
+ alterCodes := construct( Strings );
+
+ if( isKeyProduct){
+ toCreateBomList := selectuniquevalues( bomList, Elements, item,
item.ComponentType() = "P" and keyProductList.Find( item.ComponentCode())>=0, item.OrganCode() + item.ComponentCode());
+
+ alterCodes := selectuniquevalues( bomList, Elements, item,
+ not item.AlternativeMaterialCode() = "" and item.AlternativeMaterialType() = "P" and keyProductList.Find( item.ComponentCode())>=0, item.OrganCode() + item.AlternativeMaterialCode());
+ }else{
+ toCreateBomList := selectuniquevalues( bomList, Elements, item,
+ item.ComponentType() = "P" , item.OrganCode() + item.ComponentCode());
+
+ alterCodes := selectuniquevalues( bomList, Elements, item,
+ not item.AlternativeMaterialCode() = "" and item.AlternativeMaterialType() = "P", item.OrganCode() + item.AlternativeMaterialCode());
+ }
+ toCreateBomList := toCreateBomList.Union( alterCodes);
traverse( toCreateBomList, Elements, key ) {
boms := selectset( bomList, Elements, item, item.ComponentType() = "P" and item.OrganCode() + item.ComponentCode() = key );
- bom := boms.First();
- this.MappingOperationBOMDataSupplyPurchase( bom.OrganCode(), bom.ComponentCode(), bom.ComponentType());
+ if( boms.Size()=0){
+ boms := selectset( bomList, Elements, item, item.ComponentType() = "P" and item.OrganCode() + item.AlternativeMaterialCode() = key );
+ }
+ if( boms.Size()>0){
+ bom := boms.First();
+ this.MappingOperationBOMDataSupplyPurchase( bom.OrganCode(), bom.ComponentCode(), bom.ComponentType());
+ }
+
}
}
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
index 43f35a0..b575592 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
@@ -65,8 +65,11 @@
true, trash );
mainBOM.Quantity( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
+ mainBOM.MinQuantityInGroup(0);
mainQty := mainBOM.Quantity();
Transaction::Transaction().Propagate();
+
+ altersize := alterRows.Size();
// 娣诲姞杈呮枡
traverse( alterRows, Elements, alterRow ) {
alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() );
@@ -84,14 +87,23 @@
trash := construct( OperationBOMs );
if( not isnull( mainInput ) ) {
alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash );
- alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() );
+ //alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() );
+ //alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() );
+ alterBom.Quantity( mainBOM.MaxQuantityInGroup() / altersize );
alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() );
+ alterBom.MinQuantityInGroup(0);
// info( "Quantity" + [String]alterBom.Quantity() )
// info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() )
mainQty := mainQty - alterBom.Quantity();
}
}
- mainBOM.Quantity( mainQty );
+
+ Transaction::Transaction().Propagate( relation( OperationBOM, OperationInputGroup));
+ if( not isnull( mainBOM.OperationInputGroup())){
+ mainBOM.OperationInputGroup().InputGroupQuantity(mainBOM.MaxQuantityInGroup());
+ mainBOM.Quantity( mainBOM.MaxQuantityInGroup() / altersize );
+ }
+
}
}
}
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl
index 55562f4..8b44c13 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductData.qbl
@@ -16,14 +16,14 @@
if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
if( iskeyproduct = true ){
- listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true );
+ listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�" );
}
else{
listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, true );
}
} else {
if( iskeyproduct = true ){
- listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType() ) >= 0 );
+ listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, (item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�") and businesstypes.Find( item.BusinessType() ) >= 0 );
}
else{
listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType() ) >= 0 );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
index a0521a8..b1434d1 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
@@ -1,7 +1,8 @@
Quintiq file version 2.0
#parent: #root
Method DoASyncMappingProductInLaneData (
- const GlobalOTDTable globalOTDTable
+ const GlobalOTDTable globalOTDTable,
+ Strings businessTypeNames
)
{
Description: 'Get Product In Line data'
@@ -9,7 +10,17 @@
[*
// Administrator Aug-17-2023 (created)
// list to deal
- listtodeal := selectset( globalOTDTable, Global_MappingProductInLane, item ,true );
+ listtodeal := construct( Global_MappingProductInLanes, constcontent );
+ if ( businessTypeNames.Size() = 0 ) {
+ listtodeal := selectset( globalOTDTable, Global_MappingProductInLane, item ,true );
+ } else {
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypeNames, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_ProductInLineCategory.Global_MappingProductInLane,
+ tempGMPIL,
+ true );
+ }
totalcount := listtodeal.Size();
info( "ProductInLane has " + totalcount.AsQUILL() + " rows in total" );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl
index 171448e..1407447 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingUnitData.qbl
@@ -53,8 +53,8 @@
supplyunit.IsSupplier(true);
Unit::CreateOrUpdate( this,
- "鏁磋溅杩愯緭",
- "鏁磋溅杩愯緭",
+ "杩愯緭",
+ "杩愯緭",
"澶╅┈闆嗗洟",
capacitytype,
unitofmeasurename );
@@ -88,7 +88,7 @@
thirdlevelid,
thirdlevelid,
secondlevelid,
- "Time",
+ infinite,
item.UnitOfMeasureName() );
//Get the last level unit
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
index 1e0929e..fdacd72 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
@@ -16,14 +16,14 @@
if( isnull( businesstypes ) or businesstypes.Size() = 0 ) {
if( iskeyproduct = true ){
- listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true );
+ listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�" );
}
else{
listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, true );
}
} else {
if( iskeyproduct = true ){
- listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, item.KeyProduct() = true and businesstypes.Find( item.BusinessType() ) >= 0 );
+ listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, (item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�") and businesstypes.Find( item.BusinessType() ) >= 0 );
}
else{
listToDeal := selectset( globalOTDTable, Global_MappingProduct_MP, item, businesstypes.Find( item.BusinessType() ) >= 0 );
diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
index 8e5e156..f3ad992 100644
--- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
+++ "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
@@ -2,11 +2,11 @@
#parent: #root
StaticMethod DoASync (
MacroPlan macroPlan,
- Strings businessTypes,
+ const BusinessType businessType,
Boolean isKeyProduct,
Boolean createPurchaseSupplyMaterial,
const GlobalOTDTable globalOTDTable
-)
+) as stream[MacroPlan]
{
Description: '鍗曟鍚屾'
TextBody:
@@ -16,25 +16,16 @@
//Currency_MP::CreateCurrencyFromJson( macroPlan, jsonDataRow );
info( "Prepare to do sync" )
info( "Get organ code list" )
- organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
- if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
- traverse( businessTypes, Elements, item ) {
- info( "Business type : " + item )
- }
- organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
- }
- else{
- if( businessTypes.Size() = 0 ){
- if( not isnull( selectset( globalOTDTable, BusinessType, b, b.BusinessTypeName() = "" ) ) ){
- organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, organ.BusinessType().BusinessTypeName() = "", organ.OrganCodeName() );
- }
- }
- }
+ businessTypeName := businessType.BusinessTypeName().Tokenize( "," );
+ macroPlan.BusinessType( businessType.BusinessTypeName() );
+
+ organcodelist := selectvalues( businessType, OrganCode, organ, true, organ.OrganCodeName() );
if( organcodelist.Size() = 0 ){
- organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
+ organcodelist := selectuniquevalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
}
+ info( "Organcode list : " + organcodelist.ToString( "-" ) );
info( "KeyProduct : " + [String]isKeyProduct )
info( "Create purchase supply material : " + [String]createPurchaseSupplyMaterial )
@@ -46,113 +37,90 @@
UnitOfMeasure_MP::DoASync( globalOTDTable, macroPlan );
// 閿�鍞儴闂�-2
- SalesSegment_MP::DoASync( macroPlan, businessTypes,globalOTDTable );
+ SalesSegment_MP::DoASync( macroPlan, businessTypeName,globalOTDTable );
// Unit-9
// 涓嶰peration涓�鍚屽鐞�
//info( "BaseConversionFactor Finished, Start Operation Data Broker" );
//macroPlan.Broker_OTD_Operation().Execute();
info( "Operation Data Broker Finished, Start Unit Mapping" );
- macroPlan.DoASyncMappingUnitData( businessTypes ,globalOTDTable, organcodelist);
+ macroPlan.DoASyncMappingUnitData( businessTypeName ,globalOTDTable, organcodelist);
// 搴撳瓨鐐�-3
- info( "Sales Segment Finished, Start Get StockingPoint From Api" )
- bodynumber := "2";
- postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetStockingPointsInfo";
- port := 443;
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiStockingPointData( data );
+ info( "Sales Segment Finished, Start Get StockingPoint From Mapping" )
+ StockingPoint_MP::CreateFromMapping( globalOTDTable, macroPlan );
+ //parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" );
+ //postrequestbody := parameter.PostRequestBody();
+ //address := parameter.Address();
+ //url := parameter.AttributeValue();
+ //port := [Number]parameter.Port();
+ //data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
+ //macroPlan.ApiStockingPointData( data );
// 璐у竵淇℃伅-4
- info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Api" )
- bodynumber := "1";
- postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetCurrenciesInfo";
- port := 443;
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiCurenciesData( data );
+ info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Mapping" )
+ Currency_MP::CreateFromMapping( globalOTDTable, macroPlan );
//璐у竵姹囩巼淇℃伅-5
- info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Api" )
- bodynumber := "5";
- postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetCurrencyRatesInfo";
- port := 443;
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiCurencyRatesData( data );
+ info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Mapping" )
+ CurrencyRate_MP::CreateFromMapping( globalOTDTable, macroPlan );
// 浜у搧鐗╂枡-6
//info( "Get CurrencyRates From Api Finished, Start Product Data Broker" )
//macroPlan.Broker_OTD_Product().Execute();
info( "Product Data Broker Finished, Start Product Mapping" );
//testproduct := construct( Strings );
- macroPlan.DoASyncMappingProductData( businessTypes, globalOTDTable,isKeyProduct );
+ macroPlan.DoASyncMappingProductData( businessTypeName, globalOTDTable,isKeyProduct );
//鍗曚綅杞崲-7
BaseConversionFactor::DoASync( macroPlan ,globalOTDTable);
// 宸ヨ壓璺嚎 + BOM-9
info( "Unit Finished, Start Operation Mapping" );
- macroPlan.DoASyncMappingOperationData( businessTypes ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationData( businessTypeName ,globalOTDTable, organcodelist );
//info( "Operation Finished, Start BOM Data Broker" );
//macroPlan.Broker_OTD_BOM().Execute();
info( "BOM Data Broker Finished, Start BOM Mapping" );
- macroPlan.DoASyncMappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationBOMData( businessTypeName, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable, organcodelist );
//杞﹂亾淇℃伅-10
- info( "BOM Finished, Start Get Lanes From Api" );
- bodynumber := "3";
- postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetLanesInfo";
- port := 443;
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiLanesData( data );
+ info( "BOM Finished, Start Get Lanes From Mapping" );
+ Lane::CreasteFromMapping( globalOTDTable, macroPlan );
//杞﹂亾杩愯緭娈�-11
- info( "Get Lanes From Api Finished, Start Get LaneLegs From Api" );
- bodynumber := "4";
- postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
- address := "api-uat-sgc.tianma.cn";
- url := "/otdService/https/GetLaneLegsInfo";
- port := 443;
- data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiLaneLegsData( data );
+ info( "Get Lanes From Api Finished, Start Get LaneLegs From Mapping" );
+ LaneLeg::CreateFromMapping( globalOTDTable, macroPlan );
// 渚涘簲缃戠粶锛堣溅閬擄級-12
//info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" );
//macroPlan.Broker_OTD_ProductInLane().Execute();
info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" );
- macroPlan.DoASyncMappingProductInLaneData(globalOTDTable);
+ macroPlan.DoASyncMappingProductInLaneData( globalOTDTable,businessTypeName );
// 鍦ㄥ簱搴撳瓨鏁版嵁-13
//info( "ProductInLane Finished, Start ActualPISPIP Data Broker" );
//macroPlan.Broker_OTD_ActualPISPIP().Execute();
info( "ActualPISPIP Data Broker Finished, Start ActualPISPIP Mapping" );
- macroPlan.DoASyncMappingActualPISPIPData( businessTypes, globalOTDTable,isKeyProduct, organcodelist );
+ macroPlan.DoASyncMappingActualPISPIPData( businessTypeName, globalOTDTable,isKeyProduct, organcodelist );
// 鍦ㄩ�斿簱瀛�-14
//info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" );
//macroPlan.Broker_OTD_ExternalSupply().Execute();
info( "ExternalSupply Data Broker Finished, Start ExternalSupply Mapping" );
- macroPlan.DoASyncMappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingExternalSupplyData( businessTypeName, isKeyProduct ,globalOTDTable, organcodelist );
// 搴撳瓨鎴愭湰-15
- InventoryValueAndCost::DoASync( macroPlan,globalOTDTable );
+ InventoryValueAndCost::DoASync( macroPlan,globalOTDTable,businessTypeName );
// todo 鍒堕�犳垚鏈�-16
info( "InventoryCost Finished, Start OperationCost Mapping" );
- macroPlan.DoASyncMappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
+ macroPlan.DoASyncMappingOperationCostData( globalOTDTable, businessTypeName, organcodelist );
// 璁㈠崟棰勬祴-17
- Forecast::DoASync( macroPlan, businessTypes, globalOTDTable, organcodelist );
+ Forecast::DoASync( macroPlan, businessTypeName, globalOTDTable, organcodelist );
// 璁㈠崟闇�姹�-18
- CustomerOrder::DoASync( macroPlan, businessTypes, globalOTDTable, organcodelist );
+ CustomerOrder::DoASync( macroPlan, businessTypeName, globalOTDTable, organcodelist );
//鍒犻櫎澶氫綑鎶ラ敊鏁版嵁-19
macroPlan.DeleteSnaityCheck();
@@ -162,5 +130,7 @@
//// todo 渚涘簲鍟嗗洖澶�
//info( "ProviderReply::DoSync" )
+
+ return emit( macroPlan );
*]
}
diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043896.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043896.qbl"
deleted file mode 100644
index fc549a7..0000000
--- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043896.qbl"
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DoASync (
- MacroPlan macroPlan,
- String businessTypeStr,
- Boolean isKeyProduct,
- Boolean createPurchaseSupplyMaterial,
- const GlobalOTDTable globalOTDTable
-) as stream[MacroPlan]
-{
- Description: '鍗曟鍚屾'
- TextBody:
- [*
- // yypsybs Aug-17-2023 (created)
- businessTypes := construct( Strings );
- if( businessTypeStr.Length() > 0 ) {
- businessTypes := businessTypeStr.Tokenize( ',' );
- }
- MacroPlan::DoASync( macroPlan, businessTypes, isKeyProduct, createPurchaseSupplyMaterial ,globalOTDTable);
-
- return emit( macroPlan );
- *]
-}
diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl
index 4fb0a6b..d92126d 100644
--- a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl
+++ b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl
@@ -2,7 +2,7 @@
#parent: #root
StaticMethod DoASync (
Scenario scenario,
- String businessTypeStr,
+ const BusinessType businessType,
Boolean isKeyProduct,
Boolean createPurchaseSupplyMaterial,
const GlobalOTDTable globalOTDTable
@@ -10,10 +10,10 @@
{
TextBody:
[*
- info( scenario.DatasetMDSID(), " 浜嬩笟閮細", businessTypeStr, " isKeyProduct锛�", isKeyProduct, " createPurchaseSupplyMaterial锛�", createPurchaseSupplyMaterial );
+ info( scenario.DatasetMDSID(), " 浜嬩笟閮細", businessType.BusinessTypeName(), " isKeyProduct锛�", isKeyProduct, " createPurchaseSupplyMaterial锛�", createPurchaseSupplyMaterial );
MDSMacroPlan::Root( scenario.DatasetMDSID() )
- -> MacroPlan::DoASync( businessTypeStr,
+ -> MacroPlan::DoASync( businessType,
isKeyProduct,
createPurchaseSupplyMaterial,
globalOTDTable
diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
index 8cb5656..25df795 100644
--- a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
+++ b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
@@ -71,7 +71,7 @@
url := "/otdService/https/GetCurrencyRatesInfo";
port := 443;
data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiCurencyRatesData( data );
+ macroPlan.ApiCurencyRatesData( macroPlan, data );
// 浜у搧鐗╂枡-6
//info( "Get CurrencyRates From Api Finished, Start Product Data Broker" )
@@ -109,7 +109,7 @@
url := "/otdService/https/GetLaneLegsInfo";
port := 443;
data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
- macroPlan.ApiLaneLegsData( data );
+ macroPlan.ApiLaneLegsData( macroPlan, data );
// 渚涘簲缃戠粶锛堣溅閬擄級-12
//info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" );
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_ActualInventoryLevelEnd.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_ActualInventoryLevelEnd.qbl
deleted file mode 100644
index da407e8..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_ActualInventoryLevelEnd.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ActualInventoryLevelEnd
-{
- #keys: '3[414480.0.61560027][414480.0.61560026][414480.0.61560028]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_Date.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_Date.qbl
deleted file mode 100644
index 993e8a6..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_Date.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Date
-{
- #keys: '3[414480.0.61560037][414480.0.61560036][414480.0.61560038]'
- IsReadOnly: true
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_Description.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_Description.qbl
deleted file mode 100644
index 7956d7b..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_Description.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Description
-{
- #keys: '3[414480.0.61560047][414480.0.61560046][414480.0.61560048]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_IsAvailable.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_IsAvailable.qbl
deleted file mode 100644
index d8ca643..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_IsAvailable.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsAvailable
-{
- #keys: '3[414480.0.61560097][414480.0.61560096][414480.0.61560098]'
- ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_ManufacturedDate.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_ManufacturedDate.qbl
deleted file mode 100644
index 41e09a4..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_ManufacturedDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ManufacturedDate
-{
- #keys: '3[414480.0.61560077][414480.0.61560076][414480.0.61560078]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_ProductID.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_ProductID.qbl
deleted file mode 100644
index f3ed793..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[414480.0.61560057][414480.0.61560056][414480.0.61560058]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockType.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_StockType.qbl
deleted file mode 100644
index 4cc104f..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockType
-{
- #keys: '3[414480.0.61560087][414480.0.61560086][414480.0.61560088]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingActualPISPIP/Attribute_StockingPointID.qbl
deleted file mode 100644
index d90bd1c..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
- #keys: '3[414480.0.61560067][414480.0.61560066][414480.0.61560068]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/TypeIndex_MappingActualPISPIPTypeIndex.qbl b/_Main/BL/Type_MappingActualPISPIP/TypeIndex_MappingActualPISPIPTypeIndex.qbl
deleted file mode 100644
index da6905e..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/TypeIndex_MappingActualPISPIPTypeIndex.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingActualPISPIPTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: Date
- }
- TypeIndexAttribute
- {
- ModelElement: ProductID
- }
- TypeIndexAttribute
- {
- ModelElement: StockingPointID
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingActualPISPIP/_ROOT_Type_MappingActualPISPIP.qbl b/_Main/BL/Type_MappingActualPISPIP/_ROOT_Type_MappingActualPISPIP.qbl
deleted file mode 100644
index c1eb86e..0000000
--- a/_Main/BL/Type_MappingActualPISPIP/_ROOT_Type_MappingActualPISPIP.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingActualPISPIP
-{
- #keys: '5[414480.0.61560023][414480.0.61560021][0.0.0][414480.0.61560022][414480.0.61560024]'
- BaseType: Object
- Description: '鍦ㄥ簱搴撳瓨'
- StructuredName: 'MappingActualPISPIPs'
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialCode.qbl
deleted file mode 100644
index 805262d..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeMaterialCode
-{
- #keys: '3[412960.0.86934549][412960.0.86934548][412960.0.86934550]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialType.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialType.qbl
deleted file mode 100644
index baca335..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeMaterialType
-{
- #keys: '3[412960.0.86934670][412960.0.86934669][412960.0.86934671]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialUnit.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialUnit.qbl
deleted file mode 100644
index 276a497..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeMaterialUnit.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeMaterialUnit
-{
- #keys: '3[412960.0.86934797][412960.0.86934796][412960.0.86934798]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_AlternativeRate.qbl b/_Main/BL/Type_MappingBOM/Attribute_AlternativeRate.qbl
deleted file mode 100644
index bf080b2..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_AlternativeRate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AlternativeRate
-{
- #keys: '3[412960.0.86934925][412960.0.86934924][412960.0.86934926]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingBOM/Attribute_BusinessType.qbl
deleted file mode 100644
index 534f086..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
- #keys: '3[412960.0.86941837][412960.0.86941836][412960.0.86941838]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentCode.qbl
deleted file mode 100644
index 905fc88..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentCode
-{
- #keys: '3[412960.0.86934110][412960.0.86934109][412960.0.86934111]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentDescription.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentDescription.qbl
deleted file mode 100644
index 99fb1de..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentDescription.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentDescription
-{
- #keys: '3[412960.0.86934357][412960.0.86934356][412960.0.86934358]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentOutputRate.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentOutputRate.qbl
deleted file mode 100644
index 2738173..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentOutputRate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentOutputRate
-{
- #keys: '3[412960.0.86934173][412960.0.86934172][412960.0.86934174]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentType.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentType.qbl
deleted file mode 100644
index f6574f3..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentType
-{
- #keys: '3[412960.0.86934293][412960.0.86934292][412960.0.86934294]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnit.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentUnit.qbl
deleted file mode 100644
index b15885e..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnit.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentUnit
-{
- #keys: '3[412960.0.86934421][412960.0.86934420][412960.0.86934422]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnitDescription.qbl b/_Main/BL/Type_MappingBOM/Attribute_ComponentUnitDescription.qbl
deleted file mode 100644
index 329c8f5..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ComponentUnitDescription.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ComponentUnitDescription
-{
- #keys: '3[412960.0.86934485][412960.0.86934484][412960.0.86934486]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterial.qbl b/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterial.qbl
deleted file mode 100644
index d0064b7..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterial.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DescriptionOfAlternativeMaterial
-{
- #keys: '3[412960.0.86934734][412960.0.86934733][412960.0.86934735]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl b/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl
deleted file mode 100644
index f2d3cdf..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterialUnits.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DescriptionOfAlternativeMaterialUnits
-{
- #keys: '3[412960.0.86934861][412960.0.86934860][412960.0.86934862]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterials.qbl b/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterials.qbl
deleted file mode 100644
index 563268b..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_DescriptionOfAlternativeMaterials.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DescriptionOfAlternativeMaterials
-{
- #keys: '3[414384.0.633771855][414384.0.633771854][414384.0.633771856]'
- Description: '鏇夸唬鏂欐弿杩�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_MaterialSystem.qbl b/_Main/BL/Type_MappingBOM/Attribute_MaterialSystem.qbl
deleted file mode 100644
index c0d2997..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_MaterialSystem.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute MaterialSystem
-{
- #keys: '3[412960.0.86935116][412960.0.86935115][412960.0.86935117]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_OrganCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_OrganCode.qbl
deleted file mode 100644
index 6b7ec13..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_OrganCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganCode
-{
- #keys: '3[412960.0.86956307][412960.0.86956306][412960.0.86956308]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProcessSection.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProcessSection.qbl
deleted file mode 100644
index c333f3d..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProcessSection.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProcessSection
-{
- #keys: '3[412960.0.86935053][412960.0.86935052][412960.0.86935054]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductCode.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductCode.qbl
deleted file mode 100644
index 6b70c9a..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductCode
-{
- #keys: '3[412960.0.86956371][412960.0.86956370][412960.0.86956372]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductDescribe.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductDescribe.qbl
deleted file mode 100644
index 2b9211a..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductDescribe.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductDescribe
-{
- #keys: '3[412960.0.86956499][412960.0.86956498][412960.0.86956500]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductType.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductType.qbl
deleted file mode 100644
index 8e90486..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductType
-{
- #keys: '3[412960.0.86956435][412960.0.86956434][412960.0.86956436]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_ProductUnitDescription.qbl b/_Main/BL/Type_MappingBOM/Attribute_ProductUnitDescription.qbl
deleted file mode 100644
index f6da6b5..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_ProductUnitDescription.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductUnitDescription
-{
- #keys: '3[412960.0.86933925][412960.0.86933924][412960.0.86933926]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_SubstitutionRelationship.qbl b/_Main/BL/Type_MappingBOM/Attribute_SubstitutionRelationship.qbl
deleted file mode 100644
index 5d5a978..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_SubstitutionRelationship.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SubstitutionRelationship
-{
- #keys: '3[412960.0.86934989][412960.0.86934988][412960.0.86934990]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBOM/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingBOM/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index ef7f61e..0000000
--- a/_Main/BL/Type_MappingBOM/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
- #keys: '3[412960.0.86956563][412960.0.86956562][412960.0.86956564]'
- ValueType: String
-}
diff --git "a/_Main/BL/Type_MappingBOM/Attribute_UnitUsageOfComponents\043328.qbl" "b/_Main/BL/Type_MappingBOM/Attribute_UnitUsageOfComponents\043328.qbl"
deleted file mode 100644
index db7d74c..0000000
--- "a/_Main/BL/Type_MappingBOM/Attribute_UnitUsageOfComponents\043328.qbl"
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitUsageOfComponents
-{
- #keys: '3[412960.0.86933989][412960.0.86933988][412960.0.86933990]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl b/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl
deleted file mode 100644
index d374c5e..0000000
--- a/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl
+++ /dev/null
@@ -1,25 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CreateTestData (
- MacroPlan parent,
- String businessType,
- String orgCode,
- String productCode
-) as MappingBOM
-{
- TextBody:
- [*
- // yypsybs Sep-18-2023 (created)
- value := select( parent, MappingBOM, bom, bom.BusinessType() = businessType and bom.OrganCode() = orgCode and bom.ProductCode() = productCode );
- if( isnull( value ) ) {
- value := parent.MappingBOM( relnew,
- BusinessType := businessType,
- OrganCode := orgCode,
- ProductCode := productCode,
- ProcessSection := "",
- ComponentCode := "",
- AlternativeMaterialCode := "" );
- }
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingBOM/TypeIndex_BOMTypeIndex.qbl b/_Main/BL/Type_MappingBOM/TypeIndex_BOMTypeIndex.qbl
deleted file mode 100644
index 6fe767b..0000000
--- a/_Main/BL/Type_MappingBOM/TypeIndex_BOMTypeIndex.qbl
+++ /dev/null
@@ -1,32 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex BOMTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: OrganCode
- }
- TypeIndexAttribute
- {
- ModelElement: ComponentCode
- }
- TypeIndexAttribute
- {
- ModelElement: ProductCode
- }
- TypeIndexAttribute
- {
- ModelElement: AlternativeMaterialCode
- }
- TypeIndexAttribute
- {
- ModelElement: ProcessSection
- }
- TypeIndexAttribute
- {
- ModelElement: BusinessType
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingBOM/_ROOT_Type_MappingBOM.qbl b/_Main/BL/Type_MappingBOM/_ROOT_Type_MappingBOM.qbl
deleted file mode 100644
index 8cc965f..0000000
--- a/_Main/BL/Type_MappingBOM/_ROOT_Type_MappingBOM.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingBOM
-{
- #keys: '5[412960.0.86941816][412960.0.86941814][0.0.0][412960.0.86941815][412960.0.86941817]'
- BaseType: Object
- StructuredName: 'MappingBOMs'
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_Factor.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_Factor.qbl
deleted file mode 100644
index 41d39b0..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_Factor.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Factor
-{
- #keys: '3[414384.0.583154658][414384.0.583154657][414384.0.583154659]'
- Description: '绯绘暟'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_IsEnabled.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_IsEnabled.qbl
deleted file mode 100644
index 7126f0a..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_IsEnabled.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsEnabled
-{
- #keys: '3[414384.0.583154638][414384.0.583154637][414384.0.583154639]'
- Description: '鏄惁鏈夋晥'
- IsReadOnly: true
- ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_ProductId.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_ProductId.qbl
deleted file mode 100644
index de885d5..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_ProductId.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductId
-{
- #keys: '3[414384.0.583154648][414384.0.583154647][414384.0.583154649]'
- Description: '鐗╂枡缂栫爜'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_SourceUnitOfMeasureName.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_SourceUnitOfMeasureName.qbl
deleted file mode 100644
index 5fd0076..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_SourceUnitOfMeasureName.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SourceUnitOfMeasureName
-{
- #keys: '3[414384.0.583154615][414384.0.583154614][414384.0.583154616]'
- Description: '婧愬崟浣嶅悕'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_TargetUnitOfMeasureName.qbl b/_Main/BL/Type_MappingBaseConversionFactor/Attribute_TargetUnitOfMeasureName.qbl
deleted file mode 100644
index fb1c698..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/Attribute_TargetUnitOfMeasureName.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute TargetUnitOfMeasureName
-{
- #keys: '3[414384.0.583154628][414384.0.583154627][414384.0.583154629]'
- Description: '鐩爣鍗曚綅鍚�'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/DefaultValue_Factor.qbl b/_Main/BL/Type_MappingBaseConversionFactor/DefaultValue_Factor.qbl
deleted file mode 100644
index f3fbfd1..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/DefaultValue_Factor.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- ISOValue: '1'
- TargetAttribute: Factor
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/TypeIndex_MappingBaseConversionFactorTypeIndex.qbl b/_Main/BL/Type_MappingBaseConversionFactor/TypeIndex_MappingBaseConversionFactorTypeIndex.qbl
deleted file mode 100644
index 6cb1f90..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/TypeIndex_MappingBaseConversionFactorTypeIndex.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingBaseConversionFactorTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: SourceUnitOfMeasureName
- }
- TypeIndexAttribute
- {
- ModelElement: TargetUnitOfMeasureName
- }
- TypeIndexAttribute
- {
- ModelElement: ProductId
- }
- TypeIndexAttribute
- {
- ModelElement: IsEnabled
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingBaseConversionFactor/_ROOT_Type_MappingBaseConversionFactor.qbl b/_Main/BL/Type_MappingBaseConversionFactor/_ROOT_Type_MappingBaseConversionFactor.qbl
deleted file mode 100644
index 46a0348..0000000
--- a/_Main/BL/Type_MappingBaseConversionFactor/_ROOT_Type_MappingBaseConversionFactor.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingBaseConversionFactor
-{
- #keys: '5[414384.0.583154589][414384.0.583154587][0.0.0][414384.0.583154588][414384.0.583154590]'
- BaseType: Object
- Description: 'ETL鍗曚綅杞崲'
- StructuredName: 'MappingBaseConversionFactors'
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_BusinessType.qbl
deleted file mode 100644
index 9d0d69b..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
- #keys: '3[414384.0.583154786][414384.0.583154785][414384.0.583154787]'
- Description: '浜嬩笟閮�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_CurrencyID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_CurrencyID.qbl
deleted file mode 100644
index f09efe0..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_CurrencyID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CurrencyID
-{
- #keys: '3[414384.0.583154796][414384.0.583154795][414384.0.583154797]'
- Description: '璐у竵'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_Customer.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_Customer.qbl
deleted file mode 100644
index 33a6c7c..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_Customer.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Customer
-{
- #keys: '3[414384.0.583154806][414384.0.583154805][414384.0.583154807]'
- Description: '瀹㈡埛鍚嶇О'
- ValueType: String
-}
diff --git "a/_Main/BL/Type_MappingCustomerOrder/Attribute_CustomerID\043616.qbl" "b/_Main/BL/Type_MappingCustomerOrder/Attribute_CustomerID\043616.qbl"
deleted file mode 100644
index bf6ee59..0000000
--- "a/_Main/BL/Type_MappingCustomerOrder/Attribute_CustomerID\043616.qbl"
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CustomerID
-{
- #keys: '3[414384.0.583154816][414384.0.583154815][414384.0.583154817]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_ID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_ID.qbl
deleted file mode 100644
index 96a56c7..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
- #keys: '3[414384.0.583154833][414384.0.583154832][414384.0.583154834]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_IsAvailable.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_IsAvailable.qbl
deleted file mode 100644
index 8f209ab..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_IsAvailable.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsAvailable
-{
- #keys: '3[414384.0.583160549][414384.0.583160548][414384.0.583160550]'
- Description: '璁㈠崟鏄惁鍙備笌璁″垝'
- ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderDate.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderDate.qbl
deleted file mode 100644
index 8031d73..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderDate
-{
- #keys: '3[414384.0.583154843][414384.0.583154842][414384.0.583154844]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderID.qbl
deleted file mode 100644
index b096ea4..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderID
-{
- #keys: '3[414384.0.583154853][414384.0.583154852][414384.0.583154854]'
- Description: '璁㈠崟鍙�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderLineID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderLineID.qbl
deleted file mode 100644
index a49d0fa..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderLineID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderLineID
-{
- #keys: '3[414384.0.583154863][414384.0.583154862][414384.0.583154864]'
- Description: '璁㈠崟琛屽彿'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderType.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderType.qbl
deleted file mode 100644
index 1da64a6..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_OrderType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrderType
-{
- #keys: '3[414384.0.583160539][414384.0.583160538][414384.0.583160540]'
- Description: '璁㈠崟绫诲瀷'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_Price.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_Price.qbl
deleted file mode 100644
index 375844f..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_Price.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Price
-{
- #keys: '3[414384.0.583154882][414384.0.583154881][414384.0.583154883]'
- Description: '鍗曚环'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_PriorityName.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_PriorityName.qbl
deleted file mode 100644
index 7707d63..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_PriorityName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityName
-{
- #keys: '3[414384.0.583160479][414384.0.583160478][414384.0.583160480]'
- Description: '浼樺厛绾�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_ProductID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_ProductID.qbl
deleted file mode 100644
index d7648f7..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[414384.0.583160489][414384.0.583160488][414384.0.583160490]'
- Description: '浜у搧缂栫爜'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_Quantity.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_Quantity.qbl
deleted file mode 100644
index a48f0b1..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_Quantity.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Quantity
-{
- #keys: '3[414384.0.583160519][414384.0.583160518][414384.0.583160520]'
- Description: '鏁伴噺'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_SalesSegmentName.qbl
deleted file mode 100644
index a0a6ac3..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_SalesSegmentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesSegmentName
-{
- #keys: '3[414384.0.583160509][414384.0.583160508][414384.0.583160510]'
- Description: '閿�鍞儴闂ㄥ悕绉�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_StockPointID.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_StockPointID.qbl
deleted file mode 100644
index 35ae11d..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_StockPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockPointID
-{
- #keys: '3[414384.0.583160499][414384.0.583160498][414384.0.583160500]'
- Description: '搴撳瓨鐐瑰敮涓�鏍囪瘑'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingCustomerOrder/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 793aa39..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
- #keys: '3[414384.0.583160529][414384.0.583160528][414384.0.583160530]'
- Description: '鍗曚綅'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/DefaultValue_IsAvailable.qbl b/_Main/BL/Type_MappingCustomerOrder/DefaultValue_IsAvailable.qbl
deleted file mode 100644
index efaa00d..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/DefaultValue_IsAvailable.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- ISOValue: 'true'
- TargetAttribute: IsAvailable
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl
deleted file mode 100644
index 27563ee..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyByHalfYear (
- Strings productNo,
- MacroPlan macroPlan,
- Number yearNo,
- Number halfNo
-) as Real
-{
- TextBody:
- [*
- // yypsybs Sep-18-2023 (created)
- fromMonth := 1 + ( halfNo - 1 ) * 6;
- toMonth := 6 + ( halfNo - 1 ) * 6;
- result := 0.0;
- for( i := fromMonth; i <= toMonth; i := i + 1 ) {
- result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
- }
- return result;
- *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl
deleted file mode 100644
index 478e518..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl
+++ /dev/null
@@ -1,22 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyByMonth (
- Strings productNo,
- MacroPlan macroPlan,
- Number yearNo,
- Number monthNo
-) as Real
-{
- TextBody:
- [*
- // yypsybs Sep-18-2023 (created)
- result := sum( macroPlan,
- MappingCustomerOrder,
- item,
- productNo.Find( item.ProductID() ) > -1
- and item.OrderDate().Year() = yearNo
- and item.OrderDate().Month() = monthNo,
- item.Quantity() * item.Price() );
- return result;
- *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl
deleted file mode 100644
index 1a6ad83..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyBySeason (
- Strings productNo,
- MacroPlan macroPlan,
- Number yearNo,
- Number seasonNo
-) as Real
-{
- TextBody:
- [*
- // yypsybs Sep-18-2023 (created)
- fromMonth := 1 + ( seasonNo - 1 ) * 3;
- toMonth := 3 + ( seasonNo - 1 ) * 3;
- result := 0.0;
- for( i := fromMonth; i <= toMonth; i := i + 1 ) {
- result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
- }
- return result;
- *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl
deleted file mode 100644
index bd09df8..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetNewSupplyByYear (
- Strings productNo,
- MacroPlan macroPlan,
- Number yearNo
-) as Real
-{
- TextBody:
- [*
- // yypsybs Sep-21-2023 (created)
- result := 0.0;
- for( i := 1; i <= 12; i := i + 1 ) {
- result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
- }
- return result;
- *]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/TypeIndex_MappingCustomerOrderTypeIndex.qbl b/_Main/BL/Type_MappingCustomerOrder/TypeIndex_MappingCustomerOrderTypeIndex.qbl
deleted file mode 100644
index 1637398..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/TypeIndex_MappingCustomerOrderTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingCustomerOrderTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ID
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingCustomerOrder/_ROOT_Type_MappingCustomerOrder.qbl b/_Main/BL/Type_MappingCustomerOrder/_ROOT_Type_MappingCustomerOrder.qbl
deleted file mode 100644
index 6d522dc..0000000
--- a/_Main/BL/Type_MappingCustomerOrder/_ROOT_Type_MappingCustomerOrder.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingCustomerOrder
-{
- #keys: '5[414384.0.583154763][414384.0.583154761][0.0.0][414384.0.583154762][414384.0.583154764]'
- BaseType: Object
- Description: 'ETL璁㈠崟闇�姹�'
- StructuredName: 'MappingCustomerOrders'
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_Date.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_Date.qbl
deleted file mode 100644
index 26a68d5..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_Date.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Date
-{
- #keys: '3[414480.0.61560142][414480.0.61560141][414480.0.61560143]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_Description.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_Description.qbl
deleted file mode 100644
index a278391..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_Description.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Description
-{
- #keys: '3[414480.0.61560152][414480.0.61560151][414480.0.61560153]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_ID.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_ID.qbl
deleted file mode 100644
index 843a93a..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
- #keys: '3[414480.0.61560112][414480.0.61560111][414480.0.61560113]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_ManufacturedDate.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_ManufacturedDate.qbl
deleted file mode 100644
index deced53..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_ManufacturedDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ManufacturedDate
-{
- #keys: '3[414480.0.61560172][414480.0.61560171][414480.0.61560173]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_ProductID.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_ProductID.qbl
deleted file mode 100644
index acf4d11..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[414480.0.61560122][414480.0.61560121][414480.0.61560123]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_StockingPointID.qbl
deleted file mode 100644
index 022f6a1..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
- #keys: '3[414480.0.61560132][414480.0.61560131][414480.0.61560133]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_SupplyType.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_SupplyType.qbl
deleted file mode 100644
index be7d7e7..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_SupplyType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SupplyType
-{
- #keys: '3[414480.0.61560162][414480.0.61560161][414480.0.61560163]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/Attribute_UserQuantity.qbl b/_Main/BL/Type_MappingExternalSupply/Attribute_UserQuantity.qbl
deleted file mode 100644
index 0d0001c..0000000
--- a/_Main/BL/Type_MappingExternalSupply/Attribute_UserQuantity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UserQuantity
-{
- #keys: '3[414480.0.61560182][414480.0.61560181][414480.0.61560183]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/TypeIndex_MappingExternalSupplyTypeIndex.qbl b/_Main/BL/Type_MappingExternalSupply/TypeIndex_MappingExternalSupplyTypeIndex.qbl
deleted file mode 100644
index d575064..0000000
--- a/_Main/BL/Type_MappingExternalSupply/TypeIndex_MappingExternalSupplyTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingExternalSupplyTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ID
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingExternalSupply/_ROOT_Type_MappingExternalSupply.qbl b/_Main/BL/Type_MappingExternalSupply/_ROOT_Type_MappingExternalSupply.qbl
deleted file mode 100644
index 7d24b00..0000000
--- a/_Main/BL/Type_MappingExternalSupply/_ROOT_Type_MappingExternalSupply.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingExternalSupply
-{
- #keys: '5[414480.0.61560108][414480.0.61560106][0.0.0][414480.0.61560107][414480.0.61560109]'
- BaseType: Object
- Description: '鍦ㄩ�斿湪鍒�'
- StructuredName: 'MappingExternalSupplys'
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingForecast/Attribute_BusinessType.qbl
deleted file mode 100644
index 419f914..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
- #keys: '3[414384.0.583160308][414384.0.583160307][414384.0.583160309]'
- Description: '浜嬩笟閮�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_CurrencyID.qbl b/_Main/BL/Type_MappingForecast/Attribute_CurrencyID.qbl
deleted file mode 100644
index aa36bcc..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_CurrencyID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CurrencyID
-{
- #keys: '3[414384.0.583160408][414384.0.583160407][414384.0.583160409]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_EndDate.qbl b/_Main/BL/Type_MappingForecast/Attribute_EndDate.qbl
deleted file mode 100644
index d023148..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_EndDate.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute EndDate
-{
- #keys: '3[414384.0.583160358][414384.0.583160357][414384.0.583160359]'
- Description: '缁撴潫鏃ユ湡'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_ID.qbl b/_Main/BL/Type_MappingForecast/Attribute_ID.qbl
deleted file mode 100644
index b4b1a45..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
- #keys: '3[414384.0.583160318][414384.0.583160317][414384.0.583160319]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_Price.qbl b/_Main/BL/Type_MappingForecast/Attribute_Price.qbl
deleted file mode 100644
index 91d21b6..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_Price.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Price
-{
- #keys: '3[414384.0.583160388][414384.0.583160387][414384.0.583160389]'
- Description: '鍗曚环'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_PriorityName.qbl b/_Main/BL/Type_MappingForecast/Attribute_PriorityName.qbl
deleted file mode 100644
index 814e324..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_PriorityName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityName
-{
- #keys: '3[414384.0.583160398][414384.0.583160397][414384.0.583160399]'
- Description: '浼樺厛绾у悕绉�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_ProductID.qbl b/_Main/BL/Type_MappingForecast/Attribute_ProductID.qbl
deleted file mode 100644
index 46137a3..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[414384.0.583160328][414384.0.583160327][414384.0.583160329]'
- Description: '浜у搧鍞竴缂栫爜'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_Quantity.qbl b/_Main/BL/Type_MappingForecast/Attribute_Quantity.qbl
deleted file mode 100644
index 1d306b0..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_Quantity.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Quantity
-{
- #keys: '3[414384.0.583160378][414384.0.583160377][414384.0.583160379]'
- Description: '鏁伴噺'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_MappingForecast/Attribute_SalesSegmentName.qbl
deleted file mode 100644
index 75c8cd0..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_SalesSegmentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesSegmentName
-{
- #keys: '3[414384.0.583160368][414384.0.583160367][414384.0.583160369]'
- Description: '閿�鍞儴闂ㄥ悕绉�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_StartDate.qbl b/_Main/BL/Type_MappingForecast/Attribute_StartDate.qbl
deleted file mode 100644
index a1bef6a..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_StartDate.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StartDate
-{
- #keys: '3[414384.0.583160348][414384.0.583160347][414384.0.583160349]'
- Description: '寮�濮嬫棩鏈�'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingForecast/Attribute_StockingPointID.qbl
deleted file mode 100644
index d7607ca..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
- #keys: '3[414384.0.583160338][414384.0.583160337][414384.0.583160339]'
- Description: '搴撳瓨鐐笽D'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingForecast/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 7dbcc91..0000000
--- a/_Main/BL/Type_MappingForecast/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
- #keys: '3[414384.0.583160418][414384.0.583160417][414384.0.583160419]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByMonth.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByMonth.qbl
deleted file mode 100644
index 6b7351c..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByMonth.qbl
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetBalanceByMonth (
- Strings productCodes,
- MacroPlan parent,
- Number yearNo,
- Number monthNo
-) as Real
-{
- Description: 'todo changeParent'
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- value := sum( parent,
- MappingForecast,
- item,
- productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year() and monthNo = item.StartDate().Month(),
- item.Price() * item.Quantity() );
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByYear.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByYear.qbl
deleted file mode 100644
index dfc4872..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetBalanceByYear.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetBalanceByYear (
- Strings productCodes,
- MacroPlan parent,
- Number yearNo
-) as Real
-{
- Description: 'todo changeParent'
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- value := sum( parent,
- MappingForecast,
- item,
- productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year(),
- item.Price() * item.Quantity() );
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl
deleted file mode 100644
index ecf844c..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByHalfYear.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityByHalfYear (
- Strings productCodes,
- MacroPlan parent,
- Number yearNo,
- Number halfNo
-) as Real
-{
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- value := 0.0;
-
- startMonth := 1 + ( halfNo - 1 ) * 6;
- endMonth := 6 + ( halfNo - 1 ) * 6;
-
- for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
- value := value + MappingForecast::GetQuantityByMonth( productCodes, parent, yearNo, monthNo );
- }
-
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByMonth.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByMonth.qbl
deleted file mode 100644
index d3ae8c1..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByMonth.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityByMonth (
- Strings productCodes,
- MacroPlan parent,
- Number yearNo,
- Number monthNo
-) as Real
-{
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- value := sum( parent,
- MappingForecast,
- item,
- productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year() and monthNo = item.StartDate().Month(),
- item.Quantity() );
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityBySeason.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityBySeason.qbl
deleted file mode 100644
index 3b4ac41..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityBySeason.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityBySeason (
- Strings productCodes,
- MacroPlan parent,
- Number yearNo,
- Number seasonNo
-) as Real
-{
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- value := 0.0;
-
- startMonth := 1 + ( seasonNo - 1 ) * 3;
- endMonth := 3 + ( seasonNo - 1 ) * 3;
-
- for( monthNo := startMonth; monthNo <= endMonth; monthNo := monthNo + 1 ) {
- value := value + MappingForecast::GetQuantityByMonth( productCodes, parent, yearNo, monthNo );
- }
-
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByYear.qbl b/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByYear.qbl
deleted file mode 100644
index 31db8aa..0000000
--- a/_Main/BL/Type_MappingForecast/StaticMethod_GetQuantityByYear.qbl
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetQuantityByYear (
- Strings productCodes,
- MacroPlan parent,
- Number yearNo
-) as Real
-{
- Description: 'todo changeParent'
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- value := sum( parent,
- MappingForecast,
- item,
- productCodes.Find( item.ProductID() ) > -1 and yearNo = item.StartDate().Year(),
- item.Quantity() );
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingForecast/TypeIndex_MappingForecastTypeIndex.qbl b/_Main/BL/Type_MappingForecast/TypeIndex_MappingForecastTypeIndex.qbl
deleted file mode 100644
index b1edfb5..0000000
--- a/_Main/BL/Type_MappingForecast/TypeIndex_MappingForecastTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingForecastTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ID
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingForecast/_ROOT_Type_MappingForecast.qbl b/_Main/BL/Type_MappingForecast/_ROOT_Type_MappingForecast.qbl
deleted file mode 100644
index b96f05c..0000000
--- a/_Main/BL/Type_MappingForecast/_ROOT_Type_MappingForecast.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingForecast
-{
- #keys: '5[414384.0.583160279][414384.0.583160277][0.0.0][414384.0.583160278][414384.0.583160280]'
- BaseType: Object
- Description: 'ETL璁㈠崟棰勬祴'
- StructuredName: 'MappingForecasts'
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_AccountName.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_AccountName.qbl
deleted file mode 100644
index f275616..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_AccountName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AccountName
-{
- #keys: '3[414384.0.601560062][414384.0.601560061][414384.0.601560063]'
- Description: '绉戠洰鍚嶇О'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Cost.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Cost.qbl
deleted file mode 100644
index 0b9d627..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Cost.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Cost
-{
- #keys: '3[414384.0.601560065][414384.0.601560064][414384.0.601560066]'
- Description: '鎴愭湰'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_CostDriver.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_CostDriver.qbl
deleted file mode 100644
index d6c93bc..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_CostDriver.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CostDriver
-{
- #keys: '3[414384.0.601560068][414384.0.601560067][414384.0.601560069]'
- Description: '鎴愭湰鍔ㄥ洜'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ID.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ID.qbl
deleted file mode 100644
index 9d9899e..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ID.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
- #keys: '3[414384.0.601560071][414384.0.601560070][414384.0.601560072]'
- Description: '鍞竴鏍囪瘑'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ProductID.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ProductID.qbl
deleted file mode 100644
index 17cc4f1..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[414384.0.601560074][414384.0.601560073][414384.0.601560075]'
- Description: '鐗╂枡缂栫爜'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Start.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Start.qbl
deleted file mode 100644
index 4f793fc..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_Start.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Start
-{
- #keys: '3[414384.0.601560077][414384.0.601560076][414384.0.601560078]'
- Description: '鐢熸晥鏃堕棿'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_StockingPointID.qbl
deleted file mode 100644
index 5823c8c..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/Attribute_StockingPointID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute StockingPointID
-{
- #keys: '3[414384.0.601560080][414384.0.601560079][414384.0.601560081]'
- Description: '搴撳瓨鐐圭紪鐮�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_AccountName.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_AccountName.qbl
deleted file mode 100644
index 51766e0..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_AccountName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- ISOValue: 'Inventory holding cost'
- TargetAttribute: AccountName
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_CostDriver.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_CostDriver.qbl
deleted file mode 100644
index e26561c..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/DefaultValue_CostDriver.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- ISOValue: 'Inventory holding'
- TargetAttribute: CostDriver
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/TypeIndex_MappingInventoryCostTypeIndex.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/TypeIndex_MappingInventoryCostTypeIndex.qbl
deleted file mode 100644
index c55e5f5..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/TypeIndex_MappingInventoryCostTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingInventoryCostTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ID
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingInventoryValueAndCost/_ROOT_Type_MappingInventoryValueAndCost.qbl b/_Main/BL/Type_MappingInventoryValueAndCost/_ROOT_Type_MappingInventoryValueAndCost.qbl
deleted file mode 100644
index f8c6551..0000000
--- a/_Main/BL/Type_MappingInventoryValueAndCost/_ROOT_Type_MappingInventoryValueAndCost.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingInventoryValueAndCost
-{
- #keys: '5[414384.0.601560012][414384.0.601560010][0.0.0][414384.0.601560011][414384.0.601560013]'
- BaseType: Object
- Description: 'ETL搴撳瓨鎴愭湰'
- StructuredName: 'MappingInventoryValueAndCosts'
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_ActualCapacity.qbl b/_Main/BL/Type_MappingOperation/Attribute_ActualCapacity.qbl
deleted file mode 100644
index 9e79672..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_ActualCapacity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ActualCapacity
-{
- #keys: '3[412960.0.86978472][412960.0.86978471][412960.0.86978473]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingOperation/Attribute_BusinessType.qbl
deleted file mode 100644
index 4709bfd..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
- #keys: '3[412960.0.86977961][412960.0.86977960][412960.0.86977962]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_Line.qbl b/_Main/BL/Type_MappingOperation/Attribute_Line.qbl
deleted file mode 100644
index a52b854..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_Line.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Line
-{
- #keys: '3[412960.0.86978344][412960.0.86978343][412960.0.86978345]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_MaximumQuantity.qbl b/_Main/BL/Type_MappingOperation/Attribute_MaximumQuantity.qbl
deleted file mode 100644
index a382633..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_MaximumQuantity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute MaximumQuantity
-{
- #keys: '3[412960.0.86978664][412960.0.86978663][412960.0.86978665]'
- ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_MinimumQuantity.qbl b/_Main/BL/Type_MappingOperation/Attribute_MinimumQuantity.qbl
deleted file mode 100644
index 4065295..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_MinimumQuantity.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute MinimumQuantity
-{
- #keys: '3[412960.0.86978600][412960.0.86978599][412960.0.86978601]'
- ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_OrganCode.qbl b/_Main/BL/Type_MappingOperation/Attribute_OrganCode.qbl
deleted file mode 100644
index b3eef88..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_OrganCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganCode
-{
- #keys: '3[412960.0.86978024][412960.0.86978023][412960.0.86978025]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_OrganName.qbl b/_Main/BL/Type_MappingOperation/Attribute_OrganName.qbl
deleted file mode 100644
index b2250d8..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_OrganName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganName
-{
- #keys: '3[412960.0.86978088][412960.0.86978087][412960.0.86978089]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_PlantName.qbl b/_Main/BL/Type_MappingOperation/Attribute_PlantName.qbl
deleted file mode 100644
index ec05566..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_PlantName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PlantName
-{
- #keys: '3[412960.0.86978216][412960.0.86978215][412960.0.86978217]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_ProcessSection.qbl b/_Main/BL/Type_MappingOperation/Attribute_ProcessSection.qbl
deleted file mode 100644
index 0716724..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_ProcessSection.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProcessSection
-{
- #keys: '3[412960.0.86978280][412960.0.86978279][412960.0.86978281]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_ProductID.qbl b/_Main/BL/Type_MappingOperation/Attribute_ProductID.qbl
deleted file mode 100644
index 9e2b692..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[412960.0.86978152][412960.0.86978151][412960.0.86978153]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_SequenceNumber.qbl b/_Main/BL/Type_MappingOperation/Attribute_SequenceNumber.qbl
deleted file mode 100644
index fed9689..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_SequenceNumber.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SequenceNumber
-{
- #keys: '3[412960.0.86978408][412960.0.86978407][412960.0.86978409]'
- IsReadOnly: true
- ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingOperation/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 963cca9..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
- #keys: '3[412960.0.86978728][412960.0.86978727][412960.0.86978729]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperation/Attribute_UserLeadTime.qbl b/_Main/BL/Type_MappingOperation/Attribute_UserLeadTime.qbl
deleted file mode 100644
index b88d70e..0000000
--- a/_Main/BL/Type_MappingOperation/Attribute_UserLeadTime.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UserLeadTime
-{
- #keys: '3[412960.0.86978536][412960.0.86978535][412960.0.86978537]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingOperation/StaticMethod_FindMinSeq.qbl b/_Main/BL/Type_MappingOperation/StaticMethod_FindMinSeq.qbl
deleted file mode 100644
index 74aadb6..0000000
--- a/_Main/BL/Type_MappingOperation/StaticMethod_FindMinSeq.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod FindMinSeq (
- MacroPlan macroPlan,
- String orgCode,
- String productId,
- String processSection
-) as Number
-{
- TextBody:
- [*
- // yypsybs Aug-22-2023 (created)
- return guard (min( macroPlan, MappingOperation, item,
- item.OrganCode() = orgCode and item.ProductID() = productId and item.ProcessSection() = processSection,
- item.SequenceNumber() ), Number::MinNumber() );
- *]
-}
diff --git a/_Main/BL/Type_MappingOperation/TypeIndex_MappingOperationTypeIndex.qbl b/_Main/BL/Type_MappingOperation/TypeIndex_MappingOperationTypeIndex.qbl
deleted file mode 100644
index 2fc4aff..0000000
--- a/_Main/BL/Type_MappingOperation/TypeIndex_MappingOperationTypeIndex.qbl
+++ /dev/null
@@ -1,36 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingOperationTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ProcessSection
- }
- TypeIndexAttribute
- {
- ModelElement: PlantName
- }
- TypeIndexAttribute
- {
- ModelElement: BusinessType
- }
- TypeIndexAttribute
- {
- ModelElement: Line
- }
- TypeIndexAttribute
- {
- ModelElement: ProductID
- }
- TypeIndexAttribute
- {
- ModelElement: SequenceNumber
- }
- TypeIndexAttribute
- {
- ModelElement: OrganCode
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingOperation/_ROOT_Type_MappingOperation.qbl b/_Main/BL/Type_MappingOperation/_ROOT_Type_MappingOperation.qbl
deleted file mode 100644
index 0ec2e02..0000000
--- a/_Main/BL/Type_MappingOperation/_ROOT_Type_MappingOperation.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingOperation
-{
- #keys: '5[412960.0.86977940][412960.0.86977938][0.0.0][412960.0.86977939][412960.0.86977941]'
- BaseType: Object
- StructuredName: 'MappingOperations'
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_AccountName.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_AccountName.qbl
deleted file mode 100644
index 9a81230..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_AccountName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute AccountName
-{
- #keys: '3[412960.0.94793446][412960.0.94793445][412960.0.94793447]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_Cost.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_Cost.qbl
deleted file mode 100644
index b0c351a..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_Cost.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Cost
-{
- #keys: '3[412960.0.94793456][412960.0.94793455][412960.0.94793457]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_CostDriver.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_CostDriver.qbl
deleted file mode 100644
index 2651c65..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_CostDriver.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CostDriver
-{
- #keys: '3[412960.0.94793466][412960.0.94793465][412960.0.94793467]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_ID.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_ID.qbl
deleted file mode 100644
index 981e7e2..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
- #keys: '3[412960.0.94793476][412960.0.94793475][412960.0.94793477]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_LengthOfTime.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_LengthOfTime.qbl
deleted file mode 100644
index 02977c1..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_LengthOfTime.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute LengthOfTime
-{
- #keys: '3[412960.0.94793486][412960.0.94793485][412960.0.94793487]'
- ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_OrgCode.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_OrgCode.qbl
deleted file mode 100644
index 86c20db..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_OrgCode.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrgCode
-{
- #keys: '3[412960.0.94793496][412960.0.94793495][412960.0.94793497]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_ProductID.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_ProductID.qbl
deleted file mode 100644
index af70a16..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[412960.0.94793506][412960.0.94793505][412960.0.94793507]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_Start.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_Start.qbl
deleted file mode 100644
index 7747d1c..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_Start.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Start
-{
- #keys: '3[412960.0.94793516][412960.0.94793515][412960.0.94793517]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingOperationCost/Attribute_TimeUnit.qbl b/_Main/BL/Type_MappingOperationCost/Attribute_TimeUnit.qbl
deleted file mode 100644
index e88a460..0000000
--- a/_Main/BL/Type_MappingOperationCost/Attribute_TimeUnit.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute TimeUnit
-{
- #keys: '3[412960.0.94793526][412960.0.94793525][412960.0.94793527]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingOperationCost/TypeIndex_MappingOperationCostTypeIndex.qbl b/_Main/BL/Type_MappingOperationCost/TypeIndex_MappingOperationCostTypeIndex.qbl
deleted file mode 100644
index 56c3d31..0000000
--- a/_Main/BL/Type_MappingOperationCost/TypeIndex_MappingOperationCostTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingOperationCostTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ID
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingOperationCost/_ROOT_Type_MappingOperationCost.qbl b/_Main/BL/Type_MappingOperationCost/_ROOT_Type_MappingOperationCost.qbl
deleted file mode 100644
index c6b4926..0000000
--- a/_Main/BL/Type_MappingOperationCost/_ROOT_Type_MappingOperationCost.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingOperationCost
-{
- #keys: '5[412960.0.94793442][412960.0.94793440][0.0.0][412960.0.94793441][412960.0.94793443]'
- BaseType: Object
- StructuredName: 'MappingOperationCosts'
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingProduct/Attribute_BusinessType.qbl
deleted file mode 100644
index 1d3a4b3..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
- #keys: '3[414480.0.61560268][414480.0.61560267][414480.0.61560269]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_CommonBusiness.qbl b/_Main/BL/Type_MappingProduct/Attribute_CommonBusiness.qbl
deleted file mode 100644
index 6c38dd3..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_CommonBusiness.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CommonBusiness
-{
- #keys: '3[414480.0.61560298][414480.0.61560297][414480.0.61560299]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_EndDate.qbl b/_Main/BL/Type_MappingProduct/Attribute_EndDate.qbl
deleted file mode 100644
index 869e122..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_EndDate.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute EndDate
-{
- #keys: '3[414480.0.61534728][414480.0.61534727][414480.0.61534729]'
- ValueType: Date
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ID.qbl b/_Main/BL/Type_MappingProduct/Attribute_ID.qbl
deleted file mode 100644
index 5d5d0a4..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ID
-{
- #keys: '3[414480.0.61560258][414480.0.61560257][414480.0.61560259]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_IsCommon.qbl b/_Main/BL/Type_MappingProduct/Attribute_IsCommon.qbl
deleted file mode 100644
index 2c6dcc1..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_IsCommon.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsCommon
-{
- #keys: '3[414480.0.61560288][414480.0.61560287][414480.0.61560289]'
- ValueType: Boolean
-}
diff --git "a/_Main/BL/Type_MappingProduct/Attribute_KeyProduct\043814.qbl" "b/_Main/BL/Type_MappingProduct/Attribute_KeyProduct\043814.qbl"
deleted file mode 100644
index a24de96..0000000
--- "a/_Main/BL/Type_MappingProduct/Attribute_KeyProduct\043814.qbl"
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute KeyProduct
-{
- #keys: '3[414480.0.61534708][414480.0.61534707][414480.0.61534709]'
- ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_Name.qbl b/_Main/BL/Type_MappingProduct/Attribute_Name.qbl
deleted file mode 100644
index ee3c048..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_Name.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Name
-{
- #keys: '3[414480.0.61534675][414480.0.61534674][414480.0.61534676]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_Notes.qbl b/_Main/BL/Type_MappingProduct/Attribute_Notes.qbl
deleted file mode 100644
index 2c845d2..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_Notes.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Notes
-{
- #keys: '3[414480.0.61534718][414480.0.61534717][414480.0.61534719]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_OrgCode.qbl b/_Main/BL/Type_MappingProduct/Attribute_OrgCode.qbl
deleted file mode 100644
index 6569df8..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_OrgCode.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrgCode
-{
- #keys: '3[414384.0.795680117][414384.0.795680116][414384.0.795680118]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ProductMajorType.qbl b/_Main/BL/Type_MappingProduct/Attribute_ProductMajorType.qbl
deleted file mode 100644
index a1a1d2e..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ProductMajorType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductMajorType
-{
- #keys: '3[414480.0.61534652][414480.0.61534651][414480.0.61534653]'
- Description: '鐗╂枡澶х被'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ProductSubclassType.qbl b/_Main/BL/Type_MappingProduct/Attribute_ProductSubclassType.qbl
deleted file mode 100644
index 7eacc67..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ProductSubclassType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductSubclassType
-{
- #keys: '3[414480.0.61534662][414480.0.61534661][414480.0.61534663]'
- Description: '鐗╂枡灏忕被'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_ShelfLife.qbl b/_Main/BL/Type_MappingProduct/Attribute_ShelfLife.qbl
deleted file mode 100644
index 8f3b139..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_ShelfLife.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ShelfLife
-{
- #keys: '3[414480.0.61534698][414480.0.61534697][414480.0.61534699]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingProduct/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_MappingProduct/Attribute_UnitOfMeasureName.qbl
deleted file mode 100644
index 585f237..0000000
--- a/_Main/BL/Type_MappingProduct/Attribute_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute UnitOfMeasureName
-{
- #keys: '3[414480.0.61534685][414480.0.61534684][414480.0.61534686]'
- Description: '鐗╂枡鍗曚綅'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProduct/StaticMethod_GetByProductId.qbl b/_Main/BL/Type_MappingProduct/StaticMethod_GetByProductId.qbl
deleted file mode 100644
index c8ac218..0000000
--- a/_Main/BL/Type_MappingProduct/StaticMethod_GetByProductId.qbl
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetByProductId (
- MacroPlan parent,
- String productId
-) as MappingProduct
-{
- Description: '鏍规嵁鏂欏彿鏌ヨ褰�'
- TextBody:
- [*
- // yypsybs Sep-12-2023 (created)
-
- // todo 淇敼parent绫诲瀷
- value := select( parent, MappingProduct, item, item.ID() = productId );
- return value;
- *]
-}
diff --git a/_Main/BL/Type_MappingProduct/TypeIndex_MappingProductTypeIndex.qbl b/_Main/BL/Type_MappingProduct/TypeIndex_MappingProductTypeIndex.qbl
deleted file mode 100644
index 56be564..0000000
--- a/_Main/BL/Type_MappingProduct/TypeIndex_MappingProductTypeIndex.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingProductTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ID
- }
- TypeIndexAttribute
- {
- ModelElement: BusinessType
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingProduct/_ROOT_Type_MappingProduct.qbl b/_Main/BL/Type_MappingProduct/_ROOT_Type_MappingProduct.qbl
deleted file mode 100644
index 305fd9d..0000000
--- a/_Main/BL/Type_MappingProduct/_ROOT_Type_MappingProduct.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingProduct
-{
- #keys: '5[414480.0.61581356][414480.0.61581354][0.0.0][414480.0.61581355][414480.0.61581357]'
- BaseType: Object
- StructuredName: 'MappingProducts'
-}
diff --git a/_Main/BL/Type_MappingProductInLine/Attribute_LineID.qbl b/_Main/BL/Type_MappingProductInLine/Attribute_LineID.qbl
deleted file mode 100644
index f5a5b03..0000000
--- a/_Main/BL/Type_MappingProductInLine/Attribute_LineID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute LineID
-{
- #keys: '3[412960.0.86844688][412960.0.86844687][412960.0.86844689]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProductInLine/Attribute_ProductID.qbl b/_Main/BL/Type_MappingProductInLine/Attribute_ProductID.qbl
deleted file mode 100644
index 1d12810..0000000
--- a/_Main/BL/Type_MappingProductInLine/Attribute_ProductID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ProductID
-{
- #keys: '3[412960.0.86844678][412960.0.86844677][412960.0.86844679]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingProductInLine/TypeIndex_MappingProductInLineTypeIndex.qbl b/_Main/BL/Type_MappingProductInLine/TypeIndex_MappingProductInLineTypeIndex.qbl
deleted file mode 100644
index e03b2fd..0000000
--- a/_Main/BL/Type_MappingProductInLine/TypeIndex_MappingProductInLineTypeIndex.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingProductInLineTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: ProductID
- }
- TypeIndexAttribute
- {
- ModelElement: LineID
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingProductInLine/_ROOT_Type_MappingProductInLane.qbl b/_Main/BL/Type_MappingProductInLine/_ROOT_Type_MappingProductInLane.qbl
deleted file mode 100644
index dc33bce..0000000
--- a/_Main/BL/Type_MappingProductInLine/_ROOT_Type_MappingProductInLane.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingProductInLane
-{
- #keys: '5[412960.0.86844659][412960.0.86844657][0.0.0][412960.0.86844658][412960.0.86844660]'
- BaseType: Object
- StructuredName: 'MappingProductInLanes'
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_BusinessType.qbl
deleted file mode 100644
index 7dd6ffa..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_BusinessType.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessType
-{
- #keys: '3[414384.0.583160133][414384.0.583160132][414384.0.583160134]'
- Description: '浜嬩笟閮�'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_DisplayIndex.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_DisplayIndex.qbl
deleted file mode 100644
index 560dc81..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_DisplayIndex.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute DisplayIndex
-{
- #keys: '3[414384.0.583160163][414384.0.583160162][414384.0.583160164]'
- Description: '鏄剧ず椤哄簭缂栧彿'
- ValueType: Number
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_Name.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_Name.qbl
deleted file mode 100644
index 34acb74..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_Name.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Name
-{
- #keys: '3[414384.0.583160143][414384.0.583160142][414384.0.583160144]'
- Description: '瀹㈡埛鍚嶇О'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/Attribute_ParentName.qbl b/_Main/BL/Type_MappingSalesSegment/Attribute_ParentName.qbl
deleted file mode 100644
index 2dae528..0000000
--- a/_Main/BL/Type_MappingSalesSegment/Attribute_ParentName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ParentName
-{
- #keys: '3[414384.0.583160153][414384.0.583160152][414384.0.583160154]'
- Description: '閿�鍞儴闂ㄥ垎绫�'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/TypeIndex_MappingSalesSegmentTypeIndex.qbl b/_Main/BL/Type_MappingSalesSegment/TypeIndex_MappingSalesSegmentTypeIndex.qbl
deleted file mode 100644
index 8d2d6f4..0000000
--- a/_Main/BL/Type_MappingSalesSegment/TypeIndex_MappingSalesSegmentTypeIndex.qbl
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingSalesSegmentTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: BusinessType
- }
- TypeIndexAttribute
- {
- ModelElement: Name
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingSalesSegment/_ROOT_Type_MappingSalesSegment.qbl b/_Main/BL/Type_MappingSalesSegment/_ROOT_Type_MappingSalesSegment.qbl
deleted file mode 100644
index 36a7d8b..0000000
--- a/_Main/BL/Type_MappingSalesSegment/_ROOT_Type_MappingSalesSegment.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingSalesSegment
-{
- #keys: '5[414384.0.583160110][414384.0.583160108][0.0.0][414384.0.583160109][414384.0.583160111]'
- BaseType: Object
- Description: 'ETL閿�鍞儴闂�'
- StructuredName: 'MappingSalesSegments'
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_Equipment.qbl b/_Main/BL/Type_MappingUnit/Attribute_Equipment.qbl
deleted file mode 100644
index 9031b89..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_Equipment.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Equipment
-{
- #keys: '3[412960.0.96453712][412960.0.96453711][412960.0.96453713]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_EquipmentID.qbl b/_Main/BL/Type_MappingUnit/Attribute_EquipmentID.qbl
deleted file mode 100644
index a058fae..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_EquipmentID.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute EquipmentID
-{
- #keys: '3[412960.0.96453702][412960.0.96453701][412960.0.96453703]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_OperationType.qbl b/_Main/BL/Type_MappingUnit/Attribute_OperationType.qbl
deleted file mode 100644
index f6e2520..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_OperationType.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OperationType
-{
- #keys: '3[412960.0.96453692][412960.0.96453691][412960.0.96453693]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_OrganCode.qbl b/_Main/BL/Type_MappingUnit/Attribute_OrganCode.qbl
deleted file mode 100644
index 94daa49..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_OrganCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganCode
-{
- #keys: '3[412960.0.96453662][412960.0.96453661][412960.0.96453663]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_OrganName.qbl b/_Main/BL/Type_MappingUnit/Attribute_OrganName.qbl
deleted file mode 100644
index f7e8208..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_OrganName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrganName
-{
- #keys: '3[412960.0.96453672][412960.0.96453671][412960.0.96453673]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/Attribute_PlantName.qbl b/_Main/BL/Type_MappingUnit/Attribute_PlantName.qbl
deleted file mode 100644
index 98dffe6..0000000
--- a/_Main/BL/Type_MappingUnit/Attribute_PlantName.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PlantName
-{
- #keys: '3[412960.0.96453682][412960.0.96453681][412960.0.96453683]'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnit/TypeIndex_MappingUnitTypeIndex.qbl b/_Main/BL/Type_MappingUnit/TypeIndex_MappingUnitTypeIndex.qbl
deleted file mode 100644
index 1e6093e..0000000
--- a/_Main/BL/Type_MappingUnit/TypeIndex_MappingUnitTypeIndex.qbl
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingUnitTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: OrganCode
- }
- TypeIndexAttribute
- {
- ModelElement: OperationType
- }
- TypeIndexAttribute
- {
- ModelElement: EquipmentID
- }
- TypeIndexAttribute
- {
- ModelElement: PlantName
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingUnit/_ROOT_Type_MappingUnit.qbl b/_Main/BL/Type_MappingUnit/_ROOT_Type_MappingUnit.qbl
deleted file mode 100644
index 9dd41e7..0000000
--- a/_Main/BL/Type_MappingUnit/_ROOT_Type_MappingUnit.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingUnit
-{
- #keys: '5[412960.0.96453658][412960.0.96453656][0.0.0][412960.0.96453657][412960.0.96453659]'
- BaseType: Object
- StructuredName: 'MappingUnits'
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_IsDefault.qbl b/_Main/BL/Type_MappingUnitOfMeasure/Attribute_IsDefault.qbl
deleted file mode 100644
index 241405a..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_IsDefault.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute IsDefault
-{
- #keys: '3[414384.0.583160085][414384.0.583160084][414384.0.583160086]'
- Description: '鏄惁榛樿'
- ValueType: Boolean
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_name.qbl b/_Main/BL/Type_MappingUnitOfMeasure/Attribute_name.qbl
deleted file mode 100644
index f65ee0a..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/Attribute_name.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute Name
-{
- #keys: '3[414384.0.583160075][414384.0.583160074][414384.0.583160076]'
- Description: '鍗曚綅鍚嶇О'
- IsReadOnly: true
- ValueType: String
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/DefaultValue_IsDefault.qbl b/_Main/BL/Type_MappingUnitOfMeasure/DefaultValue_IsDefault.qbl
deleted file mode 100644
index 4bce483..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/DefaultValue_IsDefault.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- ISOValue: 'false'
- TargetAttribute: IsDefault
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/TypeIndex_MappingUnitOfMeasureTypeIndex.qbl b/_Main/BL/Type_MappingUnitOfMeasure/TypeIndex_MappingUnitOfMeasureTypeIndex.qbl
deleted file mode 100644
index 930697e..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/TypeIndex_MappingUnitOfMeasureTypeIndex.qbl
+++ /dev/null
@@ -1,12 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-TypeIndex MappingUnitOfMeasureTypeIndex
-{
- Attributes:
- [
- TypeIndexAttribute
- {
- ModelElement: Name
- }
- ]
-}
diff --git a/_Main/BL/Type_MappingUnitOfMeasure/_ROOT_Type_MappingUnitOfMeasure.qbl b/_Main/BL/Type_MappingUnitOfMeasure/_ROOT_Type_MappingUnitOfMeasure.qbl
deleted file mode 100644
index cfa0e06..0000000
--- a/_Main/BL/Type_MappingUnitOfMeasure/_ROOT_Type_MappingUnitOfMeasure.qbl
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type MappingUnitOfMeasure
-{
- #keys: '5[414384.0.583160055][414384.0.583160053][0.0.0][414384.0.583160054][414384.0.583160056]'
- BaseType: Object
- Description: 'ETL鍗曚綅'
- StructuredName: 'MappingUnitOfMeasures'
-}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/Attribute_IsModule.qbl b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_IsModule.qbl
new file mode 100644
index 0000000..41a8d2f
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_IsModule.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsModule
+{
+ #keys: '3[414702.1.376024042][414702.1.376024041][414702.1.376024043]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleProductID.qbl b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleProductID.qbl
new file mode 100644
index 0000000..5a225e5
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleProductID
+{
+ #keys: '3[414702.1.376547011][414702.1.376547010][414702.1.376547012]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleStockingPointID.qbl b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleStockingPointID.qbl
new file mode 100644
index 0000000..fa9d8e9
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_ModuleStockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleStockingPointID
+{
+ #keys: '3[414702.1.376547021][414702.1.376547020][414702.1.376547022]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelProductID.qbl b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelProductID.qbl
new file mode 100644
index 0000000..f2e4198
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelProductID
+{
+ #keys: '3[414702.1.376547074][414702.1.376547073][414702.1.376547075]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelStockingPointID.qbl b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelStockingPointID.qbl
new file mode 100644
index 0000000..956fb72
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/Attribute_PanelStockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelStockingPointID
+{
+ #keys: '3[414702.1.376547084][414702.1.376547083][414702.1.376547085]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreateModule.qbl b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreateModule.qbl
new file mode 100644
index 0000000..93a7d86
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreateModule.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateModule (
+ GlobalOTDSOP globalOTDSOP,
+ ProductInStockingPoint_MPs pisps
+)
+{
+ TextBody:
+ [*
+ traverse ( pisps, Elements, pisp ) {
+ targetModulePanelCorrespondence := select( globalOTDSOP, ModulePanelCorrespondence, tempMPC,
+ tempMPC.ModuleProductID() = pisp.ProductID() and
+ tempMPC.ModuleStockingPointID() = pisp.StockingPointID() );
+ if ( isnull( targetModulePanelCorrespondence ) ) {
+ globalOTDSOP.ModulePanelCorrespondence( relnew, ModuleProductID := pisp.ProductID(), ModuleStockingPointID := pisp.StockingPointID(), IsModule := true );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreatePanel.qbl b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreatePanel.qbl
new file mode 100644
index 0000000..e4ab37b
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_CreatePanel.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreatePanel (
+ GlobalOTDSOP globalOTDSOP,
+ ModulePanelCorrespondences modulePanelCorrespondences,
+ ProductInStockingPoint_MPs pisps
+)
+{
+ TextBody:
+ [*
+ traverse ( modulePanelCorrespondences, Elements, mpc ) {
+ traverse ( pisps, Elements, pisp ) {
+ targetPanel := select( mpc, Panel, tempP,
+ tempP.PanelProductID() = pisp.ProductID() and
+ tempP.PanelStockingPointID() = pisp.StockingPointID() );
+ if ( isnull( targetPanel ) ) {
+ targetPanel := globalOTDSOP.ModulePanelCorrespondence( relnew, PanelProductID := pisp.ProductID(), PanelStockingPointID := pisp.StockingPointID() );
+ targetPanel.Module( relset, mpc );
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeleteModule.qbl b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeleteModule.qbl
new file mode 100644
index 0000000..22ceadb
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeleteModule.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DeleteModule (
+ GlobalOTDSOP globalOTDSOP,
+ ProductInStockingPoint_MPs pisps
+)
+{
+ TextBody:
+ [*
+ traverse ( pisps, Elements, pisp ) {
+ targetModulePanelCorrespondence := select( globalOTDSOP, ModulePanelCorrespondence, tempMPC,
+ tempMPC.ModuleProductID() = pisp.ProductID() and
+ tempMPC.ModuleStockingPointID() = pisp.StockingPointID() and
+ tempMPC.IsModule() );
+ if ( not isnull( targetModulePanelCorrespondence ) ) {
+ targetModulePanelCorrespondence.Delete();
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeletePanel.qbl b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeletePanel.qbl
new file mode 100644
index 0000000..e52e516
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_DeletePanel.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DeletePanel (
+ ModulePanelCorrespondences modulePanelCorrespondences,
+ ProductInStockingPoint_MPs pisps
+)
+{
+ TextBody:
+ [*
+ traverse ( modulePanelCorrespondences, Elements, mpc ) {
+ traverse ( pisps, Elements, pisp ) {
+ targetPanel := select( mpc, Panel, tempP,
+ tempP.PanelProductID() = pisp.ProductID() and
+ tempP.PanelStockingPointID() = pisp.StockingPointID() );
+ if ( not isnull( targetPanel ) ) {
+ targetPanel.Delete();
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_PullCapacityAllocationRule.qbl b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_PullCapacityAllocationRule.qbl
new file mode 100644
index 0000000..978a5a5
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/StaticMethod_PullCapacityAllocationRule.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod PullCapacityAllocationRule (
+ GlobalOTDSOP globalOTDSOP
+)
+{
+ TextBody:
+ [*
+ globalOTDSOP.ModulePanelCorrespondence( relflush );
+
+ traverse ( globalOTDSOP, CapacityAllocationResultsRuleConfiguration, carrc ) {
+ module := select( globalOTDSOP, ModulePanelCorrespondence, tempMPC,
+ tempMPC.ModuleProductID() = carrc.ModuleMaterialCode() and
+ tempMPC.ModuleStockingPointID() = carrc.StockingPointID() );
+ if ( isnull( module ) ) {
+ module := globalOTDSOP.ModulePanelCorrespondence( relnew,
+ ModuleProductID := carrc.ModuleMaterialCode(),
+ ModuleStockingPointID := carrc.StockingPointID(),
+ IsModule := true );
+ }
+
+ isExists := exists( module, Panel, tempP, tempP.PanelProductID() = carrc.PanelMaterialCode() );
+ if ( not isExists ) {
+ panel := globalOTDSOP.ModulePanelCorrespondence( relnew, PanelProductID := carrc.PanelMaterialCode() );
+ panel.Module( relset, module );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_ModulePanelCorrespondence/_ROOT_Type_ModulePanelCorrespondence.qbl b/_Main/BL/Type_ModulePanelCorrespondence/_ROOT_Type_ModulePanelCorrespondence.qbl
new file mode 100644
index 0000000..3761682
--- /dev/null
+++ b/_Main/BL/Type_ModulePanelCorrespondence/_ROOT_Type_ModulePanelCorrespondence.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type ModulePanelCorrespondence
+{
+ #keys: '5[414702.1.376546992][414702.1.376546990][0.0.0][414702.1.376546991][414702.1.376546993]'
+ BaseType: Object
+ StructuredName: 'ModulePanelCorrespondences'
+}
diff --git a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
new file mode 100644
index 0000000..4f4edbb
--- /dev/null
+++ b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
@@ -0,0 +1,53 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ExportTheFileStream (
+ PRDatas toExportList
+) as BinaryValue
+{
+ TextBody:
+ [*
+ text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>PR</name><column><name>鐗╂枡缂栫爜</name><type>String</type></column><column><name>鐗╂枡鍚嶇О</name><type>String</type></column><column><name>闈㈡澘鐗╂枡鏍囪瘑</name><type>String</type></column><column><name>浜よ揣鏃ユ湡</name><type>String</type></column><column><name>PR寤鸿鏃ユ湡</name><type>String</type></column><column><name>浜よ揣鏁伴噺</name><type>Number</type></column><column><name>MRP璁$畻鐗堟湰鍙�</name><type>String</type></column><column><name>涓氬姟绫诲瀷</name><type>String</type></column><column><name>缁勭粐缂栫爜</name><type>String</type></column><column><name>鏄惁闀垮懆鏈�</name><type>String</type></column><column><name>鏄惁涓撶敤鏂�</name><type>String</type></column><column><name>鐗╂枡璁″垝绛栫暐</name><type>String</type></column><column><name>鎻愬墠鏈�</name><type>Number</type></column><column><name>渚涘簲鍟嗕唬鐮�</name><type>String</type></column><column><name>渚涘簲鍟嗗悕绉�</name><type>String</type></column><column><name>鏀惰揣搴撳瓨鐐�</name><type>String</type></column><column><name>璁¢噺鍗曚綅</name><type>String</type></column><column><name>PR鏁版嵁鍙戦�佺姸鎬�</name><type>String</type></column><column><name>鍙戦�佹椂闂�</name><type>String</type></column><column><name>鍙戦�佷汉</name><type>String</type></column></table>';
+
+ sc := DateToString::StandardConverter();
+ sc.SetCustomConversion();
+ sc.CustomFormatString( 'yyyy-MM-dd' );
+
+ xmlDOMImplementation := XMLDOMImplementation::Create();
+ xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text );
+
+ tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 );
+
+ traverse ( toExportList, Elements, prd ) {
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductID(), "鐗╂枡缂栫爜" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductName(), "鐗╂枡鍚嶇О" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsPanelMaterial(), "闈㈡澘鐗╂枡鏍囪瘑" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.DeliveryDate() ), "浜よ揣鏃ユ湡" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.PRSuggestionDate() ), "PR寤鸿鏃ユ湡" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]( prd.Quantity().Round( 0 ) ), "浜よ揣鏁伴噺" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.BusinessType(), "涓氬姟绫诲瀷" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.OrganCode(), "缁勭粐缂栫爜" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsLongLeadItem(), "鏄惁闀垮懆鏈�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsGenericMaterial(), "鏄惁涓撶敤鏂�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MaterialMRPType(), "鐗╂枡璁″垝绛栫暐" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]prd.LeadTime(), "鎻愬墠鏈�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderName(), "渚涘簲鍟嗗悕绉�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.UnitOfMeasure(), "璁¢噺鍗曚綅" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.PRReleaseStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.CreateTimeString(), "鍙戦�佹椂闂�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.CreateBy(), "鍙戦�佷汉" );
+ }
+
+ xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
+ xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument );
+
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) );
+ tableGroupHandle := TableGroupHandle::Create( "PR" );
+ tableGroupHandle.Add( tableHandle );
+ tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
+
+ return tableBinaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl "b/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn\04356.qbl"
similarity index 100%
rename from _Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
rename to "_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn\04356.qbl"
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl
new file mode 100644
index 0000000..47736bd
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+ #keys: '3[414702.1.294748144][414702.1.294748143][414702.1.294748145]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl
new file mode 100644
index 0000000..1df641d
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesDemandBaseID
+{
+ #keys: '3[414702.1.294144484][414702.1.294144483][414702.1.294144485]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl
new file mode 100644
index 0000000..76121f8
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[414702.1.294179414][414702.1.294179413][414702.1.294179415]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..7571b1e
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414702.1.294179270][414702.1.294179269][414702.1.294179271]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl b/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl
new file mode 100644
index 0000000..1563969
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingProductInSalesDemandBase
+{
+ #keys: '5[414702.1.290710055][414702.1.290710053][0.0.0][414702.1.290710054][414702.1.290710056]'
+ BaseType: Object
+ StructuredName: 'PeggingProductInSalesDemandBases'
+}
diff --git a/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_ProductID.qbl
new file mode 100644
index 0000000..054b669
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.364041933][414702.1.364041932][414702.1.364041934]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StartDate.qbl
new file mode 100644
index 0000000..6ed2a80
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[414702.1.364041953][414702.1.364041952][414702.1.364041954]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..442b3b1
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInStockingPoint_MP/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414702.1.364041943][414702.1.364041942][414702.1.364041944]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProductInStockingPoint_MP/_ROOT_Type_PeggingProductInStockingPoint_MP.qbl b/_Main/BL/Type_PeggingProductInStockingPoint_MP/_ROOT_Type_PeggingProductInStockingPoint_MP.qbl
new file mode 100644
index 0000000..3a79593
--- /dev/null
+++ b/_Main/BL/Type_PeggingProductInStockingPoint_MP/_ROOT_Type_PeggingProductInStockingPoint_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingProductInStockingPoint_MP
+{
+ #keys: '5[414702.1.364041911][414702.1.364041909][0.0.0][414702.1.364041910][414702.1.364041912]'
+ BaseType: Object
+ StructuredName: 'PeggingProductInStockingPoint_MPs'
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl
new file mode 100644
index 0000000..1aa0e94
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.290710074][414702.1.290710073][414702.1.290710075]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
new file mode 100644
index 0000000..8eaaed9
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDSOP globalOTDSOP,
+ String productID
+) as PeggingProduct_MP
+{
+ TextBody:
+ [*
+ targetPeggingProduct_MP := select( globalOTDSOP, PeggingProduct_MP, tempPPMP, tempPPMP.ProductID() = productID );
+
+ if ( isnull( targetPeggingProduct_MP ) ) {
+ targetPeggingProduct_MP := globalOTDSOP.PeggingProduct_MP( relnew, ProductID := productID );
+ }
+
+ return targetPeggingProduct_MP;
+ *]
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateData.qbl b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..a7296aa
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateData.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ GlobalOTDSOP globalOTDSOP,
+ Product_MPs product_MPs
+)
+{
+ TextBody:
+ [*
+ globalOTDSOP.PeggingProduct_MP( relflush );
+
+ product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() );
+
+ PeggingProduct_MP::CreateDataForSalesDemandBase( globalOTDSOP, product_MPs );
+
+ PeggingProduct_MP::CreateDataForProductInStocking_MP( globalOTDSOP, product_MPs );
+ *]
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForProductInStocking_MP.qbl b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForProductInStocking_MP.qbl
new file mode 100644
index 0000000..992f927
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForProductInStocking_MP.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDataForProductInStocking_MP (
+ GlobalOTDSOP globalOTDSOP,
+ Product_MPs product_MPs
+)
+{
+ TextBody:
+ [*
+ traverse ( product_MPs, Elements.ProductInStockingPoint_MP, pisp ) {
+ targetPeggingProduct_MP := PeggingProduct_MP::Create( globalOTDSOP, pisp.ProductID() );
+ // traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, not pispippl.IsPeriodFrozen() ) {
+ targetPeggingProduct_MP.PeggingProductInStockingPoint_MP( relnew,
+ ProductID := pisp.ProductID(),
+ StockingPointID := pisp.StockingPointID()
+ // StartDate := pispippl.Start().Date()
+ );
+ // }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForSalesDemandBase.qbl b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForSalesDemandBase.qbl
new file mode 100644
index 0000000..96df9b1
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/StaticMethod_CreateDataForSalesDemandBase.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDataForSalesDemandBase (
+ GlobalOTDSOP globalOTDSOP,
+ Product_MPs product_MPs
+)
+{
+ TextBody:
+ [*
+ traverse ( product_MPs, Elements, pmp ) {
+ targetPeggingProduct_MP := PeggingProduct_MP::Create( globalOTDSOP, pmp.ID() );
+ traverse ( pmp, SalesDemand, sd ) {
+ targetPeggingProduct_MP.PeggingProductInSalesDemandBase( relnew,
+ StockingPointID := sd.StockingPointID(),
+ SalesDemandBaseID := sd.ID(),
+ Quantity := sd.Quantity(),
+ StartDate := sd.StartDate() );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl b/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl
new file mode 100644
index 0000000..6b2219e
--- /dev/null
+++ b/_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingProduct_MP
+{
+ #keys: '5[414702.1.290710035][414702.1.290710033][0.0.0][414702.1.290710034][414702.1.290710036]'
+ BaseType: Object
+ StructuredName: 'PeggingProduct_MPs'
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl
new file mode 100644
index 0000000..54dd8e4
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_ActualFulfillmentQuantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ActualFulfillmentQuantity
+{
+ #keys: '3[414702.1.314092328][414702.1.314092327][414702.1.314092329]'
+ Description: '瀹為檯浜や粯鐨勬暟閲�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl
new file mode 100644
index 0000000..36ca7a2
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FulfillmentQuantity
+{
+ #keys: '3[414702.1.294201083][414702.1.294201082][414702.1.294201084]'
+ Description: '璁㈠崟鎵�闇�瑕佺殑鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl b/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl
new file mode 100644
index 0000000..610302a
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfPlies
+{
+ #keys: '3[414702.1.294145595][414702.1.294145594][414702.1.294145596]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl
new file mode 100644
index 0000000..d0beff9
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.294201096][414702.1.294201095][414702.1.294201097]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl
new file mode 100644
index 0000000..62f0fec
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[414702.1.294201063][414702.1.294201062][414702.1.294201064]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..6a9dcad
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414702.1.294201106][414702.1.294201105][414702.1.294201107]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl b/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl
new file mode 100644
index 0000000..053a461
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyQuantity
+{
+ #keys: '3[414702.1.294201073][414702.1.294201072][414702.1.294201074]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl b/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl
new file mode 100644
index 0000000..fcfb218
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyType
+{
+ #keys: '3[414702.1.294201053][414702.1.294201052][414702.1.294201054]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl b/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl
new file mode 100644
index 0000000..1d741f1
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasurementName
+{
+ #keys: '3[414702.1.294852022][414702.1.294852021][414702.1.294852023]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl
new file mode 100644
index 0000000..35370aa
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ String productID,
+ String stockingPointID,
+ Date startDate,
+ Real supplyQuantity,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ String supplyType,
+ Number numberOfPlies,
+ String unitOfMeasurementName
+) as PeggingResult
+{
+ TextBody:
+ [*
+ peggingResult := peggingProductInSalesDemandBase.PeggingResult( relnew,
+ ProductID := productID,
+ StockingPointID := stockingPointID,
+ StartDate := startDate,
+ SupplyQuantity := supplyQuantity,
+ ActualFulfillmentQuantity := actualFulfillmentQuantity,
+ FulfillmentQuantity := fulfillmentQuantity,
+ SupplyType := supplyType,
+ NumberOfPlies := numberOfPlies,
+ UnitOfMeasurementName := unitOfMeasurementName
+ );
+ return peggingResult;
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl
new file mode 100644
index 0000000..b435f3b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_CreateAllChildRelation.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateAllChildRelation (
+ PeggingProductInSalesDemandBase ppisdb
+)
+{
+ TextBody:
+ [*
+ targetPeggingResults := selectset( ppisdb, PeggingResult, tempPR, tempPR.NumberOfPlies() = 0 );
+
+ traverse ( targetPeggingResults, Elements, pr ) {
+ parentPeggingResult := pr;
+ childPeggingResult := pr;
+ PeggingResult::SetAllChildRelation( ppisdb, parentPeggingResult, childPeggingResult );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..59d58f3
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ PeggingProductInSalesDemandBases peggingProductInSalesDemandBases,
+ const MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ traverse ( peggingProductInSalesDemandBases, Elements, ppisdb ) {
+ ppisdb.PeggingResult( relflush );
+ targetSalesDemand := select( macroPlan, SalesDemand, tempSD, tempSD.ID() = ppisdb.SalesDemandBaseID() );
+ traverse ( targetSalesDemand, SalesDemandInPeriod.Fulfillment, f ) {
+ smp := f.Supply_MP();
+ fulfillmentQuantity := f.Quantity();
+ PeggingResult::GeneratePeggingResult( ppisdb,
+ 0,
+ smp,
+ fulfillmentQuantity,
+ fulfillmentQuantity,
+ null( PeggingResult ) );
+ }
+
+ PeggingResult::CreateAllChildRelation( ppisdb );
+ PeggingResult::SetAllChildRelation1( ppisdb );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl
new file mode 100644
index 0000000..6d10ac1
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateInventorySupply (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ Number numberOfPlies,
+ const InventorySupply is,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResult parentPeggingResult
+)
+{
+ TextBody:
+ [*
+ //info( "渚涘簲绫诲瀷锛圛nventorySupply锛� ", "渚涘簲鏃堕棿锛�", is.Date().Format( "Y-M2-D2" ), " 渚涘簲閲忥細", is.Quantity(),
+ // " 瀹為檯鐢ㄩ噺锛�", fulfillmentQuantity, " ", is.ProductInStockingPoint_MP().Name() );
+ pisp := is.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+ childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase,
+ pisp.ProductID(),
+ pisp.StockingPointID(),
+ is.Date(),
+ is.Quantity(),
+ actualFulfillmentQuantity,
+ fulfillmentQuantity,
+ "搴撳瓨渚涘簲",
+ numberOfPlies,
+ pisp.UnitOfMeasureName()
+ );
+
+ PeggingResult::SetParentChildRelationship( parentPeggingResult, childPeggingResult );
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
new file mode 100644
index 0000000..269e335
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
@@ -0,0 +1,70 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateNewSupply (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ Number numberOfPlies,
+ const NewSupply ns,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResult parentPeggingResult
+)
+{
+ TextBody:
+ [*
+ //info( "渚涘簲绫诲瀷锛圢ewSupply锛�", " 渚涘簲閲忥細", ns.Quantity(), " 婊¤冻锛�", fulfillmentQuantity );
+
+ pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+
+ childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase,
+ pisp.ProductID(),
+ pisp.StockingPointID(),
+ ns.Start().Date(),
+ ns.Quantity(),
+ actualFulfillmentQuantity,
+ fulfillmentQuantity,
+ "",
+ numberOfPlies,
+ pisp.UnitOfMeasureName() );
+ PeggingResult::SetParentChildRelationship( parentPeggingResult, childPeggingResult );
+
+ ontype ( ns.PeriodTask_MP() ) {
+ PeriodTaskOperation as pto : {
+ childPeggingResult.SupplyType( "浜х嚎渚涘簲" );
+ // info( "鎿嶄綔鍛ㄦ湡浠诲姟 ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), " 鍛ㄦ湡浠诲姟KEY锛�", pto.Key(), " ",
+ // ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+ traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
+ traverse ( dd, Fulfillment, f ) {
+ fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
+ totalSupply := sum( dd, Fulfillment, tempF, tempF.Quantity() );
+ orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
+ actualFulfillmentQuantity := f.Quantity();
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ // info( "--------------------------------------------------------------" );
+ PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResult );
+ numberOfPlies--;
+ }
+ }
+ }
+
+ PeriodTaskLaneLeg as ptll : {
+ childPeggingResult.SupplyType( "杞﹂亾渚涘簲" );
+ targetDependentDemand := select( ptll, DependentDemand, dd,
+ dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
+ dd.Quantity() = ns.Quantity() );
+ // info( "杞﹂亾鍛ㄦ湡浠诲姟 ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), " 鍛ㄦ湡浠诲姟KEY锛�", ptll.Key(), " ",
+ // ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+ traverse ( targetDependentDemand, Fulfillment, f ) {
+ totalSupply := sum( targetDependentDemand, Fulfillment, tempF, tempF.Quantity() );
+ orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
+ actualFulfillmentQuantity := f.Quantity();
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ // info( "--------------------------------------------------------------" );
+ PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResult );
+ numberOfPlies--;
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
new file mode 100644
index 0000000..3e6f64e
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GeneratePeggingResult (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ Number numberOfPlies,
+ const Supply_MP smp,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResult parentPeggingResult
+)
+{
+ TextBody:
+ [*
+ //info( "灞傛暟锛�", numberOfPlies );
+ ontype ( smp ) {
+ NewSupply as ns : {
+ PeggingResult::GenerateNewSupply( peggingProductInSalesDemandBase, numberOfPlies, ns, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResult );
+ }
+
+ InventorySupply as is : {
+ PeggingResult::GenerateInventorySupply( peggingProductInSalesDemandBase, numberOfPlies, is, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResult );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl
new file mode 100644
index 0000000..caee0aa
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetAllChildRelation (
+ PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
+ PeggingResult parentPeggingResult,
+ PeggingResult childPeggingResult
+)
+{
+ TextBody:
+ [*
+ if ( childPeggingResult.Child( relsize ) = 0 ) {
+ childPeggingResult.AllParent( relset, parentPeggingResult );
+ }
+
+ traverse ( childPeggingResult, Child, pr ) {
+ pr.AllParent( relset, parentPeggingResult );
+ PeggingResult::SetAllChildRelation( peggingProductInSalesDemandBase, parentPeggingResult, pr );
+ }
+ *]
+}
diff --git "a/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1\043809.qbl" "b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1\043809.qbl"
new file mode 100644
index 0000000..19a86a9
--- /dev/null
+++ "b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1\043809.qbl"
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetAllChildRelation1 (
+ PeggingProductInSalesDemandBase ppisdb
+)
+{
+ TextBody:
+ [*
+ traverse ( ppisdb, PeggingResult, pr, pr.NumberOfPlies() = 0 ) {
+ targetPeggingResults := selectset( pr, AllChild, tempPR, tempPR.SupplyType() = "搴撳瓨渚涘簲" );
+ traverse ( targetPeggingResults, Elements, cpr ) {
+ targetChild := select( pr, AllChild, tempPR,
+ tempPR.PeggingProductInSalesDemandBase().SalesDemandBaseID() = cpr.PeggingProductInSalesDemandBase().SalesDemandBaseID() and
+ tempPR.ProductID() = cpr.ProductID() and
+ tempPR.StockingPointID() = cpr.StockingPointID() and
+ tempPR.StartDate() = cpr.StartDate() and
+ tempPR.SupplyType() <> "搴撳瓨渚涘簲"
+ );
+ if ( not isnull( targetChild ) ) {
+ info( "搴撳瓨渚涘簲鏁伴噺锛�", cpr.SupplyQuantity(), " 鍏朵粬渚涘簲鏁伴噺锛�", targetChild.SupplyQuantity() );
+ targetChild.SupplyQuantity( targetChild.SupplyQuantity() + cpr.SupplyQuantity() );
+ targetChild.FulfillmentQuantity( targetChild.FulfillmentQuantity() + cpr.FulfillmentQuantity() );
+ targetChild.SupplyType( targetChild.SupplyType() + " + " + cpr.SupplyType() );
+ cpr.Delete();
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1.qbl
new file mode 100644
index 0000000..c10c59e
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation1.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetAllChildRelation1
+{
+ TextBody:
+ [*
+ // hongjli Nov-1-2023 (created)
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl b/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl
new file mode 100644
index 0000000..144505c
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetParentChildRelationship (
+ PeggingResult parentPeggingResult,
+ PeggingResult childPeggingResult
+)
+{
+ TextBody:
+ [*
+ if ( not isnull( parentPeggingResult ) and not isnull( childPeggingResult ) ) {
+ childPeggingResult.Parent( relset, parentPeggingResult );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl b/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl
new file mode 100644
index 0000000..cd1bb3b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingResult
+{
+ #keys: '5[414702.1.290710095][414702.1.290710093][0.0.0][414702.1.290710094][414702.1.290710096]'
+ BaseType: Object
+ StructuredName: 'PeggingResults'
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ActualFulfillmentQuantity.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ActualFulfillmentQuantity.qbl
new file mode 100644
index 0000000..d501639
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ActualFulfillmentQuantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ActualFulfillmentQuantity
+{
+ #keys: '3[414702.1.362210027][414702.1.362210026][414702.1.362210028]'
+ Description: '瀹為檯婊¤冻鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_FulfillmentQuantity.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_FulfillmentQuantity.qbl
new file mode 100644
index 0000000..d23f549
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_FulfillmentQuantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FulfillmentQuantity
+{
+ #keys: '3[414702.1.362210037][414702.1.362210036][414702.1.362210038]'
+ Description: '瀹為檯闇�瑕佹弧瓒崇殑鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_NumberOfPlies.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_NumberOfPlies.qbl
new file mode 100644
index 0000000..a5c217f
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_NumberOfPlies.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfPlies
+{
+ #keys: '3[414702.1.362210053][414702.1.362210052][414702.1.362210054]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ProductID.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ProductID.qbl
new file mode 100644
index 0000000..b8fdbd0
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.362210063][414702.1.362210062][414702.1.362210064]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StartDate.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StartDate.qbl
new file mode 100644
index 0000000..16c356c
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[414702.1.362210073][414702.1.362210072][414702.1.362210074]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StockingPointID.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..99ae7fd
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414702.1.362210083][414702.1.362210082][414702.1.362210084]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyQuantity.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyQuantity.qbl
new file mode 100644
index 0000000..19e7b3c
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyQuantity
+{
+ #keys: '3[414702.1.362210096][414702.1.362210095][414702.1.362210097]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyType.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyType.qbl
new file mode 100644
index 0000000..d602de2
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_SupplyType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SupplyType
+{
+ #keys: '3[414702.1.362210106][414702.1.362210105][414702.1.362210107]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_UnitOfMeasurementName.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_UnitOfMeasurementName.qbl
new file mode 100644
index 0000000..2ecbb4a
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/Attribute_UnitOfMeasurementName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasurementName
+{
+ #keys: '3[414702.1.362210116][414702.1.362210115][414702.1.362210117]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_Create.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_Create.qbl
new file mode 100644
index 0000000..49d905b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_Create.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
+ String productID,
+ String stockingPointID,
+ Date startDate,
+ Real supplyQuantity,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ String supplyType,
+ Number numberOfPlies,
+ String unitOfMeasurementName
+) as PeggingResultProductInStockingPoint_MP
+{
+ TextBody:
+ [*
+ peggingResult := peggingProductInStockingPoint_MP.PeggingResultProductInStockingPoint_MP( relnew,
+ ProductID := productID,
+ StockingPointID := stockingPointID,
+ StartDate := startDate,
+ SupplyQuantity := supplyQuantity,
+ ActualFulfillmentQuantity := actualFulfillmentQuantity,
+ FulfillmentQuantity := fulfillmentQuantity,
+ SupplyType := supplyType,
+ NumberOfPlies := numberOfPlies,
+ UnitOfMeasurementName := unitOfMeasurementName
+ );
+ return peggingResult;
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateAllChildRelation.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateAllChildRelation.qbl
new file mode 100644
index 0000000..29dab2e
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateAllChildRelation.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateAllChildRelation (
+ PeggingProductInStockingPoint_MP ppisp
+)
+{
+ TextBody:
+ [*
+ targetPeggingResults := selectset( ppisp, PeggingResultProductInStockingPoint_MP, tempPRPISP, tempPRPISP.NumberOfPlies() = 0 );
+
+ traverse ( targetPeggingResults, Elements, pr ) {
+ parentPeggingResult := pr;
+ childPeggingResult := pr;
+ PeggingResultProductInStockingPoint_MP::SetAllChildRelation( ppisp, parentPeggingResult, childPeggingResult );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateData.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..558d852
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_CreateData.qbl
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ PeggingProductInStockingPoint_MPs peggingProductInStockingPoint_MPs,
+ const MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ traverse ( peggingProductInStockingPoint_MPs, Elements, ppispmp ) {
+ ppispmp.PeggingResultProductInStockingPoint_MP( relflush );
+
+ targetPISP := select( macroPlan, Product_MP.ProductInStockingPoint_MP, tempPISP,
+ tempPISP.ProductID() = ppispmp.ProductID() and
+ tempPISP.StockingPointID() = ppispmp.StockingPointID()
+ );
+ traverse ( targetPISP, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl,
+ not pispippl.IsPeriodFrozen() and pispippl.Supply_MP( relsize ) > 0 ) {
+ traverse ( pispippl, Supply_MP, smp, smp.Quantity() > 0 ) {
+ PeggingResultProductInStockingPoint_MP::GeneratePeggingResult( ppispmp,
+ 0,
+ smp,
+ smp.Quantity(),
+ smp.Quantity(),
+ null( PeggingResultProductInStockingPoint_MP ) );
+ }
+ }
+
+ PeggingResultProductInStockingPoint_MP::CreateAllChildRelation( ppispmp );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateInventorySupply.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateInventorySupply.qbl
new file mode 100644
index 0000000..d89a77d
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateInventorySupply.qbl
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateInventorySupply (
+ PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
+ Number numberOfPlies,
+ const InventorySupply is,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP
+)
+{
+ TextBody:
+ [*
+ //info( "渚涘簲绫诲瀷锛圛nventorySupply锛� ", "渚涘簲鏃堕棿锛�", is.Date().Format( "Y-M2-D2" ), " 渚涘簲閲忥細", is.Quantity(),
+ // " 瀹為檯鐢ㄩ噺锛�", fulfillmentQuantity, " ", is.ProductInStockingPoint_MP().Name() );
+ pisp := is.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+ childPeggingResultProductInStockingPoint_MP := PeggingResultProductInStockingPoint_MP::Create( peggingProductInStockingPoint_MP,
+ pisp.ProductID(),
+ pisp.StockingPointID(),
+ is.Date(),
+ is.Quantity(),
+ actualFulfillmentQuantity,
+ fulfillmentQuantity,
+ "搴撳瓨渚涘簲",
+ numberOfPlies,
+ pisp.UnitOfMeasureName()
+ );
+
+ PeggingResultProductInStockingPoint_MP::SetParentChildRelationship( parentPeggingResultProductInStockingPoint_MP, childPeggingResultProductInStockingPoint_MP );
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateNewSupply.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateNewSupply.qbl
new file mode 100644
index 0000000..51f7846
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GenerateNewSupply.qbl
@@ -0,0 +1,70 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GenerateNewSupply (
+ PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
+ Number numberOfPlies,
+ const NewSupply ns,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP
+)
+{
+ TextBody:
+ [*
+ //info( "渚涘簲绫诲瀷锛圢ewSupply锛�", " 渚涘簲閲忥細", ns.Quantity(), " 婊¤冻锛�", fulfillmentQuantity );
+
+ pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+
+ childPeggingResultProductInStockingPoint_MP := PeggingResultProductInStockingPoint_MP::Create( peggingProductInStockingPoint_MP,
+ pisp.ProductID(),
+ pisp.StockingPointID(),
+ ns.Start().Date(),
+ ns.Quantity(),
+ actualFulfillmentQuantity,
+ fulfillmentQuantity,
+ "",
+ numberOfPlies,
+ pisp.UnitOfMeasureName() );
+ PeggingResultProductInStockingPoint_MP::SetParentChildRelationship( parentPeggingResultProductInStockingPoint_MP, childPeggingResultProductInStockingPoint_MP );
+
+ ontype ( ns.PeriodTask_MP() ) {
+ PeriodTaskOperation as pto : {
+ childPeggingResultProductInStockingPoint_MP.SupplyType( "浜х嚎渚涘簲" );
+ // info( "鎿嶄綔鍛ㄦ湡浠诲姟 ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), " 鍛ㄦ湡浠诲姟KEY锛�", pto.Key(), " ",
+ // ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+ traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
+ traverse ( dd, Fulfillment, f ) {
+ fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
+ totalSupply := sum( dd, Fulfillment, tempF, tempF.Quantity() );
+ orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
+ actualFulfillmentQuantity := f.Quantity();
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ // info( "--------------------------------------------------------------" );
+ PeggingResultProductInStockingPoint_MP::GeneratePeggingResult( peggingProductInStockingPoint_MP, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResultProductInStockingPoint_MP );
+ numberOfPlies--;
+ }
+ }
+ }
+
+ PeriodTaskLaneLeg as ptll : {
+ childPeggingResultProductInStockingPoint_MP.SupplyType( "杞﹂亾渚涘簲" );
+ targetDependentDemand := select( ptll, DependentDemand, dd,
+ dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
+ dd.Quantity() = ns.Quantity() );
+ // info( "杞﹂亾鍛ㄦ湡浠诲姟 ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), " 鍛ㄦ湡浠诲姟KEY锛�", ptll.Key(), " ",
+ // ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+ traverse ( targetDependentDemand, Fulfillment, f ) {
+ totalSupply := sum( targetDependentDemand, Fulfillment, tempF, tempF.Quantity() );
+ orderFulfillmentQuantity := ( f.Quantity() / totalSupply ) * fulfillmentQuantity;
+ actualFulfillmentQuantity := f.Quantity();
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ // info( "--------------------------------------------------------------" );
+ PeggingResultProductInStockingPoint_MP::GeneratePeggingResult( peggingProductInStockingPoint_MP, numberOfPlies, smp1, actualFulfillmentQuantity, orderFulfillmentQuantity, childPeggingResultProductInStockingPoint_MP );
+ numberOfPlies--;
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GeneratePeggingResult.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GeneratePeggingResult.qbl
new file mode 100644
index 0000000..aa6f022
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_GeneratePeggingResult.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GeneratePeggingResult (
+ PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
+ Number numberOfPlies,
+ const Supply_MP smp,
+ Real actualFulfillmentQuantity,
+ Real fulfillmentQuantity,
+ PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP
+)
+{
+ TextBody:
+ [*
+ //info( "灞傛暟锛�", numberOfPlies );
+ ontype ( smp ) {
+ NewSupply as ns : {
+ PeggingResultProductInStockingPoint_MP::GenerateNewSupply( peggingProductInStockingPoint_MP, numberOfPlies, ns, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResultProductInStockingPoint_MP );
+ }
+
+ InventorySupply as is : {
+ PeggingResultProductInStockingPoint_MP::GenerateInventorySupply( peggingProductInStockingPoint_MP, numberOfPlies, is, actualFulfillmentQuantity, fulfillmentQuantity, parentPeggingResultProductInStockingPoint_MP );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetAllChildRelation.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetAllChildRelation.qbl
new file mode 100644
index 0000000..70cdfb4
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetAllChildRelation.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetAllChildRelation (
+ PeggingProductInStockingPoint_MP peggingProductInStockingPoint_MP,
+ PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP,
+ PeggingResultProductInStockingPoint_MP childPeggingResultProductInStockingPoint_MP
+)
+{
+ TextBody:
+ [*
+ if ( childPeggingResultProductInStockingPoint_MP.Child( relsize ) = 0 ) {
+ childPeggingResultProductInStockingPoint_MP.AllParent( relset, parentPeggingResultProductInStockingPoint_MP );
+ }
+
+ traverse ( childPeggingResultProductInStockingPoint_MP, Child, pr ) {
+ pr.AllParent( relset, parentPeggingResultProductInStockingPoint_MP );
+ PeggingResultProductInStockingPoint_MP::SetAllChildRelation( peggingProductInStockingPoint_MP, parentPeggingResultProductInStockingPoint_MP, pr );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetParentChildRelationship.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetParentChildRelationship.qbl
new file mode 100644
index 0000000..f01da3b
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/StaticMethod_SetParentChildRelationship.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SetParentChildRelationship (
+ PeggingResultProductInStockingPoint_MP parentPeggingResultProductInStockingPoint_MP,
+ PeggingResultProductInStockingPoint_MP childPeggingResultProductInStockingPoint_MP
+)
+{
+ TextBody:
+ [*
+ if ( not isnull( parentPeggingResultProductInStockingPoint_MP ) and not isnull( childPeggingResultProductInStockingPoint_MP ) ) {
+ childPeggingResultProductInStockingPoint_MP.Parent( relset, parentPeggingResultProductInStockingPoint_MP );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/_ROOT_Type_PeggingResultProductInStockingPoint_MP.qbl b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/_ROOT_Type_PeggingResultProductInStockingPoint_MP.qbl
new file mode 100644
index 0000000..dd96563
--- /dev/null
+++ b/_Main/BL/Type_PeggingResultProductInStockingPoint_MP/_ROOT_Type_PeggingResultProductInStockingPoint_MP.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PeggingResultProductInStockingPoint_MP
+{
+ #keys: '5[414702.1.364041964][414702.1.364041962][0.0.0][414702.1.364041963][414702.1.364041965]'
+ BaseType: Object
+ StructuredName: 'PeggingResultProductInStockingPoint_MPs'
+}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl
index 8aac689..a151143 100644
--- a/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
Attribute BusinessType
{
#keys: '3[414382.0.456067060][414382.0.456067059][414382.0.456067061]'
+ Description: '浜嬩笟閮�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl b/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl
index bb97070..8947833 100644
--- a/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl
+++ b/_Main/BL/Type_PriorityFactor/Attribute_Desc.qbl
@@ -3,5 +3,6 @@
Attribute Desc
{
#keys: '3[414382.0.440655066][414382.0.440655065][414382.0.440655067]'
+ Description: '鎻忚堪'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl b/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl
index 80792db..f6624c3 100644
--- a/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl
+++ b/_Main/BL/Type_PriorityFactor/Attribute_Name.qbl
@@ -3,5 +3,6 @@
Attribute Name
{
#keys: '3[414382.0.440655046][414382.0.440655045][414382.0.440655047]'
+ Description: '浼樺厛绾у洜瀛愬悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl
deleted file mode 100644
index 3f5a69d..0000000
--- a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ReflectionAttribute
-{
- #keys: '3[414382.0.554303396][414382.0.554303395][414382.0.554303397]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl
deleted file mode 100644
index 49b163b..0000000
--- a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute ReflectionType
-{
- #keys: '3[414382.0.554014806][414382.0.554014805][414382.0.554014807]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_PriorityFactor/Method_CreatePrioitifyFacotrDetail.qbl b/_Main/BL/Type_PriorityFactor/Method_CreatePrioitifyFacotrDetail.qbl
new file mode 100644
index 0000000..1a33591
--- /dev/null
+++ b/_Main/BL/Type_PriorityFactor/Method_CreatePrioitifyFacotrDetail.qbl
@@ -0,0 +1,11 @@
+Quintiq file version 2.0
+#parent: #root
+Method CreatePrioitifyFacotrDetail (
+ PriorityFactorDetail priorityFactorDetails
+)
+{
+ TextBody:
+ [*
+ // Akari Nov-7-2023 (created)
+ *]
+}
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
index 4fa81fb..b1761d7 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
@@ -8,10 +8,11 @@
String name
) as Boolean
{
+ Description: '鏍¢獙鍚嶇О鏄惁鐩稿悓'
TextBody:
[*
// NBoTk Sep-22-2023 (created)
-
+ // 鏍¢獙鍚嶇О鏄惁鐩稿悓 鍚嶇О鐩稿悓鐨勬暟鎹烦杩囧鐞�
value := true;
// 鍚嶇О鐩稿悓璺宠繃
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
index d935ad9..0497cd2 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
@@ -6,6 +6,7 @@
String name
) as Real
{
+ Description: '鑾峰彇浼樺厛绾у洜瀛愮郴鏁�'
TextBody:
[*
// NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
index 6f6f24f..db637e1 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
@@ -5,6 +5,7 @@
String businessType
) as owning PriorityFactors
{
+ Description: '鏍规嵁浜嬩笟閮ㄨ幏鍙栦紭鍏堢骇鍥犲瓙闆嗗悎'
TextBody:
[*
// NBoTk Sep-18-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
index 05489f2..70e553c 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
@@ -5,6 +5,7 @@
String businessType
) as String
{
+ Description: '鑾峰彇浼樺厛绾у洜瀛愪笅鎷夊垪琛�'
TextBody:
[*
// NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
index a2be846..da99caa 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
@@ -4,6 +4,7 @@
MacroPlan owner
)
{
+ Description: '鍒濆鍖栧熀纭�鏁版嵁锛堟祴璇曢樁娈典娇鐢級'
TextBody:
[*
// NBoTk Sep-15-2023 (created)
@@ -35,7 +36,7 @@
traverse( priorityFactorList,Elements,e)
{
- PriorityFactorDetails::InitData( owner,e);
+ PriorityFactorDetail::InitData( owner,e);
}
}
diff --git a/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl b/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl
index fcac9ad..a1fceb8 100644
--- a/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl
+++ b/_Main/BL/Type_PriorityFactor/_ROOT_Type_PriorityFactor.qbl
@@ -5,5 +5,6 @@
{
#keys: '5[414382.0.440655008][414382.0.440655006][0.0.0][414382.0.440655007][414382.0.440655009]'
BaseType: Object
+ Description: '浼樺厛绾у洜瀛�'
StructuredName: 'PriorityFactors'
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
index 55b4b64..a793114 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
@@ -3,5 +3,6 @@
Attribute GradeDesc
{
#keys: '3[414382.0.475830209][414382.0.475830208][414382.0.475830210]'
+ Description: '浼樺厛绾у洜瀛愮粏鍒嗘弿杩�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl
index 9ae65b9..f22d96f 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeTarget.qbl
@@ -3,5 +3,6 @@
Attribute GradeTarget
{
#keys: '3[414382.0.440655126][414382.0.440655125][414382.0.440655127]'
+ Description: '浼樺厛绾у洜瀛愮粏鍒嗙洰鏍囧��'
ValueType: Real
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl
index e84d510..d0e463e 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeValueStr.qbl
@@ -3,5 +3,6 @@
Attribute GradeValueStr
{
#keys: '3[414382.0.440655139][414382.0.440655138][414382.0.440655140]'
+ Description: '浼樺厛绾у洜瀛愮粏鍒嗙郴鏁�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl
index e38eb27..ac74d03 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradingName.qbl
@@ -3,5 +3,6 @@
Attribute GradingName
{
#keys: '3[414382.0.440655086][414382.0.440655085][414382.0.440655087]'
+ Description: '浼樺厛绾у洜瀛愮粏鍒嗗悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl
index b5b33ba..899f37f 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsBusinessType.qbl
@@ -3,5 +3,6 @@
Attribute IsBusinessType
{
#keys: '3[414382.0.444830107][414382.0.444830106][414382.0.444830108]'
+ Description: '鏄惁涓轰簨涓氶儴锛堝綋鍓嶉樁娈靛純鐢級'
ValueType: Boolean
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl
index 8b4b84c..9f2a7b3 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_IsRange.qbl
@@ -3,5 +3,6 @@
Attribute IsRange
{
#keys: '3[414382.0.440655096][414382.0.440655095][414382.0.440655097]'
+ Description: '鏄惁浣跨敤鑼冨洿'
ValueType: Boolean
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorDesc.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorDesc.qbl
deleted file mode 100644
index 265d712..0000000
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorDesc.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute PriorityFactorDesc
-{
- #keys: '3[414382.0.452050072][414382.0.452050071][414382.0.452050073]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl
index 6d4a629..71105b3 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_PriorityFactorName.qbl
@@ -2,6 +2,7 @@
#parent: #root
Attribute PriorityFactorName
{
- #keys: '3[414382.0.444830222][414382.0.444830221][414382.0.444830223]'
+ #keys: '3[414382.0.640470087][414382.0.640470086][414382.0.640470088]'
+ Description: '浼樺厛绾у洜瀛愬悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl
index 4193c14..ad59f0e 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMax.qbl
@@ -3,5 +3,6 @@
Attribute RangeMax
{
#keys: '3[414382.0.440655106][414382.0.440655105][414382.0.440655107]'
+ Description: '鑼冨洿鏈�澶у��'
ValueType: Real
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl
index 1af51cb..513cdbe 100644
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_RangeMin.qbl
@@ -3,5 +3,6 @@
Attribute RangeMin
{
#keys: '3[414382.0.440655116][414382.0.440655115][414382.0.440655117]'
+ Description: '鑼冨洿鏈�灏忓��'
ValueType: Real
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
index 536d7e8..bca0897 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
@@ -4,6 +4,7 @@
MacroPlan owner
)
{
+ Description: '娓呴櫎娴嬭瘯鏁版嵁锛堟祴璇曢樁娈碉級'
TextBody:
[*
// NBoTk Sep-18-2023 (created)
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
index 1f31939..b27e4a5 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
@@ -3,13 +3,14 @@
StaticMethod GetDataByPriorityFactor (
PriorityFactor priorityFactor,
MacroPlan owner
-) as owning PriorityFactorDetailss
+) as owning PriorityFactorDetails
{
+ Description: '鏍规嵁浜嬩紭鍏堢骇鍥犲瓙鑾峰彇浼樺厛绾у洜瀛愮粏鍒嗛泦鍚�'
TextBody:
[*
// NBoTk Sep-18-2023 (created)
- list := selectset( owner,PriorityFactor.PriorityFactorDetails,p,
+ list := selectset( owner,PriorityFactor.PriorityFactorDetail,p,
p.BusinessType() = priorityFactor.BusinessType() and priorityFactor.Name() = p.PriorityFactorName()
);
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
index 1449c61..eadd506 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
@@ -5,6 +5,7 @@
PriorityFactor priorityFactor
)
{
+ Description: '鍒濆鍖栨暟鎹紙娴嬭瘯闃舵锛�'
TextBody:
[*
// NBoTk Sep-17-2023 (created)
@@ -17,85 +18,85 @@
if( priorityFactor.Name() = "澶у紶鐩堝埄姘村钩" )
{
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "澶х泩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "灏忕泩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
IsRange := false,GradingName := "鎸佸钩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
IsRange := false,GradingName := "灏忎簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
IsRange := false,GradingName := "澶т簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
}
if( priorityFactor.Name() = "瀹㈡埛绛栫暐" )
{
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "81%鈮鈮�100%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4,
IsRange := false,GradingName := "61%鈮鈮�80%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "41%鈮鈮�60%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2,
IsRange := false,GradingName := "21%鈮鈮�40%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
IsRange := false,GradingName := "1%鈮鈮�20%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
}
if( priorityFactor.Name() = "缁嗗垎甯傚満绛夌骇" )
{
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "鎴樼暐",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "閲嶇偣",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
IsRange := false,GradingName := "娼滃姏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
}
if( priorityFactor.Name() = "璁㈠崟涓嬪崟鏃堕棿" )
{
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "120",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4,
IsRange := false,GradingName := "90",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "60",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2,
IsRange := false,GradingName := "30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
IsRange := false,GradingName := "0",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
}
if( priorityFactor.Name() = "闇�姹傜被鍨�" )
{
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "鏈夐娴�",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "鏃犻娴�",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
IsRange := false,GradingName := "绾娴�",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
}
if( priorityFactor.Name() = "瀹㈡埛绛夌骇" )
{
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "鎴樼暐",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "閲嶇偣",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
IsRange := false,GradingName := "娼滃姏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
}
if( priorityFactor.Name() = "DOI" or priorityFactor.Name() = "DSI")
{
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "<7",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "<15",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
IsRange := false,GradingName := "<30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
- priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
+ priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
IsRange := false,GradingName := ">30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
}
*]
diff --git a/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetail.qbl b/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetail.qbl
new file mode 100644
index 0000000..1ada706
--- /dev/null
+++ b/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetail.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PriorityFactorDetail
+{
+ #keys: '5[414382.0.440655013][414382.0.440655011][0.0.0][414382.0.440655012][414382.0.440655014]'
+ BaseType: Object
+ Description: '浼樺厛绾у洜瀛愮粏鍒�'
+ StructuredName: 'PriorityFactorDetails'
+}
diff --git a/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl b/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl
deleted file mode 100644
index 7c4a1f4..0000000
--- a/_Main/BL/Type_PriorityFactorDetails/_ROOT_Type_PriorityFactorDetails.qbl
+++ /dev/null
@@ -1,9 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: #DomainModel
-Type PriorityFactorDetails
-{
- #keys: '5[414382.0.440655013][414382.0.440655011][0.0.0][414382.0.440655012][414382.0.440655014]'
- BaseType: Object
- StructuredName: 'PriorityFactorDetailss'
-}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
index 4cc5680..221fec6 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
Attribute BusinessType
{
#keys: '3[414382.0.488041999][414382.0.488041998][414382.0.488042000]'
+ Description: '浜嬩笟閮�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
index ce4c95c..ac12465 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
@@ -3,5 +3,6 @@
Attribute CalculateValue
{
#keys: '3[414382.0.488041974][414382.0.488041973][414382.0.488041975]'
+ Description: '璁$畻鍊�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
index a142044..a5dc73d 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
@@ -3,5 +3,6 @@
Attribute Desc
{
#keys: '3[414382.0.488042011][414382.0.488042010][414382.0.488042012]'
+ Description: '鎻忚堪'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
index 1c416d1..9c6372a 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
@@ -3,5 +3,6 @@
Attribute Formula
{
#keys: '3[414382.0.488041964][414382.0.488041963][414382.0.488041965]'
+ Description: '璁$畻鍏紡'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
index 709f9c9..e386c74 100644
--- a/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
@@ -3,5 +3,6 @@
Attribute Name
{
#keys: '3[414382.0.488041954][414382.0.488041953][414382.0.488041955]'
+ Description: '浼樺厛绾х瓥鐣ュ悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl
index c76e0a0..b8cf039 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl
@@ -5,6 +5,7 @@
String formula
) as String
{
+ Description: '鏍规嵁浼樺厛绾у洜瀛愬悕绉� 鎷兼帴鍏紡'
TextBody:
[*
// NBoTk Oct-7-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl
index 2095877..6a7f27e 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl
@@ -6,6 +6,7 @@
String lastCalcStr
) as String
{
+ Description: '浼樺厛绾ц绠�'
TextBody:
[*
// NBoTk Oct-7-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
index 2698209..b6c9ec4 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
@@ -5,6 +5,7 @@
String businessType
) as owning PriorityPolicys
{
+ Description: '鏍规嵁浜嬩笟閮ㄨ幏鍙栦紭鍏堢骇绛栫暐'
TextBody:
[*
// NBoTk Sep-20-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
index 122b53c..b284e66 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
@@ -6,6 +6,7 @@
String stringData
) as String
{
+ Description: '椤甸潰璁$畻鍏紡鍥為��鎿嶄綔'
TextBody:
[*
// NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
index 129f7d7..7098d73 100644
--- a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
@@ -6,6 +6,7 @@
String stringData
) as String
{
+ Description: '椤甸潰璁$畻鍊煎洖閫�鎿嶄綔'
TextBody:
[*
// NBoTk Sep-21-2023 (created)
diff --git a/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
index 16f7189..ed82831 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
Attribute BusinessType
{
#keys: '3[414382.0.504275379][414382.0.504275378][414382.0.504275380]'
+ Description: '浜嬩笟閮�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl b/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
index 21774fc..c333696 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
@@ -3,5 +3,6 @@
Attribute Customer
{
#keys: '3[414382.0.504275376][414382.0.504275375][414382.0.504275377]'
+ Description: '瀹㈡埛鍚嶇О'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl b/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
index afabecd..f803ee2 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
@@ -3,5 +3,6 @@
Attribute CustomerID
{
#keys: '3[414382.0.504275385][414382.0.504275384][414382.0.504275386]'
+ Description: '瀹㈡埛缂栫爜'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl b/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl
index f65a510..bce35d0 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl
@@ -3,5 +3,6 @@
Attribute CustomerOrderID
{
#keys: '3[414382.0.554015006][414382.0.554015005][414382.0.554015007]'
+ Description: '瀹㈡埛璁㈠崟ID'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl b/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
index 5088806..3d15622 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
@@ -3,5 +3,6 @@
Attribute DemandDate
{
#keys: '3[414382.0.504275370][414382.0.504275369][414382.0.504275371]'
+ Description: '闇�姹傛椂闂�'
ValueType: Date
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl b/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
index 6f38dd5..eea1d9c 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
@@ -3,5 +3,6 @@
Attribute PriorityResultScore
{
#keys: '3[414382.0.504275396][414382.0.504275395][414382.0.504275397]'
+ Description: '浼樺厛绾х粨鏋滃緱鍒�'
ValueType: Real
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl b/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
index b9b828f..a3d6adc 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
@@ -3,5 +3,6 @@
Attribute ProductID
{
#keys: '3[414382.0.504275367][414382.0.504275366][414382.0.504275368]'
+ Description: '浜у搧缂栫爜'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl b/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
index b18ef2c..8d86e9e 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
@@ -3,5 +3,6 @@
Attribute Quantity
{
#keys: '3[414382.0.504275361][414382.0.504275360][414382.0.504275362]'
+ Description: '鏁伴噺'
ValueType: Real
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
index 1ade98f..9a4faf4 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
@@ -3,5 +3,6 @@
Attribute SalesSegmentName
{
#keys: '3[414382.0.504275382][414382.0.504275381][414382.0.504275383]'
+ Description: '閿�鍞儴闂ㄥ悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl b/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
index db04a7f..17b0e02 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
@@ -3,5 +3,6 @@
Attribute StockingPointID
{
#keys: '3[414382.0.504275364][414382.0.504275363][414382.0.504275365]'
+ Description: '搴撳瓨鐐�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
index 8877500..42dda31 100644
--- a/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
+++ b/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
@@ -3,5 +3,6 @@
Attribute UnitOfMeasureName
{
#keys: '3[414382.0.504275373][414382.0.504275372][414382.0.504275374]'
+ Description: '鍗曚綅'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl
deleted file mode 100644
index 1672b03..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: BusinessType
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl
deleted file mode 100644
index e02a336..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: Customer
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl
deleted file mode 100644
index 66ae438..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: CustomerID
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl
deleted file mode 100644
index 98649b2..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: ProductID
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl
deleted file mode 100644
index 521966d..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: SalesSegmentName
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl
deleted file mode 100644
index fbb83fc..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: StockingPointID
-}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl
deleted file mode 100644
index b2012de..0000000
--- a/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: UnitOfMeasureName
-}
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
index 2f7e3cb..dbd5fae 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
@@ -9,59 +9,49 @@
const GlobalOTDTable globalOTDTable
) as Real
{
+ Description: '閫掑綊澶勭悊浼樺厛绾х瓥鐣ュ叕寮�'
TextBody:
[*
// NBoTk Sep-26-2023 (created)
score := 0.0;
remindFormula := formula;
-
// 閬嶅巻浼樺厛绾у洜瀛愰厤缃�
- if( not remindFormula = '' )
- {
+ if( not remindFormula = '' ){
// 浠庤捣濮嬩綅缃紑濮嬪尮閰�
- if(remindFormula.StartsWith( "+" ))
- {
+ if(remindFormula.StartsWith( "+" )){
remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
score := lastScore + score;
-
+
// 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻
remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
- PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
- }
- else if( remindFormula.StartsWith( "-" ))
- {
+ score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
+ }else if( remindFormula.StartsWith( "-" )){
remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
score := lastScore - score;
// 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻
remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
- PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
- }
- else if( remindFormula.StartsWith( "*" ) )
- {
+ score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
+ }else if( remindFormula.StartsWith( "x" ) ){
remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
score := lastScore * score;
// 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻
remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
- PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
- }
- else if( remindFormula.StartsWith( "/" ) )
- {
+ score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
+ }else if( remindFormula.StartsWith( "/" ) ){
remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
score := lastScore / score;
// 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻
remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
- PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
- }
- else if( remindFormula.StartsWith( "(" ) )
- {
+ score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
+ }else if( remindFormula.StartsWith( "(" ) ){
// 鎵惧埌绗竴涓粨鏉熺殑 )
// 璁$畻鎷彿涓殑鍐呭
rightBracket := remindFormula.FindString( ")",0);
@@ -70,17 +60,14 @@
// 鎴彇 ) 鍚庣殑瀛楃缁х画杩涜璁$畻
remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()-1);
- }
- else
- {
+ }else{
// 涓嶆槸绗﹀彿 鐩存帴鑾峰彇璁$畻鍚庣殑鏁板��
score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
// 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻
remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
- PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
+ score := PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
}
}
-
// 娌℃湁鍖归厤 鍏紡璁$畻瀹屾垚
return score;
*]
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
index 4555573..2372923 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
@@ -7,6 +7,7 @@
const GlobalOTDTable globalOTDTable
) as Real
{
+ Description: '璁$畻浼樺厛绾у洜瀛愬緱鍒�'
TextBody:
[*
// NBoTk Sep-26-2023 (created)
@@ -31,7 +32,7 @@
{
if( "瀹㈡埛绛栫暐" = priorityFactor.Name())
{
- obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "瀹㈡埛绛栫暐" and p.GradingName() = customerOrder.CustomerPolicy());
+ obj := selectobject( priorityFactor,PriorityFactorDetail,p , p.PriorityFactorName() = "瀹㈡埛绛栫暐" and p.GradingName() = customerOrder.CustomerPolicy());
gradeTarget := 1.0;
if( not isnull( obj ) )
{
@@ -42,7 +43,7 @@
if( "澶у紶鐩堝埄姘村钩" = priorityFactor.Name())
{
- obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "澶у紶鐩堝埄姘村钩" and p.GradingName() = customerOrder.SheetProfitability());
+ obj := selectobject( priorityFactor,PriorityFactorDetail,p , p.PriorityFactorName() = "澶у紶鐩堝埄姘村钩" and p.GradingName() = customerOrder.SheetProfitability());
gradeTarget := 1.0;
if( not isnull( obj ) )
{
@@ -77,7 +78,7 @@
if( "缁嗗垎甯傚満绛夌骇" = priorityFactor.Name())
{
- obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "缁嗗垎甯傚満绛夌骇" and p.GradingName() = customerOrder.SegmentPriority());
+ obj := selectobject( priorityFactor,PriorityFactorDetail,p , p.PriorityFactorName() = "缁嗗垎甯傚満绛夌骇" and p.GradingName() = customerOrder.SegmentPriority());
gradeTarget := 1.0;
if( not isnull( obj ) )
{
@@ -89,7 +90,7 @@
if( "闇�姹傜被鍨�" = priorityFactor.Name())
{
// 鏈夐娴� 鏃犻娴� 绾娴�
- obj := selectobject( priorityFactor,PriorityFactorDetails,p,p.GradingName() = customerOrder.OrderType());
+ obj := selectobject( priorityFactor,PriorityFactorDetail,p,p.GradingName() = customerOrder.OrderType());
gradeTarget := 1.0;
if( not isnull( obj ) )
{
@@ -115,8 +116,22 @@
// 涓嬪崟鏃堕棿
orderTime := customerOrder.OrderTime();
days := orderTime.TotalInDays() - customerOrder.EndDate().TotalInDays();
- obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "璁㈠崟涓嬪崟鏃堕棿" and days >= [Number]p.GradingName());
- value := priorityFactor.Coefficient() * obj.GradeTarget();
+ obj := null( PriorityFactorDetail);
+ sortDetail := selectsortedset( priorityFactor,PriorityFactorDetail,p,[Number]p.GradingName());
+ traverse( sortDetail,Elements,e )
+ {
+ if( days >= [Number]e.GradingName() )
+ {
+ obj := e;
+ }
+ }
+ //obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "璁㈠崟涓嬪崟鏃堕棿" and days >= [Number]p.GradingName());
+ value := 0;
+ if( not isnull( obj) )
+ {
+ value := priorityFactor.Coefficient() * obj.GradeTarget();
+ }
+
}
}
return value;
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl
index 3033476..8518ab1 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl
@@ -5,6 +5,7 @@
MacroPlan macroPlan
) as String
{
+ Description: '浼樺厛绾х瓥鐣ュ叕寮忔埅鍙�'
TextBody:
[*
// NBoTk Sep-26-2023 (created)
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
index 83fc44e..c8cc95d 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
@@ -6,6 +6,7 @@
GlobalOTDTable globalOTDTable
)
{
+ Description: '璁$畻customerOrder浼樺厛绾у緱鍒�'
TextBody:
[*
// NBoTk Sep-26-2023 (created)
diff --git a/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl b/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
index 3d6983a..301485b 100644
--- a/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
+++ b/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
@@ -5,5 +5,6 @@
{
#keys: '5[414382.0.504275125][414382.0.504275123][0.0.0][414382.0.504275124][414382.0.504275126]'
BaseType: Object
+ Description: '浼樺厛绾х粨鏋�'
StructuredName: 'PriorityResults'
}
diff --git a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
index 5e14913..c380797 100644
--- a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
+++ b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
@@ -4,11 +4,12 @@
PriorityResultBusinessTypeDetail businessTypeDetails
) as Boolean
{
+ Description: '鏍¢獙褰撳墠鍗曟嵁鏄惁鍙揣鎬ョ疆椤�'
TextBody:
[*
// NBoTk Sep-21-2023 (created)
groupDetails := selectset( businessTypeDetails.PriorityResult(),PriorityResultGroupDetail,p,true);
- return isnull( groupDetails);
+ return not isnull( groupDetails);
*]
}
diff --git a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
index 8030509..7e00fe2 100644
--- a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
+++ b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
@@ -5,6 +5,7 @@
PriorityResultBusinessTypeDetail businessTypeDetails
)
{
+ Description: '绱ф�ョ疆椤�'
TextBody:
[*
// NBoTk Sep-21-2023 (created)
@@ -16,5 +17,81 @@
topScore := maxPriorityResult + 1;
businessTypeDetails.PriorityTotalScore(topScore);
+
+ // 浼樺厛绾у洜瀛愬鐞嗗畬鎴愬悗 鎺掑簭鍥炲~鏁版嵁
+ resultList := selectsortedset( owner,PriorityResult,result,
+ true,
+ result.PriorityResultScore()
+ )
+
+ // 閲嶆柊璁$畻鍙嶅~customerOrder浼樺厛绾�
+ // Quintiq浼樺厛绾у垎10绾� 闇�瑕佸垎娈佃绠� 鍚戜笂鍙栨暣
+ subLevel := round( resultList.Size() div 10);
+ subLevelCount := 0;
+
+ priorityValue := 1;
+ if( resultList.Size() <= 10 )
+ {
+ traverse( resultList,Elements,e)
+ {
+ obj := selectobject( owner,SalesDemand.astype( CustomerOrder ),order,
+ order.ID() = e.CustomerOrderID()
+ );
+
+ // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞�
+ if( not isnull( obj ) )
+ {
+ obj.PriorityName([String]priorityValue);
+
+ // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉
+ // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪
+ oldPriority := selectobject( owner,Priority,p,p.Name() = [String]priorityValue);
+ if(isnull( oldPriority ) )
+ {
+ owner.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue);
+ }
+ }
+
+ // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾�
+ //浼樺厛绾�+1
+ priorityValue := priorityValue + 1;
+ }
+ }
+ else
+ {
+ traverse( resultList,Elements,e)
+ {
+ obj := selectobject( owner,SalesDemand.astype( CustomerOrder ),order,
+ order.ID() = e.CustomerOrderID()
+ );
+
+ // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞�
+ if( not isnull( obj ) )
+ {
+ obj.PriorityName([String]priorityValue);
+
+ // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉
+ // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪
+ oldPriority := selectobject( owner,Priority,p,p.Name() = [String]priorityValue);
+ if(isnull( oldPriority ) )
+ {
+ owner.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue);
+ }
+ }
+
+ // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾�
+ subLevelCount := subLevelCount + 1;
+ if( subLevelCount = subLevel )
+ {
+ // 褰撳埌杈惧垎娈垫暟閲忓悗 浼樺厛绾�+1 鍒嗘璁℃暟浠�0寮�濮�
+ if( priorityValue < 10 )
+ {
+ priorityValue := priorityValue + 1;
+ }
+ subLevelCount := 0;
+ }
+ }
+
+ }
*]
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
index 0d853fd..aef1070 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
@@ -3,5 +3,6 @@
Attribute BusinessType
{
#keys: '3[414382.0.504275420][414382.0.504275419][414382.0.504275421]'
+ Description: '浜嬩笟閮�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
index e5c3e9e..0ebe7f8 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
@@ -3,5 +3,6 @@
Attribute Customer
{
#keys: '3[414382.0.504275411][414382.0.504275410][414382.0.504275412]'
+ Description: '瀹㈡埛鍚嶇О'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
index 3afa6f2..7f16e5b 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
@@ -3,5 +3,6 @@
Attribute CustomerID
{
#keys: '3[414382.0.504275429][414382.0.504275428][414382.0.504275430]'
+ Description: '瀹㈡埛缂栫爜'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
index 8218754..099d639 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
@@ -3,5 +3,6 @@
Attribute DemandDate
{
#keys: '3[414382.0.504275423][414382.0.504275422][414382.0.504275424]'
+ Description: '闇�姹傛椂闂�'
ValueType: Date
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
index 30c7925..caa0d6f 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
@@ -3,5 +3,6 @@
Attribute PriorityFactorGradingName
{
#keys: '3[414382.0.504275468][414382.0.504275467][414382.0.504275469]'
+ Description: '浼樺厛绾у洜瀛愮粏鍒嗗悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
index 2941275..07dc447 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
@@ -3,5 +3,6 @@
Attribute PriorityFactorName
{
#keys: '3[414382.0.504275458][414382.0.504275457][414382.0.504275459]'
+ Description: '浼樺厛绾у洜瀛愬悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
index 58f721a..6488cec 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
@@ -3,5 +3,6 @@
Attribute PriorityPolicyName
{
#keys: '3[414382.0.504275439][414382.0.504275438][414382.0.504275440]'
+ Description: '浼樺厛绾х瓥鐣ュ悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
index 7ef6592..4c5b4b8 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
@@ -3,5 +3,6 @@
Attribute PriorityResultScore
{
#keys: '3[414382.0.504275426][414382.0.504275425][414382.0.504275427]'
+ Description: '浼樺厛绾х粨鏋滃緱鍒�'
ValueType: Real
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
index 6da2ce3..69c2626 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
@@ -3,5 +3,6 @@
Attribute Quantity
{
#keys: '3[414382.0.504275414][414382.0.504275413][414382.0.504275415]'
+ Description: '鏁伴噺'
ValueType: Real
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
index 96cedff..a51accf 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
@@ -3,5 +3,6 @@
Attribute SalesSegmentName
{
#keys: '3[414382.0.504275435][414382.0.504275434][414382.0.504275436]'
+ Description: '閿�鍞儴闂ㄥ悕绉�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
index 6f0a2fc..63082aa 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
@@ -3,5 +3,6 @@
Attribute StockingPointID
{
#keys: '3[414382.0.504275417][414382.0.504275416][414382.0.504275418]'
+ Description: '搴撳瓨鐐�'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
index 7abadad..d2f8d9e 100644
--- a/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
@@ -3,5 +3,6 @@
Attribute UnitOfMeasureName
{
#keys: '3[414382.0.504275432][414382.0.504275431][414382.0.504275433]'
+ Description: '鍗曚綅'
ValueType: String
}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl
deleted file mode 100644
index 1672b03..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: BusinessType
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl
deleted file mode 100644
index e02a336..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: Customer
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl
deleted file mode 100644
index 66ae438..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: CustomerID
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl
deleted file mode 100644
index 521966d..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: SalesSegmentName
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl
deleted file mode 100644
index fbb83fc..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: StockingPointID
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl
deleted file mode 100644
index b2012de..0000000
--- a/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl
+++ /dev/null
@@ -1,6 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-DefaultValue
-{
- TargetAttribute: UnitOfMeasureName
-}
diff --git a/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl b/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
index 26b2f55..7aed150 100644
--- a/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
+++ b/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
@@ -5,5 +5,6 @@
{
#keys: '5[414382.0.504275135][414382.0.504275133][0.0.0][414382.0.504275134][414382.0.504275136]'
BaseType: Object
+ Description: '浼樺厛绾х粨鏋滄槑缁�'
StructuredName: 'PriorityResultDetails'
}
diff --git a/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl
index 0359b3f..8fd36c2 100644
--- a/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_ProductInLane/StaticMethod_CreateOrUpdate.qbl
@@ -15,15 +15,15 @@
// Get product&line
product := Product_MP::FindById( owner, productid );
- line := Lane::FindLaneTypeIndex( lineid );
+ line := Lane::FindById( owner, lineid );
if( not isnull( product) and not isnull( line)){
- productinline := ProductInLane::FindProductInLaneTypeIndex( lineid, productid );
+ productinline := ProductInLane::FindById( owner, productid, lineid );
if( isnull( productinline ) ){
ProductInLane::Create( product, line, isexcluded, isfromdb );
}else{
- productinline.Update( productid, lineid, isexcluded, isfromdb );
+ productinline.Update( lineid, productid, isexcluded, isfromdb );
}
}
*]
diff --git a/_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl b/_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl
new file mode 100644
index 0000000..e0065ed
--- /dev/null
+++ b/_Main/BL/Type_ProductInLane/StaticMethod_FindById.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindById (
+ MacroPlan mp,
+ String id,
+ String laneid
+) as ProductInLane
+{
+ TextBody:
+ [*
+ // yy 2023-11-01
+ result := select( mp, Product_MP.ProductInLane, pil, true, pil.ProductID() = id and pil.LaneID() = laneid );
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_BusinessType.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..9acd896
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414724.0.292616049][414724.0.292616048][414724.0.292616050]'
+ Description: '浜嬩笟閮�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_CurrencyID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CurrencyID.qbl
new file mode 100644
index 0000000..f1af9aa
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CurrencyID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CurrencyID
+{
+ #keys: '3[414724.0.292600064][414724.0.292600063][414724.0.292600065]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerID.qbl
new file mode 100644
index 0000000..5134f1f
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerID
+{
+ #keys: '3[414724.0.292600051][414724.0.292600050][414724.0.292600052]'
+ Description: 'CustomerID'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerName.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerName.qbl
new file mode 100644
index 0000000..48816ad
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerName
+{
+ #keys: '3[414724.0.292600074][414724.0.292600073][414724.0.292600075]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerPolicy.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerPolicy.qbl
new file mode 100644
index 0000000..26d9c89
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_CustomerPolicy.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerPolicy
+{
+ #keys: '3[414724.0.292600039][414724.0.292600038][414724.0.292600040]'
+ Description: '瀹㈡埛绛栫暐'
+ ValueType: String
+}
diff --git "a/_Main/BL/Type_S_DT_CustomOrder/Attribute_DefaultUOMConversionFactor\043413.qbl" "b/_Main/BL/Type_S_DT_CustomOrder/Attribute_DefaultUOMConversionFactor\043413.qbl"
new file mode 100644
index 0000000..9c7b50f
--- /dev/null
+++ "b/_Main/BL/Type_S_DT_CustomOrder/Attribute_DefaultUOMConversionFactor\043413.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DefaultUOMConversionFactor
+{
+ #keys: '3[414724.0.292600084][414724.0.292600083][414724.0.292600085]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_DemandUncertaintyPercentage.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_DemandUncertaintyPercentage.qbl
new file mode 100644
index 0000000..fa27856
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_DemandUncertaintyPercentage.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DemandUncertaintyPercentage
+{
+ #keys: '3[414724.0.292600099][414724.0.292600098][414724.0.292600100]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_DerivedPriorityName.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_DerivedPriorityName.qbl
new file mode 100644
index 0000000..7aa9f83
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_DerivedPriorityName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DerivedPriorityName
+{
+ #keys: '3[414724.0.292600109][414724.0.292600108][414724.0.292600110]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_EndDate.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_EndDate.qbl
new file mode 100644
index 0000000..a67ffa2
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_EndDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndDate
+{
+ #keys: '3[414724.0.292600119][414724.0.292600118][414724.0.292600120]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_ExpectedQuantity.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ExpectedQuantity.qbl
new file mode 100644
index 0000000..cf35ed4
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ExpectedQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ExpectedQuantity
+{
+ #keys: '3[414724.0.292600129][414724.0.292600128][414724.0.292600130]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_FulfilledQuantity.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_FulfilledQuantity.qbl
new file mode 100644
index 0000000..7ab421a
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_FulfilledQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute FulfilledQuantity
+{
+ #keys: '3[414724.0.292600139][414724.0.292600138][414724.0.292600140]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_HasPostponedSalesDemand.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_HasPostponedSalesDemand.qbl
new file mode 100644
index 0000000..0ff7b63
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_HasPostponedSalesDemand.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute HasPostponedSalesDemand
+{
+ #keys: '3[414724.0.292600152][414724.0.292600151][414724.0.292600153]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_HasValidConversionFactor.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_HasValidConversionFactor.qbl
new file mode 100644
index 0000000..99402a6
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_HasValidConversionFactor.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute HasValidConversionFactor
+{
+ #keys: '3[414724.0.292600162][414724.0.292600161][414724.0.292600163]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_ID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ID.qbl
new file mode 100644
index 0000000..2c6851c
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414724.0.292600172][414724.0.292600171][414724.0.292600173]'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_ID_SpliteStruct.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ID_SpliteStruct.qbl
new file mode 100644
index 0000000..a963e1d
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ID_SpliteStruct.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID_SpliteStruct
+{
+ #keys: '3[414724.0.314769076][414724.0.314769075][414724.0.314769077]'
+ Description: 'S_DT_SpliteStruct琛↖D'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsAvailable.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsAvailable.qbl
new file mode 100644
index 0000000..26d302c
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsAvailable.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsAvailable
+{
+ #keys: '3[414724.0.292600045][414724.0.292600044][414724.0.292600046]'
+ Description: '璁㈠崟鏄惁鍙備笌璁″垝'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsEligibleForNetting.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsEligibleForNetting.qbl
new file mode 100644
index 0000000..ce1d9c3
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsEligibleForNetting.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsEligibleForNetting
+{
+ #keys: '3[414724.0.292600182][414724.0.292600181][414724.0.292600183]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPI.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPI.qbl
new file mode 100644
index 0000000..a45c711
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPI.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsExcludedFromFulfillmentKPI
+{
+ #keys: '3[414724.0.292600192][414724.0.292600191][414724.0.292600193]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPIUser.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPIUser.qbl
new file mode 100644
index 0000000..6e0bd7a
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsExcludedFromFulfillmentKPIUser.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsExcludedFromFulfillmentKPIUser
+{
+ #keys: '3[414724.0.292600202][414724.0.292600201][414724.0.292600203]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsFirmed.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsFirmed.qbl
new file mode 100644
index 0000000..bd03e0e
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsFirmed.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsFirmed
+{
+ #keys: '3[414724.0.292600212][414724.0.292600211][414724.0.292600213]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLeaf.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLeaf.qbl
new file mode 100644
index 0000000..66c441e
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLeaf.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsLeaf
+{
+ #keys: '3[414724.0.292600222][414724.0.292600221][414724.0.292600223]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLocked.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLocked.qbl
new file mode 100644
index 0000000..7a21a34
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsLocked.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsLocked
+{
+ #keys: '3[414724.0.292600232][414724.0.292600231][414724.0.292600233]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsManuallyConfigured.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsManuallyConfigured.qbl
new file mode 100644
index 0000000..b245b9a
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsManuallyConfigured.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsManuallyConfigured
+{
+ #keys: '3[414724.0.292600242][414724.0.292600241][414724.0.292600243]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsPostponed.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsPostponed.qbl
new file mode 100644
index 0000000..6e85880
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsPostponed.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsPostponed
+{
+ #keys: '3[414724.0.292600252][414724.0.292600251][414724.0.292600253]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsSoftDeleted.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsSoftDeleted.qbl
new file mode 100644
index 0000000..954dea2
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsSoftDeleted.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsSoftDeleted
+{
+ #keys: '3[414724.0.292600262][414724.0.292600261][414724.0.292600263]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsValidData.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsValidData.qbl
new file mode 100644
index 0000000..e50d18d
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_IsValidData.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsValidData
+{
+ #keys: '3[414724.0.292600272][414724.0.292600271][414724.0.292600273]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModify.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModify.qbl
new file mode 100644
index 0000000..a8d007f
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModify.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastModify
+{
+ #keys: '3[414724.0.292600033][414724.0.292600032][414724.0.292600034]'
+ Description: '鏈�鍚庝慨鏀逛汉'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModifyTime.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModifyTime.qbl
new file mode 100644
index 0000000..36d44c5
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_LastModifyTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastModifyTime
+{
+ #keys: '3[414724.0.292600021][414724.0.292600020][414724.0.292600022]'
+ Description: '鏈�鍚庢搷浣滄椂闂�'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderID.qbl
new file mode 100644
index 0000000..1c5d722
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderID
+{
+ #keys: '3[414724.0.292600282][414724.0.292600281][414724.0.292600283]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderLineID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderLineID.qbl
new file mode 100644
index 0000000..6aeeba7
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderLineID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderLineID
+{
+ #keys: '3[414724.0.292600292][414724.0.292600291][414724.0.292600293]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTag.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTag.qbl
new file mode 100644
index 0000000..aa425a4
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTag.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderTag
+{
+ #keys: '3[414724.0.292600042][414724.0.292600041][414724.0.292600043]'
+ Description: '璁㈠崟鐘舵�侊紝鍐插噺鍚庤祴鍊硷紝绾娴�,鏈夐娴嬶紝鏃犻娴嬶紝鍙嶇锛屾巿鏉�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTime.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTime.qbl
new file mode 100644
index 0000000..8e1a43b
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderTime
+{
+ #keys: '3[414724.0.292600024][414724.0.292600023][414724.0.292600025]'
+ Description: '璁㈠崟涓嬪崟鏃堕棿'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderType.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderType.qbl
new file mode 100644
index 0000000..f3f52cf
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OrderType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderType
+{
+ #keys: '3[414724.0.292600018][414724.0.292600017][414724.0.292600019]'
+ Description: '璁㈠崟绫诲瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_OutsideOfPlanningHorizonQuantity.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OutsideOfPlanningHorizonQuantity.qbl
new file mode 100644
index 0000000..ec41ccb
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_OutsideOfPlanningHorizonQuantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OutsideOfPlanningHorizonQuantity
+{
+ #keys: '3[414724.0.292600302][414724.0.292600301][414724.0.292600303]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_PISPConversionFactor.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_PISPConversionFactor.qbl
new file mode 100644
index 0000000..a5128b6
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_PISPConversionFactor.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PISPConversionFactor
+{
+ #keys: '3[414724.0.292600312][414724.0.292600311][414724.0.292600313]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_ParentID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ParentID.qbl
new file mode 100644
index 0000000..1069893
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ParentID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ParentID
+{
+ #keys: '3[414724.0.301487657][414724.0.301487656][414724.0.301487658]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_Price.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Price.qbl
new file mode 100644
index 0000000..9e3c7b9
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Price.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Price
+{
+ #keys: '3[414724.0.292600322][414724.0.292600321][414724.0.292600323]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_PriceUoM.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_PriceUoM.qbl
new file mode 100644
index 0000000..f163e1d
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_PriceUoM.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriceUoM
+{
+ #keys: '3[414724.0.292600332][414724.0.292600331][414724.0.292600333]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_PriorityName.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_PriorityName.qbl
new file mode 100644
index 0000000..62b2da2
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_PriorityName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityName
+{
+ #keys: '3[414724.0.292600342][414724.0.292600341][414724.0.292600343]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductGrade.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductGrade.qbl
new file mode 100644
index 0000000..d5d79e7
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductGrade.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductGrade
+{
+ #keys: '3[414724.0.292600036][414724.0.292600035][414724.0.292600037]'
+ Description: '浜у搧绛夌骇'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductID.qbl
new file mode 100644
index 0000000..4d67010
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414724.0.292600352][414724.0.292600351][414724.0.292600353]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_Quantity.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Quantity.qbl
new file mode 100644
index 0000000..e0194fe
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+ #keys: '3[414724.0.292600368][414724.0.292600367][414724.0.292600369]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityInDefaultUoM.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityInDefaultUoM.qbl
new file mode 100644
index 0000000..6008923
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityInDefaultUoM.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute QuantityInDefaultUoM
+{
+ #keys: '3[414724.0.292600378][414724.0.292600377][414724.0.292600379]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityPerDay.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityPerDay.qbl
new file mode 100644
index 0000000..f5d1b6c
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_QuantityPerDay.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute QuantityPerDay
+{
+ #keys: '3[414724.0.292600388][414724.0.292600387][414724.0.292600389]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesDemandConversionFactor.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesDemandConversionFactor.qbl
new file mode 100644
index 0000000..8e79627
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesDemandConversionFactor.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesDemandConversionFactor
+{
+ #keys: '3[414724.0.292600398][414724.0.292600397][414724.0.292600399]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesSegmentName.qbl
new file mode 100644
index 0000000..dff72c7
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SalesSegmentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesSegmentName
+{
+ #keys: '3[414724.0.292600408][414724.0.292600407][414724.0.292600409]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevere.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevere.qbl
new file mode 100644
index 0000000..79942f2
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevere.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SanityCheckDataMostSevere
+{
+ #keys: '3[414724.0.292600416][414724.0.292600415][414724.0.292600417]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevereCount.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevereCount.qbl
new file mode 100644
index 0000000..37bec23
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataMostSevereCount.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SanityCheckDataMostSevereCount
+{
+ #keys: '3[414724.0.292600426][414724.0.292600425][414724.0.292600427]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataTotalViolationCount.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataTotalViolationCount.qbl
new file mode 100644
index 0000000..4d8472e
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SanityCheckDataTotalViolationCount.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SanityCheckDataTotalViolationCount
+{
+ #keys: '3[414724.0.292600436][414724.0.292600435][414724.0.292600437]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SegmentPriority.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SegmentPriority.qbl
new file mode 100644
index 0000000..30bcd18
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SegmentPriority.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SegmentPriority
+{
+ #keys: '3[414724.0.292600030][414724.0.292600029][414724.0.292600031]'
+ Description: '缁嗗垎甯傚満浼樺厛绾�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SheetProfitability.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SheetProfitability.qbl
new file mode 100644
index 0000000..c7d7073
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SheetProfitability.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SheetProfitability
+{
+ #keys: '3[414724.0.292600027][414724.0.292600026][414724.0.292600028]'
+ Description: '澶у紶鐩堝埄姘村钩'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SplitCount.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SplitCount.qbl
new file mode 100644
index 0000000..7481b6d
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SplitCount.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SplitCount
+{
+ #keys: '3[414724.0.297907220][414724.0.297907219][414724.0.297907221]'
+ Description: '鎷嗚琛屾暟'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteReason.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteReason.qbl
new file mode 100644
index 0000000..8121f1d
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteReason.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SpliteReason
+{
+ #keys: '3[414724.0.297907210][414724.0.297907209][414724.0.297907211]'
+ Description: '鎷嗚鍘熷洜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteRenmain.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteRenmain.qbl
new file mode 100644
index 0000000..2f9bdf5
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_SpliteRenmain.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SpliteRenmain
+{
+ #keys: '3[414724.0.297907230][414724.0.297907229][414724.0.297907231]'
+ Description: '鎷嗚鍓╀綑閲�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_StartDate.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_StartDate.qbl
new file mode 100644
index 0000000..05bec5c
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[414724.0.292600446][414724.0.292600445][414724.0.292600447]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_Status_Splite.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Status_Splite.qbl
new file mode 100644
index 0000000..2b8afbc
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Status_Splite.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Status_Splite
+{
+ #keys: '3[414724.0.297907200][414724.0.297907199][414724.0.297907201]'
+ Description: '鎷嗚鐘舵�侊細鏈媶琛岋紝宸叉媶琛�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_StockingPointID.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..f48a4d3
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414724.0.292600456][414724.0.292600455][414724.0.292600457]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..9787651
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+ #keys: '3[414724.0.292600466][414724.0.292600465][414724.0.292600467]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/Attribute_Variance.qbl b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Variance.qbl
new file mode 100644
index 0000000..38c3a16
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/Attribute_Variance.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Variance
+{
+ #keys: '3[414724.0.292600476][414724.0.292600475][414724.0.292600477]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/DeclarativeTypeIndexRelation_CalcChild.qbl b/_Main/BL/Type_S_DT_CustomOrder/DeclarativeTypeIndexRelation_CalcChild.qbl
new file mode 100644
index 0000000..7306bdb
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/DeclarativeTypeIndexRelation_CalcChild.qbl
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeTypeIndexRelation CalcChild
+{
+ #keys: '1[414724.0.314769003]'
+ Relation: Child
+ TypeIndex: PrimaryKey_ID
+ TypeIndexExpressions:
+ [
+ DeclarativeRelationTypeIndexExpression
+ {
+ #keys: '1[414724.0.314769004]'
+ TypeIndexExpression: 'this.ParentID()'
+ }
+ ]
+}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_BusinessType.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_BusinessType.qbl
similarity index 100%
rename from _Main/BL/Type_HistoricalSalesOrder/DefaultValue_BusinessType.qbl
rename to _Main/BL/Type_S_DT_CustomOrder/DefaultValue_BusinessType.qbl
diff --git a/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_CustomerPolicy.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_CustomerPolicy.qbl
new file mode 100644
index 0000000..d08c252
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_CustomerPolicy.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: CustomerPolicy
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_LastModify.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_LastModify.qbl
new file mode 100644
index 0000000..6ef422d
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_LastModify.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: LastModify
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_OrderTag.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_OrderTag.qbl
new file mode 100644
index 0000000..9f5cca1
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_OrderTag.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: OrderTag
+}
diff --git a/_Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderType.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_OrderType.qbl
similarity index 100%
rename from _Main/BL/Type_HistoricalSalesOrder/DefaultValue_OrderType.qbl
rename to _Main/BL/Type_S_DT_CustomOrder/DefaultValue_OrderType.qbl
diff --git a/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_ProductGrade.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_ProductGrade.qbl
new file mode 100644
index 0000000..6571585
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_ProductGrade.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: ProductGrade
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SegmentPriority.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SegmentPriority.qbl
new file mode 100644
index 0000000..1da1a6c
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SegmentPriority.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: SegmentPriority
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SheetProfitability.qbl b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SheetProfitability.qbl
new file mode 100644
index 0000000..6f747a5
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/DefaultValue_SheetProfitability.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: SheetProfitability
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/TypeIndex_PrimaryKey_ID.qbl b/_Main/BL/Type_S_DT_CustomOrder/TypeIndex_PrimaryKey_ID.qbl
new file mode 100644
index 0000000..f455959
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/TypeIndex_PrimaryKey_ID.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex PrimaryKey_ID
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: ID
+ }
+ ]
+}
diff --git a/_Main/BL/Type_S_DT_CustomOrder/_ROOT_Type_S_DT_CustomOrder.qbl b/_Main/BL/Type_S_DT_CustomOrder/_ROOT_Type_S_DT_CustomOrder.qbl
new file mode 100644
index 0000000..5aef91a
--- /dev/null
+++ b/_Main/BL/Type_S_DT_CustomOrder/_ROOT_Type_S_DT_CustomOrder.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type S_DT_CustomOrder
+{
+ #keys: '5[414724.0.292616028][414724.0.292616026][0.0.0][414724.0.292616027][414724.0.292616029]'
+ BaseType: Object
+ Description: '棰勬媶琛岃鍗�'
+ StructuredName: 'S_DT_CustomOrders'
+}
diff --git a/_Main/BL/Type_S_DT_OrderSpliteRow/Attribute_NewAttribute.qbl b/_Main/BL/Type_S_DT_OrderSpliteRow/Attribute_NewAttribute.qbl
new file mode 100644
index 0000000..5e257e7
--- /dev/null
+++ b/_Main/BL/Type_S_DT_OrderSpliteRow/Attribute_NewAttribute.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NewAttribute
+{
+ #keys: '3[414724.0.289871335][414724.0.289871334][414724.0.289871336]'
+ ValueType: BinaryValue
+}
diff --git a/_Main/BL/Type_S_DT_OrderSpliteRow/_ROOT_Type_S_DT_OrderSpliteRow.qbl b/_Main/BL/Type_S_DT_OrderSpliteRow/_ROOT_Type_S_DT_OrderSpliteRow.qbl
new file mode 100644
index 0000000..c18766d
--- /dev/null
+++ b/_Main/BL/Type_S_DT_OrderSpliteRow/_ROOT_Type_S_DT_OrderSpliteRow.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type S_DT_OrderSpliteRow
+{
+ #keys: '5[414724.0.289871270][414724.0.289871268][0.0.0][414724.0.289871269][414724.0.289871271]'
+ BaseType: Object
+ Description: '棰勬媶琛岃鍗�'
+ StructuredName: 'S_DT_OrderSpliteRows'
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ForecastDate.qbl b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ForecastDate.qbl
new file mode 100644
index 0000000..9dae9a8
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ForecastDate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ForecastDate
+{
+ #keys: '3[414724.0.291485648][414724.0.291485647][414724.0.291485649]'
+ Description: '闇�姹傛棩鏈�'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID.qbl b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID.qbl
new file mode 100644
index 0000000..b3734cd
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414724.0.291485698][414724.0.291485697][414724.0.291485699]'
+ Description: '涓婚敭ID'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID_S_DT_CustomOrder.qbl b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID_S_DT_CustomOrder.qbl
new file mode 100644
index 0000000..f96559e
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_ID_S_DT_CustomOrder.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID_S_DT_CustomOrder
+{
+ #keys: '3[414724.0.320004537][414724.0.320004536][414724.0.320004538]'
+ Description: 'S_DT_CustomOrder琛↖D,澶栭敭鍏宠仈锛圤rderID鍦ㄨ鍗曡〃涓嶅敮涓�锛屾棤娉曚娇鐢級'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/Attribute_OrderID.qbl b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_OrderID.qbl
new file mode 100644
index 0000000..394500c
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_OrderID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderID
+{
+ #keys: '3[414724.0.291485665][414724.0.291485664][414724.0.291485666]'
+ Description: '璁㈠崟ID'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/Attribute_Qty.qbl b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_Qty.qbl
new file mode 100644
index 0000000..c24f8c6
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_Qty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Qty
+{
+ #keys: '3[414724.0.291485658][414724.0.291485657][414724.0.291485659]'
+ Description: '鏁伴噺'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/Attribute_SpliteReason.qbl b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_SpliteReason.qbl
new file mode 100644
index 0000000..e2c2bbf
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_SpliteReason.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SpliteReason
+{
+ #keys: '3[414724.0.320004525][414724.0.320004524][414724.0.320004526]'
+ Description: '鎷嗗垎鍘熷洜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/Attribute_Status.qbl b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_Status.qbl
new file mode 100644
index 0000000..7aac95f
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/Attribute_Status.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Status
+{
+ #keys: '3[414724.0.291485678][414724.0.291485677][414724.0.291485679]'
+ Description: '鐘舵�侊細null/1 鏈夋晥锛�0鍒犻櫎'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/DefaultValue_Status.qbl b/_Main/BL/Type_S_DT_SpliteStruct/DefaultValue_Status.qbl
new file mode 100644
index 0000000..84f8bc0
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/DefaultValue_Status.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ ISOValue: '1'
+ TargetAttribute: Status
+}
diff --git a/_Main/BL/Type_S_DT_SpliteStruct/_ROOT_Type_S_DT_SpliteStruct.qbl b/_Main/BL/Type_S_DT_SpliteStruct/_ROOT_Type_S_DT_SpliteStruct.qbl
new file mode 100644
index 0000000..3b5bd6f
--- /dev/null
+++ b/_Main/BL/Type_S_DT_SpliteStruct/_ROOT_Type_S_DT_SpliteStruct.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type S_DT_SpliteStruct
+{
+ #keys: '5[414724.0.291485609][414724.0.291485607][0.0.0][414724.0.291485608][414724.0.291485610]'
+ BaseType: Object
+ Description: '鎷嗗垎缁撴瀯'
+ StructuredName: 'S_DT_SpliteStructs'
+}
diff --git a/_Main/BL/Type_S_FunctionClass/StaticMethod_SM_OrderToSpliteOrder.qbl b/_Main/BL/Type_S_FunctionClass/StaticMethod_SM_OrderToSpliteOrder.qbl
new file mode 100644
index 0000000..26760bd
--- /dev/null
+++ b/_Main/BL/Type_S_FunctionClass/StaticMethod_SM_OrderToSpliteOrder.qbl
@@ -0,0 +1,207 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SM_OrderToSpliteOrder (
+ MacroPlan Owner,
+ CustomerOrder OrderInfo,
+ String SpliteReason
+) as owning JSON
+{
+ Description: '璁㈠崟杞负棰勬媶鍒嗚鍗曞嚱鏁�'
+ TextBody:
+ [*
+ /************************************璁㈠崟杞崲涓洪鎷嗗垎璁㈠崟******************************
+ *鍑芥暟鍚嶏細SM_OrderToSpliteOrder
+ *鍒涘缓浜猴細yunying
+ *鍒涘缓鏃堕棿锛�2023-10-26
+ *鎻忚堪锛氳鍗曟媶琛岋紝灏嗕紶鍏ョ殑璁㈠崟瀛樺叆棰勬媶鍒嗚〃锛屽苟鍦ㄨ鍗曡〃涓皢璇ヨ鍗曠Щ闄ゃ��
+ 鍚屾椂鐢熸垚瀛愯鍗曪紙鑻_DT_SpliteStruct瀛樺湪鐩稿悓璁㈠崟鍙凤級
+ *-----------------------------
+ *鍙傛暟锛歄wner MacroPlan
+ * OrderInfo 瑕佽浆涓洪鎷嗗垎鐨勮鍗�
+ * SpliteReason 鎷嗗垎鍘熷洜
+ *****************************************************************************/
+ // 鍒濆鍖栫粨鏋�
+ bStatus := false;
+ strMsg :="";
+ // 鑾峰彇鐗堟湰鍙�,杩欓噷鏄惁闇�瑕佸拰鐗堟湰鍙峰姛鑳藉鎺�
+ VCode :=H_FunctionClass::SM_GenerateID("VC");
+
+ try{
+ if( not isnull( Owner))
+ {
+ // 鎷嗗垎琛屾暟
+ SplitCount := selectset( Owner,S_DT_SpliteStruct,obj,obj.ID_S_DT_CustomOrder()=OrderInfo.ID() and obj.Status()=1).Size();
+ // 鎷嗗垎鏁伴噺
+ SpliteQty:= sum( Owner,S_DT_SpliteStruct,obj,obj.ID_S_DT_CustomOrder()=OrderInfo.ID() and obj.Status()=1,obj.Qty());
+ // 鍓╀綑鏁伴噺
+ UnSpliteQty:= OrderInfo.Quantity() - SpliteQty;
+ // 淇濇寔鎷嗗垎淇℃伅
+ SCustomOrder:=select( Owner,S_DT_CustomOrder,obj,obj.ID()=OrderInfo.ID());
+ if( isnull( SCustomOrder))
+ {
+ Owner.S_DT_CustomOrder(relnew,BusinessType:=OrderInfo.BusinessType()
+ ,CurrencyID:=OrderInfo.CurrencyID()
+ ,CustomerID:=OrderInfo.CustomerID()
+ ,CustomerName:=OrderInfo.CustomerName()
+ ,CustomerPolicy:=OrderInfo.CustomerPolicy()
+ ,DefaultUOMConversionFactor:=OrderInfo.DefaultUOMConversionFactor()
+ ,DemandUncertaintyPercentage:=OrderInfo.DemandUncertaintyPercentage()
+ ,DerivedPriorityName:=OrderInfo.DerivedPriorityName()
+ ,EndDate:=OrderInfo.EndDate()
+ ,ExpectedQuantity:=OrderInfo.ExpectedQuantity()
+ ,FulfilledQuantity:=OrderInfo.FulfilledQuantity()
+ ,HasPostponedSalesDemand:=OrderInfo.HasPostponedSalesDemand()
+ ,HasValidConversionFactor:=OrderInfo.HasValidConversionFactor()
+ ,ID:=OrderInfo.ID()
+ ,IsEligibleForNetting:=OrderInfo.IsEligibleForNetting()
+ ,IsExcludedFromFulfillmentKPI:=OrderInfo.IsExcludedFromFulfillmentKPI()
+ ,IsExcludedFromFulfillmentKPIUser:=OrderInfo.IsExcludedFromFulfillmentKPIUser()
+ ,IsFirmed:=OrderInfo.IsFirmed()
+ ,IsLeaf := OrderInfo.IsLeaf()
+ ,IsLocked:=OrderInfo.IsLocked()
+ ,IsAvailable := OrderInfo.IsAvailable()
+ ,IsManuallyConfigured:=OrderInfo.IsManuallyConfigured()
+ ,IsPostponed:=OrderInfo.IsPostponed()
+ ,IsSoftDeleted:=OrderInfo.IsSoftDeleted()
+ ,IsValidData:=OrderInfo.IsValidData()
+ ,LastModify:=OrderInfo.LastModify()
+ ,LastModifyTime:=OrderInfo.LastModifyTime()
+ ,OrderID:=OrderInfo.OrderID()
+ ,OrderLineID:=OrderInfo.OrderLineID()
+ ,OrderTag:=OrderInfo.OrderTag()
+ ,OrderTime:=OrderInfo.OrderTime()
+ ,OrderType:=OrderInfo.OrderType()
+ ,OutsideOfPlanningHorizonQuantity:=OrderInfo.OutsideOfPlanningHorizonQuantity()
+ ,PISPConversionFactor:=OrderInfo.PISPConversionFactor()
+ ,Price:=OrderInfo.Price()
+ ,PriceUoM:=OrderInfo.PriceUoM()
+ ,PriorityName:=OrderInfo.PriorityName()
+ ,ProductGrade:=OrderInfo.ProductGrade()
+ ,ProductID:=OrderInfo.ProductID()
+ ,Quantity:=OrderInfo.Quantity()
+ ,QuantityInDefaultUoM:=OrderInfo.QuantityInDefaultUoM()
+ ,QuantityPerDay:=OrderInfo.QuantityPerDay()
+ ,SalesDemandConversionFactor:=OrderInfo.SalesDemandConversionFactor()
+ ,SalesSegmentName:=OrderInfo.SalesSegmentName()
+ ,SanityCheckDataMostSevere:=OrderInfo.SanityCheckDataMostSevere()
+ ,SanityCheckDataMostSevereCount:=OrderInfo.SanityCheckDataMostSevereCount()
+ ,SanityCheckDataTotalViolationCount:=OrderInfo.SanityCheckDataTotalViolationCount()
+ ,SegmentPriority:=OrderInfo.SegmentPriority()
+ ,SheetProfitability:=OrderInfo.SheetProfitability()
+ ,StartDate:=OrderInfo.StartDate()
+ ,StockingPointID:=OrderInfo.StockingPointID()
+ ,UnitOfMeasureName:=OrderInfo.UnitOfMeasureName()
+ ,SplitCount := SplitCount
+ ,SpliteRenmain := UnSpliteQty);
+ }
+ else
+ {
+ SCustomOrder.SplitCount(SplitCount);
+ SCustomOrder.SpliteRenmain(UnSpliteQty);
+ }
+ OId:=0;
+ NewID:="";
+ SpliteOrderInfo :=null( S_DT_CustomOrder,constcontent );
+ // 鐢熸垚瀛愯鍗�
+ traverse( Owner,S_DT_SpliteStruct,obj,obj.ID_S_DT_CustomOrder()=OrderInfo.ID())
+ {
+ OId:=OId+1;
+ // 寰楀埌瀵瑰簲鐨勫凡鎷嗗垎璁㈠崟
+ SpliteOrderInfo := select( Owner,S_DT_CustomOrder,objSO,objSO.ID_SpliteStruct()=obj.ID());
+ // 鎷嗗垎琚垹闄わ紝灏嗗凡缁忎繚鎸佺殑鎷嗗垎璁㈠崟璺熼殢鍒犻櫎
+ if(obj.Status()=0)
+ {
+ if(not isnull( SpliteOrderInfo))
+ {
+ SpliteOrderInfo.Delete();
+ }
+ obj.Delete();
+ }
+ else
+ {
+ // 淇濆瓨鏂板鐨勬媶鍒�
+ if(isnull( SpliteOrderInfo))
+ {
+ NewID:=OrderInfo.ID()+"_"+OId.AsQUILL()+"_"+DateTime::ActualGMTTime().Format( "hms");
+ Owner.S_DT_CustomOrder(relnew,BusinessType:=OrderInfo.BusinessType()
+ ,CurrencyID:=OrderInfo.CurrencyID()
+ ,CustomerID:=OrderInfo.CustomerID()
+ ,CustomerName:=OrderInfo.CustomerName()
+ ,CustomerPolicy:=OrderInfo.CustomerPolicy()
+ ,DefaultUOMConversionFactor:=OrderInfo.DefaultUOMConversionFactor()
+ ,DemandUncertaintyPercentage:=OrderInfo.DemandUncertaintyPercentage()
+ ,DerivedPriorityName:=OrderInfo.DerivedPriorityName()
+ ,EndDate:=obj.ForecastDate()
+ ,ExpectedQuantity:=OrderInfo.ExpectedQuantity()
+ ,FulfilledQuantity:=OrderInfo.FulfilledQuantity()
+ ,HasPostponedSalesDemand:=OrderInfo.HasPostponedSalesDemand()
+ ,HasValidConversionFactor:=OrderInfo.HasValidConversionFactor()
+ ,ID:=NewID
+ ,IsEligibleForNetting:=OrderInfo.IsEligibleForNetting()
+ ,IsExcludedFromFulfillmentKPI:=OrderInfo.IsExcludedFromFulfillmentKPI()
+ ,IsExcludedFromFulfillmentKPIUser:=OrderInfo.IsExcludedFromFulfillmentKPIUser()
+ ,IsFirmed:=OrderInfo.IsFirmed()
+ ,IsLeaf := OrderInfo.IsLeaf()
+ ,IsLocked:=OrderInfo.IsLocked()
+ ,IsAvailable := OrderInfo.IsAvailable()
+ ,IsManuallyConfigured:=OrderInfo.IsManuallyConfigured()
+ ,IsPostponed:=OrderInfo.IsPostponed()
+ ,IsSoftDeleted:=OrderInfo.IsSoftDeleted()
+ ,IsValidData:=OrderInfo.IsValidData()
+ ,LastModify:=OrderInfo.LastModify()
+ ,LastModifyTime:=OrderInfo.LastModifyTime()
+ ,OrderID:=OrderInfo.OrderID()
+ ,OrderLineID:=OrderInfo.OrderLineID()
+ ,OrderTag:=OrderInfo.OrderTag()
+ ,OrderTime:=OrderInfo.OrderTime()
+ ,OrderType:=OrderInfo.OrderType()
+ ,OutsideOfPlanningHorizonQuantity:=OrderInfo.OutsideOfPlanningHorizonQuantity()
+ ,PISPConversionFactor:=OrderInfo.PISPConversionFactor()
+ ,Price:=OrderInfo.Price()
+ ,PriceUoM:=OrderInfo.PriceUoM()
+ ,PriorityName:=OrderInfo.PriorityName()
+ ,ProductGrade:=OrderInfo.ProductGrade()
+ ,ProductID:=OrderInfo.ProductID()
+ ,Quantity:=obj.Qty()
+ ,QuantityInDefaultUoM:=OrderInfo.QuantityInDefaultUoM()
+ ,QuantityPerDay:=OrderInfo.QuantityPerDay()
+ ,SalesDemandConversionFactor:=OrderInfo.SalesDemandConversionFactor()
+ ,SalesSegmentName:=OrderInfo.SalesSegmentName()
+ ,SanityCheckDataMostSevere:=OrderInfo.SanityCheckDataMostSevere()
+ ,SanityCheckDataMostSevereCount:=OrderInfo.SanityCheckDataMostSevereCount()
+ ,SanityCheckDataTotalViolationCount:=OrderInfo.SanityCheckDataTotalViolationCount()
+ ,SegmentPriority:=OrderInfo.SegmentPriority()
+ ,SheetProfitability:=OrderInfo.SheetProfitability()
+ ,StartDate:=OrderInfo.StartDate()
+ ,StockingPointID:=OrderInfo.StockingPointID()
+ ,UnitOfMeasureName:=OrderInfo.UnitOfMeasureName()
+ ,ParentID := OrderInfo.ID()
+ ,SpliteReason := obj.SpliteReason()
+ ,ID_SpliteStruct := obj.ID());
+ }
+ }
+ }
+ // 鍒犻櫎璁㈠崟
+ //Order:=select( Owner,SalesDemand.astype( CustomerOrder ),obj,obj.ID()=OrderInfo.ID());
+ //OrderInfo.Delete();
+ bStatus:=true;
+ strMsg:="璁㈠崟锛�"+OrderInfo.OrderID()+"宸茶浆鍏ラ鎷嗗垎璁板綍锛屽彲浣跨敤杩樺師鍔熻兘鎭㈠锛�";
+ }
+ else
+ {
+ strMsg:="鍦烘櫙鍒濆鍖栧け璐ワ紝璇烽�夋嫨鍦烘櫙鍚庝娇鐢ㄨ鍔熻兘銆�";
+ }
+ }
+ onerror
+ {
+ strMsg :="璁剧疆涓洪鎷嗗垎琛屽け璐ワ紝璇疯仈绯荤郴缁熺鐞嗗憳锛�";
+ // 璁板綍閿欒鏃ュ織
+ Owner.H_ErrorLogs(relnew,EClassName := "S_FunctionClass",EDateTime := DateTime::ActualGMTTime(),EFunctionName := "SM_OrderToSpliteOrder",
+ DeveloperInformation := e.DeveloperInformation(),ErrorNr := e.ErrorNr(),DetailedInformation := e.DetailedInformation(),
+ GeneralInformation := e.GeneralInformation());
+ }
+ return JSON::Object().Add( "Status",bStatus)
+ .Add( "VersionCode",VCode)
+ .Add( "Msg",strMsg).Build();
+ *]
+}
diff --git a/_Main/BL/Type_S_FunctionClass/_ROOT_Type_S_FunctionClass.qbl b/_Main/BL/Type_S_FunctionClass/_ROOT_Type_S_FunctionClass.qbl
new file mode 100644
index 0000000..eb20166
--- /dev/null
+++ b/_Main/BL/Type_S_FunctionClass/_ROOT_Type_S_FunctionClass.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type S_FunctionClass
+{
+ #keys: '5[414724.0.288796771][414724.0.288796769][0.0.0][414724.0.288796770][414724.0.288796772]'
+ BaseType: Object
+ Description: '璁㈠崟鎷嗚鎿嶄綔绫�'
+ StructuredName: 'S_FunctionClasss'
+}
diff --git a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl
new file mode 100644
index 0000000..f56738d
--- /dev/null
+++ b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateFromMapping.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateFromMapping (
+ const GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ Description: '浠巑apping琛ㄥ垱寤哄簱瀛樼偣'
+ TextBody:
+ [*
+ // Administrator Oct-31-2023 (created)
+ updates := construct( StockingPoint_MPs );
+ traverse( globalOTDTable, Global_MappingStockingPoint_MP, sp, true )
+ {
+ a := StockingPoint_MP::CreateStockingpoint( macroPlan, sp.ID(), sp.UnitID(), sp.Name() );
+ updates.Add( a );
+ }
+ origindataset := selectset( macroPlan, StockingPoint_MP, sp, true );
+ obsoletes := origindataset.Difference( updates );
+ // delete obsoleted
+ difflength := obsoletes.Size();
+ for( j:=0; j<difflength; j++ )
+ {
+ obsolete := obsoletes.Element( j );
+ obsolete.Delete();
+ }
+ *]
+}
diff --git a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl
index 857199b..3e2a601 100644
--- a/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl
+++ b/_Main/BL/Type_StockingPoint_MP/StaticMethod_CreateStockingpoint.qbl
@@ -22,7 +22,7 @@
isfromdb := true;
//create new stockingpoint
- result := StockingPoint_MP::FindStockingPointTypeIndex( id );
+ result := StockingPoint_MP::FindById( mp, id );
if( isnull( result ) )
{
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Item.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Item.qbl
new file mode 100644
index 0000000..0f6af0b
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Item.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Item
+{
+ #keys: '3[414702.1.391291493][414702.1.391291492][414702.1.391291494]'
+ Description: '鐗╂枡缂栫爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganCode.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganCode.qbl
new file mode 100644
index 0000000..7c0b6b2
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganCode
+{
+ #keys: '3[414702.1.391291503][414702.1.391291502][414702.1.391291504]'
+ Description: '缁勭粐缂栫爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganName.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganName.qbl
new file mode 100644
index 0000000..c56d968
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_OrganName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrganName
+{
+ #keys: '3[414702.1.391291513][414702.1.391291512][414702.1.391291514]'
+ Description: '缁勭粐鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_PlantName.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_PlantName.qbl
new file mode 100644
index 0000000..fa433f0
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_PlantName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlantName
+{
+ #keys: '3[414702.1.391291523][414702.1.391291522][414702.1.391291524]'
+ Description: '宸ュ巶鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total1.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total1.qbl
new file mode 100644
index 0000000..2a0c629
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total1.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total1
+{
+ #keys: '3[414702.1.391291539][414702.1.391291538][414702.1.391291540]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total10.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total10.qbl
new file mode 100644
index 0000000..ee5439a
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total10.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total10
+{
+ #keys: '3[414702.1.391291650][414702.1.391291649][414702.1.391291651]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total11.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total11.qbl
new file mode 100644
index 0000000..23c5821
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total11.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total11
+{
+ #keys: '3[414702.1.391291663][414702.1.391291662][414702.1.391291664]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total12.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total12.qbl
new file mode 100644
index 0000000..293c6fc
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total12.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total12
+{
+ #keys: '3[414702.1.391291673][414702.1.391291672][414702.1.391291674]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total2.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total2.qbl
new file mode 100644
index 0000000..06dcf1a
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total2.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total2
+{
+ #keys: '3[414702.1.391291552][414702.1.391291551][414702.1.391291553]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total3.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total3.qbl
new file mode 100644
index 0000000..0b4bb14
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total3.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total3
+{
+ #keys: '3[414702.1.391291565][414702.1.391291564][414702.1.391291566]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total4.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total4.qbl
new file mode 100644
index 0000000..6976c0b
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total4.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total4
+{
+ #keys: '3[414702.1.391291575][414702.1.391291574][414702.1.391291576]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total5.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total5.qbl
new file mode 100644
index 0000000..05d49ea
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total5.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total5
+{
+ #keys: '3[414702.1.391291585][414702.1.391291584][414702.1.391291586]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total6.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total6.qbl
new file mode 100644
index 0000000..6d9ddcf
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total6.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total6
+{
+ #keys: '3[414702.1.391291598][414702.1.391291597][414702.1.391291599]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total7.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total7.qbl
new file mode 100644
index 0000000..95515f6
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total7.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total7
+{
+ #keys: '3[414702.1.391291611][414702.1.391291610][414702.1.391291612]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total8.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total8.qbl
new file mode 100644
index 0000000..a381589
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total8.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total8
+{
+ #keys: '3[414702.1.391291624][414702.1.391291623][414702.1.391291625]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total9.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total9.qbl
new file mode 100644
index 0000000..23b43ce
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/Attribute_Total9.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Total9
+{
+ #keys: '3[414702.1.391291637][414702.1.391291636][414702.1.391291638]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/StaticMethod_FlushData.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/StaticMethod_FlushData.qbl
new file mode 100644
index 0000000..b7bf786
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/StaticMethod_FlushData.qbl
@@ -0,0 +1,55 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FlushData (
+ GlobalOTDSOP globalOTDSOP,
+ const GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDSOP.SummaryOfInboundTransaction( relflush );
+
+ traverse ( globalOTDTable, Global_MappingSummaryOfInboundTransaction, gmsoit ) {
+ targetSummaryOfInboundTransaction := select( globalOTDSOP, SummaryOfInboundTransaction, tempSOIBT,
+ tempSOIBT.Item() = gmsoit.Item() and
+ tempSOIBT.OrganCode() = gmsoit.OrganCode() and
+ tempSOIBT.OrganName() = gmsoit.OrganName() and
+ tempSOIBT.PlantName() = gmsoit.PlantName() );
+
+ if ( isnull( targetSummaryOfInboundTransaction ) ) {
+ targetSummaryOfInboundTransaction := globalOTDSOP.SummaryOfInboundTransaction( relnew, Item := gmsoit.Item(),
+ OrganCode := gmsoit.OrganCode(),
+ OrganName := gmsoit.OrganName(),
+ PlantName := gmsoit.PlantName()
+ );
+ }
+
+ if ( gmsoit.TransactionDate().Month() = 1 ) {
+ targetSummaryOfInboundTransaction.Total1( targetSummaryOfInboundTransaction.Total1() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 2 ) {
+ targetSummaryOfInboundTransaction.Total2( targetSummaryOfInboundTransaction.Total2() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 3 ) {
+ targetSummaryOfInboundTransaction.Total3( targetSummaryOfInboundTransaction.Total3() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 4 ) {
+ targetSummaryOfInboundTransaction.Total4( targetSummaryOfInboundTransaction.Total4() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 5 ) {
+ targetSummaryOfInboundTransaction.Total5( targetSummaryOfInboundTransaction.Total5() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 6 ) {
+ targetSummaryOfInboundTransaction.Total6( targetSummaryOfInboundTransaction.Total6() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 7 ) {
+ targetSummaryOfInboundTransaction.Total7( targetSummaryOfInboundTransaction.Total7() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 8 ) {
+ targetSummaryOfInboundTransaction.Total8( targetSummaryOfInboundTransaction.Total8() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 9 ) {
+ targetSummaryOfInboundTransaction.Total9( targetSummaryOfInboundTransaction.Total9() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 10 ) {
+ targetSummaryOfInboundTransaction.Total10( targetSummaryOfInboundTransaction.Total10() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 11 ) {
+ targetSummaryOfInboundTransaction.Total11( targetSummaryOfInboundTransaction.Total11() + gmsoit.TransactionQTY() );
+ } else if ( gmsoit.TransactionDate().Month() = 12 ) {
+ targetSummaryOfInboundTransaction.Total12( targetSummaryOfInboundTransaction.Total2() + gmsoit.TransactionQTY() );
+ }
+
+ }
+ *]
+}
diff --git a/_Main/BL/Type_SummaryOfInboundTransaction/_ROOT_Type_SummaryOfInboundTransaction.qbl b/_Main/BL/Type_SummaryOfInboundTransaction/_ROOT_Type_SummaryOfInboundTransaction.qbl
new file mode 100644
index 0000000..1f74037
--- /dev/null
+++ b/_Main/BL/Type_SummaryOfInboundTransaction/_ROOT_Type_SummaryOfInboundTransaction.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type SummaryOfInboundTransaction
+{
+ #keys: '5[414702.1.391291471][414702.1.391291469][0.0.0][414702.1.391291470][414702.1.391291472]'
+ BaseType: Object
+ StructuredName: 'SummaryOfInboundTransactions'
+}
diff --git a/_Main/Sys/ImgAttr/DataInterfaceLog.dme b/_Main/Sys/ImgAttr/DataInterfaceLog.dme
new file mode 100644
index 0000000..82ef720
--- /dev/null
+++ b/_Main/Sys/ImgAttr/DataInterfaceLog.dme
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#parent: #root
+TypeDataInterface DataInterfaceLog
+{
+ TypeKey: '[414702.1.240820043]'
+ ImageDataMember ImgExecuteStatus
+ {
+ #keys: '1[414702.1.241719046]'
+ ImageSpecifications:
+ [
+ ImageDataMemberImageSpecification
+ {
+ Image: 'MEDIA_PLAY_GREEN'
+ Quill: 'object.ExecuteStatus() = "Running"'
+ Value: 'Running'
+ }
+ ImageDataMemberImageSpecification
+ {
+ Image: 'CHECK'
+ Quill: 'object.ExecuteStatus() = "Success"'
+ Value: 'Success'
+ }
+ ImageDataMemberImageSpecification
+ {
+ Image: 'DELETE2'
+ Quill: 'object.ExecuteStatus() = "Error"'
+ Value: 'Error'
+ }
+ ]
+ }
+}
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
index 4ad9e84..07ca890 100644
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
+++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -85,6 +85,7 @@
Component MenuDoSync { #keys: '[414384.0.605664172]' BaseType: 'Menu' Properties: [ Image: 'CLOUD_DOWNLOAD' Text: 'DoSync' ] }
Component menuSeparator506 { #keys: '[414702.0.137524309]' BaseType: 'Menu' Properties: [ Separator: true ] }
Component ComponentMenuAnalysisGlobalOTDTable { #keys: '[414702.0.137524953]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'frmStandardAnalysisGlobalOTDTable' Text: '' ] }
+ Component ComponentMenu749 { #keys: '[414702.1.273394009]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'frmStandardAnalysis633' Text: '' ] }
]
Properties:
[
@@ -103,6 +104,7 @@
c: MenuDoSync
c: menuSeparator506
c: ComponentMenuAnalysisGlobalOTDTable
+ c: ComponentMenu749
}
]
}
@@ -143,6 +145,8 @@
Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] }
Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] }
Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] }
+ Component menuSeparator432 { #keys: '[414702.1.299084028]' BaseType: 'Menu' Properties: [ Separator: true ] }
+ Component ComponentMenu420 { #keys: '[414702.1.299224194]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormPeggingResult' Text: '' ] }
]
Properties:
[
@@ -163,6 +167,8 @@
c: ComponentMenu666
c: menuSeparator822
c: ComponentMenu783
+ c: menuSeparator432
+ c: ComponentMenu420
}
]
}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def
new file mode 100644
index 0000000..b2a7bab
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+Component ColumnTitles552
+{
+ #keys: '[414702.1.299084155]'
+ BaseType: 'ColumnTitles'
+ Children:
+ [
+ Component popupColumnTitles881
+ {
+ #keys: '[414702.1.299084158]'
+ BaseType: 'popupColumnTitles'
+ }
+ ]
+ Properties:
+ [
+ ContextMenu: 'popupColumnTitles881'
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..7e94c7c
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
@@ -0,0 +1,117 @@
+Quintiq file version 2.0
+Component ListPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.299084152]'
+ BaseType: 'List'
+ Children:
+ [
+ #child: ColumnTitles552
+ Component popupList809
+ {
+ #keys: '[414702.1.299084184]'
+ BaseType: 'popupList'
+ Children:
+ [
+ Component PopupParent
+ {
+ #keys: '[514.0.129466]'
+ BaseType: 'PopupParent'
+ IsDerived: true
+ Children:
+ [
+ Component menuSeparator { #keys: '[414702.1.299084264]' BaseType: 'Menu' Properties: [ Separator: true ] }
+ Component MenuGeneratePeggingResult { #keys: '[414702.1.299084327]' BaseType: 'Menu' Properties: [ Image: 'BEER_GLASS' Text: 'GeneratePeggingResult' ] }
+ ]
+ Properties:
+ [
+ ModeledStringList ChildOrdering
+ {
+ c: MenuActions
+ c: MenuFilter
+ c: menuListQuintiqSetQuantor
+ c: menuSeparator
+ c: MenuGeneratePeggingResult
+ }
+ ]
+ }
+ ]
+ Properties:
+ [
+ PosX: 35
+ PosY: 60
+ ]
+ }
+ Component GUIDataExtractor968
+ {
+ #keys: '[414702.1.299084216]'
+ BaseType: 'GUIDataExtractor'
+ Properties:
+ [
+ DataSet: 'GlobalOTDSOP'
+ DataType: 'GlobalOTDSOP'
+ PosX: 5
+ PosY: 30
+ Transformation: 'PeggingProduct_MP.PeggingProductInSalesDemandBase'
+ ]
+ }
+ Component GUIDataSetLevel641
+ {
+ #keys: '[414702.1.299084219]'
+ BaseType: 'GUIDataSetLevel'
+ Properties:
+ [
+ DataExtractor: 'GUIDataExtractor968'
+ PosX: 35
+ PosY: 30
+ ]
+ }
+ ]
+ Properties:
+ [
+ AutoDrag: true
+ BackgroundColor: 'Window'
+ Border: true
+ ContextMenu: 'popupList809'
+ FullRowSelect: true
+ ModeledStringList ChildOrdering
+ {
+ c: ColumnTitles552
+ c: popupList809
+ c: GUIDataExtractor968
+ c: GUIDataSetLevel641
+ }
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
+ {
+ #keys: '[414702.1.299084225]'
+ Initiator: 'Menu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[621.0.8331282]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_GUIButtonBase_OnClick
+ {
+ #keys: '[414702.1.299084226]'
+ Initiator: 'GUIButtonBase'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[621.0.8331327]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def
new file mode 100644
index 0000000..16ee6ba
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick (
+ structured[PeggingProductInSalesDemandBase] selection
+) id:Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnClick
+{
+ #keys: '[414702.1.299224579]'
+ Body:
+ [*
+ PeggingResult::CreateData( selection, MacroPlan );
+ *]
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
+ Initiator: 'MenuGeneratePeggingResult'
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def b/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
new file mode 100644
index 0000000..bebc147
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent FormPeggingResult
+{
+ #keys: '[414702.1.299084054]'
+ BaseType: 'Form'
+ GBLayout
+ {
+ Type: 'internal[GBLayoutDefinition]'
+ Columns:
+ [
+ GBFlow.Column { grow: 128 id: 199 parent: 0 }
+ ]
+ Elements:
+ [
+ GBElement
+ {
+ Component => ListPeggingProductInSalesDemandBase
+ Position { startcolumn: 199 startrow: 785 endcolumn: 199 endrow: 785 }
+ }
+ ]
+ Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
+ Rows:
+ [
+ GBFlow.Row { grow: 128 id: 785 parent: 0 }
+ ]
+ }
+ Children:
+ [
+ #child: ListPeggingProductInSalesDemandBase
+ ]
+ Properties:
+ [
+ Height: 270
+ Image: 'FISH_BOWL'
+ IncludeInView: true
+ Title: 'PeggingResult'
+ Width: 494
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
index 4209271..1bd2418 100644
--- a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -9,7 +9,7 @@
//CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateCapacityRules( GlobalOTDTable, MacroPlan );
- CapacityAllocationResults::Test( MacroPlan, GlobalOTDTable );
+ //CapacityAllocationResults::Test( MacroPlan, GlobalOTDTable );
*]
CanBindMultiple: false
DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTop.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTop.def
new file mode 100644
index 0000000..297a438
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTop.def
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+Component swTop
+{
+ #keys: '[530.0.3531806]'
+ BaseType: 'swTop'
+ IsDerived: true
+ Children:
+ [
+ Component spTopLeft
+ {
+ #keys: '[530.0.3531807]'
+ BaseType: 'spTopLeft'
+ IsDerived: true
+ Children:
+ [
+ Component Analysis
+ {
+ #keys: '[530.0.3532065]'
+ BaseType: 'Analysis'
+ IsDerived: true
+ Properties:
+ [
+ GlobalInstance: 'GlobalOTDSOP'
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTopMost.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTopMost.def
new file mode 100644
index 0000000..8a8fcd7
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/Component_swTopMost.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+Component swTopMost
+{
+ #keys: '[530.0.3531801]'
+ BaseType: 'swTopMost'
+ IsDerived: true
+ Children:
+ [
+ Component SplitterPane1
+ {
+ #keys: '[530.0.3531802]'
+ BaseType: 'SplitterPane1'
+ IsDerived: true
+ Children:
+ [
+ #child: swTop
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/_ROOT_Component_frmStandardAnalysis633.def b/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/_ROOT_Component_frmStandardAnalysis633.def
new file mode 100644
index 0000000..a7fd526
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_frmStandardAnalysis633/_ROOT_Component_frmStandardAnalysis633.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent frmStandardAnalysis633
+{
+ #keys: '[414702.1.273394023]'
+ BaseType: 'frmStandardAnalysis'
+ Children:
+ [
+ #child: swTopMost
+ ]
+ Properties:
+ [
+ Height: 740
+ Image: 'BEER_GLASS'
+ Title: 'Analysis GlobalOTDSOP'
+ Width: 1300
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioComparisonViews\043859.def" "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioComparisonViews\043859.def"
new file mode 100644
index 0000000..2f902b8
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupScenarioComparisonViews\043859.def"
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+Component ActionBarGroupScenarioComparisonViews #extension
+{
+ Children:
+ [
+ Component ButtonAnnualProductionAndSalesReview
+ {
+ #keys: '[414702.1.286513416]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'COCKTAIL'
+ Label: '骞村害浜ч攢澶嶇洏'
+ Taborder: 8
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioComparison.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioComparison.def
new file mode 100644
index 0000000..fb3b421
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPageScenarioComparison.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component ActionBarPageScenarioComparison #extension
+{
+ Children:
+ [
+ #child: ActionBarGroupScenarioComparisonViews
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
index 05a14f4..a5d6f33 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
@@ -22,7 +22,7 @@
BaseType: 'WebMenu'
Properties:
[
- Image: 'PIG'
+ Image: 'LEMONADE_GLASS'
Taborder: 6
Title: '骞村害浜ч攢澶嶇洏'
]
@@ -49,7 +49,7 @@
Title: '闈㈡澘鎷夋枡_闆嗗洟鎿嶄綔'
]
}
- Component mn224
+ Component mn222
{
#keys: '[414702.1.5593849]'
BaseType: 'WebMenu'
@@ -81,6 +81,39 @@
Title: '鏁版嵁鍒嗗彂'
]
}
+ Component mn666
+ {
+ #keys: '[414702.1.293023106]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Separator: true
+ Taborder: 7
+ ]
+ }
+ Component mnPeggingAnalyse
+ {
+ #keys: '[414702.1.293023171]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Description: 'Pegging鍒嗘瀽'
+ Image: 'COCKTAIL'
+ Taborder: 8
+ Title: 'Pegging鍒嗘瀽'
+ ]
+ }
+ Component mnModulePanelCorrespondence
+ {
+ #keys: '[414702.1.378230928]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'APPLE'
+ Taborder: 9
+ Title: '妯$粍&闈㈡澘鍏崇郴'
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupScenarioComparisonViews_ButtonAnnualPro.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupScenarioComparisonViews_ButtonAnnualPro.def
new file mode 100644
index 0000000..36968d6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupScenarioComparisonViews_ButtonAnnualPro.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupScenarioComparisonViews/ButtonAnnualProductionAndSalesReview
+Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupScenarioComparisonViews_ButtonAnnualProductionAndSalesReview_OnClick
+{
+ #keys: '[414702.1.288075432]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "骞村害浜ч攢澶嶇洏", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def
new file mode 100644
index 0000000..0470654
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def
@@ -0,0 +1,33 @@
+Quintiq file version 2.0
+#parent: DataHolderAllScenario
+Response OnDataChanged () id:Response_TIANMA_JITUAN_ApplicationMacroPlanner_DataHolderAllScenario_OnDataChanged
+{
+ #keys: '[414702.1.169517835]'
+ 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/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def
deleted file mode 100644
index d927b55..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonIn.def
+++ /dev/null
@@ -1,21 +0,0 @@
-Quintiq file version 2.0
-#parent: LibSOPImpExp_ContextMenuImport/MenuImportFromCommonInformationModel
-Response OnClick () id:Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonInformationModel_OnClick
-{
- #keys: '[146140.2.683371355]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebMenu_OnClick'
- Precondition:
- [*
- return MacroPlan::HasMacroPlan( MacroPlan, feedback );
- *]
- QuillAction
- {
- Body:
- [*
- dlg := construct( DialogImportCIM );
- dlg.New();
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick.def
new file mode 100644
index 0000000..9825997
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmTestAttempt/mnModulePanelCorrespondence
+Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnModulePanelCorrespondence_OnClick
+{
+ #keys: '[414702.1.378281115]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "妯$粍_闈㈡澘鍏崇郴", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def
new file mode 100644
index 0000000..eecfc42
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: cmTestAttempt/mnPeggingAnalyse
+Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick
+{
+ #keys: '[414702.1.294401302]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "Pegging鍒嗘瀽", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index 49e8c72..c307f2a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -15,6 +15,7 @@
#child: ActionBarPagePlan
#child: ActionBarPageInventory
#child: ActionBarPageScenarioSelection
+ #child: ActionBarPageScenarioComparison
]
}
Component DataHolderCapacityAndSaleBudgeFilterItem
@@ -80,5 +81,31 @@
Component DataHolderCurrentUser #extension
{
}
+ Component DataHolderAllScenario
+ {
+ #keys: '[414702.1.169450613]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[ScenarioNode]*'
+ Children:
+ [
+ Component DataExtractorAllScenario
+ {
+ #keys: '[414702.1.166961408]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'ScenarioManager'
+ FixedFilter: 'not object.IsDeleted()'
+ Source: 'ScenarioManager'
+ Taborder: 0
+ Transformation: 'ScenarioNode'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 46
+ ]
+ }
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
index 687eea6..cfe3fcb 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
@@ -79,5 +79,15 @@
Taborder: 4
]
}
+ Component dsPlanningStart
+ {
+ #keys: '[414702.1.259278858]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Label: '璁″垝寮�濮嬫椂闂�'
+ Taborder: 8
+ ]
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
index d2aa450..fe1ca3b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -123,6 +123,8 @@
macroPlanNew.IsKeyProduct( data.IsKeyProduct() );
macroPlanNew.CreatePurchaseSupplyMaterial( data.CreatePurchaseSupplyMaterial() );
+ MacroPlan.UpdateStartOfPlanning( dsPlanningStart.Date().DateTime() );
+
this.Close();
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def
new file mode 100644
index 0000000..bb9a6b3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelGeneral_549/dsPlanningStart
+Response OnCreated () id:Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated
+{
+ #keys: '[414702.1.259420402]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.Date( Date::ActualDate() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def
index 5c05df7..a5e8867 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def
@@ -5,18 +5,6 @@
BaseType: 'WebPanel'
Children:
[
- Component dropDownStringListGeneral id:dropDownStringListGeneral_549
- {
- #keys: '[414702.1.87540205]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- AllowEmpty: true
- DataBinding: 'DataHolderScenario.Data.ScenarioName'
- Label: 'Scenario Name'
- Taborder: 0
- ]
- }
Component checkboxIsKeyProduct id:checkboxIsKeyProduct_593
{
#keys: '[414702.1.87540263]'
@@ -49,6 +37,33 @@
Taborder: 3
]
}
+ Component ddlBusinessType
+ {
+ #keys: '[414702.1.169614090]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'BusinessType'
+ Children:
+ [
+ Component deContent
+ {
+ #keys: '[414702.1.169614092]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'BusinessType'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'ScenarioName'
+ Label: 'Scenario Name'
+ Taborder: 0
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def
index c72dc11..08f0bf0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def
@@ -9,8 +9,6 @@
[*
DataHolderScenario.Data( scenario );
- dropDownStringListGeneral.Strings( GlobalOTDTable::GetBusnessStrings( GlobalOTDTable ) );
-
ApplicationMacroPlanner.ShowFormModal( this );
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def
index fcba155..d4696a6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def
@@ -10,8 +10,9 @@
activeScenario := DataHolderActiveScenario.Data();
currentScenario := DataHolderScenario.Data();
+ businessType := ddlBusinessType.Data();
- if ( activeScenario = currentScenario ) {
+ if ( activeScenario = currentScenario or isnull( businessType ) ) {
flag := false;
feedback := "鏃犳硶瀵瑰綋鍓嶉�変腑鍦烘櫙杩涜鍒嗗彂";
}
@@ -30,15 +31,9 @@
[*
Form.ApplyChanges();
- businessType := select( GlobalOTDTable,
- BusinessType,
- b,
- b.ScenarioName() = dropDownStringListGeneral.Text()
- );
-
DataDistributionLog::Create( GlobalOTDLog, ApplicationMacroPlanner.GetUserName(), DataHolderScenario.Data().DatasetMDSID(), DataHolderScenario.Data().Name() );
MacroPlan::DoASync( DataHolderScenario.Data(),
- businessType.BusinessTypeName(),
+ ddlBusinessType.Data(),
checkboxIsKeyProduct.Checked(),
checkboxCreatePurchaseSupplyProduct.Checked(),
GlobalOTDTable );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def
index cb1792b..71e7e33 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def
@@ -5,7 +5,6 @@
#keys: '[414382.0.464433014]'
Body:
[*
-
btnOk.Enabled(false,'');
// OnOk
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
index 8d24e23..1ee6b28 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
@@ -7,7 +7,7 @@
Precondition:
[*
feedback := Translations::FilllingCapacity_ValidateInput();
- checkValue := not Coefficient.Text() = ''
+ checkValue := not Coefficient.Text() = '' and not PriorityFactorName.Text() = '';
if(not checkValue )
{
@@ -23,7 +23,12 @@
{
Body:
[*
- Form.ClickBtnOK();
+ priortyFactor := select( MacroPlan,PriorityFactor,pf,pf.Name() = PriorityFactorName.Text());
+ if( not isnull( priortyFactor )){
+ WebMessageBox::Error( "绯荤粺鍐呭凡瀛樺湪璇ヤ紭鍏堢骇鍥犲瓙");
+ }else {
+ Form.ClickBtnOK();
+ }
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def
index 8f09095..1f2cbd2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def
@@ -11,7 +11,7 @@
BaseType: 'WebEditField'
Properties:
[
- DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradeTarget'
+ DataBinding: 'DataHolderEditPriorityFactorDetail.Data.GradeTarget'
Label: '鍒嗙骇鐩爣鍊�'
Taborder: 2
]
@@ -22,7 +22,7 @@
BaseType: 'WebCheckbox'
Properties:
[
- DataBinding: 'DataHolderEditPriorityFactorDetails.Data.IsRange'
+ DataBinding: 'DataHolderEditPriorityFactorDetail.Data.IsRange'
Label: '鍒嗙骇鑼冨洿:'
Taborder: 3
]
@@ -33,7 +33,7 @@
BaseType: 'WebEditField'
Properties:
[
- DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMax'
+ DataBinding: 'DataHolderEditPriorityFactorDetail.Data.RangeMax'
Label: '鏈�澶у��'
Taborder: 4
Visible: false
@@ -45,7 +45,7 @@
BaseType: 'WebEditField'
Properties:
[
- DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMin'
+ DataBinding: 'DataHolderEditPriorityFactorDetail.Data.RangeMin'
Label: '鏈�灏忓��'
ReadOnly: true
Taborder: 6
@@ -57,7 +57,7 @@
BaseType: 'WebEditField'
Properties:
[
- DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradeDesc'
+ DataBinding: 'DataHolderEditPriorityFactorDetail.Data.GradeDesc'
FixedSize: false
Label: '鎻忚堪'
SizeRatio: 3
@@ -70,20 +70,9 @@
BaseType: 'WebLabel'
Properties:
[
- DataBinding: 'DataHolderEditPriorityFactorDetails.Data.PriorityFactorName'
+ DataBinding: 'DataHolderEditPriorityFactorDetail.Data.PriorityFactor.Name'
Label: '浼樺厛绾у洜瀛�'
Taborder: 0
- ]
- }
- Component PriorityFactorDetailsName
- {
- #keys: '[414382.0.486013052]'
- BaseType: 'WebLabel'
- Properties:
- [
- DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradingName'
- Label: '缁嗗垎鍚嶇О'
- Taborder: 1
]
}
Component RangeMaxTest
@@ -107,6 +96,17 @@
Taborder: 7
]
}
+ Component PriorityFactorDetailsName
+ {
+ #keys: '[414996.0.36000637]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetail.Data.GradingName'
+ Label: '缁嗗垎鍚嶇О'
+ Taborder: 1
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def
index 2fa33f1..be3b328 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
-Method ClickBtnOK () id:Method_DialogEditPriorityFactorDetails_ClickBtnOK
+Method ClickBtnOK () id:Method_DialogEditPriorityFactorDetail_ClickBtnOK
{
#keys: '[414382.0.482495783]'
Body:
@@ -9,7 +9,9 @@
// OnOk
this.ApplyChanges();
- DataHolderEditPriorityFactorDetails.Data().Commit();
+
+ //DataHolderEditPriorityFactorDetails.Data( ).Commit();
+
this.Close();
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def
index 512f652..60e9b25 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: #root
Method Edit (
- PriorityFactorDetails selection
-) id:Method_DialogEditPriorityFactorDetails_Edit
+ PriorityFactorDetail selection
+) id:Method_DialogEditPriorityFactorDetail_Edit
{
#keys: '[414382.0.482495781]'
Body:
@@ -13,8 +13,8 @@
{
isRange.Checked(true);
}
-
- DataHolderEditPriorityFactorDetails.Data( &data);
+ PriorityFactorDetailsName.Enabled( false,"" );
+ DataHolderEditPriorityFactorDetail.Data( selection );
ApplicationMacroPlanner.ShowFormModal( this );
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_New.def
new file mode 100644
index 0000000..3a62a74
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_New.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+Method New (
+ PriorityFactor owner
+) id:Method_DialogEditPriorityFactorDetail_New
+{
+ #keys: '[414996.0.35320212]'
+ Body:
+ [*
+ data := owner.PriorityFactorDetail(relnew);
+
+ info( isnull( owner ));
+ info( isnull( data ));
+
+ DataHolderEditPriorityFactorDetail.Data( data );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def
index 09b6252..bad89eb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def
@@ -21,7 +21,7 @@
{
Body:
[*
- Form.ClickBtnOK();
+ DialogEditPriorityFactorDetail.ClickBtnOK();
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def
index 06616ab..93d57eb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def
@@ -20,9 +20,9 @@
RangeMax.Visible(false);
RangeMin.Visible(false);
RangeMaxTest.Visible(true)
- RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMax());
+ RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetail.Data().RangeMax());
RangeMinText.Visible(true)
- RangeMinText.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMin());
+ RangeMinText.Text([String]DataHolderEditPriorityFactorDetail.Data().RangeMin());
}
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnCreated.def
index ad0f874..76e527b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnCreated.def
@@ -20,9 +20,9 @@
RangeMax.Visible(false);
RangeMin.Visible(false);
RangeMaxTest.Visible(true)
- RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMax());
+ RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetail.Data().RangeMax());
RangeMinText.Visible(true)
- RangeMinText.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMin());
+ RangeMinText.Text([String]DataHolderEditPriorityFactorDetail.Data().RangeMin());
}
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetail.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetail.def
new file mode 100644
index 0000000..aca42a1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetail.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogEditPriorityFactorDetail
+{
+ #keys: '[414382.0.482374517]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderEditPriorityFactorDetail
+ {
+ #keys: '[414996.0.38864386]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'PriorityFactorDetail'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Padding: 'false'
+ Title: '缂栬緫浼樺厛绾у洜瀛愮粏鍒�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def
deleted file mode 100644
index 3668b68..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def
+++ /dev/null
@@ -1,32 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlannerWebApp
-OrphanComponent DialogEditPriorityFactorDetails
-{
- #keys: '[414382.0.482374517]'
- BaseType: 'WebForm'
- Children:
- [
- #child: pnlContent
- #child: pnlActions
- Component DataHolderEditPriorityFactorDetails
- {
- #keys: '[414382.0.482495927]'
- BaseType: 'WebDataHolder'
- Databinding: 'shadow[PriorityFactorDetails]*'
- Properties:
- [
- Taborder: 2
- ]
- }
- ]
- Properties:
- [
- Alignment: 'trailing'
- EnterButton: 'btnOk'
- EscapeButton: 'btnCancel'
- ExcludeFromActiveComponent: true
- Padding: 'false'
- Title: '缂栬緫浼樺厛绾у洜瀛愮粏鍒�'
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def
new file mode 100644
index 0000000..aa8f552
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[412960.0.370310585]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[412960.0.370310589]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[412960.0.370310591]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def
new file mode 100644
index 0000000..8474857
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def
@@ -0,0 +1,83 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[412960.0.370310583]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component editAttributeName
+ {
+ #keys: '[412960.0.370311392]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderGlobalParameters.Data.AttributeName'
+ Label: '鍙傛暟鍚嶇О'
+ Taborder: 1
+ ]
+ }
+ Component editAttributeValue
+ {
+ #keys: '[412960.0.370311429]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderGlobalParameters.Data.AttributeValue'
+ Label: '鍙傛暟鍊�'
+ Taborder: 2
+ ]
+ }
+ Component editAddress
+ {
+ #keys: '[412960.0.370311489]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderGlobalParameters.Data.Address'
+ Label: 'Api鍦板潃'
+ Taborder: 3
+ Visible: false
+ ]
+ }
+ Component editPort
+ {
+ #keys: '[412960.0.370311527]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderGlobalParameters.Data.Port'
+ Label: 'Api绔彛鍙�'
+ Taborder: 4
+ Visible: false
+ ]
+ }
+ Component editPostRequestBody
+ {
+ #keys: '[412960.0.370311577]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderGlobalParameters.Data.PostRequestBody'
+ Label: 'Api璇锋眰涓讳綋'
+ Taborder: 5
+ Visible: false
+ ]
+ }
+ Component IsApi
+ {
+ #keys: '[412960.0.370311617]'
+ BaseType: 'WebCheckbox'
+ Properties:
+ [
+ Description: '鏄惁涓篈PI鐩稿叧鍙傛暟'
+ Label: 'API閰嶇疆'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def
new file mode 100644
index 0000000..afdf6c4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+Method ClickBtnOk () id:Method_DialogGlobalParameters_ClickBtnOk
+{
+ #keys: '[412960.0.370310978]'
+ Body:
+ [*
+ // Disabled button to prevent the possibility of multiple firing
+
+ btnOk.Enabled(false,'');
+
+ // OnOk
+ this.ApplyChanges();
+
+ DataHolderGlobalParameters.Data().Commit();
+
+ this.Close();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def
new file mode 100644
index 0000000..338ca9c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+ GlobalParameters selection
+) id:Method_DialogGlobalParameters_Edit
+{
+ #keys: '[412960.0.370310979]'
+ Body:
+ [*
+ // Edits assumption
+ data := shadow( selection );
+
+ DataHolderGlobalParameters.Data( &data );
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def
new file mode 100644
index 0000000..047b889
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method New (
+ GlobalOTDTable owner
+) id:Method_DialogGlobalParameters_New
+{
+ #keys: '[412960.0.370310981]'
+ Body:
+ [*
+ data := owner.GlobalParameters(relshadow);
+ DataHolderGlobalParameters.Data( &data);
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..ee5b753
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[412960.0.370310595]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..235dbb5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[412960.0.370310594]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.ClickBtnOk()
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def
new file mode 100644
index 0000000..20929e5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pnlContent/IsApi
+Response OnChanged () id:Response_pnlContent_IsApi_OnChanged
+{
+ #keys: '[412960.0.370311653]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebCheckbox_OnChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ editAddress.Visible( this.Checked() );
+ editPort.Visible( this.Checked() );
+ editPostRequestBody.Visible( this.Checked() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def
new file mode 100644
index 0000000..a898ae5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogGlobalParameters
+{
+ #keys: '[412960.0.370310581]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderGlobalParameters
+ {
+ #keys: '[412960.0.370311111]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[GlobalParameters]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Padding: 'false'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def
index f81f38b..7c48b5a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def
@@ -2,7 +2,7 @@
#parent: ListBusinessType
Response OnClick () id:Response_ListBusinessType_MenuNew_OnClick
{
- #keys: '[414382.0.377975353]'
+ #keys: '[412960.0.373110863]'
CanBindMultiple: false
DefinitionID => /ListBusinessType/Responsedef_ListBusinessType_WebMenu_OnClick
GroupServerCalls: true
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
index e0f9eb6..e5b380b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
@@ -41,6 +41,8 @@
]
Properties:
[
+ FixedSize: true
+ Orientation: 'horizontal'
Taborder: 0
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def"
deleted file mode 100644
index 2e992ec..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def"
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: DataHolderChecked_187
-Response OnDataChanged () id:Response_ListPRData_844_DataHolderChecked_OnDataChanged_774
-{
- #keys: '[414384.0.799231412]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
- QuillAction
- {
- Body:
- [*
- //traverse ( this.Data(), Elements, e ) {
- // info( "閫変腑鐨勭墿鏂欏彿锛�", e.MatCode() );
- //}
- *]
- GroupServerCalls: false
- }
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def"
index 20e3571..b844e5a 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def"
@@ -5,13 +5,12 @@
#keys: '[414384.0.798051611]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
- GroupServerCalls: true
QuillAction
{
Body:
[*
- info( "checked 0 PRs" );
DataHolderChecked.Data().Flush();
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def
index 5783a47..4988e05 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def
@@ -7,13 +7,12 @@
#keys: '[414384.0.798051163]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
- GroupServerCalls: true
QuillAction
{
Body:
[*
- info( "checked " + [String]checkeditems.Size() + " PRs" );
DataHolderChecked.Data( checkeditems.Copy() );
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
index b9d8b6e..d189e36 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
@@ -13,7 +13,7 @@
{
Body:
[*
- Application.Download( "PRData.xlsx", PRData::Export( MacroPlan ) );
+ Application.Download( "PRData.xlsx", PRData::ExportTheFileStream( DataHolderChecked.Data() ).AsBinaryData() );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
index 4428575..fd5f58b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_PanelCapacityAllocationResults_Export_OnClick.def
@@ -5,11 +5,15 @@
#keys: '[414702.0.391791234]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDSOP );
+ *]
QuillAction
{
Body:
[*
- Application.Download( "浜ц兘鍒嗛厤缁撴灉.xlsx", CapacityAllocationResults::Export( GlobalOTDTable ).AsBinaryData() );
+ Application.Download( "浜ц兘鍒嗛厤缁撴灉.xlsx", CapacityAllocationResults::Export( GlobalOTDSOP ).AsBinaryData() );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
index 4af954a..1cb79bb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
@@ -12,7 +12,6 @@
Properties:
[
DataType: 'GlobalOTDTable'
- FixedFilter: '[Number]object.YearNo() = Date::ActualDate().Year()'
Source: 'GlobalOTDTable'
Taborder: 0
Transformation: 'Global_MappingAnnualBudgetData'
@@ -29,7 +28,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"YearNo","title":"YearNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"YearNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayTechSort","title":"DisplayTechSort","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayTechSort"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessSort","title":"BusinessSort","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessSort"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductLineAndSpecification","title":"ProductLineAndSpecification","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductLineAndSpecification"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrgCodeFromBom","title":"OrgCodeFromBom","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrgCodeFromBom"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ResolutionRatio","title":"ResolutionRatio","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ResolutionRatio"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShippingForm","title":"ShippingForm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShippingForm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CutsNumber","title":"CutsNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CutsNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityEquivalent","title":"CapacityEquivalent","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityEquivalent"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaskNumber","title":"MaskNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaskNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity1","title":"MonthlyModCapacity1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity2","title":"MonthlyModCapacity2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity3","title":"MonthlyModCapacity3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity4","title":"MonthlyModCapacity4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity5","title":"MonthlyModCapacity5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity6","title":"MonthlyModCapacity6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity7","title":"MonthlyModCapacity7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity8","title":"MonthlyModCapacity8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity9","title":"MonthlyModCapacity9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity10","title":"MonthlyModCapacity10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity11","title":"MonthlyModCapacity11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity12","title":"MonthlyModCapacity12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity1","title":"MonthlySheetCapacity1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity2","title":"MonthlySheetCapacity2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity3","title":"MonthlySheetCapacity3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity4","title":"MonthlySheetCapacity4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity5","title":"MonthlySheetCapacity5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity6","title":"MonthlySheetCapacity6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity7","title":"MonthlySheetCapacity7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity8","title":"MonthlySheetCapacity8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity9","title":"MonthlySheetCapacity9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity10","title":"MonthlySheetCapacity10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity11","title":"MonthlySheetCapacity11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity12","title":"MonthlySheetCapacity12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales1","title":"MonthlySales1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales2","title":"MonthlySales2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales3","title":"MonthlySales3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales4","title":"MonthlySales4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales5","title":"MonthlySales5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales6","title":"MonthlySales6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales7","title":"MonthlySales7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales8","title":"MonthlySales8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales9","title":"MonthlySales9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales10","title":"MonthlySales10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales11","title":"MonthlySales11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales12","title":"MonthlySales12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales12"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"YearNo","title":"YearNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"YearNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayTechSort","title":"DisplayTechSort","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayTechSort"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessSort","title":"BusinessSort","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessSort"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductLineAndSpecification","title":"ProductLineAndSpecification","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductLineAndSpecification"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrgCodeFromBom","title":"OrgCodeFromBom","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrgCodeFromBom"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ResolutionRatio","title":"ResolutionRatio","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ResolutionRatio"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShippingForm","title":"ShippingForm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShippingForm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CutsNumber","title":"CutsNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CutsNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityEquivalent","title":"CapacityEquivalent","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityEquivalent"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaskNumber","title":"MaskNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaskNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity1","title":"MonthlyModCapacity1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity2","title":"MonthlyModCapacity2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity3","title":"MonthlyModCapacity3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity4","title":"MonthlyModCapacity4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity5","title":"MonthlyModCapacity5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity6","title":"MonthlyModCapacity6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity7","title":"MonthlyModCapacity7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity8","title":"MonthlyModCapacity8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity9","title":"MonthlyModCapacity9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity10","title":"MonthlyModCapacity10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity11","title":"MonthlyModCapacity11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlyModCapacity12","title":"MonthlyModCapacity12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlyModCapacity12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity1","title":"MonthlySheetCapacity1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity2","title":"MonthlySheetCapacity2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity3","title":"MonthlySheetCapacity3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity4","title":"MonthlySheetCapacity4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity5","title":"MonthlySheetCapacity5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity6","title":"MonthlySheetCapacity6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity7","title":"MonthlySheetCapacity7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity8","title":"MonthlySheetCapacity8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity9","title":"MonthlySheetCapacity9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity10","title":"MonthlySheetCapacity10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity11","title":"MonthlySheetCapacity11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySheetCapacity12","title":"MonthlySheetCapacity12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySheetCapacity12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales1","title":"MonthlySales1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales2","title":"MonthlySales2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales3","title":"MonthlySales3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales4","title":"MonthlySales4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales5","title":"MonthlySales5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales6","title":"MonthlySales6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales7","title":"MonthlySales7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales8","title":"MonthlySales8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales9","title":"MonthlySales9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales10","title":"MonthlySales10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales11","title":"MonthlySales11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MonthlySales12","title":"MonthlySales12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MonthlySales12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCode"}}]'
ContextMenu: 'listContextMenuCapacityAndSaleBudge'
SortCriteria: 'BusinessSort;OrganCode;ProductID'
Taborder: 2
@@ -38,6 +37,6 @@
]
Properties:
[
- Taborder: 2
+ Taborder: 1
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_pButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_pButton.def
new file mode 100644
index 0000000..427fcd9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_pButton.def
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+Component pButton
+{
+ #keys: '[414702.1.268476564]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonGenerateTestData id:ButtonGenerateTestData_136
+ {
+ #keys: '[414702.1.266041306]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ARROW_CIRCLE2'
+ Label: '鍒锋柊绛涢�夋暟鎹�'
+ Taborder: 0
+ ]
+ }
+ Component ButtonExportDetail id:ButtonExportDetail_97
+ {
+ #keys: '[414702.1.266041310]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Label: '瀵煎嚭'
+ Taborder: 2
+ ]
+ }
+ Component ButtonCreateData
+ {
+ #keys: '[414702.1.266042204]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ICE_CREAM'
+ Label: '鐢熸垚鏁版嵁'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def
deleted file mode 100644
index e09f8c8..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportDetail_OnClick.def
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonExportDetail
-Response OnClick () id:Response_FormCapacityAndSaleBudge_ButtonExportDetail_OnClick
-{
- #keys: '[414384.0.887310502]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- Precondition:
- [*
- return not isnull( GlobalOTDTable );
- *]
- QuillAction
- {
- Body:
- [*
- //Application.Download( "骞村害浜ч攢棰勭畻璇︽儏.xlsx", MPSync.CapacityAndSaleBudgeExport().AsBinaryData() );
-
- base64 := Global_MappingAnnualBudgetData::Export( GlobalOTDTable );
- Application.Download( "骞村害浜ч攢棰勭畻璇︽儏.xlsx", base64 );
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def
deleted file mode 100644
index 7b8522f..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonGenerateTestData_OnClick.def
+++ /dev/null
@@ -1,25 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonGenerateTestData
-Response OnClick () id:Response_FormCapacityAndSaleBudge_ButtonGenerateTestData_OnClick
-{
- #keys: '[414384.0.971540692]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- Precondition:
- [*
- return not isnull( MacroPlan );
- *]
- QuillAction
- {
- Body:
- [*
- GlobalOTDTable.InitTestDataByYear( MacroPlan, DataHolderCapacityAndSaleBudgeFilterYear.Data() );
- Global_MappingAnnualBudgetData::SetOrgCodeFromForecast( GlobalOTDTable );
- GlobalOTDSOP::RefreshCapacityAndSaleBudgeFilter( true, GlobalOTDTable, GlobalOTDSOP );
- CapacityAndSaleBudgeFilterItem::Initial( GlobalOTDSOP );
- CapacityAndSaleBudgeFilterYear::Initial( GlobalOTDSOP );
- CapacityAndSaleBudgeFilterMonth::Initial( GlobalOTDSOP );
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def
new file mode 100644
index 0000000..7b3ca1a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonCreateData_OnClick.def
@@ -0,0 +1,34 @@
+Quintiq file version 2.0
+#parent: pButton/ButtonCreateData
+Response OnClick () id:Response_pButton_ButtonCreateData_OnClick
+{
+ #keys: '[414702.1.266042218]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDSOP ) and not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ option := WebMessageBox::Question( "璇烽�夋嫨鏁版嵁婧�", "鏁版嵁婀東娴嬭瘯鏁版嵁|鍙栨秷" );
+
+ if ( option = 0 ) {
+ WebMessageBox::Success( "寮�濮嬫媺鍙栦腑锛岃鏌ョ湅鎷夊彇鏃ュ織", true );
+ Global_MappingAnnualBudgetData::CreateData( GlobalOTDTable, ApplicationMacroPlanner.GetUserName() );
+ } else if ( option = 1 ) {
+ if ( DataHolderCheckedProduct.Data().Size() = 0 ) {
+ WebMessageBox::Error( "璇峰厛鍦ㄥ乏渚у鑸爮閫夋嫨瑕佺敓鎴愭祴璇曟暟鎹殑浜у搧锛�", true );
+ } else {
+ GlobalOTDTable.CreateCapacityAndSaleBudgeTestData( GlobalOTDSOP,
+ GlobalOTDTable,
+ DataHolderCapacityAndSaleBudgeFilterYear.Data(),
+ DataHolderCheckedProduct.Data() );
+ }
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonExportDetail_OnClick\043971.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonExportDetail_OnClick\043971.def"
new file mode 100644
index 0000000..faf0bf7
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonExportDetail_OnClick\043971.def"
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: pButton/ButtonExportDetail_97
+Response OnClick () id:Response_FormCapacityAndSaleBudge_ButtonExportDetail_OnClick_971
+{
+ #keys: '[414702.1.266041309]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ //Application.Download( "骞村害浜ч攢棰勭畻璇︽儏.xlsx", MPSync.CapacityAndSaleBudgeExport().AsBinaryData() );
+
+ base64 := Global_MappingAnnualBudgetData::Export( GlobalOTDTable );
+ Application.Download( "骞村害浜ч攢棰勭畻璇︽儏.xlsx", base64 );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick\04319.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick\04319.def"
new file mode 100644
index 0000000..c2f17ad
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_pButton_ButtonGenerateTestData_OnClick\04319.def"
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: pButton/ButtonGenerateTestData_136
+Response OnClick () id:Response_FormCapacityAndSaleBudge_ButtonGenerateTestData_OnClick_19
+{
+ #keys: '[414702.1.266041305]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan ) and not isnull( GlobalOTDSOP ) and not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ CapacityAndSaleBudgeFilterBusinessType::InitializedData( GlobalOTDSOP, GlobalOTDTable );
+ CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::InitializedData( GlobalOTDSOP, GlobalOTDTable );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def
index 7c799db..95e899e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def
@@ -8,28 +8,7 @@
Children:
[
#child: ListCapacityAndSaleBudge
- Component ButtonExportDetail
- {
- #keys: '[414384.0.887310503]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'EXPORT1'
- Label: '瀵煎嚭'
- Taborder: 1
- ]
- }
- Component ButtonGenerateTestData
- {
- #keys: '[414384.0.971540693]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'IMPORT1'
- Label: '鏍规嵁绛涢�夊勾浠界敓鎴愭祴璇曟暟鎹�'
- Taborder: 0
- ]
- }
+ #child: pButton
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def
index 8c71c5c..09249e2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def
@@ -80,6 +80,7 @@
Properties:
[
ContextMenu: 'chartContextMenuCapacityAndSaleBudge'
- Taborder: 7
+ Taborder: 4
+ Title: '骞村害浜ч攢棰勭畻澶嶇洏'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_pFilterCriteria.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_pFilterCriteria.def
new file mode 100644
index 0000000..4ab0d20
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_pFilterCriteria.def
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component pFilterCriteria
+{
+ #keys: '[414702.1.277336951]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component DropDownByBusinessTypeOrByOrgCode id:DropDownByBusinessTypeOrByOrgCode_549
+ {
+ #keys: '[414702.1.277808126]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '鏍规嵁闈㈡澘鍩哄湴/浜嬩笟閮ㄥ垎缁�'
+ Strings: '闈㈡澘鍩哄湴;浜嬩笟閮�'
+ Taborder: 1
+ ]
+ }
+ Component DropDownTimeGroup id:DropDownTimeGroup_593
+ {
+ #keys: '[414702.1.277808195]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '鏃堕棿鍒嗙粍'
+ Strings: '鏈�;瀛e害;鍗婂勾;骞�'
+ Taborder: 2
+ ]
+ }
+ Component DropDownSaleOrCapacity id:DropDownSaleOrCapacity_715
+ {
+ #keys: '[414702.1.277808264]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '浜ц兘/閿�鍞'
+ Strings: '浜ц兘;閿�鍞'
+ Taborder: 3
+ ]
+ }
+ Component ButtonCapacityAndSaleBudgeChartTest id:ButtonCapacityAndSaleBudgeChartTest_844
+ {
+ #keys: '[414702.1.277808330]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'PRESENTATION_CHART'
+ Label: '鐢熸垚鍥捐〃'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def
deleted file mode 100644
index cbd7ff2..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def
+++ /dev/null
@@ -1,26 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonCapacityAndSaleBudgeChartTest
-Response OnClick () id:Response_FormCapacityAndSaleBudgeChart_ButtonCapacityAndSaleBudgeChartTest_OnClick
-{
- #keys: '[414384.0.857443403]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
- QuillAction
- {
- Body:
- [*
- //CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable );
-
- GlobalOTDSOP.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(),
- DropDownSaleOrCapacity.Text(),
- DropDownTimeGroup.Text(),
- DropDownByBusinessTypeOrByOrgCode.Text(),
- DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(),
- DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(),
- DataHolderCapacityAndSaleBudgeFilterYear.Data(),
- DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
- GlobalOTDTable );
- *]
- }
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick\043603.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick\043603.def"
new file mode 100644
index 0000000..8ff52d7
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_pFilterCriteria_ButtonCapacityAndSaleBudgeChartTest_OnClick\043603.def"
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#parent: pFilterCriteria/ButtonCapacityAndSaleBudgeChartTest_844
+Response OnClick () id:Response_FormCapacityAndSaleBudgeChart_ButtonCapacityAndSaleBudgeChartTest_OnClick_603
+{
+ #keys: '[414702.1.277808329]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ targetCapacityAndSaleBudgeFilterItem := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterItem, tempCASBFI,
+ exists( DataHolderCapacityAndSaleBudgeFilterItem.Data(), Elements, tempCASBFI1, tempCASBFI1 = tempCASBFI ) );
+
+ targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA,
+ exists( DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), Elements, tempCASBFPOPOA1, tempCASBFPOPOA1 = tempCASBFPOPOA ) );
+
+ targetCapacityAndSaleBudgeFilterBusinessType := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT,
+ exists( DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), Elements, tempCASBFBT1, tempCASBFBT1 = tempCASBFBT ) );
+
+ targetCapacityAndSaleBudgeFilterYear := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY,
+ exists( DataHolderCapacityAndSaleBudgeFilterYear.Data(), Elements, tempCASBFY1, tempCASBFY1 = tempCASBFY ) );
+
+ targetCapacityAndSaleBudgeFilterMonth := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterMonth, tempCASBFM,
+ exists( DataHolderCapacityAndSaleBudgeFilterMonth.Data(), Elements, tempCASBFM1, tempCASBFM1 = tempCASBFM ) );
+
+ GlobalOTDSOP.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(),
+ DropDownSaleOrCapacity.Text(),
+ DropDownTimeGroup.Text(),
+ DropDownByBusinessTypeOrByOrgCode.Text(),
+ &targetCapacityAndSaleBudgeFilterItem,
+ &targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray,
+ &targetCapacityAndSaleBudgeFilterBusinessType,
+ &targetCapacityAndSaleBudgeFilterYear,
+ &targetCapacityAndSaleBudgeFilterMonth,
+ GlobalOTDTable
+ );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def
index 237e0c6..56d70aa 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def
@@ -8,16 +8,6 @@
Children:
[
#child: ChartCapacityAndSaleBudgeChart
- Component ButtonCapacityAndSaleBudgeChartTest
- {
- #keys: '[414384.0.857443217]'
- BaseType: 'WebButton'
- Properties:
- [
- Label: '鐢熸垚'
- Taborder: 6
- ]
- }
Component DropDownYears
{
#keys: '[414384.0.857740648]'
@@ -25,7 +15,7 @@
Properties:
[
Label: '骞翠唤'
- Taborder: 2
+ Taborder: 0
Visible: false
]
}
@@ -37,7 +27,7 @@
[
AllowEmpty: true
Label: '浜嬩笟閮�'
- Taborder: 3
+ Taborder: 1
Visible: false
]
}
@@ -49,46 +39,11 @@
[
AllowEmpty: true
Label: '闈㈡澘鍩哄湴'
- Taborder: 4
+ Taborder: 2
Visible: false
]
}
- Component DropDownTimeGroup
- {
- #keys: '[414384.0.857771238]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- InitialValue: '鏈�'
- Label: '鏃堕棿鍒嗙粍'
- Strings: '鏈�;瀛e害;鍗婂勾;骞�'
- Taborder: 1
- ]
- }
- Component DropDownByBusinessTypeOrByOrgCode
- {
- #keys: '[414384.0.857702904]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- InitialValue: '浜嬩笟閮�'
- Label: '鏍规嵁闈㈡澘鍩哄湴/浜嬩笟閮ㄥ垎缁�'
- Strings: '闈㈡澘鍩哄湴;浜嬩笟閮�'
- Taborder: 0
- ]
- }
- Component DropDownSaleOrCapacity
- {
- #keys: '[414384.0.886240556]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- InitialValue: '閿�鍞'
- Label: '閿�鍞/浜ц兘'
- Strings: '閿�鍞;浜ц兘'
- Taborder: 5
- ]
- }
+ #child: pFilterCriteria
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def
index d59a144..2666de7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def
@@ -93,6 +93,6 @@
ContextMenu: 'matrixeditorContextMenuCapacityAndSaleBudgeCompare'
Editable: false
Rows: 'MatrixEditorRowsCapacityAndSaleBudgeCompare'
- Taborder: 2
+ Taborder: 1
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_pButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_pButton.def
new file mode 100644
index 0000000..9c37840
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_pButton.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+Component pButton
+{
+ #keys: '[414702.1.272379026]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonCapacityAndSaleBudgeCompare id:ButtonCapacityAndSaleBudgeCompare_956
+ {
+ #keys: '[414702.1.272313474]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'COCKTAIL'
+ Label: '鍒锋柊'
+ Taborder: 0
+ ]
+ }
+ Component ButtonExportCompare id:ButtonExportCompare_364
+ {
+ #keys: '[414702.1.269961255]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Label: '瀵煎嚭'
+ Taborder: 1
+ ]
+ }
+ Component Image116
+ {
+ #keys: '[414702.1.375948796]'
+ BaseType: 'WebImage'
+ Properties:
+ [
+ Image: 'CHECK'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Method_CreateCapacityAndSaleBudgeCompareData.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Method_CreateCapacityAndSaleBudgeCompareData.def
new file mode 100644
index 0000000..209916a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Method_CreateCapacityAndSaleBudgeCompareData.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+#parent: #root
+Method CreateCapacityAndSaleBudgeCompareData () id:Method_FormCapacityAndSaleBudgeCompare_CreateCapacityAndSaleBudgeCompareData
+{
+ #keys: '[414702.1.376413209]'
+ Body:
+ [*
+ targetCapacityAndSaleBudgeFilterItem := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterItem, tempCASBFI,
+ exists( DataHolderCapacityAndSaleBudgeFilterItem.Data(), Elements, tempCASBFI1, tempCASBFI1 = tempCASBFI ) );
+
+ targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, tempCASBFPOPOA,
+ exists( DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), Elements, tempCASBFPOPOA1, tempCASBFPOPOA1 = tempCASBFPOPOA ) );
+
+ targetCapacityAndSaleBudgeFilterBusinessType := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterBusinessType, tempCASBFBT,
+ exists( DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), Elements, tempCASBFBT1, tempCASBFBT1 = tempCASBFBT ) );
+
+ targetCapacityAndSaleBudgeFilterYear := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterYear, tempCASBFY,
+ exists( DataHolderCapacityAndSaleBudgeFilterYear.Data(), Elements, tempCASBFY1, tempCASBFY1 = tempCASBFY ) );
+
+ targetCapacityAndSaleBudgeFilterMonth := selectset( GlobalOTDSOP, CapacityAndSaleBudgeFilterMonth, tempCASBFM,
+ exists( DataHolderCapacityAndSaleBudgeFilterMonth.Data(), Elements, tempCASBFM1, tempCASBFM1 = tempCASBFM ) );
+
+
+ //GlobalOTDSOP.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(),
+ // targetCapacityAndSaleBudgeFilterItem,
+ // targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray,
+ // targetCapacityAndSaleBudgeFilterBusinessType,
+ // targetCapacityAndSaleBudgeFilterYear,
+ // targetCapacityAndSaleBudgeFilterMonth,
+ // GlobalOTDTable );
+
+ GlobalOTDSOP.AsyncCapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(),
+ targetCapacityAndSaleBudgeFilterItem,
+ targetCapacityAndSaleBudgeFilterPlaceOfProductionOfArray,
+ targetCapacityAndSaleBudgeFilterBusinessType,
+ targetCapacityAndSaleBudgeFilterYear,
+ targetCapacityAndSaleBudgeFilterMonth,
+ GlobalOTDTable );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def
deleted file mode 100644
index 7f559d2..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonCapacityAndSaleBudgeCompare
-Response OnClick () id:Response_FormCapacityAndSaleBudgeCompare_ButtonCapacityAndSaleBudgeCompare_OnClick
-{
- #keys: '[414384.0.818241703]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
- QuillAction
- {
- Body:
- [*
- info( DataHolderMacroPlansForScenarioComparison.Data().Size() );
- info( DataHolderCapacityAndSaleBudgeFilterItem.Data().Size() );
- info( DataHolderCapacityAndSaleBudgeFilterYear.Data().Size() );
- info( DataHolderCapacityAndSaleBudgeFilterMonth.Data().Size() );
- GlobalOTDSOP.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(),
- DataHolderCapacityAndSaleBudgeFilterItem.Data(),
- DataHolderCapacityAndSaleBudgeFilterYear.Data(),
- DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
- GlobalOTDTable );
- *]
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def
deleted file mode 100644
index f98be27..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: ButtonExportCompare
-Response OnClick () id:Response_FormCapacityAndSaleBudgeCompare_ButtonExportCompare_OnClick
-{
- #keys: '[414384.0.881345276]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- Precondition:
- [*
- return not isnull( GlobalOTDTable );
- *]
- QuillAction
- {
- Body:
- [*
- Application.Download( "骞村害浜ч攢棰勭畻瀵规瘮.xlsx", GlobalOTDSOP.CapacityAndSaleBudgeCompareExport().AsBinaryData() );
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_dhStatus_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_dhStatus_OnDataChanged.def
new file mode 100644
index 0000000..3b2161a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_dhStatus_OnDataChanged.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: dhStatus
+Response OnDataChanged () id:Response_FormCapacityAndSaleBudgeCompare_dhStatus_OnDataChanged
+{
+ #keys: '[414702.1.383710704]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ if ( guard( this.Data().RunSataus() = 1, false ) ) {
+ ButtonCapacityAndSaleBudgeCompare.Enabled( false, "姝e湪杩愯" );
+ Image116.Image( "MEDIA_PLAY_GREEN" );
+ } else if ( guard( this.Data().RunSataus() = 0, false ) ) {
+ ButtonCapacityAndSaleBudgeCompare.Enabled( true, "姝e湪杩愯" );
+ Image116.Image( "CHECK" );
+ } else {
+ ButtonCapacityAndSaleBudgeCompare.Enabled( true, "姝e湪杩愯" );
+ Image116.Image( "CHECK" );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick\043231.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick\043231.def"
new file mode 100644
index 0000000..3e8cd8f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonCapacityAndSaleBudgeCompare_OnClick\043231.def"
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pButton/ButtonCapacityAndSaleBudgeCompare_956
+Response OnClick () id:Response_FormCapacityAndSaleBudgeCompare_ButtonCapacityAndSaleBudgeCompare_OnClick_231
+{
+ #keys: '[414702.1.272313473]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relflush );
+ GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relnew, RunSataus := 1 );
+
+ Form.CreateCapacityAndSaleBudgeCompareData();
+
+ //GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relflush );
+ //GlobalOTDSOP.CapacityAndSaleBudgeRunStatus( relnew, RunStatus := 0 );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonExportCompare_OnClick\043325.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonExportCompare_OnClick\043325.def"
new file mode 100644
index 0000000..1dbc159
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_pButton_ButtonExportCompare_OnClick\043325.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: pButton/ButtonExportCompare_364
+Response OnClick () id:Response_FormCapacityAndSaleBudgeCompare_ButtonExportCompare_OnClick_325
+{
+ #keys: '[414702.1.269961254]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ Application.Download( "骞村害浜ч攢棰勭畻瀵规瘮.xlsx", GlobalOTDSOP.CapacityAndSaleBudgeCompareExport().AsBinaryData() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def
index d44643f..fd88e20 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def
@@ -8,25 +8,30 @@
Children:
[
#child: MatrixEditorCapacityAndSaleBudgeCompare
- Component ButtonCapacityAndSaleBudgeCompare
+ #child: pButton
+ Component dhStatus
{
- #keys: '[414384.0.818241675]'
- BaseType: 'WebButton'
- Properties:
+ #keys: '[414702.1.386200525]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'CapacityAndSaleBudgeRunStatus'
+ Children:
[
- Label: '鍒锋柊'
- Taborder: 0
+ Component deStatus
+ {
+ #keys: '[414702.1.386200546]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDSOP'
+ Source: 'GlobalOTDSOP'
+ Taborder: 0
+ Transformation: 'CapacityAndSaleBudgeRunStatus'
+ ]
+ }
]
- }
- Component ButtonExportCompare
- {
- #keys: '[414384.0.881345277]'
- BaseType: 'WebButton'
Properties:
[
- Image: 'EXPORT1'
- Label: '瀵煎嚭'
- Taborder: 1
+ Taborder: 2
]
}
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def
new file mode 100644
index 0000000..5d461bc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FormCapacityAndSaleBudgeFilterItem_OnCreated
+{
+ #keys: '[414702.1.353022415]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ CapacityAndSaleBudgeFilterItem::InitializedData( GlobalOTDSOP );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def
new file mode 100644
index 0000000..c376f47
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FormCapacityAndSaleBudgeFilterMonth_OnCreated
+{
+ #keys: '[414702.1.353022171]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ CapacityAndSaleBudgeFilterMonth::InitializedData( GlobalOTDSOP );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh\043171.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh\043171.def"
index f254f69..9e21db8 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh\043171.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh\043171.def"
@@ -5,12 +5,12 @@
#keys: '[414384.0.875704514]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
- GroupServerCalls: true
QuillAction
{
Body:
[*
- DataHolderCapacityAndSaleBudgeFilterYear.Data().Flush();
+ DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data().Flush();
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def
index 5d9bdf7..86b3523 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def
@@ -1,18 +1,18 @@
Quintiq file version 2.0
#parent: ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
Response OnUserCheckedChanged (
- structured[CapacityAndSaleBudgeFilterYear] checkeditems
+ structured[CapacityAndSaleBudgeFilterPlaceOfProductionOfArray] checkeditems
) id:Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCheckedChanged
{
#keys: '[414384.0.875704513]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
- GroupServerCalls: true
QuillAction
{
Body:
[*
- DataHolderCapacityAndSaleBudgeFilterYear.Data( checkeditems.Copy() );
+ DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data( checkeditems.Copy() );
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def
new file mode 100644
index 0000000..8523243
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FormCapacityAndSaleBudgeFilterYear_OnCreated
+{
+ #keys: '[414702.1.353022002]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ CapacityAndSaleBudgeFilterYear::InitializedData( GlobalOTDSOP );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSDIP.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSDIP.def
new file mode 100644
index 0000000..6d09b78
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSDIP.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component ListSDIP #extension
+{
+ Children:
+ [
+ Component DataExtractorSDIP #extension
+ {
+ Properties:
+ [
+ FixedFilter: 'object.ProductInStockingPoint_MP().Product_MP().IsLeaf()and isnull( object.OriginalSalesDemand() )'
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSDIP.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSDIP.def
new file mode 100644
index 0000000..3d7315d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSDIP.def
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+Component PanelSDIP #extension
+{
+ Children:
+ [
+ #child: ListSDIP
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def
index 14acdde..15028ad 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_PanelSalesDemands.def
@@ -4,5 +4,6 @@
Children:
[
#child: PanelAllSalesDemands
+ #child: PanelSDIP
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def
index 4d52db8..c543e5d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def
@@ -9,7 +9,7 @@
BaseType: 'WebMenu'
Properties:
[
- Taborder: 10
+ Taborder: 11
Title: '浜嬩笟閮ㄤ紭鍏堢骇璁$畻'
]
}
@@ -19,9 +19,41 @@
BaseType: 'WebMenu'
Properties:
[
- Taborder: 11
+ Taborder: 12
Title: '淇敼瀹㈡埛璁㈠崟浼樺厛绾у洜瀛愪俊鎭�'
]
}
+ Component MenuSpliteOrder
+ {
+ #keys: '[414724.0.284248096]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Description: '璁㈠崟鎷嗚'
+ Image: 'ARROW_FORK'
+ Taborder: 14
+ Title: '鎷嗚'
+ ]
+ }
+ Component Menu189
+ {
+ #keys: '[414724.0.314997570]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Separator: true
+ Taborder: 13
+ ]
+ }
+ Component MenuSyncInterfaceData
+ {
+ #keys: '[414996.0.32330708]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Taborder: 10
+ Title: '鍚屾鎺ュ彛鏁版嵁鍒癈ustomer orders'
+ ]
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuSpliteOrder_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuSpliteOrder_OnClick.def
new file mode 100644
index 0000000..3274d3e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuSpliteOrder_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: ListSalesDemands
+Response OnClick (
+ SalesDemandBase selection
+) id:Response_ListSalesDemands_MenuSpliteOrder_OnClick
+{
+ #keys: '[414724.0.284211940]'
+ CanBindMultiple: false
+ DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick
+ Initiator: 'MenuSpliteOrder'
+ QuillAction
+ {
+ Body:
+ [*
+ data := selection.astype( CustomerOrder );
+ frmOrderSplite := construct( FrmCustomOrderSpliteRow );
+ frmOrderSplite.dh_Paramer_FCOS().Data( data);
+ frmOrderSplite.ShowModal();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_listContextMenuSD_MenuSyncInterfaceData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_listContextMenuSD_MenuSyncInterfaceData_OnClick.def
new file mode 100644
index 0000000..2a411b7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_listContextMenuSD_MenuSyncInterfaceData_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: listContextMenuSD/MenuSyncInterfaceData
+Response OnClick () id:Response_TIANMA_JITUAN_listContextMenuSD_MenuSyncInterfaceData_OnClick
+{
+ #keys: '[414996.0.32370756]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Global_MappingCustomOrder::CreateCustomOrder( GlobalOTDTable,MacroPlan );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_ListDataInterfaceLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_ListDataInterfaceLog.def
new file mode 100644
index 0000000..86db130
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_ListDataInterfaceLog.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListDataInterfaceLog
+{
+ #keys: '[414702.1.239680981]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorDataInterfaceLog
+ {
+ #keys: '[414702.1.239680982]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDLog'
+ Source: 'GlobalOTDLog'
+ Taborder: 0
+ Transformation: 'DataInterfaceLog'
+ ]
+ }
+ #child: listActionBarPageDataInterfaceLog
+ Component DataSetLevelDataInterfaceLog
+ {
+ #keys: '[414702.1.239680987]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuDataInterfaceLog
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgExecuteStatus","title":"ImgExecuteStatus","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgExecuteStatus"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Message","title":"鏃ュ織淇℃伅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Message"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CreateDate","title":"鍒涘缓鏃堕棿","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CreateDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorNo","title":"閿欒鍙�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorMessage","title":"閿欒娑堟伅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorMessage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ExecuteUser","title":"鎵ц鐢ㄦ埛","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ExecuteUser"}}]'
+ ContextMenu: 'listContextMenuDataInterfaceLog'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 3
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListDataInterfaceLog_WebMenu_OnClick
+ {
+ #keys: '[414702.1.241608270]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[517.0.24916696]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel1.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel1.def
new file mode 100644
index 0000000..fddea3f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel1.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component Panel1
+{
+ #keys: '[414702.1.241718154]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonGenerateProductCategory id:ButtonGenerateProductCategory_943
+ {
+ #keys: '[414702.1.245048887]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'TELEPHONE2'
+ Label: '鏍规嵁浜嬩笟閮ㄧ敓鎴愪骇鍝佸垎绫�'
+ Taborder: 0
+ ]
+ }
+ Component Button1 id:Button1_838
+ {
+ #keys: '[414702.1.247625600]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BRUSH2'
+ Label: '鏍规嵁浜у搧ID鐢熸垚ProductInLine鍒嗙被'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel3.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel3.def
new file mode 100644
index 0000000..41ba37e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel3.def
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+Component Panel3
+{
+ #keys: '[414702.1.247664260]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component Button2 id:Button2_925
+ {
+ #keys: '[414702.1.242541029]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'INDUSTRIAL_ROBOT'
+ Label: '鏍规嵁浜у搧ID鐢熸垚StockingPoingCost鍒嗙被'
+ Taborder: 0
+ ]
+ }
+ Component Button3 id:Button3_414
+ {
+ #keys: '[414702.1.247559425]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BANANA'
+ Label: '鏍规嵁浜у搧ID鐢熸垚MAPISPIP鍒嗙被'
+ Taborder: 1
+ ]
+ }
+ Component Button4 id:Button4_433
+ {
+ #keys: '[414702.1.247870242]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BEER_GLASS'
+ Label: '鏍规嵁浜у搧ID鐢熸垚InventorySupply鍒嗙被'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel4\0432.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel4\0432.def"
new file mode 100644
index 0000000..17b69a8
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_Panel4\0432.def"
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component Panel4
+{
+ #keys: '[414702.1.246784986]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component Button5 id:Button5_56
+ {
+ #keys: '[414702.1.247191910]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BROOM'
+ Label: '娓呯┖鍒嗙被'
+ Taborder: 1
+ ]
+ }
+ Component ButtonDeleteMappingData id:ButtonDeleteMappingData_928
+ {
+ #keys: '[414702.1.247703528]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'GARBAGE'
+ Label: '鍒犻櫎鎵�鏈変腑闂磋〃鏁版嵁'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 2
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listActionBarPageDataInterfaceLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listActionBarPageDataInterfaceLog.def
new file mode 100644
index 0000000..99182f0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listActionBarPageDataInterfaceLog.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageDataInterfaceLog
+{
+ #keys: '[414702.1.239680984]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listContextMenuDataInterfaceLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listContextMenuDataInterfaceLog.def
new file mode 100644
index 0000000..e774933
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Component_listContextMenuDataInterfaceLog.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component listContextMenuDataInterfaceLog
+{
+ #keys: '[414702.1.239680989]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuDelete
+ {
+ #keys: '[414702.1.241377626]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 3
+ Title: '鍒犻櫎'
+ ]
+ }
+ Component MenuSelectionAll
+ {
+ #keys: '[414702.1.239663154]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 4
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuDelete_OnClick.def
new file mode 100644
index 0000000..852a007
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuDelete_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListDataInterfaceLog
+Response OnClick (
+ DataInterfaceLog selection
+) id:Response_ListDataInterfaceLog_MenuDelete_OnClick
+{
+ #keys: '[414702.1.239692167]'
+ DefinitionID => /ListDataInterfaceLog/Responsedef_ListDataInterfaceLog_WebMenu_OnClick
+ Initiator: 'MenuDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ selection.Delete();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..e10569b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_ListDataInterfaceLog_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListDataInterfaceLog
+Response OnClick () id:Response_ListDataInterfaceLog_MenuSelectionAll_OnClick
+{
+ #keys: '[414702.1.241718079]'
+ CanBindMultiple: false
+ DefinitionID => /ListDataInterfaceLog/Responsedef_ListDataInterfaceLog_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_Button1_OnClick\043673.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_Button1_OnClick\043673.def"
new file mode 100644
index 0000000..12c6088
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_Button1_OnClick\043673.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: Panel1/Button1_838
+Response OnClick () id:Response_FormInterfaceTest_Button1_OnClick_673
+{
+ #keys: '[414702.1.247625599]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "浠诲姟寮�濮嬫墽琛岋紝浠呴檺涓�浜烘搷浣滐紒", true );
+
+ id := DataInterfaceLog::Create( GlobalOTDLog, guard( ApplicationMacroPlanner.GetUserName(), "璐﹀彿寮傚父" ), "鐢熸垚浜у搧鍦ㄨ溅閬撳垎绫�" );
+
+ Global_ProductInLineCategory::Create( GlobalOTDTable, id );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_ButtonGenerateProductCategory_OnClick\043902.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_ButtonGenerateProductCategory_OnClick\043902.def"
new file mode 100644
index 0000000..0cd4107
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel1_ButtonGenerateProductCategory_OnClick\043902.def"
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: Panel1/ButtonGenerateProductCategory_943
+Response OnClick () id:Response_Panel1_ButtonGenerateProductCategory_OnClick_902
+{
+ #keys: '[414702.1.245048886]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "浠诲姟寮�濮嬫墽琛岋紝浠呴檺涓�浜烘搷浣滐紒", true );
+
+ id := DataInterfaceLog::Create( GlobalOTDLog, guard( ApplicationMacroPlanner.GetUserName(), "璐﹀彿寮傚父" ), "鐢熸垚浜у搧鍒嗙被" );
+
+ Global_ProductCategory::Create( GlobalOTDTable, id );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button2_OnClick\043836.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button2_OnClick\043836.def"
new file mode 100644
index 0000000..624401b
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button2_OnClick\043836.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: Panel3/Button2_925
+Response OnClick () id:Response_FormInterfaceTest_Button2_OnClick_836
+{
+ #keys: '[414702.1.242541028]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "浠诲姟寮�濮嬫墽琛岋紝浠呴檺涓�浜烘搷浣滐紒", true );
+
+ id := DataInterfaceLog::Create( GlobalOTDLog, guard( ApplicationMacroPlanner.GetUserName(), "璐﹀彿寮傚父" ), "鐢熸垚搴撳瓨鎴愭湰鍒嗙被" );
+
+ Global_StockingPointCostCategory::Create( GlobalOTDTable, id );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button3_OnClick\043918.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button3_OnClick\043918.def"
new file mode 100644
index 0000000..b1d0783
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button3_OnClick\043918.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: Panel3/Button3_414
+Response OnClick () id:Response_FormInterfaceTest_Button3_OnClick_918
+{
+ #keys: '[414702.1.247559424]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "浠诲姟寮�濮嬫墽琛岋紝浠呴檺涓�浜烘搷浣滐紒", true );
+
+ id := DataInterfaceLog::Create( GlobalOTDLog, guard( ApplicationMacroPlanner.GetUserName(), "璐﹀彿寮傚父" ), "鐢熸垚瀹為檯搴撳瓨鍒嗙被" );
+
+ Global_MAPISPIPCategory::Create( GlobalOTDTable, id );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button4_OnClick\043249.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button4_OnClick\043249.def"
new file mode 100644
index 0000000..9bfb3dd
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel3_Button4_OnClick\043249.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: Panel3/Button4_433
+Response OnClick () id:Response_FormInterfaceTest_Button4_OnClick_249
+{
+ #keys: '[414702.1.247870241]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "浠诲姟寮�濮嬫墽琛岋紝浠呴檺涓�浜烘搷浣滐紒", true );
+
+ id := DataInterfaceLog::Create( GlobalOTDLog, guard( ApplicationMacroPlanner.GetUserName(), "璐﹀彿寮傚父" ), "鐢熸垚澶栭儴搴撳瓨鍒嗙被" );
+
+ Global_InventorySupplyCategory::Create( GlobalOTDTable, id );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_Button5_OnClick\043605.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_Button5_OnClick\043605.def"
new file mode 100644
index 0000000..7800712
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_Button5_OnClick\043605.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: Panel4/Button5_56
+Response OnClick () id:Response_Panel4_Button5_OnClick_605
+{
+ #keys: '[414702.1.247191909]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "浠诲姟寮�濮嬫墽琛岋紝浠呴檺涓�浜烘搷浣滐紒", true )
+
+ id := DataInterfaceLog::Create( GlobalOTDLog, guard( ApplicationMacroPlanner.GetUserName(), "璐﹀彿寮傚父" ), "娓呯┖鍒嗙被鏁版嵁" );
+
+ GlobalOTDTable::DeleteAllCategoryData( GlobalOTDTable, id );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_ButtonDeleteMappingData_OnClick\043608.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_ButtonDeleteMappingData_OnClick\043608.def"
new file mode 100644
index 0000000..8a5a671
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/Response_Panel4_ButtonDeleteMappingData_OnClick\043608.def"
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: Panel4/ButtonDeleteMappingData_928
+Response OnClick () id:Response_Panel1_ButtonDeleteMappingData_OnClick_608
+{
+ #keys: '[414702.1.247703527]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ isExists := exists( GlobalOTDLog, DataInterfaceLog, tempDIL, tempDIL.Message() = "娓呯┖涓棿琛ㄦ暟鎹�" and tempDIL.ExecuteStatus() = "Running" );
+
+ if ( isExists ) {
+ feedback := "宸叉湁姝e湪杩愯鐨勪换鍔★紒";
+ }
+
+ return not isnull( GlobalOTDTable ) and not isnull( GlobalOTDLog ) and not isExists;
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "浠诲姟寮�濮嬫墽琛岋紝浠呴檺涓�浜烘搷浣滐紒", true )
+
+ id := DataInterfaceLog::Create( GlobalOTDLog, guard( ApplicationMacroPlanner.GetUserName(), "璐﹀彿寮傚父" ), "鍒犻櫎鎵�鏈変腑闂磋〃鏁版嵁" );
+
+ GlobalOTDTable::DeleteAllMappingData( GlobalOTDTable, id );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/_ROOT_Component_FormDataInterfaceLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/_ROOT_Component_FormDataInterfaceLog.def
new file mode 100644
index 0000000..46b02ae
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormDataInterfaceLog/_ROOT_Component_FormDataInterfaceLog.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormDataInterfaceLog
+{
+ #keys: '[414702.1.239641060]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListDataInterfaceLog
+ #child: Panel1
+ #child: Panel4
+ #child: Panel3
+ ]
+ Properties:
+ [
+ Image: 'MUSHROOM'
+ Title: '鏁版嵁鎺ュ彛鏃ュ織'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def
new file mode 100644
index 0000000..18364b4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListGlobalParameters
+{
+ #keys: '[412960.0.370311764]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorGlobalParameters
+ {
+ #keys: '[412960.0.370311765]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'GlobalParameters'
+ ]
+ }
+ #child: listActionBarPageGlobalParameters
+ Component DataSetLevelGlobalParameters
+ {
+ #keys: '[412960.0.370311770]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuGlobalParameters
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AttributeName","title":"AttributeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AttributeName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AttributeValue","title":"AttributeValue","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AttributeValue"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Address","title":"Address","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Address"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Port","title":"Port","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Port"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PostRequestBody","title":"PostRequestBody","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PostRequestBody"}}]'
+ ContextMenu: 'listContextMenuGlobalParameters'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListGlobalParameters_WebMenu_OnClick
+ {
+ #keys: '[412960.0.373111120]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[693.0.13162755]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def
new file mode 100644
index 0000000..dd6186c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelGlobalParameters
+{
+ #keys: '[412960.0.370311750]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListGlobalParameters
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def
new file mode 100644
index 0000000..5d480f6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageGlobalParameters
+{
+ #keys: '[412960.0.370311767]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def
new file mode 100644
index 0000000..e031569
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def
@@ -0,0 +1,57 @@
+Quintiq file version 2.0
+Component listContextMenuGlobalParameters
+{
+ #keys: '[412960.0.370311772]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuNew id:MenuNew_21
+ {
+ #keys: '[412960.0.370312224]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'ADD2'
+ Taborder: 3
+ Title: 'New'
+ ]
+ }
+ Component MenuEdit id:MenuEdit_368
+ {
+ #keys: '[412960.0.370312277]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'PENCIL'
+ Taborder: 4
+ Title: 'Edit'
+ ]
+ }
+ Component MenuDelete id:MenuDelete_832
+ {
+ #keys: '[412960.0.370312355]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DELETE'
+ Taborder: 5
+ Title: 'Delete'
+ ]
+ }
+ Component MenuInitial
+ {
+ #keys: '[412960.0.376011203]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'ARROW_LOOP3'
+ Taborder: 6
+ Title: 'Init Api'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def
new file mode 100644
index 0000000..f68b43c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListGlobalParameters
+Response OnClick (
+ GlobalParameters selection
+) id:Response_ListGlobalParameters_MenuDelete_OnClick
+{
+ #keys: '[412960.0.373113087]'
+ CanBindMultiple: false
+ DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ selection.Delete();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def
new file mode 100644
index 0000000..6094065
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListGlobalParameters
+Response OnClick (
+ GlobalParameters selection
+) id:Response_ListGlobalParameters_MenuEdit_OnClick
+{
+ #keys: '[412960.0.373112994]'
+ CanBindMultiple: false
+ DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuEdit'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogGlobalParameters );
+ dlg.Edit( selection );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def
new file mode 100644
index 0000000..a222fe1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListGlobalParameters
+Response OnClick () id:Response_ListGlobalParameters_MenuNew_OnClick
+{
+ #keys: '[412960.0.373111139]'
+ CanBindMultiple: false
+ DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuNew'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogGlobalParameters );
+ dlg.New( GlobalOTDTable );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def
new file mode 100644
index 0000000..c2c4dd2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: listContextMenuGlobalParameters/MenuInitial
+Response OnClick () id:Response_listContextMenuGlobalParameters_MenuInitial_OnClick
+{
+ #keys: '[412960.0.376011242]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ GlobalParameters::TestForApiRequest( GlobalOTDTable );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def
new file mode 100644
index 0000000..a193e5c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormGlobalParameters
+{
+ #keys: '[412960.0.367611841]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelGlobalParameters
+ ]
+ Properties:
+ [
+ Description: '瀛樻斁鍚勭被鍏ㄥ眬鍙傛暟锛岀洰鍓嶄粎鍖呭惈API鐩稿叧'
+ Image: 'EARTH2'
+ Title: 'Global Parameters'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_ListHistoricalSalesOrders.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_ListHistoricalSalesOrders.def
deleted file mode 100644
index 5c5ae1b..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_ListHistoricalSalesOrders.def
+++ /dev/null
@@ -1,59 +0,0 @@
-Quintiq file version 2.0
-Component ListHistoricalSalesOrders
-{
- #keys: '[414382.0.388210753]'
- BaseType: 'WebList'
- Children:
- [
- Component DataExtractorHistoricalSalesOrders
- {
- #keys: '[414382.0.388210754]'
- BaseType: 'WebDataExtractor'
- Properties:
- [
- DataType: 'MacroPlan'
- Source: 'MacroPlan'
- Taborder: 0
- Transformation: 'HistoricalSalesOrder'
- ]
- }
- #child: listActionBarPageHistoricalSalesOrders
- Component DataSetLevelHistoricalSalesOrders
- {
- #keys: '[414382.0.388210759]'
- BaseType: 'WebDataSetLevel'
- Children:
- [
- #child: listContextMenuHistoricalSalesOrders
- ]
- Properties:
- [
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VerNo","title":"鐗堟湰鍙�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VerNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"濉骇鍘嗗彶鍟嗗搧缂栫爜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"瀹㈡埛鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"鏁伴噺鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderDate","title":"璁㈠崟鏃ユ湡","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderDate"}}]'
- ContextMenu: 'listContextMenuHistoricalSalesOrders'
- Taborder: 2
- ]
- }
- ]
- Properties:
- [
- Taborder: 0
- ]
- ResponseDefinitions:
- [
- DelegatedResponseDefinition OnClick id:Responsedef_ListHistoricalSalesOrders_WebMenu_OnClick
- {
- #keys: '[414382.0.394390402]'
- Initiator: 'WebMenu'
- IsInherited: false
- ResponseType: 'OnClick'
- Arguments:
- [
- ResponseDefinitionArgument selection
- {
- #keys: '[1083.0.17043214]'
- Binding: 'this.Selection()'
- }
- ]
- }
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_listActionBarPageHistoricalSalesOrders.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_listActionBarPageHistoricalSalesOrders.def
deleted file mode 100644
index 8597dfe..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_listActionBarPageHistoricalSalesOrders.def
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-Component listActionBarPageHistoricalSalesOrders
-{
- #keys: '[414382.0.388210756]'
- BaseType: 'listActionBarPage'
- Properties:
- [
- Taborder: 1
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_listContextMenuHistoricalSalesOrders.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_listContextMenuHistoricalSalesOrders.def
deleted file mode 100644
index 08bafce..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Component_listContextMenuHistoricalSalesOrders.def
+++ /dev/null
@@ -1,46 +0,0 @@
-Quintiq file version 2.0
-Component listContextMenuHistoricalSalesOrders
-{
- #keys: '[414382.0.388210761]'
- BaseType: 'listContextMenu'
- Children:
- [
- Component MenuNew id:MenuNew_603
- {
- #keys: '[414382.0.394390227]'
- BaseType: 'WebMenu'
- Properties:
- [
- Image: 'ADD2'
- Taborder: 3
- Title: 'New'
- ]
- }
- Component MenuEdit id:MenuEdit_847
- {
- #keys: '[414382.0.394390242]'
- BaseType: 'WebMenu'
- Properties:
- [
- Image: 'PENCIL'
- Taborder: 4
- Title: 'Edit'
- ]
- }
- Component MenuDelete id:MenuDelete_646
- {
- #keys: '[414382.0.394390257]'
- BaseType: 'WebMenu'
- Properties:
- [
- Image: 'DELETE'
- Taborder: 5
- Title: 'Delete'
- ]
- }
- ]
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuDelete_OnClick.def
deleted file mode 100644
index c59123e..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuDelete_OnClick.def
+++ /dev/null
@@ -1,19 +0,0 @@
-Quintiq file version 2.0
-#parent: ListHistoricalSalesOrders
-Response OnClick (
- HistoricalSalesOrder selection
-) id:Response_ListHistoricalSalesOrders_MenuDelete_OnClick
-{
- #keys: '[414382.0.402500799]'
- CanBindMultiple: false
- DefinitionID => /ListHistoricalSalesOrders/Responsedef_ListHistoricalSalesOrders_WebMenu_OnClick
- GroupServerCalls: true
- Initiator: 'MenuDelete'
- QuillAction
- {
- Body:
- [*
- selection.Delete();
- *]
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuEdit_OnClick.def
deleted file mode 100644
index 6ad44a8..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuEdit_OnClick.def
+++ /dev/null
@@ -1,20 +0,0 @@
-Quintiq file version 2.0
-#parent: ListHistoricalSalesOrders
-Response OnClick (
- FillingCapacityOrder selection
-) id:Response_ListHistoricalSalesOrders_MenuEdit_OnClick
-{
- #keys: '[414382.0.402531567]'
- CanBindMultiple: false
- DefinitionID => /ListHistoricalSalesOrders/Responsedef_ListHistoricalSalesOrders_WebMenu_OnClick
- GroupServerCalls: true
- Initiator: 'MenuEdit'
- QuillAction
- {
- Body:
- [*
- dlg := construct( DialogHistoricalSalesOrders );
- dlg.Edit( selection );
- *]
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuNew_OnClick.def
deleted file mode 100644
index d151663..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/Response_ListHistoricalSalesOrders_MenuNew_OnClick.def
+++ /dev/null
@@ -1,26 +0,0 @@
-Quintiq file version 2.0
-#parent: ListHistoricalSalesOrders
-Response OnClick () id:Response_ListHistoricalSalesOrders_MenuNew_OnClick
-{
- #keys: '[414382.0.394390488]'
- CanBindMultiple: false
- DefinitionID => /ListHistoricalSalesOrders/Responsedef_ListHistoricalSalesOrders_WebMenu_OnClick
- Initiator: 'MenuNew'
- QuillAction
- {
- Body:
- [*
- dlg := construct( DialogHistoricalSalesOrders );
-
- dlg.dropDownStringListProductID().Strings( HistoricalSalesOrder::GetProductIdString( MacroPlan,"") );
- info( HistoricalSalesOrder::GetProductIdString( MacroPlan,"") );
- dlg.dropDownStringListCustomer().Strings( HistoricalSalesOrder::GetCustomerString( MacroPlan,""));
- dlg.dropDownStringListSalesSegmentName().Strings( HistoricalSalesOrder::GetSalesSegmentString( MacroPlan,""));
- dlg.dropDownStringListStockPointID().Strings( HistoricalSalesOrder::GetStockingPointString( MacroPlan,""));
- dlg.dropDownStringListUnitOfMeasureName().Strings( HistoricalSalesOrder::GetUnitOfMeasuresString( MacroPlan,""));
-
- dlg.New( MacroPlan );
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/_ROOT_Component_FormHistoricalSalesOrders.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/_ROOT_Component_FormHistoricalSalesOrders.def
index 2bddaac..366fb53 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/_ROOT_Component_FormHistoricalSalesOrders.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalSalesOrders/_ROOT_Component_FormHistoricalSalesOrders.def
@@ -5,10 +5,6 @@
{
#keys: '[414382.0.386940324]'
BaseType: 'WebForm'
- Children:
- [
- #child: ListHistoricalSalesOrders
- ]
Properties:
[
Title: '澶栧崠CELL鍘嗗彶璁㈠崟'
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceGlobal_BrokerExecuteLog\043981.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceGlobal_BrokerExecuteLog\043981.def"
index 5c28e5e..475b6b8 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceGlobal_BrokerExecuteLog\043981.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceGlobal_BrokerExecuteLog\043981.def"
@@ -9,6 +9,6 @@
]
Properties:
[
- Taborder: 5
+ Taborder: 7
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def
index 5cc2c95..a635d39 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption1.def
@@ -60,6 +60,6 @@
[
FixedSize: true
Orientation: 'horizontal'
- Taborder: 0
+ Taborder: 1
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2.def
index b767aa5..d1bb88d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption2.def
@@ -60,6 +60,6 @@
[
FixedSize: true
Orientation: 'horizontal'
- Taborder: 1
+ Taborder: 2
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption3.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption3.def
index 2ad0d40..b29c642 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption3.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption3.def
@@ -60,6 +60,6 @@
[
FixedSize: true
Orientation: 'horizontal'
- Taborder: 2
+ Taborder: 3
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def
index 1c15894..2b436da 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption4.def
@@ -60,6 +60,6 @@
[
FixedSize: true
Orientation: 'horizontal'
- Taborder: 3
+ Taborder: 4
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption5.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption5.def
new file mode 100644
index 0000000..543cdb8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOption5.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+Component PanelInterfaceOption5
+{
+ #keys: '[414702.1.387670593]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component CheckboxSummaryOfInboundTransaction
+ {
+ #keys: '[414702.1.387622319]'
+ BaseType: 'WebCheckbox'
+ Properties:
+ [
+ Label: 'SummaryOfInboundTransaction'
+ Taborder: 0
+ ]
+ }
+ Component CheckAnnualBudgetData
+ {
+ #keys: '[414702.1.400711162]'
+ BaseType: 'WebCheckbox'
+ Properties:
+ [
+ Label: 'AnnualBudgetData'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 5
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def
index b8719b3..9d865e7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def
@@ -32,6 +32,6 @@
[
FixedSize: true
Orientation: 'horizontal'
- Taborder: 4
+ Taborder: 6
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_CheckSelectAll_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_CheckSelectAll_OnChanged.def
new file mode 100644
index 0000000..2f9615b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_CheckSelectAll_OnChanged.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+#parent: CheckSelectAll
+Response OnChanged () id:Response_FormInterfaceTest_CheckSelectAll_OnChanged
+{
+ #keys: '[414702.1.245944876]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebCheckbox_OnChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ CheckboxCustomOrder.Checked( this.Checked() );
+ CheckboxForecast.Checked( this.Checked() );
+ CheckboxUnitOfMeasure_MP.Checked( this.Checked() );
+ CheckboxSalesSegment_MP.Checked( this.Checked() );
+ CheckboxProduct_MP.Checked( this.Checked() );
+ CheckboxConversionFactor.Checked( this.Checked() );
+ CheckboxOperation.Checked( this.Checked() );
+ CheckboxOperationBOM.Checked( this.Checked() );
+ CheckboxProductInLane.Checked( this.Checked() );
+ CheckboxAIPISPIP.Checked( this.Checked() );
+ CheckboxInventorySupply.Checked( this.Checked() );
+ CheckboxStockingPointCost.Checked( this.Checked() );
+ CheckboxOperationCost.Checked( this.Checked() );
+ CheckboxDOI_DSI.Checked( this.Checked() );
+ CheckboxCustomerGrade.Checked( this.Checked() );
+ CheckboxStockingPoint_MP.Checked( this.Checked() );
+ CheckboxCurrency_MP.Checked( this.Checked() );
+ CheckboxCurrencyRate_MP.Checked( this.Checked() );
+ CheckboxLane.Checked( this.Checked() );
+ CheckboxLaneLeg.Checked( this.Checked() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def
index 94fce67..03e2d62 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def
@@ -19,6 +19,8 @@
{
Body:
[*
+ WebMessageBox::Information( "鏁版嵁寮�濮嬫媺鍙栦腑锛侊紙浠呴檺涓�浜烘搷浣滐級", true );
+
GlobalOTDTable.SynchronizationAllMappingBrokerAndAPIByOption( ApplicationMacroPlanner.GetUserName(),
CheckboxCustomOrder.Checked(),
CheckboxForecast.Checked(),
@@ -39,9 +41,9 @@
CheckboxCurrency_MP.Checked(),
CheckboxCurrencyRate_MP.Checked(),
CheckboxLane.Checked(),
- CheckboxLaneLeg.Checked() );
-
- WebMessageBox::Information( "鏁版嵁寮�濮嬫媺鍙栦腑锛侊紙浠呴檺涓�浜烘搷浣滐級", true );
+ CheckboxLaneLeg.Checked(),
+ CheckboxSummaryOfInboundTransaction.Checked(),
+ CheckAnnualBudgetData.Checked() );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
index 91a9af4..b3a5a50 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
@@ -13,6 +13,27 @@
#child: PanelInterfaceOption3
#child: PanelInterfaceOption2
#child: PanelInterfaceOption1
+ Component CheckSelectAll
+ {
+ #keys: '[414702.1.245944647]'
+ BaseType: 'WebCheckbox'
+ Properties:
+ [
+ Label: '鍏ㄩ��'
+ Taborder: 0
+ ]
+ }
+ Component DataHolderInterfaceTest
+ {
+ #keys: '[414502.0.443241895]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'Scenario'
+ Properties:
+ [
+ Taborder: 8
+ ]
+ }
+ #child: PanelInterfaceOption5
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModuleCorrespondence.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModuleCorrespondence.def
new file mode 100644
index 0000000..215a4bb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModuleCorrespondence.def
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+Component ListModuleCorrespondence
+{
+ #keys: '[414702.1.377958446]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorModuleCorrespondence
+ {
+ #keys: '[414702.1.377958447]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'ModulePanelCorrespondence'
+ ExtractionMode: 'Selected'
+ Source: 'ListModulePanelCorrespondence'
+ Taborder: 0
+ Transformation: 'Panel'
+ ]
+ }
+ #child: listActionBarPageModuleCorrespondence
+ Component DataSetLevelModuleCorrespondence
+ {
+ #keys: '[414702.1.377958452]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuModuleCorrespondence
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelProductID","title":"闈㈡澘浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelStockingPointID","title":"闈㈡澘搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelStockingPointID"}}]'
+ ContextMenu: 'listContextMenuModuleCorrespondence'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModulePanelCorrespondence\043612.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModulePanelCorrespondence\043612.def"
new file mode 100644
index 0000000..fa5f646
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_ListModulePanelCorrespondence\043612.def"
@@ -0,0 +1,75 @@
+Quintiq file version 2.0
+Component ListModulePanelCorrespondence id:ListModulePanelCorrespondence_612
+{
+ #keys: '[414702.1.376801881]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorModulePanelCorrespondence
+ {
+ #keys: '[414702.1.376801882]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDSOP'
+ FixedFilter: 'object.IsModule()'
+ Source: 'GlobalOTDSOP'
+ Taborder: 0
+ Transformation: 'ModulePanelCorrespondence'
+ ]
+ }
+ #child: listActionBarPageModulePanelCorrespondence_1
+ Component DataSetLevelModulePanelCorrespondence
+ {
+ #keys: '[414702.1.376801884]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuModulePanelCorrespondence_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleProductID","title":"妯$粍浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleStockingPointID","title":"妯$粍搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleStockingPointID"}}]'
+ ContextMenu: 'listContextMenuModulePanelCorrespondence'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListModulePanelCorrespondence_612_WebButton_OnClick
+ {
+ #keys: '[414702.1.379607377]'
+ Initiator: 'WebButton'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[749.0.26546720]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_ListModulePanelCorrespondence_612_WebMenu_OnClick
+ {
+ #keys: '[414702.1.379530536]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[749.0.41950766]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_Panel655.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_Panel655.def
new file mode 100644
index 0000000..ffda6f0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_Panel655.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component Panel655
+{
+ #keys: '[414702.1.380172392]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bAddPanel id:bAddPanel_662
+ {
+ #keys: '[414702.1.381249855]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ADD'
+ Label: '娣诲姞闈㈡澘'
+ Taborder: 0
+ ]
+ }
+ Component bDeletePanel id:bDeletePanel_254
+ {
+ #keys: '[414702.1.381203006]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'DELETE2'
+ Label: '鍒犻櫎妯$粍'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule.def
new file mode 100644
index 0000000..4624180
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelModule
+{
+ #keys: '[414702.1.377900594]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListModulePanelCorrespondence_612
+ #child: PanelModule116
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule116.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule116.def
new file mode 100644
index 0000000..5bb5674
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelModule116.def
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+Component PanelModule116
+{
+ #keys: '[414702.1.380132983]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bAddModule id:bAddModule_100
+ {
+ #keys: '[414702.1.381202718]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ADD'
+ Label: '娣诲姞妯$粍'
+ Taborder: 0
+ ]
+ }
+ Component bDeleteModule id:bDeleteModule_801
+ {
+ #keys: '[414702.1.381202749]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'DELETE2'
+ Label: '鍒犻櫎妯$粍'
+ Taborder: 1
+ ]
+ }
+ Component bPullCapacityAllocationRule
+ {
+ #keys: '[414702.1.402246903]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'THICK_ARROW_DOWN_LIGHT_BLUE'
+ Label: '鎷夊彇浜ц兘鍒嗛厤瑙勫垯'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelPanel.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelPanel.def
new file mode 100644
index 0000000..fa01494
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_PanelPanel.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelPanel
+{
+ #keys: '[414702.1.376861496]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListModuleCorrespondence
+ #child: Panel655
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModuleCorrespondence.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModuleCorrespondence.def
new file mode 100644
index 0000000..2d9a203
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModuleCorrespondence.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageModuleCorrespondence
+{
+ #keys: '[414702.1.377958449]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModulePanelCorrespondence\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModulePanelCorrespondence\0431.def"
new file mode 100644
index 0000000..50dc333
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listActionBarPageModulePanelCorrespondence\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageModulePanelCorrespondence id:listActionBarPageModulePanelCorrespondence_1
+{
+ #keys: '[414702.1.376801883]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModuleCorrespondence.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModuleCorrespondence.def
new file mode 100644
index 0000000..3ce3009
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModuleCorrespondence.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuModuleCorrespondence
+{
+ #keys: '[414702.1.377958454]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModulePanelCorrespondence\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModulePanelCorrespondence\0431.def"
new file mode 100644
index 0000000..f4d87f1
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Component_listContextMenuModulePanelCorrespondence\0431.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuModulePanelCorrespondence id:listContextMenuModulePanelCorrespondence_1
+{
+ #keys: '[414702.1.376801885]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectAll id:MenuSelectAll_958
+ {
+ #keys: '[414702.1.379687162]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..1159f2b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListModulePanelCorrespondence_612
+Response OnClick () id:Response_ListModulePanelCorrespondence_612_MenuSelectAll_OnClick
+{
+ #keys: '[414702.1.378245513]'
+ CanBindMultiple: false
+ DefinitionID => /ListModulePanelCorrespondence_612/Responsedef_ListModulePanelCorrespondence_612_WebMenu_OnClick
+ Initiator: 'MenuSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick.def
new file mode 100644
index 0000000..7a74f72
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListModulePanelCorrespondence_612
+Response OnClick (
+ structured[ModulePanelCorrespondence] selection
+) id:Response_ListModulePanelCorrespondence_612_bAddPanel_OnClick
+{
+ #keys: '[414702.1.379686642]'
+ CanBindMultiple: false
+ DefinitionID => /ListModulePanelCorrespondence_612/Responsedef_ListModulePanelCorrespondence_612_WebButton_OnClick
+ Initiator: 'bAddPanel'
+ QuillAction
+ {
+ Body:
+ [*
+ ModulePanelCorrespondence::CreatePanel( GlobalOTDSOP, selection, DataHolderSelectedProductInStocking_MP.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick.def
new file mode 100644
index 0000000..147bf0f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListModulePanelCorrespondence_612
+Response OnClick (
+ structured[ModulePanelCorrespondence] selection
+) id:Response_ListModulePanelCorrespondence_612_bDeletePanel_OnClick
+{
+ #keys: '[414702.1.381349481]'
+ CanBindMultiple: false
+ DefinitionID => /ListModulePanelCorrespondence_612/Responsedef_ListModulePanelCorrespondence_612_WebButton_OnClick
+ Initiator: 'bDeletePanel'
+ QuillAction
+ {
+ Body:
+ [*
+ ModulePanelCorrespondence::DeletePanel( selection, DataHolderSelectedProductInStocking_MP.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bAddModule_OnClick\04361.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bAddModule_OnClick\04361.def"
new file mode 100644
index 0000000..d58737e
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bAddModule_OnClick\04361.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelModule116/bAddModule_100
+Response OnClick () id:Response_PanelModule_bAddModule_OnClick_61
+{
+ #keys: '[414702.1.381202717]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ModulePanelCorrespondence::CreateModule( GlobalOTDSOP, DataHolderSelectedProductInStocking_MP.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bDeleteModule_OnClick\043462.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bDeleteModule_OnClick\043462.def"
new file mode 100644
index 0000000..f4ae16b
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bDeleteModule_OnClick\043462.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelModule116/bDeleteModule_801
+Response OnClick () id:Response_PanelModule_bDeleteModule_OnClick_462
+{
+ #keys: '[414702.1.381202748]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ModulePanelCorrespondence::DeleteModule( GlobalOTDSOP, DataHolderSelectedProductInStocking_MP.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bPullCapacityAllocationRule_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bPullCapacityAllocationRule_OnClick.def
new file mode 100644
index 0000000..47bd96b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/Response_PanelModule116_bPullCapacityAllocationRule_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelModule116/bPullCapacityAllocationRule
+Response OnClick () id:Response_PanelModule116_bPullCapacityAllocationRule_OnClick
+{
+ #keys: '[414702.1.400703767]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ModulePanelCorrespondence::PullCapacityAllocationRule( GlobalOTDSOP );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/_ROOT_Component_FormModulePanelCorrespondence.def b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/_ROOT_Component_FormModulePanelCorrespondence.def
new file mode 100644
index 0000000..6338ca0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormModulePanelCorrespondence/_ROOT_Component_FormModulePanelCorrespondence.def
@@ -0,0 +1,44 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormModulePanelCorrespondence
+{
+ #keys: '[414702.1.377988264]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelModule
+ #child: PanelPanel
+ Component DataHolderSelectedProductInStocking_MP
+ {
+ #keys: '[414702.1.378291666]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[ProductInStockingPoint_MP]*'
+ Children:
+ [
+ Component DataExtractor666
+ {
+ #keys: '[414702.1.378291704]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'ProductInStockingPoint_MP'
+ ExtractionMode: 'Selected'
+ Source: 'FormProductInStockingPoints.ListProductInStockingPointsForProductsView'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Image: 'BRUSH2'
+ Orientation: 'horizontal'
+ Title: '妯$粍&闈㈡澘瀵瑰簲鍏崇郴'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def
new file mode 100644
index 0000000..3fba853
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingAllResult
+{
+ #keys: '[414702.1.306657922]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingAllResult
+ {
+ #keys: '[414702.1.306657923]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingResult'
+ ExtractionMode: 'Selected'
+ Source: 'FormPeggingResult.ListPeggingResult'
+ Taborder: 0
+ Transformation: 'AllChild'
+ ]
+ }
+ #child: listActionBarPagePeggingAllResult
+ Component DataSetLevelPeggingAllResult
+ {
+ #keys: '[414702.1.306657928]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingAllResult
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PeggingProductInSalesDemandBase.SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PeggingProductInSalesDemandBase.SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"璁㈠崟闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
+ ContextMenu: 'listContextMenuPeggingAllResult'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingAllResult_WebMenu_OnClick
+ {
+ #keys: '[414702.1.305581888]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[639.0.20605876]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def
new file mode 100644
index 0000000..73bb8e7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingAllResult
+{
+ #keys: '[414702.1.306657925]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def
new file mode 100644
index 0000000..261fbc7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingAllResult
+{
+ #keys: '[414702.1.306657930]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectAll
+ {
+ #keys: '[414702.1.305511008]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DOCUMENT_SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..9f80468
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingAllResult
+Response OnClick () id:Response_ListPeggingAllResult_MenuSelectAll_OnClick
+{
+ #keys: '[414702.1.306792785]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingAllResult/Responsedef_ListPeggingAllResult_WebMenu_OnClick
+ Initiator: 'MenuSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def
new file mode 100644
index 0000000..7fd5a9c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingAllResult
+{
+ #keys: '[414702.1.305404879]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListPeggingAllResult
+ ]
+ Properties:
+ [
+ Image: 'DIAMOND'
+ Title: 'Pegging鎵�鏈夊瓙缁撴灉'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase\043886.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase\043886.def"
new file mode 100644
index 0000000..9c7b5bf
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase\043886.def"
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingProductInSalesDemandBase id:ListPeggingProductInSalesDemandBase_886
+{
+ #keys: '[414702.1.361001747]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingProductInSalesDemandBase
+ {
+ #keys: '[414702.1.361001748]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProduct_MP'
+ ExtractionMode: 'Selected'
+ Source: 'FormPeggingProduct_MP.ListPeggingProduct_MP'
+ Taborder: 0
+ Transformation: 'PeggingProductInSalesDemandBase'
+ ]
+ }
+ #child: listActionBarPagePeggingProductInSalesDemandBase_1
+ Component DataSetLevelPeggingProductInSalesDemandBase
+ {
+ #keys: '[414702.1.361001750]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingProductInSalesDemandBase_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
+ ContextMenu: 'listContextMenuPeggingProductInSalesDemandBase'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_886_WebMenu_OnClick
+ {
+ #keys: '[414702.1.361001742]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[619.0.10848847]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListStockingPoint.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListStockingPoint.def
new file mode 100644
index 0000000..f311e9d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListStockingPoint.def
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+Component ListStockingPoint
+{
+ #keys: '[414702.1.361033206]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorStockingPoint
+ {
+ #keys: '[414702.1.361033207]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProduct_MP'
+ ExtractionMode: 'Selected'
+ Source: 'FormPeggingProduct_MP.ListPeggingProduct_MP'
+ Taborder: 0
+ Transformation: 'PeggingProductInStockingPoint_MP'
+ ]
+ }
+ #child: listActionBarPageStockingPoint
+ Component DataSetLevelStockingPoint
+ {
+ #keys: '[414702.1.361033212]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuStockingPoint
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
+ ContextMenu: 'listContextMenuStockingPoint'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelContent.def
new file mode 100644
index 0000000..048d9ff
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelContent.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component PanelContent
+{
+ #keys: '[414702.1.361001581]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelSalesDemand
+ #child: PanelStockingPoint
+ ]
+ Properties:
+ [
+ Orientation: 'tab'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelSalesDemand.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelSalesDemand.def
new file mode 100644
index 0000000..4bd57ae
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelSalesDemand.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelSalesDemand
+{
+ #keys: '[414702.1.361001594]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListPeggingProductInSalesDemandBase_886
+ ]
+ Properties:
+ [
+ Taborder: 0
+ Title: '璁㈠崟'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelStockingPoint.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelStockingPoint.def
new file mode 100644
index 0000000..8cc9f76
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_PanelStockingPoint.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelStockingPoint
+{
+ #keys: '[414702.1.361001613]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListStockingPoint
+ ]
+ Properties:
+ [
+ Taborder: 1
+ Title: '搴撳瓨鐐�'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase\0431.def"
new file mode 100644
index 0000000..258747b
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProductInSalesDemandBase id:listActionBarPagePeggingProductInSalesDemandBase_1
+{
+ #keys: '[414702.1.361001749]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPageStockingPoint.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPageStockingPoint.def
new file mode 100644
index 0000000..2cb4b65
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPageStockingPoint.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageStockingPoint
+{
+ #keys: '[414702.1.361033209]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase\0431.def"
new file mode 100644
index 0000000..596fa52
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase\0431.def"
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProductInSalesDemandBase id:listContextMenuPeggingProductInSalesDemandBase_1
+{
+ #keys: '[414702.1.361001751]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component mGeneratePeggingResult
+ {
+ #keys: '[414702.1.361001752]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'PUMPKIN_HALLOWEEN'
+ Taborder: 3
+ Title: '鐢熸垚Pegging缁撴灉'
+ ]
+ }
+ Component MenuSelectionAll
+ {
+ #keys: '[414702.1.361001753]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 4
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuStockingPoint.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuStockingPoint.def
new file mode 100644
index 0000000..0e32704
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuStockingPoint.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuStockingPoint
+{
+ #keys: '[414702.1.361033214]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..e759b98
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase_886
+Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_886_MenuSelectionAll_OnClick
+{
+ #keys: '[414702.1.361001745]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase_886/Responsedef_ListPeggingProductInSalesDemandBase_886_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnCl.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnCl.def
new file mode 100644
index 0000000..a3e741d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnCl.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase_886
+Response OnClick (
+ structured[PeggingProductInSalesDemandBase] selection
+) id:Response_ListPeggingProductInSalesDemandBase_886_mGeneratePeggingResult_OnClick
+{
+ #keys: '[414702.1.361001744]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase_886/Responsedef_ListPeggingProductInSalesDemandBase_886_WebMenu_OnClick
+ Initiator: 'mGeneratePeggingResult'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ PeggingResult::CreateData( selection, MacroPlan );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..23460c0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.291680100]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelContent
+ ]
+ Properties:
+ [
+ Image: 'BANANA'
+ Title: 'Pegging浜у搧鐨勮鍗�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def
new file mode 100644
index 0000000..6cd63a5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListPeggingProduct_MP
+{
+ #keys: '[414702.1.291408736]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingProduct_MP
+ {
+ #keys: '[414702.1.291408737]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDSOP'
+ Source: 'GlobalOTDSOP'
+ Taborder: 0
+ Transformation: 'PeggingProduct_MP'
+ ]
+ }
+ #child: listActionBarPagePeggingProduct_MP
+ Component DataSetLevelPeggingProduct_MP
+ {
+ #keys: '[414702.1.291408742]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingProduct_MP
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
+ ContextMenu: 'listContextMenuPeggingProduct_MP'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProduct_MP_WebMenu_OnClick
+ {
+ #keys: '[414702.1.309521164]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[645.0.18569723]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def
new file mode 100644
index 0000000..66424ec
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProduct_MP
+{
+ #keys: '[414702.1.291408739]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def
new file mode 100644
index 0000000..2a8c05a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProduct_MP
+{
+ #keys: '[414702.1.291408744]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectionAll
+ {
+ #keys: '[414702.1.308101396]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def
new file mode 100644
index 0000000..ff6359c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component pButton
+{
+ #keys: '[414702.1.288412503]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bCreate
+ {
+ #keys: '[414702.1.288443069]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BOMB'
+ Label: '鍒涘缓Pegging浜у搧'
+ Taborder: 1
+ ]
+ }
+ Component bRunPeggingAlgorithm
+ {
+ #keys: '[414702.1.302382530]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'TREE'
+ Label: '杩愯Pegging绠楁硶'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..e9aae6b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingProduct_MP
+Response OnClick () id:Response_ListPeggingProduct_MP_MenuSelectionAll_OnClick
+{
+ #keys: '[414702.1.309596514]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProduct_MP/Responsedef_ListPeggingProduct_MP_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
new file mode 100644
index 0000000..c88c351
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: pButton/bCreate
+Response OnClick () id:Response_pButton_bCreate_OnClick
+{
+ #keys: '[414702.1.288443717]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDSOP ) and not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ form := construct( FormNavigationPanel );
+ form.ShowDockLeft();
+
+ PeggingProduct_MP::CreateData( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def
new file mode 100644
index 0000000..6218f0f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pButton/bRunPeggingAlgorithm
+Response OnClick () id:Response_pButton_bRunPeggingAlgorithm_OnClick
+{
+ #keys: '[414702.1.304801095]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ MacroPlan.RunPeggingAlgorithm();
+
+ WebMessageBox::Success( "杩愯鎴愬姛锛�", true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def
new file mode 100644
index 0000000..0cbaf23
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingProduct_MP
+{
+ #keys: '[414702.1.290901529]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListPeggingProduct_MP
+ #child: pButton
+ ]
+ Properties:
+ [
+ Image: 'ORANGE'
+ Title: 'Pegging浜у搧鍒嗘瀽'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResult\043103.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResult\043103.def"
new file mode 100644
index 0000000..3677be0
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResult\043103.def"
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingAllResult id:ListPeggingAllResult_103
+{
+ #keys: '[414702.1.368006795]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingAllResult
+ {
+ #keys: '[414702.1.368006796]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingResult'
+ ExtractionMode: 'Selected'
+ Source: 'ListPeggingResult'
+ Taborder: 0
+ Transformation: 'AllChild'
+ ]
+ }
+ #child: listActionBarPagePeggingAllResult_1
+ Component DataSetLevelPeggingAllResult
+ {
+ #keys: '[414702.1.368006798]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingAllResult_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PeggingProductInSalesDemandBase.SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PeggingProductInSalesDemandBase.SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"璁㈠崟闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
+ ContextMenu: 'listContextMenuPeggingAllResult'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingAllResult_103_WebMenu_OnClick
+ {
+ #keys: '[414702.1.368006791]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[639.0.20605876]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResultProductInStockingPoint_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResultProductInStockingPoint_MP.def
new file mode 100644
index 0000000..78098c7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingAllResultProductInStockingPoint_MP.def
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+Component ListPeggingAllResultProductInStockingPoint_MP
+{
+ #keys: '[414702.1.369986051]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorBelow
+ {
+ #keys: '[414702.1.369986052]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingResultProductInStockingPoint_MP'
+ ExtractionMode: 'Selected'
+ Source: 'ListPeggingResultProductInStockingPoint_MP'
+ Taborder: 0
+ Transformation: 'AllChild'
+ ]
+ }
+ #child: listActionBarPageBelow
+ Component DataSetLevelBelow
+ {
+ #keys: '[414702.1.369986057]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuBelow
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"渚涘簲闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
+ ContextMenu: 'listContextMenuBelow'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..8e70246
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.367969253]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingProductInSalesDemandBase
+ {
+ #keys: '[414702.1.367969254]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProduct_MP'
+ ExtractionMode: 'Selected'
+ Source: 'ListPeggingProduct_MP'
+ Taborder: 0
+ Transformation: 'PeggingProductInSalesDemandBase'
+ ]
+ }
+ #child: listActionBarPagePeggingProductInSalesDemandBase
+ Component DataSetLevelPeggingProductInSalesDemandBase
+ {
+ #keys: '[414702.1.367969256]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingProductInSalesDemandBase
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
+ ContextMenu: 'listContextMenuPeggingProductInSalesDemandBase'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+ {
+ #keys: '[414702.1.367969244]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[619.0.10848847]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProduct_MP\04334.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProduct_MP\04334.def"
new file mode 100644
index 0000000..ad4c8e1
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingProduct_MP\04334.def"
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListPeggingProduct_MP id:ListPeggingProduct_MP_34
+{
+ #keys: '[414702.1.367969270]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingProduct_MP
+ {
+ #keys: '[414702.1.367969271]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDSOP'
+ Source: 'GlobalOTDSOP'
+ Taborder: 0
+ Transformation: 'PeggingProduct_MP'
+ ]
+ }
+ #child: listActionBarPagePeggingProduct_MP_1
+ Component DataSetLevelPeggingProduct_MP
+ {
+ #keys: '[414702.1.367969273]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingProduct_MP_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
+ ContextMenu: 'listContextMenuPeggingProduct_MP'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProduct_MP_34_WebMenu_OnClick
+ {
+ #keys: '[414702.1.367969235]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[645.0.18569723]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
new file mode 100644
index 0000000..3dc3dec
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
@@ -0,0 +1,63 @@
+Quintiq file version 2.0
+Component ListPeggingResult
+{
+ #keys: '[414702.1.367969368]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPeggingResult
+ {
+ #keys: '[414702.1.367969369]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProductInSalesDemandBase'
+ ExtractionMode: 'Selected'
+ FixedFilter: 'object.NumberOfPlies() = 0'
+ Source: 'ListPeggingProductInSalesDemandBase'
+ Taborder: 0
+ Transformation: 'PeggingResult'
+ ]
+ }
+ #child: listActionBarPagePeggingResult
+ Component DataSetLevelPeggingResult
+ {
+ #keys: '[414702.1.367969371]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPeggingResult
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PeggingProductInSalesDemandBase.SalesDemandBaseID","title":"璁㈠崟ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PeggingProductInSalesDemandBase.SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"璁㈠崟闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPlies","title":"灞傛暟","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPlies"}}]'
+ ContextMenu: 'listContextMenuPeggingResult'
+ RelationFromParent: 'Child'
+ RelationRepeating: 'Child'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingResult_WebMenu_OnClick
+ {
+ #keys: '[414702.1.367969363]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[627.0.29218476]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResultProductInStockingPoint_MP.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResultProductInStockingPoint_MP.def
new file mode 100644
index 0000000..eddc967
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResultProductInStockingPoint_MP.def
@@ -0,0 +1,63 @@
+Quintiq file version 2.0
+Component ListPeggingResultProductInStockingPoint_MP
+{
+ #keys: '[414702.1.369908729]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorRight
+ {
+ #keys: '[414702.1.369908730]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProductInStockingPoint_MP'
+ ExtractionMode: 'Selected'
+ FixedFilter: 'object.NumberOfPlies() = 0'
+ Source: 'ListStockingPoint'
+ Taborder: 0
+ Transformation: 'PeggingResultProductInStockingPoint_MP'
+ ]
+ }
+ #child: listActionBarPageRight
+ Component DataSetLevelRight
+ {
+ #keys: '[414702.1.369908735]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuRight
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐笽D","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"渚涘簲鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ActualFulfillmentQuantity","title":"瀹為檯闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ActualFulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"渚涘簲闇�瑕佹暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"渚涘簲绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPlies","title":"灞傛暟","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPlies"}}]'
+ ContextMenu: 'listContextMenuRight'
+ RelationFromParent: 'Child'
+ RelationRepeating: 'Child'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingResultProductInStockingPoint_MP_WebMenu_OnClick
+ {
+ #keys: '[414702.1.372190299]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[743.0.10232769]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListStockingPoint\043140.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListStockingPoint\043140.def"
new file mode 100644
index 0000000..1d0c584
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListStockingPoint\043140.def"
@@ -0,0 +1,60 @@
+Quintiq file version 2.0
+Component ListStockingPoint id:ListStockingPoint_140
+{
+ #keys: '[414702.1.367969261]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorStockingPoint
+ {
+ #keys: '[414702.1.367969262]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'PeggingProduct_MP'
+ ExtractionMode: 'Selected'
+ Source: 'ListPeggingProduct_MP'
+ Taborder: 0
+ Transformation: 'PeggingProductInStockingPoint_MP'
+ ]
+ }
+ #child: listActionBarPageStockingPoint_1
+ Component DataSetLevelStockingPoint
+ {
+ #keys: '[414702.1.367969264]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuStockingPoint_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"寮�濮嬫椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
+ ContextMenu: 'listContextMenuStockingPoint'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListStockingPoint_140_WebMenu_OnClick
+ {
+ #keys: '[414702.1.371828990]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[739.0.19241406]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelAbove.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelAbove.def
new file mode 100644
index 0000000..3b54ed8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelAbove.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component PanelAbove
+{
+ #keys: '[414702.1.367522096]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelLeft_865
+ #child: PanelRight_520
+ ]
+ Properties:
+ [
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelBelow.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelBelow.def
new file mode 100644
index 0000000..b690ea9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelBelow.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component PanelBelow
+{
+ #keys: '[414702.1.367522127]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListPeggingAllResult_103
+ #child: ListPeggingAllResultProductInStockingPoint_MP
+ ]
+ Properties:
+ [
+ Border: true
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelContent\043807.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelContent\043807.def"
new file mode 100644
index 0000000..5c8ac6b
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelContent\043807.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component PanelContent id:PanelContent_807
+{
+ #keys: '[414702.1.367969251]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelSalesDemand_411
+ #child: PanelStockingPoint_569
+ ]
+ Properties:
+ [
+ Orientation: 'tab'
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelLeft\043865.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelLeft\043865.def"
new file mode 100644
index 0000000..6585095
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelLeft\043865.def"
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelLeft id:PanelLeft_865
+{
+ #keys: '[414702.1.367969250]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelPeggingResult570
+ #child: PanelContent_807
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelPeggingResult570.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelPeggingResult570.def
new file mode 100644
index 0000000..1c7a198
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelPeggingResult570.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelPeggingResult570
+{
+ #keys: '[414702.1.367969266]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: pButton_407
+ #child: ListPeggingProduct_MP_34
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelRight\043520.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelRight\043520.def"
new file mode 100644
index 0000000..d231871
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelRight\043520.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component PanelRight id:PanelRight_520
+{
+ #keys: '[414702.1.367969367]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListPeggingResult
+ #child: ListPeggingResultProductInStockingPoint_MP
+ ]
+ Properties:
+ [
+ Border: true
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelSalesDemand\043411.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelSalesDemand\043411.def"
new file mode 100644
index 0000000..b32611a
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelSalesDemand\043411.def"
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelSalesDemand id:PanelSalesDemand_411
+{
+ #keys: '[414702.1.367969252]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListPeggingProductInSalesDemandBase
+ ]
+ Properties:
+ [
+ Taborder: 0
+ Title: '璁㈠崟'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelStockingPoint\043569.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelStockingPoint\043569.def"
new file mode 100644
index 0000000..f391fc0
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_PanelStockingPoint\043569.def"
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelStockingPoint id:PanelStockingPoint_569
+{
+ #keys: '[414702.1.367969260]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListStockingPoint_140
+ ]
+ Properties:
+ [
+ Taborder: 1
+ Title: '搴撳瓨鐐�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageBelow.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageBelow.def
new file mode 100644
index 0000000..c19ab53
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageBelow.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageBelow
+{
+ #keys: '[414702.1.369986054]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingAllResult\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingAllResult\0431.def"
new file mode 100644
index 0000000..8565400
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingAllResult\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingAllResult id:listActionBarPagePeggingAllResult_1
+{
+ #keys: '[414702.1.368006797]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..624975c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProductInSalesDemandBase.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.367969255]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProduct_MP\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProduct_MP\0431.def"
new file mode 100644
index 0000000..ae064a6
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingProduct_MP\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingProduct_MP id:listActionBarPagePeggingProduct_MP_1
+{
+ #keys: '[414702.1.367969272]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
new file mode 100644
index 0000000..33f19b2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePeggingResult
+{
+ #keys: '[414702.1.367969370]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageRight.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageRight.def
new file mode 100644
index 0000000..0c41972
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageRight.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageRight
+{
+ #keys: '[414702.1.369908732]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageStockingPoint\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageStockingPoint\0431.def"
new file mode 100644
index 0000000..aba9f58
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPageStockingPoint\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageStockingPoint id:listActionBarPageStockingPoint_1
+{
+ #keys: '[414702.1.367969263]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuBelow.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuBelow.def
new file mode 100644
index 0000000..d3a880a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuBelow.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuBelow
+{
+ #keys: '[414702.1.369986059]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingAllResult\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingAllResult\0431.def"
new file mode 100644
index 0000000..14b20f8
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingAllResult\0431.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingAllResult id:listContextMenuPeggingAllResult_1
+{
+ #keys: '[414702.1.368006799]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectAll
+ {
+ #keys: '[414702.1.368006800]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DOCUMENT_SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProductInSalesDemandBase.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProductInSalesDemandBase.def
new file mode 100644
index 0000000..392a02a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProductInSalesDemandBase.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProductInSalesDemandBase
+{
+ #keys: '[414702.1.367969257]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component mGeneratePeggingResult
+ {
+ #keys: '[414702.1.367969258]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'PUMPKIN_HALLOWEEN'
+ Taborder: 3
+ Title: '鐢熸垚Pegging缁撴灉'
+ ]
+ }
+ Component MenuSelectionAll508
+ {
+ #keys: '[414702.1.367969259]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 4
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProduct_MP\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProduct_MP\0431.def"
new file mode 100644
index 0000000..d8e318f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingProduct_MP\0431.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingProduct_MP id:listContextMenuPeggingProduct_MP_1
+{
+ #keys: '[414702.1.367969274]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectionAll852
+ {
+ #keys: '[414702.1.367969275]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
new file mode 100644
index 0000000..968020c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuPeggingResult
+{
+ #keys: '[414702.1.367969372]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectionAll
+ {
+ #keys: '[414702.1.367969373]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuRight.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuRight.def
new file mode 100644
index 0000000..b37411d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuRight.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuRight
+{
+ #keys: '[414702.1.369908737]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuSelectionAll666
+ {
+ #keys: '[414702.1.372161014]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 3
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuStockingPoint\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuStockingPoint\0431.def"
new file mode 100644
index 0000000..d01c55a
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuStockingPoint\0431.def"
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component listContextMenuStockingPoint id:listContextMenuStockingPoint_1
+{
+ #keys: '[414702.1.367969265]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component mGeneratePeggingResult266
+ {
+ #keys: '[414702.1.370691806]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'PUMPKIN_HALLOWEEN'
+ Taborder: 3
+ Title: '鐢熸垚Pegging缁撴灉'
+ ]
+ }
+ Component MenuSelectionAll506
+ {
+ #keys: '[414702.1.370691827]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'SELECTION'
+ Shortcut: 'Ctrl+A'
+ Taborder: 4
+ Title: '鍏ㄩ��'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_pButton\043407.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_pButton\043407.def"
new file mode 100644
index 0000000..49daa41
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_pButton\043407.def"
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component pButton id:pButton_407
+{
+ #keys: '[414702.1.367969267]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bCreate
+ {
+ #keys: '[414702.1.367969268]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BOMB'
+ Label: '鍒涘缓Pegging浜у搧'
+ Taborder: 1
+ ]
+ }
+ Component bRunPeggingAlgorithm
+ {
+ #keys: '[414702.1.367969269]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'TREE'
+ Label: '杩愯Pegging绠楁硶'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingAllResult_103_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingAllResult_103_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..06ce73b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingAllResult_103_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingAllResult_103
+Response OnClick () id:Response_ListPeggingAllResult_103_MenuSelectAll_OnClick
+{
+ #keys: '[414702.1.368006793]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingAllResult_103/Responsedef_ListPeggingAllResult_103_WebMenu_OnClick
+ Initiator: 'MenuSelectAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick.def
new file mode 100644
index 0000000..90d1387
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll508_OnClick
+{
+ #keys: '[414702.1.367969247]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll508'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
new file mode 100644
index 0000000..3f30965
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: ListPeggingProductInSalesDemandBase
+Response OnClick (
+ structured[PeggingProductInSalesDemandBase] selection
+) id:Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick
+{
+ #keys: '[414702.1.367969246]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
+ Initiator: 'mGeneratePeggingResult'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ PeggingResult::CreateData( selection, MacroPlan );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick.def
new file mode 100644
index 0000000..71cccf5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingProduct_MP_34
+Response OnClick () id:Response_ListPeggingProduct_MP_34_MenuSelectionAll852_OnClick
+{
+ #keys: '[414702.1.367969239]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingProduct_MP_34/Responsedef_ListPeggingProduct_MP_34_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll852'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnCl.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnCl.def
new file mode 100644
index 0000000..3c824a0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnCl.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingResultProductInStockingPoint_MP
+Response OnClick () id:Response_ListPeggingResultProductInStockingPoint_MP_MenuSelectionAll666_OnClick
+{
+ #keys: '[414702.1.372190318]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingResultProductInStockingPoint_MP/Responsedef_ListPeggingResultProductInStockingPoint_MP_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll666'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
new file mode 100644
index 0000000..bf29879
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPeggingResult
+Response OnClick () id:Response_ListPeggingResult_MenuSelectionAll_OnClick
+{
+ #keys: '[414702.1.367969365]'
+ CanBindMultiple: false
+ DefinitionID => /ListPeggingResult/Responsedef_ListPeggingResult_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_MenuSelectionAll506_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_MenuSelectionAll506_OnClick.def
new file mode 100644
index 0000000..1b95cb7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_MenuSelectionAll506_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListStockingPoint_140
+Response OnClick () id:Response_ListStockingPoint_140_MenuSelectionAll506_OnClick
+{
+ #keys: '[414702.1.371829177]'
+ CanBindMultiple: false
+ DefinitionID => /ListStockingPoint_140/Responsedef_ListStockingPoint_140_WebMenu_OnClick
+ Initiator: 'MenuSelectionAll506'
+ QuillAction
+ {
+ Body:
+ [*
+ this.SelectAll();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick.def
new file mode 100644
index 0000000..04ac97c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListStockingPoint_140
+Response OnClick (
+ structured[PeggingProductInStockingPoint_MP] selection
+) id:Response_ListStockingPoint_140_mGeneratePeggingResult266_OnClick
+{
+ #keys: '[414702.1.370662191]'
+ CanBindMultiple: false
+ DefinitionID => /ListStockingPoint_140/Responsedef_ListStockingPoint_140_WebMenu_OnClick
+ Initiator: 'mGeneratePeggingResult266'
+ QuillAction
+ {
+ Body:
+ [*
+ PeggingResultProductInStockingPoint_MP::CreateData( selection, MacroPlan );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelSalesDemand_411_OnActivate.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelSalesDemand_411_OnActivate.def
new file mode 100644
index 0000000..6d709dc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelSalesDemand_411_OnActivate.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelSalesDemand_411
+Response OnActivate () id:Response_PanelSalesDemand_411_OnActivate
+{
+ #keys: '[414702.1.367969238]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebPanel_OnActivate'
+ QuillAction
+ {
+ Body:
+ [*
+ ListPeggingResultProductInStockingPoint_MP.Visible( false );
+ ListPeggingAllResultProductInStockingPoint_MP.Visible( false );
+
+ ListPeggingResult.Visible( true );
+ ListPeggingAllResult.Visible( true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelStockingPoint_569_OnActivate.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelStockingPoint_569_OnActivate.def
new file mode 100644
index 0000000..1cb6b85
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_PanelStockingPoint_569_OnActivate.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelStockingPoint_569
+Response OnActivate () id:Response_PanelStockingPoint_569_OnActivate
+{
+ #keys: '[414702.1.367969237]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebPanel_OnActivate'
+ QuillAction
+ {
+ Body:
+ [*
+ ListPeggingResult.Visible( false );
+ ListPeggingAllResult.Visible( false );
+
+ ListPeggingResultProductInStockingPoint_MP.Visible( true );
+ ListPeggingAllResultProductInStockingPoint_MP.Visible( true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bCreate_OnClick.def
new file mode 100644
index 0000000..f92ba3a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bCreate_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: pButton_407/bCreate
+Response OnClick () id:Response_pButton_407_bCreate_OnClick
+{
+ #keys: '[414702.1.367969242]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDSOP ) and not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ form := construct( FormNavigationPanel );
+ form.ShowDockLeft();
+
+ PeggingProduct_MP::CreateData( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bRunPeggingAlgorithm_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bRunPeggingAlgorithm_OnClick.def
new file mode 100644
index 0000000..ac9bb92
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_pButton_407_bRunPeggingAlgorithm_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pButton_407/bRunPeggingAlgorithm
+Response OnClick () id:Response_pButton_407_bRunPeggingAlgorithm_OnClick
+{
+ #keys: '[414702.1.367969241]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ MacroPlan.RunPeggingAlgorithm();
+
+ WebMessageBox::Success( "杩愯鎴愬姛锛�", true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
new file mode 100644
index 0000000..39af8e4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPeggingResult
+{
+ #keys: '[414702.1.295031324]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelAbove
+ #child: PanelBelow
+ ]
+ Properties:
+ [
+ Image: 'CUP'
+ SizeableChildren: true
+ Title: 'Pegging缁撴灉'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
index 73da706..5241681 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
@@ -11,10 +11,10 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'structured[PriorityFactor]'
- Source: 'DataHolderPriorityFactorSelect'
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
Taborder: 0
- Transformation: 'Elements'
+ Transformation: 'PriorityFactor'
]
}
#child: listActionBarPagePriorityFactor
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
index 7d29277..f0daed3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
@@ -16,6 +16,39 @@
Title: '鍒濆鍖�'
]
}
+ Component MenuNewPriorityFactor
+ {
+ #keys: '[414996.0.32331011]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_ADD'
+ Taborder: 4
+ Title: 'New'
+ ]
+ }
+ Component MenuEditPriorityFactor
+ {
+ #keys: '[414996.0.32331061]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_EDIT'
+ Taborder: 5
+ Title: 'Edit'
+ ]
+ }
+ Component MenuDeletePriorityFactor
+ {
+ #keys: '[414996.0.32331135]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_DELETE'
+ Taborder: 6
+ Title: 'Delete'
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def
deleted file mode 100644
index e005ec6..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: DataHolderPriorityFactorSelect
-Response OnDataChanged () id:Response_FormPriorityFactor_DataHolderPriorityFactorSelect_OnDataChanged
-{
- #keys: '[414382.0.593010798]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
- QuillAction
- {
- Body:
- [*
- //data := selectset( MacroPlan,PriorityFactor,p,true);
- //this.Data(&data);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDeletePriorityFactor_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDeletePriorityFactor_OnClick.def
new file mode 100644
index 0000000..e344003
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDeletePriorityFactor_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactor
+Response OnClick (
+ structured[PriorityFactor] selection
+) id:Response_ListPriorityFactor_MenuDeletePriorityFactor_OnClick
+{
+ #keys: '[414996.0.35089240]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuDeletePriorityFactor'
+ QuillAction
+ {
+ Body:
+ [*
+ number := WebMessageBox::Question( "Are you sure delete this priority factor?","Yes|No" );
+ if( number = 0 ){
+ traverse( selection,Elements,element){
+ element.Delete();
+ }
+ }
+ *]
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEditPriorityFactor_OnClick\043325.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEditPriorityFactor_OnClick\043325.def"
new file mode 100644
index 0000000..e285f6a
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEditPriorityFactor_OnClick\043325.def"
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactor
+Response OnClick (
+ PriorityFactor selection
+) id:Response_ListPriorityFactor_MenuEditPriorityFactor_OnClick_325
+{
+ #keys: '[414996.0.34858367]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuEditPriorityFactor'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogEditPriorityFactor );
+ dlg.Edit( selection);
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNewPriorityFactor_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNewPriorityFactor_OnClick.def
new file mode 100644
index 0000000..0e5667a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNewPriorityFactor_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactor
+Response OnClick (
+ PriorityFactor selection
+) id:Response_ListPriorityFactor_MenuNewPriorityFactor_OnClick
+{
+ #keys: '[414996.0.39511535]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuNewPriorityFactor'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogEditPriorityFactorDetail );
+ dlg.New( selection );
+ *]
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043106.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043106.def"
index 071de46..a6fccd7 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043106.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043106.def"
@@ -11,8 +11,8 @@
{
Body:
[*
- detaisls := PriorityFactorDetails::GetDataByPriorityFactor( selection, MacroPlan);
- DataHolderPriorityFactorDetailsSelect.Data(&detaisls);
+ //detaisls := PriorityFactorDetails::GetDataByPriorityFactor( selection, MacroPlan);
+ //DataHolderPriorityFactorDetailsSelect.Data(&detaisls);
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnSelectionChanged.def
index 235a322..3826228 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnSelectionChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnSelectionChanged.def
@@ -11,9 +11,7 @@
{
Body:
[*
- info( "selecion change" );
- detaisls := PriorityFactorDetails::GetDataByPriorityFactor( selection, MacroPlan);
- DataHolderPriorityFactorDetailsSelect.Data(&detaisls);
+ DataHolderPriorityFactorSelect.Data(selection);
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_listContextMenuPriorityFactor_MenuNewPriorityFactor_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_listContextMenuPriorityFactor_MenuNewPriorityFactor_OnClick.def
new file mode 100644
index 0000000..564a038
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_listContextMenuPriorityFactor_MenuNewPriorityFactor_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: listContextMenuPriorityFactor/MenuNewPriorityFactor
+Response OnClick () id:Response_listContextMenuPriorityFactor_MenuNewPriorityFactor_OnClick
+{
+ #keys: '[414996.0.32331254]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogEditPriorityFactor );
+ dlg.New( MacroPlan,"");
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
index 7c5dda8..5cd684b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
@@ -11,22 +11,7 @@
{
#keys: '[414382.0.453562359]'
BaseType: 'WebDataHolder'
- Databinding: 'structured[PriorityFactor]*'
- Children:
- [
- Component DataExtractorPriorityFactorSelect
- {
- #keys: '[414382.0.608512605]'
- BaseType: 'WebDataExtractor'
- Properties:
- [
- DataType: 'MacroPlan'
- Source: 'MacroPlan'
- Taborder: 0
- Transformation: 'PriorityFactor'
- ]
- }
- ]
+ Databinding: 'PriorityFactor'
Properties:
[
Taborder: 1
@@ -48,7 +33,7 @@
{
#keys: '[414382.0.482103344]'
BaseType: 'WebDataHolder'
- Databinding: 'structured[PriorityFactorDetails]*'
+ Databinding: 'structured[PriorityFactorDetail]*'
Properties:
[
Taborder: 3
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def
index a28ed5d..4fed986 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def
@@ -36,7 +36,7 @@
]
Properties:
[
- Taborder: 1
+ Taborder: 2
]
ResponseDefinitions:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
index 33b6aa3..dce2b3d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
@@ -3,6 +3,42 @@
{
#keys: '[414382.0.479530873]'
BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuEditPriorityFactorGrading
+ {
+ #keys: '[414996.0.32342387]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_EDIT'
+ Taborder: 4
+ Title: 'Edit'
+ ]
+ }
+ Component MenuDeletePriorityFactorGrading
+ {
+ #keys: '[414996.0.32342398]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_DELETE'
+ Taborder: 5
+ Title: 'Delete'
+ ]
+ }
+ Component MenuNewPriorityFactorGrading
+ {
+ #keys: '[414996.0.40230778]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_ADD'
+ Taborder: 3
+ Title: 'New'
+ ]
+ }
+ ]
Properties:
[
Taborder: 0
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_DataHolderPriorityFactor_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_DataHolderPriorityFactor_OnDataChanged.def
new file mode 100644
index 0000000..1812bbc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_DataHolderPriorityFactor_OnDataChanged.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: DataHolderPriorityFactor
+Response OnDataChanged () id:Response_FormPriorityFactorGrading_DataHolderPriorityFactor_OnDataChanged
+{
+ #keys: '[414996.0.32302660]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ if( not isnull( this.Data( ) )){
+ detaisls := PriorityFactorDetail::GetDataByPriorityFactor( this.Data( ), MacroPlan);
+ DataHolderPriorityFactorGrading.Data( &detaisls );
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuDeletePriorityFactorGrading_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuDeletePriorityFactorGrading_OnClick.def
new file mode 100644
index 0000000..9470f26
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuDeletePriorityFactorGrading_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactorGrading
+Response OnClick (
+ structured[PriorityFactorDetail] selction
+) id:Response_ListPriorityFactorGrading_MenuDeletePriorityFactorGrading_OnClick
+{
+ #keys: '[414996.0.36022233]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactorGrading/Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuDeletePriorityFactorGrading'
+ QuillAction
+ {
+ Body:
+ [*
+ number := WebMessageBox::Question( "Are you sure delete this priority factor?","Yes|No" );
+ if( number = 0 ){
+ traverse( selction,Elements,element){
+ element.Delete();
+ }
+ }
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEditPriorityFactorGrading_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEditPriorityFactorGrading_OnClick.def
new file mode 100644
index 0000000..8128f71
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEditPriorityFactorGrading_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactorGrading
+Response OnClick (
+ PriorityFactorDetail selction
+) id:Response_ListPriorityFactorGrading_MenuEditPriorityFactorGrading_OnClick
+{
+ #keys: '[414996.0.32393877]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactorGrading/Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuEditPriorityFactorGrading'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogEditPriorityFactorDetail );
+ dlg.Edit( selction );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuNewPriorityFactorGrading_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuNewPriorityFactorGrading_OnClick.def
new file mode 100644
index 0000000..2a27308
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuNewPriorityFactorGrading_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactorGrading
+Response OnClick () id:Response_ListPriorityFactorGrading_MenuNewPriorityFactorGrading_OnClick
+{
+ #keys: '[414996.0.42410722]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactorGrading/Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
+ GroupServerCalls: true
+ Initiator: 'MenuNewPriorityFactorGrading'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogEditPriorityFactorDetail );
+ dlg.New( DataHolderPriorityFactor.Data( ));
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
index b9ab15b..69c19f3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
@@ -11,17 +11,28 @@
{
#keys: '[414382.0.478480902]'
BaseType: 'WebDataHolder'
- Databinding: 'structured[PriorityFactorDetails]*'
+ Databinding: 'structured[PriorityFactorDetail]*'
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ #child: ListPriorityFactorGrading
+ Component DataHolderPriorityFactor
+ {
+ #keys: '[414996.0.35059952]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'PriorityFactor'
Children:
[
- Component DataExtractorPriorityFactorGrading
+ Component DataExtractorPriorityFactor
{
- #keys: '[414382.0.478480916]'
+ #keys: '[414996.0.35059968]'
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'structured[PriorityFactorDetails]'
- Source: 'FormPriorityFactor.DataHolderPriorityFactorDetailsSelect'
+ DataType: 'PriorityFactor'
+ Source: 'FormPriorityFactor.DataHolderPriorityFactorSelect'
Taborder: 0
]
}
@@ -31,7 +42,6 @@
Taborder: 0
]
}
- #child: ListPriorityFactorGrading
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..b7fe794
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_ListSummaryOfInboundTransaction.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.387622982]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorSummaryOfInboundTransaction
+ {
+ #keys: '[414702.1.387622983]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'Global_MappingSummaryOfInboundTransaction'
+ ]
+ }
+ #child: listActionBarPageSummaryOfInboundTransaction
+ Component DataSetLevelSummaryOfInboundTransaction
+ {
+ #keys: '[414702.1.387622988]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuSummaryOfInboundTransaction
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Item","title":"Item","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Item"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"OrganCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganName","title":"OrganName","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"OrganName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlantName","title":"PlantName","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PlantName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TransactionDate","title":"TransactionDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"TransactionDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TransactionQTY","title":"TransactionQTY","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"TransactionQTY"}}]'
+ ContextMenu: 'listContextMenuSummaryOfInboundTransaction'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def
index 6547519..40d992d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelInterfaceDataDisplayContent.def
@@ -13,6 +13,7 @@
#child: PanelConversionFactor
#child: PanelOperation
#child: PanelOperationBOM
+ #child: PanelSummaryOfInboundTransaction
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..ac64034
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_PanelSummaryOfInboundTransaction.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.390708893]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListSummaryOfInboundTransaction
+ ]
+ Properties:
+ [
+ Taborder: 8
+ Title: 'SummaryOfInboundTransaction'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..d76ed8a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listActionBarPageSummaryOfInboundTransaction.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.387622985]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..90f4b6d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_listContextMenuSummaryOfInboundTransaction.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.387622990]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_ListSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_ListSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..21a5163
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_ListSummaryOfInboundTransaction.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.387623860]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorSummaryOfInboundTransaction
+ {
+ #keys: '[414702.1.387623861]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDSOP'
+ Source: 'GlobalOTDSOP'
+ Taborder: 0
+ Transformation: 'SummaryOfInboundTransaction'
+ ]
+ }
+ #child: listActionBarPageSummaryOfInboundTransaction
+ Component DataSetLevelSummaryOfInboundTransaction
+ {
+ #keys: '[414702.1.387623866]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuSummaryOfInboundTransaction
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Item","title":"鐗╂枡缂栫爜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Item"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganCode","title":"缁勭粐缂栫爜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrganName","title":"缁勭粐鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrganName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlantName","title":"宸ュ巶鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlantName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total1","title":"1鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total2","title":"2鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total3","title":"3鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total4","title":"4鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total5","title":"5鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total6","title":"6鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total7","title":"7鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total8","title":"8鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total9","title":"9鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total10","title":"10鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total11","title":"11鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Total12","title":"12鏈堟眹鎬绘暟閲�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Total12"}}]'
+ ContextMenu: 'listContextMenuSummaryOfInboundTransaction'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listActionBarPageSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listActionBarPageSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..76892c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listActionBarPageSummaryOfInboundTransaction.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.387623863]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listContextMenuSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listContextMenuSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..3a5efee
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_listContextMenuSummaryOfInboundTransaction.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.387623868]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_pButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_pButton.def
new file mode 100644
index 0000000..61a40cd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Component_pButton.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component pButton
+{
+ #keys: '[414702.1.387623978]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component bFlushData
+ {
+ #keys: '[414702.1.387624225]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ARROW_CIRCLE2'
+ Label: '鍒锋柊鏁版嵁'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Response_pButton_bFlushData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Response_pButton_bFlushData_OnClick.def
new file mode 100644
index 0000000..bbf38d2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/Response_pButton_bFlushData_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pButton/bFlushData
+Response OnClick () id:Response_pButton_bFlushData_OnClick
+{
+ #keys: '[414702.1.391560055]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ SummaryOfInboundTransaction::FlushData( GlobalOTDSOP, GlobalOTDTable );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/_ROOT_Component_FormSummaryOfInboundTransaction.def b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/_ROOT_Component_FormSummaryOfInboundTransaction.def
new file mode 100644
index 0000000..fa43e06
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSummaryOfInboundTransaction/_ROOT_Component_FormSummaryOfInboundTransaction.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormSummaryOfInboundTransaction
+{
+ #keys: '[414702.1.387623720]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListSummaryOfInboundTransaction
+ #child: pButton
+ ]
+ Properties:
+ [
+ Image: 'CLIPBOARD'
+ Title: '鍏ュ簱浜ゆ槗姹囨��'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType713.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType713.def
new file mode 100644
index 0000000..a96240b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_ListWorkOrderType713.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+Component ListWorkOrderType713
+{
+ #keys: '[414702.1.387623773]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorWorkOrderType504
+ {
+ #keys: '[414702.1.387623774]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ Taborder: 0
+ ]
+ }
+ #child: listActionBarPageWorkOrderType423
+ Component DataSetLevelWorkOrderType651
+ {
+ #keys: '[414702.1.387623779]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuWorkOrderType493
+ ]
+ Properties:
+ [
+ ContextMenu: 'listContextMenuWorkOrderType493'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType423.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType423.def
new file mode 100644
index 0000000..5e4366d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listActionBarPageWorkOrderType423.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageWorkOrderType423
+{
+ #keys: '[414702.1.387623776]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType493.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType493.def
new file mode 100644
index 0000000..d391db7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/Component_listContextMenuWorkOrderType493.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuWorkOrderType493
+{
+ #keys: '[414702.1.387623781]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def
index 93e4dc2..7b27004 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormWorkOrderType/_ROOT_Component_FormWorkOrderType.def
@@ -8,6 +8,7 @@
Children:
[
#child: ListWorkOrderType
+ #child: ListWorkOrderType713
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_Panel700.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_Panel700.def
new file mode 100644
index 0000000..48e7fae
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_Panel700.def
@@ -0,0 +1,39 @@
+Quintiq file version 2.0
+Component Panel700
+{
+ #keys: '[414724.0.286088539]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btn_OK_FCOS
+ {
+ #keys: '[414724.0.286088604]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Image: 'CHECKS'
+ Label: '纭畾'
+ Taborder: 0
+ ]
+ }
+ Component btn_Cancel_FCOS
+ {
+ #keys: '[414724.0.286088615]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Image: 'NAVIGATE_CROSS_ORANGE'
+ Label: '鍙栨秷'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listActionBarPage229\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listActionBarPage229\0431.def"
new file mode 100644
index 0000000..f67ee63
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listActionBarPage229\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage229 id:listActionBarPage229_1
+{
+ #keys: '[414724.0.290316538]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listContextMenu950\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listContextMenu950\0431.def"
new file mode 100644
index 0000000..434b4de
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_listContextMenu950\0431.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenu950 id:listContextMenu950_1
+{
+ #keys: '[414724.0.290316540]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component m_delete_list_SD
+ {
+ #keys: '[414724.0.312760935]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Description: '鍒犻櫎-鎷嗗垎鏄庣粏琛�'
+ Image: 'GARBAGE'
+ Taborder: 3
+ Title: '鍒犻櫎'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_list_SpliteDetails\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_list_SpliteDetails\043136.def"
new file mode 100644
index 0000000..5d0dd72
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_list_SpliteDetails\043136.def"
@@ -0,0 +1,61 @@
+Quintiq file version 2.0
+Component list_SpliteDetails id:list_SpliteDetails_136
+{
+ #keys: '[414724.0.290316536]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component de_splisteDetailsFCOS
+ {
+ #keys: '[414724.0.290316537]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'S_DT_SpliteStruct'
+ ]
+ }
+ #child: listActionBarPage229_1
+ Component DataSetLevel583
+ {
+ #keys: '[414724.0.290316539]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu950_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastDate","title":"闇�姹傛棩鏈�","subtotals":"","tooltip":"","width":10,"display":"shown","editable":false,"attribute":"ForecastDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Qty","title":"鏁伴噺","subtotals":"","tooltip":"","width":8,"display":"shown","editable":true,"attribute":"Qty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SpliteReason","title":"鎷嗗垎鍘熷洜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SpliteReason"}}]'
+ ContextMenu: 'listContextMenu950'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '鎷嗗垎鏄庣粏'
+ MinimumRows: 6
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_list_SpliteDetails_136_WebMenu_OnClick
+ {
+ #keys: '[414724.0.312731020]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[593.0.13413230]'
+ Binding: 'list_SpliteDetails.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_OperateBtns_FCOS.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_OperateBtns_FCOS.def
new file mode 100644
index 0000000..9f635c7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_OperateBtns_FCOS.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component pl_OperateBtns_FCOS
+{
+ #keys: '[414724.0.286058675]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: Panel700
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Taborder: 6
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_function_FCOS.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_function_FCOS.def
new file mode 100644
index 0000000..a59ba5b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_function_FCOS.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component pl_function_FCOS
+{
+ #keys: '[414724.0.285282557]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btn_add_FCOS
+ {
+ #keys: '[414724.0.290316633]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Image: 'LINK_ADD'
+ Label: '棰勬媶琛�'
+ Taborder: 1
+ Visible: false
+ ]
+ }
+ Component lb_OrderID_FCOS id:lb_OrderID_FCOS_652
+ {
+ #keys: '[414724.0.290316653]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Description: '璁㈠崟ID'
+ Label: '璁㈠崟鍙凤細'
+ Taborder: 0
+ Text: '2021564445'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_spliteDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_spliteDetails.def
new file mode 100644
index 0000000..8537261
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_spliteDetails.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component pl_spliteDetails
+{
+ #keys: '[414724.0.294615998]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: list_SpliteDetails_136
+ Component Label130
+ {
+ #keys: '[414724.0.290316544]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '鎷嗚鏄庣粏锛�'
+ NumberOfColumns: 0
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Orientation: 'horizontal'
+ Taborder: 5
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_splite_info.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_splite_info.def
new file mode 100644
index 0000000..ed01ff6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Component_pl_splite_info.def
@@ -0,0 +1,50 @@
+Quintiq file version 2.0
+Component pl_splite_info
+{
+ #keys: '[414724.0.289968198]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ds_ForcastDate_FCOS id:ds_ForcastDate_FCOS_675
+ {
+ #keys: '[414724.0.289968265]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Label: '闇�姹傛椂闂达細'
+ Taborder: 0
+ ]
+ }
+ Component np_Qty_FCOS id:np_Qty_FCOS_656
+ {
+ #keys: '[414724.0.289968285]'
+ BaseType: 'WebNumberPicker'
+ Properties:
+ [
+ Label: '鏁伴噺锛�'
+ Min: '0'
+ PlaceHolder: '鏁伴噺涓嶅ぇ浜庤鍗曢噸閲�'
+ Step: 200
+ Taborder: 1
+ ]
+ }
+ Component btn_splite_add
+ {
+ #keys: '[414724.0.289968313]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Image: 'DOWN_PLUS'
+ Label: '鎷�'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_Cancel_FCOS_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_Cancel_FCOS_OnClick.def
new file mode 100644
index 0000000..a9de0e2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_Cancel_FCOS_OnClick.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#parent: Panel700/btn_Cancel_FCOS
+Response OnClick () id:Response_Panel700_btn_Cancel_FCOS_OnClick
+{
+ #keys: '[414724.0.294294721]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ // 鎿嶄綔鎭㈠锛氬垹闄ゆ柊澧炵殑鎷嗗垎鎿嶄綔锛岃繕鍘熷垹闄ょ殑鎷嗗垎鎿嶄綔
+ OrderInfo:=dh_Paramer_FCOS.Data();
+ if( not isnull( OrderInfo))
+ {
+ SOrder:=null( S_DT_CustomOrder,constcontent );
+ // 寰楀埌鎵�鏈夋媶鍒嗘搷浣滆褰�
+ traverse( MacroPlan,S_DT_SpliteStruct,obj,obj.ID_S_DT_CustomOrder() = OrderInfo.ID())
+ {
+ SOrder:=select( MacroPlan,S_DT_CustomOrder,objSO,objSO.ID_SpliteStruct() = obj.ID());
+ // 鏃犲搴旂殑鎷嗗垎璁㈠崟锛岃涓烘柊澧炵殑鎿嶄綔锛岃繘琛岀Щ闄�
+ if( isnull( SOrder))
+ {
+ obj.Delete();
+ }
+ else
+ {
+ // 濡傛灉鐘舵�佷负鍒犻櫎鐘舵�侊紝鍒欐仮澶嶅垹闄�
+ if( obj.Status()=0)
+ {
+ obj.Status(1);
+ }
+ }
+ }
+ }
+
+ FrmCustomOrderSpliteRow.Close();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_OK_FCOS_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_OK_FCOS_OnClick.def
new file mode 100644
index 0000000..7106975
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_Panel700_btn_OK_FCOS_OnClick.def
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#parent: Panel700/btn_OK_FCOS
+Response OnClick () id:Response_Panel700_btn_OK_FCOS_OnClick
+{
+ #keys: '[414724.0.294747709]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ // 浠庤鍗曡繘鍏ユ媶琛�
+ if( not isnull( dh_Paramer_FCOS.Data()))
+ {
+ // 灏嗚鍗曠Щ闄ゅ苟娣诲姞鍒伴鎷嗚璁㈠崟涓�
+ JResult := S_FunctionClass::SM_OrderToSpliteOrder( MacroPlan,dh_Paramer_FCOS.Data(),ef_SpliteReason_FCOS.Text());
+ if( JResult.Get( "Status").GetBoolean())
+ {
+ // 鐢熸垚鎷嗚璁㈠崟
+ FrmCustomOrderSpliteRow.Close();
+ if( JResult.Get( "Msg").GetString().Length()>0)
+ {
+ WebMessageBox::Information(JResult.Get( "Msg").GetString());
+ }
+ }
+ else
+ {
+ WebMessageBox::Warning(JResult.Get( "Msg").GetString());
+ }
+ }
+ else
+ {
+ // 鐢熸垚鎷嗚璁㈠崟
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_FCOS_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_FCOS_OnDataChanged.def
new file mode 100644
index 0000000..adb671f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_FCOS_OnDataChanged.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: dh_Paramer_FCOS
+Response OnDataChanged () id:Response_FrmCustomOrderSpliteRow_dh_Paramer_FCOS_OnDataChanged
+{
+ #keys: '[414724.0.285614685]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ Form.lb_OrderID_FCOS().Text(this.Data().OrderID());
+ Form.lb_CustomName_FCOS().Text(this.Data().CustomerName());
+ Form.lb_OrderRowNum_FCOS().Text(this.Data().OrderLineID());
+ Form.ds_ForcastDate_FCOS().Date(this.Data().EndDate());
+ Form.de_splisteDetailsFCOS().FixedFilter( "object.ID_S_DT_CustomOrder() = " + this.Data().ID().AsQUILL() + "and object.Status()=1");
+ HQty:=sum( MacroPlan,S_DT_SpliteStruct,Obj,Obj.ID_S_DT_CustomOrder()=this.Data().ID() and Obj.Status()=1,Obj.Qty());
+ Form.np_Qty_FCOS().Max(this.Data().Quantity()-HQty);
+ Form.np_Qty_FCOS().Number(this.Data().Quantity()-HQty);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_SCustomOrder_FCOS_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_SCustomOrder_FCOS_OnDataChanged.def
new file mode 100644
index 0000000..613258e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_dh_Paramer_SCustomOrder_FCOS_OnDataChanged.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: dh_Paramer_SCustomOrder_FCOS
+Response OnDataChanged () id:Response_FrmCustomOrderSpliteRow_dh_Paramer_SCustomOrder_FCOS_OnDataChanged
+{
+ #keys: '[414724.0.303295647]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.lb_OrderID_FCOS().Text(this.Data().OrderID());
+ Form.lb_CustomName_FCOS().Text(this.Data().CustomerName());
+ Form.lb_OrderRowNum_FCOS().Text(this.Data().OrderLineID());
+ //Form.np_Qty_FCOS().Max(this.Data().Quantity());
+ //Form.np_Qty_FCOS().Number(this.Data().Quantity());
+ Form.ds_ForcastDate_FCOS().Date(this.Data().EndDate());
+ Form.de_splisteDetailsFCOS().FixedFilter( "object.OrderID() = " + this.Data().OrderID().AsQUILL());
+ HQty:=sum( MacroPlan,S_DT_SpliteStruct,Obj,Obj.OrderID()=this.Data().OrderID(),Obj.Qty());
+ Form.np_Qty_FCOS().Max(this.Data().Quantity()-HQty);
+ Form.np_Qty_FCOS().Number(this.Data().Quantity()-HQty);
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_list_SpliteDetails_136_m_delete_list_SD_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_list_SpliteDetails_136_m_delete_list_SD_OnClick.def
new file mode 100644
index 0000000..c28bb18
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_list_SpliteDetails_136_m_delete_list_SD_OnClick.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+#parent: list_SpliteDetails_136
+Response OnClick (
+ S_DT_SpliteStruct selection
+) id:Response_list_SpliteDetails_136_m_delete_list_SD_OnClick
+{
+ #keys: '[414724.0.314884983]'
+ CanBindMultiple: false
+ DefinitionID => /list_SpliteDetails_136/Responsedef_list_SpliteDetails_136_WebMenu_OnClick
+ Initiator: 'm_delete_list_SD'
+ Precondition:
+ [*
+ return not isnull( selection);
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ OrderInfo:=dh_Paramer_FCOS.Data();
+ if( isnull( OrderInfo))
+ {
+ WebMessageBox::Warning( "鎿嶄綔澶辫触锛岃閲嶆柊閫夋嫨璁㈠崟杩涜鎷嗚锛�");
+ }
+ else
+ {
+ selection.Status(0);
+ Qty_Rows:=sum( MacroPlan,S_DT_SpliteStruct,obj,obj.ID_S_DT_CustomOrder()=OrderInfo.ID() and obj.Status()=1,obj.Qty());
+ Qty_Max:=0.0;
+ Qty_Max:= OrderInfo.Quantity()-Qty_Rows;
+
+ np_Qty_FCOS.Max(Qty_Max);
+ np_Qty_FCOS.Number(Qty_Max);
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_function_FCOS_btn_add_FCOS_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_function_FCOS_btn_add_FCOS_OnClick.def
new file mode 100644
index 0000000..7a88594
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_function_FCOS_btn_add_FCOS_OnClick.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: pl_function_FCOS/btn_add_FCOS
+Response OnClick () id:Response_FrmCustomOrderSpliteRow_btn_add_FCOS_OnClick
+{
+ #keys: '[414724.0.290316632]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( dh_Paramer_FCOS.Data());
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ JResult := S_FunctionClass::SM_OrderToSpliteOrder( MacroPlan,dh_Paramer_FCOS.Data(),ef_SpliteReason_FCOS.Text());
+ if( JResult.Get( "Status").GetBoolean())
+ {
+ FrmCustomOrderSpliteRow.Close();
+ if( JResult.Get( "Msg").GetString().Length()>0)
+ {
+ WebMessageBox::Information(JResult.Get( "Msg").GetString());
+ }
+ }
+ else
+ {
+ WebMessageBox::Warning(JResult.Get( "Msg").GetString());
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_splite_info_btn_splite_add_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_splite_info_btn_splite_add_OnClick.def
new file mode 100644
index 0000000..906fd8b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/Response_pl_splite_info_btn_splite_add_OnClick.def
@@ -0,0 +1,51 @@
+Quintiq file version 2.0
+#parent: pl_splite_info/btn_splite_add
+Response OnClick () id:Response_pl_splite_info_btn_splite_add_OnClick
+{
+ #keys: '[414724.0.292801656]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( dh_Paramer_FCOS.Data());
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // 鎷嗗垎涓�涓鍗�
+ SQty:=[Number]np_Qty_FCOS.Number().Round( 0);
+ if(SQty>0)
+ {
+ OrderInfo :=dh_Paramer_FCOS.Data();
+ MacroPlan.S_DT_SpliteStruct(relnew,ID := H_FunctionClass::SM_GenerateID( "OSR")
+ ,OrderID := OrderInfo.OrderID()
+ ,ID_S_DT_CustomOrder := OrderInfo.ID()
+ ,SpliteReason := ef_SpliteReason_FCOS.Text()
+ ,Qty :=SQty
+ ,Status := 1
+ ,ForecastDate:= ds_ForcastDate_FCOS.Date());
+ // 璁$畻鍓╀綑鎷嗗垎
+ LQty:= OrderInfo.Quantity()-sum(MacroPlan,S_DT_SpliteStruct,obj,obj.ID_S_DT_CustomOrder()=OrderInfo.ID() and obj.Status()=1,obj.Qty()) ;
+ np_Qty_FCOS.Max(LQty);
+ np_Qty_FCOS.Number(LQty);
+ if( np_Qty_FCOS.Max()=0)
+ {
+ WebMessageBox::Information( "璁㈠崟宸茬粡鍏ㄩ儴鎷嗗畬锛�");
+ }
+ }
+ else
+ {
+ if( np_Qty_FCOS.Max()=0)
+ {
+ WebMessageBox::Information( "璁㈠崟宸茬粡鍏ㄩ儴鎷嗗畬锛�");
+ }
+ else
+ {
+ WebMessageBox::Information( "璇疯皟鏁� 璁㈠崟鏁伴噺");
+ }
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/_ROOT_Component_FrmCustomOrderSpliteRow.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/_ROOT_Component_FrmCustomOrderSpliteRow.def
new file mode 100644
index 0000000..770a0fc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderSpliteRow/_ROOT_Component_FrmCustomOrderSpliteRow.def
@@ -0,0 +1,102 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FrmCustomOrderSpliteRow
+{
+ #keys: '[414724.0.285177352]'
+ Accessibility: 'Extensible'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pl_function_FCOS
+ Component lb_OrderRowNum_FCOS
+ {
+ #keys: '[414724.0.285570507]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '璁㈠崟琛屽彿锛�'
+ Taborder: 1
+ Text: '1.1'
+ ]
+ }
+ Component lb_CustomName_FCOS
+ {
+ #keys: '[414724.0.284201013]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '瀹㈡埛鍚嶇О锛�'
+ Taborder: 2
+ Text: '--灏忕背'
+ ]
+ }
+ Component ef_SpliteReason_FCOS
+ {
+ #keys: '[414724.0.285687770]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ Label: '鎷嗚鍘熷洜锛�'
+ MaxRows: 3
+ Multiline: true
+ PlaceHolder: '璇峰綍鍏�'
+ Taborder: 3
+ ]
+ }
+ Component dh_Paramer_FCOS
+ {
+ #keys: '[414724.0.285920379]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'CustomerOrder'
+ Properties:
+ [
+ Taborder: 8
+ ]
+ }
+ #child: pl_OperateBtns_FCOS
+ #child: pl_splite_info
+ Component dh_splitestruct
+ {
+ #keys: '[414724.0.294099522]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[S_DT_SpliteStruct]*'
+ Children:
+ [
+ Component DataExtractor645
+ {
+ #keys: '[414724.0.293956350]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'S_DT_SpliteStruct'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 7
+ ]
+ }
+ #child: pl_spliteDetails
+ Component dh_Paramer_SCustomOrder_FCOS
+ {
+ #keys: '[414724.0.303602526]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'S_DT_CustomOrder'
+ Properties:
+ [
+ Taborder: 9
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '璁㈠崟鎷嗚琛ㄥ崟'
+ Image: 'ARROW_FORK'
+ Title: '璁㈠崟鎷嗚'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel651.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel651.def
new file mode 100644
index 0000000..1b691ad
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel651.def
@@ -0,0 +1,44 @@
+Quintiq file version 2.0
+Component Panel651
+{
+ #keys: '[414724.0.302810875]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btn_delete_FCOV id:btn_delete_FCOV_902
+ {
+ #keys: '[414724.0.302810937]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'GARBAGE'
+ Label: '鍒犻櫎'
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ ResponseDefinition OnClick id:Responsedef_Panel651_btn_delete_FCOV_902_OnClick
+ {
+ #keys: '[414724.0.303035901]'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[575.0.41049375]'
+ Binding: 'lisplitedetails.Selection()'
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel713.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel713.def
new file mode 100644
index 0000000..79251c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_Panel713.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component Panel713
+{
+ #keys: '[414724.0.302735923]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: lisplitedetails_450
+ #child: Panel651
+ Component Label963
+ {
+ #keys: '[414724.0.302811066]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '鎷嗚鏄庣粏锛�'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ Visible: false
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_lisplitedetails\043450.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_lisplitedetails\043450.def"
new file mode 100644
index 0000000..97938b2
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_lisplitedetails\043450.def"
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+Component lisplitedetails id:lisplitedetails_450
+{
+ #keys: '[414724.0.302735971]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component de_liSpliteDetails
+ {
+ #keys: '[414724.0.302735972]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'S_DT_SpliteStruct'
+ ]
+ }
+ #child: listActionBarPage243_1
+ Component DataSetLevel404
+ {
+ #keys: '[414724.0.302735974]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu199_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"鍘熻鍗旾D","subtotals":"","tooltip":"","width":10,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastDate","title":"闇�姹傛棩鏈�","subtotals":"","tooltip":"","width":8,"display":"shown","editable":false,"attribute":"ForecastDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Qty","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Qty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Status","title":"鐘舵��","subtotals":"","tooltip":"","width":6,"display":"shown","editable":false,"attribute":"Status"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SDateTime","title":"鍙戦�佽嚦ERP鏃堕棿","subtotals":"","tooltip":"","width":8,"display":"shown","editable":false,"attribute":"SDateTime"}}]'
+ ContextMenu: 'listContextMenu199'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ MinimumColumns: 5
+ Taborder: 2
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage243\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage243\0431.def"
new file mode 100644
index 0000000..abde5ea
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage243\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage243 id:listActionBarPage243_1
+{
+ #keys: '[414724.0.302735973]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage978\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage978\0431.def"
new file mode 100644
index 0000000..2251089
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listActionBarPage978\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage978 id:listActionBarPage978_1
+{
+ #keys: '[414724.0.300320629]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu199\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu199\0431.def"
new file mode 100644
index 0000000..48d83e2
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu199\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenu199 id:listContextMenu199_1
+{
+ #keys: '[414724.0.302735975]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu655\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu655\0431.def"
new file mode 100644
index 0000000..89f84d3
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listContextMenu655\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenu655 id:listContextMenu655_1
+{
+ #keys: '[414724.0.300320631]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listOrders\043635.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listOrders\043635.def"
new file mode 100644
index 0000000..d533832
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_listOrders\043635.def"
@@ -0,0 +1,54 @@
+Quintiq file version 2.0
+Component listOrders id:listOrders_635
+{
+ #keys: '[414724.0.300320627]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractor726
+ {
+ #keys: '[414724.0.300320628]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ FixedFilter: 'object.ParentID()=""'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'S_DT_CustomOrder'
+ ]
+ }
+ #child: listActionBarPage978_1
+ Component DataSetLevel439
+ {
+ #keys: '[414724.0.300320630]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu655_1
+ Component DataSetLevel422
+ {
+ #keys: '[414724.0.315209998]'
+ BaseType: 'WebDataSetLevel'
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":-1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"閿�鍞儴闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"闇�姹傛棩鏈�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"CustomerID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"OrderID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"OrderLineID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"鍗曚綅","subtotals":"","tooltip":"","width":2,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SplitCount","title":"宸叉媶琛屾暟","subtotals":"","tooltip":"","width":3,"display":"shown","editable":false,"attribute":"SplitCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SpliteRenmain","title":"鍓╀綑鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SpliteRenmain"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SpliteReason","title":"鎷嗚鍘熷洜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SpliteReason"}}]'
+ RelationFromParent: 'Parent'
+ RelationRepeating: 'Parent'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":-1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"閿�鍞儴闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"浜у搧","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"闇�姹傛棩鏈�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"CustomerID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"OrderID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"OrderLineID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"鍗曚綅","subtotals":"","tooltip":"","width":2,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SplitCount","title":"宸叉媶琛屾暟","subtotals":"","tooltip":"","width":3,"display":"shown","editable":false,"attribute":"SplitCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SpliteRenmain","title":"鍓╀綑鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SpliteRenmain"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SpliteReason","title":"鎷嗚鍘熷洜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SpliteReason"}}]'
+ ContextMenu: 'listContextMenu655'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_DataView.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_DataView.def
new file mode 100644
index 0000000..60d10c1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_DataView.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component pl_DataView
+{
+ #keys: '[414724.0.300320579]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: listOrders_635
+ #child: Panel713
+ ]
+ Properties:
+ [
+ Orientation: 'horizontal'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_Function_FCOV.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_Function_FCOV.def
new file mode 100644
index 0000000..9ebb689
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Component_pl_Function_FCOV.def
@@ -0,0 +1,114 @@
+Quintiq file version 2.0
+Component pl_Function_FCOV
+{
+ #keys: '[414724.0.295131518]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btn_sendERP_FCOV
+ {
+ #keys: '[414724.0.295131536]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'EXPORT1'
+ Label: '鍙戦�佽嚦ERP'
+ Taborder: 0
+ ]
+ }
+ Component btn_huanyuan_FCOV
+ {
+ #keys: '[414724.0.295131559]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'ARROW_INTO'
+ Label: '杩樺師'
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ ResponseDefinition OnClick id:Responsedef_pl_Function_FCOV_btn_huanyuan_FCOV_OnClick
+ {
+ #keys: '[414724.0.303365423]'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[575.0.65737681]'
+ Binding: 'listOrders.Selection()'
+ }
+ ]
+ }
+ ]
+ }
+ Component btn_splitRow_FCOV
+ {
+ #keys: '[414724.0.295131572]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'GRAPH_FORK'
+ Label: '鎷嗚'
+ Taborder: 2
+ ]
+ ResponseDefinitions:
+ [
+ ResponseDefinition OnClick id:Responsedef_pl_Function_FCOV_btn_splitRow_FCOV_OnClick
+ {
+ #keys: '[414724.0.303295769]'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[575.0.74590107]'
+ Binding: 'listOrders.Selection()'
+ }
+ ]
+ }
+ ]
+ }
+ Component btn_deleteOrder_FCOV
+ {
+ #keys: '[414724.0.323807222]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '鍒犻櫎瀛愯鍗曟寜閽�'
+ Image: 'GARBAGE'
+ Label: '鍒犻櫎'
+ Taborder: 3
+ ]
+ ResponseDefinitions:
+ [
+ ResponseDefinition OnClick id:Responsedef_pl_Function_FCOV_btn_deleteOrder_FCOV_OnClick
+ {
+ #keys: '[414724.0.323889224]'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[607.0.62176891]'
+ Binding: 'listOrders.Selection()'
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_Panel651_btn_delete_FCOV_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_Panel651_btn_delete_FCOV_OnClick.def
new file mode 100644
index 0000000..9600271
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_Panel651_btn_delete_FCOV_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: Panel651/btn_delete_FCOV_902
+Response OnClick (
+ S_DT_SpliteStruct selection
+) id:Response_Panel651_btn_delete_FCOV_OnClick
+{
+ #keys: '[414724.0.302931548]'
+ CanBindMultiple: false
+ DefinitionID => /Panel651/Responsedef_Panel651_btn_delete_FCOV_902_OnClick
+ Precondition:
+ [*
+ return not isnull( selection);
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ selection.Delete();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_listOrders_635_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_listOrders_635_OnSelectionChanged.def
new file mode 100644
index 0000000..c1b8878
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_listOrders_635_OnSelectionChanged.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: listOrders_635
+Response OnSelectionChanged (
+ S_DT_CustomOrder selection
+) id:Response_listOrders_635_OnSelectionChanged
+{
+ #keys: '[414724.0.302697813]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ Form.de_liSpliteDetails().FixedFilter( "object.OrderID() = " + selection.OrderID().AsQUILL());
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_deleteOrder_FCOV_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_deleteOrder_FCOV_OnClick.def
new file mode 100644
index 0000000..db3389b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_deleteOrder_FCOV_OnClick.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+#parent: pl_Function_FCOV/btn_deleteOrder_FCOV
+Response OnClick (
+ S_DT_CustomOrder selection
+) id:Response_pl_Function_FCOV_btn_deleteOrder_FCOV_OnClick
+{
+ #keys: '[414724.0.321284302]'
+ CanBindMultiple: false
+ DefinitionID => /pl_Function_FCOV/Responsedef_pl_Function_FCOV_btn_deleteOrder_FCOV_OnClick
+ Precondition:
+ [*
+ return not isnull( selection) and selection.ParentID()<>"";
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ Num:=WebMessageBox::Question("纭鍒犻櫎锛�",true);
+ if( Num=0)
+ {
+ OrderInfo:=select( MacroPlan,SalesDemand.astype( CustomerOrder ),obj,obj.ID()=selection.ParentID());
+ SSI := select(MacroPlan,S_DT_SpliteStruct,obj,obj.ID() = selection.ID_SpliteStruct());
+ if( not isnull( SSI))
+ {
+ SSI.Status(0);
+ }
+ S_FunctionClass::SM_OrderToSpliteOrder( MacroPlan,OrderInfo,"");
+ if( not isnull( selection))
+ {
+ selection.Delete();
+ }
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_huanyuan_FCOV_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_huanyuan_FCOV_OnClick.def
new file mode 100644
index 0000000..73cacfd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_huanyuan_FCOV_OnClick.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+#parent: pl_Function_FCOV/btn_huanyuan_FCOV
+Response OnClick (
+ S_DT_CustomOrder selection
+) id:Response_pl_Function_FCOV_btn_huanyuan_FCOV_OnClick
+{
+ #keys: '[414724.0.303365693]'
+ CanBindMultiple: false
+ DefinitionID => /pl_Function_FCOV/Responsedef_pl_Function_FCOV_btn_huanyuan_FCOV_OnClick
+ Precondition:
+ [*
+ return not isnull( selection) and selection.ParentID()="";
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ Num:=WebMessageBox::Question( "纭瑕佽繕鍘熸媶鍒嗚鍗曞悧锛�
+
+ 娉ㄦ剰锛氳繕鍘熷悗宸叉媶鍒嗙粨鏋滃皢琚竻绌�",true);
+ if(Num=0)
+ {
+ // 娓呯悊鎷嗗垎璁板綍琛�
+ traverse( MacroPlan,S_DT_SpliteStruct,obj,obj.ID_S_DT_CustomOrder()=selection.ID())
+ {
+ obj.Delete();
+ }
+ // 娓呯悊鎷嗗垎璁㈠崟
+ traverse( MacroPlan,S_DT_CustomOrder,obj,obj.ParentID()=selection.ID())
+ {
+ obj.Delete();
+ }
+ // 娓呯悊璁㈠崟
+ selection.Delete();
+ WebMessageBox::Information( "璁㈠崟宸茬粡杩樺師");
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_sendERP_FCOV_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_sendERP_FCOV_OnClick.def
new file mode 100644
index 0000000..07696c8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_sendERP_FCOV_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pl_Function_FCOV/btn_sendERP_FCOV
+Response OnClick () id:Response_pl_Function_FCOV_btn_sendERP_FCOV_OnClick
+{
+ #keys: '[414724.0.295170066]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ WebMessageBox::Information( "鍔熻兘灏氭湭瀹炵幇锛屼簨浠舵墽琛屾垚鍔燂紒");
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_splitRow_FCOV_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_splitRow_FCOV_OnClick.def
new file mode 100644
index 0000000..1f1e7af
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/Response_pl_Function_FCOV_btn_splitRow_FCOV_OnClick.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: pl_Function_FCOV/btn_splitRow_FCOV
+Response OnClick (
+ S_DT_CustomOrder selection
+) id:Response_pl_Function_FCOV_btn_splitRow_FCOV_OnClick
+{
+ #keys: '[414724.0.303198250]'
+ CanBindMultiple: false
+ DefinitionID => /pl_Function_FCOV/Responsedef_pl_Function_FCOV_btn_splitRow_FCOV_OnClick
+ Precondition:
+ [*
+ return not isnull( selection) and selection.ParentID()="";
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ frmOrderSplite := construct( FrmCustomOrderSpliteRow );
+ orderInfo:= select( MacroPlan,SalesDemand.astype(CustomerOrder ),obj,obj.ID()=selection.ID());
+ frmOrderSplite.dh_Paramer_FCOS().Data(orderInfo);
+ frmOrderSplite.ShowModal();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/_ROOT_Component_FrmCustomOrderView.def b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/_ROOT_Component_FrmCustomOrderView.def
new file mode 100644
index 0000000..466ad03
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmCustomOrderView/_ROOT_Component_FrmCustomOrderView.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FrmCustomOrderView
+{
+ #keys: '[414724.0.294851286]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pl_Function_FCOV
+ #child: pl_DataView
+ ]
+ Properties:
+ [
+ Description: '棰勬媶琛岀獥浣�'
+ Image: 'ARROW_FORK'
+ Title: '鎷嗚璁㈠崟'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Capacity___sale_budge.vw b/_Main/UI/MacroPlannerWebApp/Views/Capacity___sale_budge.vw
deleted file mode 100644
index 901e27f..0000000
--- a/_Main/UI/MacroPlannerWebApp/Views/Capacity___sale_budge.vw
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-{
- viewcontents
- {
- image: 'CHART_HI_LO'
- page: 'ActionBarPageScenarioComparison'
- group: ''
- index: 0
- description: ''
- }
- formatversion: 2
- id: 'Capacity___sale_budge'
- name: 'Capacity & sale budge'
- isglobal: false
- isroot: true
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw b/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw
new file mode 100644
index 0000000..8a1455b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw
@@ -0,0 +1,204 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormPRHistoryData
+ {
+ title: 'QTIANMA_JITUAN::FormPRHistoryData'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPRHistoryData'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 15
+ columnPosition: 5
+ columnSpan: 8
+ }
+ components
+ {
+ FormPRHistoryData_PanelPRHistoryButton
+ {
+ sizeRatio: 1
+ }
+ FormPRHistoryData_ListPRHistoryData
+ {
+ }
+ FormPRHistoryData_DataSetLevelPRHistoryData
+ {
+ groupDepth: -1
+ column_BusinessType
+ {
+ columnId: 'BusinessType'
+ dataPath: 'BusinessType'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_MRPCalverNo
+ {
+ columnId: 'MRPCalverNo'
+ dataPath: 'MRPCalverNo'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_OrganCode
+ {
+ columnId: 'OrganCode'
+ dataPath: 'OrganCode'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_SendStatus
+ {
+ columnId: 'SendStatus'
+ dataPath: 'SendStatus'
+ dataType: 'string'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_ReleaseBy
+ {
+ columnId: 'ReleaseBy'
+ dataPath: 'ReleaseBy'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_ReceiveStatus
+ {
+ columnId: 'ReceiveStatus'
+ dataPath: 'ReceiveStatus'
+ dataType: 'string'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ column_ReceiveError
+ {
+ columnId: 'ReceiveError'
+ dataPath: 'ReceiveError'
+ dataType: 'string'
+ index: 9
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormPRData
+ {
+ title: 'QTIANMA_JITUAN::FormPRData'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPRData'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 15
+ columnPosition: 1
+ columnSpan: 4
+ }
+ components
+ {
+ FormPRData_PanelPRDataButton
+ {
+ sizeRatio: 1
+ }
+ FormPRData_ListPRData
+ {
+ }
+ FormPRData_DataSetLevelPRData
+ {
+ groupDepth: -1
+ column_MRPCalverNo
+ {
+ columnId: 'MRPCalverNo'
+ dataPath: 'MRPCalverNo'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: 'ActionBarPageData'
+ group: ''
+ index: 0
+ image: 'BEAR'
+ description: 'PR鐢宠'
+ }
+ formatversion: 2
+ id: 'PR_DATA'
+ name: 'PR_DATA'
+ isglobal: false
+ isroot: true
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw" "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw"
new file mode 100644
index 0000000..7311b81
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/Pegging\345\210\206\346\236\220.vw"
@@ -0,0 +1,519 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormPeggingResult
+ {
+ title: 'QTIANMA_JITUAN::FormPeggingResult'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPeggingResult'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 26
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormPeggingResult_PanelAbove
+ {
+ sizeRatio: 0.956634174600973
+ }
+ FormPeggingResult_PanelLeft
+ {
+ sizeRatio: 0.432843330645635
+ }
+ FormPeggingResult_PanelPeggingResult570
+ {
+ sizeRatio: 1
+ }
+ FormPeggingResult_pButton
+ {
+ sizeRatio: 1
+ }
+ FormPeggingResult_ListPeggingProduct_MP
+ {
+ }
+ FormPeggingResult_DataSetLevelPeggingProduct_MP
+ {
+ groupDepth: -1
+ sort: 'ProductID'
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ }
+ FormPeggingResult_PanelContent
+ {
+ sizeRatio: 1
+ activeChild: 'PanelSalesDemand'
+ }
+ FormPeggingResult_PanelSalesDemand
+ {
+ sizeRatio: 1
+ }
+ FormPeggingResult_ListPeggingProductInSalesDemandBase
+ {
+ }
+ FormPeggingResult_DataSetLevelPeggingProductInSalesDemandBase
+ {
+ groupDepth: -1
+ sort: 'StartDate'
+ column_SalesDemandBaseID
+ {
+ columnId: 'SalesDemandBaseID'
+ dataPath: 'SalesDemandBaseID'
+ dataType: 'string'
+ index: 0
+ subtotals: 'count'
+ width: 62
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 74
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 2
+ subtotals: 'sum'
+ width: 50
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 3
+ subtotals: ''
+ width: 83
+ }
+ }
+ FormPeggingResult_PanelStockingPoint
+ {
+ sizeRatio: 1
+ }
+ FormPeggingResult_ListStockingPoint
+ {
+ }
+ FormPeggingResult_DataSetLevelStockingPoint
+ {
+ groupDepth: -1
+ sort: 'ProductID,StockingPointID'
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 141
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 113
+ }
+ }
+ FormPeggingResult_PanelRight
+ {
+ sizeRatio: 1.56715666935437
+ }
+ FormPeggingResult_ListPeggingResult
+ {
+ }
+ FormPeggingResult_DataSetLevelPeggingResult
+ {
+ groupDepth: -1
+ sort: 'ProductID'
+ column_PeggingProductInSalesDemandBase_SalesDemandBaseID
+ {
+ columnId: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataPath: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataType: 'string'
+ index: 0
+ subtotals: 'count'
+ width: 122
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 164
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 92
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 3
+ subtotals: ''
+ width: 82
+ }
+ column_SupplyQuantity
+ {
+ columnId: 'SupplyQuantity'
+ dataPath: 'SupplyQuantity'
+ dataType: 'real'
+ index: 4
+ subtotals: ''
+ width: 86
+ }
+ column_ActualFulfillmentQuantity
+ {
+ columnId: 'ActualFulfillmentQuantity'
+ dataPath: 'ActualFulfillmentQuantity'
+ dataType: 'real'
+ index: 5
+ subtotals: ''
+ width: 97
+ }
+ column_FulfillmentQuantity
+ {
+ columnId: 'FulfillmentQuantity'
+ dataPath: 'FulfillmentQuantity'
+ dataType: 'real'
+ index: 6
+ subtotals: 'sum'
+ width: 108
+ }
+ column_SupplyType
+ {
+ columnId: 'SupplyType'
+ dataPath: 'SupplyType'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 78
+ }
+ column_UnitOfMeasurementName
+ {
+ columnId: 'UnitOfMeasurementName'
+ dataPath: 'UnitOfMeasurementName'
+ dataType: 'string'
+ index: 8
+ subtotals: ''
+ width: 50
+ }
+ column_NumberOfPlies
+ {
+ columnId: 'NumberOfPlies'
+ dataPath: 'NumberOfPlies'
+ dataType: 'number'
+ index: 9
+ subtotals: ''
+ width: 56
+ }
+ }
+ FormPeggingResult_ListPeggingResultProductInStockingPoint_MP
+ {
+ }
+ FormPeggingResult_DataSetLevelRight
+ {
+ groupDepth: -1
+ sort: 'ProductID,StockingPointID,StartDate'
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 0
+ subtotals: 'count'
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 2
+ subtotals: ''
+ width: 117
+ }
+ column_SupplyQuantity
+ {
+ columnId: 'SupplyQuantity'
+ dataPath: 'SupplyQuantity'
+ dataType: 'real'
+ index: 3
+ subtotals: 'sum'
+ width: 95
+ }
+ column_ActualFulfillmentQuantity
+ {
+ columnId: 'ActualFulfillmentQuantity'
+ dataPath: 'ActualFulfillmentQuantity'
+ dataType: 'real'
+ index: 4
+ subtotals: ''
+ width: 109
+ }
+ column_FulfillmentQuantity
+ {
+ columnId: 'FulfillmentQuantity'
+ dataPath: 'FulfillmentQuantity'
+ dataType: 'real'
+ index: 5
+ subtotals: 'sum'
+ width: 137
+ }
+ column_SupplyType
+ {
+ columnId: 'SupplyType'
+ dataPath: 'SupplyType'
+ dataType: 'string'
+ index: 6
+ subtotals: ''
+ width: 93
+ }
+ column_UnitOfMeasurementName
+ {
+ columnId: 'UnitOfMeasurementName'
+ dataPath: 'UnitOfMeasurementName'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 57
+ }
+ column_NumberOfPlies
+ {
+ columnId: 'NumberOfPlies'
+ dataPath: 'NumberOfPlies'
+ dataType: 'number'
+ index: 8
+ subtotals: ''
+ width: 56
+ }
+ }
+ FormPeggingResult_PanelBelow
+ {
+ sizeRatio: 1.04336582539903
+ }
+ FormPeggingResult_ListPeggingAllResult
+ {
+ }
+ FormPeggingResult_DataSetLevelPeggingAllResult
+ {
+ groupDepth: 2
+ sort: 'ProductID,StockingPointID,StartDate'
+ column_PeggingProductInSalesDemandBase_SalesDemandBaseID
+ {
+ columnId: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataPath: 'PeggingProductInSalesDemandBase.SalesDemandBaseID'
+ dataType: 'string'
+ index: 0
+ subtotals: 'count'
+ width: 150
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_SupplyQuantity
+ {
+ columnId: 'SupplyQuantity'
+ dataPath: 'SupplyQuantity'
+ dataType: 'real'
+ index: 4
+ subtotals: 'max'
+ width: 150
+ }
+ column_ActualFulfillmentQuantity
+ {
+ columnId: 'ActualFulfillmentQuantity'
+ dataPath: 'ActualFulfillmentQuantity'
+ dataType: 'real'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_FulfillmentQuantity
+ {
+ columnId: 'FulfillmentQuantity'
+ dataPath: 'FulfillmentQuantity'
+ dataType: 'real'
+ index: 6
+ subtotals: 'sum'
+ width: 150
+ }
+ column_SupplyType
+ {
+ columnId: 'SupplyType'
+ dataPath: 'SupplyType'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_UnitOfMeasurementName
+ {
+ columnId: 'UnitOfMeasurementName'
+ dataPath: 'UnitOfMeasurementName'
+ dataType: 'string'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ }
+ FormPeggingResult_ListPeggingAllResultProductInStockingPoint_MP
+ {
+ }
+ FormPeggingResult_DataSetLevelBelow
+ {
+ groupDepth: 2
+ sort: 'ProductID,StockingPointID,StartDate'
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_SupplyQuantity
+ {
+ columnId: 'SupplyQuantity'
+ dataPath: 'SupplyQuantity'
+ dataType: 'real'
+ index: 3
+ subtotals: 'max'
+ width: 150
+ }
+ column_ActualFulfillmentQuantity
+ {
+ columnId: 'ActualFulfillmentQuantity'
+ dataPath: 'ActualFulfillmentQuantity'
+ dataType: 'real'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_FulfillmentQuantity
+ {
+ columnId: 'FulfillmentQuantity'
+ dataPath: 'FulfillmentQuantity'
+ dataType: 'real'
+ index: 5
+ subtotals: 'sum'
+ width: 150
+ }
+ column_SupplyType
+ {
+ columnId: 'SupplyType'
+ dataPath: 'SupplyType'
+ dataType: 'string'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_UnitOfMeasurementName
+ {
+ columnId: 'UnitOfMeasurementName'
+ dataPath: 'UnitOfMeasurementName'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'VIEW'
+ description: ''
+ }
+ formatversion: 2
+ id: 'Pegging鍒嗘瀽'
+ name: '鍒嗘瀽Pegging'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw b/_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw
index 68006ad..f338cc4 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw
@@ -35,6 +35,26 @@
width: 150
}
}
+ FormBusinessType_PanelBusinessType
+ {
+ sizeRatio: 1
+ }
+ FormBusinessType_ListOrganCode
+ {
+ }
+ FormBusinessType_DataSetLevelOrganCode
+ {
+ groupDepth: -1
+ column_OrganCodeName
+ {
+ columnId: 'OrganCodeName'
+ dataPath: 'OrganCodeName'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ }
}
}
form_FormPriorityResult
@@ -417,7 +437,7 @@
dataType: 'real'
index: 1
subtotals: ''
- width: 496
+ width: 71
}
column_Desc
{
@@ -554,2187 +574,14 @@
}
}
}
- form_FormOptimizerPuzzles
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 0
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 1
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_1
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 2
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_1
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 3
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_2
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 4
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_2
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 5
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_3
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 6
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_3
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 7
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_4
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 8
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_4
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 9
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_5
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 10
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_5
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 11
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_6
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 12
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_6
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 13
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_7
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 14
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_7
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 15
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormSanityCheck
- {
- title: 'Sanity Check'
- shown: false
- componentID: 'FormSanityCheck'
- layout
- {
- mode: 'dockright'
- index: 16
- }
- components
- {
- FormSanityCheck_PanelSanityCheckToolbar
- {
- sizeRatio: 1
- }
- FormSanityCheck_PanelSanityCheckContent
- {
- sizeRatio: 1
- }
- FormSanityCheck_PanelSanityCheckGroup
- {
- sizeRatio: 4
- }
- FormSanityCheck_ListSanityCheckGroup
- {
- }
- FormSanityCheck_DataSetLevelSanityCheckGroup
- {
- groupDepth: -1
- sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Show
- {
- columnId: 'Show'
- dataPath: 'Show'
- dataType: 'string'
- index: 1
- subtotals: ''
- width: 32
- }
- column_Category
- {
- columnId: 'Category'
- dataPath: 'Category'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 32
- }
- column_Group
- {
- columnId: 'Group'
- dataPath: 'Group'
- dataType: 'string'
- index: 3
- subtotals: ''
- width: 270
- }
- column__Expr3
- {
- columnId: '_Expr3'
- dataPath: '_Expr3'
- dataType: 'number'
- index: 4
- subtotals: ''
- width: 95
- }
- }
- FormSanityCheck_PanelSanityCheckMessage
- {
- sizeRatio: 5
- }
- FormSanityCheck_ListSanityCheckMessage
- {
- }
- FormSanityCheck_DataSetLevelSanityCheckMessage
- {
- groupDepth: -1
- sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Show
- {
- columnId: 'Show'
- dataPath: 'Show'
- dataType: 'string'
- index: 1
- subtotals: ''
- width: 32
- }
- column_Category
- {
- columnId: 'Category'
- dataPath: 'Category'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 32
- }
- column_Messages
- {
- columnId: 'Messages'
- dataPath: 'Messages'
- dataType: 'string'
- index: 3
- subtotals: ''
- width: 32
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- index: 4
- subtotals: ''
- width: 585
- }
- }
- }
- }
- form_FormOptimizerPuzzles_8
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 17
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_8
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 18
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_9
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 19
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_9
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 20
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_10
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 21
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_10
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 22
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_11
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 23
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_11
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 24
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_12
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 25
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_12
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 26
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_13
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 27
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_13
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 28
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_14
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 29
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_14
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 30
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormOptimizerPuzzles_15
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 31
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI_15
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 32
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormSanityCheck_1
- {
- title: 'Sanity Check'
- shown: false
- componentID: 'FormSanityCheck'
- layout
- {
- mode: 'dockright'
- index: 33
- }
- components
- {
- FormSanityCheck_PanelSanityCheckToolbar
- {
- sizeRatio: 1
- }
- FormSanityCheck_PanelSanityCheckContent
- {
- sizeRatio: 1
- }
- FormSanityCheck_PanelSanityCheckGroup
- {
- sizeRatio: 4
- }
- FormSanityCheck_ListSanityCheckGroup
- {
- }
- FormSanityCheck_DataSetLevelSanityCheckGroup
- {
- groupDepth: -1
- sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Show
- {
- columnId: 'Show'
- dataPath: 'Show'
- dataType: 'string'
- index: 1
- subtotals: ''
- width: 32
- }
- column_Category
- {
- columnId: 'Category'
- dataPath: 'Category'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 32
- }
- column_Group
- {
- columnId: 'Group'
- dataPath: 'Group'
- dataType: 'string'
- index: 3
- subtotals: ''
- width: 270
- }
- column__Expr3
- {
- columnId: '_Expr3'
- dataPath: '_Expr3'
- dataType: 'number'
- index: 4
- subtotals: ''
- width: 95
- }
- }
- FormSanityCheck_PanelSanityCheckMessage
- {
- sizeRatio: 5
- }
- FormSanityCheck_ListSanityCheckMessage
- {
- }
- FormSanityCheck_DataSetLevelSanityCheckMessage
- {
- groupDepth: -1
- sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Show
- {
- columnId: 'Show'
- dataPath: 'Show'
- dataType: 'string'
- index: 1
- subtotals: ''
- width: 32
- }
- column_Category
- {
- columnId: 'Category'
- dataPath: 'Category'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 32
- }
- column_Messages
- {
- columnId: 'Messages'
- dataPath: 'Messages'
- dataType: 'string'
- index: 3
- subtotals: ''
- width: 32
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- index: 4
- subtotals: ''
- width: 585
- }
- }
- }
- }
- form_FormKPI_16
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 34
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Metals_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales'
- Food_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales'
- Empty_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 0
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormKPI_17
- {
- title: 'KPI Dashboard'
- shown: false
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 35
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPIDashboard'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Metals_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales'
- Food_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales'
- Empty_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 0
- subtotals: ''
- width: 200
- }
- }
- }
- }
- form_FormPriorities
- {
- title: 'Priorities'
- shown: true
- componentID: 'FormPriorities'
- layout
- {
- mode: 'dockright'
- index: 36
- }
- components
- {
- FormPriorities_ListPriority
- {
- }
- FormPriorities_DataSetLevelPriority
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- index: 0
- subtotals: ''
- width: 32
- }
- column_ImgHasSalesDemand
- {
- columnId: 'ImgHasSalesDemand'
- dataPath: 'ImgHasSalesDemand'
- dataType: 'string'
- index: 1
- subtotals: ''
- width: 30
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 95
- }
- column_Weight
- {
- columnId: 'Weight'
- dataPath: 'Weight'
- dataType: 'real'
- index: 3
- subtotals: ''
- width: 95
- }
- }
- }
- }
}
userconfigurableinformation
{
}
+ index: 0
+ image: ''
page: ''
group: ''
- index: 15
- image: ''
description: ''
}
formatversion: 2
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\345\205\250\345\261\200\345\217\202\346\225\260.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\345\205\250\345\261\200\345\217\202\346\225\260.vw"
new file mode 100644
index 0000000..3e9b9c2
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\345\205\250\345\261\200\345\217\202\346\225\260.vw"
@@ -0,0 +1,351 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_legacy_1
+ {
+ title: 'Scenario manager'
+ shown: true
+ componentID: 'FormScenarioManager'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormScenarioManager_ListScenario
+ {
+ }
+ FormScenarioManager_DataSetLevelScenario
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 90
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 277
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 2
+ subtotals: ''
+ width: 106
+ }
+ column_ChangedOn
+ {
+ columnId: 'ChangedOn'
+ dataPath: 'ChangedOn'
+ dataType: 'datetime'
+ title: 'Changed on'
+ index: 3
+ subtotals: ''
+ width: 99
+ }
+ column_StorageMode
+ {
+ columnId: 'StorageMode'
+ dataPath: 'StorageMode'
+ dataType: 'string'
+ title: 'StorageMode'
+ index: 4
+ subtotals: ''
+ width: 40
+ }
+ }
+ }
+ }
+ form_legacy_2
+ {
+ title: 'Assumptions'
+ shown: true
+ componentID: 'FormAssumptions'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 9
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormAssumptions_ListAssumptions
+ {
+ }
+ FormAssumptions_DataSetLevelAssumptions
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ title: '绫诲埆'
+ index: 1
+ subtotals: ''
+ width: 108
+ }
+ column_Importance
+ {
+ columnId: 'Importance'
+ dataPath: 'Importance'
+ dataType: 'string'
+ title: '閲嶈鎬�'
+ index: 2
+ subtotals: ''
+ width: 110
+ }
+ column_Title
+ {
+ columnId: 'Title'
+ dataPath: 'Title'
+ dataType: 'string'
+ title: '鏍囬'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_CreatedOn
+ {
+ columnId: 'CreatedOn'
+ dataPath: 'CreatedOn'
+ dataType: 'datetime'
+ title: 'Created on'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormScenariosKPIsComparison
+ {
+ title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ shown: true
+ componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 6
+ columnSpan: 7
+ }
+ components
+ {
+ FormScenariosKPIsComparison_MatrixEditorFinancialKPIs
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 200
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_DisplayValue
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DisplayValue'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: ''
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'KPISetting.DisplayIndex'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: 'applicationDevelopmentActionBarPageDef'
+ group: ''
+ index: 4
+ image: 'EARTH2'
+ description: ''
+ }
+ formatversion: 2
+ id: '鍏ㄥ眬鍙傛暟'
+ name: '鍏ㄥ眬鍙傛暟'
+ isglobal: false
+ isroot: true
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw"
index 64db9ed..d6fafb3 100644
--- "a/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw"
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\345\271\264\345\272\246\344\272\247\351\224\200\345\244\215\347\233\230.vw"
@@ -12,495 +12,59 @@
layout
{
mode: 'open'
- rowPosition: 1
- rowSpan: 4
+ rowPosition: 6
+ rowSpan: 8
columnPosition: 1
- columnSpan: 2
+ columnSpan: 12
}
components
{
+ FormCapacityAndSaleBudge_pButton
+ {
+ sizeRatio: 1
+ }
FormCapacityAndSaleBudge_ListCapacityAndSaleBudge
{
}
FormCapacityAndSaleBudge_DataSetLevelCapacityAndSaleBudge
{
groupDepth: -1
- column_Deleted
- {
- columnId: 'Deleted'
- dataPath: 'Deleted'
- dataType: 'boolean'
- index: 0
- subtotals: ''
- width: 150
- }
- column_YearNo
- {
- columnId: 'YearNo'
- dataPath: 'YearNo'
- dataType: 'number'
- index: 1
- subtotals: ''
- width: 150
- }
- column_OrgCode
- {
- columnId: 'OrgCode'
- dataPath: 'OrgCode'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 150
- }
- column_DisplayTechnology
- {
- columnId: 'DisplayTechnology'
- dataPath: 'DisplayTechnology'
- dataType: 'string'
- index: 3
- subtotals: ''
- width: 150
- }
+ sort: 'YearNo,ProductID'
column_BusinessType
{
columnId: 'BusinessType'
dataPath: 'BusinessType'
dataType: 'string'
- index: 4
+ index: 0
subtotals: ''
- width: 150
+ width: 107
}
- column_LineAndSpecification
+ column_ProductID
{
- columnId: 'LineAndSpecification'
- dataPath: 'LineAndSpecification'
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
dataType: 'string'
- index: 5
+ index: 1
subtotals: ''
- width: 150
+ width: 178
}
- column_ProductCode
+ column_OrganCode
{
- columnId: 'ProductCode'
- dataPath: 'ProductCode'
+ columnId: 'OrganCode'
+ dataPath: 'OrganCode'
dataType: 'string'
- index: 6
+ index: 2
subtotals: ''
- width: 150
+ width: 98
}
- column_PlaceOfProductionOfArray
+ column_YearNo
{
- columnId: 'PlaceOfProductionOfArray'
- dataPath: 'PlaceOfProductionOfArray'
+ columnId: 'YearNo'
+ dataPath: 'YearNo'
dataType: 'string'
- index: 7
+ index: 3
subtotals: ''
- width: 150
- }
- column_PlaceOfProductionOfEvaporation
- {
- columnId: 'PlaceOfProductionOfEvaporation'
- dataPath: 'PlaceOfProductionOfEvaporation'
- dataType: 'string'
- index: 8
- subtotals: ''
- width: 150
- }
- column_Resolution
- {
- columnId: 'Resolution'
- dataPath: 'Resolution'
- dataType: 'string'
- index: 9
- subtotals: ''
- width: 150
- }
- column_ShippingForm
- {
- columnId: 'ShippingForm'
- dataPath: 'ShippingForm'
- dataType: 'string'
- index: 10
- subtotals: ''
- width: 150
- }
- column_NumberOfCut
- {
- columnId: 'NumberOfCut'
- dataPath: 'NumberOfCut'
- dataType: 'string'
- index: 11
- subtotals: ''
- width: 150
- }
- column_CapacityEquivalent
- {
- columnId: 'CapacityEquivalent'
- dataPath: 'CapacityEquivalent'
- dataType: 'string'
- index: 12
- subtotals: ''
- width: 150
- }
- column_NumberOfMask
- {
- columnId: 'NumberOfMask'
- dataPath: 'NumberOfMask'
- dataType: 'string'
- index: 13
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth1
- {
- columnId: 'CapacityInPCSInMonth1'
- dataPath: 'CapacityInPCSInMonth1'
- dataType: 'real'
- index: 14
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth2
- {
- columnId: 'CapacityInPCSInMonth2'
- dataPath: 'CapacityInPCSInMonth2'
- dataType: 'real'
- index: 15
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth3
- {
- columnId: 'CapacityInPCSInMonth3'
- dataPath: 'CapacityInPCSInMonth3'
- dataType: 'real'
- index: 16
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth4
- {
- columnId: 'CapacityInPCSInMonth4'
- dataPath: 'CapacityInPCSInMonth4'
- dataType: 'real'
- index: 17
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth5
- {
- columnId: 'CapacityInPCSInMonth5'
- dataPath: 'CapacityInPCSInMonth5'
- dataType: 'real'
- index: 18
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth6
- {
- columnId: 'CapacityInPCSInMonth6'
- dataPath: 'CapacityInPCSInMonth6'
- dataType: 'real'
- index: 19
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth7
- {
- columnId: 'CapacityInPCSInMonth7'
- dataPath: 'CapacityInPCSInMonth7'
- dataType: 'real'
- index: 20
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth8
- {
- columnId: 'CapacityInPCSInMonth8'
- dataPath: 'CapacityInPCSInMonth8'
- dataType: 'real'
- index: 21
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth9
- {
- columnId: 'CapacityInPCSInMonth9'
- dataPath: 'CapacityInPCSInMonth9'
- dataType: 'real'
- index: 22
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth10
- {
- columnId: 'CapacityInPCSInMonth10'
- dataPath: 'CapacityInPCSInMonth10'
- dataType: 'real'
- index: 23
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth11
- {
- columnId: 'CapacityInPCSInMonth11'
- dataPath: 'CapacityInPCSInMonth11'
- dataType: 'real'
- index: 24
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSInMonth12
- {
- columnId: 'CapacityInPCSInMonth12'
- dataPath: 'CapacityInPCSInMonth12'
- dataType: 'real'
- index: 25
- subtotals: ''
- width: 150
- }
- column_CapacityInPCSTotal
- {
- columnId: 'CapacityInPCSTotal'
- dataPath: 'CapacityInPCSTotal'
- dataType: 'real'
- index: 26
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth1
- {
- columnId: 'CapacityInSheetInMonth1'
- dataPath: 'CapacityInSheetInMonth1'
- dataType: 'real'
- index: 27
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth2
- {
- columnId: 'CapacityInSheetInMonth2'
- dataPath: 'CapacityInSheetInMonth2'
- dataType: 'real'
- index: 28
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth3
- {
- columnId: 'CapacityInSheetInMonth3'
- dataPath: 'CapacityInSheetInMonth3'
- dataType: 'real'
- index: 29
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth4
- {
- columnId: 'CapacityInSheetInMonth4'
- dataPath: 'CapacityInSheetInMonth4'
- dataType: 'real'
- index: 30
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth5
- {
- columnId: 'CapacityInSheetInMonth5'
- dataPath: 'CapacityInSheetInMonth5'
- dataType: 'real'
- index: 31
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth6
- {
- columnId: 'CapacityInSheetInMonth6'
- dataPath: 'CapacityInSheetInMonth6'
- dataType: 'real'
- index: 32
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth7
- {
- columnId: 'CapacityInSheetInMonth7'
- dataPath: 'CapacityInSheetInMonth7'
- dataType: 'real'
- index: 33
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth8
- {
- columnId: 'CapacityInSheetInMonth8'
- dataPath: 'CapacityInSheetInMonth8'
- dataType: 'real'
- index: 34
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth9
- {
- columnId: 'CapacityInSheetInMonth9'
- dataPath: 'CapacityInSheetInMonth9'
- dataType: 'real'
- index: 35
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth10
- {
- columnId: 'CapacityInSheetInMonth10'
- dataPath: 'CapacityInSheetInMonth10'
- dataType: 'real'
- index: 36
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth11
- {
- columnId: 'CapacityInSheetInMonth11'
- dataPath: 'CapacityInSheetInMonth11'
- dataType: 'real'
- index: 37
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetInMonth12
- {
- columnId: 'CapacityInSheetInMonth12'
- dataPath: 'CapacityInSheetInMonth12'
- dataType: 'real'
- index: 38
- subtotals: ''
- width: 150
- }
- column_CapacityInSheetTotal
- {
- columnId: 'CapacityInSheetTotal'
- dataPath: 'CapacityInSheetTotal'
- dataType: 'real'
- index: 39
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth1
- {
- columnId: 'SaleAmountInMonth1'
- dataPath: 'SaleAmountInMonth1'
- dataType: 'real'
- index: 40
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth2
- {
- columnId: 'SaleAmountInMonth2'
- dataPath: 'SaleAmountInMonth2'
- dataType: 'real'
- index: 41
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth3
- {
- columnId: 'SaleAmountInMonth3'
- dataPath: 'SaleAmountInMonth3'
- dataType: 'real'
- index: 42
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth5
- {
- columnId: 'SaleAmountInMonth5'
- dataPath: 'SaleAmountInMonth5'
- dataType: 'real'
- index: 43
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth4
- {
- columnId: 'SaleAmountInMonth4'
- dataPath: 'SaleAmountInMonth4'
- dataType: 'real'
- index: 44
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth6
- {
- columnId: 'SaleAmountInMonth6'
- dataPath: 'SaleAmountInMonth6'
- dataType: 'real'
- index: 45
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth7
- {
- columnId: 'SaleAmountInMonth7'
- dataPath: 'SaleAmountInMonth7'
- dataType: 'real'
- index: 46
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth8
- {
- columnId: 'SaleAmountInMonth8'
- dataPath: 'SaleAmountInMonth8'
- dataType: 'real'
- index: 47
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth9
- {
- columnId: 'SaleAmountInMonth9'
- dataPath: 'SaleAmountInMonth9'
- dataType: 'real'
- index: 48
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth10
- {
- columnId: 'SaleAmountInMonth10'
- dataPath: 'SaleAmountInMonth10'
- dataType: 'real'
- index: 49
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth11
- {
- columnId: 'SaleAmountInMonth11'
- dataPath: 'SaleAmountInMonth11'
- dataType: 'real'
- index: 50
- subtotals: ''
- width: 150
- }
- column_SaleAmountInMonth12
- {
- columnId: 'SaleAmountInMonth12'
- dataPath: 'SaleAmountInMonth12'
- dataType: 'real'
- index: 51
- subtotals: ''
- width: 150
- }
- column_SaleAmountTotal
- {
- columnId: 'SaleAmountTotal'
- dataPath: 'SaleAmountTotal'
- dataType: 'real'
- index: 52
- subtotals: ''
- width: 150
+ width: 84
}
}
}
@@ -513,20 +77,24 @@
layout
{
mode: 'open'
- rowPosition: 5
- rowSpan: 10
- columnPosition: 5
- columnSpan: 8
+ rowPosition: 14
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 12
}
components
{
+ FormCapacityAndSaleBudgeCompare_pButton
+ {
+ sizeRatio: 1
+ }
FormCapacityAndSaleBudgeCompare_MatrixEditorCapacityAndSaleBudgeCompare
{
gridColor: '#c4c4c4'
- totalHeaderWidth: 200
+ totalHeaderWidth: 67
attributeHeaderWidthRatio: 0.6
nameHeaderWidthRatio: 0.4
- columnWidth: 100
+ columnWidth: 264
horizontalGrid: true
verticalGrid: true
backendState
@@ -576,7 +144,7 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 4
+ rowSpan: 5
columnPosition: 3
columnSpan: 2
}
@@ -588,6 +156,7 @@
FormCapacityAndSaleBudgeFilterItem_DataSetLevelCapacityAndSaleBudgeFilterItem
{
groupDepth: -1
+ sort: 'DESC:ItemName'
column_ItemName
{
columnId: 'ItemName'
@@ -608,13 +177,17 @@
layout
{
mode: 'open'
- rowPosition: 5
- rowSpan: 11
+ rowPosition: 22
+ rowSpan: 13
columnPosition: 1
- columnSpan: 4
+ columnSpan: 12
}
components
{
+ FormCapacityAndSaleBudgeChart_pFilterCriteria
+ {
+ sizeRatio: 1
+ }
FormCapacityAndSaleBudgeChart_ChartCapacityAndSaleBudgeChart
{
SynchronizationGroup: ''
@@ -636,7 +209,7 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 4
+ rowSpan: 5
columnPosition: 5
columnSpan: 2
}
@@ -648,6 +221,7 @@
FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_DataSetLevelCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
{
groupDepth: -1
+ sort: 'DESC:PlaceOfProductionOfArray'
column_PlaceOfProductionOfArray
{
columnId: 'PlaceOfProductionOfArray'
@@ -669,8 +243,8 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 4
- columnPosition: 7
+ rowSpan: 5
+ columnPosition: 9
columnSpan: 2
}
components
@@ -702,8 +276,8 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 4
- columnPosition: 11
+ rowSpan: 5
+ columnPosition: 7
columnSpan: 2
}
components
@@ -714,6 +288,7 @@
FormCapacityAndSaleBudgeFilterBusinessType_DataSetLevelCapacityAndSaleBudgeFilterBusinessType
{
groupDepth: -1
+ sort: 'DESC:BusinessType'
column_BusinessType
{
columnId: 'BusinessType'
@@ -735,8 +310,8 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 4
- columnPosition: 9
+ rowSpan: 5
+ columnPosition: 11
columnSpan: 2
}
components
@@ -759,14 +334,219 @@
}
}
}
+ form_FormScenarioManager
+ {
+ title: 'QLibMacroPlannerWebUI::FormScenarioManager'
+ shown: true
+ componentID: 'QLibMacroPlannerWebUI::FormScenarioManager'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 5
+ columnPosition: 1
+ columnSpan: 2
+ }
+ components
+ {
+ FormScenarioManager_ListScenario
+ {
+ }
+ FormScenarioManager_DataSetLevelScenario
+ {
+ groupDepth: -1
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 240
+ }
+ }
+ }
+ }
+ form_FormSummaryOfInboundTransaction
+ {
+ title: 'QTIANMA_JITUAN::FormSummaryOfInboundTransaction'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormSummaryOfInboundTransaction'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 35
+ rowSpan: 12
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormSummaryOfInboundTransaction_pButton
+ {
+ sizeRatio: 1
+ }
+ FormSummaryOfInboundTransaction_ListSummaryOfInboundTransaction
+ {
+ }
+ FormSummaryOfInboundTransaction_DataSetLevelSummaryOfInboundTransaction
+ {
+ groupDepth: -1
+ column_Item
+ {
+ columnId: 'Item'
+ dataPath: 'Item'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_OrganCode
+ {
+ columnId: 'OrganCode'
+ dataPath: 'OrganCode'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_OrganName
+ {
+ columnId: 'OrganName'
+ dataPath: 'OrganName'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_PlantName
+ {
+ columnId: 'PlantName'
+ dataPath: 'PlantName'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_Total1
+ {
+ columnId: 'Total1'
+ dataPath: 'Total1'
+ dataType: 'real'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_Total2
+ {
+ columnId: 'Total2'
+ dataPath: 'Total2'
+ dataType: 'real'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_Total3
+ {
+ columnId: 'Total3'
+ dataPath: 'Total3'
+ dataType: 'real'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_Total4
+ {
+ columnId: 'Total4'
+ dataPath: 'Total4'
+ dataType: 'real'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_Total5
+ {
+ columnId: 'Total5'
+ dataPath: 'Total5'
+ dataType: 'real'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ column_Total6
+ {
+ columnId: 'Total6'
+ dataPath: 'Total6'
+ dataType: 'real'
+ index: 9
+ subtotals: ''
+ width: 150
+ }
+ column_Total7
+ {
+ columnId: 'Total7'
+ dataPath: 'Total7'
+ dataType: 'real'
+ index: 10
+ subtotals: ''
+ width: 150
+ }
+ column_Total8
+ {
+ columnId: 'Total8'
+ dataPath: 'Total8'
+ dataType: 'real'
+ index: 11
+ subtotals: ''
+ width: 150
+ }
+ column_Total9
+ {
+ columnId: 'Total9'
+ dataPath: 'Total9'
+ dataType: 'real'
+ index: 12
+ subtotals: ''
+ width: 150
+ }
+ column_Total10
+ {
+ columnId: 'Total10'
+ dataPath: 'Total10'
+ dataType: 'real'
+ index: 13
+ subtotals: ''
+ width: 150
+ }
+ column_Total11
+ {
+ columnId: 'Total11'
+ dataPath: 'Total11'
+ dataType: 'real'
+ index: 14
+ subtotals: ''
+ width: 150
+ }
+ column_Total12
+ {
+ columnId: 'Total12'
+ dataPath: 'Total12'
+ dataType: 'real'
+ index: 15
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
}
userconfigurableinformation
{
}
- image: 'PIG'
page: ''
group: ''
index: 0
+ image: 'PIG'
description: ''
}
formatversion: 2
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
index 31929b6..7ca33c1 100644
--- "a/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
@@ -13,7 +13,7 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 16
+ rowSpan: 17
columnPosition: 1
columnSpan: 6
}
@@ -152,7 +152,7 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 23
+ rowSpan: 28
columnPosition: 7
columnSpan: 6
}
@@ -1180,14 +1180,96 @@
}
}
}
+ form_FormDataInterfaceLog
+ {
+ title: 'QTIANMA_JITUAN::FormDataInterfaceLog'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormDataInterfaceLog'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 18
+ rowSpan: 11
+ columnPosition: 1
+ columnSpan: 6
+ }
+ components
+ {
+ FormDataInterfaceLog_PanelDataInterfaceLog
+ {
+ sizeRatio: 1
+ }
+ FormDataInterfaceLog_ListDataInterfaceLog
+ {
+ }
+ FormDataInterfaceLog_DataSetLevelDataInterfaceLog
+ {
+ groupDepth: -1
+ column_ImgExecuteStatus
+ {
+ columnId: 'ImgExecuteStatus'
+ dataPath: 'ImgExecuteStatus'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 40
+ }
+ column_Message
+ {
+ columnId: 'Message'
+ dataPath: 'Message'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_CreateDate
+ {
+ columnId: 'CreateDate'
+ dataPath: 'CreateDate'
+ dataType: 'datetime'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_ErrorNo
+ {
+ columnId: 'ErrorNo'
+ dataPath: 'ErrorNo'
+ dataType: 'number'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_ErrorMessage
+ {
+ columnId: 'ErrorMessage'
+ dataPath: 'ErrorMessage'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_ExecuteUser
+ {
+ columnId: 'ExecuteUser'
+ dataPath: 'ExecuteUser'
+ dataType: 'string'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
}
userconfigurableinformation
{
}
+ image: 'SKIN_TIGER'
page: ''
group: ''
index: 0
- image: 'SKIN_TIGER'
description: ''
}
formatversion: 2
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\346\250\241\347\273\204_\351\235\242\346\235\277\345\205\263\347\263\273.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\346\250\241\347\273\204_\351\235\242\346\235\277\345\205\263\347\263\273.vw"
new file mode 100644
index 0000000..002540c
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\346\250\241\347\273\204_\351\235\242\346\235\277\345\205\263\347\263\273.vw"
@@ -0,0 +1,194 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_legacy_3
+ {
+ title: 'Products'
+ shown: true
+ componentID: 'FormProducts'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 6
+ columnPosition: 1
+ columnSpan: 3
+ }
+ components
+ {
+ FormProducts_PanelList
+ {
+ sizeRatio: 1
+ }
+ FormProducts_ListProduct
+ {
+ }
+ FormProducts_DataSetLevelRootProduct
+ {
+ groupDepth: -1
+ sort: 'Name'
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 0
+ subtotals: ''
+ width: 271
+ }
+ }
+ FormProducts_DataSetLevelChildProduct
+ {
+ groupDepth: -1
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 0
+ subtotals: ''
+ width: 202
+ }
+ }
+ }
+ }
+ form_FormProductInStockingPoints_1
+ {
+ title: 'Assigned to stocking points'
+ shown: true
+ componentID: 'FormProductInStockingPoints'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 7
+ rowSpan: 6
+ columnPosition: 1
+ columnSpan: 3
+ }
+ components
+ {
+ FormProductInStockingPoints_ListProductInStockingPointsForProductsView
+ {
+ }
+ FormProductInStockingPoints_ListProductInStockingPointsForProductsView_DataSetLevelProductInStockingPoints
+ {
+ groupDepth: -1
+ column_Product_MP_Name
+ {
+ columnId: 'Product_MP.Name'
+ dataPath: 'Product_MP.Name'
+ dataType: 'string'
+ title: 'Product name'
+ index: 0
+ subtotals: ''
+ width: 134
+ }
+ column_StockingPoint_MP_Name
+ {
+ columnId: 'StockingPoint_MP.Name'
+ dataPath: 'StockingPoint_MP.Name'
+ dataType: 'string'
+ title: 'Stocking point name'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormModulePanelCorrespondence
+ {
+ title: 'QTIANMA_JITUAN::FormModulePanelCorrespondence'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormModulePanelCorrespondence'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 12
+ columnPosition: 4
+ columnSpan: 9
+ }
+ components
+ {
+ FormModulePanelCorrespondence_PanelModule
+ {
+ sizeRatio: 1
+ }
+ FormModulePanelCorrespondence_ListModulePanelCorrespondence
+ {
+ }
+ FormModulePanelCorrespondence_DataSetLevelModulePanelCorrespondence
+ {
+ groupDepth: -1
+ column_ModuleProductID
+ {
+ columnId: 'ModuleProductID'
+ dataPath: 'ModuleProductID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_ModuleStockingPointID
+ {
+ columnId: 'ModuleStockingPointID'
+ dataPath: 'ModuleStockingPointID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ }
+ FormModulePanelCorrespondence_PanelPanel
+ {
+ sizeRatio: 1
+ }
+ FormModulePanelCorrespondence_ListModuleCorrespondence
+ {
+ }
+ FormModulePanelCorrespondence_DataSetLevelModuleCorrespondence
+ {
+ groupDepth: -1
+ column_PanelProductID
+ {
+ columnId: 'PanelProductID'
+ dataPath: 'PanelProductID'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_PanelStockingPointID
+ {
+ columnId: 'PanelStockingPointID'
+ dataPath: 'PanelStockingPointID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 0
+ image: 'LAPTOP'
+ description: ''
+ }
+ formatversion: 2
+ id: '妯$粍_闈㈡澘鍏崇郴'
+ name: '妯$粍_闈㈡澘鍏崇郴'
+ isglobal: false
+ isroot: true
+}
diff --git a/_var/_Main/ModelSettings/Common/Dev-23/_ROOT_Role_Dev-23.properties b/_var/_Main/ModelSettings/Common/Dev-23/_ROOT_Role_Dev-23.properties
index fff5930..67e69c8 100644
--- a/_var/_Main/ModelSettings/Common/Dev-23/_ROOT_Role_Dev-23.properties
+++ b/_var/_Main/ModelSettings/Common/Dev-23/_ROOT_Role_Dev-23.properties
@@ -6,6 +6,10 @@
_self.configsettype=Role
_self.description=OTD涓撴樉 闈炴樉 鐗规樉
_self.name=Dev-23
+arg=template:serverargs
+arg.architectdependencies=
+arg.custom=""
+arg.versioncontrolmode=true
domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition
domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection=
domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters=
@@ -451,16 +455,56 @@
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0
domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
domainmodel.mdsstoragedefinitionmanager.audittraillocation=
domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
-domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=true
+domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy
domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
diff --git a/_var/_Main/ModelSettings/Common/Dev-25/_ROOT_Role_Dev-25.properties b/_var/_Main/ModelSettings/Common/Dev-25/_ROOT_Role_Dev-25.properties
index f3a0cf5..1dfd972 100644
--- a/_var/_Main/ModelSettings/Common/Dev-25/_ROOT_Role_Dev-25.properties
+++ b/_var/_Main/ModelSettings/Common/Dev-25/_ROOT_Role_Dev-25.properties
@@ -6,6 +6,10 @@
_self.configsettype=Role
_self.description=OTD姹借溅鐢靛瓙 澶╁崕
_self.name=Dev-25
+arg=template:serverargs
+arg.architectdependencies=
+arg.custom=""
+arg.versioncontrolmode=true
domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition
domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection=
domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters=
@@ -451,16 +455,56 @@
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0
domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
domainmodel.mdsstoragedefinitionmanager.audittraillocation=
domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
-domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=true
+domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy
domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
diff --git a/_var/_Main/ModelSettings/Common/Dev-27/_ROOT_Role_Dev-27.properties b/_var/_Main/ModelSettings/Common/Dev-27/_ROOT_Role_Dev-27.properties
index 3153388..74586c3 100644
--- a/_var/_Main/ModelSettings/Common/Dev-27/_ROOT_Role_Dev-27.properties
+++ b/_var/_Main/ModelSettings/Common/Dev-27/_ROOT_Role_Dev-27.properties
@@ -6,6 +6,10 @@
_self.configsettype=Role
_self.description=OTD杞﹁浇浜嬩笟
_self.name=Dev-27
+arg=template:serverargs
+arg.architectdependencies=
+arg.custom=""
+arg.versioncontrolmode=true
domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition
domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection=
domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters=
@@ -451,16 +455,56 @@
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0
domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace
domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0
domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
domainmodel.mdsstoragedefinitionmanager.audittraillocation=
domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
-domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=true
+domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy
domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
diff --git a/_var/_Main/ModelSettings/Common/Dev-38/_ROOT_Role_Dev-38.properties b/_var/_Main/ModelSettings/Common/Dev-38/_ROOT_Role_Dev-38.properties
index 7e6f16a..542cbba 100644
--- a/_var/_Main/ModelSettings/Common/Dev-38/_ROOT_Role_Dev-38.properties
+++ b/_var/_Main/ModelSettings/Common/Dev-38/_ROOT_Role_Dev-38.properties
@@ -513,12 +513,12 @@
domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0
domainmodel.mdsstoragedefinitionmanager.maxtablename=0
domainmodel.mdsstoragedefinitionmanager.name=dbodbc1
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=10.110.14.50
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1521
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=totddb_it
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=totddb.tianma.cn
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1529
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=todbpdb1
domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=
domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic
-domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otdit
+domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otddevsyb
domainmodel.mdsstoragedefinitionmanager.password=1 2A801D084589485925DA39115D5C7855 b91e3007-e230-4ef5-833e-a07edfc8903c
domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition
domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind=
diff --git a/_var/_Main/ModelSettings/Common/Dev-40/_ROOT_Role_Dev-40.properties b/_var/_Main/ModelSettings/Common/Dev-40/_ROOT_Role_Dev-40.properties
index 26cfcab..963eb45 100644
--- a/_var/_Main/ModelSettings/Common/Dev-40/_ROOT_Role_Dev-40.properties
+++ b/_var/_Main/ModelSettings/Common/Dev-40/_ROOT_Role_Dev-40.properties
@@ -513,12 +513,12 @@
domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0
domainmodel.mdsstoragedefinitionmanager.maxtablename=0
domainmodel.mdsstoragedefinitionmanager.name=dbodbc1
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=10.110.14.50
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1521
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=totddb_it
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=totddb.tianma.cn
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1529
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=todbpdb2
domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=
domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic
-domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otdit
+domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otddevjtmb
domainmodel.mdsstoragedefinitionmanager.password=1 2A801D084589485925DA39115D5C7855 b91e3007-e230-4ef5-833e-a07edfc8903c
domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition
domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind=
diff --git a/_var/_Main/ModelSettings/Common/Dev-42/_ROOT_Role_Dev-42.properties b/_var/_Main/ModelSettings/Common/Dev-42/_ROOT_Role_Dev-42.properties
index 72cac08..13199ee 100644
--- a/_var/_Main/ModelSettings/Common/Dev-42/_ROOT_Role_Dev-42.properties
+++ b/_var/_Main/ModelSettings/Common/Dev-42/_ROOT_Role_Dev-42.properties
@@ -513,12 +513,12 @@
domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0
domainmodel.mdsstoragedefinitionmanager.maxtablename=0
domainmodel.mdsstoragedefinitionmanager.name=dbodbc1
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=10.110.14.50
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1521
-domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=totddb_it
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=totddb.tianma.cn
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1529
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=todbpdb3
domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=
domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic
-domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otdit
+domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=otddevoled
domainmodel.mdsstoragedefinitionmanager.password=1 2A801D084589485925DA39115D5C7855 b91e3007-e230-4ef5-833e-a07edfc8903c
domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition
domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind=
diff --git a/_var/_Main/ModelSettings/Common/Live-21/_ROOT_Role_Live-21.properties b/_var/_Main/ModelSettings/Common/Live-21/_ROOT_Role_Live-21.properties
new file mode 100644
index 0000000..9a8bf21
--- /dev/null
+++ b/_var/_Main/ModelSettings/Common/Live-21/_ROOT_Role_Live-21.properties
@@ -0,0 +1,575 @@
+#The properties belonging to _meta and _self groups are reserved. Please do not change them. Comments on these properties will not be preserved.
+_meta.application=server
+_meta.kind=Quintiq Property File
+_meta.type=model
+_meta.version.config=1.3
+_self.configsettype=Role
+_self.name=Live-21
+arg=template:serverargs
+arg.architectdependencies=
+arg.custom=""
+arg.versioncontrolmode=true
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.connection=DBODBC1
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.parameters=/datasource=CIM_Carco /owner=dbo /user=quintiq
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=/datasource=orclpdb /owner=TIANMA /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=1 E9FE769DABE91891284EBBA6CEA8F41B 479d6f99-cffb-41e6-94f1-d35bdf20703c
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.parameters=/datasource=otd /owner=OTD /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.password=1 A205E2668CFBD9365E030C36BB0A4297 730524bf-f9c9-426f-94a0-953687be1178
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject.parameters=/datasource=MPERPIntegrationDataSource /owner=dbo /user=quintiq
+domainmodel.fileprovider.qdrive=template:domainmodel.fileprovider.qdrive
+domainmodel.fileprovider.qdrive.enabled=true
+domainmodel.fileprovider.qdrive.readonly=false
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint=template:domainmodel.integratorconfig.dsendpoint
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.connectiontimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dspassword=1 D27640F00F09F1085D52409202B71B4E 2a9f48ef-2467-4394-afcb-75e45a1c40d9
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsserviceurl=https://vdemopro1342dsy.extranet.3ds.com/3DSpace/resources/v1/model/
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsuser=Push
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.maxconnections=10
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.receivecontentcharset=ASCII
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.requesttimeout=60
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0
+domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
+domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
+domainmodel.mdsstoragedefinitionmanager.audittraillocation=
+domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
+domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
+domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy
+domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+#domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+domainmodel.mdsstoragedefinitionmanager.driver=OCI
+domainmodel.mdsstoragedefinitionmanager.dssfilesystemenabled=false
+domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0
+domainmodel.mdsstoragedefinitionmanager.maxtablename=0
+domainmodel.mdsstoragedefinitionmanager.name=dbodbc1
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=potddb.tianma.cn
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1522
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=potddb_jtmb
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic
+domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=OTDJIUGE
+domainmodel.mdsstoragedefinitionmanager.password=1 463752FBAC1C9172263ADBF875F4CBF3 d5a0fc9a-a372-4807-9f03-34bcf85e582d
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.hostname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.password=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.timeout=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.username=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.password=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.timeout=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.username=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.password=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.username=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.url=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.encodingstrategy=UseSameAsRequest
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.exporttzoffset=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.forssl=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.groupname=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.idescription=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.securecommunication.protocols=TLSv1,TLSv1.1,TLSv1.2
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.timezone=GMT
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.useoslocaltimezone=true
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.url=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.url=
+domainmodel.soapserverinterfacedefinition.interface.utf=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.utf.groupname=
+domainmodel.soapserverinterfacedefinition.interface.utf.idescription=
+user=template:user
+user.increasestartofplanning=false
+user.sizingparameter=false
diff --git a/_var/_Main/ModelSettings/Common/Live-23/_ROOT_Role_Live-23.properties b/_var/_Main/ModelSettings/Common/Live-23/_ROOT_Role_Live-23.properties
new file mode 100644
index 0000000..c1b840d
--- /dev/null
+++ b/_var/_Main/ModelSettings/Common/Live-23/_ROOT_Role_Live-23.properties
@@ -0,0 +1,575 @@
+#The properties belonging to _meta and _self groups are reserved. Please do not change them. Comments on these properties will not be preserved.
+_meta.application=server
+_meta.kind=Quintiq Property File
+_meta.type=model
+_meta.version.config=1.3
+_self.configsettype=Role
+_self.name=Live-23
+arg=template:serverargs
+arg.architectdependencies=
+arg.custom=""
+arg.versioncontrolmode=true
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.connection=DBODBC1
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.parameters=/datasource=CIM_Carco /owner=dbo /user=quintiq
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=/datasource=orclpdb /owner=TIANMA /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=1 E9FE769DABE91891284EBBA6CEA8F41B 479d6f99-cffb-41e6-94f1-d35bdf20703c
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.parameters=/datasource=otd /owner=OTD /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.password=1 A205E2668CFBD9365E030C36BB0A4297 730524bf-f9c9-426f-94a0-953687be1178
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject.parameters=/datasource=MPERPIntegrationDataSource /owner=dbo /user=quintiq
+domainmodel.fileprovider.qdrive=template:domainmodel.fileprovider.qdrive
+domainmodel.fileprovider.qdrive.enabled=true
+domainmodel.fileprovider.qdrive.readonly=false
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint=template:domainmodel.integratorconfig.dsendpoint
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.connectiontimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dspassword=1 D27640F00F09F1085D52409202B71B4E 2a9f48ef-2467-4394-afcb-75e45a1c40d9
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsserviceurl=https://vdemopro1342dsy.extranet.3ds.com/3DSpace/resources/v1/model/
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsuser=Push
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.maxconnections=10
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.receivecontentcharset=ASCII
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.requesttimeout=60
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0
+domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
+domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
+domainmodel.mdsstoragedefinitionmanager.audittraillocation=
+domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
+domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
+domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy
+domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+#domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+domainmodel.mdsstoragedefinitionmanager.driver=OCI
+domainmodel.mdsstoragedefinitionmanager.dssfilesystemenabled=false
+domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0
+domainmodel.mdsstoragedefinitionmanager.maxtablename=0
+domainmodel.mdsstoragedefinitionmanager.name=dbodbc1
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=potddb.tianma.cn
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1522
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=potddb_mzsj
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic
+domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=OTDTIANWEN
+domainmodel.mdsstoragedefinitionmanager.password=1 463752FBAC1C9172263ADBF875F4CBF3 d5a0fc9a-a372-4807-9f03-34bcf85e582d
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.hostname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.password=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.timeout=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.username=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.password=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.timeout=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.username=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.password=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.username=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.url=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.encodingstrategy=UseSameAsRequest
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.exporttzoffset=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.forssl=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.groupname=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.idescription=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.securecommunication.protocols=TLSv1,TLSv1.1,TLSv1.2
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.timezone=GMT
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.useoslocaltimezone=true
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.url=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.url=
+domainmodel.soapserverinterfacedefinition.interface.utf=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.utf.groupname=
+domainmodel.soapserverinterfacedefinition.interface.utf.idescription=
+user=template:user
+user.increasestartofplanning=false
+user.sizingparameter=false
diff --git a/_var/_Main/ModelSettings/Common/Live-25/_ROOT_Role_Live-25.properties b/_var/_Main/ModelSettings/Common/Live-25/_ROOT_Role_Live-25.properties
new file mode 100644
index 0000000..49b6471
--- /dev/null
+++ b/_var/_Main/ModelSettings/Common/Live-25/_ROOT_Role_Live-25.properties
@@ -0,0 +1,575 @@
+#The properties belonging to _meta and _self groups are reserved. Please do not change them. Comments on these properties will not be preserved.
+_meta.application=server
+_meta.kind=Quintiq Property File
+_meta.type=model
+_meta.version.config=1.3
+_self.configsettype=Role
+_self.name=Live-25
+arg=template:serverargs
+arg.architectdependencies=
+arg.custom=""
+arg.versioncontrolmode=true
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.connection=DBODBC1
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.parameters=/datasource=CIM_Carco /owner=dbo /user=quintiq
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=/datasource=orclpdb /owner=TIANMA /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=1 E9FE769DABE91891284EBBA6CEA8F41B 479d6f99-cffb-41e6-94f1-d35bdf20703c
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.parameters=/datasource=otd /owner=OTD /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.password=1 A205E2668CFBD9365E030C36BB0A4297 730524bf-f9c9-426f-94a0-953687be1178
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject.parameters=/datasource=MPERPIntegrationDataSource /owner=dbo /user=quintiq
+domainmodel.fileprovider.qdrive=template:domainmodel.fileprovider.qdrive
+domainmodel.fileprovider.qdrive.enabled=true
+domainmodel.fileprovider.qdrive.readonly=false
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint=template:domainmodel.integratorconfig.dsendpoint
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.connectiontimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dspassword=1 D27640F00F09F1085D52409202B71B4E 2a9f48ef-2467-4394-afcb-75e45a1c40d9
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsserviceurl=https://vdemopro1342dsy.extranet.3ds.com/3DSpace/resources/v1/model/
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsuser=Push
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.maxconnections=10
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.receivecontentcharset=ASCII
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.requesttimeout=60
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0
+domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
+domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
+domainmodel.mdsstoragedefinitionmanager.audittraillocation=
+domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
+domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
+domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy
+domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+#domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+domainmodel.mdsstoragedefinitionmanager.driver=OCI
+domainmodel.mdsstoragedefinitionmanager.dssfilesystemenabled=false
+domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0
+domainmodel.mdsstoragedefinitionmanager.maxtablename=0
+domainmodel.mdsstoragedefinitionmanager.name=dbodbc1
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=potddb.tianma.cn
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1522
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=potddb_zx
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic
+domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=OTDGONGQUE
+domainmodel.mdsstoragedefinitionmanager.password=1 463752FBAC1C9172263ADBF875F4CBF3 d5a0fc9a-a372-4807-9f03-34bcf85e582d
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.hostname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.password=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.timeout=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.username=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.password=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.timeout=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.username=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.password=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.username=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.url=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.encodingstrategy=UseSameAsRequest
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.exporttzoffset=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.forssl=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.groupname=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.idescription=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.securecommunication.protocols=TLSv1,TLSv1.1,TLSv1.2
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.timezone=GMT
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.useoslocaltimezone=true
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.url=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.url=
+domainmodel.soapserverinterfacedefinition.interface.utf=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.utf.groupname=
+domainmodel.soapserverinterfacedefinition.interface.utf.idescription=
+user=template:user
+user.increasestartofplanning=false
+user.sizingparameter=false
diff --git a/_var/_Main/ModelSettings/Common/Live-27/_ROOT_Role_Live-27.properties b/_var/_Main/ModelSettings/Common/Live-27/_ROOT_Role_Live-27.properties
new file mode 100644
index 0000000..bff9082
--- /dev/null
+++ b/_var/_Main/ModelSettings/Common/Live-27/_ROOT_Role_Live-27.properties
@@ -0,0 +1,575 @@
+#The properties belonging to _meta and _self groups are reserved. Please do not change them. Comments on these properties will not be preserved.
+_meta.application=server
+_meta.kind=Quintiq Property File
+_meta.type=model
+_meta.version.config=1.3
+_self.configsettype=Role
+_self.name=Live-27
+arg=template:serverargs
+arg.architectdependencies=
+arg.custom=""
+arg.versioncontrolmode=true
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.destination.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.exportcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.connection=DBODBC1
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.parameters=/datasource=CIM_Carco /owner=dbo /user=quintiq
+domainmodel.ediremotedatasourcedefinition.remotestorage.importcim.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcampaignsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputcurrenciesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputentitycostsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputglobalparametersfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputgroupsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventoryspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputinventorysuppliesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputlanesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputperioddefinitionsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputpostponementsandfulfillmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputprioritiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputrecipesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputroutingsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalesdemandsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsalessegmentsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputshiftpatternsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputstockingpointsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputsupplyspecificationsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitavailabilitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcalendarelementsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitcapacitiesfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitofmeasuresfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfromexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=/datasource=orclpdb /owner=TIANMA /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=1 E9FE769DABE91891284EBBA6CEA8F41B 479d6f99-cffb-41e6-94f1-d35bdf20703c
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.connection=dbodbc1
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.parameters=/datasource=otd /owner=OTD /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.password=1 A205E2668CFBD9365E030C36BB0A4297 730524bf-f9c9-426f-94a0-953687be1178
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcampaignstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputcurrenciestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputentitycoststomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputforecaststoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparameterstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputglobalparamterstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputgroupstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventoryspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputinventorysuppliestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputlanestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionsfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputperioddefinitionstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxcolumnnamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.maxtablenamelength=0
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputpostponementsandfulfillmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputprioritiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputrecipestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputroutingstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalesdemandstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsalessegmentstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputshiftpatternstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputstockingpointstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputsupplyspecificationstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputtransportcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitavailabilitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcalendarelementstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiesfrommodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitcapacitiestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitofmeasurestomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstoexcel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.parameters=
+domainmodel.ediremotedatasourcedefinition.remotestorage.outputunitstomodel.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject=template:domainmodel.ediremotedatasourcedefinition
+domainmodel.ediremotedatasourcedefinition.remotestorage.syncobject.parameters=/datasource=MPERPIntegrationDataSource /owner=dbo /user=quintiq
+domainmodel.fileprovider.qdrive=template:domainmodel.fileprovider.qdrive
+domainmodel.fileprovider.qdrive.enabled=true
+domainmodel.fileprovider.qdrive.readonly=false
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint=template:domainmodel.integratorconfig.dsendpoint
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.connectiontimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dspassword=1 D27640F00F09F1085D52409202B71B4E 2a9f48ef-2467-4394-afcb-75e45a1c40d9
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsserviceurl=https://vdemopro1342dsy.extranet.3ds.com/3DSpace/resources/v1/model/
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.dsuser=Push
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.maxconnections=10
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.receivecontentcharset=ASCII
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.requesttimeout=60
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sendingcontentcharset=UTF-8
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.sockettimeout=0
+domainmodel.integratorconfig.dsendpoint.q3dspace_3dsendpoint.trustmanagername=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.jtmbrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.panelmaterialrestserver_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint=template:domainmodel.integratorconfig.quintiqendpoint
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.connectiongroupname=SERVER
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.integratorid=Q3DSpace
+domainmodel.integratorconfig.quintiqendpoint.q3dspace_quintiqendpoint.outboundrequesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.enablehttpmessagelogging=true
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.maxconnections=10
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.portnumber=8080
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.jtmbrestserver_restserver.sockettimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial=template:domainmodel.integratorconfig.restendpoint
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam1=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationparam2=
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.authenticationtype=None
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.connectiontimeout=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.contenttype=JSON
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.enablehttpmessagelogging=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.includerawcontent=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.maxconnections=10
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.passonvalidationerrors=false
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.portnumber=8080
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.proxyportnumber=0
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.receivecontentcharset=ASCII
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.requesttimeout=60
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.restschemaurl="C:\\Users\\hongjli\\Desktop\\integratorrestexample\\openapi.yaml"
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sendingcontentcharset=utf-8
+domainmodel.integratorconfig.restendpoint.panelmaterialrestserver_restendpointpanelmaterial.sockettimeout=0
+domainmodel.mdsstoragedefinitionmanager=template:domainmodel.mdsstoragedefinitionmanager
+domainmodel.mdsstoragedefinitionmanager.audittrailenabled=false
+domainmodel.mdsstoragedefinitionmanager.audittraillocation=
+domainmodel.mdsstoragedefinitionmanager.databaseenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoredatasource=MacroPlanner
+domainmodel.mdsstoragedefinitionmanager.datasetstoreenabled=false
+domainmodel.mdsstoragedefinitionmanager.datasetstoreislocal=false
+domainmodel.mdsstoragedefinitionmanager.dbformat=Legacy
+domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+#domainmodel.mdsstoragedefinitionmanager.defaultencryptioncertificate=
+domainmodel.mdsstoragedefinitionmanager.driver=OCI
+domainmodel.mdsstoragedefinitionmanager.dssfilesystemenabled=false
+domainmodel.mdsstoragedefinitionmanager.maxcolumnname=0
+domainmodel.mdsstoragedefinitionmanager.maxtablename=0
+domainmodel.mdsstoragedefinitionmanager.name=dbodbc1
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasichost=potddb.tianma.cn
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicport=1522
+domainmodel.mdsstoragedefinitionmanager.ociconnectionbasicservice=potddb_qcdz
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontnsname=
+domainmodel.mdsstoragedefinitionmanager.ociconnectiontype=Basic
+domainmodel.mdsstoragedefinitionmanager.parameters=/datasource=MacroPlannerInternalDB /user=OTDLANYUE
+domainmodel.mdsstoragedefinitionmanager.password=1 463752FBAC1C9172263ADBF875F4CBF3 d5a0fc9a-a372-4807-9f03-34bcf85e582d
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetkind=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.datasetname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.hostname=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.password=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.timeout=
+domainmodel.soapclientinterfacedefinition.interface.libdef_soapclients.username=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.password=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.timeout=
+domainmodel.soapclientinterfacedefinition.interface.sopdsscclientinterfaces.username=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients=template:domainmodel.soapclientinterfacedefinition
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.endpoint=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.groupname=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.idescription=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.password=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.sslkeystore=
+domainmodel.soapclientinterfacedefinition.interface.sopworkflowclients.username=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.libdef_soapserver.url=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.encodingstrategy=UseSameAsRequest
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.exporttzoffset=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.forssl=false
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.groupname=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.idescription=
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.securecommunication.protocols=TLSv1,TLSv1.1,TLSv1.2
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.timezone=GMT
+domainmodel.soapserverinterfacedefinition.interface.monitoringlibrarysoap.useoslocaltimezone=true
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopdsscserverinterface.url=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.groupname=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.idescription=
+domainmodel.soapserverinterfacedefinition.interface.sopworkflowserver.url=
+domainmodel.soapserverinterfacedefinition.interface.utf=template:domainmodel.soapserverinterfacedefinition
+domainmodel.soapserverinterfacedefinition.interface.utf.groupname=
+domainmodel.soapserverinterfacedefinition.interface.utf.idescription=
+user=template:user
+user.increasestartofplanning=false
+user.sizingparameter=false
diff --git "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw" "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
index 3c61315..450a6cd 100644
--- "a/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
+++ "b/_var/_Main/ProjSettings/MacroPlanner/Views/X_\345\210\206\346\236\220\350\247\206\345\233\276_\133414702.1.50321581\135.vw"
@@ -14,9 +14,9 @@
ICONIMAGE 'WINDOWS'
CREATIONDATETIME '2023-10-12T10:00:44'
CREATIONUSER 'quintiq/hongjli'
- UPDATEDATETIME '2023-10-12T23:32:10'
+ UPDATEDATETIME '2023-11-01T11:42:14'
UPDATEUSER 'quintiq/hongjli'
- LASTACCESSDATE '2023-10-13'
+ LASTACCESSDATE '2023-11-06'
VIEWSCOPE 0
}
AUTHORIZATIONS
@@ -53,22 +53,24 @@
{
SETTINGS_MDS_WITH_FOLDER
{
- [414702.1.62804981]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
- [414702.1.62833373]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
- [414702.1.62828776]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
- [414702.1.62800409]:LibDEF_DataBroker:/root:LibDEF_DataBroker
- [414702.1.61685849]:LibDEF_DataRepository:/root:LibDEF_DataRepository
- [414702.1.61676708]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
- [414702.1.62842521]:LibMon_Monitor:/root:LibMon_Monitor
- [414702.1.62837950]:LibUTF:/root:UTF
- [414702.1.62860001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
- [414702.1.62850001]:KpiTracker:/root:KpiTracker
- [414702.1.62875363]:MacroPlan:/root:MacroPlan
- [414702.1.61681280]:MPDomainHandler:/root:MPDomainHandler
- [414702.1.62880001]:MPSync:/root:MPSync
- [414702.1.62809550]:ScenarioManager:/root:ScenarioManager
- [414702.1.62870001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
- [414702.1.62819619]:GlobalOTDTable:/root:GlobalOTDTable
+ [414702.1.311783034]:LibInt_IntegratorProxy:/root:LibInt_IntegratorProxy
+ [414702.1.314030658]:SWF_CommunicationDataset:/root:SWF_CommunicationDataset
+ [414702.1.314026045]:SWF_WorkflowDataset:/root:SWF_WorkflowDataset
+ [414702.1.311778446]:LibDEF_DataBroker:/root:LibDEF_DataBroker
+ [414702.1.311773861]:LibDEF_DataRepository:/root:LibDEF_DataRepository
+ [414702.1.311764688]:DMF_ConvertorDataset:/root:DMF_ConvertorDataset
+ [414702.1.314039838]:LibMon_Monitor:/root:LibMon_Monitor
+ [414702.1.314035251]:LibUTF:/root:UTF
+ [414702.1.314050001]:Lib3DS_RootDataset:/root:Lib3DS_RootDataset
+ [414702.1.314070001]:KpiTracker:/root:KpiTracker
+ [414702.1.314075378]:MacroPlan:/root:MacroPlan
+ [414702.1.311769276]:MPDomainHandler:/root:MPDomainHandler
+ [414702.1.314060001]:MPSync:/root:MPSync
+ [414702.1.311787619]:ScenarioManager:/root:ScenarioManager
+ [414702.1.314080001]:LibSCIIntegrationInterface:/root:LibSCIIntegrationInterface
+ [414702.1.314007695]:GlobalOTDTable:/root:GlobalOTDTable
+ [414702.1.314016865]:GlobalOTDLog:/root:GlobalOTDLog
+ [414702.1.314012280]:GlobalOTDSOP:/root:GlobalOTDSOP
}
}
}
@@ -102,7 +104,7 @@
OBJECTTYPE ValueHolder
CONTENTS
{
- Value '[414702.1.64020493]'
+ Value '[414702.1.314120528]'
}
}
INFOOBJECT
@@ -156,7 +158,7 @@
OBJECTTYPE ValueHolder
CONTENTS
{
- Value ';MRPPlanning;ProductionPlan;BusinessUnitOM;Web_BlendingPlan;Web_Plan;Web_TripPlan;Web_PurchasingPlan;Web_ProductionPlan;KpiTrackerAdmin;Web_SafetyStock;Web_Inventory;Web_CapacitySmoothing;Web_ShelfLife;Web_LotSizes;Web_Optimizer;Web_SupplyDashboard;Web_OptimizerBenchmarking;Web_Integration;Web_MyActivities;Web_WorkFlowConfiguration;Web_SafetyStockCalculation;Web_InventoryMixBalancing;Web_Feedbacks;Web_Financials;Web_Allocation;Web_DemandPostponement;Web_Blending;Web_ScenariosAndSettings;Web;Web_Development;Web_Sales;Web_CampaignPlanning;Web_SupplyChainData;Web_SupplyPlanning;SOAPServerUserGroup;CollaborativeForecasting;DemandPlanner;SupplyPlanner;SupplyChainDirector;OnPremise;Cloud;SOP;Software;Functionalities;Workflow;TransportationPlanning;SupplySpecifications;SupplyChainMap;ShelfLife;SalesDemandPostponement;SafetyStockCalculation;ProductPlanningGanttChart;Pegging;OptimizerBenchmarking;LotSizes;InventorySupplies;InventorySpecifications;InventoryMixBalancing;Groups;Feedback;Development;DatabaseIntegration;CapacitySmoothing;CampaignPlanning;Blending;AggregatedPlanning;Developer;Administrator;Implementors;AppConfigurators'
+ Value ';Administrator;Developer;AggregatedPlanning;MRPPlanning;ProductionPlan;BusinessUnitOM;Web_BlendingPlan;Web_Plan;Web_TripPlan;Web_PurchasingPlan;Web_ProductionPlan;KpiTrackerAdmin;Web_SafetyStock;Web_Inventory;Web_CapacitySmoothing;Web_ShelfLife;Web_LotSizes;Web_Optimizer;Web_SupplyDashboard;Web_OptimizerBenchmarking;Web_Integration;Web_MyActivities;Web_WorkFlowConfiguration;Web_SafetyStockCalculation;Web_InventoryMixBalancing;Web_Feedbacks;Web_Financials;Web_Allocation;Web_DemandPostponement;Web_Blending;Web_ScenariosAndSettings;Web;Web_Development;Web_Sales;Web_CampaignPlanning;Web_SupplyChainData;Web_SupplyPlanning;SOAPServerUserGroup;CollaborativeForecasting;DemandPlanner;SupplyPlanner;SupplyChainDirector;OnPremise;Cloud;SOP;Software;Functionalities;Workflow;TransportationPlanning;SupplySpecifications;SupplyChainMap;ShelfLife;SalesDemandPostponement;SafetyStockCalculation;ProductPlanningGanttChart;Pegging;OptimizerBenchmarking;LotSizes;InventorySupplies;InventorySpecifications;InventoryMixBalancing;Groups;Feedback;Development;DatabaseIntegration;CapacitySmoothing;CampaignPlanning;Blending;AppConfigurators;Implementors'
}
}
INFOOBJECT
@@ -391,7 +393,7 @@
OBJECTTYPE ValueHolder
CONTENTS
{
- Value '12-10-2023, 20:12:19'
+ Value '01-11-2023, 10:05:04'
}
}
}
@@ -404,7 +406,7 @@
OBJECTTYPE Toolbar
CONTENTS
{
- 'horizontal' '50' '336'
+ 'horizontal' '50' '320'
}
INFOOBJECTS
{
@@ -423,7 +425,7 @@
OBJECTTYPE ValueHolder
CONTENTS
{
- Value '336'
+ Value '320'
}
}
INFOOBJECT
@@ -468,7 +470,7 @@
OBJECTTYPE ValueHolder
CONTENTS
{
- Value 'Products'
+ Value 'Stocking points and units'
}
}
INFOOBJECT
@@ -879,704 +881,6 @@
}
INFOOBJECT
{
- KEY [108486.1.1170974339]
- SINGLEINSTANCE false
- ID 'Pegging'
- PARENTKEY [514.0.2180]
- OBJECTTYPE Form
- CREATETYPE FormPegging
- CONTENTS
- {
- State := normal
- (354,421,990,664)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[0]Selection[NONE]
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171911809]
- OBJECTTYPE SplitterWnd
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171911810]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 50.132802124834
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171921411]
- OBJECTTYPE SplitterWnd
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171921412]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 52.6515151515151
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171921414]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1171924299]
- OBJECTTYPE GUIDataSetLevel
- CONTENTS
- {
- Columns
- {
- Definition := [11766.0.1025088210]
- {
- [11766.1.490215920]
- }
- SubTotals := true
- Visible
- {
- Column internal[DataSetImageColumn] [108486.1.2111697545]
- {
- Width := 19
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'DemandType [11660.0.340434965]'
- }
- }
- Column internal[DataSetImageColumn] [108486.2.15728337]
- {
- Header := 'HasValidPeggedQuantity'
- Width := 21
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ImgHasValidPeggedQuantity [108486.2.15494714]'
- }
- }
- Column internal[DataSetDataColumn] [127710.1.1139010297]
- {
- Header := 'Stocking point'
- Width := 137
- Subtotals := false
- Specific
- {
- DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|AsPlanningProductInStockingPoint [134266.1.8545642]|StockingPoint_MP [11660.0.488414369]|Name [101472.1.1554218718]'
- }
- }
- Column internal[DataSetDataColumn] [108486.1.2110122000]
- {
- Header := 'Product'
- Width := 184
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|ProductInStockingPoint_MP [134266.1.5798354]|Product_MP [11660.0.486228287]|Name [101472.1.1551142288]'
- }
- }
- Column internal[DataSetConfigurableColumn] [108486.1.2112140291]
- {
- Header := 'Period start'
- Width := 115
- Subtotals := false
- Specific
- {
- Text := 'VALUE( object.GetPeriodStart() )'
- Alignment := ''
- }
- }
- Column internal[DataSetDataColumn] [11766.1.490215920]
- {
- Width := 80
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'Quantity [101320.0.110374989]'
- }
- }
- Column internal[DataSetDataColumn] [108486.1.2110122001]
- {
- Header := 'Fulfilled'
- Width := 82
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'FulfilledQuantity [11660.0.157649047]'
- }
- }
- Column internal[DataSetConfigurableColumn] [110880.2.1142677800]
- {
- Header := 'Available'
- Width := 79
- Subtotals := false
- Specific
- {
- Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
- Alignment := ''
- }
- }
- Column internal[DataSetChartColumn] [108486.1.2112734746]
- {
- Header := 'Fulfillment'
- Width := 104
- SizedByUser := true
- Subtotals := false
- Specific
- {
- Type := 'Stacked Bar'
- Relative := true
- Points
- {
- PointDefinition
- {
- Text := 'minvalue( object.GetPeggedQuantity(), object.FulfilledQuantity() )'
- Color := 'Green'
- NegativeColor := 'Red'
- Description := 'Fulfilled pegged quantity'
- }
- PointDefinition
- {
- Text := 'maxvalue( object.FulfilledQuantity() - object.GetPeggedQuantity(), 0 )'
- Color := '$FF9900'
- NegativeColor := 'Red'
- Description := 'Unpegged quantity'
- }
- PointDefinition
- {
- Text := 'maxvalue( object.GetPeggedQuantity() - object.FulfilledQuantity(), 0 )'
- Color := 'Red'
- NegativeColor := 'Red'
- Description := 'Overpegged quantity'
- }
- }
- }
- }
- }
- }
- ColumnSort [108486.1.2112140291] true false
- }
- }
- }
- }
- }
- }
- INFOOBJECT
- {
- KEY [108486.1.1171921413]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 47.3484848484849
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [113694.0.1490022148]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [113694.0.1490022154]
- OBJECTTYPE GUIDataSetLevel
- CONTENTS
- {
- Columns
- {
- Definition := [108486.1.1171928381]
- {
- [108486.1.1171960868]
- [108486.1.1320715923]
- }
- SubTotals := true
- Visible
- {
- Column internal[DataSetImageColumn] [135072.0.40676723]
- {
- Width := 22
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'Supply_MP [134266.1.11843917]|SupplyType [108486.1.1185051348]'
- }
- }
- Column internal[DataSetImageColumn] [110880.9.1181376772]
- {
- Header := 'HasUserQuantity'
- Width := 23
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
- }
- }
- Column internal[DataSetImageColumn] [113694.0.1490534244]
- {
- Width := 21
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ImgHasSupply [108486.2.16148330]'
- }
- }
- Column internal[DataSetConfigurableColumn] [113694.0.1490809329]
- {
- Header := 'Period start'
- Width := 115
- Subtotals := false
- Specific
- {
- Text := 'VALUE( object.Supply_MP().GetPeriodStart() )'
- Alignment := 'Default'
- }
- }
- Column internal[DataSetDataColumn] [113694.0.1490521540]
- {
- Width := 100
- Subtotals := false
- Quantor
- {
- Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
- }
- Specific
- {
- DataPath := 'Quantity [134266.1.8545959]'
- }
- }
- Column internal[DataSetConfigurableColumn] [112884.0.2032524903]
- {
- Header := 'Cost'
- Width := 100
- Subtotals := false
- Quantor
- {
- Expression := 'sum' 'object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity()'
- }
- Specific
- {
- Text := 'VALUE( object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity() )'
- Alignment := 'Default'
- }
- }
- }
- }
- Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n <GEBFiltering Key="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Quantity1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Real">\n <ColumnID>[112610.0.1005221707]</ColumnID>\n <BaseName>Quantity</BaseName>\n <Name>Quantity</Name>\n <Title>Quantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Quantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Quantity1">\n <ColumnID>[112610.0.1005221707]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@5">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
- ColumnSort [113694.0.1490809329] true false
- ColumnSort [113694.0.1490521540] true false
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- INFOOBJECT
- {
- KEY [108486.1.1171911811]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 49.867197875166
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693802]
- OBJECTTYPE SplitterWnd
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693803]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 52.6315789473684
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693804]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693807]
- OBJECTTYPE GUIDataSetLevel
- CONTENTS
- {
- Columns
- {
- Definition := [108486.1.1175456932]
- {
- [108486.1.1175896212]
- }
- SubTotals := true
- Visible
- {
- Column internal[DataSetImageColumn] [108486.1.2113319927]
- {
- Width := 23
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'SupplyType [108486.1.1185051348]'
- }
- }
- Column internal[DataSetImageColumn] [108486.2.521730743]
- {
- Header := 'HasValidPegging'
- Width := 21
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ImgHasValidPegging [108486.2.479981617]'
- }
- }
- Column internal[DataSetImageColumn] [108486.2.14534947]
- {
- Header := 'HasValidPeggedQuantity'
- Width := 23
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ImgHasValidPeggedQuantity [108486.1.2146810434]'
- }
- }
- Column internal[DataSetConfigurableColumn] [108486.1.2113344305]
- {
- Header := 'Period start'
- Width := 115
- Subtotals := false
- Specific
- {
- Text := 'VALUE( object.GetPeriodStart() )'
- Alignment := ''
- }
- }
- Column internal[DataSetDataColumn] [108486.1.2110122007]
- {
- Width := 116
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'Quantity [112884.1.1160030032]'
- }
- }
- Column internal[DataSetChartColumn] [108486.1.2113393570]
- {
- Header := 'Supply'
- Width := 72
- SizedByUser := true
- Subtotals := false
- Specific
- {
- Type := 'Stacked Bar'
- Relative := true
- Points
- {
- PointDefinition
- {
- Text := 'minvalue( object.GetPeggedQuantity(), object.Quantity() )'
- Color := '$CCCCCC'
- NegativeColor := 'Red'
- Description := 'Used quantity for pegging'
- }
- PointDefinition
- {
- Text := 'object.GetAvailableQuantityForPegging()'
- Color := 'Green'
- NegativeColor := 'Red'
- Description := 'Available quantity for pegging'
- }
- PointDefinition
- {
- Text := 'maxvalue( object.GetPeggedQuantity() - object.Quantity(), 0 )'
- Color := 'Red'
- NegativeColor := 'Red'
- Description := 'Overused quantity'
- }
- }
- }
- }
- Column internal[DataSetConfigurableColumn] [110880.2.1142925855]
- {
- Header := 'Available'
- Width := 79
- Subtotals := false
- Specific
- {
- Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
- Alignment := ''
- }
- }
- }
- }
- ColumnSort [108486.1.2113344305] true false
- }
- }
- }
- }
- }
- }
- INFOOBJECT
- {
- KEY [108486.1.1175693810]
- OBJECTTYPE SplitterPane
- CONTENTS
- {
- Size 47.3684210526316
- VISIBLE true
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693811]
- OBJECTTYPE List
- CONTENTS
- {
- Quantorrow := false
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [108486.1.1175693814]
- OBJECTTYPE GUIDataSetLevel
- CONTENTS
- {
- Columns
- {
- Definition := [108486.1.1175456935]
- {
- [108486.1.1175896215]
- [108486.1.1320715924]
- }
- SubTotals := true
- Visible
- {
- Column internal[DataSetImageColumn] [108486.1.2113733284]
- {
- Header := 'DemandType'
- Width := 23
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'Demand_MP [134266.1.16794407]|DemandType [11660.0.340434965]'
- }
- }
- Column internal[DataSetImageColumn] [110880.9.1181425511]
- {
- Header := 'HasUserQuantity'
- Width := 25
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
- }
- }
- Column internal[DataSetImageColumn] [113694.0.1488690244]
- {
- Width := 21
- SizedByUser := true
- Subtotals := false
- Specific
- {
- DataPath := 'ImgHasDemand [113694.0.1488476421]'
- }
- }
- Column internal[DataSetConfigurableColumn] [108486.1.2113843687]
- {
- Header := 'Period start'
- Width := 115
- Subtotals := false
- Specific
- {
- Text := 'VALUE( object.Demand_MP().GetPeriodStart() )'
- Alignment := ''
- }
- }
- Column internal[DataSetDataColumn] [108486.1.2110122012]
- {
- Width := 100
- Subtotals := false
- Quantor
- {
- Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
- }
- Specific
- {
- DataPath := 'Quantity [134266.1.8545959]'
- }
- }
- Column internal[DataSetDataColumn] [108486.1.2110122013]
- {
- Header := 'Cost'
- Width := 100
- Subtotals := false
- Quantor
- {
- Simple := 'sum' DataMemberString := 'BaseCost [134266.1.8545935]'
- }
- Specific
- {
- DataPath := 'BaseCost [134266.1.8545935]'
- }
- }
- }
- }
- ColumnSort [108486.1.2113843687] true false
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- INFOOBJECT
- {
- KEY [127710.1.818301225]
- SINGLEINSTANCE false
- ID '浜у搧瑙勫垝鏁版嵁鐭╅樀'
- PARENTKEY [514.0.2180]
- OBJECTTYPE Form
- CREATETYPE FormProductPlanningMatrix
- CONTENTS
- {
- State := normal
- (0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[0]Selection[FRONT]
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.821866707]
- OBJECTTYPE CheckBox
- CONTENTS
- {
- Checkstate 1
- }
- }
- INFOOBJECT
- {
- KEY [127710.1.821866918]
- OBJECTTYPE StringSelection
- CONTENTS
- {
- BoundValue '[Leaf product]'
- }
- }
- INFOOBJECT
- {
- KEY [127710.1.818312567]
- OBJECTTYPE MatrixEditor
- CONTENTS
- {
- RowHeight 29
- ColumnWidth 82
- FirstColumnWidth 433
- Attributes 'SupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays'
- }
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.819572713]
- OBJECTTYPE GUIScaleView
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.820829335]
- OBJECTTYPE UserConfigurableInformation
- CONTENTS
- {
- ObjectText 'VALUE(object.Start())'
- }
- }
- }
- }
- INFOOBJECT
- {
- KEY [127710.1.819572710]
- OBJECTTYPE GUIScaleView
- INFOOBJECTS
- {
- INFOOBJECT
- {
- KEY [127710.1.820300549]
- OBJECTTYPE UserConfigurableInformation
- CONTENTS
- {
- ObjectText 'VALUE( object.Name() ) (VALUE( object.UnitOfMeasureName() ))'
- }
- }
- }
- }
- }
- }
- }
- }
- INFOOBJECT
- {
KEY [107654.0.139602704]
SINGLEINSTANCE false
ID '閿�鍞渶姹�'
@@ -1587,7 +891,7 @@
{
State := normal
(1344,0,192,928)
- DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[1]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[0]Selection[NONE]
}
INFOOBJECTS
{
@@ -1745,7 +1049,7 @@
}
}
}
- Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Forecast Q124112_0_61686821">\n <GEBFiltering Key="@Default_Filter1" TargetType="Forecast Q124112_0_61686821">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Quantity1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n <ColumnID>[112610.0.1212345820]</ColumnID>\n <BaseName>Quantity</BaseName>\n <Name>Quantity</Name>\n <Title>Quantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Quantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@FulfilledQuantity1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n <ColumnID>[112610.0.1212349003]</ColumnID>\n <BaseName>FulfilledQuantity</BaseName>\n <Name>FulfilledQuantity</Name>\n <Title>FulfilledQuantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>FulfilledQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Quantity1">\n <ColumnID>[112610.0.1212345820]</ColumnID>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@5" Column="@FulfilledQuantity1">\n <ColumnID>[112610.0.1212349003]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@6">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Forecast Q124112_0_61686821">\n <GEBFiltering Key="@Default_Filter1" TargetType="Forecast Q124112_0_61686821">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@StartDate1" ElementType="Forecast Q124112_0_61686821" ValueType="Date">\n <ColumnID>[414702.1.317510867]</ColumnID>\n <BaseName>StartDate</BaseName>\n <Name>StartDate</Name>\n <Title>StartDate</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>StartDate</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@ImgNotLinkedToPeriod1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510868]</ColumnID>\n <BaseName>ImgNotLinkedToPeriod</BaseName>\n <Name>ImgNotLinkedToPeriod</Name>\n <Title>ImgNotLinkedToPeriod</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgNotLinkedToPeriod</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@ImgIsPostponed1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510869]</ColumnID>\n <BaseName>ImgIsPostponed</BaseName>\n <Name>ImgIsPostponed</Name>\n <Title>ImgIsPostponed</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgIsPostponed</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Sales_segment1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510870]</ColumnID>\n <BaseName>Sales_segment</BaseName>\n <Name>Sales_segment</Name>\n <Title>Sales segment</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>SalesSegment_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Product1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510871]</ColumnID>\n <BaseName>Product</BaseName>\n <Name>Product</Name>\n <Title>Product</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPoint_MP.Product_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Stocking_point1" ElementType="Forecast Q124112_0_61686821" ValueType="String">\n <ColumnID>[414702.1.317510872]</ColumnID>\n <BaseName>Stocking_point</BaseName>\n <Name>Stocking_point</Name>\n <Title>Stocking point</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPoint_MP.StockingPoint_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Quantity1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n <ColumnID>[112610.0.1212345820]</ColumnID>\n <BaseName>Quantity</BaseName>\n <Name>Quantity</Name>\n <Title>Quantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Quantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Price1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n <ColumnID>[414702.1.317510873]</ColumnID>\n <BaseName>Price</BaseName>\n <Name>Price</Name>\n <Title>Price</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Price</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@FulfilledQuantity1" ElementType="Forecast Q124112_0_61686821" ValueType="Real">\n <ColumnID>[112610.0.1212349003]</ColumnID>\n <BaseName>FulfilledQuantity</BaseName>\n <Name>FulfilledQuantity</Name>\n <Title>FulfilledQuantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>FulfilledQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Quantity1">\n <ColumnID>[112610.0.1212345820]</ColumnID>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@5" Column="@FulfilledQuantity1">\n <ColumnID>[112610.0.1212349003]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@6">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
ColumnSort [414702.1.48371364] true false
}
}
@@ -2007,6 +1311,706 @@
}
INFOOBJECT
{
+ KEY [108486.1.1170974339]
+ SINGLEINSTANCE false
+ ID 'Pegging'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form
+ CREATETYPE FormPegging
+ CONTENTS
+ {
+ State := normal
+ (354,421,990,664)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[0]Selection[NONE]
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1171911809]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1171911810]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 50.132802124834
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1171921411]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1171921412]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 52.6515151515151
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1171921414]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1171924299]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [11766.0.1025088210]
+ {
+ [11766.1.490215920]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetImageColumn] [108486.1.2111697545]
+ {
+ Width := 19
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'DemandType [11660.0.340434965]'
+ }
+ }
+ Column internal[DataSetImageColumn] [108486.2.15728337]
+ {
+ Header := 'HasValidPeggedQuantity'
+ Width := 21
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ImgHasValidPeggedQuantity [108486.2.15494714]'
+ }
+ }
+ Column internal[DataSetDataColumn] [127710.1.1139010297]
+ {
+ Header := 'Stocking point'
+ Width := 137
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|AsPlanningProductInStockingPoint [134266.1.8545642]|StockingPoint_MP [11660.0.488414369]|Name [101472.1.1554218718]'
+ }
+ }
+ Column internal[DataSetDataColumn] [108486.1.2110122000]
+ {
+ Header := 'Product'
+ Width := 184
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductInStockingPointInPeriodPlanning [134266.1.219045427]|ProductInStockingPoint_MP [134266.1.5798354]|Product_MP [11660.0.486228287]|Name [101472.1.1551142288]'
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [108486.1.2112140291]
+ {
+ Header := 'Period start'
+ Width := 115
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.GetPeriodStart() )'
+ Alignment := ''
+ }
+ }
+ Column internal[DataSetDataColumn] [11766.1.490215920]
+ {
+ Width := 91
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [101320.0.110374989]'
+ }
+ }
+ Column internal[DataSetDataColumn] [108486.1.2110122001]
+ {
+ Header := 'Fulfilled'
+ Width := 82
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'FulfilledQuantity [11660.0.157649047]'
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [110880.2.1142677800]
+ {
+ Header := 'Available'
+ Width := 79
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
+ Alignment := ''
+ }
+ }
+ Column internal[DataSetChartColumn] [108486.1.2112734746]
+ {
+ Header := 'Fulfillment'
+ Width := 104
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ Type := 'Stacked Bar'
+ Relative := true
+ Points
+ {
+ PointDefinition
+ {
+ Text := 'minvalue( object.GetPeggedQuantity(), object.FulfilledQuantity() )'
+ Color := 'Green'
+ NegativeColor := 'Red'
+ Description := 'Fulfilled pegged quantity'
+ }
+ PointDefinition
+ {
+ Text := 'maxvalue( object.FulfilledQuantity() - object.GetPeggedQuantity(), 0 )'
+ Color := '$FF9900'
+ NegativeColor := 'Red'
+ Description := 'Unpegged quantity'
+ }
+ PointDefinition
+ {
+ Text := 'maxvalue( object.GetPeggedQuantity() - object.FulfilledQuantity(), 0 )'
+ Color := 'Red'
+ NegativeColor := 'Red'
+ Description := 'Overpegged quantity'
+ }
+ }
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Demand_MP Q11660_0_96892572">\n <GEBFiltering Key="@Default_Filter1" TargetType="Demand_MP Q11660_0_96892572">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@DemandType1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[108486.2.847961104]</ColumnID>\n <BaseName>DemandType</BaseName>\n <Name>DemandType</Name>\n <Title>DemandType</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>DemandType</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@HasValidPeggedQuantity1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[108486.2.847961073]</ColumnID>\n <BaseName>HasValidPeggedQuantity</BaseName>\n <Name>HasValidPeggedQuantity</Name>\n <Title>HasValidPeggedQuantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgHasValidPeggedQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Stocking_point1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[414702.1.317581380]</ColumnID>\n <BaseName>Stocking_point</BaseName>\n <Name>Stocking_point</Name>\n <Title>Stocking point</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPointInPeriodPlanning.AsPlanningProductInStockingPoint.StockingPoint_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Product1" ElementType="Demand_MP Q11660_0_96892572" ValueType="String">\n <ColumnID>[414702.1.317581381]</ColumnID>\n <BaseName>Product</BaseName>\n <Name>Product</Name>\n <Title>Product</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProductInStockingPointInPeriodPlanning.ProductInStockingPoint_MP.Product_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@Period_start1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Date">\n <ColumnID>[414702.1.317581382]</ColumnID>\n <BaseName>Period_start</BaseName>\n <Name>Period_start</Name>\n <Title>Period start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@3">\n <GEBDerivationBase Key="@4" TargetType="Demand_MP Q11660_0_96892572">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@5">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@6">\n <GEBNodeDerivationExpressionBody Key="@7">\n <ExpressionText>object.GetPeriodStart()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@8">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBSelectColumn Key="@Quantity1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Real">\n <ColumnID>[414702.1.317581383]</ColumnID>\n <BaseName>Quantity</BaseName>\n <Name>Quantity</Name>\n <Title>Quantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Quantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Fulfilled1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Real">\n <ColumnID>[108486.2.847961228]</ColumnID>\n <BaseName>Fulfilled</BaseName>\n <Name>Fulfilled</Name>\n <Title>Fulfilled</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>FulfilledQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@Available1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Real">\n <ColumnID>[414702.1.317581384]</ColumnID>\n <BaseName>Available</BaseName>\n <Name>Available</Name>\n <Title>Available</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@9">\n <GEBDerivationBase Key="@10" TargetType="Demand_MP Q11660_0_96892572">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@11">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@12">\n <GEBNodeDerivationExpressionBody Key="@13">\n <ExpressionText>object.GetAvailableQuantityForPegging()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@14">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBProcessColumn Key="@Date1" ElementType="Demand_MP Q11660_0_96892572" ValueType="Date">\n <ColumnID>[108486.1.1930448455]</ColumnID>\n <BaseName>Date</BaseName>\n <Name>Date</Name>\n <Title>Date</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@15">\n <GEBDerivationBase Key="@16" TargetType="Demand_MP Q11660_0_96892572">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@17">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@18">\n <GEBNodeDerivationExpressionBody Key="@19">\n <ExpressionText>object.GetDate()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@20">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBFilter Key="@21">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@22" Column="@Fulfilled1">\n <ColumnID>[108486.2.847961228]</ColumnID>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@23" Column="@Product1">\n <ColumnID>[414702.1.317581381]</ColumnID>\n <GEBFilterColumnMatch Key="@24">\n <Operation>=</Operation>\n <Enabled>true</Enabled>\n <RHSValue>\n <RHSFreeValue Key="@25">\n <StringValue></StringValue>\n <Value>UString:120 kW Motor</Value>\n </RHSFreeValue>\n </RHSValue>\n </GEBFilterColumnMatch>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@26" Column="@Period_start1">\n <ColumnID>[414702.1.317581382]</ColumnID>\n <GEBFilterColumnMatch Key="@27">\n <Operation>=</Operation>\n <Enabled>true</Enabled>\n <RHSValue>\n <RHSFreeValue Key="@28">\n <StringValue></StringValue>\n <Value>Date:2020-04-01</Value>\n </RHSFreeValue>\n </RHSValue>\n </GEBFilterColumnMatch>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@29">\n <ExpressionText></ExpressionText>\n <Converter>\n <ZeroConverter Key="@30">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [11766.1.490215920] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [108486.1.1171921413]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 47.3484848484849
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [113694.0.1490022148]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [113694.0.1490022154]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [108486.1.1171928381]
+ {
+ [108486.1.1171960868]
+ [108486.1.1320715923]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetImageColumn] [135072.0.40676723]
+ {
+ Width := 22
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Supply_MP [134266.1.11843917]|SupplyType [108486.1.1185051348]'
+ }
+ }
+ Column internal[DataSetImageColumn] [110880.9.1181376772]
+ {
+ Header := 'HasUserQuantity'
+ Width := 23
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
+ }
+ }
+ Column internal[DataSetImageColumn] [113694.0.1490534244]
+ {
+ Width := 21
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ImgHasSupply [108486.2.16148330]'
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [113694.0.1490809329]
+ {
+ Header := 'Period start'
+ Width := 115
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.Supply_MP().GetPeriodStart() )'
+ Alignment := 'Default'
+ }
+ }
+ Column internal[DataSetDataColumn] [113694.0.1490521540]
+ {
+ Width := 100
+ Subtotals := false
+ Quantor
+ {
+ Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
+ }
+ Specific
+ {
+ DataPath := 'Quantity [134266.1.8545959]'
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [112884.0.2032524903]
+ {
+ Header := 'Cost'
+ Width := 100
+ Subtotals := false
+ Quantor
+ {
+ Expression := 'sum' 'object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity()'
+ }
+ Specific
+ {
+ Text := 'VALUE( object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity() )'
+ Alignment := 'Default'
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n <GEBFiltering Key="@Default_Filter1" TargetType="Fulfillment Q134266_1_8545931">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Supply_MPSupplyType1" ElementType="Fulfillment Q134266_1_8545931" ValueType="String">\n <ColumnID>[414702.1.317581385]</ColumnID>\n <BaseName>Supply_MPSupplyType</BaseName>\n <Name>Supply_MPSupplyType</Name>\n <Title>SupplyType</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Supply_MP.SupplyType</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@HasUserQuantity1" ElementType="Fulfillment Q134266_1_8545931" ValueType="String">\n <ColumnID>[414702.1.317581386]</ColumnID>\n <BaseName>HasUserQuantity</BaseName>\n <Name>HasUserQuantity</Name>\n <Title>HasUserQuantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>true</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgHasUserQuantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@ImgHasSupply1" ElementType="Fulfillment Q134266_1_8545931" ValueType="String">\n <ColumnID>[414702.1.317581387]</ColumnID>\n <BaseName>ImgHasSupply</BaseName>\n <Name>ImgHasSupply</Name>\n <Title>ImgHasSupply</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ImgHasSupply</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@Period_start1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Date">\n <ColumnID>[414702.1.317581388]</ColumnID>\n <BaseName>Period_start</BaseName>\n <Name>Period_start</Name>\n <Title>Period start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@3">\n <GEBDerivationBase Key="@4" TargetType="Fulfillment Q134266_1_8545931">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@5">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@6">\n <GEBNodeDerivationExpressionBody Key="@7">\n <ExpressionText>object.Supply_MP().GetPeriodStart()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@8">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBSelectColumn Key="@Quantity1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Real">\n <ColumnID>[112610.0.1005221707]</ColumnID>\n <BaseName>Quantity</BaseName>\n <Name>Quantity</Name>\n <Title>Quantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Quantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@Cost1" ElementType="Fulfillment Q134266_1_8545931" ValueType="Real">\n <ColumnID>[414702.1.317581389]</ColumnID>\n <BaseName>Cost</BaseName>\n <Name>Cost</Name>\n <Title>Cost</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@9">\n <GEBDerivationBase Key="@10" TargetType="Fulfillment Q134266_1_8545931">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@11">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@12">\n <GEBNodeDerivationExpressionBody Key="@13">\n <ExpressionText>object.Supply_MP().GetBaseCostPerQuantity() * object.Quantity()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@14">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBFilter Key="@15">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@16" Column="@Quantity1">\n <ColumnID>[112610.0.1005221707]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@17">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [113694.0.1490809329] true false
+ ColumnSort [113694.0.1490521540] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [108486.1.1171911811]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 49.867197875166
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1175693802]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1175693803]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 52.6315789473684
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1175693804]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1175693807]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [108486.1.1175456932]
+ {
+ [108486.1.1175896212]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetImageColumn] [108486.1.2113319927]
+ {
+ Width := 23
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyType [108486.1.1185051348]'
+ }
+ }
+ Column internal[DataSetImageColumn] [108486.2.521730743]
+ {
+ Header := 'HasValidPegging'
+ Width := 21
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ImgHasValidPegging [108486.2.479981617]'
+ }
+ }
+ Column internal[DataSetImageColumn] [108486.2.14534947]
+ {
+ Header := 'HasValidPeggedQuantity'
+ Width := 23
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ImgHasValidPeggedQuantity [108486.1.2146810434]'
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [108486.1.2113344305]
+ {
+ Header := 'Period start'
+ Width := 115
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.GetPeriodStart() )'
+ Alignment := ''
+ }
+ }
+ Column internal[DataSetDataColumn] [108486.1.2110122007]
+ {
+ Width := 116
+ SizedByUser := true
+ Subtotals := true
+ Specific
+ {
+ DataPath := 'Quantity [112884.1.1160030032]'
+ }
+ }
+ Column internal[DataSetChartColumn] [108486.1.2113393570]
+ {
+ Header := 'Supply'
+ Width := 72
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ Type := 'Stacked Bar'
+ Relative := true
+ Points
+ {
+ PointDefinition
+ {
+ Text := 'minvalue( object.GetPeggedQuantity(), object.Quantity() )'
+ Color := '$CCCCCC'
+ NegativeColor := 'Red'
+ Description := 'Used quantity for pegging'
+ }
+ PointDefinition
+ {
+ Text := 'object.GetAvailableQuantityForPegging()'
+ Color := 'Green'
+ NegativeColor := 'Red'
+ Description := 'Available quantity for pegging'
+ }
+ PointDefinition
+ {
+ Text := 'maxvalue( object.GetPeggedQuantity() - object.Quantity(), 0 )'
+ Color := 'Red'
+ NegativeColor := 'Red'
+ Description := 'Overused quantity'
+ }
+ }
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [110880.2.1142925855]
+ {
+ Header := 'Available'
+ Width := 79
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.GetAvailableQuantityForPegging() )'
+ Alignment := ''
+ }
+ }
+ }
+ }
+ ColumnSort [108486.1.2113344305] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [108486.1.1175693810]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 47.3684210526316
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1175693811]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [108486.1.1175693814]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [108486.1.1175456935]
+ {
+ [108486.1.1175896215]
+ [108486.1.1320715924]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetImageColumn] [108486.1.2113733284]
+ {
+ Header := 'DemandType'
+ Width := 23
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Demand_MP [134266.1.16794407]|DemandType [11660.0.340434965]'
+ }
+ }
+ Column internal[DataSetImageColumn] [110880.9.1181425511]
+ {
+ Header := 'HasUserQuantity'
+ Width := 25
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ImgHasUserQuantity [108486.1.1707654857]'
+ }
+ }
+ Column internal[DataSetImageColumn] [113694.0.1488690244]
+ {
+ Width := 21
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ImgHasDemand [113694.0.1488476421]'
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [108486.1.2113843687]
+ {
+ Header := 'Period start'
+ Width := 115
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.Demand_MP().GetPeriodStart() )'
+ Alignment := ''
+ }
+ }
+ Column internal[DataSetDataColumn] [108486.1.2110122012]
+ {
+ Width := 150
+ SizedByUser := true
+ Subtotals := false
+ Quantor
+ {
+ Simple := 'sum' DataMemberString := 'Quantity [134266.1.8545959]'
+ }
+ Specific
+ {
+ DataPath := 'Quantity [134266.1.8545959]'
+ }
+ }
+ Column internal[DataSetDataColumn] [108486.1.2110122013]
+ {
+ Header := 'Cost'
+ Width := 100
+ Subtotals := false
+ Quantor
+ {
+ Simple := 'sum' DataMemberString := 'BaseCost [134266.1.8545935]'
+ }
+ Specific
+ {
+ DataPath := 'BaseCost [134266.1.8545935]'
+ }
+ }
+ }
+ }
+ ColumnSort [108486.1.2113843687] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [127710.1.818301225]
+ SINGLEINSTANCE false
+ ID '浜у搧瑙勫垝鏁版嵁鐭╅樀'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form
+ CREATETYPE FormProductPlanningMatrix
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[1]Selection[NONE]
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [127710.1.821866707]
+ OBJECTTYPE CheckBox
+ CONTENTS
+ {
+ Checkstate 1
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [127710.1.821866918]
+ OBJECTTYPE StringSelection
+ CONTENTS
+ {
+ BoundValue '[Leaf product]'
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [127710.1.818312567]
+ OBJECTTYPE MatrixEditor
+ CONTENTS
+ {
+ RowHeight 29
+ ColumnWidth 82
+ FirstColumnWidth 433
+ Attributes 'SupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays'
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [127710.1.819572713]
+ OBJECTTYPE GUIScaleView
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [127710.1.820829335]
+ OBJECTTYPE UserConfigurableInformation
+ CONTENTS
+ {
+ ObjectText 'VALUE(object.Start())'
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [127710.1.819572710]
+ OBJECTTYPE GUIScaleView
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [127710.1.820300549]
+ OBJECTTYPE UserConfigurableInformation
+ CONTENTS
+ {
+ ObjectText 'VALUE( object.Name() ) (VALUE( object.UnitOfMeasureName() ))'
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
KEY [136682.0.365472357]
SINGLEINSTANCE false
ID '鍔犲伐璺緞'
@@ -2017,7 +2021,7 @@
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[1]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[1]Selection[NONE]
}
INFOOBJECTS
{
@@ -2346,7 +2350,7 @@
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[3]Selection[FOCUS]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[2]Selection[NONE]
}
}
INFOOBJECT
@@ -2361,7 +2365,7 @@
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5507;]TabIdx[2]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[3]Selection[FRONT]
}
INFOOBJECTS
{
@@ -2422,7 +2426,7 @@
{
State := normal
(0,0,0,0)
- DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4493;]TabIdx[2]Selection[NONE]
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[2]Selection[NONE]
}
INFOOBJECTS
{
@@ -2684,7 +2688,7 @@
Column internal[DataSetDataColumn] [530.1.25480393]
{
Header := 'Name'
- Width := 100
+ Width := 68
Subtotals := false
Specific
{
@@ -2694,7 +2698,7 @@
Column internal[DataSetDataColumn] [530.1.25480394]
{
Header := 'Description'
- Width := 100
+ Width := 105
Subtotals := false
Specific
{
@@ -2727,6 +2731,17 @@
CONTENTS
{
NEWFORMAT
+ COLUMN 91 50
+ COLUMN 92 50
+ COLUMN 93 50
+ COLUMN 94 50
+ COLUMN 95 50
+ COLUMN 96 50
+ COLUMN 97 50
+ COLUMN 98 50
+ COLUMN 99 50
+ COLUMN 100 50
+ COLUMN 101 50
COLUMN 102 50
COLUMN 103 50
}
@@ -2902,7 +2917,7 @@
Column internal[DataSetDataColumn] [514.0.499730]
{
Header := 'Name'
- Width := 100
+ Width := 68
Subtotals := false
Specific
{
@@ -2912,7 +2927,7 @@
Column internal[DataSetDataColumn] [530.1.32701549]
{
Header := 'Description'
- Width := 100
+ Width := 105
Subtotals := false
Specific
{
@@ -2922,7 +2937,7 @@
Column internal[DataSetDataColumn] [678.0.64301138]
{
Header := 'astype(UITypeDataMember).DataType.FullName'
- Width := 100
+ Width := 404
Subtotals := false
Specific
{
@@ -3210,6 +3225,1879 @@
}
}
}
+ INFOOBJECT
+ {
+ KEY [414702.1.299084054]
+ SINGLEINSTANCE false
+ ID 'PeggingResult'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form
+ CREATETYPE FormPeggingResult
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[4]Selection[FOCUS]
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [414702.1.299084152]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [414702.1.299084219]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.299300693]
+ {
+ Width := 197
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SalesDemandBaseID [414702.1.294144483]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.299300692]
+ {
+ Width := 83
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [414702.1.294748143]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.299300694]
+ {
+ Width := 163
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StartDate [414702.1.294179413]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.299300695]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StockingPointID [414702.1.294179269]'
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="PeggingProductInSalesDemandBase Q414702_1_290710053">\n <GEBFiltering Key="@Default_Filter1" TargetType="PeggingProductInSalesDemandBase Q414702_1_290710053">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@SalesDemandBaseID1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="String">\n <ColumnID>[414702.1.317561783]</ColumnID>\n <BaseName>SalesDemandBaseID</BaseName>\n <Name>SalesDemandBaseID</Name>\n <Title>SalesDemandBaseID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>SalesDemandBaseID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Quantity1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="Real">\n <ColumnID>[414702.1.300710952]</ColumnID>\n <BaseName>Quantity</BaseName>\n <Name>Quantity</Name>\n <Title>Quantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Quantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@StartDate1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="Date">\n <ColumnID>[414702.1.317561784]</ColumnID>\n <BaseName>StartDate</BaseName>\n <Name>StartDate</Name>\n <Title>StartDate</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>StartDate</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@StockingPointID1" ElementType="PeggingProductInSalesDemandBase Q414702_1_290710053" ValueType="String">\n <ColumnID>[414702.1.317561785]</ColumnID>\n <BaseName>StockingPointID</BaseName>\n <Name>StockingPointID</Name>\n <Title>StockingPointID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>StockingPointID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Quantity1">\n <ColumnID>[414702.1.300710952]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@5">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [414702.1.299300693] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [414702.1.273394023]
+ SINGLEINSTANCE false
+ ID 'Analysis GlobalOTDSOP'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form
+ CREATETYPE frmStandardAnalysis633
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[4]Selection[NONE]
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531801]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531802]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 0
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531806]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531807]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532065]
+ OBJECTTYPE GUIAnalysis
+ CONTENTS
+ {
+ START(0,0,0,0,false)
+ ANALYSIS(0,0,0,0,false,'Analysis1')
+ {
+ SOURCE 'Types' '[414702.1.290710093]' 0
+
+ GROUP 'NumberOfPlies'
+ NAME 'Analysis1'
+ }
+ ANALYSIS(0,0,0,0,false,'Analysis2')
+ {
+ SOURCE 'Analysis1' '0' 1
+ N[0]
+ TRAVERSE 'AllChild'
+ NAME 'Analysis2'
+ }
+ COLUMNSETTINGS
+ {
+ CapacityAndSaleBudgeCompareItemRow
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.272348160]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RowNo [414384.0.829650683]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.272348159]
+ {
+ Width := 78
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'PlaceOfProductionOfArray [414384.0.864360343]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.272348158]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'BusinessType [414384.0.819696514]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.272348160] true false
+ }
+ CapacityAndSaleBudgeCompareItemRowProduct
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.272348161]
+ {
+ Width := 272
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductCode [414384.0.819696603]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.272348161] true false
+ }
+ CapacityAndSaleBudgeChartElement
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.276292160]
+ {
+ Width := 368
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'BusinessTypeOrPlaceOfProductionOfArray [414384.0.852466561]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.276292162]
+ {
+ Width := 312
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'TimeStringAndScenarioName [414384.0.852466528]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.276292161]
+ {
+ Width := 210
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [414384.0.852466538]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.276292160] true false
+ }
+ CapacityAndSaleBudgeCompareItemColumn
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.286540437]
+ {
+ Width := 287
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ColumnName [414384.0.816630974]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.286540438]
+ {
+ Width := 126
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ColumnNo [414384.0.829650696]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.286540439]
+ {
+ Width := 191
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'TotalIdentification [414702.1.286051924]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.286540438] true false
+ }
+ PeggingResult
+ {
+ Columns
+ {
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.301867879]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'FulfillmentQuantity [414702.1.294201082]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867880]
+ {
+ Width := 150
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'NumberOfPlies [414702.1.294145594]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867881]
+ {
+ Width := 157
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductID [414702.1.294201095]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867882]
+ {
+ Width := 110
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StartDate [414702.1.294201062]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867883]
+ {
+ Width := 188
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StockingPointID [414702.1.294201105]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867884]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyQuantity [414702.1.294201072]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867885]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyType [414702.1.294201052]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.301867885] false false
+ }
+ }
+ CURRENT 'Analysis2'
+ HOME 'Types'
+ FIXEDANALYSIS
+ {
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.1.25480335]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.1.25480340]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [530.1.25480345]
+ {
+ [530.1.25480393]
+ [530.1.25480394]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [530.1.25480393]
+ {
+ Header := 'Name'
+ Width := 68
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.2366]'
+ }
+ }
+ Column internal[DataSetDataColumn] [530.1.25480394]
+ {
+ Header := 'Description'
+ Width := 105
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Description [1.2.1211]'
+ }
+ }
+ }
+ }
+ ColumnSort [530.1.25480393] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3531808]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532013]
+ OBJECTTYPE GUIAnalysisGrid
+ CONTENTS
+ {
+ NEWFORMAT
+ COLUMN 95 50
+ COLUMN 96 50
+ COLUMN 97 50
+ COLUMN 98 50
+ COLUMN 99 50
+ COLUMN 100 50
+ COLUMN 101 50
+ COLUMN 102 50
+ COLUMN 103 50
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3531803]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 100
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531811]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531812]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 44.5645263827082
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532136]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532137]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 34.7701149425287
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532138]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532139]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532140]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532156]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [514.0.499727]
+ {
+ [514.0.499730]
+ [530.1.32701549]
+ [678.0.64301138]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [514.0.499730]
+ {
+ Header := 'Name'
+ Width := 68
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.34]'
+ }
+ }
+ Column internal[DataSetDataColumn] [530.1.32701549]
+ {
+ Header := 'Description'
+ Width := 105
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Description [1.2.2564]'
+ }
+ }
+ Column internal[DataSetDataColumn] [678.0.64301138]
+ {
+ Header := 'astype(UITypeDataMember).DataType.FullName'
+ Width := 404
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+ }
+ }
+ }
+ }
+ ColumnSort [514.0.499730] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3532169]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532170]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532175]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [514.0.499727]
+ {
+ [514.0.499730]
+ [530.1.32701549]
+ [678.0.64301138]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [514.0.499730]
+ {
+ Header := 'Name'
+ Width := 68
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.34]'
+ }
+ }
+ Column internal[DataSetDataColumn] [530.1.32701549]
+ {
+ Header := 'Description'
+ Width := 105
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Description [1.2.2564]'
+ }
+ }
+ Column internal[DataSetDataColumn] [678.0.64301138]
+ {
+ Header := 'astype(UITypeDataMember).DataType.FullName'
+ Width := 404
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'downcast(internal[UITypeDataMember]) [1.1.1409]|DataType [1.3.1182]|FullName [1.2.8615]'
+ }
+ }
+ }
+ }
+ ColumnSort [514.0.499730] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3532181]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 65.2298850574713
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.1.8006303]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.1.8006304]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.1.8006305]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3532182]
+ OBJECTTYPE GUIAnalysisBarChart
+ CONTENTS
+ {
+ LeftSize 257
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [530.0.3531813]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 55.4354736172919
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531950]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [530.0.3531958]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [414702.1.301867879]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'FulfillmentQuantity [414702.1.294201082]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867880]
+ {
+ Width := 150
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'NumberOfPlies [414702.1.294145594]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867881]
+ {
+ Width := 157
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProductID [414702.1.294201095]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867882]
+ {
+ Width := 110
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StartDate [414702.1.294201062]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867883]
+ {
+ Width := 188
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'StockingPointID [414702.1.294201105]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867884]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyQuantity [414702.1.294201072]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.301867885]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'SupplyType [414702.1.294201052]'
+ }
+ }
+ }
+ }
+ ColumnSort [414702.1.301867885] false false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [107654.0.148565389]
+ SINGLEINSTANCE false
+ ID '鏃舵浠诲姟'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Form
+ CREATETYPE FormPeriodTasks
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[T0.4484;]TabIdx[3]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
+ BASEINFOOBJECT
+ {
+ KEY [107654.0.148565389]
+ OBJECTTYPE GUIContainerComponent
+ COMPONENTDATA
+ {
+ [107654.0.148565389]:[110880.4.1427962314]:[110880.4.1427962316]:[110880.4.1427968321]:[110880.4.1427968322]:[110880.4.1427969404]:[110880.4.1427969405]:[110880.4.1427973280]:[11766.0.1791753774]:[514.0.129466]:[104128.0.40995014]:[127710.1.1037824422] STR 'false'
+ [107654.0.148565389]:[110880.4.1427962314]:[110880.4.1427962316]:[110880.4.1427968321]:[110880.4.1427968322]:[110880.4.1427969404]:[110880.4.1427969405]:[110880.4.1427973280]:[11766.0.1791753774]:[514.0.129466]:[104128.0.40995014]:[127710.1.1037824123] STR 'false'
+ }
+ }
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427962314]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427962316]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427968321]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427968322]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969404]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969405]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427973280]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [11766.0.1791753776]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [11766.0.1176668425]
+ {
+ [112884.0.420632428]
+ [11766.1.490571536]
+ [11766.1.490571537]
+ [11766.0.1176668437]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [112884.0.420632428]
+ {
+ Width := 195
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Process_MP [110880.2.1152117000]|Name [110702.0.510655046]'
+ }
+ }
+ Column internal[DataSetDataColumn] [11766.1.490571536]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'UnitPeriod [11766.0.881988410]|Start [101472.1.1929377045]'
+ }
+ }
+ Column internal[DataSetDataColumn] [11766.1.490571537]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'UnitPeriod [11766.0.881988410]|End [101472.1.1929377307]'
+ }
+ }
+ Column internal[DataSetDataColumn] [11766.0.1176668437]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'QuantityToProcess [11766.0.1140253578]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.53972253]
+ {
+ Width := 175
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Key [1.2.81]'
+ AttributePathIdentifier := "StartType('external[PeriodTask_MP]')
+ Attribute([1.2.81])"
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="PeriodTask_MP Q11766_0_874292114">\n <GEBFiltering Key="@Default_Filter1" TargetType="PeriodTask_MP Q11766_0_874292114">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Process_MPName1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="String">\n <ColumnID>[414702.1.317561778]</ColumnID>\n <BaseName>Process_MPName</BaseName>\n <Name>Process_MPName</Name>\n <Title>Name</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Process_MP.Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@UnitPeriodStart1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="DateTime">\n <ColumnID>[414702.1.317561779]</ColumnID>\n <BaseName>UnitPeriodStart</BaseName>\n <Name>UnitPeriodStart</Name>\n <Title>Start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>UnitPeriod.Start</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@UnitPeriodEnd1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="DateTime">\n <ColumnID>[414702.1.317561780]</ColumnID>\n <BaseName>UnitPeriodEnd</BaseName>\n <Name>UnitPeriodEnd</Name>\n <Title>End</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>UnitPeriod.End</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@QuantityToProcess1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="Real">\n <ColumnID>[414702.1.317561781]</ColumnID>\n <BaseName>QuantityToProcess</BaseName>\n <Name>QuantityToProcess</Name>\n <Title>QuantityToProcess</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>QuantityToProcess</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Key1" ElementType="PeriodTask_MP Q11766_0_874292114" ValueType="Key">\n <ColumnID>[414702.1.317561782]</ColumnID>\n <BaseName>Key</BaseName>\n <Name>Key</Name>\n <Title>Key</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Key</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Key1">\n <ColumnID>[414702.1.317561782]</ColumnID>\n <GEBFilterColumnMatch Key="@5">\n <Operation>=</Operation>\n <Enabled>true</Enabled>\n <RHSValue>\n <RHSFreeValue Key="@6">\n <StringValue></StringValue>\n <Value>Key:[414702.1.314706304]</Value>\n </RHSFreeValue>\n </RHSValue>\n </GEBFilterColumnMatch>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@7">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [112884.0.420632428] true false
+ ColumnSort [11766.1.490571536] true false
+ ColumnSort [11766.1.490571537] true false
+ ColumnSort [11766.0.1176668437] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969406]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [110880.4.1427968323]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969947]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969948]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 31.659249841068
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427981196]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [11766.0.1791753785]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [11766.0.1025088210]
+ {
+ [11766.1.490215920]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [11766.1.490215920]
+ {
+ Width := 145
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [101320.0.110374989]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.19001156]
+ {
+ Width := 259
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProcessInput [110880.8.886850132]|downcast(OperationInput) [108486.1.157418918]|ProductID [113694.1.2134238792]'
+ AttributePathIdentifier := "StartType('external[DependentDemand]')
+ Node(R[110880.8.886850132], TT[108486.1.157418918], nondistinctive)
+ Attribute([113694.1.2134238792])"
+ }
+ }
+ }
+ }
+ ColumnSort [11766.1.490215920] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [110880.4.1427969949]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 68.340750158932
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [110880.4.1427985019]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [11766.0.1791753792]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [11766.0.1025296083]
+ {
+ [11766.0.1025296085]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [11766.0.1025296085]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Quantity [112884.1.1160030032]'
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.19001111]
+ {
+ Width := 266
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'ProcessOutput [110880.8.945109647]|downcast(OperationOutput) [101318.0.90160276]|ProductID [113694.1.2134238792]'
+ AttributePathIdentifier := "StartType('external[NewSupply]')
+ Node(R[110880.8.945109647], TT[101318.0.90160276], nondistinctive)
+ Attribute([113694.1.2134238792])"
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.55207096]
+ {
+ Width := 173
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Start [108486.2.80172755]'
+ AttributePathIdentifier := "StartType('external[NewSupply]')
+ Attribute([108486.2.80172755])"
+ }
+ }
+ Column internal[DataSetDataColumn] [414702.1.55207125]
+ {
+ Width := 194
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'AsProductionSupply [134266.1.5797947]|ProductInStockingPoint_MP [134266.1.5798354]|StockingPointID [108486.0.343831378]'
+ AttributePathIdentifier := "StartType('external[NewSupply]')
+ Node(R[134266.1.5797947], TT[134266.1.852406], distinctive)
+ Node(R[134266.1.5798354], TT[11660.0.485565014], distinctive)
+ Attribute([108486.0.343831378])"
+ }
+ }
+ Column internal[DataSetConfigurableColumn] [414702.1.305339206]
+ {
+ Header := 'PeriodKey'
+ Width := 243
+ SizedByUser := true
+ Subtotals := false
+ Specific
+ {
+ Text := 'VALUE( object.PeriodTask_MP().Key() )'
+ Alignment := '榛樿'
+ }
+ }
+ }
+ }
+ Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="NewSupply Q11660_0_958335014">\n <GEBFiltering Key="@Default_Filter1" TargetType="NewSupply Q11660_0_958335014">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Quantity1" ElementType="NewSupply Q11660_0_958335014" ValueType="Real">\n <ColumnID>[414702.1.317561786]</ColumnID>\n <BaseName>Quantity</BaseName>\n <Name>Quantity</Name>\n <Title>Quantity</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Quantity</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@OperationOutputProductID1" ElementType="NewSupply Q11660_0_958335014" ValueType="String">\n <ColumnID>[414702.1.317561787]</ColumnID>\n <BaseName>OperationOutputProductID</BaseName>\n <Name>OperationOutputProductID</Name>\n <Title>ProductID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ProcessOutput.astype(OperationOutput).ProductID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@Start1" ElementType="NewSupply Q11660_0_958335014" ValueType="DateTime">\n <ColumnID>[414702.1.317561788]</ColumnID>\n <BaseName>Start</BaseName>\n <Name>Start</Name>\n <Title>Start</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Start</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID1" ElementType="NewSupply Q11660_0_958335014" ValueType="String">\n <ColumnID>[414702.1.317561789]</ColumnID>\n <BaseName>AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID</BaseName>\n <Name>AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID</Name>\n <Title>StockingPointID</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>AsProductionSupply.ProductInStockingPoint_MP.StockingPointID</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBProcessColumn Key="@PeriodKey1" ElementType="NewSupply Q11660_0_958335014" ValueType="Key">\n <ColumnID>[414702.1.317561790]</ColumnID>\n <BaseName>PeriodKey</BaseName>\n <Name>PeriodKey</Name>\n <Title>PeriodKey</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <GEBDerivation Key="@3">\n <GEBDerivationBase Key="@4" TargetType="NewSupply Q11660_0_958335014">\n <ColumnID>[0.0.0]</ColumnID>\n <GEBNodeDerivation Key="@5">\n <Operation>FirstExpression</Operation>\n <Conditional>false</Conditional>\n <Multiple>false</Multiple>\n <AllowWildcards>false</AllowWildcards>\n <GEBNodeDerivationExpression Key="@6">\n <GEBNodeDerivationExpressionBody Key="@7">\n <ExpressionText>object.PeriodTask_MP().Key()</ExpressionText>\n <Converter>\n <ZeroConverter Key="@8">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBNodeDerivationExpressionBody>\n </GEBNodeDerivationExpression>\n </GEBNodeDerivation>\n </GEBDerivationBase>\n </GEBDerivation>\n </GEBProcessColumn>\n <GEBFilter Key="@9">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@10" Column="@AsProductionSupplyProductInStockingPointInPeriodProductInStockingPoint_MPStockingPointID1">\n <ColumnID>[414702.1.317561789]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@11">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n'
+ ColumnSort [414702.1.19001111] true false
+ ColumnSort [414702.1.55207096] true false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [666.6.1042075]
+ SINGLEINSTANCE false
+ ID '杩囨护'
+ PARENTKEY [514.0.2180]
+ OBJECTTYPE Dialog
+ CREATETYPE tlpFiltering
+ CONTENTS
+ {
+ State := normal
+ (0,0,0,0)
+ DockableLocation := Station[MAIN]State[NORM]TreePath[B0.5516;]TabIdx[5]Selection[NONE]
+ }
+ BASEINFOOBJECTS
+ {
+ BASEINFOOBJECT
+ {
+ KEY [666.6.1042075]
+ OBJECTTYPE GUIContainerComponent
+ COMPONENTDATA
+ {
+ [666.6.1042075]:[101180.0.423432963]:[101180.0.423434508]:[666.6.33523821]:[101180.0.674802547]:[100664.0.672641496] STR 'true'
+ [666.6.1042075]:[101180.0.423432963]:[101180.0.423439415]:[666.6.33523821]:[101180.0.674802547]:[100664.0.672641496] STR 'true'
+ }
+ }
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [101180.0.423434508]
+ OBJECTTYPE GUIComponent
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694330]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694331]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599437]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599439]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [121918.0.881777301]
+ {
+ [121918.0.881787967]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [121918.0.881787967]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.5343]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'SortIndex [1.2.7432]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634694332]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737763]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737764]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 99.921052631579
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737766]
+ OBJECTTYPE Selection
+ CONTENTS
+ {
+ BoundValue 'Quantity'
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737768]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.33522193]
+ {
+ [666.6.36059183]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [666.6.36059183]
+ {
+ Header := 'Name'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.3778]'
+ }
+ }
+ }
+ }
+ ColumnSort [666.6.36059183] true false
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [101180.0.650773001]
+ OBJECTTYPE Selection
+ CONTENTS
+ {
+ BoundValue '='
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [101180.0.650773003]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.37024730]
+ {
+ [101180.0.649255714]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.649255714]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Operation [1.2.3779]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3780]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [666.6.40803406]
+ OBJECTTYPE Selection
+ CONTENTS
+ {
+ BoundValue '12'
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [666.6.40803422]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647865904]
+ {
+ [101180.0.647981465]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[RHSValueDataSetColumn] [101180.0.647981465]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.3305]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3781]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737776]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737791]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647784541]
+ {
+ [101180.0.647785023]
+ [101180.0.648130649]
+ [101180.0.667481201]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.647785023]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'GEBUIFilterColumn [1.3.3296]|Name [1.2.3778]'
+ }
+ }
+ Column internal[DataSetDataColumn] [101180.0.648130649]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'OperationDisplay [1.2.3770]'
+ }
+ }
+ Column internal[RHSValueDataSetColumn] [101180.0.667481201]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.4449]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ ColumnSort [101180.0.647785023] true false
+ DataMemberSort 'Position [1.2.3820]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737792]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [112950.0.657398972]
+ OBJECTTYPE CheckBox
+ CONTENTS
+ {
+ Checkstate 1
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [101180.0.423439415]
+ OBJECTTYPE GUIComponent
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694330]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634694331]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599437]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.681599439]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [121918.0.881777301]
+ {
+ [121918.0.881787967]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [121918.0.881787967]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.5343]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'SortIndex [1.2.7432]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634694332]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 99.8686947373494
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737763]
+ OBJECTTYPE SplitterWnd
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737764]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ Size 99.921052631579
+ VISIBLE true
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737766]
+ OBJECTTYPE Selection
+ CONTENTS
+ {
+ BoundValue ''
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737768]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.33522193]
+ {
+ [666.6.36059183]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [666.6.36059183]
+ {
+ Header := 'Name'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Name [1.2.3778]'
+ }
+ }
+ }
+ }
+ ColumnSort [666.6.36059183] true false
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [101180.0.650773001]
+ OBJECTTYPE Selection
+ CONTENTS
+ {
+ BoundValue ''
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [101180.0.650773003]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [666.6.37024730]
+ {
+ [101180.0.649255714]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.649255714]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'Operation [1.2.3779]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3780]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [666.6.40803406]
+ OBJECTTYPE Selection
+ CONTENTS
+ {
+ BoundValue ''
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [666.6.40803422]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647865904]
+ {
+ [101180.0.647981465]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[RHSValueDataSetColumn] [101180.0.647981465]
+ {
+ Header := 'x'
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.3305]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ DataMemberSort 'Position [1.2.3781]' true true
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737776]
+ OBJECTTYPE List
+ CONTENTS
+ {
+ Quantorrow := false
+ }
+ INFOOBJECTS
+ {
+ INFOOBJECT
+ {
+ KEY [100664.0.634737791]
+ OBJECTTYPE GUIDataSetLevel
+ CONTENTS
+ {
+ Columns
+ {
+ Definition := [101180.0.647784541]
+ {
+ [101180.0.647785023]
+ [101180.0.648130649]
+ [101180.0.667481201]
+ }
+ SubTotals := true
+ Visible
+ {
+ Column internal[DataSetDataColumn] [101180.0.647785023]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'GEBUIFilterColumn [1.3.3296]|Name [1.2.3778]'
+ }
+ }
+ Column internal[DataSetDataColumn] [101180.0.648130649]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'OperationDisplay [1.2.3770]'
+ }
+ }
+ Column internal[RHSValueDataSetColumn] [101180.0.667481201]
+ {
+ Width := 100
+ Subtotals := false
+ Specific
+ {
+ DataPath := 'RHSValue [1.3.4449]|StringValue [1.2.5531]'
+ }
+ }
+ }
+ }
+ ColumnSort [101180.0.647785023] true false
+ DataMemberSort 'Position [1.2.3820]' true true
+ }
+ }
+ }
+ }
+ }
+ }
+ INFOOBJECT
+ {
+ KEY [100664.0.634737792]
+ OBJECTTYPE SplitterPane
+ CONTENTS
+ {
+ VISIBLE false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
}
}
diff --git a/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Capacity___sale_budge.vw b/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Capacity___sale_budge.vw
deleted file mode 100644
index 780f9e5..0000000
--- a/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Capacity___sale_budge.vw
+++ /dev/null
@@ -1,205 +0,0 @@
-Quintiq file version 2.0
-{
- viewcontents
- {
- forms
- {
- form_legacy_1
- {
- title: 'Scenario manager'
- shown: true
- componentID: 'FormScenarioManager'
- layout
- {
- mode: 'open'
- rowPosition: 1
- rowSpan: 8
- columnPosition: 1
- columnSpan: 5
- }
- components
- {
- FormScenarioManager_ListScenario
- {
- }
- FormScenarioManager_DataSetLevelScenario
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 90
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 197
- }
- column_ChangedBy
- {
- columnId: 'ChangedBy'
- dataPath: 'ChangedBy'
- dataType: 'string'
- title: 'Changed by'
- index: 2
- subtotals: ''
- width: 91
- }
- column_ChangedOn
- {
- columnId: 'ChangedOn'
- dataPath: 'ChangedOn'
- dataType: 'datetime'
- title: 'Changed on'
- index: 3
- subtotals: ''
- width: 99
- }
- column_StorageMode
- {
- columnId: 'StorageMode'
- dataPath: 'StorageMode'
- dataType: 'string'
- title: 'StorageMode'
- index: 4
- subtotals: ''
- width: 40
- }
- }
- }
- }
- form_FormOptimizerPuzzles
- {
- title: 'Optimizer Puzzles'
- shown: false
- componentID: 'FormOptimizerPuzzles'
- layout
- {
- mode: 'dockright'
- index: 0
- }
- components
- {
- FormOptimizerPuzzles_ListOptimizerPuzzles
- {
- }
- FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 109
- }
- column_Description
- {
- columnId: 'Description'
- dataPath: 'Description'
- dataType: 'string'
- title: '鎻忚堪'
- index: 2
- subtotals: ''
- width: 207
- }
- }
- }
- }
- form_FormKPI
- {
- title: 'KPI Dashboard'
- shown: true
- componentID: 'FormKPI'
- layout
- {
- mode: 'dockright'
- index: 1
- }
- components
- {
- FormKPI_PanelKPI
- {
- sizeRatio: 1
- activeChild: 'PanelKPISelection'
- }
- FormKPI_PanelKPIDashboard
- {
- sizeRatio: 1
- }
- FormKPI_PanelKPISelection
- {
- sizeRatio: 1
- }
- FormKPI_ListKPISelection
- {
- QuillViewData
- {
- Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
- }
- }
- FormKPI_DataSetLevelKPISelection
- {
- groupDepth: -1
- column_All_constraints
- {
- columnId: 'All constraints'
- dataPath: 'All constraints'
- dataType: 'string'
- title: 'All constraints'
- index: 0
- subtotals: ''
- width: 32
- }
- column_Name
- {
- columnId: 'Name'
- dataPath: 'Name'
- dataType: 'string'
- title: '鍚嶇О'
- index: 1
- subtotals: ''
- width: 200
- }
- }
- }
- }
- }
- userconfigurableinformation
- {
- }
- index: 0
- image: 'CHART_HI_LO'
- page: 'ActionBarPageScenarioComparison'
- group: ''
- description: ''
- }
- formatversion: 2
- id: 'Capacity___sale_budge'
- name: 'Capacity & sale budge'
- isglobal: false
- isroot: true
-}
--
Gitblit v1.9.3