[Home] [Help]
PACKAGE BODY: APPS.XLA_OKL_ACCT_HOOKS_PKG
Source
1 PACKAGE BODY xla_okl_acct_hooks_pkg AS
2 -- $Header: xlaapokl.pkb 120.1 2007/05/17 07:27:58 svellani noship $
3
4 /*===========================================================================+
5 | Copyright (c) 2003 Oracle Corporation BelmFont, California, USA |
6 | ALL rights reserved. |
7 +============================================================================+
8 | PACKAGE NAME |
9 | xla_okl_acct_hooks_pkg |
10 | |
11 | DESCRIPTION |
12 | Call accounting program integration APIs for Lease Management |
13 | |
14 | HISTORY |
15 | 04/17/2007 V. Swapna Created |
16 | |
17 +===========================================================================*/
18
19
20 --=============================================================================
21 -- **************** declarations ********************
22 --=============================================================================
23
24 --=============================================================================
25 -- *********** Local Trace Routine **********
26 --=============================================================================
27 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
28 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
29 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
30 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
31 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
32 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
33
34 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
35 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_okl_acct_hooks_pkg';
36
37 g_log_level NUMBER;
38 g_log_enabled BOOLEAN;
39
40 PROCEDURE trace
41 (p_msg IN VARCHAR2
42 ,p_level IN NUMBER
43 ,p_module IN VARCHAR2 DEFAULT C_DEFAULT_MODULE) IS
44 BEGIN
45 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
46 fnd_log.message(p_level, NVL(p_module,C_DEFAULT_MODULE));
47 ELSIF p_level >= g_log_level THEN
48 fnd_log.string(p_level, NVL(p_module,C_DEFAULT_MODULE), p_msg);
49 END IF;
50
51 EXCEPTION
52 WHEN xla_exceptions_pkg.application_exception THEN
53 RAISE;
54 WHEN OTHERS THEN
55 xla_exceptions_pkg.raise_message
56 (p_location => 'xla_okl_acct_hooks_pkg.trace');
57 END trace;
58
59 --=============================================================================
60 -- ******* Print Log File **********
61 --=============================================================================
62 PROCEDURE print_logfile(p_msg IN VARCHAR2) IS
63 BEGIN
64
65 fnd_file.put_line(fnd_file.log,p_msg);
66
67 EXCEPTION
68 WHEN xla_exceptions_pkg.application_exception THEN
69 RAISE;
70 WHEN OTHERS THEN
71 xla_exceptions_pkg.raise_message
72 (p_location => 'xla_okl_acct_hooks_pkg.print_logfile');
73 END print_logfile;
74
75
76 --=============================================================================
77 -- *********** public procedures and functions **********
78 --=============================================================================
79 --=============================================================================
80 --
81 --
82 --
83 --
84 --
85 --
86 --
87 --
88 --
89 --
90 --
91 -- 1. main (procedure)
92 --
93 --
94 --
95 --
96 --
97 --
98 --
99 --
100 --
101 --
102 --=============================================================================
103
104 --=============================================================================
105
106 --============================================================================
107 --
108 --
109 --
110 --============================================================================
111 PROCEDURE main
112 (p_application_id IN NUMBER
113 ,p_ledger_id IN NUMBER
114 ,p_process_category IN VARCHAR2
115 ,p_end_date IN DATE
116 ,p_accounting_mode IN VARCHAR2
117 ,p_valuation_method IN VARCHAR2
118 ,p_security_id_int_1 IN NUMBER
119 ,p_security_id_int_2 IN NUMBER
120 ,p_security_id_int_3 IN NUMBER
121 ,p_security_id_char_1 IN VARCHAR2
122 ,p_security_id_char_2 IN VARCHAR2
123 ,p_security_id_char_3 IN VARCHAR2
124 ,p_report_request_id IN NUMBER
125 ,p_event_name IN VARCHAR2)
126 IS
127 l_log_module VARCHAR2(240);
128 l_sqlerrm VARCHAR2(2000);
129 BEGIN
130
131 IF g_log_enabled THEN
132 l_log_module := C_DEFAULT_MODULE||'.main';
133 END IF;
134
135 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136 trace
137 (p_msg => 'BEGIN of procedure Main'
138 ,p_level => C_LEVEL_PROCEDURE
139 ,p_module => l_log_module);
140 trace
141 (p_msg => 'p_application_id = '||p_application_id
142 ,p_level => C_LEVEL_PROCEDURE
143 ,p_module => l_log_module);
144 trace
145 (p_msg => 'p_accounting_mode = '||p_accounting_mode
146 ,p_level => C_LEVEL_PROCEDURE
147 ,p_module => l_log_module);
148 trace
149 (p_msg => 'p_event_name = '||p_event_name
150 ,p_level => C_LEVEL_PROCEDURE
151 ,p_module => l_log_module);
152 END IF;
153
154 IF (C_LEVEL_PROCEDURE >= g_log_level) AND
155 (p_event_name IN ('preaccounting','postaccounting'))
156 THEN
157 trace
158 (p_msg => 'p_ledger_id = '||p_ledger_id
159 ,p_level => C_LEVEL_PROCEDURE
160 ,p_module => l_log_module);
161 trace
162 (p_msg => 'p_process_category = '||p_process_category
163 ,p_level => C_LEVEL_PROCEDURE
164 ,p_module => l_log_module);
165 trace
166 (p_msg => 'p_end_date = '||p_end_date
167 ,p_level => C_LEVEL_PROCEDURE
168 ,p_module => l_log_module);
169 trace
170 (p_msg => 'p_valuation_method = '||p_valuation_method
171 ,p_level => C_LEVEL_PROCEDURE
172 ,p_module => l_log_module);
173 trace
174 (p_msg => 'p_security_id_int_1 = '||p_security_id_int_1
175 ,p_level => C_LEVEL_PROCEDURE
176 ,p_module => l_log_module);
177 trace
178 (p_msg => 'p_security_id_int_2 = '||p_security_id_int_2
179 ,p_level => C_LEVEL_PROCEDURE
180 ,p_module => l_log_module);
181 trace
182 (p_msg => 'p_security_id_int_3 = '||p_security_id_int_3
183 ,p_level => C_LEVEL_PROCEDURE
184 ,p_module => l_log_module);
185 trace
186 (p_msg => 'p_security_id_char_1 = '||p_security_id_char_1
187 ,p_level => C_LEVEL_PROCEDURE
188 ,p_module => l_log_module);
189 trace
190 (p_msg => 'p_security_id_char_2 = '||p_security_id_char_2
191 ,p_level => C_LEVEL_PROCEDURE
192 ,p_module => l_log_module);
193 trace
194 (p_msg => 'p_security_id_char_3 = '||p_security_id_char_3
195 ,p_level => C_LEVEL_PROCEDURE
196 ,p_module => l_log_module);
197 trace
198 (p_msg => 'p_report_request_id = '||p_report_request_id
199 ,p_level => C_LEVEL_PROCEDURE
200 ,p_module => l_log_module);
201 END IF;
202
203 ----------------------------------------------------------------------------
204 -- Calling different events depending on the event name
205 ----------------------------------------------------------------------------
206
207 CASE
208 WHEN p_event_name = 'preaccounting' THEN
209 -------------------------------------------------------------------------
210 -- Following code calls preaccounting API
211 -------------------------------------------------------------------------
212 IF (C_LEVEL_EVENT >= g_log_level) THEN
213 trace
214 (p_msg => 'Ready to call preaccounting API for
215 Lease Management'
216 ,p_level => C_LEVEL_EVENT
217 ,p_module => l_log_module);
218 END IF;
219
220 okl_sla_processing_pvt.preaccounting
221 ( p_application_id => p_application_id
222 ,p_ledger_id => p_ledger_id
223 ,p_process_category => p_process_category
224 ,p_end_date => p_end_date
225 ,p_accounting_mode => p_accounting_mode
226 ,p_valuation_method => p_valuation_method
227 ,p_security_id_int_1 => p_security_id_int_1
228 ,p_security_id_int_2 => p_security_id_int_2
229 ,p_security_id_int_3 => p_security_id_int_3
230 ,p_security_id_char_1 => p_security_id_char_1
231 ,p_security_id_char_2 => p_security_id_char_2
232 ,p_security_id_char_3 => p_security_id_char_3
233 ,p_report_request_id => p_report_request_id );
234
235 IF (C_LEVEL_EVENT >= g_log_level) THEN
236 trace
237 (p_msg => 'Control returned from preaccounting API'
238 ,p_level => C_LEVEL_EVENT
239 ,p_module => l_log_module);
240 END IF;
241
242 WHEN p_event_name = 'extract' THEN
243 -------------------------------------------------------------------------
244 -- Following code calls extract API
245 -------------------------------------------------------------------------
246 IF (C_LEVEL_EVENT >= g_log_level) THEN
247 trace
248 (p_msg => 'Ready to call extract API for
249 Lease Management'
250 ,p_level => C_LEVEL_EVENT
251 ,p_module => l_log_module);
252 END IF;
253
254 okl_sla_processing_pvt.extract
255 ( p_application_id => p_application_id
256 ,p_accounting_mode => p_accounting_mode);
257
258 IF (C_LEVEL_EVENT >= g_log_level) THEN
259 trace
260 (p_msg => 'Control returned from extract API'
261 ,p_level => C_LEVEL_EVENT
262 ,p_module => l_log_module);
263 END IF;
264
265 WHEN p_event_name = 'postprocessing' THEN
266 -------------------------------------------------------------------------
267 -- Following code calls postprocessing API
268 -------------------------------------------------------------------------
269 IF (C_LEVEL_EVENT >= g_log_level) THEN
270 trace
271 (p_msg => 'Ready to call postprocessing API for
272 Lease Management'
273 ,p_level => C_LEVEL_EVENT
274 ,p_module => l_log_module);
275 END IF;
276
277 okl_sla_processing_pvt.postprocessing
278 ( p_application_id => p_application_id
279 ,p_accounting_mode => p_accounting_mode);
280
281 IF (C_LEVEL_EVENT >= g_log_level) THEN
282 trace
283 (p_msg => 'Control returned from postprocessing API'
284 ,p_level => C_LEVEL_EVENT
285 ,p_module => l_log_module);
286 END IF;
287
288 WHEN p_event_name = 'postaccounting' THEN
289 -------------------------------------------------------------------------
290 -- Following code calls postaccounting API
291 -------------------------------------------------------------------------
292 IF (C_LEVEL_EVENT >= g_log_level) THEN
293 trace
294 (p_msg => 'Ready to call postaccounting API for
295 Lease Management'
296 ,p_level => C_LEVEL_EVENT
297 ,p_module => l_log_module);
298 END IF;
299
300 okl_sla_processing_pvt.postaccounting
301 ( p_application_id => p_application_id
302 ,p_ledger_id => p_ledger_id
303 ,p_process_category => p_process_category
304 ,p_end_date => p_end_date
305 ,p_accounting_mode => p_accounting_mode
306 ,p_valuation_method => p_valuation_method
307 ,p_security_id_int_1 => p_security_id_int_1
308 ,p_security_id_int_2 => p_security_id_int_2
309 ,p_security_id_int_3 => p_security_id_int_3
310 ,p_security_id_char_1 => p_security_id_char_1
311 ,p_security_id_char_2 => p_security_id_char_2
312 ,p_security_id_char_3 => p_security_id_char_3
313 ,p_report_request_id => p_report_request_id );
314
315 IF (C_LEVEL_EVENT >= g_log_level) THEN
316 trace
317 (p_msg => 'Control returned from postaccounting API'
318 ,p_level => C_LEVEL_EVENT
319 ,p_module => l_log_module);
320 END IF;
321 END CASE;
322 EXCEPTION
323 WHEN xla_exceptions_pkg.application_exception THEN
324 l_sqlerrm := fnd_message.get();
325
326 IF (C_LEVEL_EXCEPTION>= g_log_level) THEN
327 trace
328 (p_msg => 'Technical problem : Error encountered in product API for '||p_event_name||
329 xla_environment_pkg.g_chr_newline||
330 l_sqlerrm
331 ,p_level => C_LEVEL_EXCEPTION
332 ,p_module => l_log_module);
333 END IF;
334
335 xla_accounting_err_pkg.build_message
336 (p_appli_s_name => 'XLA'
337 ,p_msg_name => 'XLA_AP_TECHNICAL_ERROR'
338 ,p_token_1 => 'APPLICATION_NAME'
339 ,p_value_1 => 'SLA'
340 ,p_entity_id => NULL
341 ,p_event_id => NULL);
342
343 print_logfile('Technical problem : Error encountered in product API for '||p_event_name);
344
345 xla_exceptions_pkg.raise_message
346 (p_appli_s_name => 'XLA'
347 ,p_msg_name => 'XLA_COMMON_ERROR'
348 ,p_token_1 => 'LOCATION'
349 ,p_value_1 => 'xla_okl_acct_hooks_pkg.main'
350 ,p_token_2 => 'ERROR'
351 ,p_value_2 => 'Technical problem : Error encountered in product API for '||p_event_name||
352 xla_environment_pkg.g_chr_newline||l_sqlerrm);
353 WHEN OTHERS THEN
354 l_sqlerrm := sqlerrm;
355
356 IF (C_LEVEL_EXCEPTION>= g_log_level) THEN
357 trace
358 (p_msg => 'Technical problem : Error encountered in product API for '||p_event_name||
359 xla_environment_pkg.g_chr_newline||l_sqlerrm
360 ,p_level => C_LEVEL_EXCEPTION
361 ,p_module => l_log_module);
362 END IF;
363
364 xla_accounting_err_pkg.build_message
365 (p_appli_s_name => 'XLA'
366 ,p_msg_name => 'XLA_AP_TECHNICAL_ERROR'
367 ,p_token_1 => 'APPLICATION_NAME'
368 ,p_value_1 => 'SLA'
369 ,p_entity_id => NULL
370 ,p_event_id => NULL);
371
372 print_logfile('Technical problem : Error encountered in product API for '||p_event_name);
373
374 xla_exceptions_pkg.raise_message
375 (p_appli_s_name => 'XLA'
376 ,p_msg_name => 'XLA_COMMON_ERROR'
377 ,p_token_1 => 'LOCATION'
378 ,p_value_1 => 'xla_okl_acct_hooks_pkg.main'
379 ,p_token_2 => 'ERROR'
380 ,p_value_2 => 'Technical problem : Error encountered in product API for '||p_event_name||
381 xla_environment_pkg.g_chr_newline||
382 l_sqlerrm);
383 END main;
384
385
386 --=============================================================================
387 -- *********** Initialization routine **********
388 --=============================================================================
389
390 --=============================================================================
391 --
392 --
393 --
394 --
395 --
396 --
397 --
398 --
399 --
400 --
401 -- Following code is executed when the package body is referenced for the first
402 -- time
403 --
404 --
405 --
406 --
407 --
408 --
409 --
410 --
411 --
412 --
413 --
414 --
415 --=============================================================================
416
417 BEGIN
418 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
419 g_log_enabled := fnd_log.test
420 (log_level => g_log_level
421 ,MODULE => C_DEFAULT_MODULE);
422
423 IF NOT g_log_enabled THEN
424 g_log_level := C_LEVEL_LOG_DISABLED;
425 END IF;
426
427 END xla_okl_acct_hooks_pkg;