DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_XLA_CMP_MLS_PKG

Source


1 PACKAGE BODY fa_xla_cmp_mls_pkg AS
2 /* $Header: faxlacmb.pls 120.0 2006/03/06 22:22:39 bridgway noship $   */
3 /*===========================================================================+
4 |             Copyright (c) 2001-2002 Oracle Corporation                     |
5 |                       Redwood Shores, CA, USA                              |
6 |                         All rights reserved.                               |
7 +============================================================================+
8 | PACKAGE NAME                                                               |
9 |     fa_xla_cmp_mls_pkg                                                     |
10 |                                                                            |
11 | DESCRIPTION                                                                |
12 |     This is a FA private package, which contains all the APIs required     |
13 |     for to create mls level extract for each extract type                  |
14 |                                                                            |
15 |                                                                            |
16 | HISTORY                                                                    |
17 |     25-JUN-2002 BRIDGWAY      Created                                      |
18 |                                                                            |
19 +===========================================================================*/
20 
21 
22 --+============================================+
23 --|                                            |
24 --|  PRIVATE  PROCEDURES/FUNCTIONS             |
25 --|                                            |
26 --+============================================+
27 
28 
29 C_PRIVATE_API_1   CONSTANT VARCHAR2(32000) := '
30 
31 /*======================================================================+
32 |                                                                       |
33 | Private Function                                                      |
34 |    $proc_name$                                                        |
35 |                                                                       |
36 +======================================================================*/
37 
38   PROCEDURE $proc_name$ IS
39 
40      l_procedure_name  varchar2(80) := ''$proc_name$'';
41 
42   BEGIN
43 
44      IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
45         fnd_log.string(G_LEVEL_PROCEDURE,
46                        G_MODULE_NAME||l_procedure_name||''.begin'',
47                        ''Beginning of procedure'');
48      END IF;
49 
50 ';
51 
52 C_PRIVATE_API_2   CONSTANT VARCHAR2(32000) := '
53 
54      IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
55         fnd_log.string(G_LEVEL_PROCEDURE,
56                        G_MODULE_NAME||l_procedure_name,
57                        ''Rows inserted into mls: '' || to_char(SQL%ROWCOUNT));
58      END IF;
59 
60 ';
61 
62 
63 C_PRIVATE_API_3   CONSTANT VARCHAR2(32000) := '
64 
65       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
66          fnd_log.string(G_LEVEL_PROCEDURE,
67                         G_MODULE_NAME||l_procedure_name||''.end'',
68                         ''End of procedure'');
69       END IF;
70 
71    EXCEPTION
72       WHEN others THEN
73            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
74               fnd_message.set_name(''OFA'',''FA_SHARED_ORACLE_ERR'');
75               fnd_message.set_token(''ORACLE_ERR'',SQLERRM);
76               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
77            END IF;
78            raise;
79 
80    end $proc_name$;
81 
82 ';
83 
84 
85 
86 
87 --+==========================================================================+
88 --|                                                                          |
89 --| Private global constants                                                 |
90 --|                                                                          |
91 --+==========================================================================+
92 
93 C_CREATED_ERROR      CONSTANT BOOLEAN := FALSE;
94 C_CREATED            CONSTANT BOOLEAN := TRUE;
95 
96 g_Max_line            CONSTANT NUMBER := 225;
97 g_chr_quote           CONSTANT VARCHAR2(10):='''';
98 g_chr_newline         CONSTANT VARCHAR2(10):= fa_cmp_string_pkg.g_chr_newline;
99 
100 g_log_level_rec fa_api_types.log_level_rec_type;
101 
102 G_CURRENT_RUNTIME_LEVEL        NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
103 
104 G_LEVEL_STATEMENT     CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
105 G_LEVEL_PROCEDURE     CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
106 G_LEVEL_EVENT         CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
107 G_LEVEL_EXCEPTION     CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
108 G_LEVEL_ERROR         CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
109 G_LEVEL_UNEXPECTED    CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
110 
111 G_MODULE_NAME         CONSTANT VARCHAR2(50):= 'fa.plsql.fa_xla_cmp_line_pkg.';
112 
113 
114 FUNCTION GenerateMlsExtract
115       (p_extract_type                 IN VARCHAR2,
116        p_package_body                 OUT NOCOPY DBMS_SQL.VARCHAR2S) RETURN BOOLEAN IS
117 
118    l_proc_name    varchar2(80);
119 
120    l_array_pkg              DBMS_SQL.VARCHAR2S;
121    l_BodyPkg                VARCHAR2(32000);
122    l_array_body             DBMS_SQL.VARCHAR2S;
123    l_procedure_name  varchar2(80) := 'GenerateLineExtract';
124 
125    invalid_mode EXCEPTION;
126 
127 BEGIN
128 
129    IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
130       fnd_log.string(G_LEVEL_PROCEDURE,
131                      G_MODULE_NAME||l_procedure_name||'.begin',
132                      'Beginning of procedure');
133    END IF;
134 
135    l_array_body    := fa_cmp_string_pkg.g_null_varchar2s;
136    l_array_pkg     := fa_cmp_string_pkg.g_null_varchar2s;
137 
138 
139    l_proc_name    := 'load_mls_data';
140 
141    l_bodypkg := C_PRIVATE_API_1;
142    l_bodypkg := REPLACE(l_bodypkg,'$proc_name$',l_proc_name);
143 
144    fa_cmp_string_pkg.CreateString
145         (p_package_text   => l_BodyPkg
146         ,p_array_string  => l_array_pkg);
147 
148 
149    -- call main util to dynamically determine statements to handle sources
150    if not fa_xla_cmp_sources_pkg.GenerateSourcesExtract
151         (p_extract_type => p_extract_type,
152          p_level        => 'MLS',
153          p_package_body => l_array_body) then
154          raise invalid_mode;
155    end if;
156 
157    l_array_pkg :=
158       fa_cmp_string_pkg.ConcatTwoStrings
159             (p_array_string_1  =>  l_array_pkg
160             ,p_array_string_2  =>  l_array_body);
161 
162    -- add the debug for row counts
163    l_bodypkg := C_PRIVATE_API_2;
164 
165    fa_cmp_string_pkg.CreateString
166       (p_package_text  => l_BodyPkg
167       ,p_array_string  => l_array_body);
168 
169    l_array_pkg :=
170       fa_cmp_string_pkg.ConcatTwoStrings
171          (p_array_string_1  =>  l_array_pkg
172          ,p_array_string_2  =>  l_array_body);
173 
174    -- add the closing
175    l_bodypkg := C_PRIVATE_API_3;
176    l_bodypkg := REPLACE(l_bodypkg,'$proc_name$',l_proc_name);
177 
178    fa_cmp_string_pkg.CreateString
179       (p_package_text  => l_BodyPkg
180       ,p_array_string  => l_array_body);
181 
182    l_array_pkg :=
183        fa_cmp_string_pkg.ConcatTwoStrings
184           (p_array_string_1  =>  l_array_pkg
185           ,p_array_string_2  =>  l_array_body);
186 
187    p_package_body := l_array_pkg;
188 
189    RETURN TRUE;
190 
191 EXCEPTION
192    WHEN invalid_mode THEN
193         RETURN FALSE;
194 
195    WHEN OTHERS THEN
196         IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
197            fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
198            fnd_message.set_token('ORACLE_ERR',SQLERRM);
199            FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
200         END IF;
201         RETURN FALSE;
202 
203 END GenerateMlsExtract;
204 
205 END fa_xla_cmp_mls_pkg;