pears.NetOwnerEmployeeEdit

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

Original SQL

CREATE PROCEDURE "pears"."NetOwnerEmployeeEdit"( IN "pWebUserID" CHAR(20),IN "pObjID" CHAR(20),IN "pParentObject" CHAR(20),IN "pForenames" CHAR(50) DEFAULT NULL,IN "pSurname" CHAR(50) DEFAULT NULL,IN "pSalutation" CHAR(50) DEFAULT NULL,IN "pDirect_Phone" CHAR(50) DEFAULT NULL,IN "pMobile" CHAR(50) DEFAULT NULL,IN "pEmail" CHAR(50) DEFAULT NULL,IN "pDirect_Fax" CHAR(50) DEFAULT NULL,IN "pPosition" CHAR(50) DEFAULT NULL,IN "pDepartment" CHAR(50) DEFAULT NULL,IN "pNotes" CHAR(100) DEFAULT NULL,
  IN "pOldForenames" CHAR(50) DEFAULT NULL,IN "pOldSurname" CHAR(50) DEFAULT NULL,IN "pOldSalutation" CHAR(50) DEFAULT NULL,IN "pOldDirect_Phone" CHAR(50) DEFAULT NULL,IN "pOldMobile" CHAR(50) DEFAULT NULL,IN "pOldEmail" CHAR(50) DEFAULT NULL,IN "pOldDirect_Fax" CHAR(50) DEFAULT NULL,IN "pOldPosition" CHAR(50) DEFAULT NULL,IN "pOldDepartment" CHAR(50) DEFAULT NULL,IN "pOldNotes" CHAR(100) DEFAULT NULL ) 
RESULT( "pResult" CHAR(250) ) 
BEGIN
  DECLARE "PersID" CHAR(20);
  DECLARE "ssql" CHAR(255);
  DECLARE "divid" CHAR(20);
  SET "divid" = (SELECT FIRST "staff"."divisionid" FROM "iqxnetuser" KEY JOIN "staff" WHERE "iqxnetuser"."iqxnetuserid" = "pwebuserid");
  IF "divid" IS NULL THEN
    SELECT '99:~Permission denied';
    RETURN
  END IF;
  IF "IQXNetHasPermission"("pWebUserID",'ADDCANDIDATES') = 0 THEN
    SELECT '99:~Permission denied';
    RETURN
  END IF;
  IF "pForenames" = '' OR "pSurname" = '' THEN
    SELECT '101:~Please ensure there is both a Forename and a Surname';
    RETURN
  END IF;
  IF("pObjID" = '') THEN
    SET "PersID" = "uniquekey"("pForenames"+"pSurname");
    INSERT INTO "person"( "personid","name","keyname","salutation","forenames","surname","status" ) VALUES( "PersID","pForenames"+' '+"pSurname","ucase"("pForenames")+' '+"ucase"("pSurname"),"pSalutation","pForenames","pSurname",'C' ) ;
    INSERT INTO "employment"( "employmentid","personid","companyid","temp" ) VALUES( "PersID","PersID","pParentObject",'0' ) 
  ELSE
    SET "PersID" = "pObjID";
    UPDATE "person" SET "forenames" = "pForenames","surname" = "pSurname","name" = "pForenames"+' '+"pSurname","keyname" = "ucase"("pForenames")+' '+"ucase"("pSurname"),"salutation" = "pSalutation" WHERE "personid" = "PersID"
  END IF;
  IF "pNotes" <> "pOldNotes" THEN
    UPDATE "employment" SET "note" = "pNotes" WHERE "personid" = "PersID"
  END IF;
  IF "pPosition" <> "pOldPosition" THEN
    UPDATE "employment" SET "position" = "pPosition" WHERE "personid" = "PersID"
  END IF;
  IF "pDepartment" <> "pOldDepartment" THEN
    UPDATE "employment" SET "department" = "pDepartment" WHERE "personid" = "PersID"
  END IF;
  IF "pDirect_Phone" <> "pOldDirect_Phone" THEN
    CALL "SetPhone"('CP','Direct Telephone',"PersID","pDirect_Phone")
  END IF;
  IF "pMobile" <> "pOldMobile" THEN
    CALL "SetPhone"('CP','Mobile',"PersID","pMobile")
  END IF;
  IF "pEmail" <> "pOldEmail" THEN
    CALL "SetPhone"('CP','E-mail',"PersID","pEmail")
  END IF;
  IF "pDirect_Fax" <> "pOldDirect_Fax" THEN
    CALL "SetPhone"('CP','Direct Fax',"PersID","pDirect_Fax")
  END IF;
  SELECT "string"('0:',"PersID",'#',"pParentObject",'~Success')
