pears.AutoMatchProcessShiftQueue

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

CREATE PROCEDURE "pears"."AutoMatchProcessShiftQueue"()
/* Application Maintained Function / Procedure - DO NOT EDIT*/
BEGIN
  CREATE OR REPLACE variable "GlobalMaxEmails" INTEGER;
  CREATE OR REPLACE variable "GlobalMaxSMS" INTEGER;
  CREATE OR REPLACE variable "GlobalMaxPush" INTEGER;
  CREATE OR REPLACE variable "GlobalMinEmailGap" INTEGER;
  CREATE OR REPLACE variable "GlobalMinSMSGap" INTEGER;
  CREATE OR REPLACE variable "GlobalMinPushGap" INTEGER;
  SELECT FIRST "MaxEmails","MaxSMS","MaxPush","MinDelayBetweenEmails","MinDelayBetweenSMS","MinDelayBetweenPush" INTO "GlobalMaxEmails",
    "GlobalMaxSMS","GlobalMaxPush","GlobalMinEmailGap","GlobalMinSMSGap","GlobalMinPushGap" FROM "AutoMatchGlobalConfig";
  FOR "s" AS "tscursor" no scroll cursor FOR
    SELECT "AutoMatchShiftQueueID" AS "QID","TempShiftPlanID" AS "TPID","Created"
      FROM(SELECT "AutoMatchShiftQueueID","TempShiftPlanID","Created","max"("Created") OVER(partition BY "TempShiftPlanID") AS "maxCreate"
          FROM "AutoMatchShiftQueue" WHERE "NotRequired" = 0 AND "Completed" IS NULL) AS "Shifts"
      WHERE "Created" = "maxCreate"
      ORDER BY "TPID" ASC FOR READ ONLY do
    CALL "AutoMatchProcessShift"("TPID");
    UPDATE "AutoMatchShiftQueue" SET "completed" = CURRENT TIMESTAMP WHERE "AutoMatchShiftQueueID" = "QID";
    UPDATE "AutoMatchShiftQueue" SET "NotRequired" = 1 WHERE "AutoMatchShiftQueueID" <> "QID" AND "Completed" IS NULL AND "TempShiftPlanID" = "TPID"
  END FOR
END
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."AutoMatchProcessShiftQueue" IS 
{CREATE PROCEDURE AutoMatchProcessShiftQueue 
 
/* Application Maintained Function / Procedure - DO NOT EDIT*/
 
()
BEGIN
  CREATE OR REPLACE VARIABLE GlobalMaxEmails INTEGER; 
  CREATE OR REPLACE VARIABLE GlobalMaxSMS INTEGER; 
  CREATE OR REPLACE VARIABLE GlobalMaxPush INTEGER; 
  CREATE OR REPLACE VARIABLE GlobalMinEmailGap INTEGER; 
  CREATE OR REPLACE VARIABLE GlobalMinSMSGap INTEGER; 
  CREATE OR REPLACE VARIABLE GlobalMinPushGap INTEGER; 
  SELECT FIRST MaxEmails, MaxSMS, MaxPush, MinDelayBetweenEmails, MinDelayBetweenSMS, MinDelayBetweenPush INTO GlobalMaxEmails, 
    GlobalMaxSMS, GlobalMaxPush, GlobalMinEmailGap, GlobalMinSMSGap, GlobalMinPushGap FROM AutoMatchGlobalConfig; 
  FOR s AS tscursor no scroll cursor FOR
    SELECT  AutoMatchShiftQueueID AS QID, TempShiftPlanID AS TPID, Created FROM
					(SELECT AutoMatchShiftQueueID, TempShiftPlanID, Created, MAX(Created) OVER (partition BY TempShiftPlanID ) maxCreate
						FROM AutoMatchShiftQueue WHERE NotRequired = 0 AND Completed IS NULL) Shifts
					WHERE Created = maxCreate
					ORDER BY TPID FOR READ ONLY do
      CALL AutoMatchProcessShift(TPID);
		   UPDATE AutoMatchShiftQueue SET completed = CURRENT TIMESTAMP WHERE AutoMatchShiftQueueID = QID; 
		   UPDATE AutoMatchShiftQueue SET NotRequired = 1  WHERE AutoMatchShiftQueueID <> QID AND Completed IS NULL AND TempShiftPlanID = TPID;
		END FOR;			
END
}
  • database/procedures/pears_automatchprocessshiftqueue.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1