====== pears.AccordEmployeeCode ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."AccordEmployeeCode" IS
{create function AccordEmployeeCode
/* Application Maintained Function / Procedure - DO NOT EDIT*/
(in pid char(20), 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
}