[Home] [Help]
PACKAGE BODY: APPS.FND_DEBUG_OPTIONS_PKG
Source
1 package body FND_DEBUG_OPTIONS_PKG as
2 -- $Header: AFOAMDOB.pls 120.1 2005/07/02 03:02:36 appldev noship $
3
4
5
6 procedure LOAD_ROW (
7 X_DEBUG_OPTION_NAME in VARCHAR2,
8 X_ENABLED_FLAG in VARCHAR2,
9 X_TYPE in VARCHAR2,
10 X_SEPARATOR in VARCHAR2,
11 X_TRACE_FILE_TOKEN in VARCHAR2,
12 X_DESCRIPTION in VARCHAR2,
13 X_OWNER in VARCHAR2
14
15
16 ) is
17 begin
18 FND_DEBUG_OPTIONS_PKG.LOAD_ROW (
19 X_DEBUG_OPTION_NAME => X_DEBUG_OPTION_NAME,
20 X_ENABLED_FLAG => X_ENABLED_FLAG,
21 X_TYPE => X_TYPE,
22 X_SEPARATOR=> X_SEPARATOR,
23 X_TRACE_FILE_TOKEN => X_TRACE_FILE_TOKEN,
24 X_DESCRIPTION=>X_DESCRIPTION,
25 X_OWNER=>X_OWNER,
26 x_custom_mode => '',
27 x_last_update_date => '');
28
29 end;
30
31 procedure LOAD_ROW (
32 X_DEBUG_OPTION_NAME in VARCHAR2,
33 X_ENABLED_FLAG in VARCHAR2,
34 X_TYPE in VARCHAR2,
35 X_SEPARATOR in VARCHAR2,
36 X_TRACE_FILE_TOKEN in VARCHAR2,
37 X_DESCRIPTION in VARCHAR2,
38 x_custom_mode in varchar2,
39 x_last_update_date in varchar2,
40 X_OWNER in VARCHAR2)is
41
42
43 f_luby number; -- entity owner in file
44 f_ludate date; -- entity update date in file
45 db_luby number:=0; -- entity owner in db
46 db_ludate date:=null; -- entity update date in db
47 row_id varchar2(64);
48
49 begin
50
51
52 -- Translate owner to file_last_updated_by
53 f_luby := fnd_load_util.owner_id(x_owner);
54
55 -- Translate char last_update_date to date
56 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
57
58
59
60
61 begin
62
63
64
65 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
66 db_ludate, X_CUSTOM_MODE)) then
67
68
69 FND_DEBUG_OPTIONS_PKG.UPDATE_ROW (
70 X_DEBUG_OPTION_NAME =>X_DEBUG_OPTION_NAME,
71 X_ENABLED_FLAG => X_ENABLED_FLAG,
72 X_TYPE => X_TYPE,
73 X_SEPARATOR => X_SEPARATOR,
74 X_TRACE_FILE_TOKEN => X_TRACE_FILE_TOKEN,
75 X_DESCRIPTION=>X_DESCRIPTION,
76 X_LAST_UPDATE_DATE => f_ludate,
77 X_LAST_UPDATED_BY => f_luby,
78 X_LAST_UPDATE_LOGIN => 0
79 );
80
81
82 end if;
83 exception
84 when NO_DATA_FOUND then
85
86 FND_DEBUG_OPTIONS_PKG.INSERT_ROW (
87 X_ROWID => row_id,
88 X_DEBUG_OPTION_NAME =>X_DEBUG_OPTION_NAME,
89 X_ENABLED_FLAG => X_ENABLED_FLAG,
90 X_TYPE => X_TYPE,
91 X_SEPARATOR => X_SEPARATOR,
92 X_TRACE_FILE_TOKEN => X_TRACE_FILE_TOKEN,
93 X_DESCRIPTION=>X_DESCRIPTION,
94 X_CREATION_DATE => f_ludate,
95 X_CREATED_BY => f_luby,
96 X_LAST_UPDATE_DATE => f_ludate,
97 X_LAST_UPDATED_BY => f_luby,
98 X_LAST_UPDATE_LOGIN => 0 );
99 end;
100 end LOAD_ROW;
101
102 procedure INSERT_ROW (
103 X_ROWID in out nocopy VARCHAR2,
104 X_DEBUG_OPTION_NAME in VARCHAR2,
105 X_ENABLED_FLAG in VARCHAR2,
106 X_TYPE in VARCHAR2,
107 X_SEPARATOR in VARCHAR2,
108 X_TRACE_FILE_TOKEN in VARCHAR2,
109 X_DESCRIPTION in VARCHAR2,
110 X_CREATION_DATE in DATE,
111 X_CREATED_BY in NUMBER,
112 X_LAST_UPDATE_DATE in DATE,
113 X_LAST_UPDATED_BY in NUMBER,
114 X_LAST_UPDATE_LOGIN in NUMBER
115 ) is
116 cursor C is select ROWID from FND_DEBUG_OPTIONS
117 where DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME
118 ;
119 begin
120
121
122
123 insert into FND_DEBUG_OPTIONS (
124 DEBUG_OPTION_NAME,
125 ENABLED_FLAG,
126 TYPE,
127 SEPARATOR,
128 TRACE_FILE_TOKEN,
129 CREATION_DATE,
130 CREATED_BY,
131 LAST_UPDATE_DATE,
132 LAST_UPDATED_BY,
133 LAST_UPDATE_LOGIN
134 ) values (
135 X_DEBUG_OPTION_NAME,
136 X_ENABLED_FLAG,
137 X_TYPE,
138 X_SEPARATOR,
139 X_TRACE_FILE_TOKEN,
140 X_CREATION_DATE,
141 X_CREATED_BY,
142 X_LAST_UPDATE_DATE,
143 X_LAST_UPDATED_BY,
144 X_LAST_UPDATE_LOGIN
145 );
146
147 insert into FND_DEBUG_OPTIONS_TL (
148 DEBUG_OPTION_NAME,
149 DESCRIPTION,
150 CREATION_DATE,
151 CREATED_BY,
152 LAST_UPDATE_DATE,
153 LAST_UPDATED_BY,
154 LAST_UPDATE_LOGIN,
155 LANGUAGE,
156 SOURCE_LANG
157 ) select
158 X_DEBUG_OPTION_NAME,
159 X_DESCRIPTION,
160 X_CREATION_DATE,
161 X_CREATED_BY,
162 X_LAST_UPDATE_DATE,
163 X_LAST_UPDATED_BY,
164 X_LAST_UPDATE_LOGIN,
165 L.LANGUAGE_CODE,
166 userenv('LANG')
167 from FND_LANGUAGES L
168 where L.INSTALLED_FLAG in ('I', 'B')
169 and not exists
170 (select NULL
171 from FND_DEBUG_OPTIONS_TL T
172 where T.DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME
173 and T.LANGUAGE = L.LANGUAGE_CODE);
174
175 open c;
176 fetch c into X_ROWID;
177 if (c%notfound) then
178 close c;
179 raise no_data_found;
180 end if;
181 close c;
182
183 end INSERT_ROW;
184
185 procedure UPDATE_ROW (
186 X_DEBUG_OPTION_NAME in VARCHAR2,
187 X_ENABLED_FLAG in VARCHAR2,
188 X_TYPE in VARCHAR2,
189 X_SEPARATOR in VARCHAR2,
190 X_TRACE_FILE_TOKEN in VARCHAR2,
191 X_DESCRIPTION in VARCHAR2,
192 X_LAST_UPDATE_DATE in DATE,
193 X_LAST_UPDATED_BY in NUMBER,
194 X_LAST_UPDATE_LOGIN in NUMBER
195 ) is
196 begin
197 update FND_DEBUG_OPTIONS set
198 ENABLED_FLAG = X_ENABLED_FLAG,
199 TYPE = X_TYPE,
200 SEPARATOR = X_SEPARATOR,
201 TRACE_FILE_TOKEN = X_TRACE_FILE_TOKEN,
202 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
203 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
204 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
205 where DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME;
206
207 if (sql%notfound) then
208 raise no_data_found;
209 end if;
210
211 update FND_DEBUG_OPTIONS_TL set
212 DESCRIPTION = X_DESCRIPTION,
213 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
214 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
215 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
216 SOURCE_LANG = userenv('LANG')
217 where DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME
218 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
219
220 if (sql%notfound) then
221 raise no_data_found;
222 end if;
223 end UPDATE_ROW;
224
225
226 procedure ADD_LANGUAGE
227 is
228 begin
229 delete from FND_DEBUG_OPTIONS_TL T
230 where not exists
231 (select NULL
232 from FND_DEBUG_OPTIONS B
233 where B.DEBUG_OPTION_NAME = T.DEBUG_OPTION_NAME
234 );
235
236 update FND_DEBUG_OPTIONS_TL T set (
237 DESCRIPTION
238 ) = (select
239 B.DESCRIPTION
240 from FND_DEBUG_OPTIONS_TL B
241 where B.DEBUG_OPTION_NAME = T.DEBUG_OPTION_NAME
242 and B.LANGUAGE = T.SOURCE_LANG)
243 where (
244 T.DEBUG_OPTION_NAME,
245 T.LANGUAGE
246 ) in (select
247 SUBT.DEBUG_OPTION_NAME,
248 SUBT.LANGUAGE
249 from FND_DEBUG_OPTIONS_TL SUBB, FND_DEBUG_OPTIONS_TL SUBT
250 where SUBB.DEBUG_OPTION_NAME = SUBT.DEBUG_OPTION_NAME
251 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
252 and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
253 ));
254
255 insert into FND_DEBUG_OPTIONS_TL (
256 DEBUG_OPTION_NAME,
257 DESCRIPTION,
258 CREATION_DATE,
259 CREATED_BY,
260 LAST_UPDATE_DATE,
261 LAST_UPDATED_BY,
262 LAST_UPDATE_LOGIN,
263 LANGUAGE,
264 SOURCE_LANG
265 ) select /*+ ORDERED */
266 B.DEBUG_OPTION_NAME,
267 B.DESCRIPTION,
268 B.CREATION_DATE,
269 B.CREATED_BY,
270 B.LAST_UPDATE_DATE,
271 B.LAST_UPDATED_BY,
272 B.LAST_UPDATE_LOGIN,
273 L.LANGUAGE_CODE,
274 B.SOURCE_LANG
275 from FND_DEBUG_OPTIONS_TL B, FND_LANGUAGES L
276 where L.INSTALLED_FLAG in ('I', 'B')
277 and B.LANGUAGE = userenv('LANG')
278 and not exists
279 (select NULL
280 from FND_DEBUG_OPTIONS_TL T
281 where T.DEBUG_OPTION_NAME = B.DEBUG_OPTION_NAME
282 and T.LANGUAGE = L.LANGUAGE_CODE);
283 end ADD_LANGUAGE;
284
285
286 procedure DELETE_ROW (
287 X_DEBUG_OPTION_NAME in VARCHAR2
288 ) is
289 begin
290 delete from FND_DEBUG_OPTIONS_TL
291 where DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME;
292
293 if (sql%notfound) then
294 raise no_data_found;
295 end if;
296
297 delete from FND_DEBUG_OPTIONS
298 where DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME;
299
300 if (sql%notfound) then
301 raise no_data_found;
302 end if;
303 end DELETE_ROW;
304
305
306 procedure LOCK_ROW (
307 X_DEBUG_OPTION_NAME in VARCHAR2,
308 X_ENABLED_FLAG in VARCHAR2,
309 X_TYPE in VARCHAR2,
310 X_SEPARATOR in VARCHAR2,
311 X_TRACE_FILE_TOKEN in VARCHAR2,
312 X_DESCRIPTION in VARCHAR2
313 ) is
314 cursor c is select
315 ENABLED_FLAG,
316 TYPE,
317 SEPARATOR,
318 TRACE_FILE_TOKEN
319 from FND_DEBUG_OPTIONS
320 where DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME
321 for update of DEBUG_OPTION_NAME nowait;
322 recinfo c%rowtype;
323
324 cursor c1 is select
325 DESCRIPTION,
326 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
327 from FND_DEBUG_OPTIONS_TL
328 where DEBUG_OPTION_NAME = X_DEBUG_OPTION_NAME
329 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
330 for update of DEBUG_OPTION_NAME nowait;
331 begin
332 open c;
333 fetch c into recinfo;
334 if (c%notfound) then
335 close c;
336 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
337 app_exception.raise_exception;
338 end if;
339 close c;
340 if ( (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
341 AND (recinfo.TYPE = X_TYPE)
342 AND (recinfo.SEPARATOR = X_SEPARATOR)
343 AND ((recinfo.TRACE_FILE_TOKEN = X_TRACE_FILE_TOKEN)
344 OR ((recinfo.TRACE_FILE_TOKEN is null) AND (X_TRACE_FILE_TOKEN is null)))
345 ) then
346 null;
347 else
348 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
349 app_exception.raise_exception;
350 end if;
351
352 for tlinfo in c1 loop
353 if (tlinfo.BASELANG = 'Y') then
354 if ( (tlinfo.DESCRIPTION = X_DESCRIPTION)
355 ) then
356 null;
357 else
358 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
359 app_exception.raise_exception;
360 end if;
361 end if;
362 end loop;
363 return;
364 end LOCK_ROW;
365
366
367
368
369
370
371
372 procedure TRANSLATE_ROW (
373 X_DEBUG_OPTION_NAME in VARCHAR2,
374 X_OWNER in VARCHAR2,
375 X_DESCRIPTION in VARCHAR2) is
376 begin
377
378 FND_DEBUG_OPTIONS_PKG.translate_row(
379 X_DEBUG_OPTION_NAME => X_DEBUG_OPTION_NAME,
380 X_OWNER=>X_OWNER,
381 X_DESCRIPTION=>X_DESCRIPTION,
382 x_custom_mode => '',
383 x_last_update_date => '');
384
385 end TRANSLATE_ROW;
386
387
388
389
390
391 procedure TRANSLATE_ROW (
392 X_DEBUG_OPTION_NAME in VARCHAR2,
393 X_OWNER in VARCHAR2,
394 X_DESCRIPTION in VARCHAR2,
395 X_CUSTOM_MODE in VARCHAR2,
396 X_LAST_UPDATE_DATE in VARCHAR2) is
397
398 f_luby number; -- entity owner in file
399 f_ludate date; -- entity update date in file
400 db_luby number:=0; -- entity owner in db
401 db_ludate date:=null; -- entity update date in db
402
403 begin
404
405 -- Translate owner to file_last_updated_by
406 f_luby := fnd_load_util.owner_id(x_owner);
407
408 -- Translate char last_update_date to date
409 f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
410
411 begin
412
413 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
414 db_ludate, X_CUSTOM_MODE)) then
415
416 update fnd_debug_options_tl set
417 DESCRIPTION=nvl(X_DESCRIPTION,DESCRIPTION),
418 SOURCE_LANG=userenv('LANG'),
419 last_update_date = f_ludate,
420 last_updated_by = f_luby,
421 last_update_login = 0
422 where debug_option_name=X_DEBUG_OPTION_NAME and userenv('LANG') in (language, source_lang);
423
424 end if;
425 exception
426 when no_data_found then
427 null;
428 end;
429
430 end TRANSLATE_ROW;
431
432
433 end FND_DEBUG_OPTIONS_PKG;