====== pears.AWRQualified ====== Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. ===== Original SQL ===== create function "pears"."AWRQualified"( /* Application Maintained Function / Procedure - DO NOT EDIT*/ in "jobmasterid" char(20),in "WeekNo" integer,in "VacID" char(20),in "PersID" char(20),in "PlacID" char(20),in "ShiftID" char(20) ) returns integer not deterministic begin declare "pid" char(20); declare "vid" char(20); declare "jobmid" char(20); declare "sdate" date; declare "AWRStat" smallint; declare "Override" smallint; declare "Odate" date; declare @Grade char(4); declare "Spec" char(4); -- get last week if "weekno" is not null then set "weekno" = "tempgetweekago"("weekno"/100,"mod"("weekno",100),1) end if; if "jobmasterid" is not null then select first "AWRStatus","AWRjobmasterid","isnull"("OverrideSystem",1),"OverrideDate" into "AWRstat","jobmid","Override","Odate" from "AWRjobmaster" where "AWRjobmasterid" = "jobmasterid" order by "whenentered" desc; if "odate" is not null and "weekno" >= "weekcontaining"("ODate") then if "Override" = 3 then return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") elseif "Override" = 2 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if end if; if "AWRWeeks"("jobmid","WeekNo","vid","pid","placid","shiftid") >= 12 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") else return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if end if; if "ShiftID" is not null then -- get last week select "personid","vacancyid","dateadd"("day",-7,"shiftdate") into "pid","vid","sdate" from "tempshift" where "tempshiftid" = "shiftid"; select "AWREntityGrade"("VID","PID","PlacID","ShiftID"),"EntitySpeciality"("VID","PID","PlacID","ShiftID") into @Grade,"Spec"; select first "AWRStatus","AWRjobmasterid","isnull"("OverrideSystem",1),"OverrideDate" into "AWRstat","jobmid","Override","Odate" from "AWRjobmaster" where "personid" = "pid" and "vacancyid" = "vid" and "isnull"("Grade",'') = "isnull"(@Grade,'') and "isnull"("Speciality",'') = "isnull"("Spec",'') order by "whenentered" desc; if "odate" is not null and "weekcontaining"("sdate") >= "weekcontaining"("ODate") then if "Override" = 3 then return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") elseif "Override" = 2 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if end if; if "AWRWeeks"("jobmid","weekcontaining"("sdate"),"vid","pid","placid","shiftid") >= 12 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") else return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if else if "persid" is not null and "vacid" is not null and "weekno" is not null then select "AWREntityGrade"("VacID","PersID","PlacID","ShiftID"),"EntitySpeciality"("VacID","PersID","PlacID","ShiftID") into @Grade,"Spec"; select first "AWRStatus","AWRjobmasterid","isnull"("OverrideSystem",1),"OverrideDate" into "AWRstat","jobmid","Override","Odate" from "AWRjobmaster" where "personid" = "persid" and "vacancyid" = "vacid" and "isnull"("Grade",'') = "isnull"(@Grade,'') and "isnull"("Speciality",'') = "isnull"("Spec",'') order by "whenentered" desc; if "weekno" >= "weekcontaining"("ODate") then if "Override" = 3 then return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") elseif "Override" = 2 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if end if; if "AWRWeeks"("jobmid","weekno","vacid","persid","placid","shiftid") >= 12 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") else return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if else if "placid" is not null and "weekno" is not null then select "personid","vacancyid" into "pid","vid" from "placement" key join "employment" where "placementid" = "placid"; select "AWREntityGrade"("VID","PID","PlacID","ShiftID"),"EntitySpeciality"("VID","PID","PlacID","ShiftID") into @Grade, "Spec"; select first "AWRStatus","AWRjobmasterid","isnull"("OverrideSystem",1),"OverrideDate" into "AWRstat","jobmid","Override","Odate" from "AWRjobmaster" where "personid" = "pid" and "vacancyid" = "vid" and "isnull"("Grade",'') = "isnull"(@Grade,'') and "isnull"("Speciality",'') = "isnull"("Spec",'') order by "whenentered" desc; if "weekno" >= "weekcontaining"("ODate") then if "Override" = 3 then return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") elseif "Override" = 2 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if end if; if "AWRWeeks"("jobmid","weekno","vid","pid","placid","shiftid") >= 12 then return "AWRQualifiedCustomOverRide"(1,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") else return "AWRQualifiedCustomOverRide"(0,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end if end if end if end if; return "AWRQualifiedCustomOverRide"(null,"JobMasterID","WeekNo","VacID","PersID","PlacID","ShiftID") end