END
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetOwnerEmployeeEdit" IS 
{CREATE PROCEDURE pears."NetOwnerEmployeeEdit"( IN "pWebUserID" CHAR(20),IN "pObjID" CHAR(20),IN "pParentObject" CHAR(20),IN "pForenames" CHAR(50) DEFAULT NULL,IN "pSurname" CHAR(50) DEFAULT NULL,IN "pSalutation" CHAR(50) DEFAULT NULL,IN "pDirect_Phone" CHAR(50) DEFAULT NULL,IN "pMobile" CHAR(50) DEFAULT NULL,IN "pEmail" CHAR(50) DEFAULT NULL,IN "pDirect_Fax" CHAR(50) DEFAULT NULL,IN "pPosition" CHAR(50) DEFAULT NULL,IN "pDepartment" CHAR(50) DEFAULT NULL,IN "pNotes" CHAR(100) DEFAULT NULL,
  IN "pOldForenames" CHAR(50) DEFAULT NULL,IN "pOldSurname" CHAR(50) DEFAULT NULL,IN "pOldSalutation" CHAR(50) DEFAULT NULL,IN "pOldDirect_Phone" CHAR(50) DEFAULT NULL,IN "pOldMobile" CHAR(50) DEFAULT NULL,IN "pOldEmail" CHAR(50) DEFAULT NULL,IN "pOldDirect_Fax" CHAR(50) DEFAULT NULL,IN "pOldPosition" CHAR(50) DEFAULT NULL,IN "pOldDepartment" CHAR(50) DEFAULT NULL,IN "pOldNotes" CHAR(100) DEFAULT NULL ) 
RESULT( "pResult" CHAR(250) ) 
BEGIN
  DECLARE "PersID" CHAR(20);
  DECLARE "ssql" CHAR(255);
  DECLARE "divid" CHAR(20);
  SET "divid" = (SELECT FIRST "staff"."divisionid" FROM "iqxnetuser" KEY JOIN "staff" WHERE "iqxnetuser"."iqxnetuserid" = "pwebuserid");
  IF "divid" IS NULL THEN
    SELECT '99:~Permission denied';
    RETURN
  END IF;
  IF "IQXNetHasPermission"("pWebUserID",'ADDCANDIDATES') = 0 THEN
    SELECT '99:~Permission denied';
    RETURN
  END IF;
  IF "pForenames" = '' OR "pSurname" = '' THEN
    SELECT '101:~Please ensure there is both a Forename and a Surname';
    RETURN
  END IF;
  IF("pObjID" = '') THEN
    SET "PersID" = "uniquekey"("pForenames"+"pSurname");
    INSERT INTO "person"( "personid","name","keyname","salutation","forenames","surname","status" ) VALUES( "PersID","pForenames"+' '+"pSurname","ucase"("pForenames")+' '+"ucase"("pSurname"),"pSalutation","pForenames","pSurname",'C' ) ;
    INSERT INTO "employment"( "employmentid","personid","companyid","temp" ) VALUES( "PersID","PersID","pParentObject",'0' ) 
  ELSE
    SET "PersID" = "pObjID";
    UPDATE "person" SET "forenames" = "pForenames","surname" = "pSurname","name" = "pForenames"+' '+"pSurname","keyname" = "ucase"("pForenames")+' '+"ucase"("pSurname"),"salutation" = "pSalutation" WHERE "personid" = "PersID"
  END IF;
  IF "pNotes" <> "pOldNotes" THEN
    UPDATE "employment" SET "note" = "pNotes" WHERE "personid" = "PersID"
  END IF;
  IF "pPosition" <> "pOldPosition" THEN
    UPDATE "employment" SET "position" = "pPosition" WHERE "personid" = "PersID"
  END IF;
  IF "pDepartment" <> "pOldDepartment" THEN
    UPDATE "employment" SET "department" = "pDepartment" WHERE "personid" = "PersID"
  END IF;
  IF "pDirect_Phone" <> "pOldDirect_Phone" THEN
    CALL "SetPhone"('CP','Direct Telephone',"PersID","pDirect_Phone")
  END IF;
  IF "pMobile" <> "pOldMobile" THEN
    CALL "SetPhone"('CP','Mobile',"PersID","pMobile")
  END IF;
  IF "pEmail" <> "pOldEmail" THEN
    CALL "SetPhone"('CP','E-mail',"PersID","pEmail")
  END IF;
  IF "pDirect_Fax" <> "pOldDirect_Fax" THEN
    CALL "SetPhone"('CP','Direct Fax',"PersID","pDirect_Fax")
  END IF;
  SELECT "string"('0:',"PersID",'#',"pParentObject",'~Success')
END
}