DBA Data[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;