yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
Quintiq file version 2.0
#parent: #root
EDIBroker MPSync_ImportProductsFromExcelBroker
{
  MDSDefinition: MPSync
  EDIModelLink.Destination MPSync_DestinationProductsForExcelImport
  {
    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.outputproductstomodel'
    EDIMLTable IODisaggregationFactor
    {
      PrimaryKeyColumns: ProductID
      PrimaryKeyColumns: Start
      PrimaryKeyColumns: StockingPointID
      SoftDeleteAttribute: IsSoftDeleted
      TargetType: IODisaggregationFactor
      TypeIndex: IODisaggregationTypeIndex
      WithSoftDelete: true
      EDIMLColumn Factor { Attribute: Factor ValueType: Real }
      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
      EDIMLColumn Start { Attribute: Start ValueType: Date }
      EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
    }
    EDIMLTable IOPISPSpecification
    {
      PrimaryKeyColumns: ProductID
      PrimaryKeyColumns: StockingPointID
      SoftDeleteAttribute: IsSoftDeleted
      TargetType: IOPISPSpecification
      TypeIndex: IOPISPSpecificationTypeIndex
      WithSoftDelete: true
      EDIMLColumn HasUserUnitOfMeasurement { Attribute: HasUserUnitOfMeasurement ValueType: Boolean }
      EDIMLColumn InputLotSize { Attribute: InputLotSize ValueType: Real }
      EDIMLColumn IsExcludeShelfLifeAndMaturation { Attribute: IsExcludeShelfLifeAndMaturation ValueType: Boolean }
      EDIMLColumn IsExcluded { Attribute: IsExcluded ValueType: Boolean }
      EDIMLColumn IsExcludedFromBalancing { Attribute: IsExcludedFromBalancing ValueType: Boolean }
      EDIMLColumn IsNegativeInventoryAllowed { Attribute: IsNegativeInventoryAllowed ValueType: Boolean }
      EDIMLColumn IsSafetyStockKept { Attribute: IsSafetyStockKept ValueType: Boolean }
      EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
      EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
      EDIMLColumn UnitOfMeasurementName { Attribute: UnitOfMeasurementName ValueType: String }
    }
    EDIMLTable IOProductLevel_MP
    {
      PrimaryKeyColumns: Name
      SoftDeleteAttribute: IsSoftDeleted
      TargetType: IOProductLevel_MP
      TypeIndex: IOProductLevelTypeIndex
      WithSoftDelete: true
      EDIMLColumn IsProductCategory { Attribute: IsProductCategory ValueType: Boolean }
      EDIMLColumn Level { Attribute: Level ValueType: Number }
      EDIMLColumn Name { Attribute: Name ValueType: String }
    }
    EDIMLTable IOProduct_MP
    {
      PrimaryKeyColumns: ID
      SoftDeleteAttribute: IsSoftDeleted
      TargetType: IOProduct_MP
      TypeIndex: IOProductTypeIndex
      WithSoftDelete: true
      EDIMLColumn DisplayIndex { Attribute: DisplayIndex ValueType: Number }
      EDIMLColumn HasMaturation { Attribute: HasMaturation ValueType: Boolean }
      EDIMLColumn HasShelfLife { Attribute: HasShelfLife ValueType: Boolean }
      EDIMLColumn ID { Attribute: ID ValueType: String }
      EDIMLColumn IconName { Attribute: IconName ValueType: String }
      EDIMLColumn IsByProduct { Attribute: IsByProduct ValueType: Boolean }
      EDIMLColumn IsExcludedFromFulfillmentKPI { Attribute: IsExcludedFromFulfillmentKPI ValueType: Boolean }
      EDIMLColumn IsExcludedFromOptimization { Attribute: IsExcludedFromOptimization ValueType: Boolean }
      EDIMLColumn IsPlannedAfterOptimization { Attribute: IsPlannedAfterOptimization ValueType: Boolean }
      EDIMLColumn MaturationDays { Attribute: MaturationDays ValueType: Real }
      EDIMLColumn Name { Attribute: Name ValueType: String }
      EDIMLColumn Notes { Attribute: Notes ValueType: String }
      EDIMLColumn ParentID { Attribute: ParentID ValueType: String }
      EDIMLColumn ShelfLife { Attribute: ShelfLife ValueType: Real }
      EDIMLColumn UOMName { Attribute: UOMName ValueType: String }
    }
  }
  EDITransformation.Transformation MPSync_TransformationProductsForExcelImport
  {
    EDITableTransformation
    {
      InputTable: DisaggregationFactors_MP
      OutputTable: IODisaggregationFactor
      EDIColumnMatch { InputColumn: Factor OutputColumn: Factor }
      EDIColumnMatch { InputColumn: ProductID OutputColumn: ProductID }
      EDIColumnMatch { InputColumn: Start OutputColumn: Start }
      EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID }
    }
    EDITableTransformation
    {
      InputTable: PISPSpecifications_MP
      OutputTable: IOPISPSpecification
      EDIColumnMatch { InputColumn: HasUnitOfMeasure OutputColumn: HasUserUnitOfMeasurement }
      EDIColumnMatch
      {
        InputColumn: InputLotSize
        OutputColumn: InputLotSize
        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>English (United States)</LocaleString>
              <CurrencyString></CurrencyString>
              <CustomFormatString></CustomFormatString>
            </StringToReal>
          *]
        }
      }
      EDIColumnMatch { InputColumn: IsExcludeShelfLifeAndMaturation OutputColumn: IsExcludeShelfLifeAndMaturation }
      EDIColumnMatch { InputColumn: IsExcluded OutputColumn: IsExcluded }
      EDIColumnMatch { InputColumn: IsExcludedFromBalancing OutputColumn: IsExcludedFromBalancing }
      EDIColumnMatch { InputColumn: IsNegativeInventoryAllowed OutputColumn: IsNegativeInventoryAllowed }
      EDIColumnMatch { InputColumn: IsSafetyStockKept OutputColumn: IsSafetyStockKept }
      EDIColumnMatch { InputColumn: ProductID OutputColumn: ProductID }
      EDIColumnMatch { InputColumn: StockingPointID OutputColumn: StockingPointID }
      EDIColumnMatch { InputColumn: UnitOfMeasureName OutputColumn: UnitOfMeasurementName }
    }
    EDITableTransformation
    {
      InputTable: ProductLevels_MP
      OutputTable: IOProductLevel_MP
      EDIColumnMatch { InputColumn: IsProductCategory OutputColumn: IsProductCategory }
      EDIColumnMatch { InputColumn: Level OutputColumn: Level }
      EDIColumnMatch { InputColumn: Name OutputColumn: Name }
    }
    EDITableTransformation
    {
      InputTable: Products_MP
      OutputTable: IOProduct_MP
      EDIColumnMatch { InputColumn: DisplayIndex OutputColumn: DisplayIndex }
      EDIColumnMatch { InputColumn: HasMaturation OutputColumn: HasMaturation }
      EDIColumnMatch { InputColumn: HasShelfLife OutputColumn: HasShelfLife }
      EDIColumnMatch { InputColumn: ID OutputColumn: ID }
      EDIColumnMatch { InputColumn: IconName OutputColumn: IconName }
      EDIColumnMatch { InputColumn: IsByProduct OutputColumn: IsByProduct }
      EDIColumnMatch { InputColumn: IsExcludedFromFulfillmentKPI OutputColumn: IsExcludedFromFulfillmentKPI }
      EDIColumnMatch { InputColumn: IsExcludedFromOptimization OutputColumn: IsExcludedFromOptimization }
      EDIColumnMatch { InputColumn: IsPlannedAfterOptimization OutputColumn: IsPlannedAfterOptimization }
      EDIColumnMatch { InputColumn: MaturationDays OutputColumn: MaturationDays }
      EDIColumnMatch { InputColumn: Name OutputColumn: Name }
      EDIColumnMatch { InputColumn: Notes OutputColumn: Notes }
      EDIColumnMatch { InputColumn: ParentID OutputColumn: ParentID }
      EDIColumnMatch { InputColumn: ShelfLife OutputColumn: ShelfLife }
      EDIColumnMatch { InputColumn: UnitOfMeasureName OutputColumn: UOMName }
    }
  }
  EDIXLSLink.Source MPSync_SourceProductsForExcelImport
  {
    FileName: 'MP_Products.xlsx'
    SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.inputproductsfromexcel'
    EDIXLSLinkTable DisaggregationFactors_MP
    {
      Columns:
      [
        EDIXLSLinkColumn Factor { ValueType: Real }
        EDIXLSLinkColumn ProductID { ValueType: String }
        EDIXLSLinkColumn Start { ValueType: Date }
        EDIXLSLinkColumn StockingPointID { ValueType: String }
      ]
    }
    EDIXLSLinkTable PISPSpecifications_MP
    {
      Columns:
      [
        EDIXLSLinkColumn HasUnitOfMeasure { ValueType: Boolean }
        EDIXLSLinkColumn IsExcluded { ValueType: Boolean }
        EDIXLSLinkColumn IsExcludedFromBalancing { ValueType: Boolean }
        EDIXLSLinkColumn IsNegativeInventoryAllowed { ValueType: Boolean }
        EDIXLSLinkColumn IsSafetyStockKept { ValueType: Boolean }
        EDIXLSLinkColumn ProductID { ValueType: String }
        EDIXLSLinkColumn StockingPointID { ValueType: String }
        EDIXLSLinkColumn UnitOfMeasureName { ValueType: String }
        EDIXLSLinkColumn InputLotSize { ValueType: String }
        EDIXLSLinkColumn IsExcludeShelfLifeAndMaturation { ValueType: Boolean }
      ]
    }
    EDIXLSLinkTable ProductLevels_MP
    {
      Columns:
      [
        EDIXLSLinkColumn IsProductCategory { ValueType: Boolean }
        EDIXLSLinkColumn Level { ValueType: Number }
        EDIXLSLinkColumn Name { ValueType: String }
      ]
    }
    EDIXLSLinkTable Products_MP
    {
      Columns:
      [
        EDIXLSLinkColumn DisplayIndex { ValueType: Number }
        EDIXLSLinkColumn ID { ValueType: String }
        EDIXLSLinkColumn IconName { ValueType: String }
        EDIXLSLinkColumn IsByProduct { ValueType: Boolean }
        EDIXLSLinkColumn Name { ValueType: String }
        EDIXLSLinkColumn Notes { ValueType: String }
        EDIXLSLinkColumn ParentID { ValueType: String }
        EDIXLSLinkColumn HasShelfLife { ValueType: Boolean }
        EDIXLSLinkColumn ShelfLife { ValueType: Real }
        EDIXLSLinkColumn UnitOfMeasureName { ValueType: String }
        EDIXLSLinkColumn IsExcludedFromOptimization { ValueType: Boolean }
        EDIXLSLinkColumn IsPlannedAfterOptimization { ValueType: Boolean }
        EDIXLSLinkColumn HasMaturation { ValueType: String }
        EDIXLSLinkColumn MaturationDays { ValueType: Real }
        EDIXLSLinkColumn IsExcludedFromFulfillmentKPI { ValueType: Boolean }
      ]
    }
  }
}