DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_UTILITY_PVT

Source


1 PACKAGE BODY inv_utility_pvt AS
2   -- $Header: INVFUTLB.pls 115.1 2002/12/30 09:27:23 jsugumar noship $
3 
4   g_pkg_name CONSTANT VARCHAR2(30)       := 'INV_UTILITY_PVT';
5   pg_file_name        VARCHAR2(100)      := NULL;
6   pg_path_name        VARCHAR2(100)      := NULL;
7   pg_fp               UTL_FILE.file_type;
8 
9   /*=======================================================
10     API name    : get_log_dir
11     Type        : Private
12     Function    : Get path name defined from utl_file_dir
13   ========================================================*/
14   PROCEDURE get_log_dir(
15     x_return_status OUT NOCOPY VARCHAR2
16   , x_msg_count     OUT NOCOPY NUMBER
17   , x_msg_data      OUT NOCOPY VARCHAR2
18   , x_log_dir       OUT NOCOPY VARCHAR2
19   ) IS
20     invalid_dir EXCEPTION;
21     l_write_dir VARCHAR2(2000) := NULL;
22     l_msg       VARCHAR2(2000);
23 
24     CURSOR get_filedebugdir IS
25       SELECT RTRIM(LTRIM(VALUE))
26         FROM v$parameter
27        WHERE UPPER(NAME) = 'UTL_FILE_DIR';
28 
29   BEGIN
30     OPEN get_filedebugdir;
31     FETCH get_filedebugdir INTO l_write_dir;
32 
33     IF (l_write_dir IS NULL) THEN
34       RAISE invalid_dir;
35     END IF;
36 
37     CLOSE get_filedebugdir;
38 
39     IF (INSTR(l_write_dir, ',') > 0) THEN
40       l_write_dir  := SUBSTR(l_write_dir, 1, INSTR(l_write_dir, ',') - 1);
41     END IF;
42 
43     x_log_dir  := l_write_dir;
44   EXCEPTION
45     WHEN invalid_dir THEN
46       x_return_status  := fnd_api.g_ret_sts_error;
47     WHEN OTHERS THEN
48       x_return_status  := fnd_api.g_ret_sts_error;
49   END get_log_dir;
50 
51   /*=======================================================
52     API name    : write_debug_file
53     Type        : Private
54     Function    : Write message to logfile.
55   =======================================================*/
56 
57   PROCEDURE write_debug_file(line IN VARCHAR2) IS
58   BEGIN
59     IF (pg_file_name IS NOT NULL) THEN
60       UTL_FILE.put_line(pg_fp, line);
61       UTL_FILE.fflush(pg_fp);
62     END IF;
63   END write_debug_file;
64 
65   /*=======================================================
66    API name    : open_debug_file
67    Type        : Private
68    Function    : Open the logfile for writing log message.
69   =======================================================*/
70   PROCEDURE open_debug_file(
71     p_path_name     IN            VARCHAR2
72   , p_file_name     IN            VARCHAR2
73   , x_return_status OUT NOCOPY    VARCHAR2
74   , x_msg_count     OUT NOCOPY    NUMBER
75   , x_msg_data      OUT NOCOPY    VARCHAR2
76   ) IS
77   BEGIN
78     pg_fp         := UTL_FILE.fopen(p_path_name, p_file_name, 'a');
79     pg_file_name  := p_file_name;
80     pg_path_name  := p_path_name;
81   EXCEPTION
82     WHEN UTL_FILE.invalid_path THEN
83       x_return_status  := fnd_api.g_ret_sts_error;
84     WHEN UTL_FILE.invalid_mode THEN
85       x_return_status  := fnd_api.g_ret_sts_error;
86   END open_debug_file;
87 
88   /*=======================================================
89    API name    : close_debug_file
90    Type        : Private
91    Function    : Close the logfile
92   =======================================================*/
93 
94   PROCEDURE close_debug_file IS
95   BEGIN
96     IF (pg_file_name IS NOT NULL) THEN
97       UTL_FILE.fclose(pg_fp);
98     END IF;
99   END close_debug_file;
100 END inv_utility_pvt;