DBA Data[Home] [Help]

PACKAGE BODY: APPS.XTR_RISK_DEBUG_PKG

Source


1 PACKAGE BODY XTR_RISK_DEBUG_PKG as
2 /* $Header: xtrrmbgb.pls 115.14 2003/11/22 00:40:23 prafiuly ship $ */
3 /*==========================  risk_debug  ============================*/
4 
5 /*===========================================================================
6 
7   PROCEDURE NAME: write_output (private)
8 
9   DESCRIPTION:    This procedure writes output to the requested areas
10 
11   PARAMETERS:	  p_Line IN VARCHAR2
12 
13 ===========================================================================*/
14 PROCEDURE  write_output(p_Line IN VARCHAR2)
15 IS
16 
17 BEGIN
18 
19   IF g_sql_debug THEN
20      --dbms_output.put_line(SUBSTR(p_Line, 1, 200));
21      null;
22   ELSE
23 
24      utl_file.put_line(g_FileHandle, SUBSTR(p_Line, 1, 1000));
25      utl_file.fflush(g_FileHandle);
26   END IF;
27 
28 END write_output;
29 
30 
31 
32 /*===========================================================================
33 
34   FUNCTION NAME:	make_space (private)
35 
36 ===========================================================================*/
37 FUNCTION make_space(p_Mode IN NUMBER := 0) RETURN VARCHAR2 IS
38 
39   v_Temp	VARCHAR2(500);
40 
41 BEGIN
42 
43   v_Temp := RPAD(' ', 2 * (g_CallStack.COUNT - 1), ' ');
44 
45   IF p_Mode  = 0 AND g_CallStack.COUNT > 0 THEN
46 
47     v_Temp := v_Temp || '  ';
48   END IF;
49 
50   v_Temp := TO_CHAR(SYSDATE,'HH24:MI:SS') || ' - ' || v_Temp;
51 
52   RETURN(v_Temp);
53 
54 END make_space;
55 
56 
57 /*===========================================================================
58 
59   PROCEDURE NAME:  tstart (private)
60 
61   DESCRIPTION:     This procedure stores start time for a function
62 
63   PARAMETERS:	   p_Marker  IN VARCHAR2
64 
65 ===========================================================================*/
66 PROCEDURE  tstart(p_Marker IN VARCHAR2)
67 IS
68 
69   v_Context	VARCHAR2(100);
70   v_Position    NUMBER := 0;
71 
72 BEGIN
73 
74   IF g_Debug THEN
75 
76     FOR v_Count IN 1..g_TimeStack.COUNT LOOP
77 
78       IF g_TimeStack(v_Count).Marker = UPPER(p_Marker) THEN
79 
80         v_Position := v_Count;
81         EXIT;
82       END IF;
83 
84     END LOOP;
85 
86     IF v_Position = 0 THEN
87       v_Position := g_TimeStack.COUNT + 1;
88 
89       g_TimeStack(v_Position).Marker    := UPPER(p_Marker);
90       g_TimeStack(v_Position).TotalTime := 0;
91       g_TimeStack(v_Position).CallCount := 0;
92     END IF;
93 
94     g_TimeStack(v_Position).Time      := dbms_utility.get_time;
95     g_TimeStack(v_Position).CallCount := g_TimeStack(v_Position).CallCount + 1;
96   END IF;
97 
98 END tstart;
99 
100 
101 /*===========================================================================
102 
103 
104   PROCEDURE NAME:  tstop (private)
105 
106   DESCRIPTION:     This procedure stores elapsed time for a function
107 
108   PARAMETERS:	    p_Marker  IN VARCHAR2
109 
110 ===========================================================================*/
111 PROCEDURE  tstop(p_Marker IN VARCHAR2) IS
112 
113   v_Context	VARCHAR2(100);
114   v_Position    NUMBER := 0;
115 
116 BEGIN
117 
118 
119   IF g_Debug THEN
120     FOR v_Count IN 1..g_TimeStack.COUNT LOOP
121 
122       IF g_TimeStack(v_Count).Marker = UPPER(p_Marker) THEN
123         g_TimeStack(v_Count).TotalTime :=
124 		g_TimeStack(v_Count).TotalTime + ((( dbms_utility.get_time -
125                 			g_TimeStack(v_Count).Time)/100));
126         EXIT;
127       END IF;
128 
129     END LOOP;
130   END IF;
131 
132 END tstop;
133 
134 
135 /*===========================================================================
136 
137   FUNCTION NAME:   tprint (private)
138 
139   DESCRIPTION:     This function prints elapsed time for a function
140 
141   PARAMETERS:	   p_Marker  IN VARCHAR2
142 
143 ===========================================================================*/
144 FUNCTION  tprint(p_Marker IN VARCHAR2) RETURN VARCHAR2 IS
145 
146   v_Context	VARCHAR2(100);
147   v_Position    NUMBER := 0;
148 
149 BEGIN
150 
151   IF g_Debug THEN
152 
153     FOR v_Count IN 1..g_TimeStack.COUNT LOOP
154 
155       IF g_TimeStack(v_Count).Marker = UPPER(p_Marker) THEN
156         RETURN(ROUND(((dbms_utility.get_time -
157 			g_TimeStack(v_Count).Time) / 100), 2) || ' seconds');
158       END IF;
159 
160     END LOOP;
161     RETURN(NULL);
162 
163   END IF;
164 
165 END tprint;
166 
167 
168 
169 /*===========================================================================
170 
171   PROCEDURE NAME:  set_filehandle
172 
173   DESCRIPTION:     This procedure set the g_FileHandle
174 
175   PARAMETERS:	   p_FileHandle IN utl_file.file_type
176 
177 ===========================================================================*/
178 PROCEDURE set_filehandle (p_FileHandle IN utl_file.file_type := NULL) IS
179 
180 BEGIN
181 
182   IF not utl_file.is_open(g_FileHandle) and
183 	utl_file.is_open(p_FileHandle) THEN
184 
185     g_debug := TRUE;
186     g_FileHandle := p_FileHandle;
187   END IF;
188 
189 END set_filehandle;
190 
191 
192 
193 
194 /*===========================================================================
195 
196   PROCEDURE NAME:  check_fnd_profile (private)
197 
198   DESCRIPTION:     This procedure check the fnd_profile_options and
199 		   fnd_profile_option_values table for concurrent program
200 		   debugging
201 
202 ===========================================================================*/
203 FUNCTION check_fnd_profile return BOOLEAN IS
204 
205   v_value     VARCHAR2(128);
206   v_path_name VARCHAR2(128);
207   v_file_name VARCHAR2(128);
208 
209 
210 BEGIN
211   SELECT profile_option_value
212   INTO 	 v_value
213   FROM	 fnd_profile_options fpo,
214 	 fnd_profile_option_values fpov
215   WHERE  fpo.profile_option_id = fpov.profile_option_id and
216 	 fpo.profile_option_name = 'XTR: CONCURRENT PROGRAM DEBUG' and
217 	 fpov.level_value = FND_GLOBAL.USER_ID;
218 
219   IF v_value = '' or v_value is NULL THEN
220      RETURN(FALSE);
221   END IF;
222 
223   v_path_name  := substr(v_value, 1, instr(v_value, ' ', 1) - 1);
224   v_file_name  := substr(v_value, instr(v_value, ' ', 1) + 1,
225                     NVL(length(v_value), 0) - instr(v_value, ' ', 1));
226 
227   start_debug(v_path_name, v_file_name);
228 
229   RETURN(TRUE);
230 EXCEPTION
231   WHEN OTHERS THEN
232     RETURN(FALSE);
233 
234 END check_fnd_profile;
235 
236 
237 
238 /*===========================================================================
239 
240   PROCEDURE NAME:  start_debug
241 
242   DESCRIPTION:     This procedure initializes the debug session.
243 
244   PARAMETERS:	   p_file_name VARCHAR2 DEFAULT null
245 
246 ===========================================================================*/
247 PROCEDURE start_debug(p_path_name VARCHAR2,
248 			   p_file_name VARCHAR2) IS
249 
250   v_filename    VARCHAR2(30);
251 
252 BEGIN
253 
254 -- RV: Bug 3011847 --
255 
256   --Bug 3236479 Bug NULL;
257   if( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
258     FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
259         'xtr', 'START_DEBUG********');
260   end if;
261 
262 --REMCOMMENTS 115.13
263 
264 END start_debug;
265 
266 
267 /*===========================================================================
268 
269 
270   PROCEDURE NAME:  stop_debug
271 
272   DESCRIPTION:     This procedure closes the debug session.
273 
274 ===========================================================================*/
275 PROCEDURE  stop_debug IS
276 
277 BEGIN
278 
279 -- RV: Bug 3011847 --
280 
281   --Bug 3236479 Bug NULL;
282   if( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
283     FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
284         'xtr', 'STOP_DEBUG********');
285   end if;
286 
287 --REMCOMMENTS 115.13
288 
289 END stop_debug;
290 
291 
292 /*===========================================================================
293 
294   PROCEDURE NAME: stop_conc_debug
295 
296   DESCRIPTION:    This procedure turn off the concurrent program debuging.
297 
298 ===========================================================================*/
299 PROCEDURE  stop_conc_debug IS
300 
301 BEGIN
302 
303 -- RV: Bug 3011847 --
304 
305   --bug 3236479
306   stop_debug;
307 
308 --REMCOMMENTS 115.13
309 
310 END stop_conc_debug;
311 
312 
313 /*===========================================================================
314    Bug 3236479
315 
316    PROCEDURE NAME:  dlog with Module and Log Level
317 
318    DESCRIPTION:     This procedure prints string followed by a string.
319 		    Does not require level and always prints.
320 
321    PARAMETERS:	    p_Text  IN VARCHAR2
322  		    p_Value IN VARCHAR2 := NULL
323 
324 ===========================================================================*/
325 PROCEDURE  dlog(p_Text IN VARCHAR2, p_Value IN VARCHAR2 := NULL,
326 		p_module IN VARCHAR2 := 'xtr',
327 		p_log_level IN NUMBER := FND_LOG.LEVEL_PROCEDURE) IS
328 
329   v_count NUMBER;
330   v_length NUMBER;
331   i NUMBER;
332   --the maximum characters allowed for dbms_output
333   v_max NUMBER(3):=100;
334   v_start NUMBER;
335 BEGIN
336 
337   if( p_LOG_LEVEL >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
338     FND_LOG.STRING(p_log_level,
339         p_module, p_Text || G_DELIMITER || p_Value );
340   end if;
341 
342 END dlog;
343 
344 
345 /*===========================================================================
346   Bug 3236479
347 
348   PROCEDURE NAME:  dlog - Number with Module and Log Level
349 
350   DESCRIPTION:     This procedure prints string followed by a number.
351 		   Does not require level and always prints.
352 
353   PARAMETERS:	   p_Text  IN VARCHAR2
354  		   p_Value IN NUMBER
355 
356 ===========================================================================*/
357 PROCEDURE  dlog(p_Text IN VARCHAR2, p_Value IN NUMBER,
358 		p_module IN VARCHAR2 := 'xtr',
359 		p_log_level IN NUMBER := FND_LOG.LEVEL_PROCEDURE) IS
360 
361 BEGIN
362 
363   if( p_LOG_LEVEL >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
364     FND_LOG.STRING(p_log_level,
365         p_module, p_Text || G_DELIMITER || p_Value );
366   end if;
367 
368 END dlog;
369 
370 
371 /*===========================================================================
372   Bug 3236479
373 
374   PROCEDURE NAME:   dlog - boolean with Module and Level Args
375 
376   DESCRIPTION:      This procedure prints string followed by a boolean
377 		    Does not require level and always prints.
378 
379   PARAMETERS:	    p_Text  IN VARCHAR2
380  		    p_Value IN boolean
381 		    p_module IN VARCHAR2
382 		    p_log_level IN NUMBER
383 
384 ===========================================================================*/
385 PROCEDURE dlog(p_Text IN VARCHAR2, p_Value IN BOOLEAN,
386 		p_module IN VARCHAR2 := 'xtr',
387 		p_log_level IN NUMBER := FND_LOG.LEVEL_PROCEDURE) IS
388 
389   v_Temp	VARCHAR2(5) := 'FALSE';
390 
391 BEGIN
392 
393   if p_Value then
394       v_Temp := 'TRUE';
395   end if;
396 
397   if( p_log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
398     FND_LOG.STRING(p_log_level,
399         p_module, p_Text || G_DELIMITER || v_Temp );
400   end if;
401 
402 END dlog;
403 
404 
405 /*===========================================================================
406   Bug 3236479
407 
408   PROCEDURE NAME:  dlog - date with Module and Log Level
409 
410   DESCRIPTION:     This procedure prints string followed by a date.
411 		   Does not require level and always prints.
412 
413   PARAMETERS:	    p_Text  IN VARCHAR2
414 		    p_Value IN DATE
415  		    p_Mask  IN VARCHAR2 := 'DD-MON-YYYY HH24:MI:SS'
416 		    p_module IN VARCHAR2
417 		    p_log_level IN NUMBER
418 
419 ===========================================================================*/
420 PROCEDURE  dlog(p_Text IN VARCHAR2, p_Value IN DATE,
421                 p_Mask IN VARCHAR2 := 'DD-MON-YYYY HH24:MI:SS',
422 		p_module IN VARCHAR2 := 'xtr',
423 		p_log_level IN NUMBER := FND_LOG.LEVEL_PROCEDURE) IS
424 
425 BEGIN
426 
427   if( p_log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
428     FND_LOG.STRING(p_log_level,
429         p_module, p_Text || G_DELIMITER || TO_CHAR(p_Value, p_Mask) );
430   end if;
431 
432 END dlog;
433 
434 
435 /*===========================================================================
436   Bug 3236479
437 
438   PROCEDURE NAME: dpush
439 
440   DESCRIPTION:    This procedure pushes a call onto the call stack
441 
442   PARAMETERS:	  p_Name IN VARCHAR2
443 
444 ===========================================================================*/
445 PROCEDURE  dpush(p_Name IN VARCHAR2,
446 		p_module IN VARCHAR2 := 'xtr',
447 		p_log_level IN NUMBER := FND_LOG.LEVEL_PROCEDURE) IS
448   v_Name	VARCHAR2(80);
449 BEGIN
450 
451 -- RV: Bug 3011847 --
452 
453   if( p_log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
454     FND_LOG.STRING(p_log_level,
455         p_module, 'Entering ' || UPPER(nvl(p_Name,p_module)));
456   end if;
457 
458 --REMCOMMENTS 115.13
459 
460 END dpush;
461 
462 
463 
464 /*===========================================================================
465   Bug 3236479
466 
467   PROCEDURE NAME: dpop
468 
469   DESCRIPTION:    This procedure pops a call off the call stack
470 
471   PARAMETERS:	  p_Context IN	VARCHAR2
472 
473 ===========================================================================*/
474 PROCEDURE  dpop(p_Context IN VARCHAR2 := NULL,
475 		p_module IN VARCHAR2 := 'xtr',
476 		p_log_level IN NUMBER := FND_LOG.LEVEL_PROCEDURE) IS
477 
478   v_pretext	VARCHAR2(500);
479   v_post_text	VARCHAR2(500);
480 
481 BEGIN
482 
483 -- RV: Bug 3011847 --
484 
485   if( p_log_level >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
486     FND_LOG.STRING(p_log_level,
487         p_module, 'Exiting ' || UPPER(nvl(p_Context,p_module)));
488   end if;
489 
490 --REMCOMMENTS 115.13
491 
492 END dpop;
493 
494 
495 /*===========================================================================
496 
497   PROCEDURE NAME: start_conc_prog
498 
499   DESCRIPTION:    This procedure check the fnd_profile_options and
500 		   fnd_profile_option_values table for concurrent program
501 		   debugging.  If the profile option is on, start the debug
502 		   package for concurrent programs.
503 
504 ===========================================================================*/
505 PROCEDURE start_conc_prog IS
506 BEGIN
507 
508 -- RV: Bug 3011847 --
509 
510   --bug 3236479
511   start_debug;
512 
513 --REMCOMMENTS 115.13
514 
515 END start_conc_prog;
516 
517 
518 END XTR_RISK_DEBUG_PKG;