DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_RPT_UTIL_QRY_PKG

Source


1 PACKAGE BODY xla_rpt_util_qry_pkg AS
2 -- $Header: xlarput2.pkb 120.3 2011/04/19 00:40:49 vdamerla noship $
3 /*===========================================================================+
4 |  Copyright (c) 2003 Oracle Corporation BelmFont, California, USA           |
5 |                          ALL rights reserved.                              |
6 +============================================================================+
7 | FILENAME                                                                   |
8 |    xlarput2.pkb                                                            |
9 |                                                                            |
10 | PACKAGE NAME                                                               |
11 |     xla_rpt_util_qry_pkg                                                   |
12 |                                                                            |
13 | DESCRIPTION                                                                |
14 |     Package body. This calls the various Application/Report  specific      |
15 |     hooks to get their Custom Query for SLA wrapper Reports.               |
16 | HISTORY                                                                    |
17 |     08/13/2009  nksurana       Created                                     |
18 |                                                                            |
19 +===========================================================================*/
20 --
21 --
22 
23 --=============================================================================
24 --               *********** Local Trace Routine **********
25 --=============================================================================
26 C_LEVEL_STATEMENT     CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
27 C_LEVEL_PROCEDURE     CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
28 C_LEVEL_EVENT         CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
29 C_LEVEL_EXCEPTION     CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
30 C_LEVEL_ERROR         CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
31 C_LEVEL_UNEXPECTED    CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
32 
33 C_LEVEL_LOG_DISABLED  CONSTANT NUMBER := 99;
34 C_DEFAULT_MODULE      CONSTANT VARCHAR2(240):= 'xla.plsql.xla_rpt_util_qry_pkg';
35 
36 g_log_level           NUMBER;
37 g_log_enabled         BOOLEAN;
38 
39 PROCEDURE trace
40        (p_msg                        IN VARCHAR2
41        ,p_level                      IN NUMBER
42        ,p_module                     IN VARCHAR2) IS
43 BEGIN
44    IF (p_msg IS NULL AND p_level >= g_log_level) THEN
45       fnd_log.message(p_level, NVL(p_module,C_DEFAULT_MODULE));
46    ELSIF p_level >= g_log_level THEN
47       fnd_log.string(p_level, NVL(p_module,C_DEFAULT_MODULE), p_msg);
48    END IF;
49 
50 EXCEPTION
51    WHEN xla_exceptions_pkg.application_exception THEN
52       RAISE;
53    WHEN OTHERS THEN
54       xla_exceptions_pkg.raise_message
55          (p_location   => 'xla_rpt_util_qry_pkg.trace');
56 END trace;
57 
58 --=============================================================================
59 --               *********** Custom Query Routine **********
60 --=============================================================================
61 PROCEDURE get_custom_query(p_application_id      IN  NUMBER,
62                            p_custom_query_flag   IN  VARCHAR2,
63                            p_custom_header_query OUT NOCOPY VARCHAR2,
64                            p_custom_line_query   OUT NOCOPY VARCHAR2) IS
65 
66 l_log_module               VARCHAR2(240);
67 l_component_name           VARCHAR2(30);
68 l_custom_header_query      VARCHAR2(32000);
69 l_custom_line_query        VARCHAR2(32000);
70 
71 BEGIN
72 
73    IF g_log_enabled THEN
74       l_log_module := C_DEFAULT_MODULE||'.get_custom_query';
75    END IF;
76    --
77    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78       trace
79          (p_msg      => 'BEGIN of get_custom_query'
80          ,p_level    => C_LEVEL_PROCEDURE
81          ,p_module   => l_log_module);
82    END IF;
83 
84    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
85       trace
86          (p_msg   => 'Concurrent Request Id = '||FND_GLOBAL.CONC_REQUEST_ID
87          ,p_level => C_LEVEL_STATEMENT
88          ,p_module=> l_log_module );
89    END IF;
90 
91    BEGIN
92 
93     select fcp.concurrent_program_name
94     into l_component_name
95     from fnd_concurrent_requests fcr,fnd_concurrent_programs_vl fcp
96     where fcr.request_id = FND_GLOBAL.CONC_REQUEST_ID
97     and fcr.concurrent_program_id = fcp.concurrent_program_id;
98 
99    EXCEPTION
100    	when others then
101 	IF (C_LEVEL_STATEMENT >= g_log_level) THEN
102       	   trace
103              (p_msg   => 'Could not find the Component Name for Request Id : '||FND_GLOBAL.CONC_REQUEST_ID
104              ,p_level => C_LEVEL_STATEMENT
105              ,p_module=> l_log_module );
106 	END IF;
107    END;
108 
109    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
110       trace
111          (p_msg   => 'p_component_name = '||l_component_name
112          ,p_level => C_LEVEL_STATEMENT
113          ,p_module=> l_log_module );
114 
115        trace
116          (p_msg   => 'p_custom_query_flag = '||p_custom_query_flag
117          ,p_level => C_LEVEL_STATEMENT
118          ,p_module=> l_log_module );
119 
120    END IF;
121 
122    case
123     when l_component_name like 'AP%' then
124       IF (C_LEVEL_STATEMENT >= g_log_level) THEN
125       trace
126          (p_msg   => 'Calling Payables hook'
127          ,p_level => C_LEVEL_STATEMENT
128          ,p_module=> l_log_module );
129       END IF;
130 
131       null;
132     when l_component_name like 'AR%' then
133       IF (C_LEVEL_STATEMENT >= g_log_level) THEN
134       trace
135          (p_msg   => 'Calling Receivables hook'
136          ,p_level => C_LEVEL_STATEMENT
137          ,p_module=> l_log_module );
138       END IF;
139 
140       AR_XLA_REPORTS_PKG.JE_REPORT_HOOK
141               ( p_application_id      => p_application_id
142                ,p_component_name      => l_component_name
143                ,p_custom_query_flag   => p_custom_query_flag
144                ,p_custom_header_query => l_custom_header_query
145                ,p_custom_line_query   => l_custom_line_query) ;
146     when l_component_name like 'CLA%' then
147       IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148       trace
149          (p_msg   => 'Calling APAC Consulting Localizations hook'
150          ,p_level => C_LEVEL_STATEMENT
151          ,p_module=> l_log_module );
152       END IF;
153 
154       null;
155     when l_component_name like 'CLE%' then
156       IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157       trace
158          (p_msg   => 'Calling EMEA Consulting Localizations hook'
159          ,p_level => C_LEVEL_STATEMENT
160          ,p_module=> l_log_module );
161       END IF;
162 
163       null;
164     when l_component_name like 'CST%' then
165       IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166       trace
167          (p_msg   => 'Calling Cost Management hook'
168          ,p_level => C_LEVEL_STATEMENT
169          ,p_module=> l_log_module );
170       END IF;
171 
172       null;
173     when l_component_name like 'JG%' then
174       IF (C_LEVEL_STATEMENT >= g_log_level) THEN
175       trace
176          (p_msg   => 'Calling Regional Localizations hook'
177          ,p_level => C_LEVEL_STATEMENT
178          ,p_module=> l_log_module );
179       END IF;
180 
181       null;
182     when l_component_name like 'XLA%' then
183       IF (C_LEVEL_STATEMENT >= g_log_level) THEN
184       trace
185          (p_msg   => 'Calling Subledger Accounting hook'
186          ,p_level => C_LEVEL_STATEMENT
187          ,p_module=> l_log_module );
188       END IF;
189 
190       null;
191     else   null;
192    end case;
193 
194 p_custom_header_query  := l_custom_header_query;
195 p_custom_line_query    := l_custom_line_query;
196 
197  IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
198     trace
199        (p_msg      => 'END of get_custom_query'
200        ,p_level    => C_LEVEL_PROCEDURE
201        ,p_module   => l_log_module);
202  END IF;
203 
204 EXCEPTION
205    WHEN OTHERS                                   THEN
206      fnd_file.put_line(fnd_file.LOG,'The hook for Component : '
207                                      ||l_component_name
208                                      ||' is erroneous.'
209                                      ||'Continuing without any custom query.');
210 
211 END get_custom_query;
212 
213 
214 BEGIN
215 
216    g_log_level      := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
217    g_log_enabled    := fnd_log.test
218                           (log_level  => g_log_level
219                           ,MODULE     => C_DEFAULT_MODULE);
220 
221    IF NOT g_log_enabled  THEN
222       g_log_level := C_LEVEL_LOG_DISABLED;
223    END IF;
224 
225 END xla_rpt_util_qry_pkg;