[Home] [Help]
PACKAGE BODY: APPS.BNE_PERF_STATISTICS_PKG
Source
1 package body BNE_PERF_STATISTICS_PKG as
2 /* $Header: bneperfstatb.pls 120.2 2005/06/29 03:40:46 dvayro noship $ */
3
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_STATISTIC_CODE in VARCHAR2,
7 X_OBJECT_VERSION_NUMBER in NUMBER,
8 X_USER_NAME in VARCHAR2,
9 X_CREATION_DATE in DATE,
10 X_CREATED_BY in NUMBER,
11 X_LAST_UPDATE_DATE in DATE,
12 X_LAST_UPDATED_BY in NUMBER,
13 X_LAST_UPDATE_LOGIN in NUMBER
14 ) is
15 cursor C is select ROWID from BNE_PERF_STATISTICS_B
16 where STATISTIC_CODE = X_STATISTIC_CODE
17 ;
18 begin
19 insert into BNE_PERF_STATISTICS_B (
20 STATISTIC_CODE,
21 OBJECT_VERSION_NUMBER,
22 CREATION_DATE,
23 CREATED_BY,
24 LAST_UPDATE_DATE,
25 LAST_UPDATED_BY,
26 LAST_UPDATE_LOGIN
27 ) values (
28 X_STATISTIC_CODE,
29 X_OBJECT_VERSION_NUMBER,
30 X_CREATION_DATE,
31 X_CREATED_BY,
32 X_LAST_UPDATE_DATE,
33 X_LAST_UPDATED_BY,
34 X_LAST_UPDATE_LOGIN
35 );
36
37 insert into BNE_PERF_STATISTICS_TL (
38 STATISTIC_CODE,
39 USER_NAME,
40 CREATED_BY,
41 CREATION_DATE,
42 LAST_UPDATED_BY,
43 LAST_UPDATE_LOGIN,
44 LAST_UPDATE_DATE,
45 LANGUAGE,
46 SOURCE_LANG
47 ) select
48 X_STATISTIC_CODE,
49 X_USER_NAME,
50 X_CREATED_BY,
51 X_CREATION_DATE,
52 X_LAST_UPDATED_BY,
53 X_LAST_UPDATE_LOGIN,
54 X_LAST_UPDATE_DATE,
55 L.LANGUAGE_CODE,
56 userenv('LANG')
57 from FND_LANGUAGES L
58 where L.INSTALLED_FLAG in ('I', 'B')
59 and not exists
60 (select NULL
61 from BNE_PERF_STATISTICS_TL T
62 where T.STATISTIC_CODE = X_STATISTIC_CODE
63 and T.LANGUAGE = L.LANGUAGE_CODE);
64
65 open c;
66 fetch c into X_ROWID;
67 if (c%notfound) then
68 close c;
69 raise no_data_found;
70 end if;
71 close c;
72
73 end INSERT_ROW;
74
75 procedure LOCK_ROW (
76 X_STATISTIC_CODE in VARCHAR2,
77 X_OBJECT_VERSION_NUMBER in NUMBER,
78 X_USER_NAME in VARCHAR2
79 ) is
80 cursor c is select
81 OBJECT_VERSION_NUMBER
82 from BNE_PERF_STATISTICS_B
83 where STATISTIC_CODE = X_STATISTIC_CODE
84 for update of STATISTIC_CODE nowait;
85 recinfo c%rowtype;
86
87 cursor c1 is select
88 USER_NAME,
89 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
90 from BNE_PERF_STATISTICS_TL
91 where STATISTIC_CODE = X_STATISTIC_CODE
92 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
93 for update of STATISTIC_CODE nowait;
94 begin
95 open c;
96 fetch c into recinfo;
97 if (c%notfound) then
98 close c;
99 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
100 app_exception.raise_exception;
101 end if;
102 close c;
103 if ( (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
104 ) then
105 null;
106 else
107 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
108 app_exception.raise_exception;
109 end if;
110
111 for tlinfo in c1 loop
112 if (tlinfo.BASELANG = 'Y') then
113 if ( (tlinfo.USER_NAME = X_USER_NAME)
114 ) then
115 null;
116 else
117 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
118 app_exception.raise_exception;
119 end if;
120 end if;
121 end loop;
122 return;
123 end LOCK_ROW;
124
125 procedure UPDATE_ROW (
126 X_STATISTIC_CODE in VARCHAR2,
127 X_OBJECT_VERSION_NUMBER in NUMBER,
128 X_USER_NAME in VARCHAR2,
129 X_LAST_UPDATE_DATE in DATE,
130 X_LAST_UPDATED_BY in NUMBER,
131 X_LAST_UPDATE_LOGIN in NUMBER
132 ) is
133 begin
134 update BNE_PERF_STATISTICS_B set
135 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
136 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
137 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
138 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
139 where STATISTIC_CODE = X_STATISTIC_CODE;
140
141 if (sql%notfound) then
142 raise no_data_found;
143 end if;
144
145 update BNE_PERF_STATISTICS_TL set
146 USER_NAME = X_USER_NAME,
147 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
148 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
149 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
150 SOURCE_LANG = userenv('LANG')
151 where STATISTIC_CODE = X_STATISTIC_CODE
152 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
153
154 if (sql%notfound) then
155 raise no_data_found;
156 end if;
157 end UPDATE_ROW;
158
159 procedure DELETE_ROW (
160 X_STATISTIC_CODE in VARCHAR2
161 ) is
162 begin
163 delete from BNE_PERF_STATISTICS_TL
164 where STATISTIC_CODE = X_STATISTIC_CODE;
165
166 if (sql%notfound) then
167 raise no_data_found;
168 end if;
169
170 delete from BNE_PERF_STATISTICS_B
171 where STATISTIC_CODE = X_STATISTIC_CODE;
172
173 if (sql%notfound) then
174 raise no_data_found;
175 end if;
176 end DELETE_ROW;
177
178 procedure ADD_LANGUAGE
179 is
180 begin
181 delete from BNE_PERF_STATISTICS_TL T
182 where not exists
183 (select NULL
184 from BNE_PERF_STATISTICS_B B
185 where B.STATISTIC_CODE = T.STATISTIC_CODE
186 );
187
188 update BNE_PERF_STATISTICS_TL T set (
189 USER_NAME
190 ) = (select
191 B.USER_NAME
192 from BNE_PERF_STATISTICS_TL B
193 where B.STATISTIC_CODE = T.STATISTIC_CODE
194 and B.LANGUAGE = T.SOURCE_LANG)
195 where (
196 T.STATISTIC_CODE,
197 T.LANGUAGE
198 ) in (select
199 SUBT.STATISTIC_CODE,
200 SUBT.LANGUAGE
201 from BNE_PERF_STATISTICS_TL SUBB, BNE_PERF_STATISTICS_TL SUBT
202 where SUBB.STATISTIC_CODE = SUBT.STATISTIC_CODE
203 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
204 and (SUBB.USER_NAME <> SUBT.USER_NAME
205 ));
206
207 insert into BNE_PERF_STATISTICS_TL (
208 STATISTIC_CODE,
209 USER_NAME,
210 CREATED_BY,
211 CREATION_DATE,
212 LAST_UPDATED_BY,
213 LAST_UPDATE_LOGIN,
214 LAST_UPDATE_DATE,
215 LANGUAGE,
216 SOURCE_LANG
217 ) select /*+ ORDERED */
218 B.STATISTIC_CODE,
219 B.USER_NAME,
220 B.CREATED_BY,
221 B.CREATION_DATE,
222 B.LAST_UPDATED_BY,
223 B.LAST_UPDATE_LOGIN,
224 B.LAST_UPDATE_DATE,
225 L.LANGUAGE_CODE,
226 B.SOURCE_LANG
227 from BNE_PERF_STATISTICS_TL B, FND_LANGUAGES L
228 where L.INSTALLED_FLAG in ('I', 'B')
229 and B.LANGUAGE = userenv('LANG')
230 and not exists
231 (select NULL
232 from BNE_PERF_STATISTICS_TL T
233 where T.STATISTIC_CODE = B.STATISTIC_CODE
234 and T.LANGUAGE = L.LANGUAGE_CODE);
235 end ADD_LANGUAGE;
236
237 --------------------------------------------------------------------------------
238 -- PROCEDURE: TRANSLATE_ROW --
239 -- --
240 -- DESCRIPTION: Load a translation into the BNE_PERF_STATISTICS entity. --
241 -- This proc is called from the apps loader. --
242 -- --
243 -- SEE: http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt --
244 -- --
245 -- --
246 -- MODIFICATION HISTORY --
247 -- Date Username Description --
248 -- 28-May-04 DGROVES CREATED --
249 --------------------------------------------------------------------------------
250 procedure TRANSLATE_ROW(
251 x_statistic_code in VARCHAR2,
252 x_user_name in VARCHAR2,
253 x_owner in VARCHAR2,
254 x_last_update_date in VARCHAR2,
255 x_custom_mode in VARCHAR2
256 )
257 is
258 f_luby number; -- entity owner in file
259 f_ludate date; -- entity update date in file
260 db_luby number; -- entity owner in db
261 db_ludate date; -- entity update date in db
262 begin
263 -- Translate owner to file_last_updated_by
264 f_luby := fnd_load_util.owner_id(x_owner);
265
266 -- Translate char last_update_date to date
267 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
268 begin
269 select LAST_UPDATED_BY, LAST_UPDATE_DATE
270 into db_luby, db_ludate
271 from BNE_PERF_STATISTICS_TL
272 where STATISTIC_CODE = x_statistic_code
273 and LANGUAGE = userenv('LANG');
274
275 -- Test for customization and version
276 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
277 db_ludate, x_custom_mode)) then
278
279 update BNE_PERF_STATISTICS_TL
280 set USER_NAME = x_user_name,
281 LAST_UPDATE_DATE = f_ludate,
282 LAST_UPDATED_BY = f_luby,
283 LAST_UPDATE_LOGIN = 0,
284 SOURCE_LANG = userenv('LANG')
285 where STATISTIC_CODE = x_statistic_code
286 AND userenv('LANG') in (LANGUAGE, SOURCE_LANG)
287 ;
288 end if;
289 exception
290 when no_data_found then
291 -- Do not insert missing translations, skip this row
292 null;
293 end;
294 end TRANSLATE_ROW;
295
296 --------------------------------------------------------------------------------
297 -- PROCEDURE: LOAD_ROW --
298 -- --
299 -- DESCRIPTION: Load a row into the BNE_PERF_STATISTICS entity. --
300 -- This proc is called from the apps loader. --
301 -- --
302 -- SEE: http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt --
303 -- --
304 -- --
305 -- MODIFICATION HISTORY --
306 -- Date Username Description --
307 -- 28-May-04 DGROVES CREATED --
308 --------------------------------------------------------------------------------
309 procedure LOAD_ROW(
310 x_statistic_code in VARCHAR2,
311 x_object_version_number in VARCHAR2,
312 x_user_name in VARCHAR2,
313 x_owner in VARCHAR2,
314 x_last_update_date in VARCHAR2,
315 x_custom_mode in VARCHAR2
316 )
317 is
318 l_row_id varchar2(64);
319 f_luby number; -- entity owner in file
320 f_ludate date; -- entity update date in file
321 db_luby number; -- entity owner in db
322 db_ludate date; -- entity update date in db
323 begin
324 -- Translate owner to file_last_updated_by
325 f_luby := fnd_load_util.owner_id(x_owner);
326
327 -- Translate char last_update_date to date
328 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
329 begin
333 where STATISTIC_CODE = x_statistic_code;
330 select LAST_UPDATED_BY, LAST_UPDATE_DATE
331 into db_luby, db_ludate
332 from BNE_PERF_STATISTICS_B
334
335 -- Test for customization and version
336 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
337 db_ludate, x_custom_mode)) then
338 -- Update existing row
339 BNE_PERF_STATISTICS_PKG.Update_Row(
340 X_STATISTIC_CODE => x_statistic_code,
341 X_OBJECT_VERSION_NUMBER => x_object_version_number,
342 X_USER_NAME => x_user_name,
343 X_LAST_UPDATE_DATE => f_ludate,
344 X_LAST_UPDATED_BY => f_luby,
345 X_LAST_UPDATE_LOGIN => 0
346 );
347 end if;
348 exception
349 when no_data_found then
350 -- Record doesn't exist - insert in all cases
351 BNE_PERF_STATISTICS_PKG.Insert_Row(
352 X_ROWID => l_row_id,
353 X_STATISTIC_CODE => x_statistic_code,
354 X_OBJECT_VERSION_NUMBER => x_object_version_number,
355 X_USER_NAME => x_user_name,
356 X_CREATION_DATE => f_ludate,
357 X_CREATED_BY => f_luby,
358 X_LAST_UPDATE_DATE => f_ludate,
359 X_LAST_UPDATED_BY => f_luby,
360 X_LAST_UPDATE_LOGIN => 0
361 );
362 end;
363 end LOAD_ROW;
364
365 end BNE_PERF_STATISTICS_PKG;