pears.GetVacancyCascadeTime
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"."GetVacancyCascadeTime" IS {CREATE FUNCTION GetVacancyCascadeTime /* Application Maintained Function / Procedure - DO NOT EDIT*/ (IN compid CHAR(20),IN vacid CHAR(20),IN entrytime TIMESTAMP,IN starttime TIMESTAMP,IN casctime TIMESTAMP,IN requestlevel SMALLINT) RETURNS TIMESTAMP BEGIN DECLARE rv TIMESTAMP; DECLARE frm CHAR(1); DECLARE mins DOUBLE; DECLARE fnc CHAR(100); SET rv=NULL; -- first look for vacancy level vacancy rule SELECT FIRST hoursfrom,isnull(cascadehours,0.0)*60.0,customfunction INTO frm,mins,fnc FROM cascaderule WHERE vacancyid = vacid AND cascadelevel = requestlevel AND vacancyrule = 1; -- if that did not find anything , then check for a company level vacancy rule IF frm IS NULL THEN SELECT FIRST hoursfrom,isnull(cascadehours,0.0)*60.0,customfunction INTO frm,mins,fnc FROM cascaderule WHERE companyid = compid AND vacancyid IS NULL AND cascadelevel = requestlevel AND vacancyrule = 1 END IF; CASE frm WHEN 'E' THEN SET rv=dateadd(MINUTE,mins,entrytime) WHEN 'S' THEN SET rv=dateadd(MINUTE,0-mins,starttime) WHEN 'C' THEN SET rv=dateadd(MINUTE,mins,casctime) WHEN 'X' THEN SET rv=dateadd(YEAR,150,CURRENT TIMESTAMP) WHEN 'O' THEN BEGIN EXECUTE IMMEDIATE string('set rv=',fnc,'(compid,vacid,entrytime,starttime,casctime,requestlevel)') exception WHEN others THEN SET rv=dateadd(YEAR,150,CURRENT TIMESTAMP) END END CASE; RETURN rv END }