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()' 
 | 
        } 
 | 
      ] 
 | 
    } 
 | 
  ] 
 | 
} 
 |