====== pears.PersonUnavailability ====== 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"."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 }