Timetabler Automatic Import

Modified on Mon, 20 Apr at 12:22 AM

Revision History

Revision

Author

Date

Comment

v1.0

David Armstrong

25/07/16

First Version

v1.1

David Armstrong

15/05/18

Move to Confluence

v1.2

David Armstrong

22/05/18

Meeting / Unavailable Support.

New Action Message Types

v1.3

David Armstrong

02/01/19

Yard Duty Extras Support

v1.4

Andrew Rose

13/09/22

Timetabler V10

Overview 

The timetable automatic import extracts information directly from the ‘Timetabler’ software. Currently it supports importing the timetable, yard duties and teacher / room replacements.
Instead of exporting files out of Timetabler and into Synergetic this method allows you to select Timetabler database files to import directly. There are 2 files that are used in this process.
Timetabler database file:

This contains the timetable itself along with the students in the class and the teachers against the class. This also contains yard duties. 

Timetabler Version

File Extension

File Type

8

tdfx

Access File

9

tdf9

XML File

10

tfx

JSON file


Daily organiser database file:

This contains the staff extras / room replacements. 

Timetabler Version

File Extension

File Type

8

dofx

Access File

9

dof9

XML File

10

NOT YET IMPLEMENTED - use version 9 file

Setup Requirements:

  • The automatic import first needs to be installed on the SQL server. For Timetabler Version 8 this utilises the Microsoft office Access database engine to connect to the Timetabler databases. There are specific SQL jobs that also need to be created in order for the integration to function.

  • The SQL Server service account needs to have access to the folder where the database files are stored. You can view which account this is by opening SQL Configuration Manager. 

  • Synergetic needs to be configured to point to the Timetabler database location(s) with settings for when& how to import.

Synergetic Timetabler Configuration

Synergetic needs to be configured to import the files. This is done through Students -> Timetable Maintenance.

Timetable Config Tab 

Field

Description

TimetableCode

This is the code that is used when importing the timetable. This is used when creating the linked server to the database and is also populated into the staging tables to differentiate the different imports. 

Description

A description of the timetable being imported. This is an internal description which isn’t populated through the imports. 

TimetablePath

The location of the file either on the network or locally on the SQL server itself. This is the location that the SQL server service account needs access to. 

FileYear

The Year that we are importing into. 

FileSemester

The Semester / Term that we are importing into. 

FileType

The FileType we are importing into. 

ClassCampus

The ClassCampus that is being imported 

TimetableGroup

The TimetableGroup that is being import 

TimetableType

What type of import are we doing:

Valid Values:

Code

Description

TIMETABLER

Timetable data

TIMETABLEREXT

Extras / Room replacements

TIMETABLERYD

Yard duties

TIMETABLERYDEXT

Yard Duties Extras / Room replacements

YearLevelFrom

The starting year level that we are importing. The import will only import students who are in the year levels in this range. The year level needs to be set up in Timetabler against the class details.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

CDETAIL.Year Level 

9

TimetableDevelopmentData/Students/Student/YearLevel

10

Students.YearLevel

YearLevelTo

The end year level that we are importing. The import will only import students who are in the year levels in this range. The year level needs to be set up in Timetabler against the class details.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

CDETAIL.Year Level 

9

TimetableDevelopmentData/Students/Student/YearLevel

10

Students.YearLevel

StudentLinkField

Timetabler stores a student code in the database. This is what that code represents in Synergetic and what we will be matching it to.

Valid Values:

Code

Description

AltCode

Match based on Alternate Code

ID

Match based on Synergetic ID

PreviousSystemCode

Match based on Previous System Code

TimetableCode

Match based on Timetable Code.

StaffLinkField

Timetabler stores a staff code in the timetable. This is what that code represents in Synergetic.

Valid Values:

Code

Description

ID

Match based on SynergeticID

SchoolStaffCode

Match based on School Staff Code

ImportOrderSeq

The order that we importing the files in.

TimetableOperationMode

