pears.AccordEmployeeCode
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
Original SQL
CREATE FUNCTION "pears"."AccordEmployeeCode"( /* Application Maintained Function / Procedure - DO NOT EDIT*/ IN "pid" CHAR(20),IN "payident" CHAR(1) ) RETURNS CHAR(6) BEGIN /* side effect updates payrollnumber */ DECLARE "pn" INTEGER; DECLARE "rv" CHAR(6); DECLARE "LiveSys" INTEGER; DECLARE "ParaSys" INTEGER; UPDATE "AccordParams" SET "lastaccpayrollnumber" = "isnull"("lastaccpayrollnumber",0)+1; SELECT FIRST "lastaccpayrollnumber" INTO "pn" FROM "AccordParams"; SELECT FIRST "LivePayroll" INTO "LiveSys" FROM "PayrollCompany" WHERE "payrollidentifier" = "payident"; SELECT FIRST "ParallelPayroll" INTO "ParaSys" FROM "PayrollCompany" WHERE "payrollidentifier" = "payident"; SET "rv" = "Base29safe"("pn",6); IF "LiveSys" = 1 THEN UPDATE "person" SET "payrollnumber" = "rv" WHERE "personid" = "pid" AND "payrollnumber" = 'NEW'; UPDATE "pay_employment" SET "payrollnumber" = "rv" WHERE "personid" = "pid" AND "payrollnumber" = 'NEW'; UPDATE "temptimesheet" SET "payrollnumber" = "rv" WHERE "personid" = "pid" AND "payrollnumber" = 'NEW'; UPDATE "EBtimesheet" SET "payrollnumber" = "rv" WHERE "personid" = "pid" AND "payrollnumber" = 'NEW' END IF; IF "ParaSys" = 1 THEN UPDATE "person" SET "accordpayrollnumber" = "rv" WHERE "personid" = "pid" AND "accordpayrollnumber" = 'NEW'; UPDATE "temptimesheet" SET "accordpayrollnumber" = "rv" WHERE "personid" = "pid" AND "accordpayrollnumber" = 'NEW'; UPDATE "EBtimesheet" SET "accordpayrollnumber" = "rv" WHERE "personid" = "pid" AND "accordpayrollnumber" = 'NEW' END IF; RETURN("rv") END