| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ExportDataToExcelOrDataManager ( | 
|   internal[GUIComponent] parent | 
| ) id:Method_DialogEDIExportDEV_ExportDataToExcelOrDataManager | 
| { | 
|   #keys: '[108486.1.1111206054]' | 
|   Body: | 
|   [* | 
|     // Export data to excel | 
|      | 
|     Dialog.ConfigureComponentsForExport(); | 
|     defaultImportProfile := shadow( MPSync.DefaultImportProfile() ); | 
|     Dialog.Data( defaultImportProfile ); | 
|     result := Dialog.DoModal( parent ); | 
|      | 
|     // UserData is set by text box responses depending on whether there is a user-specified path. | 
|     exportpath := ifexpr( EditorImportExportPath.UserData() = 0 , EditorImportExportPath.Text(), '' ); | 
|     binaryvalues := construct( BinaryValues); | 
|     brokernames := construct( Strings ); | 
|     smbinaryvalues := construct( BinaryValues ); | 
|     smbrokernames := construct( Strings ); | 
|     userimportprofilevalues := construct( BinaryValues ); | 
|     userimportprofilebrokers := construct( Strings ); | 
|      | 
|     isbinaryexport := true ; | 
|     //Format to correct format | 
|     Dialog.FormatPath( exportpath ); | 
|      | 
|     if( result > 0 ) | 
|     { | 
|       Dialog.Data().Commit(); | 
|        | 
|       is3DDrive := RadioButtonGroupExcelOrDataManager.BoundValue() = MPSyncUtility::ID_Source_3DDrive(); | 
|       isDEF := RadioButtonGroupExcelOrDataManager.BoundValue() = MPSyncUtility::ID_Source_DEF(); | 
|      | 
|       if( isDEF ) | 
|       { | 
|         Dialog.ExportToDataManager(); | 
|       } | 
|       else // Export to Excel or 3DDrive | 
|       { | 
|         //Preset calendarimportexport.ExportData | 
|         if ( Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Capacities() )) | 
|         { | 
|           exportid := Key::NextPersistentKey(); | 
|           ApplicationLibMacroPlanner.LabelExportID().Text([String] exportid ); | 
|           MacroPlan.CalendarImportExport().Export( exportid, MacroPlan.CalendarRegistry().GetAllCalendars() ); | 
|         } | 
|          | 
|         boundvalue := RadioButtonGroupExcelOrDataManager.BoundValue(); | 
|          | 
|         if( boundvalue = 'Message' ) | 
|         { | 
|           MacroPlan.QIntegration_MP().Export( Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_SupplyChainParameters() ),   // general | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_GlobalParameters() ),        // globalparameters | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Periods() ),                 // periods | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_InventorySpecifications() ), // inventoryspecifications | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_InventorySupplies() ),       // inventorysupplies | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Products() ),                // products | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Recipes() ),                 // recipes | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Forecast() ),                // salesdemands | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_ServiceLevels() ),           // servicelevels | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Campaigns() ),               // campaigns and transitions | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Entities() ),                // entities | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Costs() ),                   // entitiescosts | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Lanes() ),                   // lanes | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Routings() ),                // routings | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Capacities() ),              // stockingpointcapacities and unitcapacities | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_SupplySpecifications() ),    // supplyspecifications | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Actuals() ),                 // actuals pispip and actual unit periods | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Feedback() ),                // feedbacks | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_OptimizerPuzzle() ),         // optimier puzzles | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_PostponementSpecAndFulfillmentRestriction() ),// Postponement specifications and fulfillment restrictions | 
|                                               Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_CustomerOrder() ) // Customer orders | 
|                                              ); | 
|         } | 
|         else | 
|         { | 
|           MacroPlan.Export( Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_SupplyChainParameters() ),   // general | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_GlobalParameters() ),        // globalparameters | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Periods() ),                 // periods | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_InventorySpecifications() ), // inventoryspecifications | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_InventorySupplies() ),       // inventorysupplies | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Products() ),                // products | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Recipes() ),                 // recipes | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Forecast() ),             // salesdemands | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_ServiceLevels() ),           // servicelevels | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Campaigns() ),               // campaigns and transitions | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Entities() ),                // entities | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Costs() ),                   // entitiescosts | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Lanes() ),                   // lanes | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Routings() ),                // routings | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Capacities() ),              // stockingpointcapacities and unitcapacities | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_SupplySpecifications() ),    // supplyspecifications | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Actuals() ),                 // actuals pispip and actual unit periods | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Feedback() ),                // feedbacks | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_OptimizerPuzzle() ),           // optimier puzzles | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_PostponementSpecAndFulfillmentRestriction() ),// PostponementSpecAndFufillmentRestriction | 
|                             Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_CustomerOrder() ),// Customer order | 
|                             isbinaryexport, //isbinaryexport | 
|                             is3DDrive, | 
|                             DataHolderDirectoryFileItem.Data(), | 
|                             binaryvalues, | 
|                             brokernames | 
|                           );   | 
|           } | 
|          | 
|           ScenarioManager.Export( Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Strategies() ),  | 
|                                   Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Accounts() ),  | 
|                                   Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_Bookmarks() ),  | 
|                                   Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_KPISetting() ),   | 
|                                   isbinaryexport, is3DDrive, DataHolderDirectoryFileItem.Data(),  | 
|                                   smbinaryvalues, smbrokernames ); | 
|            | 
|           MPSync.Export( Dialog.GetIsIncluded( MPSyncUtility::ID_ObjectGroup_ImportProfiles() ), | 
|                                                is3DDrive, DataHolderDirectoryFileItem.Data(), | 
|                                                userimportprofilevalues, userimportprofilebrokers ); | 
|                                                 | 
|           if( not is3DDrive ) // 3DDrive already exported on server side | 
|           {          | 
|             // Macroplan dataset                         | 
|             this.WriteToDestinationFile( exportpath, binaryvalues, brokernames ); | 
|             // ScenarioManager dataset | 
|             this.WriteToDestinationFile( exportpath, smbinaryvalues, smbrokernames ); | 
|             // MPSync dataset | 
|             this.WriteToDestinationFile( exportpath, userimportprofilevalues, userimportprofilebrokers ); | 
|           } | 
|       } | 
|      | 
|     } | 
|   *] | 
| } |