This links to luTimetableOperationMode which has various settings for the import. See below for all of the options. 

Examples might be as follows:

Code

Description

Meaning

TERM

Term Mode

Clear Staff & Set any Student Class changes to be Non-Assessable during term

ASSESS

Assessment Mode

Clear Staff but don't Set any Student Class changes to be Non-Assessable during Report writing

ImportStartDateTime

The date that the import will start from. If the date the import is running doesn’t fall inside this range then nothing will be imported. 

ImportEndDateTime

The date that the import will end. If the date the import is running doesn’t fall inside this range then nothing will be imported. 

EnabledFlag

Whether the import is enabled. If this is set to 0 then nothing will be imported for the schedule selected. 

PeriodOffset

This field allows you to set an offset on the periods that are being imported. This adjusts the timetable period that is being imported by the periodoffset. 

ImportMeetingsFlag

This Flag controls whether to import meetings from Timetabler. This defaults to 0 (False).

Value

Meaning

0

Meetings are Not Imported

1

Meetings are Imported

ImportUnavailableFlag

This Flag controls whether to import Teacher Unavailable records from Timetabler. This defaults to 0 (False).

Value

Meaning

0

Teacher Unavailable records are Not Imported

1

Teacher Unavailable records Meetings are Imported

luTimetableOperationMode

This looking table controls various options around the Automatic Import of the Timetable

Field

Description

SetExistingNonAssessableFlag

If class not imported for students with matching campus and year level this class is set to non-assessable. 

SetNewNonAssessableFlag

If there are new classes in Timetabler that are not in Synergetic this controls the Assessable flag for these classes. If there are new classes being imported from the import they are set to non-assessable. 

SetStoppedFlag

When Ticked:

If the student is in the class currently in Synergetic but no longer in the class in Timetabler then the stop date will be set with the date the timetable import was processed minus 1 day.

ie if the import was processed on the 06/02/2021 then the stop date would be 05/02/2021.

When Unticked:

Students will remain in classes regardless of if they are no longer in the Timetabler import file. New classes will be added in and no stop dates will be updated.

AllowCoreClassClearFlag

If Set this will also clear Synergetic Classes that are marked as Core Classes. If not set Synergetic Classes that are marked as Core classes are not cleared.

ClearStaffFlag

Clear the staff against the classes in Synergetic based on the campus that is being imported.

Note: this will only clear classes where the Never Clear on Timetable import and Keep Assessable Flags are unticked.

CreateLuRoomFlag

Creates entries in luRoom in Synergetic based on data from Timetabler if the Room Code exists in Timeabler but not in Synergetic.

RemoveAsterixFlag

Removes asterixes from the end of the Staff Code from Timetabler before importing.
Ie CDA* is imported as CDA

UpdateFormFlag

Updates the Synergetic Student Form from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

CLESSON.Roll Class Code

9

TimetableDevelopmentData/Students/Student/RollClass

10

Students.RollClass

ExplodeObjectsFlag

Imports the timetable into Object bookings 

UpdateClassDescriptionFlag

Updates the class description based on the timetable.

UpdateTutorFlag

Updates the Synergetic Student Tutor from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

CDETAIL.Home Group

9

TimetableDevelopmentData/Students/Student/HomeGroup

Transfer Term Configuration

When you create the new term you will need to copy across the timetable configuration for the previous term.

This is done through Students → Timetable Maintenance in the Timetable Config tab. You will need to select the term you want to copy from first.

  1. Select Students > Timetable Maintenance tab > Timetable Config sub-tab.

  2. Select an existing timetable in the grid area.

  3. Click .
    The Apply Schedule window is displayed.

  4. Enter the Timetable code for the new timetable.

  5. Click .
    The existing timetable schedule settings are copied to the new timetable in the grid area. 

Once the term has been copied you will need to ensure update the ImportStartDateTime & ImportEndDateTime for the new term are set correctly so that they are ready to import for the new term.

You'll also need to check that the configuration options are still valid.

Import Tables

