1 PACKAGE BODY cse_debug_pub AS
2 /* $Header: CSEPDBGB.pls 120.3 2006/08/16 20:21:33 brmanesh noship $ */
3
4 l_debug varchar2(1) := nvl(fnd_profile.value('cse_debug_option'),'N');
5
6 FUNCTION set_debug_file(p_file in varchar2 default null) RETURN varchar2 IS
7 rtn_val varchar2(100);
8 l_cse varchar2(3) := 'cse';
9 l_sysdate date := sysdate;
10 BEGIN
11
12 IF g_dir is null THEN
13 g_dir := nvl(fnd_profile.value('cse_debug_log_directory'), '/tmp');
14 END IF;
15
16 IF g_file IS null THEN
17 IF p_file IS null THEN
18 g_file := l_cse||'.'||to_char(l_sysdate,'DDMONYYYY')||'.dbg';
19 ELSE
20 g_file := P_FILE;
21 END IF;
22 END IF;
23
24 rtn_val := g_dir||'/'|| g_file;
25 return(rtn_val);
26
27 EXCEPTION
28 WHEN others THEN
29 debug_off;
30 rtn_val := null;
31 return(rtn_val);
32 END set_debug_file;
33
34
35 PROCEDURE debug_on IS
36 l_file varchar2(250);
37 BEGIN
38 IF g_file is null THEN
39 l_file := set_debug_file;
40 END IF;
41 g_file_ptr := utl_file.fopen(g_dir, g_file, 'a');
42 cse_debug_pub.g_debug := TRUE;
43 EXCEPTION
44 WHEN others THEN
45 null;
46 END debug_on;
47
48
49 PROCEDURE debug_off IS
50 BEGIN
51 cse_debug_pub.g_debug := FALSE;
52 utl_file.fclose(g_file_ptr);
53 EXCEPTION
54 WHEN others THEN
55 null;
56 END debug_off;
57
58
59 FUNCTION isdebugon RETURN boolean IS
60 BEGIN
61 RETURN(CSE_DEBUG_PUB.G_DEBUG);
62 END isdebugon;
63
64
65 PROCEDURE set_debug_level(p_debug_level in number ) IS
66 BEGIN
67 IF p_debug_level = G_BASIC THEN
68 g_debug_level := G_BASIC;
69 ELSE
70 g_debug_level := G_DETAILED;
71 END IF;
72 END set_debug_level;
73
74
75 PROCEDURE add(debug_msg in Varchar2, debug_level in Number ) IS
76 BEGIN
77 IF l_debug = 'Y' THEN
78 debug_on;
79 IF (isdebugon) THEN
80 IF g_file IS not null THEN
81 IF (g_debug_level >= debug_level) THEN
82 utl_file.put_line(g_file_ptr, debug_msg);
83 utl_file.fflush(g_file_ptr);
84 END IF;
85 END IF; -- file
86 END IF; -- debug on
87 debug_off;
88 END IF;
89 EXCEPTION
90 WHEN others THEN
91 debug_off; -- Internal exception turn the debug off
92 END add; -- Add
93
94 END cse_debug_pub;