Section Values
SIS Database Value |
Astra Schedule Value |
CAST(AdClassSched.AdClassSchedID AS varchar) + '_' + CAST(AdClassSchedTerm.AdTermID AS varchar) |
SectionSisKey |
AdClassSched.AdClassSchedID |
SectionCode |
AdTerm.Code |
Term |
AdClassSchedTerm.AdTermID |
TermSISKey |
SyCampus.Code |
Campus |
AdClassSched.SyCampusID |
CampusSISKey |
CASE WHEN PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')) > 1 THEN SUBSTRING( REPLACE(AdCourse.Code, ' ', ''), 1, (PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')) -1) ) ELSE AdCourse.Code END |
SubjectName |
CASE WHEN PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')) > 1 THEN SUBSTRING( REPLACE(AdCourse.Code, ' ', ''), 1, (PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')) -1) ) ELSE AdCourse.Code END |
SubjectCode |
CASE WHEN PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')) > 1 THEN SUBSTRING( REPLACE(AdCourse.Code, ' ', ''), 1, (PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')) -1) ) ELSE AdCourse.Code END |
SubjectSISKey |
CASE WHEN PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')) > 1 THEN SUBSTRING( REPLACE(AdCourse.Code, ' ', ''), PATINDEX('%[0-9]%', REPLACE(AdCourse.Code, ' ', '')), LEN(AdCourse.Code) ) ELSE AdCourse.Code END |
CourseNumber |
AdClassSched.AdCourseID |
CourseSISKey |
AdClassSched.Section |
SectionCode |
AdClassSched.Descrip |
Title |
AdClassSched.RegStudents |
SectionSISMaxEnrollment |
AdClassSched.MaxStudents |
SectionSISEnrollment |
abs(1-AdClassSched.Active) |
DeleteFlag |
case when (AdClassSched.Active = 1) then 'A' else 'C' end |
StatusCode |
AdClassSched.Active |
IsActive |
AdClassSched.DateLstMod |
ActivityDate |
'Standard' |
DeliveryMethodSISKey |
Section Meeting Values
SIS Database Value |
Astra Schedule Value |
AdClassSchedDay.AdClassSchedDayID |
SectionMeetingSISKey |
AdClassSched.StartDate |
StartDate |
AdClassSched.EndDate |
EndDate |
AdClassSchedDay.AdRoomID |
RoomSisKey |
AdClassSchedDay.StartTime |
StartTime |
DATEADD(n,AdClassAttend.LengthMinutes,AdClassAttend.StartTime) |
EndTime |
AdClassSchedDay.LengthMinutes |
SectionMeetingDuration |
AdCourse.AdCourseTypeID |
MeetingTypeSISKey |
AdCourseType.Code |
MeetingTypeName |
AdCourseType.Descrip |
MeetingTypeDescription |
case when (AdClassSched.DaysFlag & 1) > 0 then '1' else 0 end |
Sunday |
case when (AdClassSched.DaysFlag & 2) > 0 then '1' else 0 end |
Monday |
case when (AdClassSched.DaysFlag & 4) > 0 then '1' else 0 end |
Tueday |
case when (AdClassSched.DaysFlag & 8) > 0 then '1' else 0 end |
Wednesday |
case when (AdClassSched.DaysFlag & 16) > 0 then '1' else 0 end |
Thursday |
case when (AdClassSched.DaysFlag & 32) > 0 then '1' else 0 end |
Friday |
case when (AdClassSched.DaysFlag & 64) > 0 then '1' else 0 end |
Saturday |
CASE WHEN AdClassSchedDay.DayOfWeek = 1 THEN 'U'
WHEN AdClassSchedDay.DayOfWeek = 2 THEN 'M'
WHEN AdClassSchedDay.DayOfWeek = 3 THEN 'T'
WHEN AdClassSchedDay.DayOfWeek = 4 THEN 'W'
WHEN AdClassSchedDay.DayOfWeek = 5 THEN 'R'
WHEN AdClassSchedDay.DayOfWeek = 6 THEN 'F'
WHEN AdClassSchedDay.DayOfWeek = 7 THEN 'S'
ELSE '' END |
SectionMeetingDaysMetPattern |
AdClassSched.DaysFlag |
DaysMetMask |
AdClassSched.DateLstMod |
ActivityDate |
'false' |
ArrangedFlag |
Section Meeting Instructor Values
SIS Database Value |
Astra Schedule Value |
SyStaff.SyStaffID |
InstructorSISKey |
SyStaff.LastName |
LastName |
SyStaff.FirstName |
FirstName |
SyStaff.MI |
MiddleName |
SyStaff.Email |
EmailAddress |
Cross-List Values
SIS Database Value |
Astra Schedule Value |
AdCrossListGroup.AdCrossListGroupID |
CrossListSISKey |
AdCrossListGroup.GroupName as CrosslistName |
CrosslistName |
XML
<?xml version="1.0" encoding="utf-8" ?>
<ATE xmlns="http://aais.com/schema/7.4.0/ATE/ATE"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
version="2.0" jobType="Import" validMode="Batch">
<Summary>
<![CDATA[Generic CampusVue MsSql Section Import.]]>
</Summary>
<JobParameters>
<!-- Hub Configuraton Options -->
<JobParameter name="DeleteAstraSectionsNotInImportSet" caption="" hidden="true" expr="true" type="bool"/>
<JobParameter name="DeleteCanceledSections" caption="" hidden="true" expr="true" type="bool"/>
<JobParameter name="ImportIncompleteSections" caption="" hidden="true" expr="true" type="bool"/>
<!-- Internal -->
<JobParameter name="SynchronizeDeletes" caption="" hidden="true" expr="DeleteAstraSectionsNotInImportSet" type="bool"/>
<JobParameterGroup caption="CampusVue Database Settings">
<JobParameter name="SISUser" caption="User Id"/>
<JobParameter name="SISPass" caption="Password" password="true"/>
</JobParameterGroup>
<SystemParameter name="SisConnectString" settingKey="PrimarySisConnectionString"/>
<ListParameter name="CampusId" caption="Campus" listSourceEntity="Campus" listSourceKeyProperty="SisKey" allowMultiple="true"/>
<ListParameter name="TermId" caption="Term" listSourceEntity="Term" listSourceKeyProperty="SisKey" allowMultiple="true"/>
</JobParameters>
<EndPoints>
<DbmsEndPoint name="PrimarySIS" adapterType="MsSql">
<Parameters>
<Parameter name="SisConnectString" ref="SisConnectString"/>
<Parameter name="SISUID" ref="SISUser"/>
<Parameter name="SISPwd" ref="SISPass"/>
</Parameters>
<ConnectionString>
<![CDATA[${SisConnectString};User Id=${SISUID};Password=${SISPwd};]]>
</ConnectionString>
</DbmsEndPoint>
</EndPoints>
<Pipeline>
<Sources>
<Source name="AstraSections" endPoint="PrimarySIS">
<Astra from="Section" rootElement="Sections">
<Select column="SisKey" as="SectionSisKey" />
<Where if="Batch">
<![CDATA[
SisKey != null
&& CampusId in ${CampusId}
&& TermId in ${TermId}
]]>
</Where>
<Where if="OnDemand || Realtime">
<![CDATA[
SisKey == ${SectionSisKey}
]]>
</Where>
<OrderBy column="SectionSisKey" direction="ascending"/>
</Astra>
</Source>
<Source name="AstraSectionMeetings" endPoint="PrimarySIS">
<Astra from="SectionMeeting" rootElement="SectionMeetings">
<Select column="SisKey" as="SectionMeetingSisKey" />
<Where if="Batch">
<![CDATA[
SisKey != null
&& Section.CampusId in ${CampusId}
&& Section.TermId in ${TermId}
]]>
</Where>
<Where if="OnDemand || Realtime">
<![CDATA[
Section.SisKey == ${SectionSisKey}
]]>
</Where>
<OrderBy column="SectionMeetingSisKey" direction="ascending"/>
</Astra>
</Source>
<!-- Top Level (Section) Data -->
<Source name="Sections" endPoint="PrimarySIS" xsd="file:\\SIS\SectionSpokeData.xsd">
<SqlParameters>
<SqlParameter sqlBind="@CampusId" name="CampusId" ref="CampusId" if="Batch"/>
<SqlParameter sqlBind="@TermId" name="TermId" ref="TermId" if="Batch"/>
</SqlParameters>
<Sql>
<![CDATA[
SELECT DISTINCT
CAST(s.AdClassSchedID AS varchar) + '_' + CAST(t.AdTermID AS varchar) AS SectionSisKey,
t.AdTermID AS TermSisKey,
s.AdCourseID AS CourseSisKey,
CASE WHEN PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')) > 1 THEN
SUBSTRING( REPLACE(c.Code, ' ', ''), PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')), LEN(c.Code) )
ELSE
c.Code
END AS CourseNumber,
CASE WHEN PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')) > 1 THEN
SUBSTRING( REPLACE(c.Code, ' ', ''), 1, (PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')) -1) )
ELSE
c.Code
END AS SubjectSisKey,
CASE WHEN PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')) > 1 THEN
SUBSTRING( REPLACE(c.Code, ' ', ''), 1, (PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')) -1) )
ELSE
c.Code
END AS SubjectName,
CASE WHEN PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')) > 1 THEN
SUBSTRING( REPLACE(c.Code, ' ', ''), 1, (PATINDEX('%[0-9]%', REPLACE(c.Code, ' ', '')) -1) )
ELSE
c.Code
END AS SubjectCode,
'Standard' AS DeliveryMethodSisKey,
s.SyCampusID AS CampusSisKey,
CAST(s.AdCourseID AS varchar) + '_Standard' AS CourseDeliveryMethodSisKey,
s.Descrip AS SectionSectionTitle,
s.Section AS SectionSectionCode,
s.MaxStudents AS SectionSisEnrollment,
s.RegStudents AS SectionSisMaxEnrollment,
'true' AS SectionIsGradeable,
s.Active AS SectionIsActive
FROM AdClassSched s
INNER JOIN AdCourse c on c.AdCourseID = s.AdCourseID
INNER JOIN AdClassSchedTerm t ON s.AdClassSchedID = t.AdClassSchedID
WHERE t.AdTermID = @TermId
AND s.SyCampusID = @CampusId
]]>
</Sql>
<Schema entityName="Section" groupName="Sections"/>
</Source>
<!-- Detail (Child) Data -->
<Source name="SectionMeetings" endPoint="PrimarySIS" >
<SqlParameters>
<SqlParameter sqlBind="@CampusId" name="CampusId" ref="CampusId" if="Batch"/>
<SqlParameter sqlBind="@TermId" name="TermId" ref="TermId" if="Batch"/>
</SqlParameters>
<Sql >
<![CDATA[
SELECT DISTINCT
CAST(s.AdClassSchedID AS varchar) + '_' + CAST(t.AdTermID AS varchar) AS SectionSisKey,
d.AdClassSchedDayID AS SectionMeetingSisKey,
c.AdCourseTypeID AS MeetingTypeSisKey,
ct.Code AS MeetingTypeName,
CASE WHEN d.DayOfWeek = 1 THEN 'U'
WHEN d.DayOfWeek = 2 THEN 'M'
WHEN d.DayOfWeek = 3 THEN 'T'
WHEN d.DayOfWeek = 4 THEN 'W'
WHEN d.DayOfWeek = 5 THEN 'R'
WHEN d.DayOfWeek = 6 THEN 'F'
WHEN d.DayOfWeek = 7 THEN 'S'
ELSE ''
END AS SectionMeetingDaysMetPattern,
d.StartTime AS SectionMeetingStartTime,
d.LengthMinutes AS SectionMeetingDuration,
s.StartDate AS SectionMeetingStartDate,
s.EndDate AS SectionMeetingEndDate,
d.AdRoomID AS RoomSisKey
FROM AdClassSchedDay d
INNER JOIN AdClassSched s ON s.AdClassSchedID = d.AdClassSchedID
INNER JOIN AdClassSchedTerm t ON s.AdClassSchedID = t.AdClassSchedID
INNER JOIN AdCourse c ON s.AdCourseID = c.AdCourseID
INNER JOIN AdCourseType ct on c.AdCourseTypeID = ct.AdCourseTypeID
LEFT OUTER JOIN AdRoom r ON d.AdRoomID = r.AdRoomID
WHERE t.AdTermID = @TermId
AND s.SyCampusID = @CampusId
]]>
</Sql>
<Schema entityName="SectionMeeting" groupName="SectionMeetings"/>
</Source>
<Source name="SectionMeetingInstructors" endPoint="PrimarySIS">
<SqlParameters>
<SqlParameter sqlBind="@CampusId" name="CampusId" ref="CampusId" if="Batch"/>
<SqlParameter sqlBind="@TermId" name="TermId" ref="TermId" if="Batch"/>
</SqlParameters>
<Sql >
<![CDATA[
SELECT
d.AdClassSchedDayID AS SectionMeetingSisKey,
i.SyStaffID AS InstructorSisKey,
i.email AS InstructorEmail,
i.SyStaffID As PersonSisKey,
i.FirstName AS PersonFirstName,
i.LastName AS PersonLastName,
i.MI AS PersonMiddleName,
i.email PersonEmail
FROM AdClassSchedDay d
INNER JOIN AdClassSched s ON s.AdClassSchedID = d.AdClassSchedID
INNER JOIN AdClassSchedTerm t ON s.AdClassSchedID = t.AdClassSchedID
INNER JOIN SyStaff i ON s.AdTeacherID = i.SyStaffId
WHERE t.AdTermID = @TermId
AND s.SyCampusID = @CampusId
]]>
</Sql>
<Schema entityName="Instructor" groupName="Instructors"/>
</Source>
</Sources>
<Phases>
<Phase name="ImportSections">
<Fetch ref="AstraSections" if="SynchronizeDeletes"/>
<Fetch ref="AstraSectionMeetings" if="SynchronizeDeletes"/>
<Fetch ref="Sections"/>
<Fetch ref="SectionMeetings"/>
<Fetch ref="SectionMeetingInstructors"/>
<SetOperation name="SectionsNotInImportSet" if="SynchronizeDeletes">
<Difference columns="SectionSisKey" entityName="Section" groupName="Sections">
<DifferenceSource ref="AstraSections"/>
<DifferenceSource ref="Sections"/>
</Difference>
</SetOperation>
<SetOperation name="SectionMeetingsNotInImportSet" if="SynchronizeDeletes">
<Difference columns="SectionMeetingSisKey" entityName="SectionMeeting" groupName="SectionMeetings">
<DifferenceSource ref="AstraSectionMeetings"/>
<DifferenceSource ref="SectionMeetings"/>
</Difference>
</SetOperation>
<Target endPoint="Astra">
<AstraEnvironment>
<Hub className="SectionHub">
<Reader ref="Sections"/>
<HubParameters>
<HubParameter name="DeleteCanceledSections" expr="DeleteCanceledSections"/>
<HubParameter name="SectionsNotInImportSet" expr="SectionsNotInImportSet" if="SynchronizeDeletes"/>
</HubParameters>
<AlternateHubs>
<Hub className="CourseHub" />
<Hub className="CourseDeliveryMethodHub" />
<Hub className="SubjectHub" />
</AlternateHubs>
</Hub>
<Hub className="SectionMeetingHub">
<Reader ref="SectionMeetings"/>
<HubParameters>
<HubParameter name="ImportIncompleteSectionMeetings" expr="ImportIncompleteSections"/>
<HubParameter name="SectionMeetingsNotInImportSet" expr="SectionMeetingsNotInImportSet" if="SynchronizeDeletes"/>
</HubParameters>
<AlternateHubs>
<Hub className="MeetingTypeHub" />
</AlternateHubs>
</Hub>
<Hub className="SectionMeetingInstructorHub">
<Reader ref="SectionMeetingInstructors"/>
</Hub>
</AstraEnvironment>
</Target>
</Phase>
</Phases>
</Pipeline>
</ATE>
Page url: ?sections.htm