====== pears.GetKeyShiftPlanState ====== 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"."GetKeyShiftPlanState" IS {create function GetKeyShiftPlanState /* Application Maintained Function / Procedure - DO NOT EDIT*/ (in sid char(20),in ddate date,in bperson smallint) returns char(21) begin declare rv char(21); if bperson = 1 then return null else set rv = isnull( (select first string(if cascadelevel > 0 then 'Y' else 'X' endif, tempshiftplanid) from tempshiftplan as p where vacancyid = sid and shiftdate = ddate and not tempshiftplanid = any(select tempshiftplanid from tempshift where vacancyid = p.vacancyid and shiftdate = ddate and(not(state = 'C' and crefill = 1)) and tempshiftplanid is not null) order by cascadelevel desc), (select first string(state,tempshiftid) from tempshift where vacancyid = sid and shiftdate = ddate and(not(tempshift.state = 'C' and tempshift.clientconfirmed = 1)) and tempshift.state <> 'U' order by (case state when 'P' then 1 when 'C' then 2 when 'B' then 3 else 4 end)) ) end if; return rv end }