Quintiq file version 2.0
Component ListFulfillmentTarget
{
  #keys: '[127238.0.1975948139]'
  BaseType: 'List'
  Children:
  [
    #child: ColumnTitles
    Component popupListServiceLevel
    {
      #keys: '[127238.0.1975948140]'
      BaseType: 'popupList'
      Children:
      [
        Component PopupParent
        {
          #keys: '[514.0.129466]'
          BaseType: 'PopupParent'
          IsDerived: true
          Children:
          [
            Component MenuFilter
            {
              #keys: '[104128.0.40995014]'
              BaseType: 'MenuFilter'
              IsDerived: true
              Children:
              [
                Component MenuFIlterByProducts { #keys: '[127238.0.1975948141]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Products' ] }
                Component MenuFIlterByStockingPoints { #keys: '[127238.0.1975948142]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] }
                Component menuSeparator364 { #keys: '[127238.0.1975948144]' BaseType: 'Menu' Properties: [ Separator: true ] }
                Component MenuFIlterBySalesSegments { #keys: '[127238.0.1975948143]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Sales segments' ] }
              ]
              Properties:
              [
                ModeledStringList ChildOrdering
                {
                  c: MenuFIlterByProducts
                  c: MenuFIlterByStockingPoints
                  c: MenuFIlterBySalesSegments
                  c: menuSeparator364
                  c: menuEditFilter
                }
              ]
            }
            Component menuSeparator { #keys: '[127238.0.1975948145]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuNew { #keys: '[127238.0.1975948146]' BaseType: 'Menu' Properties: [ Image: 'New' Shortcut: 'Ins' Text: 'New...' ] }
            Component MenuEdit { #keys: '[127238.0.1975948147]' BaseType: 'Menu' Properties: [ BindDoubleClick: true Image: 'Edit' Shortcut: 'Enter' Text: 'Edit...' ] }
            Component MenuDelete { #keys: '[127238.0.1975948148]' BaseType: 'Menu' Properties: [ Image: 'trash' Shortcut: 'Del' Text: 'Delete' ] }
            Component MenuEnableDisableServiceLevels { #keys: '[127238.0.1975948151]' BaseType: 'Menu' Properties: [ Image: 'Check2' Text: 'Ena&ble / disable service levels' ] }
            Component menuSeparator463 { #keys: '[127238.0.1975948150]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuCopy { #keys: '[127238.0.1975948149]' BaseType: 'Menu' Properties: [ Image: 'Copy' Shortcut: 'Ctrl+O' Text: 'Copy' ] }
          ]
          Properties:
          [
            ModeledStringList ChildOrdering
            {
              c: MenuActions
              c: MenuFilter
              c: menuListQuintiqSetQuantor
              c: menuSeparator
              c: MenuNew
              c: MenuEdit
              c: MenuDelete
              c: MenuCopy
              c: menuSeparator463
              c: MenuEnableDisableServiceLevels
            }
          ]
        }
      ]
      Properties:
      [
        PosX: 35
        PosY: 60
      ]
    }
    Component GUIDataExtractorListFulfillmentTarget
    {
      #keys: '[127238.0.1975948152]'
      BaseType: 'GUIDataExtractor'
      Properties:
      [
        Component: 'DataHolderFulfillmentTargets'
        DataType: 'structured[FulfillmentTarget]'
        PosX: 5
        PosY: 30
        Transformation: 'Elements'
      ]
    }
    Component GUIDataSetLevelFulfillmentTarget
    {
      #keys: '[127238.0.1975948153]'
      BaseType: 'GUIDataSetLevel'
      Properties:
      [
        AutoSelectColumns: false
        Columns: 'ServiceLevelColumns'
        DataExtractor: 'GUIDataExtractorListFulfillmentTarget'
        FilterArguments: 'dataholderchildstockingpoints:DataHolderChildStockingPoints(structured[StockingPoint_MP]);dataholderchildsalessegments:DataHolderChildSalesSegments(structured[SalesSegment_MP]);dataholderchildproducts:DataHolderChildProducts(structured[Product_MP])'
        PosX: 35
        PosY: 30
      ]
    }
    Component DataHolderFulfillmentTargetsFromProducts
    {
      #keys: '[130256.0.463179364]'
      BaseType: 'DataHolder'
      Databinding: 'structured[FulfillmentTarget]*'
      Children:
      [
        Component GUIDataExtractorFulfillmentTargetsChildProducts
        {
          #keys: '[130256.0.463179365]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildProducts'
            DataType: 'structured[Product_MP]'
            PosX: 86
            PosY: 54
            Transformation: 'Elements.ServiceLevelBase.astype(FulfillmentTarget)'
          ]
        }
        Component GUIDataExtractorFulfillmentTargetsWithoutProduct
        {
          #keys: '[130256.0.463179366]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            DataSet: 'MacroPlan'
            DataType: 'MacroPlan'
            FixedFilter: 'isnull( object.Product_MP() )'
            PosX: 30
            PosY: 57
            Transformation: 'FulfillmentTarget'
          ]
        }
      ]
      Properties:
      [
        Description: 'Get all fulfillment targets with no product and from DataHolderChildProduct'
        MergeStyle: 'Unite'
        PosX: 258
        PosY: 157
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorFulfillmentTargetsChildProducts
          c: GUIDataExtractorFulfillmentTargetsWithoutProduct
        }
      ]
    }
    Component DataHolderFulfillmentTargets
    {
      #keys: '[130256.0.463179367]'
      BaseType: 'DataHolder'
      Databinding: 'structured[FulfillmentTarget]*'
      Children:
      [
        Component GUIDataExtractorFulfillmentTargetsFromProducts
        {
          #keys: '[130256.0.463179368]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderFulfillmentTargetsFromProducts'
            DataType: 'structured[FulfillmentTarget]'
            PosX: 22
            PosY: 60
            Transformation: 'Elements'
          ]
        }
        Component GUIDataExtractorFulfillmentTargetsFromSalesSegments
        {
          #keys: '[130256.0.463179369]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderFulfillmentTargetsFromSalesSegments'
            DataType: 'structured[FulfillmentTarget]'
            PosX: 105
            PosY: 59
            Transformation: 'Elements'
          ]
        }
        Component GUIDataExtractorFulfillmentTargetsFromStockingPoints
        {
          #keys: '[130256.0.463179370]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderFulfillmentTargetsFromStockingPoints'
            DataType: 'structured[FulfillmentTarget]'
            PosX: 65
            PosY: 60
            Transformation: 'Elements'
          ]
        }
      ]
      Properties:
      [
        Description: 'Derive fulfillment targets from products, stocking points and sales segment'
        PosX: 323
        PosY: 50
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorFulfillmentTargetsFromProducts
          c: GUIDataExtractorFulfillmentTargetsFromSalesSegments
          c: GUIDataExtractorFulfillmentTargetsFromStockingPoints
        }
      ]
    }
    Component DataHolderFulfillmentTargetsFromStockingPoints
    {
      #keys: '[130256.0.463179371]'
      BaseType: 'DataHolder'
      Databinding: 'structured[FulfillmentTarget]*'
      Children:
      [
        Component GUIDataExtractorFulfillmentTargetsChildStockingPoints
        {
          #keys: '[130256.0.463179372]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildStockingPoints'
            DataType: 'structured[StockingPoint_MP]'
            PosX: 90
            PosY: 60
            Transformation: 'Elements.ServiceLevelBase.astype(FulfillmentTarget)'
          ]
        }
        Component GUIDataExtractorFulfillmentTargetsWithoutStockingPoints
        {
          #keys: '[130256.0.463179373]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            DataSet: 'MacroPlan'
            DataType: 'MacroPlan'
            FixedFilter: 'isnull( object.StockingPoint_MP() )'
            PosX: 31
            PosY: 60
            Transformation: 'FulfillmentTarget'
          ]
        }
      ]
      Properties:
      [
        Description: 'Get all fulfillment targets with no stocking points and from DataHolderChildStockingPoints'
        MergeStyle: 'Unite'
        PosX: 303
        PosY: 154
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorFulfillmentTargetsChildStockingPoints
          c: GUIDataExtractorFulfillmentTargetsWithoutStockingPoints
        }
      ]
    }
    Component DataHolderFulfillmentTargetsFromSalesSegments
    {
      #keys: '[130256.0.463179374]'
      BaseType: 'DataHolder'
      Databinding: 'structured[FulfillmentTarget]*'
      Children:
      [
        Component GUIDataExtractorFulfillmentTargetsWithoutSalesSegment
        {
          #keys: '[130256.0.463179375]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            DataSet: 'MacroPlan'
            DataType: 'MacroPlan'
            FixedFilter: 'isnull( object.SalesSegment_MP() )'
            PosX: 18
            PosY: 63
            Transformation: 'FulfillmentTarget'
          ]
        }
        Component GUIDataExtractorFulfillmentTargetsSalesSegments
        {
          #keys: '[130256.0.463179376]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildSalesSegments'
            DataType: 'structured[SalesSegment_MP]'
            PosX: 81
            PosY: 65
            Transformation: 'Elements.ServiceLevelBase.astype(FulfillmentTarget)'
          ]
        }
      ]
      Properties:
      [
        Description: 'Get all fulfillment targets with no sales segment and from DataHolderChildSalesSegments'
        MergeStyle: 'Unite'
        PosX: 355
        PosY: 155
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorFulfillmentTargetsWithoutSalesSegment
          c: GUIDataExtractorFulfillmentTargetsSalesSegments
        }
      ]
    }
  ]
  Properties:
  [
    AutoDrag: true
    BackgroundColor: 'Window'
    Border: true
    ContextMenu: 'popupListServiceLevel'
    FullRowSelect: true
    ModeledStringList ChildOrdering
    {
      c: ColumnTitles
      c: popupListServiceLevel
      c: GUIDataExtractorListFulfillmentTarget
      c: GUIDataSetLevelFulfillmentTarget
      c: DataHolderFulfillmentTargetsFromProducts
      c: DataHolderFulfillmentTargets
      c: DataHolderFulfillmentTargetsFromStockingPoints
      c: DataHolderFulfillmentTargetsFromSalesSegments
    }
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListFulfillmentTarget_Menu_OnClick
    {
      #keys: '[113694.2.1011928040]'
      Initiator: 'Menu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[113694.2.1011928041]'
          Binding: 'this.Selection()'
        }
      ]
    }
    DelegatedResponseDefinition OnClick id:Responsedef_ListFulfillmentTarget_GUIButtonBase_OnClick
    {
      #keys: '[113694.2.1011928042]'
      Initiator: 'GUIButtonBase'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[113694.2.1011928043]'
          Binding: 'this.Selection()'
        }
      ]
    }
    ResponseDefinition OnContextMenu id:Responsedef_ListFulfillmentTarget_OnContextMenu
    {
      #keys: '[113694.2.1018452945]'
      IsInherited: false
      ResponseType: 'OnContextMenu'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[113694.2.1018453429]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
