DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBU_DAC_CRITERIA_PKG

Source


1 PACKAGE BODY IBU_DAC_Criteria_PKG AS
2 /* $Header: ibudacb.pls 115.7 2002/11/28 00:23:06 nazhou noship $ */
3 FUNCTION GetDACCriteria(
4   UserName   in  varchar2,
5   PermissionName   in  varchar2,
6   UserID   in  varchar2
7 ) return varchar2 is
8     daccriteria varchar2(2000) :=null;
9     l_string varchar2(2000);
10     counter integer;
11     account_id integer;
12     company_id integer;
13     customer_id integer;
14     company_name varchar(360);
15   cursor l_types_csr is
16     select property_value from jtf_dac_role_perm_crit where jtf_dac_role_perm_crit.JTF_AUTH_PRINCIPAL_ID in
17     (select JTF_AUTH_PRINCIPAL_ID from jtf_auth_principals_b where JTF_AUTH_PRINCIPAL_ID
18     in (
19     select unique(JTF_AUTH_PRINCIPAL_ID) from jtf_auth_role_perms
20     where jtf_auth_role_perms.JTF_AUTH_PERMISSION_ID in(
21     select JTF_AUTH_PERMISSION_ID
22     from jtf_auth_read_perms where jtf_auth_read_perms.jtf_auth_principal_name  = UserName )
23     and jtf_auth_principals_b.DAC_ROLE_FLAG ='1')) and jtf_dac_role_perm_crit.PERMISSION_NAME = PermissionName;
24     begin
25 
26         account_id := IBU_HOME_PAGE_PVT.get_account_id_from_user(UserID);
27         company_id := IBU_HOME_PAGE_PVT.get_company_id_from_user(UserID);
28         customer_id := IBU_HOME_PAGE_PVT.get_customer_id_from_user(UserID);
29         company_name := IBU_HOME_PAGE_PVT.get_company_name_from_user(UserID);
30 
31         counter := 0;
32 
33         for rec in l_types_csr loop
34             if counter = 0
35             then
36                 l_string := rec.property_value;
37             else
38                 l_string := ' OR ' || rec.property_value;
39             end if;
40         end loop;
41 
42         l_string := replace(l_string, '&'||'&'||'USER_ID', UserID);
43 
44         l_string := replace(l_string, '&'||'&'||'COMPANY_ID', company_id);
45 
46         l_string := replace(l_string, '&'||'&'||'USER_CURRENT_ACCT_ID', account_id);
47 
48         l_string := replace(l_string, '&'||'&'||'PARTY_ID', customer_id);
49 
50 
51         daccriteria := l_string;
52 
53         return daccriteria;
54 
55     end GetDACCriteria;
56 
57 
58 FUNCTION CheckPermission(
59   PermissionName   in  varchar2,
60   PRINCIPAL_NAME   in  varchar2
61 ) return boolean is
62     result varchar2(2000) := 'FALSE';
63     l_string varchar2(2000);
64   cursor l_types_csr is
65     select jtf_auth_read_perms.JTF_AUTH_PERMISSION_ID from jtf_auth_read_perms where
66     jtf_auth_read_perms.JTF_AUTH_PRINCIPAL_NAME in (select jtf_auth_principals_b.PRINCIPAL_NAME
67     from jtf_auth_principals_b where jtf_auth_principals_b.PRINCIPAL_NAME = PRINCIPAL_NAME)
68     and jtf_auth_read_perms.JTF_AUTH_PERMISSION_NAME = PermissionName;
69 
70     begin
71 
72         for rec in l_types_csr loop
73             return true;
74 
75         end loop;
76 
77         return false;
78 
79     end CheckPermission;
80 
81 
82 
83 end IBU_DAC_Criteria_PKG;
84