pears.NetClientVacanciesLineTimesUpdate

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

CREATE PROCEDURE "pears"."NetClientVacanciesLineTimesUpdate"( IN "pWebUserID" CHAR(20),IN "pRowData" CHAR(40) DEFAULT NULL ) 
RESULT( "retval" CHAR(250) ) 
-- 20120705 update shift times
-- 20120710 suppress popup
-- 20130213 created from GenevaNetClientVacanciesLineTimesUpdate
BEGIN
  DECLARE "TableID" CHAR(1);
  DECLARE "RowID" CHAR(20);
  DECLARE "NewTime" CHAR(6);
  DECLARE "WhichTime" CHAR(8);
  DECLARE "IntString" CHAR(20);
  DECLARE "VacID" CHAR(20);
  DECLARE "EmploymentID" CHAR(20);
  DECLARE "ShiftRef" CHAR(10);
  SET "TableID" = "substring"("pRowData",1,2);
  SET "RowID" = "substring"("pRowData",2,"charindex"('~',"pRowData")-1);
  SET "IntString" = "substring"("pRowData","charindex"('~',"pRowData")+1);
  SET "NewTime" = "substring"("IntString",1,"charindex"('~',"IntString")-1);
  SET "WhichTime" = "substring"("IntString","charindex"('~',"IntString")+1);
  IF "isdate"("NewTime") = 0 OR "charindex"(':',"NewTime") = 0 THEN
    SELECT '1:~Not a valid time'
  END IF;
  IF "TableID" = 'P' THEN
    (SELECT "t"."vacancyid","ShiftSerialNumber","e"."employmentid" INTO "VacID","ShiftRef","EmploymentID" FROM "tempshiftplan" AS "t" KEY JOIN "vacancy" KEY JOIN "employment" AS "e" WHERE "tempshiftplanid" = "RowID")
  ELSE
    (SELECT "t"."vacancyid","e"."employmentid","p"."ShiftSerialNumber" INTO "VacID","EmploymentID","ShiftRef" FROM "tempshiftplan" AS "p" KEY JOIN "tempshift" AS "t" KEY JOIN "vacancy" KEY JOIN "employment" AS "e" LEFT OUTER JOIN "person" AS "p" ON "p"."personid" = "t"."personid" WHERE "t"."tempshiftid" = "RowID")
  END IF;
  IF "TableID" = 'V' THEN
    IF "WhichTime" = 'S' THEN
      UPDATE "tempshift" SET "TimeFrom" = "NewTime" WHERE "tempshiftid" = "RowID"
    ELSE
      UPDATE "tempshift" SET "TimeTo" = "NewTime" WHERE "tempshiftid" = "RowID"
    END IF
  ELSE IF "WhichTime" = 'S' THEN
      UPDATE "tempshiftplan" SET "TimeFrom" = "NewTime" WHERE "tempshiftplanid" = "RowID"
    ELSE
      UPDATE "tempshiftplan" SET "TimeTo" = "NewTime" WHERE "tempshiftplanid" = "RowID"
    END IF END IF;
  SET "NewTime" = "dateformat"("NewTime",'hh:mm');
  IF "WhichTime" = 'S' THEN
    SET "WhichTime" = 'Start'
  ELSE
    SET "WhichTime" = 'End'
  END IF;
  CALL "GenevaIQXNetPopup"("pWebUserID",NULL,"EmploymentID","VacID",NULL,NULL,NULL,'Shift '+"WhichTime"+' time modified - '+"ShiftRef",'Shift '+"WhichTime"+' time modified - '+"NewTime",'N');
  SELECT '1:~success:'+"NewTime"
END
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetClientVacanciesLineTimesUpdate" IS 
{CREATE PROCEDURE pears."NetClientVacanciesLineTimesUpdate"( IN "pWebUserID" CHAR(20),IN "pRowData" CHAR(40) DEFAULT NULL ) 
RESULT( "retval" CHAR(250) ) 
-- 20120705 update shift times
-- 20120710 suppress popup
-- 20130213 created from GenevaNetClientVacanciesLineTimesUpdate
BEGIN
  DECLARE "TableID" CHAR(1);
  DECLARE "RowID" CHAR(20);
  DECLARE "NewTime" CHAR(6);
  DECLARE "WhichTime" CHAR(8);
  DECLARE "IntString" CHAR(20);
  DECLARE "VacID" CHAR(20);
  DECLARE "EmploymentID" CHAR(20);
  DECLARE "ShiftRef" CHAR(10);
  SET "TableID" = "substring"("pRowData",1,2);
  SET "RowID" = "substring"("pRowData",2,"charindex"('~',"pRowData")-1);
  SET "IntString" = "substring"("pRowData","charindex"('~',"pRowData")+1);
  SET "NewTime" = "substring"("IntString",1,"charindex"('~',"IntString")-1);
  SET "WhichTime" = "substring"("IntString","charindex"('~',"IntString")+1);
  IF "isdate"("NewTime") = 0 OR "charindex"(':',"NewTime") = 0 THEN
    SELECT '1:~Not a valid time'
  END IF;
  IF "TableID" = 'P' THEN
    (SELECT "t"."vacancyid","ShiftSerialNumber","e"."employmentid" INTO "VacID","ShiftRef","EmploymentID" FROM "tempshiftplan" AS "t" KEY JOIN "vacancy" KEY JOIN "employment" AS "e" WHERE "tempshiftplanid" = "RowID")
  ELSE
    (SELECT "t"."vacancyid","e"."employmentid","p"."ShiftSerialNumber" INTO "VacID","EmploymentID","ShiftRef" FROM "tempshiftplan" AS "p" KEY JOIN "tempshift" AS "t" KEY JOIN "vacancy" KEY JOIN "employment" AS "e" LEFT OUTER JOIN "person" AS "p" ON "p"."personid" = "t"."personid" WHERE "t"."tempshiftid" = "RowID")
  END IF;
  IF "TableID" = 'V' THEN
    IF "WhichTime" = 'S' THEN
      UPDATE "tempshift" SET "TimeFrom" = "NewTime" WHERE "tempshiftid" = "RowID"
    ELSE
      UPDATE "tempshift" SET "TimeTo" = "NewTime" WHERE "tempshiftid" = "RowID"
    END IF
  ELSE IF "WhichTime" = 'S' THEN
      UPDATE "tempshiftplan" SET "TimeFrom" = "NewTime" WHERE "tempshiftplanid" = "RowID"
    ELSE
      UPDATE "tempshiftplan" SET "TimeTo" = "NewTime" WHERE "tempshiftplanid" = "RowID"
    END IF END IF;
  SET "NewTime" = "dateformat"("NewTime",'hh:mm');
  IF "WhichTime" = 'S' THEN
    SET "WhichTime" = 'Start'
  ELSE
    SET "WhichTime" = 'End'
  END IF;
  CALL "GenevaIQXNetPopup"("pWebUserID",NULL,"EmploymentID","VacID",NULL,NULL,NULL,'Shift '+"WhichTime"+' time modified - '+"ShiftRef",'Shift '+"WhichTime"+' time modified - '+"NewTime",'N');
  SELECT '1:~success:'+"NewTime"
END
}
  • database/procedures/pears_netclientvacancieslinetimesupdate.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1