The automatic import processed the Timetabler files into work tables prior to loading them into the live tables. When the SQL jobs are run first the data is populated into the below worktables. It is then transferred to the Following Synergetic Areas:

  • Timetable 

  • Student Classes

  • Class teachers 

  • Timetable Substitutes

These are loaded based on these tables and the configuration options set in the timetable config. When importing the Timetable is cleared based on the following fields:

  • FileType

  • FileYear

  • FileSemester

  • ClassCampus

  • TimetableGroup.

Only Classes where the Never Clear on Timetable Import & Timetable Keep Assessable are NOT set. 

wkxiStudentClasses

Staging table for Student Class data before importing them into the main Synergetic tables

Field

Description

StudentCode

Student code from from Timetabler. This is matched to Synergetic based on the StudentLinkField

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

CLESSON.Student Code

9

TimetableDevelopmentData/StudentLessons/StudentLesson/StudentID

TimetableDevelopmentData/Students/Student/Code

10

Students.Code

ClassCampus

ClassCampus from the Synergetic Timetable Configuration

ClassCode

ClassCode from the timetable.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

CLESSON.Class Code 

9

TimetableDevelopmentData/Classes/Class/Code

10

ClassNames.Code

ClassDescription

Class Description from Timetabler

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

TCLASSES.Subject Name
TCLASSES.Class Name

9

TimetableDevelopmentData/Classes/Class/SubjectName
TimetableDevelopmentData/Classes/Class/Name

10

ClassNames.SubjectName
ClassNames.Name

The Following Configuration key affects which Name to use. If this is True then the SubjectName is used. If this is false then the ClassName is used.

Field

Value

Key1

Timetabler

Key2

AutoImport

Key3

ClassDescription

Key4

UseSubjectName

Key5


Value

True / False

StudentID

Mapped Synergetic ID Based on the StudentLinkField in the Timetable config and the StudentCode from Timetabler. This is mapped as part of the process. Any that are not mapped will remain as 0.

ImportFlag

Whether the record can be imported. If the StudentCode from Timetabler doesn’t match with the relevant Student Code in Synergetic or the class code from Timetabler is too long then the record is not imported. 

Valid Values:

Value

Meaning

0

Not Imported

1

Imported

TimetableCode

Timetable Code from the Synergetic Timetable Configuration

wkxiTimetable

Staging table for Timetable data before importing them into the main Synergetic tables

Field

Description

TimetableGroup

Timetable Group from the Synergetic Timetable Configuration

DayNumber

Day Number from Timetabler

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

TTABLE.Day No

9

TimetableDevelopmentData/Days/Day (index of the array element - eg element 1 = day 1, element 2 = day 2 etc)

10

Days  (index of the array element - eg element 1 = day 1, element 2 = day 2 etc)

PeriodNumber

Period Number from Timetabler

Timetabler Version

Field

8

TTABLE.Period No

9

TimetableDevelopmentData/Periods/Period/Number

10

Periods.PeriodNo

ClassCampus

ClassCampus from the Synergetic Timetable Configuration 

ClassCode 

Class Code from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

TTABLE.Class Code

9

TimetableDevelopmentData/Classes/Class/Code

10

ClassNames.Code

StaffCode

Staff Code from Timetabler. This is matched to synergetic based on the StaffLinkField

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

TTABLE.Teacher Code

9

TimetableDevelopmentData/Timetables/Timetable/TeacherID
TimetableDevelopmentData/Teachers/Teacher/Code

10

Teachers.Code

RoomCode

Room Code from Timetabler

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

TTABLE.Room Code

9

TimetableDevelopmentData/Timetables/Timetable/RoomID
TimetableDevelopmentData/Rooms/Room/Code

10

Rooms.Code

StaffID

SynergeticID based on the StaffLinkField and the Staff Code. 

ImportFlag

Whether the record can be imported. If the class code Is too long then the record is not imported. 

ClassDescription

Class Description from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

TCLASSES.Subject Name

