DimCurriculumLoad
 DimCurriculumLoad (Integration Services Package)
  Workflow Screenshot
  Properties
Property Value
Name DimCurriculumLoad
Description This package will load any change to the DimCurriculum dimension. The first step in this package is to truncate all the working tables needed to track new and updated records. The next step will load the data into a staged table in DWOperations. The data will be checked if there are any duplicate records and these will be flagged. The data in the Staged Table will be compared against that in the dimension and will be inserted or updated as required. If any duplicate records were found, a notification e-mail will be send to the appropriate staff. This package will also delete any class data that were deleted in the source system. If for any reason, these rows are referenced in a Fact table, the information will be e-mailed to the appropriate personnel.
Checkpoint File Name
Checkpoint Usage Never
Check Signature On Load True
Creation Date Tuesday, May 08, 2012 4:11 PM
Creator Computer Name HETGROUP-PC
Creator Name hetgroup-PC\hstoddar
Debug Mode False
Delay Validation False
Disable False
Disable Event Handlers False
Enable Configurations True
Encrypt Checkpoints False
Fail Package On Failure False
Fail Parent On Failure False
Forced Execution Value 0
Force Execution Value None
Description False
ID 1d238594-05ec-42ed-8a61-48cb1f8e6a63
Interactive Mode False
Is Default Locale ID False
Isolation Level Serializable
Locale ID 1033
Logging Mode Enabled
Max Concurrent Executables -1
Maximum Error Count 1
Offline Mode False
Package Type DTSDesigner100
Protection Level DontSaveSensitive
Save Checkpoints False
Suppress Configuration Warnings False
Suspend Required False
Transaction Option Supported
Update Objects False
Version Build 285
Version Comments
Version Guid 944b16f2-e8dc-4e64-bd06-f0ba52699b2b
Version Major 1
Version Minor 0
  Executables
Name Type Description
Data Flow Task
Data Flow Task
Data Flow Task
Data Flow Task
Sequence
Sequence Container
Sequence
Sequence Container
Task
Execute SQL Task
Task
Execute SQL Task
Task
Execute SQL Task
Task
Execute SQL Task
  Connection Managers
Name Description
  Log Providers
Name Description
  User Defined Variables
