pears.PlacementDayWorked

Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.

Original SQL

CREATE FUNCTION "pears"."PlacementDayWorked"( 
  /* Application Maintained Function / Procedure - DO NOT EDIT*/
  IN "placid" CHAR(20),IN "pdate" DATE ) 
RETURNS SMALLINT
BEGIN
  DECLARE "bcanc" tinyint;
  DECLARE "nhrs" REAL;
  DECLARE "d" SMALLINT;
  DECLARE "bdayticked" tinyint;
  DECLARE "banyticked" tinyint;
  IF "placid" IS NULL THEN
    RETURN 1
  END IF;
  SELECT FIRST "v"."WorkCancelled","v"."WorkHours" INTO "bcanc","nhrs"
    FROM "PlacementDayVariation" AS "v"
    WHERE "v"."placementid" = "placid" AND "v"."VariationDate" = "pdate";
  IF "bcanc" = 1 THEN
    RETURN 0
  END IF;
  IF "nhrs" IS NOT NULL THEN
    IF "nhrs" > 0 THEN
      RETURN 1
    ELSE
      RETURN 0
    END IF END IF;
  SET "d" = "dow"("pdate")-1;
  SELECT(CASE "d" WHEN 0 THEN "worksunday" WHEN 1 THEN "workmonday" WHEN 2 THEN "worktuesday" WHEN 3 THEN "workwednesday" WHEN 4 THEN "workthursday" WHEN 5 THEN "workfriday" WHEN 6 THEN "worksaturday" END),
    "isnull"("worksunday","workmonday","worktuesday","workwednesday","workthursday","workfriday","worksaturday")
    INTO "bdayticked","banyticked" FROM "placement" WHERE "placementid" = "placid";
  IF "banyticked" IS NULL THEN
    RETURN 1
  ELSE
    RETURN "isnull"("bdayticked",0)
  END IF
END