====== pears.NetCandidateValidPersonID ====== Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. ===== Original SQL ===== create function "pears"."NetCandidateValidPersonID"( in "pWebUserID" char(20),in "pPersonID" char(20) default null ) returns char(20) begin declare "rv" char(20); set "pPersonID" = "nullif"("trim"("pPersonID"),''); if "pPersonID" is null then -- Return a valid personid only if a unique one is available if(select "count"() from "iqxnetuserlink" as "l" key join "person" as "p" where "p"."status" <> '.' and "l"."IQXNetUserID" = "pWebUserID") = 1 then set "rv" = (select first "p"."PersonID" from "iqxnetuserlink" as "l" key join "person" as "p" where "p"."status" <> '.' and "l"."IQXNetUserID" = "pWebUserID" order by 1 asc) -- Validate the supplied personid end if else set "rv" = (select first "PersonID" from "iqxnetuserlink" where "PersonID" = "pPersonID" and "IQXNetUserID" = "pWebUserID" order by 1 asc) end if; return "rv" end /* DOC 2018-10-19 MHS created for IW-456 2018-12-19 MHS now exclude archived records */ /* TEST call NetTestSetup(''); select isnull(NetCandidateValidPersonID(null),'NULL'); expect NULL; select isnull(NetCandidateValidPersonID('test.client'),'NULL'); expect NULL; select isnull(NetCandidateValidPersonID('test.candidate'),'NULL'); expect TEST; insert into iqxnetuserlink (iqxnetuserlinkid, personid, iqxnetuserid) values ('TEST_XX1','TEST', 'TEST.CANDIDATE'); select isnull(NetCandidateValidPersonID('test.candidate'),'NULL'); expect NULL; select isnull(NetCandidateValidPersonID('test.candidate','TEST'),'NULL'); expect TEST; delete from iqxnetuserlink where iqxnetuserlinkid='TEST_XX1'; */