Name Value Expression Description
Y
Configuration setting in SSIS_Configurations that determines if Alerts will be send via e-mail in case of an abend or data problems.
/* SQL Delete from DimCurriculum fromTemp Table */ select count(*) as RWC FROM [EnterpriseDW].[dbo].[FactActiveEnrollmentSnapshot] as Fact INNER JOIN [EnterpriseDW].[dbo].DimCurriculum Dim on ( Dim.CurriculumSK = Fact.CurriculumSK ) WHERE Dim.ReferenceNumberAK in ( SELECT ReferenceNumberAK FROM [dbo].[Update_dbo_DimCurriculum] )
" /* SQL Delete from DimCurriculum fromTemp Table */ select count(*) as RWC FROM " + (@[User::EDWLinkedServerName] == "N/A" ? "" : "[" + @[User::EDWLinkedServerName]+"]." ) + "["+ @[User::EDWDBName] + "].[dbo].[FactActiveEnrollmentSnapshot] as Fact INNER JOIN " + (@[User::EDWLinkedServerName] == "N/A" ? "" : "[" + @[User::EDWLinkedServerName]+"]." ) + "["+ @[User::EDWDBName] + "].[dbo].DimCurriculum Dim on ( Dim.CurriculumSK = Fact.CurriculumSK ) WHERE Dim.ReferenceNumberAK in ( SELECT ReferenceNumberAK FROM [dbo].[Update_dbo_DimCurriculum] ) "
Stores the number of Fact rows that are using the row in a dimension. Will be used to determine if records removed from the Source System can be deleted.
DELETE FROM [EnterpriseDW] .[dbo].[DimCurriculum] WHERE CurriculumSK IN ( SELECT CurriculumSK FROM [dbo].[Obsolete_DimCurriculum] obs WHERE obs.DoNotDeleteFlag = 0 )
" DELETE FROM " + (@[User::EDWLinkedServerName] == "N/A" ? "" : "[" + @[User::EDWLinkedServerName]+"]." ) + "["+ @[User::EDWDBName] + "] .[dbo].[DimCurriculum] WHERE CurriculumSK IN ( SELECT CurriculumSK FROM [dbo].[Obsolete_DimCurriculum] obs WHERE obs.DoNotDeleteFlag = 0 ) "
This contains the Delete Statement to delete rows from the dimension that have been deleted in the Source System.
Configuration setting from SSIS_Configuration to specify the domain where the e-mail server is running.
EnterpriseDW
Configuration setting in SSIS_Configurations that specifies the name of the Enterprise Data Warehouse.
N/A
If the Enterprise Data Warehouse resides on a different server from the DWStaging and DWoperations databases, a linked server must be defined and the name populated into the Var_EDWLinkedServername. If it resides on the same server, this setting must be set to ?N/A?. This is a configuration setting from SSIS_Configurations.
The list of files to be attached to the e-mail detailing record counts and data validation issues.
Testing (text maintained in SSIS Configurations table)
The text that will be coded in the body of the e-mail. This is an configuration setting in SSIS_Configurations that will be appended to the end of the e-mail.
C:\DW Local Stuff\SSIS\
The directory on the File System where the files to be attached to the e-mail for notifications will be stored. This is a configuration setting from SSIS_Configurations.
help@hetgroup.org
Configuration setting from SSIS_Configurations that will specify the From E-mail address to be used in e-mail notifications.
datawarehouse
The configuration setting from SSIS_Configurations that specify the password used for the e-mail server when sending e-mail notifications.
ipeterso@hetgroup.org
The configuration setting from SSIS_Configurations that specify the To Email address when sending e-mail notifications. This cannot be multiple e-mail addresses, but can be a distribution list.
windows
The configuration setting from SSIS_Configurations that specify the userid used for the e-mail server when sending e-mail notifications.
exec usp_DimCurriculum_Select
" exec usp_DimCurriculum_Select '" + @[User::IncrementalBeginDtTm] + "' , '" + @[User::IncrementalEndDtTm] + "'"
This contains a string that will execute the stored procedure to retrieve all the changes to the Curriculum data in the source system.
Jan 1 1900 12:00AM
The IncrementalBeginDtTm setting will contain the start date and time for which updates will be extracted. This is a configuration setting from SSIS_Configurations that are set in the Control Package.
Mar 4 2016 10:33AM
The IncrementalEndDtTm setting will contain the End Date and Time for which updates will be extracted. These values will be compared against the RowUpdatedOn column on the tables in the DWStaging database to determine which rows to extract and load into the Enterprise Data Warehouse.
/* SQL Insert into DimCurriculum from New Temp Table */ INSERT INTO [EnterpriseDW].[dbo].[DimCurriculum] ( ReferenceNumberAK ,ReferenceNumber ,Term ,TermTitle ,CourseId ,CurrentTerm ,CurrentCourseId ,CourseIdPrefix ,ClassTitle ,CourseTypeCode ,CourseType ,CreditNonCreditVocational ,CreditTypeCode ,CreditType ,CreditNonCredit ,ICSCode ,InstructionalClassification ,DivisionCode ,Division ,DepartmentCode ,Department ,CampusCode ,Campus ,CenterCode ,Center ,MinimumClassSize ,MaximumClassSize ,ClassStatusCode ,ClassStatus ,TimeBlockCode ,TimeBlock ,DeliveryMethod ,PrimaryInstructorId ,PrimaryInstructorFullName ,PrimaryInstructorLastName ,PrimaryInstructorFirstName ,PrimaryInstructorMiddleInitial ,SessionCode ,Session ,Honors ,WeekendCollege ,DualEnrollment ,IndependentStudy ,Apprenticeship ,VirtualCollege ,Online100Percent ,WebEnabled ,WebBlended ,ScheduleInformation ,PrimaryInstructorType ,ICSCategoryCode ,InstructionalClassificationCategory ,TermCourseIdCount ,IsTermCourseIdCountGE10 ,IsCourseRepeatable ,CourseNumberTimesForCredit ,RowIsCurrent ,RowStartDate ,RowEndDate ,CourseLevel ,CreditNonCreditVocationalTest ,DivisionDescription, DepartmentDescription ) SELECT ReferenceNumberAK ,ReferenceNumber ,Term ,TermTitle ,CourseId ,CurrentTerm ,CurrentCourseId ,CourseIdPrefix ,ClassTitle ,CourseTypeCode ,CourseType ,CreditNonCreditVocational ,CreditTypeCode ,CreditType ,CreditNonCredit ,ICSCode ,InstructionalClassification ,DivisionCode ,Division ,DepartmentCode ,Department ,CampusCode ,Campus ,CenterCode ,Center ,MinimumClassSize ,MaximumClassSize ,ClassStatusCode ,ClassStatus ,TimeBlockCode ,TimeBlock ,DeliveryMethod ,PrimaryInstructorId ,PrimaryInstructorFullName ,PrimaryInstructorLastName ,PrimaryInstructorFirstName ,PrimaryInstructorMiddleInitial ,SessionCode ,Session ,Honors ,WeekendCollege ,DualEnrollment ,IndependentStudy ,Apprenticeship ,VirtualCollege ,Online100Percent ,WebEnabled ,WebBlended ,ScheduleInformation ,PrimaryInstructorType ,ICSCategoryCode ,InstructionalClassificationCategory ,TermCourseIdCount ,IsTermCourseIdCountGE10 ,IsCourseRepeatable ,CourseNumberTimesForCredit ,RowIsCurrent ,RowStartDate ,RowEndDate ,CourseLevel ,CreditNonCreditVocationalTest, DivisionDescription, DepartmentDescription FROM [dbo].[Staged_dbo_DimCurriculum__New]
" /* SQL Insert into DimCurriculum from New Temp Table */ INSERT INTO " + (@[User::EDWLinkedServerName] == "N/A" ? "" : "[" + @[User::EDWLinkedServerName]+"]." ) + "["+ @[User::EDWDBName] + "].[dbo].[DimCurriculum] ( ReferenceNumberAK ,ReferenceNumber ,Term ,TermTitle ,CourseId ,CurrentTerm ,CurrentCourseId ,CourseIdPrefix ,ClassTitle ,CourseTypeCode ,CourseType ,CreditNonCreditVocational ,CreditTypeCode ,CreditType ,CreditNonCredit ,ICSCode ,InstructionalClassification ,DivisionCode ,Division ,DepartmentCode ,Department ,CampusCode ,Campus ,CenterCode ,Center ,MinimumClassSize ,MaximumClassSize ,ClassStatusCode ,ClassStatus ,TimeBlockCode ,TimeBlock
This is the SQL statement to insert the new records into DimCurriculum.
100
The number of rows that were loaded into the Dimension. This is will be compared against the row count from the source system.
/* SQL Update DimCurriculum from temp table */ UPDATE [EnterpriseDW].[dbo].[DimCurriculum] SET ReferenceNumberAK = SCD1.ReferenceNumberAK ,ReferenceNumber = SCD1.ReferenceNumber ,Term = SCD1.Term ,TermTitle = SCD1.TermTitle ,CourseId = SCD1.CourseId ,CurrentTerm = SCD1.CurrentTerm ,CurrentCourseId = SCD1.CurrentCourseId ,CourseIdPrefix = SCD1.CourseIdPrefix ,ClassTitle = SCD1.ClassTitle ,CourseTypeCode = SCD1.CourseTypeCode ,CourseType = SCD1.CourseType ,CreditNonCreditVocational = SCD1.CreditNonCreditVocational ,CreditTypeCode = SCD1.CreditTypeCode ,CreditType = SCD1.CreditType ,CreditNonCredit = SCD1.CreditNonCredit ,ICSCode = SCD1.ICSCode ,InstructionalClassification = SCD1.InstructionalClassification ,DivisionCode = SCD1.DivisionCode ,Division = SCD1.Division ,DepartmentCode = SCD1.DepartmentCode ,Department = SCD1.Department ,CampusCode = SCD1.CampusCode ,Campus = SCD1.Campus ,CenterCode = SCD1.CenterCode ,Center = SCD1.Center ,MinimumClassSize = SCD1.MinimumClassSize ,MaximumClassSize = SCD1.MaximumClassSize ,ClassStatusCode = SCD1.ClassStatusCode ,ClassStatus = SCD1.ClassStatus ,TimeBlockCode = SCD1.TimeBlockCode ,TimeBlock = SCD1.TimeBlock ,DeliveryMethod = SCD1.DeliveryMethod ,PrimaryInstructorId = SCD1.PrimaryInstructorId ,PrimaryInstructorFullName = SCD1.PrimaryInstructorFullName ,PrimaryInstructorLastName = SCD1.PrimaryInstructorLastName ,PrimaryInstructorFirstName = SCD1.PrimaryInstructorFirstName ,PrimaryInstructorMiddleInitial = SCD1.PrimaryInstructorMiddleInitial ,SessionCode = SCD1.SessionCode ,[Session] = SCD1.[Session] ,Honors = SCD1.Honors ,WeekendCollege = SCD1.WeekendCollege ,DualEnrollment = SCD1.DualEnrollment ,IndependentStudy = SCD1.IndependentStudy ,Apprenticeship = SCD1.Apprenticeship ,VirtualCollege = SCD1.VirtualCollege ,Online100Percent = SCD1.Online100Percent ,WebEnabled = SCD1.WebEnabled ,WebBlended = SCD1.WebBlended ,ScheduleInformation = SCD1.ScheduleInformation ,PrimaryInstructorType = SCD1.PrimaryInstructorType ,ICSCategoryCode = SCD1.ICSCategoryCode ,InstructionalClassificationCategory = SCD1.InstructionalClassificationCategory ,TermCourseIdCount = SCD1.TermCourseIdCount ,IsTermCourseIdCountGE10 = SCD1.IsTermCourseIdCountGE10 ,IsCourseRepeatable = SCD1.IsCourseRepeatable ,CourseNumberTimesForCredit = SCD1.CourseNumberTimesForCredit ,CourseLevel = SCD1.CourseLevel ,CreditNonCreditVocationalTest = SCD1.CreditNonCreditVocationalTest,DivisionDescription = SCD1.DivisionDescription ,DepartmentDescription = SCD1.DepartmentDescription FROM [EnterpriseDW].[dbo].[DimCurriculum] AS [DIM] INNER JOIN [dbo].[Staged_dbo_DimCurriculum__Type1Update] AS SCD1 ON Dim.ReferenceNumberAK = SCD1.ReferenceNumberAK
" /* SQL Update DimCurriculum from temp table */ UPDATE " + (@[User::EDWLinkedServerName] == "N/A" ? "" : "[" + @[User::EDWLinkedServerName]+"]." ) + "["+ @[User::EDWDBName] + "].[dbo].[DimCurriculum] SET ReferenceNumberAK = SCD1.ReferenceNumberAK ,ReferenceNumber = SCD1.ReferenceNumber ,Term = SCD1.Term ,TermTitle = SCD1.TermTitle ,CourseId = SCD1.CourseId ,CurrentTerm = SCD1.CurrentTerm ,CurrentCourseId = SCD1.CurrentCourseId ,CourseIdPrefix = SCD1.CourseIdPrefix ,ClassTitle = SCD1.ClassTitle ,CourseTypeCode = SCD1.CourseTypeCode ,CourseType = SCD1.CourseType ,CreditNonCreditVocational = SCD1.CreditNonCreditVocational ,CreditTypeCode = SCD1.CreditTypeCode ,CreditType = SCD1.CreditType ,CreditNonCredit = SCD1.CreditNonCredit ,ICSCode = SCD1.ICSCode ,InstructionalClassification = SCD1.InstructionalClassification
This is the SQL update statement for DimCurriculum
c:\stubfile.txt
Temporary file name that will be used to create the e-mail notifications. This is a configuration setting from SSIS_Configurations.
25
The SMTPPort for the e-mail server to be used when sending notification e-mails. This is a configuration setting from SSIS_Configurations.
www.ad.hetgroup.org
The SMTP Server Name contains the name for the e-mail server. This is a configuration setting from SSIS_Configurations.
101
This is the Row count from the Source System to compare against that of the DimCurriculum table to ensure that all records were copied.
  System Variables
Name Value Expression Description
Powered by BI Documenter