Show pageOld revisionsBacklinksExport to PDFFold/unfold allBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== pears.PersonUnavailability ====== <WRAP center round info> Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. </WRAP> ===== Original SQL ===== <code sql> COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."PersonUnavailability" IS {create function PersonUnavailability /* Application Maintained Function / Procedure - DO NOT EDIT*/ (in pid char(20),in PorT char(1),in dfrom date,in dto date) returns char(100) begin declare rv char(100); declare ss char(1); declare so smallint; set rv=''; if pid is null or port is null or port = 'P' or dfrom is null or dto is null then return(rv) end if; if exists(select employmentid from employment where personid = pid and isnull(concurrent,0) = 0 and startdate <= dto and (leavedate is null or leavedate >= dfrom)) then set rv='Working' else set ss=null; select first state, (case state when 'P' then 2 when 'U' then 3 when 'H' then 4 when 'A' then 5 else 1 end) as sortorder into ss,so from tempshift where personid = pid and shiftdate between dfrom and dto order by sortorder asc; if ss is null or ss = 'A' then set rv='' else if ss = 'P' then set rv='Shifts Provisionally Booked' else if ss = 'U' then set rv='Partially Unavailable' else if ss = 'H' then set rv='Holidays Booked' else set rv='Shifts Booked' end if end if end if end if end if; if rv <> '' then set rv=rv+' ' end if; return(rv) end } </code> database/procedures/pears_personunavailability.txt Last modified: 2026/08/07 19:24by 127.0.0.1