pears.TempDeskCustomColumn

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"."TempDeskCustomColumn" IS 
{CREATE FUNCTION TempDeskCustomColumn(IN DeskID CHAR(20),IN RecordType CHAR(2),IN RecordID CHAR(20), IN ColNo TinyInt, IN DeptID CHAR(2) DEFAULT NULL) 
RETURNS CHAR(100)
BEGIN
  -- DeskID will be % if Temp Desk selection = All
  -- RecordType P=Person V=Vacancy L=Placement T=Timesheet TP=Provisional Timesheet
  -- RecordID=null means return column heading for RecordType P, V, L or T, or null if custom column not wanted
  -- RecordID=personid, vacancyid, placementid, temptimesheetid or tempprovtimesheetid according to RecordType
  DECLARE "rv" CHAR(100);
  SET "rv" = NULL;
  IF "recordid" IS NULL THEN
    IF "recordtype" = 'V' THEN
      CASE "colno"
      WHEN 1 THEN SET "rv" = ' PO Ref '
      END CASE
    END IF;
    IF "recordtype" = 'L' THEN
      CASE "colno"
      WHEN 1 THEN SET "rv" = ' PO Ref '
      END CASE
    END IF;
    IF "recordtype" = 'T' THEN
      CASE "colno"
      WHEN 1 THEN SET "rv" = '  Pay Details  '
      WHEN 2 THEN SET "rv" = '  Processing Details  '
      END CASE
    END IF;
    RETURN "rv"
  END IF;
  IF "recordtype" = 'V' THEN
    CASE "colno"
    WHEN 1 THEN SELECT FIRST "TheirRef" INTO "rv" FROM "vacancy" WHERE "vacancyid" = "recordid"
    END CASE
  END IF;
  IF "recordtype" = 'L' THEN
    CASE "colno"
    WHEN 1 THEN SELECT FIRST "TheirRef" INTO "rv" FROM "Placement" WHERE "placementid" = "recordid"
    END CASE
  END IF;
  IF "recordtype" = 'TP' THEN
    CASE "colno"
    WHEN 1 THEN SELECT top 1
        IF "taxmethod" > 1 THEN "isnull"((SELECT "companyname" FROM "pay_employee" KEY JOIN "Person" KEY JOIN "tempprovtimesheet" WHERE "tempprovtimesheetid" = "recordid"),'CHECK PAYROLL RE TAX') ELSE 'PAYE' endif INTO "rv" FROM "pay_employee" KEY JOIN "person" KEY JOIN "tempprovtimesheet" WHERE "tempprovtimesheetid" = "recordid" ORDER BY 1 DESC
    WHEN 2 THEN(SELECT FIRST "TheirRef" INTO "rv" FROM "tempprovtimesheet" WHERE "tempprovtimesheetid" = "recordid")
    END CASE
  END IF;
  IF "recordtype" = 'T' THEN
    CASE "colno"
    WHEN 1 THEN SELECT top 1
        IF "temptimesheet"."taxmethod" > 1 THEN "isnull"((SELECT "companyname" FROM "pay_employee" KEY JOIN "Person" KEY JOIN "temptimesheet" WHERE "temptimesheetid" = "recordid"),'CHECK PAYROLL RE TAX') ELSE 'PAYE' endif INTO "rv" FROM "pay_employee" KEY JOIN "person" KEY JOIN "temptimesheet" WHERE "temptimesheetid" = "recordid" ORDER BY 1 DESC
    WHEN 2 THEN SET "rv" = "string"('Tr: ',(SELECT FIRST "isnull"("TransferBatch",0) FROM "temptimesheet" WHERE "temptimesheetid" = "recordid"),
        '  Inv: ',(SELECT FIRST "OurRef" INTO "rv" FROM "iqacdocument" KEY JOIN "iqacjournal" AS "j" JOIN "temptimesheetline" AS "TL" ON "j"."xref" = 'T' AND "j"."xrefid" = "TL"."temptimesheetlineid" WHERE "TL"."temptimesheetid" = "recordid"))
    END CASE
  END IF;
  RETURN "rv"
END
}
  • database/procedures/pears_tempdeskcustomcolumn.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1