pears.NetCandidateDivisionID

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

Original SQL

CREATE PROCEDURE "pears"."NetCandidateDivisionID"( IN "pWebUserID" CHAR(20),IN "pPersonID" CHAR(20) DEFAULT NULL ) 
RESULT( "divisionID" CHAR(20) ) 
BEGIN
  DECLARE "badPersonID" exception FOR sqlstate VALUE '99009';
  SET "pPersonID" = "NetCandidateValidPersonID"("pWebUserID","pPersonID");
  IF "pPersonID" IS NULL THEN
    signal "badPersonID"
  END IF;
  SELECT "p"."divisionid"
    FROM "person" AS "p"
    WHERE "p"."personid" = "pPersonID"
END /* DOC
2018-12-12 PC return DivisionID for a person. if pPersonID is present then returns divisionID of that person, otherwise returns divisionID of pWebUserID 
2018-12-17 MHS enforce standard candidate checking. Raise exception if invalid or ambiguous.
*/
/* TEST
select divisionid from NetCandidateDivisionID('test.candidate',null);
expect divisionid=TEST;
select divisionid from NetCandidateDivisionID('test.candidate','TEST');
expect divisionid=TEST;
*/
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetCandidateDivisionID" IS 
{CREATE PROCEDURE pears."NetCandidateDivisionID"(IN pWebUserID CHAR(20),IN pPersonID CHAR(20) DEFAULT NULL)
RESULT( divisionID CHAR(20))
BEGIN
  DECLARE badPersonID EXCEPTION FOR SQLSTATE '99009';
  SET pPersonID=NetCandidateValidPersonID(pWebUserID,pPersonID);
  IF pPersonID IS NULL THEN
      SIGNAL badPersonID;
  END IF;
  SELECT  
      p.divisionid 
  FROM 
      person p 
  WHERE 
      p.personid=pPersonID; 
END
 
/* DOC
2018-12-12 PC return DivisionID for a person. if pPersonID is present then returns divisionID of that person, otherwise returns divisionID of pWebUserID 
2018-12-17 MHS enforce standard candidate checking. Raise exception if invalid or ambiguous.
*/
 
/* TEST
select divisionid from NetCandidateDivisionID('test.candidate',null);
expect divisionid=TEST;
select divisionid from NetCandidateDivisionID('test.candidate','TEST');
expect divisionid=TEST;
*/
}