159:
160: BEGIN
161:
162: -- Standard call to check for call compatibility.
163: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
164: p_api_version_number,
165: l_api_name,
166: g_pkg_name)
167: THEN
164: p_api_version_number,
165: l_api_name,
166: g_pkg_name)
167: THEN
168: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
169: END IF;
170:
171: -- Initialize message list if p_init_msg_list is set to TRUE.
172: IF FND_API.to_Boolean( p_init_msg_list )
168: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
169: END IF;
170:
171: -- Initialize message list if p_init_msg_list is set to TRUE.
172: IF FND_API.to_Boolean( p_init_msg_list )
173: THEN
174: FND_MSG_PUB.initialize;
175: END IF;
176:
174: FND_MSG_PUB.initialize;
175: END IF;
176:
177: -- Initialize API return status to SUCCESS
178: x_return_status := FND_API.G_RET_STS_SUCCESS;
179:
180: -- Debug Message
181: -- AMS_UTILITY_PVT.debug_message('Private API: ' || 'Running the populate procedure');
182: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS: Facts load starts at:'||sysdate);
192: IF (l_end_date IS NULL) THEN
193:
194: IF (p_start_date IS NULL) THEN
195: bis_collection_utilities.log('Please run the Upadate Marketing Facts First Time Base Summary concurrent program before running this');
196: RAISE FND_API.G_EXC_ERROR;
197: END IF;
198:
199: IF (p_start_date >= p_end_date) THEN
200: bis_collection_utilities.log('Start Date Can not be greater than End Date');
197: END IF;
198:
199: IF (p_start_date >= p_end_date) THEN
200: bis_collection_utilities.log('Start Date Can not be greater than End Date');
201: RAISE FND_API.G_EXC_ERROR;
202: END IF;
203: --Validate time dimension tables
204: fii_time_api.check_missing_date (greatest(l_global_start_date,p_start_date), sysdate, l_missing_date);
205: IF (l_missing_date) THEN
203: --Validate time dimension tables
204: fii_time_api.check_missing_date (greatest(l_global_start_date,p_start_date), sysdate, l_missing_date);
205: IF (l_missing_date) THEN
206: bis_collection_utilities.log('Time dimension has at least one missing date between ' || greatest(l_global_start_date,p_start_date) || ' and ' || sysdate);
207: RAISE FND_API.G_EXC_ERROR;
208: END IF;
209:
210: l_load_type := 'FIRST_LOAD';
211: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS: First Load');
211: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS: First Load');
212: FIRST_LOAD(p_start_date => greatest(l_global_start_date,p_start_date)
213: ,p_end_date => sysdate
214: ,p_api_version_number => l_api_version_number
215: ,p_init_msg_list => FND_API.G_FALSE
216: ,p_load_type => l_load_type
217: ,x_msg_count => x_msg_count
218: ,x_msg_data => x_msg_data
219: ,x_return_status => x_return_status
228:
229: FIRST_LOAD(p_start_date => greatest(l_global_start_date,p_start_date)
230: ,p_end_date => l_sysdate
231: ,p_api_version_number => l_api_version_number
232: ,p_init_msg_list => FND_API.G_FALSE
233: ,p_load_type => l_load_type
234: ,x_msg_count => x_msg_count
235: ,x_msg_data => x_msg_data
236: ,x_return_status => x_return_status
238: ELSE
239:
240: IF (l_end_date >= sysdate) THEN
241: bis_collection_utilities.log('Load Progarm already run upto ' || l_end_date);
242: RAISE FND_API.g_exc_error;
243: END IF;
244: --Validate time dimension tables
245: fii_time_api.check_missing_date (l_end_date, sysdate, l_missing_date);
246: IF (l_missing_date) THEN
244: --Validate time dimension tables
245: fii_time_api.check_missing_date (l_end_date, sysdate, l_missing_date);
246: IF (l_missing_date) THEN
247: bis_collection_utilities.log('Time dimension has atleast one missing date between ' || l_end_date || ' and ' || sysdate);
248: RAISE FND_API.G_EXC_ERROR;
249: END IF;
250:
251: l_load_type := 'SUBSEQUENT_LOAD';
252: /*BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS: Incremental Load');
252: /*BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS: Incremental Load');
253: SUB_LOAD(p_start_date => l_end_date +1/86400
254: ,p_end_date => sysdate
255: ,p_api_version_number => l_api_version_number
256: ,p_init_msg_list => FND_API.G_FALSE
257: ,p_load_type => l_load_type
258: ,x_msg_count => x_msg_count
259: ,x_msg_data => x_msg_data
260: ,x_return_status => x_return_status
263: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS: Incremental Load');
264: SUB_LOAD(p_start_date => trunc(l_end_date)
265: ,p_end_date => sysdate
266: ,p_api_version_number => l_api_version_number
267: ,p_init_msg_list => FND_API.G_FALSE
268: ,p_load_type => l_load_type
269: ,x_msg_count => x_msg_count
270: ,x_msg_data => x_msg_data
271: ,x_return_status => x_return_status
272: );
273: END IF;
274: END IF;
275:
276: IF x_return_status = FND_API.g_ret_sts_error
277: THEN
278: RAISE FND_API.g_exc_error;
279: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
280: RAISE FND_API.g_exc_unexpected_error;
274: END IF;
275:
276: IF x_return_status = FND_API.g_ret_sts_error
277: THEN
278: RAISE FND_API.g_exc_error;
279: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
280: RAISE FND_API.g_exc_unexpected_error;
281: END IF;
282: --Standard check of commit
275:
276: IF x_return_status = FND_API.g_ret_sts_error
277: THEN
278: RAISE FND_API.g_exc_error;
279: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
280: RAISE FND_API.g_exc_unexpected_error;
281: END IF;
282: --Standard check of commit
283:
276: IF x_return_status = FND_API.g_ret_sts_error
277: THEN
278: RAISE FND_API.g_exc_error;
279: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
280: RAISE FND_API.g_exc_unexpected_error;
281: END IF;
282: --Standard check of commit
283:
284: IF FND_API.To_Boolean ( p_commit ) THEN
280: RAISE FND_API.g_exc_unexpected_error;
281: END IF;
282: --Standard check of commit
283:
284: IF FND_API.To_Boolean ( p_commit ) THEN
285: COMMIT WORK;
286: END IF;
287:
288: COMMIT;
295: );
296:
297: EXCEPTION
298:
299: WHEN FND_API.G_EXC_ERROR THEN
300: x_return_status := FND_API.G_RET_STS_ERROR;
301: -- Standard call to get message count and if count=1, get the message
302: FND_msg_PUB.Count_And_Get (
303: -- p_encoded => FND_API.G_FALSE,
296:
297: EXCEPTION
298:
299: WHEN FND_API.G_EXC_ERROR THEN
300: x_return_status := FND_API.G_RET_STS_ERROR;
301: -- Standard call to get message count and if count=1, get the message
302: FND_msg_PUB.Count_And_Get (
303: -- p_encoded => FND_API.G_FALSE,
304: p_count => x_msg_count,
299: WHEN FND_API.G_EXC_ERROR THEN
300: x_return_status := FND_API.G_RET_STS_ERROR;
301: -- Standard call to get message count and if count=1, get the message
302: FND_msg_PUB.Count_And_Get (
303: -- p_encoded => FND_API.G_FALSE,
304: p_count => x_msg_count,
305: p_data => x_msg_data
306: );
307:
305: p_data => x_msg_data
306: );
307:
308:
309: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
310:
311: /* FOR l_counter IN 1 .. x_msg_count
312: LOOP
313: l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
309: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
310:
311: /* FOR l_counter IN 1 .. x_msg_count
312: LOOP
313: l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
314: fnd_msg_pub.dump_msg(l_counter);
315: end loop; */
316:
317: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
313: l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
314: fnd_msg_pub.dump_msg(l_counter);
315: end loop; */
316:
317: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
318: -- Standard call to get message count and if count=1, get the message
319: FND_msg_PUB.Count_And_Get (
320: --p_encoded => FND_API.G_FALSE,
321: p_count => x_msg_count,
316:
317: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
318: -- Standard call to get message count and if count=1, get the message
319: FND_msg_PUB.Count_And_Get (
320: --p_encoded => FND_API.G_FALSE,
321: p_count => x_msg_count,
322: p_data => x_msg_data
323: );
324:
322: p_data => x_msg_data
323: );
324:
325: WHEN OTHERS THEN
326: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
327: IF FND_msg_PUB.Check_msg_Level ( FND_msg_PUB.G_msg_LVL_UNEXP_ERROR)
328: THEN
329: FND_msg_PUB.Add_Exc_msg( g_pkg_name,l_api_name);
330: END IF;
329: FND_msg_PUB.Add_Exc_msg( g_pkg_name,l_api_name);
330: END IF;
331: -- Standard call to get message count and if count=1, get the message
332: /* FND_msg_PUB.Count_And_Get (
333: -- p_encoded => FND_API.G_FALSE,
334: p_count => x_msg_count,
335: p_data => x_msg_data
336: );*/
337:
382: --dbms_output.put_line('inside first load:'|| p_start_date || ' '|| p_end_date);
383: l_global_currency_code := bis_common_parameters.get_currency_code;
384:
385: -- Standard call to check for call compatibility.
386: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
387: p_api_version_number,
388: l_api_name,
389: g_pkg_name)
390: THEN
387: p_api_version_number,
388: l_api_name,
389: g_pkg_name)
390: THEN
391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
392: END IF;
393:
394: -- Initialize message list if p_init_msg_list is set to TRUE.
395: IF FND_API.to_Boolean( p_init_msg_list )
391: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
392: END IF;
393:
394: -- Initialize message list if p_init_msg_list is set to TRUE.
395: IF FND_API.to_Boolean( p_init_msg_list )
396: THEN
397: FND_msg_PUB.initialize;
398: END IF;
399:
397: FND_msg_PUB.initialize;
398: END IF;
399:
400: -- Initialize API return status to SUCCESS
401: x_return_status := FND_API.G_RET_STS_SUCCESS;
402:
403: --dbms_output.put_line('BIM_I_MARKETING_FACTS: Running the First Load '||sqlerrm(sqlcode));
404:
405: -- The below four commands are necessary for the purpose of the parallel insertion */
2831: BIS_COLLECTION_UTILITIES.debug('before truncating first time load' );
2832: l_stmt := 'TRUNCATE table '||L_SCHEMA||'.BIM_I_MARKETING_FACTS_STG';
2833: EXECUTE IMMEDIATE l_stmt;
2834: commit;
2835: x_return_status := FND_API.G_RET_STS_ERROR;
2836: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837: end if;
2838: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:After check missing rates');
2839: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Final Insert into bim_i_marketing_facts.');
2832: l_stmt := 'TRUNCATE table '||L_SCHEMA||'.BIM_I_MARKETING_FACTS_STG';
2833: EXECUTE IMMEDIATE l_stmt;
2834: commit;
2835: x_return_status := FND_API.G_RET_STS_ERROR;
2836: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837: end if;
2838: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:After check missing rates');
2839: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Final Insert into bim_i_marketing_facts.');
2840: INSERT /*+ append parallel */
2982: -- Make entry in the history table
2983: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS: Wrapup');
2984: BEGIN
2985: IF (Not BIS_COLLECTION_UTILITIES.setup('MARKETING_FACTS')) THEN
2986: RAISE FND_API.G_EXC_ERROR;
2987: return;
2988: END IF;
2989:
2990: BIS_COLLECTION_UTILITIES.WRAPUP(
2998: p_status => FALSE,
2999: p_period_from =>p_start_date,
3000: p_period_to => sysdate--p_end_date
3001: );
3002: RAISE FND_API.G_EXC_ERROR;
3003: END;
3004:
3005: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Before create index');
3006:
3011: /*fnd_message.set_name('BIM','BIM_R_PROG_COMPLETION');
3012: fnd_message.set_token('program_name', 'Marketing first load', FALSE);
3013: fnd_file.put_line(fnd_file.log,fnd_message.get);*/
3014: EXCEPTION
3015: WHEN FND_API.G_EXC_ERROR THEN
3016: x_return_status := FND_API.G_RET_STS_ERROR;
3017: -- Standard call to get message count and if count=1, get the message
3018: FND_msg_PUB.Count_And_Get (
3019: -- p_encoded => FND_API.G_FALSE,
3012: fnd_message.set_token('program_name', 'Marketing first load', FALSE);
3013: fnd_file.put_line(fnd_file.log,fnd_message.get);*/
3014: EXCEPTION
3015: WHEN FND_API.G_EXC_ERROR THEN
3016: x_return_status := FND_API.G_RET_STS_ERROR;
3017: -- Standard call to get message count and if count=1, get the message
3018: FND_msg_PUB.Count_And_Get (
3019: -- p_encoded => FND_API.G_FALSE,
3020: p_count => x_msg_count,
3015: WHEN FND_API.G_EXC_ERROR THEN
3016: x_return_status := FND_API.G_RET_STS_ERROR;
3017: -- Standard call to get message count and if count=1, get the message
3018: FND_msg_PUB.Count_And_Get (
3019: -- p_encoded => FND_API.G_FALSE,
3020: p_count => x_msg_count,
3021: p_data => x_msg_data
3022: );
3023:
3021: p_data => x_msg_data
3022: );
3023:
3024: ams_utility_pvt.write_conc_log('BIM_I_MARKETING_FACTS:FIRST_LOAD:IN EXPECTED EXCEPTION '||sqlerrm(sqlcode));
3025: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3026: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3027: -- Standard call to get message count and if count=1, get the message
3028: FND_msg_PUB.Count_And_Get (
3029: --p_encoded => FND_API.G_FALSE,
3022: );
3023:
3024: ams_utility_pvt.write_conc_log('BIM_I_MARKETING_FACTS:FIRST_LOAD:IN EXPECTED EXCEPTION '||sqlerrm(sqlcode));
3025: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3026: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3027: -- Standard call to get message count and if count=1, get the message
3028: FND_msg_PUB.Count_And_Get (
3029: --p_encoded => FND_API.G_FALSE,
3030: p_count => x_msg_count,
3025: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3026: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3027: -- Standard call to get message count and if count=1, get the message
3028: FND_msg_PUB.Count_And_Get (
3029: --p_encoded => FND_API.G_FALSE,
3030: p_count => x_msg_count,
3031: p_data => x_msg_data
3032: );
3033: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Unexpected'||sqlerrm(sqlcode));
3032: );
3033: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Unexpected'||sqlerrm(sqlcode));
3034:
3035: WHEN OTHERS THEN
3036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3037: IF FND_msg_PUB.Check_msg_Level (FND_msg_PUB.G_msg_LVL_UNEXP_ERROR)
3038: THEN
3039: FND_msg_PUB.Add_Exc_msg( g_pkg_name,l_api_name);
3040: END IF;
3040: END IF;
3041:
3042: -- Standard call to get message count and if count=1, get the message
3043: FND_msg_PUB.Count_And_Get (
3044: -- p_encoded => FND_API.G_FALSE,
3045: p_count => x_msg_count,
3046: p_data => x_msg_data
3047: );
3048: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:IN OTHERS EXCEPTION'||sqlerrm(sqlcode));
3089: BEGIN
3090: --dbms_output.put_line('inside sub load:'||p_start_date || ' '|| p_end_date);
3091: l_return := fnd_installation.get_app_info('BIM', l_status, l_industry, l_schema);
3092: -- Standard call to check for call compatibility.
3093: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3094: p_api_version_number,
3095: l_api_name,
3096: g_pkg_name)
3097: THEN
3094: p_api_version_number,
3095: l_api_name,
3096: g_pkg_name)
3097: THEN
3098: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3099: END IF;
3100:
3101: -- Initialize message list if p_init_msg_list is set to TRUE.
3102: IF FND_API.to_Boolean( p_init_msg_list )
3098: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3099: END IF;
3100:
3101: -- Initialize message list if p_init_msg_list is set to TRUE.
3102: IF FND_API.to_Boolean( p_init_msg_list )
3103: THEN
3104: FND_msg_PUB.initialize;
3105: END IF;
3106:
3104: FND_msg_PUB.initialize;
3105: END IF;
3106:
3107: -- Initialize API return status to SUCCESS
3108: x_return_status := FND_API.G_RET_STS_SUCCESS;
3109:
3110: --dbms_output.put_line('inside sub load 2:');
3111:
3112: -- The below four commands are necessary for the purpose of the parallel insertion */
5362: l_check_missing_rate := Check_Missing_Rates (p_start_date);
5363: if (l_check_missing_rate = -1) then
5364: DELETE from bim_i_marketing_facts_stg where transaction_create_date>= p_start_date;
5365: commit;
5366: x_return_status := FND_API.G_RET_STS_ERROR;
5367: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5368: end if;
5369: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Sub Load:after calling checking_missing_rates');
5370: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Final insert into bim_i_marketing_facts');
5363: if (l_check_missing_rate = -1) then
5364: DELETE from bim_i_marketing_facts_stg where transaction_create_date>= p_start_date;
5365: commit;
5366: x_return_status := FND_API.G_RET_STS_ERROR;
5367: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5368: end if;
5369: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Sub Load:after calling checking_missing_rates');
5370: BIS_COLLECTION_UTILITIES.log('BIM_I_MARKETING_FACTS:Final insert into bim_i_marketing_facts');
5371: INSERT
5631: --dbms_output.put_line('b4 inserting log');
5632: BIS_COLLECTION_UTILITIES.log('Before Insert into log.');
5633: BEGIN
5634: IF (Not BIS_COLLECTION_UTILITIES.setup('MARKETING_FACTS')) THEN
5635: RAISE FND_API.G_EXC_ERROR;
5636: return;
5637: END IF;
5638: BIS_COLLECTION_UTILITIES.WRAPUP(
5639: p_status => TRUE ,
5646: p_status => FALSE,
5647: p_period_from =>p_start_date,
5648: p_period_to =>sysdate-- p_end_date
5649: );
5650: RAISE FND_API.G_EXC_ERROR;
5651: END;
5652: BIS_COLLECTION_UTILITIES.log('After Insert into log.');
5653: EXCEPTION
5654: WHEN FND_API.G_EXC_ERROR THEN
5650: RAISE FND_API.G_EXC_ERROR;
5651: END;
5652: BIS_COLLECTION_UTILITIES.log('After Insert into log.');
5653: EXCEPTION
5654: WHEN FND_API.G_EXC_ERROR THEN
5655: x_return_status := FND_API.G_RET_STS_ERROR;
5656: -- Standard call to get message count and if count=1, get the message
5657: FND_msg_PUB.Count_And_Get (
5658: -- p_encoded => FND_API.G_FALSE,
5651: END;
5652: BIS_COLLECTION_UTILITIES.log('After Insert into log.');
5653: EXCEPTION
5654: WHEN FND_API.G_EXC_ERROR THEN
5655: x_return_status := FND_API.G_RET_STS_ERROR;
5656: -- Standard call to get message count and if count=1, get the message
5657: FND_msg_PUB.Count_And_Get (
5658: -- p_encoded => FND_API.G_FALSE,
5659: p_count => x_msg_count,
5654: WHEN FND_API.G_EXC_ERROR THEN
5655: x_return_status := FND_API.G_RET_STS_ERROR;
5656: -- Standard call to get message count and if count=1, get the message
5657: FND_msg_PUB.Count_And_Get (
5658: -- p_encoded => FND_API.G_FALSE,
5659: p_count => x_msg_count,
5660: p_data => x_msg_data
5661: );
5662:
5661: );
5662:
5663: ams_utility_pvt.write_conc_log('SUBSEQUENT_LOAD:IN EXPECTED EXCEPTION '||sqlerrm(sqlcode));
5664: BIS_COLLECTION_UTILITIES.log('SUBSEQUENT_LOAD:IN EXPECTED EXCEPTION '||sqlerrm(sqlcode));
5665: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5666:
5667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5668:
5669: -- Standard call to get message count and if count=1, get the message
5663: ams_utility_pvt.write_conc_log('SUBSEQUENT_LOAD:IN EXPECTED EXCEPTION '||sqlerrm(sqlcode));
5664: BIS_COLLECTION_UTILITIES.log('SUBSEQUENT_LOAD:IN EXPECTED EXCEPTION '||sqlerrm(sqlcode));
5665: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5666:
5667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5668:
5669: -- Standard call to get message count and if count=1, get the message
5670: FND_msg_PUB.Count_And_Get (
5671: --p_encoded => FND_API.G_FALSE,
5667: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5668:
5669: -- Standard call to get message count and if count=1, get the message
5670: FND_msg_PUB.Count_And_Get (
5671: --p_encoded => FND_API.G_FALSE,
5672: p_count => x_msg_count,
5673: p_data => x_msg_data
5674: );
5675:
5676: ams_utility_pvt.write_conc_log('BIM_I_MARKETING_FACTS:SUBSEQUENT_LOAD:IN UNEXPECTED EXCEPTION '||sqlerrm(sqlcode));
5677: BIS_COLLECTION_UTILITIES.log('SUBSEQUENT_LOAD:IN UNEXPECTED EXCEPTION '||sqlerrm(sqlcode));
5678: WHEN OTHERS THEN
5679:
5680: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5681:
5682: IF FND_msg_PUB.Check_msg_Level (FND_msg_PUB.G_msg_LVL_UNEXP_ERROR)
5683: THEN
5684: FND_msg_PUB.Add_Exc_msg( g_pkg_name,l_api_name);
5685: END IF;
5686:
5687: -- Standard call to get message count and if count=1, get the message
5688: FND_msg_PUB.Count_And_Get (
5689: -- p_encoded => FND_API.G_FALSE,
5690: p_count => x_msg_count,
5691: p_data => x_msg_data
5692: );
5693: ams_utility_pvt.write_conc_log('BIM_I_MARKETING_FACTS:SUBSEQUENT_LOAD:IN OTHERS EXCEPTION '||sqlerrm(sqlcode));