TCLASSES.Class Name

9

TimetableDevelopmentData/Classes/Class/SubjectName
TimetableDevelopmentData/Classes/Class/Name

10

ClassNames.SubjectName
ClassNames.Name

TimetableCode

Timetable code from the Synergetic Timetable Configuration.

PeriodOffset

Period offset from the Synergetic Timetable Configuration.

MeetingFlag

This records has come from the meetings area in Timetabler. This is handled separately to the Academic Timetable and any staff entered against the meeting will be added.

UnavailableFlag

This records has come from the meetings area in Timetabler. This is handled separately to the Academic Timetable and any staff entered against as unavailable will be added. These are imported using the following Class Codes:

ClassCode

Description

NOTATSCHOOL

Staff marked not at school

UNAVAILABLE

Staff marked as anything other than not at school

wkxiTimetableSubstitutes

Staging table for student Substitute Classes before importing them into the main Synergetic tables

Field

Description

TimetableGroup

Timetable Group from the Synergetic Timetable Configuration

TimetableDate

Day of the substitute from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

DREPLESS.DateOf

9

DailyOrganiserData/Dates/Date/DateString

10

Not implemented - use timetabler 9 import

DayNumber

Day Number from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

DREPLESS.Day No

9

DailyOrganiserData/Dates/Date/Day

PeriodNumber

Period Number from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

DREPLESS.Period No

9

DailyOrganiserData/Dates/Date/PeriodReplacements/PeriodReplacement/PeriodCode

ClassCampus

ClassCampus from the Synergetic Timetable Configuration

ClassCode

Class Code from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

DREPLESS.Class Code

9

DailyOrganiserData/Dates/Date/PeriodReplacements/PeriodReplacement/ClassCode

StaffCode

Staff Code from Timetabler. This is matched to Synergetic based on the StaffLinkField from the Synergetic Timetable Configuration.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

DREPLESS.Replacement Teacher Code

9

DailyOrganiserData/Dates/Date/PeriodReplacements/PeriodReplacement/ReferenceTeacherCode

OriginalStaffCode

Staff Code from Timetabler. This is matched to Synergetic based on the StaffLinkField.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

DREPLESS.Absent Teacher Code 

9

DailyOrganiserData/Dates/Date/PeriodReplacements/ReferenceTeacherCode

RoomCode

Room Code from Timetabler.

This is imported from the following Timetabler locations:

Timetabler Version

Field

8

DREPLESS.Room Code

9

DailyOrganiserData/Dates/Date/RoomEdits/RoomEdit/ReplacementRoomCode

DailyOrganiserData/Dates/Date/RoomReplacements/RoomReplacements/ReplacementRoomCode

OriginalRoomCode

Original Room Code. Not supplied in Timetabler. Taken from the Synergetic Timetable.

StaffID

SynergeticID mapped based on the StaffLinkField and the Staff Code.  

OriginalStaffID

SynergeticID mapped based on the StaffLinkField and the Original Staff Code. 

ImportFlag

Whether the record can be imported. If the StaffCodes doe not match or the class code Is too long then the record is not imported.

TimetableCode

Timetable code from the Synergetic Timetable Configuration

PeriodOffset

Period offset from the Synergetic Timetable Configuration


Configuration Keys

The following are any Configuration Keys that affect the Automatic Timetabler Import

Key1

Key2

Key3

Key4

Key5

Value

Timetabler

AutoImport

ClassDescription

UseSubjectName

True/False

If True this will Use the Subject Name from Timetabler for the Class Description in Synergetic.

If False this will Use the Class Name from Timetabler for the Class Description in Synergetic.

Timetabler

AutoImport

CreateMissingTimetable

True/False

If True this will create the timetable for any classes without students.

If False only classes with students will be created.

Timetabler

AutoImport

YardDuties

Automap

Periods

True/False

If True this will automap distinct Yard duty periods

If False this will take the timetable period for the yard duties directly from Timetabler. There can be duplicate period numbers in timetabler as they can be marked before / after a period.

