====== 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;
*/
}