1 PACKAGE BODY AP_DEBUG_PKG AS
2 /* $Header: apdebugb.pls 120.1 2003/06/13 19:42:03 isartawi noship $ */
3
4 /* This procedure will split the message into 80 character chunks and print
5 it to the log or report file. */
6
7 PROCEDURE SPLIT (P_string IN VARCHAR2) IS
8
9 stemp VARCHAR2(80);
10 nlength NUMBER := 1;
11
12 BEGIN
13
14 WHILE(length(P_string) >= nlength)
15 LOOP
16
17 -- M Sameen 21-FEB-2001 Bug 1645569
18 -- Changed substr to substrb
19
20 stemp := substrb(P_string, nlength, 80);
21 fnd_file.put_line(FND_FILE.LOG, stemp);
22 nlength := (nlength + 80);
23
24 END LOOP;
25
26 EXCEPTION
27 WHEN OTHERS THEN
28
29 -- AP_DEBUG_PKG.Print('Y','SQLAP','AP_DEBUG','ERROR',SQLERRM);
30 IF (SQLCODE <> -20001) THEN
31 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
32 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
33 END IF;
34 APP_EXCEPTION.RAISE_EXCEPTION;
35
36 END SPLIT;
37
38 /* This is an overloaded procedure to set the tokens and retrieve the fnd
39 message and print it to the appropriate log/report file.
40 In our pl/sql code, we generally report errors using this version of print
41 and never go beyond token2 and its value. So, in order to preserve the
42 defaulting order such that we did not have to give a lot of "commas",
43 the P_called_online param was placed in that spot.
44 */
45 PROCEDURE Print
46 (
47 P_debug IN VARCHAR2,
48 P_app_short_name IN VARCHAR2,
49 P_message_name IN VARCHAR2,
50 P_token1 IN VARCHAR2,
51 P_value1 IN VARCHAR2 DEFAULT NULL,
52 P_token2 IN VARCHAR2 DEFAULT NULL,
53 P_value2 IN VARCHAR2 DEFAULT NULL,
54 P_called_online IN BOOLEAN DEFAULT FALSE,
55 P_token3 IN VARCHAR2 DEFAULT NULL,
56 P_value3 IN VARCHAR2 DEFAULT NULL,
57 P_token4 IN VARCHAR2 DEFAULT NULL,
58 P_value4 IN VARCHAR2 DEFAULT NULL,
59 P_token5 IN VARCHAR2 DEFAULT NULL,
60 P_value5 IN VARCHAR2 DEFAULT NULL,
61 P_token6 IN VARCHAR2 DEFAULT NULL,
62 P_value6 IN VARCHAR2 DEFAULT NULL
63 ) IS
64
65 BEGIN
66
67 IF P_debug = 'Y' THEN
68
69 fnd_message.set_name(P_app_short_name,P_message_name);
70
71 IF ( P_token1 IS NOT NULL ) and ( P_value1 IS NOT NULL ) THEN
72 fnd_message.set_token(P_token1,P_value1);
73 END IF;
74
75 IF ( P_token2 IS NOT NULL ) and ( P_value2 IS NOT NULL ) THEN
76 fnd_message.set_token(P_token2,P_value2);
77 END IF;
78
79 IF ( P_token3 IS NOT NULL ) and ( P_value3 IS NOT NULL ) THEN
80 fnd_message.set_token(P_token3,P_value3);
81 END IF;
82
83 IF ( P_token4 IS NOT NULL ) and ( P_value4 IS NOT NULL ) THEN
84 fnd_message.set_token(P_token4,P_value4);
85 END IF;
86
87 IF ( P_token5 IS NOT NULL ) and ( P_value5 IS NOT NULL ) THEN
88 fnd_message.set_token(P_token5,P_value5);
89 END IF;
90
91 IF ( P_token6 IS NOT NULL ) and ( P_value6 IS NOT NULL ) THEN
92 fnd_message.set_token(P_token6,P_value6);
93 END IF;
94
95 IF (P_called_online = FALSE) THEN
96 SPLIT(fnd_message.get);
97 END IF;
98
99 END IF;
100
101 END Print;
102
103 /* This is an overloaded procedure to split a message string into 132 character
104 strings. */
105
106 PROCEDURE Print
107 (
108 P_debug IN VARCHAR2,
109 P_string IN VARCHAR2,
110 P_called_online IN BOOLEAN DEFAULT FALSE
111 ) IS
112
113 BEGIN
114
115 IF (P_Debug = 'Y' AND P_called_online = FALSE) THEN
116 SPLIT(P_string);
117 END IF;
118
119 EXCEPTION
120 WHEN OTHERS THEN
121
122 -- AP_DEBUG_PKG.Print('Y','SQLAP','AP_DEBUG','ERROR',SQLERRM);
123 IF (SQLCODE <> -20001) THEN
124 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
125 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
126 END IF;
127 APP_EXCEPTION.RAISE_EXCEPTION;
128
129 END Print;
130
131
132 /* This is an overloaded procedure to concatenate a given variable name and
133 the date value. */
134
135 PROCEDURE Print
136 (
137 P_debug IN VARCHAR2,
138 P_variable_name IN VARCHAR2,
139 P_variable_value IN DATE,
140 P_called_online IN BOOLEAN DEFAULT FALSE
141 ) IS
142
143 BEGIN
144
145 IF (P_Debug = 'Y' AND P_called_online = FALSE) THEN
146 SPLIT(P_variable_name || ' = ' || to_char(P_variable_value,
147 'DD-MON-YYYY HH24:MI:SS'));
148 END IF;
149
150 EXCEPTION
151 WHEN OTHERS THEN
152
153 -- AP_DEBUG_PKG.Print('Y','SQLAP','AP_DEBUG','ERROR',SQLERRM);
154 IF (SQLCODE <> -20001) THEN
155 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
156 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
157 END IF;
158 APP_EXCEPTION.RAISE_EXCEPTION;
159
160 END Print;
161
162 /* This is an overloaded procedure to concatenate a given variable name and
163 the number value. */
164
165 PROCEDURE Print
166 (
167 P_debug IN VARCHAR2,
168 P_variable_name IN VARCHAR2,
169 P_variable_value IN NUMBER,
170 P_called_online IN BOOLEAN DEFAULT FALSE
171 ) IS
172
173 BEGIN
174
175 IF (P_Debug = 'Y' AND P_called_online = FALSE) THEN
176 SPLIT(P_variable_name || ' = ' || to_char(P_variable_value));
177 END IF;
178
179 EXCEPTION
180 WHEN OTHERS THEN
181
182 -- AP_DEBUG_PKG.Print('Y','SQLAP','AP_DEBUG','ERROR',SQLERRM);
183 IF (SQLCODE <> -20001) THEN
184 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
185 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
186 END IF;
187 APP_EXCEPTION.RAISE_EXCEPTION;
188
189 END Print;
190
191 /* This is an overloaded procedure to concatenate a given variable name and
192 the string value. */
193
194 PROCEDURE Print
195 (
196 P_debug IN VARCHAR2,
197 P_variable_name IN VARCHAR2,
198 P_variable_value IN VARCHAR2,
199 P_called_online IN BOOLEAN DEFAULT FALSE
200 ) IS
201
202 BEGIN
203
204 IF (P_Debug = 'Y' AND P_called_online = FALSE) THEN
205 SPLIT(P_variable_name || ' = ' || P_variable_value);
206 END IF;
207
208 EXCEPTION
209 WHEN OTHERS THEN
210
211 -- AP_DEBUG_PKG.Print('Y','SQLAP','AP_DEBUG','ERROR',SQLERRM);
212 IF (SQLCODE <> -20001) THEN
213 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
214 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
215 END IF;
216 APP_EXCEPTION.RAISE_EXCEPTION;
217
218 END Print;
219
220 /* This is an overloaded procedure to concatenate a given variable name and
221 the boolean value. In the following proc, the variable_value is passed before
222 the variable_name to avoid matching signatures with the (second from top)
223 overloaded version of Print. */
224
225 PROCEDURE Print
226 (
227 P_debug IN VARCHAR2,
228 P_variable_value IN BOOLEAN,
229 P_variable_name IN VARCHAR2,
230 P_called_online IN BOOLEAN DEFAULT FALSE
231 ) IS
232
233 vtemp VARCHAR2(10) := 'FALSE';
234
235 BEGIN
236
237 IF (P_Debug = 'Y' AND P_called_online = FALSE) THEN
238 IF ( P_variable_value ) THEN
239 vtemp := 'TRUE';
240 ELSE
241 vtemp := 'FALSE';
242 END IF;
243
244 SPLIT(P_variable_name || ' = ' || vtemp);
245 END IF;
246
247 EXCEPTION
248 WHEN OTHERS THEN
249
250 -- AP_DEBUG_PKG.Print('Y','SQLAP','AP_DEBUG','ERROR',SQLERRM);
251 IF (SQLCODE <> -20001) THEN
252 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
253 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
254 END IF;
255 APP_EXCEPTION.RAISE_EXCEPTION;
256
257 END Print;
258
259 END AP_DEBUG_PKG;