====== pears.MasterRosterShift ====== Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. ===== Description ===== Detail records for Master Rosters ===== Columns ===== ^ Column ^ Type ^ Null ^ Default ^ Comment ^ | **MasterRosterShiftID** | char(20) | NOT NULL | | | | MasterRosterID | char(20) | NOT NULL | | | | Description | char(50) | NOT NULL | | | | NextDate | date | NOT NULL | | | | FinalDate | date | NULL | | | | ShiftStartDate | date | NULL | | | | EssentialSkill | char(15) | NULL | | P|A;TagID;TagChoiceID;GradeTagID | | EssentialSkillGradeID | char(4) | NULL | | | | EssentialSkillChoiceList | char(100) | NULL | | | | TimeFrom | time | NULL | | | | TimeTo | time | NULL | | | | Moveable | smallint | NULL | 0 | | | Minutes | smallint | NULL | | Fill if shorter spell within the timespan | | BreakMinutes | smallint | NULL | | | | ReferenceRequired | char(1) | NULL | | on ntry, onfirmation, imesheet entry. Blank for not required | | ClientMustConfirm | smallint | NULL | 0 | | | TempMustConfirm | smallint | NULL | 0 | | | TempShiftTypeID | char(2) | NULL | | | | AnalysisCode | char(20) | NULL | | | | RecoveryHours | smallint | NULL | 0 | | | ClientNote | char(50) | NULL | | | | TempShiftTemplateID | char(20) | NULL | | | | DefaultPersonID | char(20) | NULL | | | | MasterRosterChangeLogID | char(20) | NULL | | | | ReferenceCode | char(20) | NULL | | | ===== Primary Key ===== * MasterRosterShiftID ===== Foreign Keys ===== ^ Constraint ^ Columns ^ References ^ Delete/update action ^ | MasterRoster | MasterRosterID | [[database:tables:pears_masterroster|pears.MasterRoster (MasterRosterID)]] | NOT NULL; ON DELETE CASCADE | | TempShiftType | TempShiftTypeID | [[database:tables:pears_tempshifttype|pears.TempShiftType (TempShiftTypeID)]] | | | TempShiftTemplate | TempShiftTemplateID | [[database:tables:pears_tempshifttemplate|pears.TempShiftTemplate (TempShiftTemplateID)]] | | | Person | DefaultPersonID | [[database:tables:pears_person|pears.Person (personid)]] | | | MasterRosterChangeLog | MasterRosterChangeLogID | [[database:tables:pears_masterrosterchangelog|pears.MasterRosterChangeLog (MasterRosterChangeLogID)]] | ON DELETE CASCADE | ===== Referenced By ===== ^ Table ^ Constraint ^ Columns ^ Referenced columns ^ | [[database:tables:pears_masterrosterchangelog|pears.MasterRosterChangeLog]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID | | [[database:tables:pears_masterrosterfaillog|pears.MasterRosterFailLog]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID | | [[database:tables:pears_masterrostershiftinstance|pears.MasterRosterShiftInstance]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID | | [[database:tables:pears_tempshiftplan|pears.TempShiftPlan]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID | ===== Indexes ===== * No indexes found. ===== Triggers ===== ^ Name ^ Timing ^ Event ^ | MasterRosterShift_Insert | before | insert order 1 | ===== Original SQL ===== -- IQX database structure split by table -- Source: IQXDatabaseStructure - with comments.sql -- Table: "pears"."MasterRosterShift" -- Table comment: Detail records for Master Rosters -- Statement count: 12 CREATE TABLE "pears"."MasterRosterShift" ( "MasterRosterShiftID" char(20) NOT NULL ,"MasterRosterID" char(20) NOT NULL ,"Description" char(50) NOT NULL ,"NextDate" date NOT NULL ,"FinalDate" date NULL ,"ShiftStartDate" date NULL ,"EssentialSkill" char(15) NULL ,"EssentialSkillGradeID" char(4) NULL ,"EssentialSkillChoiceList" char(100) NULL ,"TimeFrom" time NULL ,"TimeTo" time NULL ,"Moveable" smallint NULL DEFAULT 0 ,"Minutes" smallint NULL ,"BreakMinutes" smallint NULL ,"ReferenceRequired" char(1) NULL ,"ClientMustConfirm" smallint NULL DEFAULT 0 ,"TempMustConfirm" smallint NULL DEFAULT 0 ,"TempShiftTypeID" char(2) NULL ,"AnalysisCode" char(20) NULL ,"RecoveryHours" smallint NULL DEFAULT 0 ,"ClientNote" char(50) NULL ,"TempShiftTemplateID" char(20) NULL ,"DefaultPersonID" char(20) NULL ,"MasterRosterChangeLogID" char(20) NULL ,"ReferenceCode" char(20) NULL ,PRIMARY KEY ("MasterRosterShiftID" ASC) ) go COMMENT ON COLUMN "pears"."MasterRosterShift"."EssentialSkill" IS 'P|A;TagID;TagChoiceID;GradeTagID' go COMMENT ON COLUMN "pears"."MasterRosterShift"."Minutes" IS 'Fill if shorter spell within the timespan' go COMMENT ON COLUMN "pears"."MasterRosterShift"."ReferenceRequired" IS 'on ntry, onfirmation, imesheet entry. Blank for not required' go COMMENT ON TABLE "pears"."MasterRosterShift" IS 'Detail records for Master Rosters' go ALTER TABLE "pears"."MasterRosterShift" ADD NOT NULL FOREIGN KEY "MasterRoster" ("MasterRosterID" ASC) REFERENCES "pears"."MasterRoster" ("MasterRosterID") ON DELETE CASCADE go ALTER TABLE "pears"."MasterRosterShift" ADD FOREIGN KEY "TempShiftType" ("TempShiftTypeID" ASC) REFERENCES "pears"."TempShiftType" ("TempShiftTypeID") go ALTER TABLE "pears"."MasterRosterShift" ADD FOREIGN KEY "TempShiftTemplate" ("TempShiftTemplateID" ASC) REFERENCES "pears"."TempShiftTemplate" ("TempShiftTemplateID") go ALTER TABLE "pears"."MasterRosterShift" ADD FOREIGN KEY "Person" ("DefaultPersonID" ASC) REFERENCES "pears"."Person" ("personid") go ALTER TABLE "pears"."MasterRosterShift" ADD FOREIGN KEY "MasterRosterChangeLog" ("MasterRosterChangeLogID" ASC) REFERENCES "pears"."MasterRosterChangeLog" ("MasterRosterChangeLogID") ON DELETE CASCADE go create trigger "MasterRosterShift_Insert" before insert order 1 on "pears"."MasterRosterShift" referencing new as "new_sh" for each row begin set "new_sh"."shiftstartdate" = "new_sh"."nextdate" end go COMMENT TO PRESERVE FORMAT ON TRIGGER "pears"."MasterRosterShift"."MasterRosterShift_Insert" IS {create trigger MasterRosterShift_Insert before insert order 1 on pears.MasterRosterShift referencing new as new_sh for each row begin set new_sh.shiftstartdate = new_sh.nextdate end } go