True is recommended for Yard duty imports.

Timetabler

AutoImport

Timetable

AllowDuplicates

True/False

If False only one staff member is assigned to the timetable record. This is to avoid duplicates in the Staff Timetable.

If True any staff members that are listed against the timetable record as assigned.

Timetabler

AutoImport

Extras

DaysAhead

INT

When Importing Extras this controls the number of days ahead you want to process the extras.
1 - Only import any Extras for today
2 - Import any extras for today and tomorrows

Action Centre Messages

There are several Action Message Types that have been created to assist with the import process:

MessageType

Description

TIM_ImportExceptions_I

Timetable Import Report

TIM_ImportFailure_A

Timetable Import Failed

TIM_ImportExceptions_I

A report of Imported / Excluded records from the import. This will display the following:

  • Number of records imported

  • Any staff who could not be mapped using the settings provided

  • Any Students who could not be mapped using the settings provided

  • Any Timetable records that could not be imported

  • Any Student Class records that could not be imported

  • Any Substitute records that could not be imported

  • The Import Settings used for the import

Imported Records:

Type

Count

Timetable

36

StudentClasses

18

Substitutes

0


2 Staff who couldn't be mapped by SchoolStaffCode :

StaffCode

Test

TEST2


3 Student's who couldn't be mapped by ID:

StudentCode

12345

12345

12346

12346

223456

223456


38 Timetable Records that couldn't be imported:

DayNumber

PeriodNumber

StaffCode

ClassCode

TEST

TEST2

1

1

Test

1

2

Test

1

3

Test

1

4

Test

2

1

Test

2

2

Test

2

3

Test

2

4

Test

3

1

Test

3

2

Test

3

3

Test

3

4

Test

4

1

Test

4

2

Test

4

3

Test

4

4

Test

5

1

Test

5

2

Test

5

3

Test

5

4

Test

6

1

Test

6

2

Test

6

3

Test

6

4

Test

7

1

Test

7

2

Test

7

3

Test

7

4

Test

8

1

Test

8

2

Test

8

3

Test

8

4

Test

9

1

Test

9

2

Test

9

3

Test

9

4

Test


2 Student Class Records that couldn't be imported:

StudentCode

ClassCode

12345

223456


Import Settings

Parameter Name

Value

TimetableCode

2018T1

TimetablePath

FileYear

A

FileYear

2018

FileSemester

1

StudentLinkField

ID

StaffLinkField

SchoolStaffCode

SetStoppedFlag

True

AllowCoreClassClearFlag

False

ClearStaffFlag

True

ProcessDate

13/04/2018

YearLevelFrom

0

YearLevelTo

12

SetExistingNonAssessableFlag

False

SetNewNonAssessableFlag

False

RemoveAsterixFlag

False

UpdateClassDescriptionFlag

False

TIM_ImportFailure_A

If there is an error message when importing the Timetable this action message will be created. This will display the error message along with the Settings used to import the Timetable. See below for example":

Error Message

Test Error Message this is an error message.


Import Settings

Parameter Name

Value

TimetableCode

2018T1

TimetablePath

FileYear

A

FileYear

2018

FileSemester

1

StudentLinkField

ID

StaffLinkField

SchoolStaffCode

SetStoppedFlag

True

AllowCoreClassClearFlag

False

ClearStaffFlag

True

ProcessDate

13/04/2018

YearLevelFrom

0

YearLevelTo

12

SetExistingNonAssessableFlag

False

SetNewNonAssessableFlag

False

RemoveAsterixFlag

False

UpdateClassDescriptionFlag

False

SQL Server Service Account 


The Timetabler Automatic Import can import database files from directories either on the SQL server directly or from a network share. If you are wanting to configure the import for use with a network share the SQL Server service account must be setup with a domain account user.

In either case and in order to function the SQL server service account need read/write permission to the folder where the Timetabler database files are located. 

