5:
6: G_SECT_WIDTH CONSTANT NUMBER := 4;
7: G_PROMPT_WIDTH CONSTANT NUMBER := 30;
8:
9: g_msg_level NUMBER := FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM;
10: g_pkg_name VARCHAR2(40);
11: g_proc_name VARCHAR2(40);
12: g_changed BOOLEAN;
13:
49: p_proc_name VARCHAR2 := NULL
50: ) IS
51: BEGIN
52: IF p_reset THEN
53: g_msg_level := FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM;
54: g_pkg_name := NULL;
55: g_proc_name := NULL;
56: g_changed := FALSE;
57: END IF;
55: g_proc_name := NULL;
56: g_changed := FALSE;
57: END IF;
58: IF p_msg_level IS NOT NULL AND
59: p_msg_level >= FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW AND
60: p_msg_level <= FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR THEN
61: g_msg_level := p_msg_level;
62: END IF;
63: IF p_pkg_name IS NOT NULL THEN
56: g_changed := FALSE;
57: END IF;
58: IF p_msg_level IS NOT NULL AND
59: p_msg_level >= FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW AND
60: p_msg_level <= FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR THEN
61: g_msg_level := p_msg_level;
62: END IF;
63: IF p_pkg_name IS NOT NULL THEN
64: g_pkg_name := substrb(p_pkg_name, 1, 40); /* bug 4002567*/
145: msg(p_sect, p_prompt, to_char(p_value), p_error);
146: END;
147:
148: PROCEDURE add_error(
149: p_level NUMBER := FND_MSG_PUB.G_MSG_LVL_ERROR
150: ) IS
151: BEGIN
152: IF FND_MSG_PUB.Check_Msg_Level(p_level) THEN
153: error_message;
148: PROCEDURE add_error(
149: p_level NUMBER := FND_MSG_PUB.G_MSG_LVL_ERROR
150: ) IS
151: BEGIN
152: IF FND_MSG_PUB.Check_Msg_Level(p_level) THEN
153: error_message;
154: FND_MSG_PUB.Add;
155: END IF;
156: END add_error;
150: ) IS
151: BEGIN
152: IF FND_MSG_PUB.Check_Msg_Level(p_level) THEN
153: error_message;
154: FND_MSG_PUB.Add;
155: END IF;
156: END add_error;
157:
158: PROCEDURE add_exc_error(
157:
158: PROCEDURE add_exc_error(
159: p_pkg_name VARCHAR2,
160: p_api_name VARCHAR2,
161: p_level NUMBER := FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
162: ) IS
163: BEGIN
164:
165:
162: ) IS
163: BEGIN
164:
165:
166: IF FND_MSG_PUB.Check_Msg_Level(p_level) THEN
167: ITG_MSG.text(
168: G_ERROR_PREFIX||substrb(SQLERRM, 1, 2000 - lengthb(G_ERROR_PREFIX))); /* bug 4002567*/
169: FND_MSG_PUB.Add;
170: FND_MSG_PUB.Build_Exc_Msg(p_pkg_name, p_api_name, 'exceptional error');
165:
166: IF FND_MSG_PUB.Check_Msg_Level(p_level) THEN
167: ITG_MSG.text(
168: G_ERROR_PREFIX||substrb(SQLERRM, 1, 2000 - lengthb(G_ERROR_PREFIX))); /* bug 4002567*/
169: FND_MSG_PUB.Add;
170: FND_MSG_PUB.Build_Exc_Msg(p_pkg_name, p_api_name, 'exceptional error');
171: error_message;
172: FND_MSG_PUB.Add;
173: END IF;
166: IF FND_MSG_PUB.Check_Msg_Level(p_level) THEN
167: ITG_MSG.text(
168: G_ERROR_PREFIX||substrb(SQLERRM, 1, 2000 - lengthb(G_ERROR_PREFIX))); /* bug 4002567*/
169: FND_MSG_PUB.Add;
170: FND_MSG_PUB.Build_Exc_Msg(p_pkg_name, p_api_name, 'exceptional error');
171: error_message;
172: FND_MSG_PUB.Add;
173: END IF;
174: END add_exc_error;
168: G_ERROR_PREFIX||substrb(SQLERRM, 1, 2000 - lengthb(G_ERROR_PREFIX))); /* bug 4002567*/
169: FND_MSG_PUB.Add;
170: FND_MSG_PUB.Build_Exc_Msg(p_pkg_name, p_api_name, 'exceptional error');
171: error_message;
172: FND_MSG_PUB.Add;
173: END IF;
174: END add_exc_error;
175:
176: PROCEDURE flush_to_logfile(
197: l_file_name := p_file_name;
198: END IF;
199:
200: IF l_dir_name IS NOT NULL THEN
201: FND_MSG_PUB.get(
202: p_msg_index => FND_MSG_PUB.G_FIRST,
203: p_encoded => FND_API.G_FALSE,
204: p_data => l_text,
205: p_msg_index_out => l_inxout);
198: END IF;
199:
200: IF l_dir_name IS NOT NULL THEN
201: FND_MSG_PUB.get(
202: p_msg_index => FND_MSG_PUB.G_FIRST,
203: p_encoded => FND_API.G_FALSE,
204: p_data => l_text,
205: p_msg_index_out => l_inxout);
206: IF l_text IS NULL THEN
212: IF i > 0 THEN
213: l_text := substr(l_text, length(ITG_Debug.G_ERROR_PREFIX) + i);
214: END IF;
215: UTL_FILE.put_line(l_fh, l_text);
216: FND_MSG_PUB.get(
217: p_msg_index => FND_MSG_PUB.G_NEXT,
218: p_encoded => FND_API.G_FALSE,
219: p_data => l_text,
220: p_msg_index_out => l_inxout);
213: l_text := substr(l_text, length(ITG_Debug.G_ERROR_PREFIX) + i);
214: END IF;
215: UTL_FILE.put_line(l_fh, l_text);
216: FND_MSG_PUB.get(
217: p_msg_index => FND_MSG_PUB.G_NEXT,
218: p_encoded => FND_API.G_FALSE,
219: p_data => l_text,
220: p_msg_index_out => l_inxout);
221: END LOOP;
220: p_msg_index_out => l_inxout);
221: END LOOP;
222: UTL_FILE.fclose(l_fh);
223: END IF;
224: FND_MSG_PUB.Delete_Msg;
225: EXCEPTION WHEN OTHERS THEN
226: NULL; -- added this section to capture lower level exceptions if any. 3554249
227: END flush_to_logfile;
228: