====== pears.NetQuestSet ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
create procedure "pears"."NetQuestSet"( in "pWebUserID" char(20),in "qanswers" long varchar default null,in "pID" char(20) default null,in "pLocation" char(2) default null )
result( "pResult" char(250) )
//IQXWeb
begin
declare "userclass" char(20);
select "iqxnetuserclassid" into "userclass" from "iqxnetuser" where "iqxnetuserid" = "pwebuserid";
if "pID" is null then
if "userclass" = 'CANDIDATE' then
set "pID" = "NetCandidateValidPersonID"("pWebUserID",null)
else if "userclass" = 'CLIENT' then
if(select "count"() from "iqxnetuserlink" where "iqxnetuserid" = "pwebuserid") = 1 then
set "pID" = (select first "employment"."companyid" from "iqxnetuserlink" key join "employment" where "iqxnetuserlink"."iqxnetuserid" = "pwebuserid" order by 1 asc)
end if end if end if;
if "pID" is null then
select '1:~No default ID found';
return
end if end if;
if "NetHasPermission"("pWebUserID","pID","pID") = 1 then
call "IQXNetSaveQuestionnaire"("pID","qanswers","pLocation");
select '0:~Success'
else
select '99:~Permission denied'
end if
end /* DOC
2018-07-30 PC IW-513 Improve error handling
2018-10-22 MHS IW-456 multi-cand fix and tests
*/
/* TEST
select * from NetQuestSet('test.candidate','','~~','~~~');
expect pResult=99:*;
select * from NetQuestSet('test.candidate','',null,'~~~');
expect pResult=0:*;
select * from NetQuestSet('test.client','',null,'~~~');
expect pResult=0:*;
insert into iqxnetuserlink (iqxnetuserlinkid,iqxnetuserid,employmentid) values ('TESTXXX', 'test.client', 'TEST');
select * from NetQuestSet('test.client','',null,'~~~');
expect pResult=1:*;
delete from iqxnetuserlink where iqxnetuserlinkid='TESTXXX';
*/
go
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetQuestSet" IS
{create PROCEDURE pears."NetQuestSet"(in pWebUserID char(20),in qanswers long varchar default null,in pID char(20) default null, in pLocation char(2) default null)
result(pResult char(250))
//IQXWeb
begin
declare userclass char(20);
select iqxnetuserclassid into userclass from iqxnetuser where iqxnetuserid=pwebuserid;
if pID is null then
if userclass='CANDIDATE' then
set pID=NetCandidateValidPersonID(pWebUserID,null);
else if userclass='CLIENT' then
if (select count(*) from iqxnetuserlink where iqxnetuserid = pwebuserid)=1 then
set pID=(select first employment.companyid from iqxnetuserlink key join employment where iqxnetuserlink.iqxnetuserid = pwebuserid order by 1);
end if;
end if;
end if;
if pID is null then
select '1:~No default ID found';
return;
end if;
end if;
if NetHasPermission(pWebUserID,pID,pID)=1 then
call IQXNetSaveQuestionnaire(pID,qanswers,pLocation);
select '0:~Success';
else
select '99:~Permission denied';
end if;
end
/* DOC
2018-07-30 PC IW-513 Improve error handling
2018-10-22 MHS IW-456 multi-cand fix and tests
*/
/* TEST
select * from NetQuestSet('test.candidate','','~~','~~~');
expect pResult=99:*;
select * from NetQuestSet('test.candidate','',null,'~~~');
expect pResult=0:*;
select * from NetQuestSet('test.client','',null,'~~~');
expect pResult=0:*;
insert into iqxnetuserlink (iqxnetuserlinkid,iqxnetuserid,employmentid) values ('TESTXXX', 'test.client', 'TEST');
select * from NetQuestSet('test.client','',null,'~~~');
expect pResult=1:*;
delete from iqxnetuserlink where iqxnetuserlinkid='TESTXXX';
*/
}