pears.NetCandidateBankDetails

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

Original SQL

CREATE PROCEDURE "pears"."NetCandidateBankDetails"( IN "pWebUserID" CHAR(20),IN "pPersonID" CHAR(20) DEFAULT NULL ) 
RESULT( "BankName" CHAR(30),"BankSortCode" CHAR(8),"BankAcName" CHAR(50),"BankAcNo" CHAR(8),"BankRef" CHAR(20),"ni" CHAR(20),"TaxMethod" INTEGER,"HideDetails" INTEGER ) 
// IQXWeb
BEGIN
  SET "pPersonID" = "NetCandidateValidPersonID"("pWebUserID","pPersonID");
  IF "IQXNetHasPermission"("pWebUserID",'CANDBANKDETAILSVIEW') = 0 THEN
    RETURN
  END IF;
  SELECT "e"."BankName",
    "e"."BankSortCode",
    "e"."BankAcName",
    "string"("replicate"('*',"length"("e"."bankacno")-2),"right"("e"."bankacno",2)),
    "e"."BankRef",
    "ni",
    "e"."taxmethod",
    (IF "e"."TaxMethod" = 1 THEN 0 ELSE 1 endif) AS "HideDetails"
    FROM "person" KEY LEFT OUTER JOIN "Pay_Employee" AS "e"
    WHERE "person"."personid" = "pPersonID"
END /* DOC
 
2016-10-12 PC procedure to return bank details for candidate
2017-01-17 PC provide flag to hide all details other than paye, to avoid candidates being able to edit payment agencies details.
2017-09-26 PC include tax details
2017-10-24 PC alter size of tax parameters
2018-04-24 PC add column to hide tax type tab
2018-05-06 PC IW-503 only display last two digits of bank code
2018-10-10 MHS IW-456 multi-cand fix and tests
2019-4-9 MHS strip out rogue tax code rubbish
 
Tests:
Valid pWebUserID without read permission
Valid pWebUserID with read permission
 
Flag names:
CandBankDetailsView
 
*/
/* TEST
NetTestSetup('');
insert into pay_employee (Personid,bankname,banksortcode,BankAcName,BankAcNo,BankRef,secondaryagencyid) on existing update defaults off values ('TEST','TestBank','99-99-99','TestTest','09988776','TestRef','TEST');
insert into iqxnetright (IQXNetRightID,Description,sortorder) on existing update defaults off values ('CANDBANKDETAILSVIEW','View candidate bank details',998);
insert into iqxnetrightallowed (iqxnetrightid,iqxnetuserclassid,id,maintainonweb) on existing update defaults off values ('CANDBANKDETAILSVIEW','CANDIDATE','*',1);
select * from NetCandidateBankDetails(null);
expect EOF;
select * from NetCandidateBankDetails(null);
expect EOF;
insert into iqxnetrightassigned (iqxnetuserid,iqxnetrightid,assigned) on existing update defaults off values ('test.candidate','candbankdetailsview',1);
select * from "NetCandidateBankDetails"("pWebUserID" = 'test.candidate');
expect BankName=TestBank,BankSortCode=99-99-99,BankAcName=TestTest,BankAcNo=******76,BankRef=TestRef;
delete from iqxnetrightassigned where iqxnetuserid='test.candidate' and iqxnetrightid='candbankdetailsview';
*/
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetCandidateBankDetails" IS 
{CREATE PROCEDURE pears."NetCandidateBankDetails"( IN "pWebUserID" CHAR(20), IN pPersonID CHAR(20) DEFAULT NULL ) 
RESULT("BankName" CHAR(30),"BankSortCode" CHAR(8),"BankAcName" CHAR(50),"BankAcNo" CHAR(8),"BankRef" CHAR(20), ni CHAR(20),TaxMethod INTEGER, "HideDetails" INTEGER) 
// IQXWeb
BEGIN
    SET pPersonID=NetCandidateValidPersonID(pWebUserID,pPersonID);
    IF "IQXNetHasPermission"("pWebUserID",'CANDBANKDETAILSVIEW') = 0 THEN
        RETURN;
    END IF;
    SELECT 
        e."BankName",
        e."BankSortCode",
        e."BankAcName",
        string(replicate('*',LENGTH(e.bankacno)-2),RIGHT(e.bankacno,2)),
        e.BankRef,
        ni,
        e.taxmethod,
        (IF e.TaxMethod = 1 THEN 0 ELSE 1 endif) AS HideDetails
    FROM 
        person KEY LEFT OUTER JOIN "Pay_Employee" AS e
    WHERE 
        person.personid=pPersonID
END
 
/* DOC
 
2016-10-12 PC procedure to return bank details for candidate
2017-01-17 PC provide flag to hide all details other than paye, to avoid candidates being able to edit payment agencies details.
2017-09-26 PC include tax details
2017-10-24 PC alter size of tax parameters
2018-04-24 PC add column to hide tax type tab
2018-05-06 PC IW-503 only display last two digits of bank code
2018-10-10 MHS IW-456 multi-cand fix and tests
2019-4-9 MHS strip out rogue tax code rubbish
 
Tests:
	Valid pWebUserID without read permission
	Valid pWebUserID with read permission
 
Flag names:
	CandBankDetailsView
 
*/
 
/* TEST
NetTestSetup('');
insert into pay_employee (Personid,bankname,banksortcode,BankAcName,BankAcNo,BankRef,secondaryagencyid) on existing update defaults off values ('TEST','TestBank','99-99-99','TestTest','09988776','TestRef','TEST');
insert into iqxnetright (IQXNetRightID,Description,sortorder) on existing update defaults off values ('CANDBANKDETAILSVIEW','View candidate bank details',998);
insert into iqxnetrightallowed (iqxnetrightid,iqxnetuserclassid,id,maintainonweb) on existing update defaults off values ('CANDBANKDETAILSVIEW','CANDIDATE','*',1);
select * from NetCandidateBankDetails(null);
expect EOF;
select * from NetCandidateBankDetails(null);
expect EOF;
insert into iqxnetrightassigned (iqxnetuserid,iqxnetrightid,assigned) on existing update defaults off values ('test.candidate','candbankdetailsview',1);
select * from "NetCandidateBankDetails"("pWebUserID" = 'test.candidate');
expect BankName=TestBank,BankSortCode=99-99-99,BankAcName=TestTest,BankAcNo=******76,BankRef=TestRef;
delete from iqxnetrightassigned where iqxnetuserid='test.candidate' and iqxnetrightid='candbankdetailsview';
*/
}