Show pageOld revisionsBacklinksExport to PDFFold/unfold allBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== pears.FuzeLookUpPhone ====== <WRAP center round info> Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. </WRAP> ===== Original SQL ===== <code sql> create procedure "pears"."FuzeLookUpPhone"( /* Application Maintained Function / Procedure - DO NOT EDIT*/ in @Number char(100) ) result( "RecordType" char(1), "RecordTypeDescription" char(20), "RecordID" char(20), "NumberType" char(25), "RecordName" varchar(93), "AddressLine1" char(40), "Town" char(30), "EmailAddress" long varchar, "SortName" char(100), "CompanyID" char(20), "Position" char(50), "TotalRows" integer ) begin select "RecordType","RecordTypeDescription","RecordID","NumberType","RecordName","AddressLine1","Town","EmailAddress","SortName","CompanyID","Position","count"() over() as "TotalRows" from(select 'C' as "RecordType", (select "CompanyName" from "Params") as "RecordTypeDescription", "Phone"."WhoID" as "RecordID", "isnull"("DisplayName","PhoneType"."Name") as "NumberType", "Company"."Name" as "RecordName", "Company"."Addr1" as "AddressLine1", "Company"."Town" as "Town", null as "EmailAddress", "Company"."KeyName" as "SortName", null as "CompanyID", null as "Position" from "Phone" key join "PhoneType" join "Company" on "Company"."CompanyID" = "Phone"."WhoID" join "DivisionsAllowed" on "Company"."DivisionID" = "DivisionsAllowed"."DivisionID" where "length"("Phone"."NumberDigits") > 10 and "Phone"."Who" = 'C' and "locate"("PhoneType"."Capabilities",'D') > 0 and "phone"."NumberDialable" = @Number union all select 'P' as "RecordType", (select "ApplicantName" from "Params") as "RecordTypeDescription", "PersonID" as "RecordID", "isnull"("PhoneType"."DisplayName","PhoneType"."Name") as "NumberType", "Person"."Name" as "RecordName", "Person"."Addr1" as "AddressLine1", "Person"."Town" as "Town", (select "nullif"("list"("ep"."Number"),'') from "Phone" as "ep" key join "PhoneType" as "ept" where "ep"."Who" = 'P' and "ep"."WhoID" = "RecordID" and "ept"."Capabilities" like '%E%') as "EmailAddress", "Person"."KeyName" as "SortName", null as "CompanyID", (select "Status"."Name" from "Status" where "Status"."Type" = 'P' and "Status"."Status" = "Person"."Status") as "Position" from "Phone" key join "PhoneType" join "Person" on "Person"."PersonID" = "Phone"."WhoID" join "DivisionsAllowed" on "Person"."DivisionID" = "DivisionsAllowed"."DivisionID" where "length"("Phone"."NumberDigits") > 10 and "Phone"."Who" = 'P' and "locate"("PhoneType"."Capabilities",'D') > 0 and "Phone"."NumberDialable" = @Number union all select 'E' as "RecordType", (select "CoPersonName" from "Params") as "RecordTypeDescription", "Employment"."EmploymentID" as "RecordID", "isnull"("PhoneType"."DisplayName","PhoneType"."Name") as "NumberType", "string"("Company"."Name",' - ',"Person"."Name") as "RecordName", "Company"."Addr1" as "AddressLine1", "Company"."Town" as "Town", (select "nullif"("list"("ep"."Number"),'') from "Phone" as "ep" key join "PhoneType" as "ept" where "ep"."Who" = 'CP' and "ep"."WhoID" = "RecordID" and "ept"."Capabilities" like '%E%') as "EmailAddress", "Company"."KeyName" as "SortName", "Company"."CompanyID", "Employment"."Position" as "Position" from "Phone" key join "PhoneType" join "Employment" on "Phone"."WhoID" = "Employment"."EmploymentID" key join("Person","Company") join "DivisionsAllowed" on "Company"."DivisionID" = "DivisionsAllowed"."DivisionID" where "length"("Phone"."NumberDigits") > 10 and "Phone"."Who" = 'CP' and "locate"("PhoneType"."Capabilities",'D') > 0 and "Phone"."NumberDialable" = @Number union all select 'S' as "RecordType", 'Staff' as "RecordTypeDescription", "Staff"."StaffID" as "RecordID", 'Mobile / Direct' as "NumberType", "Staff"."Name" as "RecordName", null as "AddressLine1", null as "Town", "Staff"."Email" as "EmailAddress", "Staff"."KeyName" as "SortName", null as "CompanyID", "Staff"."Title" as "Position" from "Staff" where("Staff"."Mobile" = @Number or "Staff"."ExtensionNumber" = @Number)) as "Q" order by "Q"."SortName" asc end go COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."FuzeLookUpPhone" IS {create procedure FuzeLookUpPhone /* Application Maintained Function / Procedure - DO NOT EDIT*/ (IN @Number char(100)) RESULT ( RecordType char(1), RecordTypeDescription char(20), RecordID char(20), NumberType char(25), RecordName varchar(93), AddressLine1 char(40), Town char(30), EmailAddress long varchar, SortName char(100), CompanyID char(20), Position char(50), TotalRows int ) BEGIN SELECT RecordType, RecordTypeDescription, RecordID, NumberType, RecordName, AddressLine1, Town, EmailAddress, SortName, CompanyID, Position, count(*) OVER () as TotalRows FROM ( SELECT 'C' as RecordType, (select CompanyName from Params) as RecordTypeDescription, Phone.WhoID as RecordID, isnull(DisplayName,PhoneType.[Name]) as NumberType, Company.[Name] as RecordName, Company.Addr1 as AddressLine1, Company.Town as Town, null as EmailAddress, Company.KeyName as SortName, null as CompanyID, null as Position FROM Phone key join PhoneType join Company on Company.CompanyID = Phone.WhoID join DivisionsAllowed on Company.DivisionID = DivisionsAllowed.DivisionID WHERE length(Phone.NumberDigits) > 10 and Phone.Who='C' and locate(PhoneType.Capabilities,'D') > 0 and phone.NumberDialable = @Number UNION ALL SELECT 'P' as RecordType, (select ApplicantName from Params) as RecordTypeDescription, PersonID as RecordID, isnull(PhoneType.DisplayName,PhoneType.[Name]) as NumberType, Person.[Name] as RecordName, Person.Addr1 as AddressLine1, Person.Town as Town, (select nullif(list(ep.Number),'') from Phone ep key join PhoneType ept where ep.Who = 'P' and ep.WhoID = RecordID and ept.Capabilities like '%E%' ) as EmailAddress, Person.KeyName as SortName, null as CompanyID, (select Status.[Name] from Status where Status.[Type] = 'P' and Status.Status = Person.Status) as Position FROM Phone key join PhoneType join Person on Person.PersonID = Phone.WhoID join DivisionsAllowed on Person.DivisionID = DivisionsAllowed.DivisionID WHERE length(Phone.NumberDigits) > 10 and Phone.Who='P' and locate(PhoneType.Capabilities,'D') > 0 and Phone.NumberDialable = @Number UNION ALL SELECT 'E' as RecordType, (select CoPersonName from Params) as RecordTypeDescription, Employment.EmploymentID as RecordID, isnull(PhoneType.DisplayName,PhoneType.[Name]) as NumberType, string(Company.[Name],' - ',Person.[Name]) as RecordName, Company.Addr1 as AddressLine1, Company.Town as Town, (select nullif(list(ep.Number),'') from Phone ep key join PhoneType ept where ep.Who = 'CP' and ep.WhoID = RecordID and ept.Capabilities like '%E%' ) as EmailAddress, Company.KeyName as SortName, Company.CompanyID, Employment.Position as Position FROM Phone key join PhoneType join Employment on Phone.WhoID = Employment.EmploymentID key join (Person,Company) join DivisionsAllowed on Company.DivisionID = DivisionsAllowed.DivisionID WHERE length(Phone.NumberDigits)>10 and Phone.Who='CP' and locate(PhoneType.Capabilities,'D') > 0 and Phone.NumberDialable = @Number UNION ALL SELECT 'S' as RecordType, 'Staff' as RecordTypeDescription, Staff.StaffID as RecordID, 'Mobile / Direct' as NumberType, Staff.[Name] as RecordName, null as AddressLine1, null as Town, Staff.Email as EmailAddress, Staff.KeyName as SortName, null as CompanyID, Staff.Title As Position FROM Staff WHERE (Staff.Mobile = @Number OR Staff.ExtensionNumber = @Number) ) Q ORDER BY Q.SortName; END } </code> database/procedures/pears_fuzelookupphone.txt Last modified: 2026/08/07 19:24by 127.0.0.1