Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
Expense Benefit timesheet
Columns
| Column | Type | Null | Default | Comment |
| EBTimeSheetID | char(20) | NOT NULL | | |
| PersonID | char(20) | NULL | | |
| TempDeskID | char(20) | NULL | | |
| SerialNumber | char(12) | NULL | | |
| Period | integer | NOT NULL | | |
| PeriodLength | char(1) | NOT NULL | | Week or Month |
| PayrollIdentifier | char(1) | NULL | | For external payroll link |
| AnalysisCode | char(20) | NULL | | |
| CorrectionFlag | smallint | NULL | | Non zero if this was to correct errors |
| Billed | smallint | NULL | | |
| Paid | smallint | NULL | | |
| TransferBatch | integer | NULL | | |
| PayrollNumber | char(15) | NULL | | In case employee payroll number changes |
| TheirRef | char(50) | NULL | | |
| Description | long varchar | NULL | | |
| Currency | char(3) | NULL | | |
| EStatus | smallint | NULL | 0 | 1: E-Timesheet completed on line 2: E-Timesheet changed local copy 3: E-Timesheet awaiting confirmation |
| StartDate | date | NULL | | |
| EndDate | date | NULL | | |
| ExternalTimesheetReference | char(20) | NULL | | |
| ExternalInvoiceReference | char(20) | NULL | | |
| SecondaryAgencyID | char(20) | NULL | | CompanyID of Secondary Agency which supplied the worker |
| WhenEntered | timestamp | NULL | current timestamp | |
| StaffID | char(20) | NULL | | |
| AccordTransferBatch | integer | NULL | | |
| AccordPayrollNumber | char(15) | NULL | | In case employee payroll number changes |
| ScanPathFilename | char(250) | NULL | | |
| WhenPaid | timestamp | NULL | | |
| ImageBlobID | char(20) | NULL | | |
| Table | Constraint | Columns | Referenced columns |
| pears.EBTimeSheetLine | EBTimeSheet | EBTimeSheetID | EBTimeSheetID |
| Name | Type | Columns | Detail |
| EBTimeSheet_Period | Index | Period | |
| EBTimeSheet_transferbatch | Index | TransferBatch | |
| EBTimeSheet_PerdPID | Index | Period, PersonID | |
| Name | Timing | Event |
| EBTimesheet_Insert | before | insert order 1 |
-- IQX database structure split by table
-- Source: IQXDatabaseStructure - with comments.sql
-- Table: "pears"."EBTimeSheet"
-- Table comment: Expense Benefit timesheet
-- Statement count: 18
CREATE TABLE "pears"."EBTimeSheet" (
"EBTimeSheetID" CHAR(20) NOT NULL
,"PersonID" CHAR(20) NULL
,"TempDeskID" CHAR(20) NULL
,"SerialNumber" CHAR(12) NULL
,"Period" INTEGER NOT NULL
,"PeriodLength" CHAR(1) NOT NULL
,"PayrollIdentifier" CHAR(1) NULL
,"AnalysisCode" CHAR(20) NULL
,"CorrectionFlag" SMALLINT NULL
,"Billed" SMALLINT NULL
,"Paid" SMALLINT NULL
,"TransferBatch" INTEGER NULL
,"PayrollNumber" CHAR(15) NULL
,"TheirRef" CHAR(50) NULL
,"Description" long VARCHAR NULL
,"Currency" CHAR(3) NULL
,"EStatus" SMALLINT NULL DEFAULT 0
,"StartDate" DATE NULL
,"EndDate" DATE NULL
,"ExternalTimesheetReference" CHAR(20) NULL
,"ExternalInvoiceReference" CHAR(20) NULL
,"SecondaryAgencyID" CHAR(20) NULL
,"WhenEntered" TIMESTAMP NULL DEFAULT CURRENT TIMESTAMP
,"StaffID" CHAR(20) NULL
,"AccordTransferBatch" INTEGER NULL
,"AccordPayrollNumber" CHAR(15) NULL
,"ScanPathFilename" CHAR(250) NULL
,"WhenPaid" TIMESTAMP NULL
,"ImageBlobID" CHAR(20) NULL
,PRIMARY KEY ("EBTimeSheetID" ASC)
)
GO
COMMENT ON COLUMN "pears"."EBTimeSheet"."PeriodLength" IS
'Week or Month'
GO
COMMENT ON COLUMN "pears"."EBTimeSheet"."PayrollIdentifier" IS
'For external payroll link'
GO
COMMENT ON COLUMN "pears"."EBTimeSheet"."CorrectionFlag" IS
'Non zero if this was to correct errors'
GO
COMMENT ON COLUMN "pears"."EBTimeSheet"."PayrollNumber" IS
'In case employee payroll number changes'
GO
COMMENT ON COLUMN "pears"."EBTimeSheet"."EStatus" IS
'1: E-Timesheet completed on line 2: E-Timesheet changed local copy 3: E-Timesheet awaiting confirmation'
GO
COMMENT ON COLUMN "pears"."EBTimeSheet"."SecondaryAgencyID" IS
'CompanyID of Secondary Agency which supplied the worker'
GO
COMMENT ON COLUMN "pears"."EBTimeSheet"."AccordPayrollNumber" IS
'In case employee payroll number changes'
GO
COMMENT ON TABLE "pears"."EBTimeSheet" IS
'Expense Benefit timesheet'
GO
ALTER TABLE "pears"."EBTimeSheet"
ADD FOREIGN KEY "Person" ("PersonID" ASC)
REFERENCES "pears"."Person" ("personid")
GO
ALTER TABLE "pears"."EBTimeSheet"
ADD FOREIGN KEY "TempDesk" ("TempDeskID" ASC)
REFERENCES "pears"."tempdesk" ("tempdeskid")
GO
ALTER TABLE "pears"."EBTimeSheet"
ADD FOREIGN KEY "Company" ("SecondaryAgencyID" ASC)
REFERENCES "pears"."Company" ("companyid")
GO
ALTER TABLE "pears"."EBTimeSheet"
ADD FOREIGN KEY "Staff" ("StaffID" ASC)
REFERENCES "pears"."staff" ("staffid")
ON DELETE SET NULL
GO
CREATE INDEX "EBTimeSheet_Period" ON "pears"."EBTimeSheet"
( "Period" )
GO
CREATE INDEX "EBTimeSheet_transferbatch" ON "pears"."EBTimeSheet"
( "TransferBatch" )
GO
CREATE INDEX "EBTimeSheet_PerdPID" ON "pears"."EBTimeSheet"
( "Period","PersonID" )
GO
CREATE TRIGGER "EBTimesheet_Insert" BEFORE INSERT ORDER 1 ON
"pears"."EBTimesheet"
REFERENCING NEW AS "new_ts"
FOR each ROW
WHEN("new_ts"."staffid" IS NULL)
BEGIN
SET "new_ts"."staffid" = "userstaffid"
exception
WHEN others THEN
SET "new_ts"."staffid" = NULL
END
GO
COMMENT TO PRESERVE FORMAT ON TRIGGER "pears"."EBTimeSheet"."EBTimesheet_Insert" IS
{CREATE TRIGGER EBTimesheet_Insert
BEFORE INSERT ORDER 1 ON
pears.EBTimesheet
REFERENCING NEW AS new_ts
FOR each ROW
WHEN(new_ts.staffid IS NULL)
BEGIN
SET new_ts.staffid=userstaffid
exception
WHEN others THEN
SET new_ts.staffid=NULL
END
}
GO