| Quintiq file version 2.0 | 
| Component CustomDrawComponentSupplyChainVisualization | 
| { | 
|   #keys: '[132894.0.847763263]' | 
|   BaseType: 'CustomDrawComponent' | 
|   Children: | 
|   [ | 
|     Component menuCustomDraw | 
|     { | 
|       #keys: '[132894.0.847763264]' | 
|       BaseType: 'popupCustomDraw' | 
|     } | 
|     Component GUIDataExtractorSCVNode | 
|     { | 
|       #keys: '[132894.0.847774951]' | 
|       BaseType: 'GUIDataExtractor' | 
|       Properties: | 
|       [ | 
|         Component: 'DataHolderSCVConfiguration' | 
|         DataType: 'shadow[SCVConfiguration]' | 
|         PosX: 4 | 
|         PosY: 56 | 
|         Transformation: 'SCVNode' | 
|       ] | 
|     } | 
|     Component DataHolderDisplayPISPIP | 
|     { | 
|       #keys: '[132894.0.847793878]' | 
|       BaseType: 'DataHolder' | 
|       Databinding: 'structured[ProductInStockingPointInPeriod]*' | 
|       Children: | 
|       [ | 
|         Component GUIDataExtractorLeafPISPIP | 
|         { | 
|           #keys: '[132894.0.847794265]' | 
|           BaseType: 'GUIDataExtractor' | 
|           Properties: | 
|           [ | 
|             Component: 'DataHolderProductInSPIP' | 
|             DataType: 'structured[ProductInStockingPointInPeriod]' | 
|             FixedFilter: 'object.ProductInStockingPoint_MP().IsLeaf()' | 
|             PosX: 15 | 
|             PosY: 43 | 
|             Transformation: 'Elements' | 
|           ] | 
|         } | 
|         Component GUIDataExtractorFocusedPISPIP | 
|         { | 
|           #keys: '[132894.0.1020279383]' | 
|           BaseType: 'GUIDataExtractor' | 
|           Properties: | 
|           [ | 
|             Component: 'DataHolderFocusedPISPIP' | 
|             DataType: 'structured[ProductInStockingPointInPeriod]' | 
|             PosX: 59 | 
|             PosY: 44 | 
|             Transformation: 'Elements' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         Description: 'Holds data from Product planning matrix selection or user focused node' | 
|         MergeStyle: 'Unite' | 
|         PosX: 121 | 
|         PosY: 50 | 
|         ShowName: true | 
|         ModeledStringList ChildOrdering | 
|         { | 
|           c: GUIDataExtractorLeafPISPIP | 
|           c: GUIDataExtractorFocusedPISPIP | 
|         } | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerNode | 
|     { | 
|       #keys: '[132894.0.851822513]' | 
|       BaseType: 'CustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component UserConfigurableInformationSCVPISPIPNode | 
|         { | 
|           #keys: '[132894.0.1052382324]' | 
|           BaseType: 'UserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'shadow[SCVPISPIPNode]' | 
|             PosX: 56 | 
|             PosY: 55 | 
|             TooltipText: | 
|             [* | 
|               <table> | 
|               <tr> | 
|               <td><b>Stocking point:</b></td> | 
|               <td>VALUE( object.ProductInStockingPointInPeriod().ProductInStockingPoint_MP().StockingPoint_MP().Name() )</td> | 
|               <td></td> | 
|               </tr> | 
|                | 
|               <tr> | 
|               <td><b>Product:</b></td> | 
|               <td>VALUE( object.ProductInStockingPointInPeriod().ProductInStockingPoint_MP().Product_MP().Name() )</td> | 
|               </tr> | 
|               </table> | 
|                | 
|               <hr> | 
|                | 
|               <table> | 
|               <tr> | 
|               <td><font color="#0000FF"><b>Inventory level end </b></font></td> | 
|               <td><font color="#0000FF">VALUE( MacroPlan::GetDisplayValue( object.ProductInStockingPointInPeriod().InventoryLevelEnd() ) )</font></td> | 
|               <td></td> | 
|               <td><b>Inventory holding cost </b></td> | 
|               <td>VALUE(object.ProductInStockingPointInPeriod().TotalBaseInventoryHoldingCost())</td> | 
|               <td>VALUE( ifexpr( object.ProductInStockingPointInPeriod().IsLeaf(), '[' + object.ProductInStockingPointInPeriod().TotalBaseInventoryHoldingCostPerQuantity().Format('N(Dec(2))') + object.ProductInStockingPointInPeriod().ProductInStockingPoint_MP().StockingPoint_MP().Currency_MP().Symbol()  + '/' + object.ProductInStockingPointInPeriod().ProductInStockingPoint_MP().UnitOfMeasure_MP().Name() + ']', '' ) ) </td> | 
|               </tr> | 
|                | 
|               <tr> | 
|               <td><font color="#088A08"><b>Total supply </b></font></td> | 
|               <td><font color="#088A08">VALUE(object.ProductInStockingPointInPeriod().SupplyQuantity())</font></td> | 
|               <td></td> | 
|               <td><font color="#FF8000"><b>Total demand </b><font></td> | 
|               <td><font color="#FF8000">VALUE(object.ProductInStockingPointInPeriod().GetDemandQuantity())</font></td> | 
|               </tr> | 
|               <br> | 
|               <tr> | 
|               <td><b>Inventory start </b></td> | 
|               <td>VALUE( MacroPlan::GetDisplayValue( object.ProductInStockingPointInPeriod().InventoryLevelStartPISPIP().InventoryLevelEnd() ) )</td> | 
|               <td></td> | 
|               <td><b>Sales demand </b></td> | 
|               <td>VALUE(object.ProductInStockingPointInPeriod().SalesDemandQuantity())</td> | 
|               </tr> | 
|                | 
|               <tr> | 
|               <td><b>New supply </b></td> | 
|               <td>VALUE(object.ProductInStockingPointInPeriod().NewSupplyQuantity())</td> | 
|               <td></td> | 
|               <td><b>Dependent demand </b></td> | 
|               <td>VALUE(object.ProductInStockingPointInPeriod().DependentDemandQuantity())</td> | 
|               </tr> | 
|                | 
|               <tr> | 
|               <td><b>Inventory supply </b></td> | 
|               <td>VALUE(object.ProductInStockingPointInPeriod().InventorySupplyQuantity())</td> | 
|               <td></td> | 
|               <td><b>VALUE( ifexpr( object.ProductInStockingPointInPeriod().TargetInventoryLevel() >= object.ProductInStockingPointInPeriod().MinInventoryLevel() , 'Target inventory level', 'Minimum inventory level' ) ) </b></td> | 
|               <td>VALUE( ifexpr( object.ProductInStockingPointInPeriod().TargetInventoryLevel() >= object.ProductInStockingPointInPeriod().MinInventoryLevel() , object.ProductInStockingPointInPeriod().TargetInventoryLevel(), object.ProductInStockingPointInPeriod().MinInventoryLevel() ) )</td> | 
|               </tr> | 
|               </table> | 
|             *] | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationSCVISNode | 
|         { | 
|           #keys: '[134266.1.1611568707]' | 
|           BaseType: 'UserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'shadow[SCVISNode]' | 
|             PosX: 56 | 
|             PosY: 91 | 
|             TooltipText: 'VALUE(object.Tooltip())' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationSCVSDNode | 
|         { | 
|           #keys: '[134266.1.1611569449]' | 
|           BaseType: 'UserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'shadow[SCVSDNode]' | 
|             PosX: 105 | 
|             PosY: 62 | 
|             TooltipText: 'VALUE(object.Tooltip())' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationSCVRoutingStepNode | 
|         { | 
|           #keys: '[134266.1.1611571765]' | 
|           BaseType: 'UserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'shadow[SCVRoutingStepNode]' | 
|             PosX: 100 | 
|             PosY: 90 | 
|             TooltipText: 'VALUE(object.Tooltip())' | 
|           ] | 
|         } | 
|         Component UserConfigurableInformationSCVLaneNode | 
|         { | 
|           #keys: '[134266.1.1611573383]' | 
|           BaseType: 'UserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'shadow[SCVLaneNode]' | 
|             PosX: 81 | 
|             PosY: 26 | 
|             TooltipText: 'VALUE(object.Tooltip())' | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'PopupMenuSCVNode' | 
|         DataExtractor: 'GUIDataExtractorSCVNode' | 
|         DrawingOrder: 2 | 
|         PosX: 34 | 
|         PosY: 56 | 
|         ModeledStringList ChildOrdering | 
|         { | 
|           c: UserConfigurableInformationSCVPISPIPNode | 
|           c: UserConfigurableInformationSCVISNode | 
|           c: UserConfigurableInformationSCVSDNode | 
|           c: UserConfigurableInformationSCVRoutingStepNode | 
|           c: UserConfigurableInformationSCVLaneNode | 
|         } | 
|       ] | 
|     } | 
|     Component DataHolderSCVConfiguration | 
|     { | 
|       #keys: '[132894.0.860791506]' | 
|       BaseType: 'DataHolder' | 
|       Databinding: 'shadow[SCVConfiguration]*' | 
|       Properties: | 
|       [ | 
|         Description: 'Starting point for extractors on supply chain visualization, store the drawing parameters and also shadow nodes and edges' | 
|         PosX: 106 | 
|         PosY: 15 | 
|         ShowName: true | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerSCVEdge | 
|     { | 
|       #keys: '[132894.0.877941259]' | 
|       BaseType: 'CustomDrawDataLayer' | 
|       Children: | 
|       [ | 
|         Component UserConfigurableInformationPISPIPSCVEdge | 
|         { | 
|           #keys: '[132894.0.1052382218]' | 
|           BaseType: 'UserConfigurableInformation' | 
|           Properties: | 
|           [ | 
|             ObjectType: 'shadow[SCVEdge]' | 
|             PosX: 95 | 
|             PosY: 66 | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'PopupMenuSCVNode' | 
|         DataExtractor: 'GUIDataExtractorSCVEdge' | 
|         DrawingOrder: 1 | 
|         PosX: 33 | 
|         PosY: 87 | 
|       ] | 
|     } | 
|     Component GUIDataExtractorSCVEdge | 
|     { | 
|       #keys: '[132894.0.877941937]' | 
|       BaseType: 'GUIDataExtractor' | 
|       Properties: | 
|       [ | 
|         Component: 'DataHolderSCVConfiguration' | 
|         DataType: 'shadow[SCVConfiguration]' | 
|         PosX: 2 | 
|         PosY: 89 | 
|         Transformation: 'SCVNode.SCVEdge' | 
|       ] | 
|     } | 
|     Component PopupMenuSCVNode | 
|     { | 
|       #keys: '[132894.0.999786189]' | 
|       BaseType: 'PopupMenu' | 
|       Children: | 
|       [ | 
|         Component PopupParent id:PopupParent_987 | 
|         { | 
|           #keys: '[132894.0.999786190]' | 
|           BaseType: 'Menu' | 
|           Children: | 
|           [ | 
|             Component MenuSelect { #keys: '[132894.0.1024354605]' BaseType: 'Menu' Properties: [ Image: 'FLASH' Shortcut: 'Ctrl+L' Text: 'Select' ] } | 
|             Component MenuEditSCVView { #keys: '[132894.0.1045502125]' BaseType: 'Menu' ViewSecurity: 'Administrator' Properties: [ Image: 'NOTE_EDIT' Shortcut: 'Ctrl+E' Text: 'Edit supply chain visualization view...' ] } | 
|             Component MenuLegend { #keys: '[132894.0.1062218350]' BaseType: 'Menu' Properties: [ Image: 'COLORS' Text: 'Legend...' ] } | 
|             Component menuSeparator843 { #keys: '[133968.0.64181620]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|             Component MenuRefresh { #keys: '[133968.0.64182187]' BaseType: 'Menu' Properties: [ Image: 'REFRESH' Shortcut: 'F5' Text: 'Refresh' Tooltip: 'Refreshes the supply chain visualization if it becomes unresponsive' ] } | 
|             Component menuSeparator531 { #keys: '[133968.0.64182288]' BaseType: 'Menu' Properties: [ Separator: true ] } | 
|           ] | 
|           Properties: | 
|           [ | 
|             ModeledStringList ChildOrdering | 
|             { | 
|               c: MenuEditSCVView | 
|               c: MenuRefresh | 
|               c: menuSeparator531 | 
|               c: MenuSelect | 
|               c: menuSeparator843 | 
|               c: MenuLegend | 
|             } | 
|           ] | 
|         } | 
|       ] | 
|       Properties: | 
|       [ | 
|         PosX: 7 | 
|         PosY: 158 | 
|       ] | 
|     } | 
|     Component DataHolderFocusedPISPIP | 
|     { | 
|       #keys: '[132894.0.1007049330]' | 
|       BaseType: 'DataHolder' | 
|       Databinding: 'structured[ProductInStockingPointInPeriod]*' | 
|       Properties: | 
|       [ | 
|         Description: 'Holds user focused node (double clicked)' | 
|         PosX: 129 | 
|         PosY: 78 | 
|         ShowName: true | 
|       ] | 
|     } | 
|     Component DataHolderSelectedNodes | 
|     { | 
|       #keys: '[132894.0.1050781785]' | 
|       BaseType: 'DataHolder' | 
|       Databinding: 'structured[shadow[SCVPISPIPNode]]*' | 
|       Properties: | 
|       [ | 
|         Description: 'Holds user selected nodes (single click or ctrl+click)' | 
|         PosX: 123 | 
|         PosY: 127 | 
|         ShowName: true | 
|       ] | 
|     } | 
|     Component CustomDrawDataLayerSCVConfig | 
|     { | 
|       #keys: '[134266.1.1781055790]' | 
|       BaseType: 'CustomDrawDataLayer' | 
|       Properties: | 
|       [ | 
|         ContextMenu: 'PopupMenuSCVNode' | 
|         DataExtractor: 'GUIDataExtractorSCVConfig' | 
|         DrawingOrder: 0 | 
|         PosX: 31 | 
|         PosY: 31 | 
|       ] | 
|     } | 
|     Component GUIDataExtractorSCVConfig | 
|     { | 
|       #keys: '[134266.1.1781055791]' | 
|       BaseType: 'GUIDataExtractor' | 
|       Properties: | 
|       [ | 
|         Component: 'DataHolderSCVConfiguration' | 
|         DataType: 'shadow[SCVConfiguration]' | 
|         PosX: 5 | 
|         PosY: 30 | 
|       ] | 
|     } | 
|   ] | 
|   Properties: | 
|   [ | 
|     BackgroundColor: 'Window' | 
|     Border: true | 
|     ModeledStringList ChildOrdering | 
|     { | 
|       c: menuCustomDraw | 
|       c: GUIDataExtractorSCVNode | 
|       c: DataHolderDisplayPISPIP | 
|       c: CustomDrawDataLayerNode | 
|       c: DataHolderSCVConfiguration | 
|       c: CustomDrawDataLayerSCVEdge | 
|       c: GUIDataExtractorSCVEdge | 
|       c: PopupMenuSCVNode | 
|       c: DataHolderFocusedPISPIP | 
|       c: DataHolderSelectedNodes | 
|       c: CustomDrawDataLayerSCVConfig | 
|       c: GUIDataExtractorSCVConfig | 
|     } | 
|   ] | 
|   ResponseDefinitions: | 
|   [ | 
|     DelegatedResponseDefinition OnClick id:Responsedef_CustomDrawComponentSupplyChainVisualization_Menu_OnClick | 
|     { | 
|       #keys: '[132894.0.847763265]' | 
|       Initiator: 'Menu' | 
|       IsInherited: false | 
|       ResponseType: 'OnClick' | 
|       Arguments: | 
|       [ | 
|         ResponseDefinitionArgument selection | 
|         { | 
|           #keys: '[132895.0.232128246]' | 
|           Binding: 'this.Selection()' | 
|         } | 
|       ] | 
|     } | 
|     DelegatedResponseDefinition OnClick id:Responsedef_CustomDrawComponentSupplyChainVisualization_GUIButtonBase_OnClick | 
|     { | 
|       #keys: '[132894.0.847763266]' | 
|       Initiator: 'GUIButtonBase' | 
|       IsInherited: false | 
|       ResponseType: 'OnClick' | 
|       Arguments: | 
|       [ | 
|         ResponseDefinitionArgument selection | 
|         { | 
|           #keys: '[132895.0.232128262]' | 
|           Binding: 'this.Selection()' | 
|         } | 
|       ] | 
|     } | 
|   ] | 
| } |