[Home] [Help]
PACKAGE BODY: APPS.BIM_FIRST_LOAD_FACTS
Source
1 PACKAGE BODY bim_first_load_facts AS
2 /* $Header: bimfdfab.pls 115.19 2003/10/22 08:32:25 kpadiyar ship $*/
3
4 --g_pkg_name CONSTANT VARCHAR2(20) :='BIM_LOAD_FACTS';
5 --G_FILE_NAME CONSTANT VARCHAR2(20) :='bimldfab.pls';
6
7 PROCEDURE invoke_object
8 (ERRBUF OUT NOCOPY VARCHAR2,
9 RETCODE OUT NOCOPY NUMBER,
10 p_api_version_number IN NUMBER ,
11 p_object IN VARCHAR2 DEFAULT NULL,
12 -- p_mode IN VARCHAR2 DEFAULT NULL,
13 p_start_dt IN VARCHAR2 DEFAULT NULL,
14 p_end_dt IN VARCHAR2 DEFAULT NULL,
15 p_proc_num IN NUMBER DEFAULT 8
16 ) IS
17 cursor max_log_date IS
18 select TRUNC(max(object_last_updated_date))
19 from bim_rep_history
20 where object='DATES';
21 v_error_code NUMBER;
22 v_error_text VARCHAR2(1500);
23 l_start_date DATE;
24 l_end_date DATE;
25 l_user_id NUMBER := FND_GLOBAL.USER_ID();
26 l_api_version_number CONSTANT NUMBER := 1.0;
27 l_api_name CONSTANT VARCHAR2(30) := 'invoke_object';
28 x_msg_count NUMBER;
29 x_msg_data VARCHAR2(240);
30 x_return_status VARCHAR2(1) ;
31 l_init_msg_list VARCHAR2(10) := FND_API.G_FALSE;
32 l_max_date DATE;
33 p_start_date DATE := FND_DATE.CANONICAL_TO_DATE(p_start_dt);
34 p_end_date DATE := FND_DATE.CANONICAL_TO_DATE(p_end_dt);
35
36 BEGIN
37
38
39 -- Standard call to check for call compatibility.
40 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
41 p_api_version_number,
42 l_api_name,
43 g_pkg_name)
44 THEN
45 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
46 END IF;
47
48
49 -- Initialize message list if p_init_msg_list is set to TRUE.
50
51
52 -- Debug Message
53 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
54
55 -- Initialize API return status to SUCCESS
56 x_return_status := FND_API.G_RET_STS_SUCCESS;
57 OPEN max_log_date;
58 FETCH max_log_date into l_max_date;
59 CLOSE max_log_date;
60 IF (l_max_date is null) or (l_max_date < TRUNC(sysdate)) THEN
61 BIM_POPDATES_PKG.pop_intl_dates(p_start_date);
62 END IF;
63
64 BIM_SOURCE_CODE_PKG.LOAD_DATA(p_api_version_number=>1
65 ,x_msg_count => x_msg_count
66 ,x_msg_data => x_msg_data
67 ,x_return_status => x_return_status);
68
69
70 IF p_object = 'CAMPAIGN' THEN
71
72 bim_campaign_facts.populate
73 (p_api_version_number => 1.0
74 ,p_init_msg_list => FND_API.G_FALSE
75 ,x_msg_count => x_msg_count
76 ,x_msg_data => x_msg_data
77 ,x_return_status => x_return_status
78 ,p_object => p_object
79 ,p_start_date => p_start_date
80 ,p_end_date => p_end_date
81 ,p_para_num => p_proc_num
82 );
83
84 IF x_return_status = FND_API.g_ret_sts_error
85 THEN
86 RAISE FND_API.g_exc_error;
87 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
88 RAISE FND_API.g_exc_unexpected_error;
89 END IF;
90
91
92 ELSIF
93 p_object = 'EVENT' THEN
94
95
96 bim_event_facts.POPULATE (
97 p_api_version_number => 1.0,
98 p_init_msg_list => FND_API.G_FALSE,
99 x_msg_count => x_msg_count ,
100 x_msg_data => x_msg_data ,
101 x_return_status => x_return_status ,
102 p_object => p_object,
103 p_start_date => p_start_date,
104 p_end_date => p_end_date,
105 p_para_num => p_proc_num
106 );
107 IF x_return_status = FND_API.g_ret_sts_error
108 THEN
109 RAISE FND_API.g_exc_error;
110 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
111 RAISE FND_API.g_exc_unexpected_error;
112 END IF;
113
114 ELSIF
115 p_object = 'RESPONSE' THEN
116
117
118 bim_response_facts_pkg.populate (
119 p_api_version_number => 1.0,
120 p_init_msg_list => FND_API.G_FALSE,
121 x_msg_count => x_msg_count ,
122 x_msg_data => x_msg_data ,
123 x_return_status => x_return_status ,
124 p_start_date => p_start_date,
125 p_end_date => p_end_date,
126 p_para_num => p_proc_num
127 );
128
129 IF x_return_status = FND_API.g_ret_sts_error
130 THEN
131 RAISE FND_API.g_exc_error;
132 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
133 RAISE FND_API.g_exc_unexpected_error;
134 END IF;
135
136 ELSIF
137 p_object = 'LEADS' THEN
138
139
140 bim_lead_facts_pkg.populate (
141 p_api_version_number => 1.0,
142 p_init_msg_list => FND_API.G_FALSE,
143 x_msg_count => x_msg_count ,
144 x_msg_data => x_msg_data ,
145 x_return_status => x_return_status ,
146 p_object => p_object,
147 p_start_date => p_start_date,
148 p_end_date => p_end_date,
149 p_para_num => p_proc_num
150 );
151
152 IF x_return_status = FND_API.g_ret_sts_error
153 THEN
154 RAISE FND_API.g_exc_error;
155 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
156 RAISE FND_API.g_exc_unexpected_error;
157 END IF;
158
159 ELSIF
160 p_object = 'LEAD_IMPORT' THEN
161
162 bim_lead_import_facts_pkg.POPULATE (
163 p_api_version_number => 1.0,
164 p_init_msg_list => FND_API.G_FALSE,
165 x_msg_count => x_msg_count ,
166 x_msg_data => x_msg_data ,
167 x_return_status => x_return_status ,
168 p_object => 'LEAD_IMPORT',
169 p_start_date => p_start_date,
170 p_end_date => p_end_date,
171 p_para_num => p_proc_num
172 );
173 IF x_return_status = FND_API.g_ret_sts_error
174 THEN
175 RAISE FND_API.g_exc_error;
176 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
177 RAISE FND_API.g_exc_unexpected_error;
178 END IF;
179
180 ELSIF
181 p_object = 'BUDGET'THEN
182
183 bim_fund_facts.populate (
184 p_api_version_number => 1.0,
185 p_init_msg_list => FND_API.G_FALSE,
186 x_msg_count => x_msg_count ,
187 x_msg_data => x_msg_data ,
188 x_return_status => x_return_status ,
189 P_OBJECT => 'FUND',
190 P_START_DATE => p_start_date,
191 P_END_DATE => p_end_date,
192 p_para_num => p_proc_num
193 );
194 IF x_return_status = FND_API.g_ret_sts_error
195 THEN
196 RAISE FND_API.g_exc_error;
197 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
198 RAISE FND_API.g_exc_unexpected_error;
199 END IF;
200
201
202 ELSIF
203 p_object = 'ALL' THEN
204
205 bim_campaign_facts.populate
206 (p_api_version_number => 1.0
207 ,p_init_msg_list => FND_API.G_FALSE
208 ,x_msg_count => x_msg_count
209 ,x_msg_data => x_msg_data
210 ,x_return_status => x_return_status
211 ,p_object => 'CAMPAIGN'
212 ,p_start_date => p_start_date
213 ,p_end_date => p_end_date
214 ,p_para_num => p_proc_num
215 );
216
217 IF x_return_status = FND_API.g_ret_sts_error
218 THEN
219 RAISE FND_API.g_exc_error;
220 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
221 RAISE FND_API.g_exc_unexpected_error;
222 END IF;
223
224 bim_event_facts.populate (
225 p_api_version_number => 1.0,
226 p_init_msg_list => FND_API.G_FALSE,
227 x_msg_count => x_msg_count ,
228 x_msg_data => x_msg_data ,
229 x_return_status => x_return_status ,
230 p_object => 'EVENT',
231 p_start_date => p_start_date,
232 p_end_date => p_end_date,
233 p_para_num => p_proc_num
234 );
235 IF x_return_status = FND_API.g_ret_sts_error
236 THEN
237 RAISE FND_API.g_exc_error;
238 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
239 RAISE FND_API.g_exc_unexpected_error;
240 END IF;
241
242 bim_lead_import_facts_pkg.POPULATE (
243 p_api_version_number => 1.0,
244 p_init_msg_list => FND_API.G_FALSE,
245 x_msg_count => x_msg_count ,
246 x_msg_data => x_msg_data ,
247 x_return_status => x_return_status ,
248 p_object => 'LEAD_IMPORT',
249 p_start_date => p_start_date,
250 p_end_date => p_end_date,
251 p_para_num => p_proc_num
252 );
253 IF x_return_status = FND_API.g_ret_sts_error
254 THEN
255 RAISE FND_API.g_exc_error;
256 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
257 RAISE FND_API.g_exc_unexpected_error;
258 END IF;
259 bim_response_facts_pkg.populate (
260 p_api_version_number => 1.0,
261 p_init_msg_list => FND_API.G_FALSE,
262 x_msg_count => x_msg_count ,
263 x_msg_data => x_msg_data ,
264 x_return_status => x_return_status ,
265 p_start_date => p_start_date,
266 p_end_date => p_end_date,
267 p_para_num => p_proc_num
268 );
269
270 IF x_return_status = FND_API.g_ret_sts_error
271 THEN
272 RAISE FND_API.g_exc_error;
273 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
274 RAISE FND_API.g_exc_unexpected_error;
275 END IF;
276
277 bim_lead_facts_pkg.populate (
278 p_api_version_number => 1.0,
279 p_init_msg_list => FND_API.G_FALSE,
280 x_msg_count => x_msg_count ,
281 x_msg_data => x_msg_data ,
282 x_return_status => x_return_status ,
283 p_object => p_object,
284 p_start_date => p_start_date,
285 p_end_date => p_end_date,
286 p_para_num => p_proc_num
287 );
288
289 IF x_return_status = FND_API.g_ret_sts_error
290 THEN
291 RAISE FND_API.g_exc_error;
292 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
293 RAISE FND_API.g_exc_unexpected_error;
294 END IF;
295
296
297 bim_fund_facts.populate (
298 p_api_version_number => 1.0,
299 p_init_msg_list => FND_API.G_FALSE,
300 x_msg_count => x_msg_count ,
301 x_msg_data => x_msg_data ,
302 x_return_status => x_return_status ,
303 p_object => 'FUND',
304 p_start_date => p_start_date,
305 p_end_date => p_end_date,
306 p_para_num => p_proc_num
307 -- p_smode => p_mode
308 );
309
310 IF x_return_status = FND_API.g_ret_sts_error
311 THEN
312 RAISE FND_API.g_exc_error;
313 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
314 RAISE FND_API.g_exc_unexpected_error;
315 END IF;
316
317 END IF;
318
319 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'End');
320
321 EXCEPTION
322
323 WHEN FND_API.G_EXC_ERROR THEN
324 x_return_status := FND_API.g_ret_sts_error ;
325 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
326 p_count => x_msg_count,
327 p_data => x_msg_data);
328 ERRBUF := x_msg_data;
329 RETCODE := 2;
330
331 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
332 x_return_status := FND_API.g_ret_sts_unexp_error ;
333 FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.G_FALSE,
334 p_count => x_msg_count,
335 p_data => x_msg_data);
336 ERRBUF := x_msg_data;
337 RETCODE := 2;
338
339 WHEN OTHERS THEN
340 x_return_status := FND_API.g_ret_sts_unexp_error ;
341 FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.G_FALSE,
342 p_count => x_msg_count,
343 p_data => x_msg_data);
344 ERRBUF := sqlerrm(sqlcode);
345 RETCODE := sqlcode;
346
347 END invoke_object;
348
349
350 PROCEDURE recover_object
351 (ERRBUF OUT NOCOPY VARCHAR2,
352 RETCODE OUT NOCOPY NUMBER,
353 p_api_version_number IN NUMBER ,
354 p_object IN VARCHAR2 DEFAULT NULL,
355 p_date IN DATE DEFAULT SYSDATE
356 ) IS
357
358 v_error_code NUMBER;
359 v_error_text VARCHAR2(1500);
360 l_start_date DATE;
361 l_end_date DATE;
362 l_user_id NUMBER := FND_GLOBAL.USER_ID();
363 l_api_version_number CONSTANT NUMBER := 1.0;
364 l_api_name CONSTANT VARCHAR2(30) := 'invoke_object';
365 x_msg_count NUMBER;
366 x_msg_data VARCHAR2(240);
367 x_return_status VARCHAR2(10);
368 l_init_msg_list VARCHAR2(10) := FND_API.G_FALSE;
369
370 BEGIN
371
372 -- Standard call to check for call compatibility.
373 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
374 p_api_version_number,
375 l_api_name,
376 g_pkg_name)
377 THEN
378 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
379 END IF;
380
381
382 -- Initialize message list if p_init_msg_list is set to TRUE.
383
384
385 -- Debug Message
386 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
387
388 -- Initialize API return status to SUCCESS
389 x_return_status := FND_API.G_RET_STS_SUCCESS;
390
391 IF p_object = 'CAMPAIGN' THEN
392 bim_campaign_facts.campaign_daily_load
393 (p_api_version_number => 1.0
394 ,p_init_msg_list => FND_API.G_FALSE
395 ,x_msg_count => x_msg_count
396 ,x_msg_data => x_msg_data
397 ,x_return_status => x_return_status
398 ,p_date => p_date
399 );
400 IF x_return_status = FND_API.g_ret_sts_error
401 THEN
402 RAISE FND_API.g_exc_error;
403 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
404 RAISE FND_API.g_exc_unexpected_error;
405 END IF;
406
407 ELSIF
408 p_object = 'EVENT' THEN
409 bim_event_facts.event_subsequent_load
410 (p_start_datel => null
411 ,p_end_datel => p_date
412 ,p_api_version_number => 1.0
413 ,x_msg_count => x_msg_count
414 ,x_msg_data => x_msg_data
415 ,x_return_status => x_return_status
416 );
417 IF x_return_status = FND_API.g_ret_sts_error
418 THEN
419 RAISE FND_API.g_exc_error;
420 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
421 RAISE FND_API.g_exc_unexpected_error;
422 END IF;
423
424 /*ELSIF
425 p_object = 'BUDGET' THEN
426 bim_fund_facts.fund_daily_load
427 (p_date => p_date
428 ,x_msg_count => x_msg_count
429 ,x_msg_data => x_msg_data
430 ,x_return_status => x_return_status
431 );
432 IF x_return_status = FND_API.g_ret_sts_error
433 THEN
434 RAISE FND_API.g_exc_error;
435 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
436 RAISE FND_API.g_exc_unexpected_error;
437 END IF; */
438
439 ELSIF
440 p_object = 'ALL' THEN
441
442 bim_campaign_facts.campaign_daily_load
443 (p_api_version_number => 1.0
444 ,p_init_msg_list => FND_API.G_FALSE
445 ,x_msg_count => x_msg_count
446 ,x_msg_data => x_msg_data
447 ,x_return_status => x_return_status
448 ,p_date => p_date
449 );
450 IF x_return_status = FND_API.g_ret_sts_error
451 THEN
452 RAISE FND_API.g_exc_error;
453 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
454 RAISE FND_API.g_exc_unexpected_error;
455 END IF;
456
457 bim_event_facts.event_subsequent_load
458 (p_start_datel => null
459 ,p_end_datel => p_date
460 ,p_api_version_number => 1.0
461 ,x_msg_count => x_msg_count
462 ,x_msg_data => x_msg_data
463 ,x_return_status => x_return_status
464 );
465 IF x_return_status = FND_API.g_ret_sts_error
466 THEN
467 RAISE FND_API.g_exc_error;
468 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
469 RAISE FND_API.g_exc_unexpected_error;
470 END IF;
471
472 /* bim_fund_facts.fund_daily_load
473 (p_date => p_date
474 ,x_msg_count => x_msg_count
475 ,x_msg_data => x_msg_data
476 ,x_return_status => x_return_status
477 );
478 IF x_return_status = FND_API.g_ret_sts_error
479 THEN
480 RAISE FND_API.g_exc_error;
481 ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
482 RAISE FND_API.g_exc_unexpected_error;
483 END IF; */
484
485 END IF;
486
487 EXCEPTION
488
489 WHEN FND_API.G_EXC_ERROR THEN
490 x_return_status := FND_API.g_ret_sts_error ;
491 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
492 p_count => x_msg_count,
493 p_data => x_msg_data);
494 ERRBUF := x_msg_data;
495 RETCODE := 2;
496
497 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
498 x_return_status := FND_API.g_ret_sts_unexp_error ;
499 FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.G_FALSE,
500 p_count => x_msg_count,
501 p_data => x_msg_data);
502 ERRBUF := x_msg_data;
503 RETCODE := 2;
504
505 WHEN OTHERS THEN
506 x_return_status := FND_API.g_ret_sts_unexp_error ;
507 FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.G_FALSE,
508 p_count => x_msg_count,
509 p_data => x_msg_data);
510
511 ERRBUF := sqlerrm(sqlcode);
512 RETCODE := sqlcode;
513
514 END recover_object;
515
516
517 END bim_first_load_facts;