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.IQXNetAuthenticate ====== <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"."IQXNetAuthenticate"( /* Application Maintained Function / Procedure - DO NOT EDIT*/ in "SettingsID" char(20),in "UID" char(50),in "PWD" char(50),in "CallType" char(1),in "ProcName" char(100),in "pKey" char(50) ) result( "IQXNetUserID" char(20),"Name" char(50),"IQXNetUserClassID" char(20),"StaffID" char(20),"DatabaseUser" char(50),"ReportsFolder" char(250),"PasswordOk" tinyint,"PermissionOk" tinyint,"Expired" tinyint,"Rights" long varchar,"Switches" long varchar,"LastLoggedIn" timestamp ) begin select "u"."IQXNetUserID", "u"."Name", "u"."IQXNetUserClassID", "isnull"("u"."Staffid","c"."DefaultStaffID","s"."DefaultStaffID") as "StaffID", "isnull"("c"."DatabaseUser","s"."DefaultDatabaseUser") as "DatabaseUser", "isnull"("c"."ReportsFolder","s"."DefaultReportsFolder") as "ReportsFolder", (if cast("PWD" as binary) = "decrypt"("u"."Password","pKey") then 1 else 0 endif) as "PasswordOk", (case "CallType" when 'S' then "c"."Selects" when 'P' then "IQXNetAllowed"("ProcName","c"."Calls") when 'W' then "IQXNetAllowed"("ProcName","c"."Services") when 'J' then "IQXNetAllowed"("ProcName","c"."Jobs") when 'A' then "IQXNetHasPermission"("u"."IQXNetUserID",'LOGIN') end) as "PermissionOk", (if "isnull"("u"."ExpiryDate",current date+1) <= current date then 1 else 0 endif) as "Expired", (if "CallType" = 'A' then (select "list"("a"."IQXNetRightID") from "IQXNetRightAllowed" as "a" where "isnull"((select first "Assigned" from "IQXNetRightAssigned" where "IQXNetRightID" = "a"."IQXNetRightID" and "IQXNetUserID" = "u"."IQXNetUserID"),0) +"isnull"((select first 1 from "IQXNetRightDefault" where "IQXNetRightID" = "a"."IQXNetRightID" and "IQXNetUserClassID" = "a"."IQXNetUserClassID" and "ID" = "a"."ID"),0) > 0 and "a"."IQXNetUserClassID" = "u"."IQXNetUserClassID" and "a"."ID" = '*') else null endif) as "Rights", (if "CallType" = 'A' then (select "list"("IQXNetSwitchID") from "IQXNetSwitch" where "IQXNetOverrideSwitchValue"("u"."IQXNetUserClassID","u"."IQXNetUserID","IQXNetSwitchID","Value") > 0) else null endif) as "Switches","u"."LastLoggedIn" from "IQXNetUser" as "u" key join "IQXNetUserClass" as "c" join "IQXNetSettings" as "s" on "s"."IQXNetSettingsID" = "SettingsID" where "u"."LoginID" = "UID" end go COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."IQXNetAuthenticate" IS {create procedure IQXNetAuthenticate /* Application Maintained Function / Procedure - DO NOT EDIT*/ (in SettingsID char(20),in UID char(50),in PWD char(50),in CallType char(1),in ProcName char(100),in pKey char(50)) result(IQXNetUserID char(20),Name char(50),IQXNetUserClassID char(20),StaffID char(20),DatabaseUser char(50),ReportsFolder char(250),PasswordOk tinyint,PermissionOk tinyint,Expired tinyint,Rights long varchar,Switches long varchar,LastLoggedIn timestamp) begin select u.IQXNetUserID, u.Name, u.IQXNetUserClassID, isnull(u.Staffid,c.DefaultStaffID,s.DefaultStaffID) as StaffID, isnull(c.DatabaseUser,s.DefaultDatabaseUser) as DatabaseUser, isnull(c.ReportsFolder,s.DefaultReportsFolder) as ReportsFolder, (if cast(PWD as binary) = decrypt(u.Password,pKey) then 1 else 0 endif) as PasswordOk, (case CallType when 'S' then c.Selects when 'P' then IQXNetAllowed(ProcName,c.Calls) when 'W' then IQXNetAllowed(ProcName,c.Services) when 'J' then IQXNetAllowed(ProcName,c.Jobs) when 'A' then IQXNetHasPermission(u.IQXNetUserID,'LOGIN') end) as PermissionOk, (if isnull(u.ExpiryDate,current date+1) <= current date then 1 else 0 endif) as Expired, (if CallType = 'A' then (select list(a.IQXNetRightID) from IQXNetRightAllowed as a where isnull((select first Assigned from IQXNetRightAssigned where IQXNetRightID = a.IQXNetRightID and IQXNetUserID = u.IQXNetUserID),0)+ isnull((select first 1 from IQXNetRightDefault where IQXNetRightID = a.IQXNetRightID and IQXNetUserClassID = a.IQXNetUserClassID and ID = a.ID),0) > 0 and a.IQXNetUserClassID = u.IQXNetUserClassID and a.ID = '*') else null endif) as Rights, (if CallType = 'A' then (select list(IQXNetSwitchID) from IQXNetSwitch where IQXNetOverrideSwitchValue(u.IQXNetUserClassID,u.IQXNetUserID,IQXNetSwitchID,Value)>0) else null endif) as Switches, u.LastLoggedIn from IQXNetUser as u key join IQXNetUserClass as c join IQXNetSettings as s on s.IQXNetSettingsID = SettingsID where u.LoginID = UID end } </code> database/procedures/pears_iqxnetauthenticate.txt Last modified: 2026/08/07 19:24by 127.0.0.1