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
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
Quintiq file version 2.0
#parent: #root
EDIBroker Broker_LibCal_ImportCalendars
{
  MDSDefinition: LibCal_ImportExportDataset
  TimeZone: 'ACT'
  UseOSTimeZone: false
  EDIModelLink.Destination Destination_CalendarsToLibrary
  {
    EDIMLTable LibCal_StagingCalendar
    {
      PrimaryKeyColumns: CalendarType
      PrimaryKeyColumns: StagingCalendarID
      TargetType: LibCal_StagingCalendar
      TypeIndex: ByTypeAndID
      EDIMLColumn CalendarType { Attribute: CalendarType ValueType: String }
      EDIMLColumn StagingCalendarID { Attribute: StagingCalendarID ValueType: String }
      EDIMLColumn OwnerID { Attribute: OwnerID ValueType: String }
      EDIMLColumn IsAlwaysAvailable { Attribute: IsAlwaysAvailable ValueType: Boolean }
      EDIMLColumn Base { Attribute: Base ValueType: DateTime }
      EDIMLColumn Window { Attribute: Window ValueType: Number }
      EDIMLColumn History { Attribute: History ValueType: Number }
      EDIMLColumn UpdateInterval { Attribute: UpdateInterval ValueType: Duration }
    }
    EDIMLTable LibCal_StagingEvent
    {
      PrimaryKeyColumns: StagingEventID
      TargetType: LibCal_StagingEvent
      TypeIndex: ByStagingEventID
      EDIMLColumn StagingEventID { Attribute: StagingEventID ValueType: String }
      EDIMLColumn CalendarType { Attribute: CalendarType ValueType: String }
      EDIMLColumn CalendarID { Attribute: CalendarID ValueType: String }
      EDIMLColumn Subject { Attribute: Subject ValueType: String }
      EDIMLColumn Description { Attribute: Description ValueType: String }
      EDIMLColumn Type { Attribute: Type ValueType: String }
      EDIMLColumn PartialCapacity { Attribute: PartialCapacity ValueType: Real }
      EDIMLColumn Category { Attribute: Category ValueType: String }
      EDIMLColumn IsDefault { Attribute: IsDefault ValueType: Boolean }
      EDIMLColumn StartTimeOfDay { Attribute: StartTimeOfDay ValueType: Duration }
      EDIMLColumn Duration { Attribute: Duration ValueType: Duration }
      EDIMLColumn IsAllDay { Attribute: IsAllDay ValueType: Boolean }
      EDIMLColumn IsRecurring { Attribute: IsRecurring ValueType: Boolean }
      EDIMLColumn PatternType { Attribute: PatternType ValueType: String }
      EDIMLColumn RecurrenceInterval { Attribute: RecurrenceInterval ValueType: Number }
      EDIMLColumn PatternDaily_IsEveryWeekday { Attribute: PatternDaily_IsEveryWeekday ValueType: Boolean }
      EDIMLColumn PatternWeekly_Weekdays { Attribute: PatternWeekly_Weekdays ValueType: String }
      EDIMLColumn PatternMonthly_IsDay { Attribute: PatternMonthly_IsDay ValueType: Boolean }
      EDIMLColumn PatternMonthly_Day { Attribute: PatternMonthly_Day ValueType: Number }
      EDIMLColumn PatternMonthly_WeekOfMonth { Attribute: PatternMonthly_WeekOfMonth ValueType: String }
      EDIMLColumn PatternMonthly_DayOfWeek { Attribute: PatternMonthly_DayOfWeek ValueType: String }
      EDIMLColumn PatternYearly_IsDay { Attribute: PatternYearly_IsDay ValueType: Boolean }
      EDIMLColumn PatternYearly_Month { Attribute: PatternYearly_Month ValueType: Number }
      EDIMLColumn PatternYearly_Day { Attribute: PatternYearly_Day ValueType: Number }
      EDIMLColumn PatternYearly_WeekOfMonth { Attribute: PatternYearly_WeekOfMonth ValueType: String }
      EDIMLColumn PatternYearly_DayOfWeek { Attribute: PatternYearly_DayOfWeek ValueType: String }
      EDIMLTableOwner
      {
        TargetType: LibCal_StagingCalendar
        TypeIndex: ByTypeAndID
        EDIMLForeignKeyColumn
        {
          Column: CalendarID
          TypeIndexAttribute: StagingCalendarID
        }
        EDIMLForeignKeyColumn
        {
          Column: CalendarType
          TypeIndexAttribute: CalendarType
        }
      }
    }
    EDIMLTable LibCal_StagingParticipation
    {
      PrimaryKeyColumns: StagingParticipationID
      TargetType: LibCal_StagingParticipation
      TypeIndex: ByStagingParticipationID
      EDIMLColumn StagingParticipationID { Attribute: StagingParticipationID ValueType: String }
      EDIMLColumn CalendarType { Attribute: CalendarType ValueType: String }
      EDIMLColumn CalendarID { Attribute: CalendarID ValueType: String }
      EDIMLColumn EventID { Attribute: EventID ValueType: String }
      EDIMLColumn IsSubscription { Attribute: IsSubscription ValueType: Boolean }
      EDIMLColumn EventIsRecurring { Attribute: EventIsRecurring ValueType: Boolean }
      EDIMLColumn StartDate { Attribute: StartDate ValueType: Date }
      EDIMLColumn HasSpecificPeriod { Attribute: HasSpecificPeriod ValueType: Boolean }
      EDIMLColumn PeriodType { Attribute: PeriodType ValueType: String }
      EDIMLColumn PeriodStartDate { Attribute: PeriodStartDate ValueType: Date }
      EDIMLColumn PeriodNrOfOccurrences { Attribute: PeriodNrOfOccurrences ValueType: Number }
      EDIMLColumn PeriodEndDate { Attribute: PeriodEndDate ValueType: Date }
      EDIMLTableOwner
      {
        TargetType: LibCal_StagingCalendar
        TypeIndex: ByTypeAndID
        EDIMLForeignKeyColumn
        {
          Column: CalendarID
          TypeIndexAttribute: StagingCalendarID
        }
        EDIMLForeignKeyColumn
        {
          Column: CalendarType
          TypeIndexAttribute: CalendarType
        }
      }
    }
  }
  EDITransformation.Transformation Transformation_CalendarsToLibrary
  {
    EDITableTransformation
    {
      InputTable: Calendars
      OutputTable: LibCal_StagingCalendar
      EDIColumnMatch { InputColumn: CalendarType OutputColumn: CalendarType }
      EDIColumnMatch { InputColumn: CalendarID OutputColumn: StagingCalendarID }
      EDIColumnMatch { InputColumn: OwnerID OutputColumn: OwnerID }
      EDIColumnMatch { InputColumn: IsAlwaysAvailable OutputColumn: IsAlwaysAvailable }
      EDIColumnMatch { InputColumn: Base OutputColumn: Base }
      EDIColumnMatch { InputColumn: Window OutputColumn: Window }
      EDIColumnMatch { InputColumn: History OutputColumn: History }
      EDIColumnMatch { InputColumn: UpdateInterval OutputColumn: UpdateInterval }
    }
    EDITableTransformation
    {
      InputTable: Events
      OutputTable: LibCal_StagingEvent
      EDIColumnMatch { InputColumn: EventID OutputColumn: StagingEventID }
      EDIColumnMatch { InputColumn: CalendarType OutputColumn: CalendarType }
      EDIColumnMatch { InputColumn: CalendarID OutputColumn: CalendarID }
      EDIColumnMatch { InputColumn: Subject OutputColumn: Subject }
      EDIColumnMatch { InputColumn: Description OutputColumn: Description }
      EDIColumnMatch { InputColumn: Type OutputColumn: Type }
      EDIColumnMatch { InputColumn: PartialCapacity OutputColumn: PartialCapacity }
      EDIColumnMatch { InputColumn: Category OutputColumn: Category }
      EDIColumnMatch { InputColumn: IsDefault OutputColumn: IsDefault }
      EDIColumnMatch { InputColumn: StartTimeOfDay OutputColumn: StartTimeOfDay }
      EDIColumnMatch { InputColumn: Duration OutputColumn: Duration }
      EDIColumnMatch { InputColumn: IsAllDay OutputColumn: IsAllDay }
      EDIColumnMatch { InputColumn: IsRecurring OutputColumn: IsRecurring }
      EDIColumnMatch { InputColumn: PatternType OutputColumn: PatternType }
      EDIColumnMatch { InputColumn: RecurrenceInterval OutputColumn: RecurrenceInterval }
      EDIColumnMatch { InputColumn: PatternDaily_IsEveryWeekday OutputColumn: PatternDaily_IsEveryWeekday }
      EDIColumnMatch { InputColumn: PatternWeekly_Weekdays OutputColumn: PatternWeekly_Weekdays }
      EDIColumnMatch { InputColumn: PatternMonthly_IsDay OutputColumn: PatternMonthly_IsDay }
      EDIColumnMatch { InputColumn: PatternMonthly_Day OutputColumn: PatternMonthly_Day }
      EDIColumnMatch { InputColumn: PatternMonthly_WeekOfMonth OutputColumn: PatternMonthly_WeekOfMonth }
      EDIColumnMatch { InputColumn: PatternMonthly_DayOfWeek OutputColumn: PatternMonthly_DayOfWeek }
      EDIColumnMatch { InputColumn: PatternYearly_IsDay OutputColumn: PatternYearly_IsDay }
      EDIColumnMatch { InputColumn: PatternYearly_Month OutputColumn: PatternYearly_Month }
      EDIColumnMatch { InputColumn: PatternYearly_Day OutputColumn: PatternYearly_Day }
      EDIColumnMatch { InputColumn: PatternYearly_WeekOfMonth OutputColumn: PatternYearly_WeekOfMonth }
      EDIColumnMatch { InputColumn: PatternYearly_DayOfWeek OutputColumn: PatternYearly_DayOfWeek }
    }
    EDITableTransformation
    {
      InputTable: Participations
      OutputTable: LibCal_StagingParticipation
      EDIColumnMatch { InputColumn: ParticipationID OutputColumn: StagingParticipationID }
      EDIColumnMatch { InputColumn: CalendarType OutputColumn: CalendarType }
      EDIColumnMatch { InputColumn: CalendarID OutputColumn: CalendarID }
      EDIColumnMatch { InputColumn: EventID OutputColumn: EventID }
      EDIColumnMatch { InputColumn: IsSubscription OutputColumn: IsSubscription }
      EDIColumnMatch { InputColumn: EventIsRecurring OutputColumn: EventIsRecurring }
      EDIColumnMatch { InputColumn: StartDate OutputColumn: StartDate }
      EDIColumnMatch { InputColumn: HasSpecificPeriod OutputColumn: HasSpecificPeriod }
      EDIColumnMatch { InputColumn: PeriodType OutputColumn: PeriodType }
      EDIColumnMatch { InputColumn: PeriodStartDate OutputColumn: PeriodStartDate }
      EDIColumnMatch { InputColumn: PeriodNrOfOccurrences OutputColumn: PeriodNrOfOccurrences }
      EDIColumnMatch { InputColumn: PeriodEndDate OutputColumn: PeriodEndDate }
    }
  }
  EDIXLSLink.Source Source_CalendarsFromXLS
  {
    FileName: 'Calendars.xlsx'
    EDIXLSLinkTable Calendars
    {
      Columns:
      [
        EDIXLSLinkColumn CalendarType { ValueType: String }
        EDIXLSLinkColumn CalendarID { ValueType: String }
        EDIXLSLinkColumn OwnerID { ValueType: String }
        EDIXLSLinkColumn IsAlwaysAvailable { ValueType: Boolean }
        EDIXLSLinkColumn Base { ValueType: DateTime }
        EDIXLSLinkColumn Window { ValueType: Number }
        EDIXLSLinkColumn History { ValueType: Number }
        EDIXLSLinkColumn UpdateInterval { ValueType: Duration }
      ]
    }
    EDIXLSLinkTable Events
    {
      Columns:
      [
        EDIXLSLinkColumn EventID { ValueType: String }
        EDIXLSLinkColumn CalendarType { ValueType: String }
        EDIXLSLinkColumn CalendarID { ValueType: String }
        EDIXLSLinkColumn Subject { ValueType: String }
        EDIXLSLinkColumn Description { ValueType: String }
        EDIXLSLinkColumn Type { ValueType: String }
        EDIXLSLinkColumn PartialCapacity { ValueType: Real }
        EDIXLSLinkColumn Category { ValueType: String }
        EDIXLSLinkColumn IsDefault { ValueType: Boolean }
        EDIXLSLinkColumn StartTimeOfDay { ValueType: Duration }
        EDIXLSLinkColumn Duration { ValueType: Duration }
        EDIXLSLinkColumn IsAllDay { ValueType: Boolean }
        EDIXLSLinkColumn IsRecurring { ValueType: Boolean }
        EDIXLSLinkColumn PatternType { ValueType: String }
        EDIXLSLinkColumn RecurrenceInterval { ValueType: Number }
        EDIXLSLinkColumn PatternDaily_IsEveryWeekday { ValueType: Boolean }
        EDIXLSLinkColumn PatternWeekly_Weekdays { ValueType: String }
        EDIXLSLinkColumn PatternMonthly_IsDay { ValueType: Boolean }
        EDIXLSLinkColumn PatternMonthly_Day { ValueType: Number }
        EDIXLSLinkColumn PatternMonthly_WeekOfMonth { ValueType: String }
        EDIXLSLinkColumn PatternMonthly_DayOfWeek { ValueType: String }
        EDIXLSLinkColumn PatternYearly_IsDay { ValueType: Boolean }
        EDIXLSLinkColumn PatternYearly_Month { ValueType: Number }
        EDIXLSLinkColumn PatternYearly_Day { ValueType: Number }
        EDIXLSLinkColumn PatternYearly_WeekOfMonth { ValueType: String }
        EDIXLSLinkColumn PatternYearly_DayOfWeek { ValueType: String }
      ]
    }
    EDIXLSLinkTable Participations
    {
      Columns:
      [
        EDIXLSLinkColumn ParticipationID { ValueType: String }
        EDIXLSLinkColumn CalendarType { ValueType: String }
        EDIXLSLinkColumn CalendarID { ValueType: String }
        EDIXLSLinkColumn EventID { ValueType: String }
        EDIXLSLinkColumn IsSubscription { ValueType: Boolean }
        EDIXLSLinkColumn EventIsRecurring { ValueType: Boolean }
        EDIXLSLinkColumn StartDate { ValueType: Date }
        EDIXLSLinkColumn HasSpecificPeriod { ValueType: Boolean }
        EDIXLSLinkColumn PeriodType { ValueType: String }
        EDIXLSLinkColumn PeriodStartDate { ValueType: Date }
        EDIXLSLinkColumn PeriodNrOfOccurrences { ValueType: Number }
        EDIXLSLinkColumn PeriodEndDate { ValueType: Date }
      ]
    }
  }
}