[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