In the example above the service account is CDA_MAIN\SQL_WS. This account would need to be configured with the following permissions to the folders where the Timetabler files are located. 

Timetabler Version

Permission

Explanation

8

R+W

Version 8 uses an Access Database file. The process needs to be able to create a lock file when accessing the file.

9

R

Version 9 uses an XML file so read access is sufficient and it doesn't need to create a log file when reading the XML file.

10

R

Version 10 uses a JSON file so read access is sufficient and it doesn't need to create a log file when reading the JSON file.


SQL Jobs

There are 4 jobs that can be scheduled in your SQL server management studio. (This can be configured by our professional support team- please raise a case for a quote should this be required)
These are scheduled as per your requested times in the initial setup. They can be changed to a different schedule if required.

Job

Description

Synergetic - Timetabler Import

This imports the Timetable, Students in Classes, teachers taking classes. Depending on your setting it will update the Stop Date / Assessable flags for students not being imported in the import. It can also update the form / tutor group depending on your settings. 

Synergetic - Timetabler Yard Duties Import 

This imports the Timetable data for Yard Duties.

Synergetic - Timetabler Extras Import

This imports the Teacher & Room Replacement data.

There are 2 steps in the job. The first step imports any academic Teacher & Room Replacement Data.

The 2nd step imports any Yard duty Teacher & room replacement data.

Synergetic - Timetabler Yard Duty Extras Import

This imports the Teacher & Room Replacement data for Yard Duties

These can also be run manually through SQL Server management studio. You can right click on any of these jobs and select Start Job at Step. 

