[Home] [Help]
PACKAGE BODY: APPS.FND_SIF_POLICY_PROPS_PKG
Source
1 package body FND_SIF_POLICY_PROPS_PKG as
2 /* $Header: FNDSFPPB.pls 120.0.12020000.2 2013/05/03 21:37:35 alsosa noship $ */
3
4 procedure INSERT_ROW (
5 X_DEFINITION_NAME in VARCHAR2,
6 X_POLICY_NAME in VARCHAR2,
7 X_PROP_NAME in VARCHAR2,
8 X_PROP_VALUE in VARCHAR2,
9 X_LAST_UPDATE_DATE in VARCHAR2,
10 X_OWNER in VARCHAR2
11 ) is
12 l_ROWID VARCHAR2(100);
13 l_luby number := FND_LOAD_UTIL.OWNER_ID(X_OWNER);
14 l_ludate date := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
15 cursor C is select ROWID from FND_SIF_POLICY_PROPS
16 where DEFINITION_NAME = X_DEFINITION_NAME
17 and POLICY_NAME = X_POLICY_NAME;
18 begin
19 insert into FND_SIF_POLICY_PROPS (
20 PROP_NAME,
21 PROP_VALUE,
22 POLICY_NAME,
23 DEFINITION_NAME,
24 CREATION_DATE,
25 CREATED_BY,
26 LAST_UPDATE_DATE,
27 LAST_UPDATED_BY,
28 LAST_UPDATE_LOGIN,
29 SECURITY_GROUP_ID
30 ) values (
31 X_PROP_NAME,
32 X_PROP_VALUE,
33 X_POLICY_NAME,
34 X_DEFINITION_NAME,
35 l_ludate,
36 l_luby,
37 l_ludate,
38 l_luby,
39 0,
40 FND_GLOBAL.SECURITY_GROUP_ID);
41
42 open c;
43 fetch c into l_ROWID;
44 if (c%notfound) then
45 close c;
46 raise_application_error (-20000, 'FND_SIF_POLICY_PROPS_PKG.INSERT_ROW: unable to create property '||X_PROP_NAME||' for policy '||X_POLICY_NAME);
47 end if;
48 close c;
49
50 end INSERT_ROW;
51
52 procedure UPDATE_ROW (
53 X_DEFINITION_NAME in VARCHAR2,
54 X_POLICY_NAME in VARCHAR2,
55 X_PROP_NAME in VARCHAR2,
56 X_PROP_VALUE in VARCHAR2,
57 X_LAST_UPDATE_DATE in VARCHAR2,
58 X_OWNER in VARCHAR2
59 ) is
60 l_luby number := FND_LOAD_UTIL.OWNER_ID(X_OWNER);
61 l_ludate date := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
62 begin
63 update FND_SIF_POLICY_PROPS set
64 PROP_NAME = X_PROP_NAME,
65 PROP_VALUE = X_PROP_VALUE,
66 POLICY_NAME = X_POLICY_NAME,
67 LAST_UPDATE_DATE = l_ludate,
68 LAST_UPDATED_BY = l_luby
69 where DEFINITION_NAME = X_DEFINITION_NAME
70 and POLICY_NAME = X_POLICY_NAME
71 and PROP_NAME=X_PROP_NAME;
72
73 if (sql%rowcount=0) then
74 INSERT_ROW(X_DEFINITION_NAME => UPDATE_ROW.X_DEFINITION_NAME,
75 X_POLICY_NAME => UPDATE_ROW.X_POLICY_NAME,
76 X_PROP_NAME => UPDATE_ROW.X_PROP_NAME,
77 X_PROP_VALUE => UPDATE_ROW.X_PROP_VALUE,
78 X_LAST_UPDATE_DATE => UPDATE_ROW.X_LAST_UPDATE_DATE,
79 X_OWNER => UPDATE_ROW.X_OWNER);
80 end if;
81 end UPDATE_ROW;
82
83 function IS_PASSWORD_DEFINED(
84 X_DEFINITION_NAME in VARCHAR2) return VARCHAR2 is
85 l_password_set VARCHAR2(1) := 'Y';
86 l_row_cnt number;
87 begin
88 select count(1) into l_row_cnt
89 from FND_SIF_POLICY_PROPS
90 where DEFINITION_NAME=X_DEFINITION_NAME
91 and POLICY_NAME='UsernameToken'
92 and PROP_NAME in ('username','passwordKey', 'passwordMod')
93 and PROP_VALUE is not null;
94 --This condition checks if the three parts of the credential were found
95 if nvl(l_row_cnt, 0) < 3 then
96 l_password_set := 'N';
97 end if;
98 return l_password_set;
99 end IS_PASSWORD_DEFINED;
100 end FND_SIF_POLICY_PROPS_PKG;