Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."GetPersonAvailPercentage" IS {CREATE FUNCTION GetPersonAvailPercentage /* Application Maintained Function / Procedure - DO NOT EDIT*/ (IN sid CHAR(20),IN frdate DATE,IN todate DATE) RETURNS DOUBLE BEGIN DECLARE rv DOUBLE; DECLARE bonly SMALLINT; DECLARE cavail CHAR(1); DECLARE ndays DOUBLE; DECLARE navail DOUBLE; SET rv=0; IF frdate IS NULL THEN RETURN NULL END IF; IF todate IS NULL THEN SET todate=dateadd(DAY,30,frdate) END IF; IF frdate > todate THEN RETURN 100 END IF; SET ndays=0; SET navail=0; SELECT FIRST onlymatchifknownavailable INTO bonly FROM person WHERE personid = sid; SET bonly=isnull(bonly,0); while frdate <= todate loop SET ndays=ndays+1; SELECT FIRST getpersonavailstate(sid,frdate) INTO cavail; IF cavail = 'A' OR(cavail IS NULL AND bonly = 0) THEN SET navail=navail+1 END IF; SET frdate=dateadd(DAY,1,frdate) END loop; RETURN(navail/ndays)*100 END }