Troubleshooting

  • No teachers against the classes

    • Check the StaffLinkField against Timetable Configuration for the import. 

      Check Work table for any staff that have a StaffID of 0

      SELECT * FROM wkxiTimetable WHERE StaffCode <> '' AND StaffID = 0 AND TimetableCode = '2022T1'
  • No Students listed against classes

    • Check the StudentLinkField against Timetable Configuration for the import

      Check Work table for students with an ID of 0

      SELECT * FROM wkxiStudentClasses WHERE StudentCode <> '' AND StudentID = 0 AND TimetableCode = '2022T1'
  • Particular staff members do not have classes

    • SELECT * FROM wkxiTimetable WHERE StaffCode = 'ABC' AND TimetableCode = '2022T1'
    • Check Synergetic to make sure the StaffCode exists

      Check Synergetic to make sure the staff code exists

      --SchoolStaffCode
      SELECT * FROM Staff WHERE SchoolStaffCode = 'ABC'  AND TimetableCode = '2022T1' --ID
      SELECT * FROM Staff WHERE CONVERT(VARCHAR(30),ID) = 'ABC'  AND TimetableCode = '2022T1'
    • Check Synergetic to ensure the Staff Code matches the staff Code coming from Timetabler

      Check that the Staff Code is not duplicated with another staff member

      SELECT COUNT(*) FROM Staff WHERE SchoolStaffCode = 'ABC'  AND TimetableCode = '2022T1'


  • Particular Students do not have classes

    • Check Synergetic to make Sure that the Code exists for the student:

      Check Synergetic to make sure the staff code exists Student Code Exists

      --AlternateCode
      SELECT * FROM Students WHERE AlternateCode = '12345'
      --ID
      SELECT * FROM Students WHERE Convert(VARCHAR(30),ID) = '12345'
      --TimetableCode
      SELECT * FROM Students WHERE TimetableCode = '12345'
      --PreviousSystemCode
      SELECT * FROM Students WHERE N16StuCode = '12345'
    • Check Work Tables for the StudentCode

      SELECT * FROM wkxiStudentClasses WHERE StudentCode = '12345' 
  • Nothing is imported

    • Check that the date is within the start date and stop date. 

    • Check the enabled flag is set against each of the imports. 

    • Check that the SQL job is enabled and scheduled

    • Check which Schedules will run

            SELECT
              tc.TimetableCode,
              MAX(tcsc.TimetableType),
              tc.FileYear,
              tc.FileSemester,
              tc.FileType,
              lut.SetExistingNonAssessableFlag,
              lut.SetNewNonAssessableFlag,
              lut.SetStoppedFlag,
              lut.AllowCoreClassClearFlag,
              lut.ClearStaffFlag,
              MAX(tcsc.StudentLinkField),
              MAX(tcsc.StaffLinkField),
              MAX(CASE WHEN tcsc.TimetableType IN ('TIMETABLER','FIRSTCLASS','TIMETABLERYD','CUSTOM','FIRSTCLASSEXT') THEN 1 ELSE 0 END) AS ImportTimetableFlag,--SELECT *
              MAX(CASE WHEN tcsc.TimetableType IN ('TIMETABLEREXT','CUSTOM','FIRSTCLASSEXT') THEN 1 ELSE 0 END) AS ImportExtrasFlag,
              MIN(tcsc.YearLevelFrom),
              MAX(tcsc.YearLevelTo),
              MAX(tcsc.ImportStartDateTime),
              MAX(tcsc.ImportEndDateTime),
              MAX(tcsc.TimetableGroup),
              MAX(CONVERT(INT,lut.CreateLuRoomFlag)),
              MAX(CONVERT(INT,lut.ExplodeObjectsFlag)),
              MAX(CONVERT(INT,tcsc.ImportOrderSeq)),
              MAX(CONVERT(INT,lut.UpdateClassDescriptionFlag)),
              MAX(CONVERT(INT,lut.UpdateFormFlag)),
              MAX(CONVERT(INT,lut.RemoveAsterixFlag)),
              MAX(CONVERT(INT,lut.UpdateTutorFlag))
              --SELECT *
            
            FROM dbo.TimetableSchedule tcsc 
              INNER JOIN dbo.TimetableConfig tc ON (tc.TimetableConfigSeq = tcsc.TimetableConfigSeq)
              LEFT JOIN dbo.luTimetableOperationMode lut ON (lut.Code = tcsc.TimetableOperationModeCode)
            WHERE tcsc.TimetableType IN ('TIMETABLER','FIRSTCLASS','TIMETABLEREXT','TIMETABLERYD','CUSTOM','FIRSTCLASSEXT')
              AND dbo.fnDateOnly(GETDATE()) >= tcsc.ImportStartDateTime
              AND dbo.fnDateOnly(GETDATE()) <= tcsc.ImportEndDateTime
              AND tcsc.EnabledFlag = 1
            GROUP BY 
            tc.TimetableCode,
              tc.FileYear,
              tc.FileSemester,
              tc.FileType,
              lut.SetExistingNonAssessableFlag,
              lut.SetNewNonAssessableFlag,
              lut.SetStoppedFlag,
              lut.AllowCoreClassClearFlag,
              lut.ClearStaffFlag
            ORDER BY MAX(CASE WHEN tcsc.TimetableType IN ('TIMETABLER','FIRSTCLASS','CUSTOM','FIRSTCLASSEXT') THEN 1 ELSE 0 END)  DESC,
              MAX(CONVERT(INT,tcsc.ImportOrderSeq))
  • Particular Classes are not imported

    • Check the Never Clear on Timetable Import Flag against the class.

    • Check the Timetable Keep Assessable Flag against the class.

  • Period Numbers are out of Sync when importing Extras

    • In the Daily Organiser Period numbers are stored by a code instead of a Number. This can cause issues if the period numbers are different to the codes stored in Timetabler. Please contact Support for a fix.
      Apply the script - I:\SCRIPTS\DBA\Timetable\uspuwkTimetable - Update Period Numbers.sql (I: = \\zeus\Delphi\)

  • You can also refer to the Version 9 XML File using the following script to check the contents of the Timetabler XML:

    • I:\SCRIPTS\DBA\Timetable\99_testing.sql

    • \\ehg-fsx-01.ehgservices.com\share\Synergetic\Delphi\SCRIPTS\DBA\Timetable

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article