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