[Home] [Help]
PACKAGE BODY: APPS.BNE_SECURITY_RULES_PKG
Source
1 package body BNE_SECURITY_RULES_PKG as
2 /* $Header: bnesecruleb.pls 120.2 2005/06/29 03:40:54 dvayro noship $ */
3
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_APPLICATION_ID in NUMBER,
7 X_SECURITY_CODE in VARCHAR2,
8 X_OBJECT_VERSION_NUMBER in NUMBER,
9 X_SECURITY_TYPE in VARCHAR2,
10 X_SECURITY_VALUE in VARCHAR2,
11 X_CREATION_DATE in DATE,
12 X_CREATED_BY in NUMBER,
13 X_LAST_UPDATE_DATE in DATE,
14 X_LAST_UPDATED_BY in NUMBER,
15 X_LAST_UPDATE_LOGIN in NUMBER
16 ) is
17 cursor C is select ROWID from BNE_SECURITY_RULES
18 where APPLICATION_ID = X_APPLICATION_ID
19 and SECURITY_CODE = X_SECURITY_CODE
20 ;
21 begin
22 insert into BNE_SECURITY_RULES (
23 APPLICATION_ID,
24 SECURITY_CODE,
25 OBJECT_VERSION_NUMBER,
26 SECURITY_TYPE,
27 SECURITY_VALUE,
28 CREATED_BY,
29 CREATION_DATE,
30 LAST_UPDATED_BY,
31 LAST_UPDATE_LOGIN,
32 LAST_UPDATE_DATE
33 ) values (
34 X_APPLICATION_ID,
35 X_SECURITY_CODE,
36 X_OBJECT_VERSION_NUMBER,
37 X_SECURITY_TYPE,
38 X_SECURITY_VALUE,
39 X_CREATED_BY,
40 X_CREATION_DATE,
41 X_LAST_UPDATED_BY,
42 X_LAST_UPDATE_LOGIN,
43 X_LAST_UPDATE_DATE
44 );
45 open c;
46 fetch c into X_ROWID;
47 if (c%notfound) then
48 close c;
49 raise no_data_found;
50 end if;
51 close c;
52
53 end INSERT_ROW;
54
55 procedure LOCK_ROW (
56 X_APPLICATION_ID in NUMBER,
57 X_SECURITY_CODE in VARCHAR2,
58 X_OBJECT_VERSION_NUMBER in NUMBER,
59 X_SECURITY_TYPE in VARCHAR2,
60 X_SECURITY_VALUE in VARCHAR2
61 ) is
62 cursor c1 is select
63 OBJECT_VERSION_NUMBER,
64 SECURITY_TYPE,
65 SECURITY_VALUE
66 from BNE_SECURITY_RULES
67 where APPLICATION_ID = X_APPLICATION_ID
68 and SECURITY_CODE = X_SECURITY_CODE
69 for update of APPLICATION_ID nowait;
70 begin
71 for tlinfo in c1 loop
72 if ( (tlinfo.SECURITY_TYPE = X_SECURITY_TYPE)
73 AND (tlinfo.SECURITY_VALUE = X_SECURITY_VALUE)
74 AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
75 ) then
76 null;
77 else
78 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
79 app_exception.raise_exception;
80 end if;
81 end loop;
82 return;
83 end LOCK_ROW;
84
85 procedure UPDATE_ROW (
86 X_APPLICATION_ID in NUMBER,
87 X_SECURITY_CODE in VARCHAR2,
88 X_OBJECT_VERSION_NUMBER in NUMBER,
89 X_SECURITY_TYPE in VARCHAR2,
90 X_SECURITY_VALUE in VARCHAR2,
91 X_LAST_UPDATE_DATE in DATE,
92 X_LAST_UPDATED_BY in NUMBER,
93 X_LAST_UPDATE_LOGIN in NUMBER
94 ) is
95 begin
96 update BNE_SECURITY_RULES set
97 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
98 SECURITY_TYPE = X_SECURITY_TYPE,
99 SECURITY_VALUE = X_SECURITY_VALUE,
100 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
101 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
102 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
103 where APPLICATION_ID = X_APPLICATION_ID
104 and SECURITY_CODE = X_SECURITY_CODE
105 ;
106
107 if (sql%notfound) then
108 raise no_data_found;
109 end if;
110 end UPDATE_ROW;
111
112 procedure DELETE_ROW (
113 X_APPLICATION_ID in NUMBER,
114 X_SECURITY_CODE in VARCHAR2
115 ) is
116 begin
117 delete from BNE_SECURITY_RULES
118 where APPLICATION_ID = X_APPLICATION_ID
119 and SECURITY_CODE = X_SECURITY_CODE;
120
121 if (sql%notfound) then
122 raise no_data_found;
123 end if;
124
125 end DELETE_ROW;
126
127 procedure ADD_LANGUAGE
128 is
129 begin
130 null;
131 end ADD_LANGUAGE;
132
133 --------------------------------------------------------------------------------
134 -- PROCEDURE: LOAD_ROW --
135 -- --
136 -- DESCRIPTION: Load a row into the BNE_SECURITY_RULES entity. --
137 -- This proc is called from the apps loader. --
138 -- --
139 -- SEE: http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt --
140 -- --
141 -- --
142 -- MODIFICATION HISTORY --
143 -- Date Username Description --
144 -- 7-Aug-04 DGROVES CREATED --
145 --------------------------------------------------------------------------------
146 procedure LOAD_ROW(
147 x_security_rule_asn in VARCHAR2,
148 x_security_rule_code in VARCHAR2,
149 x_object_version_number in VARCHAR2,
150 x_security_type in VARCHAR2,
151 x_security_value in VARCHAR2,
152 x_owner in VARCHAR2,
153 x_last_update_date in VARCHAR2,
154 x_custom_mode in VARCHAR2
155 )
156 is
157 l_app_id number;
158 l_row_id varchar2(64);
159 f_luby number; -- entity owner in file
160 f_ludate date; -- entity update date in file
161 db_luby number; -- entity owner in db
162 db_ludate date; -- entity update date in db
163 begin
164 -- translate values to IDs
165 l_app_id := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_security_rule_asn);
166
167 -- Translate owner to file_last_updated_by
168 f_luby := fnd_load_util.owner_id(x_owner);
169
170 -- Translate char last_update_date to date
171 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
172 begin
173 select LAST_UPDATED_BY, LAST_UPDATE_DATE
174 into db_luby, db_ludate
175 from BNE_SECURITY_RULES
176 where APPLICATION_ID = l_app_id
177 and SECURITY_CODE = x_security_rule_code;
178
179 -- Test for customization and version
180 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
181 db_ludate, x_custom_mode)) then
182 -- Update existing row
183 BNE_SECURITY_RULES_PKG.Update_Row(
184 X_APPLICATION_ID => l_app_id,
185 X_SECURITY_CODE => x_security_rule_code,
186 X_OBJECT_VERSION_NUMBER => x_object_version_number,
187 X_SECURITY_TYPE => x_security_type,
188 X_SECURITY_VALUE => x_security_value,
189 X_LAST_UPDATE_DATE => f_ludate,
190 X_LAST_UPDATED_BY => f_luby,
191 X_LAST_UPDATE_LOGIN => 0
192 );
193 end if;
194 exception
195 when no_data_found then
196 -- Record doesn't exist - insert in all cases
197 BNE_SECURITY_RULES_PKG.Insert_Row(
198 X_ROWID => l_row_id,
199 X_APPLICATION_ID => l_app_id,
200 X_SECURITY_CODE => x_security_rule_code,
201 X_OBJECT_VERSION_NUMBER => x_object_version_number,
202 X_SECURITY_TYPE => x_security_type,
203 X_SECURITY_VALUE => x_security_value,
204 X_CREATION_DATE => f_ludate,
205 X_CREATED_BY => f_luby,
206 X_LAST_UPDATE_DATE => f_ludate,
207 X_LAST_UPDATED_BY => f_luby,
208 X_LAST_UPDATE_LOGIN => 0
209 );
210 end;
211 end LOAD_ROW;
212
213 end BNE_SECURITY_RULES_PKG;