[Home] [Help]
PACKAGE BODY: APPS.INV_EBI_UTIL
Source
1 PACKAGE BODY INV_EBI_UTIL AS
2 /* $Header: INVEIUTLB.pls 120.13.12010000.5 2009/04/06 11:50:41 prepatel ship $ */
3
4 /************************************************************************************
5 -- API name : is_pim_installed
6 -- Type : Public
7 -- Function :
8 ************************************************************************************/
9 FUNCTION is_pim_installed RETURN BOOLEAN IS
10 l_pimdl_profile_value FND_PROFILE_OPTION_VALUES.profile_option_value%TYPE;
11 BEGIN
12 l_pimdl_profile_value := FND_PROFILE.value('EGO_ENABLE_PIMDL');
13 IF (l_pimdl_profile_value = 1) THEN
14 RETURN TRUE;
15 ELSE
16 RETURN FALSE;
17 END IF;
18 EXCEPTION
19 WHEN OTHERS THEN
20 RETURN FALSE;
21 END is_pim_installed;
22
23 /************************************************************************************
24 -- API name : get_config_param_value
25 -- Type : Public
26 -- Function :
27 ************************************************************************************/
28 FUNCTION get_config_param_value(
29 p_config_tbl IN inv_ebi_name_value_tbl
30 ,p_config_param_name IN VARCHAR2
31 ) RETURN VARCHAR IS
32 l_config_param_value VARCHAR2(2000);
33 BEGIN
34 IF(p_config_tbl IS NOT NULL AND p_config_tbl.COUNT > 0) THEN
35 FOR i IN 1..p_config_tbl.COUNT LOOP
36 IF (UPPER(p_config_tbl(i).param_name) = UPPER(p_config_param_name))THEN
37 l_config_param_value := p_config_tbl(i).param_value;
38 RETURN l_config_param_value;
39 END IF;
40 END LOOP;
41 END IF;
42 RETURN NULL;
43 EXCEPTION
44 WHEN OTHERS THEN
45 RETURN NULL;
46 END get_config_param_value;
47
48 /************************************************************************************
49 -- API name : is_master_org
50 -- Type : Public
51 -- Function : FOR ORG ID
52 ************************************************************************************/
53 FUNCTION is_master_org(
54 p_organization_id IN NUMBER
55 ) RETURN VARCHAR IS
56 l_master_org NUMBER;
57 BEGIN
58
59 SELECT master_organization_id INTO l_master_org
60 FROM mtl_parameters
61 WHERE organization_id = p_organization_id;
62
63 IF(l_master_org = p_organization_id) THEN
64 RETURN FND_API.g_true;
65 ELSE
66 RETURN FND_API.g_false;
67 END IF;
68 EXCEPTION
69 WHEN OTHERS THEN
70 RETURN FND_API.g_false;
71 END is_master_org;
72
73 /************************************************************************************
74 -- API name : is_master_org
75 -- Type : Public
76 -- Function : FOR ORG CODE.
77 ************************************************************************************/
78 FUNCTION is_master_org(
79 p_organization_code IN VARCHAR2
80 ) RETURN VARCHAR IS
81 l_master_org NUMBER;
82 BEGIN
83 SELECT COUNT(1) INTO l_master_org
84 FROM mtl_parameters
85 WHERE organization_id = master_organization_id
86 AND organization_code = p_organization_code;
87
88 IF(l_master_org > 0) THEN
89 RETURN FND_API.g_true;
90 ELSE
91 RETURN FND_API.g_false;
92 END IF;
93 EXCEPTION
94 WHEN OTHERS THEN
95 RETURN FND_API.g_false;
96 END is_master_org;
97
98 /************************************************************************************
99 -- API name : get_master_organization
100 -- Type : Public
101 -- Function :
102 ************************************************************************************/
103 FUNCTION get_master_organization(
104 p_organization_id IN NUMBER
105 ) RETURN NUMBER IS
106 l_master_org NUMBER;
107 BEGIN
108
109 SELECT master_organization_id INTO l_master_org
110 FROM mtl_parameters
111 WHERE organization_id = p_organization_id;
112
113 RETURN l_master_org;
114 EXCEPTION
115 WHEN OTHERS THEN
116 RETURN NULL;
117 END get_master_organization;
118
119 /************************************************************************************
120 -- API name : get_error_table
121 -- Type : Public
122 -- Function :
123 ************************************************************************************/
124 FUNCTION get_error_table RETURN inv_ebi_error_tbl_type IS
125 l_error_table ERROR_HANDLER.error_tbl_type;
126 l_inv_ebi_err_tbl inv_ebi_error_tbl_type;
127 BEGIN
128 l_inv_ebi_err_tbl := inv_ebi_error_tbl_type();
129 ERROR_HANDLER.get_message_list( x_message_list => l_error_table );
130 FOR i IN 1..l_error_table.COUNT
131 LOOP
132 l_inv_ebi_err_tbl.EXTEND(1);
133 l_inv_ebi_err_tbl(i) := inv_ebi_error_rec_type(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
134 l_inv_ebi_err_tbl(i).organization_id := l_error_table(i).organization_id;
135 l_inv_ebi_err_tbl(i).entity_id := l_error_table(i).entity_id;
136 l_inv_ebi_err_tbl(i).table_name := l_error_table(i).table_name ;
137 l_inv_ebi_err_tbl(i).message_name := l_error_table(i).message_name;
138 l_inv_ebi_err_tbl(i).message_text := l_error_table(i).message_text;
139 l_inv_ebi_err_tbl(i).entity_index := l_error_table(i).entity_index;
140 l_inv_ebi_err_tbl(i).message_type := l_error_table(i).message_type ;
141 l_inv_ebi_err_tbl(i).row_identifier := l_error_table(i).row_identifier;
142 l_inv_ebi_err_tbl(i).bo_identifier := l_error_table(i).bo_identifier;
143 END LOOP;
144 RETURN l_inv_ebi_err_tbl;
145 EXCEPTION
146 WHEN OTHERS THEN
147 RETURN NULL;
148 END get_error_table;
149
150
151 /************************************************************************************
152 -- API name : get_error_table_msgtxt
153 -- Type : Public
154 -- Function :
155 ************************************************************************************/
156 FUNCTION get_error_table_msgtxt (
157 p_error_table IN inv_ebi_error_tbl_type
158 )
159 RETURN VARCHAR2 IS
160 l_msg_text VARCHAR2(32000);
161 l_part_msg_txt VARCHAR2(32000);
162 l_overflw_msg VARCHAR2(1) := 'N';
163 BEGIN
164 IF (p_error_table IS NOT NULL AND p_error_table.COUNT > 0) THEN
165 FOR i IN 1..p_error_table.COUNT
166 LOOP
167 IF (p_error_table(i).message_type IS NULL OR p_error_table(i).message_type <> ERROR_HANDLER.G_STATUS_WARNING) THEN
168 l_part_msg_txt := 'Entity Id: '|| p_error_table(i).entity_id ||' Message Text: '||p_error_table(i).message_text;
169 IF l_msg_text IS NULL THEN
170 l_msg_text := l_part_msg_txt;
171 ELSE
172 IF LENGTH(l_msg_text || ' , ' ||l_part_msg_txt) <31000 THEN
173 l_msg_text := l_msg_text || ' , ' ||l_part_msg_txt;
174 ELSE
175 l_overflw_msg := 'Y';
176 EXIT;
177 END IF;
178 END IF;
179 END IF;
180 END LOOP;
181 END IF;
182
183 IF (l_overflw_msg = 'Y' AND SUBSTR(l_msg_text,length(l_msg_text)-2) <> '...') THEN
184 l_msg_text := l_msg_text ||'...';
185 END IF;
186
187 RETURN l_msg_text;
188
189 EXCEPTION
190 WHEN OTHERS THEN
191 RETURN NULL;
192
193 END get_error_table_msgtxt;
194
195 /************************************************************************************
196 -- API name : get_attr_group_id
197 -- Type : Private
198 -- Function :
199 -- Bug 7240247
200 ************************************************************************************/
201 FUNCTION get_attr_group_id(
202 p_attr_group_short_name IN VARCHAR2,
203 p_attr_group_app_id IN NUMBER,
204 p_attr_group_type IN VARCHAR2
205 ) RETURN NUMBER IS
206
207 l_attr_group_id NUMBER;
208
209 BEGIN
210 SELECT attr_group_id INTO l_attr_group_id
211 FROM ego_fnd_dsc_flx_ctx_ext
212 WHERE
213 descriptive_flex_context_code = p_attr_group_short_name AND
214 application_id = p_attr_group_app_id AND
215 descriptive_flexfield_name = p_attr_group_type;
216
217 RETURN l_attr_group_id;
218 EXCEPTION
219 WHEN OTHERS THEN
220 RETURN NULL;
221
222 END get_attr_group_id;
223
224 /************************************************************************************
225 -- API name : get_application_id
226 -- Type : Public
227 -- Function :
228 -- Bug 7240247
229 ************************************************************************************/
230 FUNCTION
231 get_application_id(
232 p_application_short_name IN VARCHAR2
233 ) RETURN NUMBER IS
234 l_app_id NUMBER;
235 BEGIN
236
237 SELECT application_id INTO l_app_id
238 FROM fnd_application
239 WHERE
240 application_short_name = p_application_short_name;
241
242 RETURN l_app_id;
243
244 EXCEPTION
245 WHEN OTHERS THEN
246 RETURN NULL;
247 END get_application_id;
248
249 /************************************************************************************
250 -- API name : transform_uda
251 -- Type : Public
252 -- Function :
253 --
254 ************************************************************************************/
255 PROCEDURE transform_uda (
256 p_uda_input_obj IN inv_ebi_uda_input_obj
257 ,x_attributes_row_table OUT NOCOPY ego_user_attr_row_table
258 ,x_attributes_data_table OUT NOCOPY ego_user_attr_data_table
259 ,x_return_status OUT NOCOPY VARCHAR2 --Bug 7240247
260 ,x_msg_count OUT NOCOPY NUMBER
261 ,x_msg_data OUT NOCOPY VARCHAR2
262 )
263 IS
264 l_attributes_row_table ego_user_attr_row_table;
265 l_attributes_data_table ego_user_attr_data_table;
266 l_attribute_group_obj inv_ebi_uda_attr_grp_obj;
267 l_attribute_obj inv_ebi_uda_attr_obj;
268 l_attr_count NUMBER := 0;
269 BEGIN
270 x_return_status := FND_API.G_RET_STS_SUCCESS;
271 IF (p_uda_input_obj IS NOT NULL AND p_uda_input_obj.attribute_group_tbl IS NOT NULL AND
272 p_uda_input_obj.attribute_group_tbl.COUNT > 0 ) THEN
273 l_attributes_row_table := ego_user_attr_row_table();
274 l_attributes_data_table := ego_user_attr_data_table();
275 l_attributes_row_table.extend(p_uda_input_obj.attribute_group_tbl.COUNT);
276 FOR i IN 1..p_uda_input_obj.attribute_group_tbl.COUNT LOOP
277 l_attribute_group_obj := p_uda_input_obj.attribute_group_tbl(i);
278
279 IF(l_attribute_group_obj.attr_group_app_id IS NULL AND l_attribute_group_obj.application_short_name IS NOT NULL ) THEN
280
281 --Start Bug 7240247
282 l_attribute_group_obj.attr_group_app_id := get_application_id(
283 p_application_short_name => l_attribute_group_obj.application_short_name
284 );
285 IF(l_attribute_group_obj.attr_group_app_id IS NULL ) THEN
286 FND_MESSAGE.set_name('INV','INV_EBI_APP_INVALID');
287 FND_MESSAGE.set_token('COL_VALUE', l_attribute_group_obj.application_short_name);
288 FND_MSG_PUB.add;
289 RAISE FND_API.g_exc_error;
290 END IF;
291 --End Bug 7240247
292
293 END IF;
294 IF(l_attribute_group_obj.attr_group_id IS NULL AND l_attribute_group_obj.attr_group_short_name IS NOT NULL ) THEN
295
296 --Start Bug 7240247
297 l_attribute_group_obj.attr_group_id := get_attr_group_id(
298 p_attr_group_short_name => l_attribute_group_obj.attr_group_short_name,
299 p_attr_group_app_id => l_attribute_group_obj.attr_group_app_id,
300 p_attr_group_type => l_attribute_group_obj.attr_group_type
301 );
302
303 IF(l_attribute_group_obj.attr_group_id IS NULL ) THEN
304 FND_MESSAGE.set_name('INV','INV_EBI_ATTR_GROUP_INVALID');
305 FND_MESSAGE.set_token('COL_VALUE', l_attribute_group_obj.attr_group_short_name);
306 FND_MSG_PUB.add;
307 RAISE FND_API.g_exc_error;
308 END IF;
309 --End Bug 7240247
310
311 END IF;
312 l_attributes_row_table(i) := EGO_USER_ATTRS_DATA_PUB.build_attr_group_row_object(
313 p_row_identifier => i
314 ,p_attr_group_id => l_attribute_group_obj.attr_group_id
315 ,p_attr_group_app_id => l_attribute_group_obj.attr_group_app_id
316 ,p_attr_group_type => l_attribute_group_obj.attr_group_type
317 ,p_attr_group_name => l_attribute_group_obj.attr_group_short_name
318 ,p_data_level => l_attribute_group_obj.data_level
319 ,p_data_level_1 => l_attribute_group_obj.data_level_1
320 ,p_data_level_2 => l_attribute_group_obj.data_level_2
321 ,p_data_level_3 => l_attribute_group_obj.data_level_3
322 ,p_data_level_4 => l_attribute_group_obj.data_level_4
323 ,p_data_level_5 => l_attribute_group_obj.data_level_5
324 ,p_transaction_type => l_attribute_group_obj.transaction_type
325 );
326 IF (l_attribute_group_obj.attributes_tbl IS NOT NULL AND l_attribute_group_obj.attributes_tbl.COUNT > 0 ) THEN
327
328 l_attributes_data_table.EXTEND(l_attribute_group_obj.attributes_tbl.COUNT);
329
330 FOR j IN 1..l_attribute_group_obj.attributes_tbl.COUNT LOOP
331
332 l_attribute_obj := l_attribute_group_obj.attributes_tbl(j);
333 l_attributes_data_table(l_attr_count + j) := ego_user_attr_data_obj ( i
334 ,l_attribute_obj.attr_short_name
335 ,l_attribute_obj.attr_value_str
336 ,l_attribute_obj.attr_value_num
337 ,l_attribute_obj.attr_value_date
338 ,l_attribute_obj.attr_disp_value
339 ,l_attribute_obj.attr_unit_of_measure
340 ,l_attribute_obj.user_row_identifier
341 );
342 END LOOP;
343
344 l_attr_count := l_attr_count + l_attribute_group_obj.attributes_tbl.COUNT;
345
346 END IF;
347
348 END LOOP;
349
350 END IF;
351
352 x_attributes_row_table := l_attributes_row_table;
353 x_attributes_data_table := l_attributes_data_table;
354
355 EXCEPTION
356 WHEN FND_API.g_exc_error THEN
357
358 x_return_status := FND_API.g_ret_sts_error;
359 IF(x_msg_data IS NULL) THEN
360 fnd_msg_pub.count_and_get(
361 p_encoded => FND_API.g_false
362 ,p_count => x_msg_count
363 ,p_data => x_msg_data
364 );
365 END IF;
366 WHEN OTHERS THEN
367
368 x_return_status := FND_API.g_ret_sts_unexp_error;
369 IF (x_msg_data IS NOT NULL) THEN
370 x_msg_data := x_msg_data||' ->INV_EBI_UTIL.transform_uda ';
371 ELSE
372 x_msg_data := SQLERRM||'INV_EBI_UTIL.transform_uda ';
373 END IF;
374 END transform_uda;
375
376 /************************************************************************************
377 -- API name : transform_attr_rowdata_uda
378 -- Type : Public
379 -- Function :
380 --
381 ************************************************************************************/
382 PROCEDURE transform_attr_rowdata_uda(
383 p_attributes_row_table IN ego_user_attr_row_table
384 ,p_attributes_data_table IN ego_user_attr_data_table
385 ,x_uda_input_obj OUT NOCOPY inv_ebi_uda_input_obj
386 ,x_return_status OUT NOCOPY VARCHAR2 --Bug 7240247
387 ,x_msg_count OUT NOCOPY NUMBER
388 ,x_msg_data OUT NOCOPY VARCHAR2
389 )
390 IS
391 l_attr_obj inv_ebi_uda_attr_obj;
392 l_attr_tbl inv_ebi_uda_attr_tbl;
393 l_attr_grp_obj inv_ebi_uda_attr_grp_obj;
394 l_attr_grp_tbl inv_ebi_uda_attr_grp_tbl;
395 l_count NUMBER := 0;
396 BEGIN
397 x_return_status := FND_API.G_RET_STS_SUCCESS;
398 IF ( p_attributes_row_table IS NOT NULL AND p_attributes_row_table.COUNT > 0
399 AND p_attributes_data_table IS NOT NULL AND p_attributes_data_table.COUNT >0 ) THEN
400
401 l_attr_grp_tbl := inv_ebi_uda_attr_grp_tbl();
402
403 FOR i IN p_attributes_row_table.FIRST .. p_attributes_row_table.LAST
404 LOOP
405 l_attr_grp_tbl.extend();
406 l_count := 1;
407 l_attr_tbl := inv_ebi_uda_attr_tbl();
408 FOR j IN p_attributes_data_table.FIRST .. p_attributes_data_table.LAST
409 LOOP
410 IF( p_attributes_data_table(j).ROW_IDENTIFIER = p_attributes_row_table(i).ROW_IDENTIFIER) THEN
411
412 l_attr_tbl.extend();
413 l_attr_obj := inv_ebi_uda_attr_obj( p_attributes_data_table(j).ATTR_NAME
414 ,p_attributes_data_table(j).ATTR_VALUE_STR
415 ,p_attributes_data_table(j).ATTR_VALUE_NUM
416 ,p_attributes_data_table(j).ATTR_VALUE_DATE
417 ,p_attributes_data_table(j).ATTR_DISP_VALUE
418 ,p_attributes_data_table(j).ATTR_UNIT_OF_MEASURE
419 ,p_attributes_data_table(j).USER_ROW_IDENTIFIER
420 ,NULL);
421
422 l_attr_tbl(l_count) := l_attr_obj;
423 l_count := l_count +1;
424
425 END IF;
426 END LOOP;
427 l_attr_grp_obj := inv_ebi_uda_attr_grp_obj( p_attributes_row_table(i).ATTR_GROUP_ID
428 ,p_attributes_row_table(i).ATTR_GROUP_APP_ID
429 ,NULL
430 ,p_attributes_row_table(i).ATTR_GROUP_TYPE
431 ,p_attributes_row_table(i).ATTR_GROUP_NAME
432 ,p_attributes_row_table(i).DATA_LEVEL
433 ,p_attributes_row_table(i).DATA_LEVEL_1
434 ,p_attributes_row_table(i).DATA_LEVEL_2
435 ,p_attributes_row_table(i).DATA_LEVEL_3
436 ,p_attributes_row_table(i).DATA_LEVEL_4
437 ,p_attributes_row_table(i).DATA_LEVEL_5
438 ,p_attributes_row_table(i).TRANSACTION_TYPE
439 ,l_attr_tbl
440 );
441 l_attr_grp_tbl(i) := l_attr_grp_obj;
442
443 END LOOP;
444 x_uda_input_obj := inv_ebi_uda_input_obj(
445 l_attr_grp_tbl
446 ,NULL
447 ,NULL
448 ,NULL
449 ,NULL
450 ,NULL
451 ,NULL
452 ,NULL
453 ,NULL
454 ,NULL
455 ,NULL
456 );
457
458 END IF;
459 EXCEPTION
460 WHEN OTHERS THEN
461 x_return_status := FND_API.g_ret_sts_unexp_error;
462 IF (x_msg_data IS NOT NULL) THEN
463 x_msg_data := x_msg_data||' ->INV_EBI_UTIL.transform_attr_rowdata_uda ';
464 ELSE
465 x_msg_data := SQLERRM||'INV_EBI_UTIL.transform_attr_rowdata_uda ';
466 END IF;
467 END transform_attr_rowdata_uda;
468
469
470 /************************************************************************************
471 -- API name : set_apps_context
472 -- Type : Public
473 -- Procedure : p_name_value_list contaning user id and responsibility id
474 -- Desc : This API to initialize the apps context for forward and
475 -- reverse flow API's.
476 ************************************************************************************/
477
478 PROCEDURE set_apps_context( p_name_value_tbl IN inv_ebi_name_value_tbl)
479 IS
480 l_user VARCHAR2(100);
481 l_resp VARCHAR2(100);
482 l_user_id NUMBER(15);
483 l_resp_id NUMBER(15);
484 l_resp_appl_id NUMBER(15);
485 l_sec_grp_id NUMBER(15);
486 l_language FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
487 l_language_code FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
488 l_date_format FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
489 l_date_language FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
490 l_numeric_characters FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
491 l_nls_sort FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
492 l_nls_territory FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
493 l_limit_time NUMBER;
494 l_limit_connects NUMBER;
495 l_org_id FND_PROFILE_OPTION_VALUES.PROFILE_OPTION_VALUE%TYPE;
496 l_timeout NUMBER;
497 BEGIN
498 IF p_name_value_tbl IS NOT NULL AND p_name_value_tbl.COUNT>0
499 THEN
500 l_user := INV_EBI_UTIL.get_config_param_value(p_name_value_tbl,'USER');
501 l_resp := INV_EBI_UTIL.get_config_param_value(p_name_value_tbl,'RESPONSIBILITY');
502 END IF;
503
504 BEGIN
505 SELECT usr.user_id,
506 furg.responsibility_id,
507 furg.responsibility_application_id,
508 furg.security_group_id
509 INTO l_user_id,
510 l_resp_id,
511 l_resp_appl_id,
512 l_sec_grp_id
513 FROM FND_USER_RESP_GROUPS FURG, FND_RESPONSIBILITY_TL FR , FND_USER USR
514 WHERE furg.user_id = usr.user_id
515 AND furg.responsibility_id = fr.responsibility_id
516 AND furg.responsibility_application_id = fr.application_id
517 AND UPPER(usr.user_name) = UPPER(l_user)
518 AND UPPER(fr.responsibility_name) = UPPER(l_resp);
519 EXCEPTION
520 WHEN OTHERS THEN
521 NULL;
522 END;
523
524 IF l_user_id IS NOT NULL AND l_resp_id IS NOT NULL AND l_resp_appl_id IS NOT NULL
525 THEN
526 FND_GLOBAL.apps_initialize(l_user_id, l_resp_id, l_resp_appl_id,l_sec_grp_id);
527 END IF;
528
529 FND_SESSION_MANAGEMENT.SETUSERNLS(l_user_id
530 ,NULL
531 ,l_language
532 ,l_language_code
533 ,l_date_format
534 ,l_date_language
535 ,l_numeric_characters
536 ,l_nls_sort
537 ,l_nls_territory
538 ,l_limit_time
539 ,l_limit_connects
540 ,l_org_id
541 ,l_timeout );
542
543 FND_GLOBAL.SET_NLS_CONTEXT(l_language,
544 l_date_format,
545 l_date_language,
546 l_numeric_characters,
547 l_nls_sort,
548 l_nls_territory);
549
550 EXCEPTION
551 WHEN OTHERS THEN
552 NULL;
553 END set_apps_context;
554
555 -- ------------------------------------------------------------------
556 -- Name: put_names
557 -- Desc: Setup which directory to put the log and what the log file
558 -- name is. The directory setup is used only if the program
559 -- is not run thru concurrent manager
560 -- -----------------------------------------------------------------
561 PROCEDURE put_names(
562 p_log_file VARCHAR2,
563 p_out_file VARCHAR2,
564 p_directory VARCHAR2) IS
565 BEGIN
566 FND_FILE.PUT_NAMES(p_log_file,p_out_file,p_directory);
567 END put_names;
568 -- ------------------------------------------------------------------
569 -- Name: debug_line
570 -- Desc: If debug flag is turned on, the log will be printed
571 -- -----------------------------------------------------------------
572 PROCEDURE debug_line(
573 p_text VARCHAR2) IS
574 BEGIN
575 IF (INV_EBI_UTIL.g_debug) THEN
576 FND_FILE.PUT_LINE(FND_FILE.LOG,to_char(sysdate,'DD/MON/YYYY HH24:MI:SS')||': '||p_text);
577 END IF;
578 END debug_line;
579 -- ------------------------------------------------------------------
580 -- Name: debug_status
581 -- Desc:
582 -- -----------------------------------------------------------------
583 FUNCTION debug_status
584 RETURN boolean
585 IS
586 BEGIN
587 IF (fnd_profile.value('INV_EBI_DEBUG') = 'Y') THEN
588 RETURN true;
589 ELSE
590 RETURN false;
591 END IF;
592 EXCEPTION
593 WHEN OTHERS THEN
594 RETURN false;
595 END debug_status;
596
597 -- ------------------------------------------------------------------
598 -- Name: setup
599 -- Desc:
600 -- -----------------------------------------------------------------
601 PROCEDURE setup(
602 p_filename VARCHAR2 Default NULL) IS
603 l_path varchar2(200) := FND_PROFILE.value('INV_EBI_DEBUG_DIRECTORY');
604 BEGIN
605 INV_EBI_UTIL.g_debug := debug_status;
606
607 IF (INV_EBI_UTIL.g_debug) THEN
608
609 INV_EBI_UTIL.put_names(nvl(p_filename,'EBS'||to_char(sysdate,'DDMMYYYYHH24MISS'))||'.log',nvl(p_filename,'EBS'||to_char(sysdate,'DDMMYYYYHH24MISS'))||'.out',l_path);
610 INV_EBI_UTIL.debug_line('At the start of the Debug process is ');
611 END IF;
612 END setup;
613 -- ------------------------------------------------------------------
614 -- Name: wrapup
615 -- Desc:
616 -- -----------------------------------------------------------------
617
618 PROCEDURE wrapup IS
619 BEGIN
620 IF (INV_EBI_UTIL.g_debug) THEN
621 INV_EBI_UTIL.debug_line('At the end of Debug Process');
622 FND_FILE.close;
623 END IF;
624 END wrapup;
625 END INV_EBI_UTIL;