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