70: END IF;
71:
72: EXCEPTION
73: WHEN OTHERS THEN
74: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
75: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
76: 'cn.plsql.cn_calc_submission_pvt.check_end_of_interval.exception',
77: sqlerrm);
78: end if;
71:
72: EXCEPTION
73: WHEN OTHERS THEN
74: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
75: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
76: 'cn.plsql.cn_calc_submission_pvt.check_end_of_interval.exception',
77: sqlerrm);
78: end if;
79: raise ;
162: -- 1. name can not be null and should be unique(there is a unique index on name)
163: IF (p_sub_batch_rec.name IS NULL) THEN
164: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
165: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('NAME', 'CALC_SUBMISSION_OBJECT_TYPE'));
166: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
167: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
168: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
169: TRUE);
170: end if;
163: IF (p_sub_batch_rec.name IS NULL) THEN
164: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
165: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('NAME', 'CALC_SUBMISSION_OBJECT_TYPE'));
166: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
167: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
168: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
169: TRUE);
170: end if;
171:
181: FETCH name_check INTO l_dummy;
182: IF (name_check%found) THEN
183: FND_MESSAGE.SET_NAME ('CN' , 'CN_CALC_SUB_EXISTS');
184: fnd_message.set_token('BATCH_NAME', cn_api.get_lkup_meaning('NAME', 'CALC_SUBMISSION_OBJECT_TYPE'));
185: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
186: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
187: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
188: TRUE);
189: end if;
182: IF (name_check%found) THEN
183: FND_MESSAGE.SET_NAME ('CN' , 'CN_CALC_SUB_EXISTS');
184: fnd_message.set_token('BATCH_NAME', cn_api.get_lkup_meaning('NAME', 'CALC_SUBMISSION_OBJECT_TYPE'));
185: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
186: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
187: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
188: TRUE);
189: end if;
190:
199:
200: -- 2. start_date and end_date can not be null and end_date >= start_date
201: IF (p_sub_batch_rec.start_date IS NULL) THEN
202: fnd_message.set_name('CN', 'CN_START_DATE_CANNOT_NULL');
203: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
204: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
205: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
206: TRUE);
207: end if;
200: -- 2. start_date and end_date can not be null and end_date >= start_date
201: IF (p_sub_batch_rec.start_date IS NULL) THEN
202: fnd_message.set_name('CN', 'CN_START_DATE_CANNOT_NULL');
203: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
204: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
205: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
206: TRUE);
207: end if;
208:
213: x_return_status := fnd_api.g_ret_sts_error;
214: END IF;
215: IF (p_sub_batch_rec.end_date IS NULL) THEN
216: fnd_message.set_name('CN', 'CN_END_DATE_CANNOT_NULL');
217: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
218: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
219: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
220: TRUE);
221: end if;
214: END IF;
215: IF (p_sub_batch_rec.end_date IS NULL) THEN
216: fnd_message.set_name('CN', 'CN_END_DATE_CANNOT_NULL');
217: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
218: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
219: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
220: TRUE);
221: end if;
222:
227: x_return_status := fnd_api.g_ret_sts_error;
228: END IF;
229: IF (p_sub_batch_rec.start_date > p_sub_batch_rec.end_date) THEN
230: fnd_message.set_name('CN', 'CN_INVALID_DATE_RANGE');
231: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
232: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
233: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
234: TRUE);
235: end if;
228: END IF;
229: IF (p_sub_batch_rec.start_date > p_sub_batch_rec.end_date) THEN
230: fnd_message.set_name('CN', 'CN_INVALID_DATE_RANGE');
231: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
232: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
233: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
234: TRUE);
235: end if;
236:
246: FETCH open_period_check INTO l_dummy;
247: IF (open_period_check%notfound) THEN
248: fnd_message.set_name('CN' , 'CN_CALC_SUB_OPEN_DATE');
249: fnd_message.set_token('DATE', p_sub_batch_rec.start_date);
250: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
251: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
252: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
253: TRUE);
254: end if;
247: IF (open_period_check%notfound) THEN
248: fnd_message.set_name('CN' , 'CN_CALC_SUB_OPEN_DATE');
249: fnd_message.set_token('DATE', p_sub_batch_rec.start_date);
250: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
251: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
252: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
253: TRUE);
254: end if;
255:
265: FETCH open_period_check INTO l_dummy;
266: IF (open_period_check%notfound) THEN
267: fnd_message.set_name('CN' , 'CN_CALC_SUB_OPEN_DATE');
268: fnd_message.set_token('DATE', p_sub_batch_rec.end_date);
269: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
270: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
271: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
272: TRUE);
273: end if;
266: IF (open_period_check%notfound) THEN
267: fnd_message.set_name('CN' , 'CN_CALC_SUB_OPEN_DATE');
268: fnd_message.set_token('DATE', p_sub_batch_rec.end_date);
269: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
270: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
271: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
272: TRUE);
273: end if;
274:
284: -- 4. calc_type can not be null, must be 'COMMISSION' or 'BONUS'
285: IF (p_sub_batch_rec.calc_type IS NULL) THEN
286: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
287: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CALC_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
288: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
289: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
290: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
291: TRUE);
292: end if;
285: IF (p_sub_batch_rec.calc_type IS NULL) THEN
286: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
287: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CALC_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
288: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
289: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
290: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
291: TRUE);
292: end if;
293:
300: END IF;
301: IF (p_sub_batch_rec.calc_type NOT IN ('COMMISSION', 'BONUS')) THEN
302: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
303: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CALC_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
304: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
305: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
306: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
307: TRUE);
308: end if;
301: IF (p_sub_batch_rec.calc_type NOT IN ('COMMISSION', 'BONUS')) THEN
302: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
303: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CALC_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
304: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
305: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
306: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
307: TRUE);
308: end if;
309:
318: -- 5. salesrep_option can not be null and must be a valid value
319: IF (p_sub_batch_rec.salesrep_option IS NULL) THEN
320: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
321: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('SALESREP_OPTION', 'CALC_SUBMISSION_OBJECT_TYPE'));
322: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
323: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
324: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
325: TRUE);
326: end if;
319: IF (p_sub_batch_rec.salesrep_option IS NULL) THEN
320: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
321: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('SALESREP_OPTION', 'CALC_SUBMISSION_OBJECT_TYPE'));
322: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
323: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
324: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
325: TRUE);
326: end if;
327:
336: (p_sub_batch_rec.calc_type = 'BONUS' AND p_sub_batch_rec.salesrep_option = 'REPS_IN_NOTIFY_LOG'))
337: THEN
338: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
339: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('SALESREP_OPTION', 'CALC_SUBMISSION_OBJECT_TYPE'));
340: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
341: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
342: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
343: TRUE);
344: end if;
337: THEN
338: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
339: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('SALESREP_OPTION', 'CALC_SUBMISSION_OBJECT_TYPE'));
340: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
341: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
342: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
343: TRUE);
344: end if;
345:
355: -- TO DO: remove this check if hierarchy flag is only supported at rep level in R12
356: IF (p_sub_batch_rec.hierarchy_flag IS NULL) THEN
357: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
358: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('HIERARCHY_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
359: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
360: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
361: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
362: TRUE);
363: end if;
356: IF (p_sub_batch_rec.hierarchy_flag IS NULL) THEN
357: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
358: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('HIERARCHY_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
359: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
360: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
361: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
362: TRUE);
363: end if;
364:
373: (p_sub_batch_rec.salesrep_option IN ('ALL_REPS', 'REPS_IN_NOTIFY_LOG') AND p_sub_batch_rec.hierarchy_flag = 'Y'))
374: THEN
375: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
376: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('HIERARCHY_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
377: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
378: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
379: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
380: TRUE);
381: end if;
374: THEN
375: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
376: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('HIERARCHY_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
377: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
378: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
379: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
380: TRUE);
381: end if;
382:
391: -- 7. concurrent_flag can not be null, must be a valid value
392: IF (p_sub_batch_rec.concurrent_flag IS NULL) THEN
393: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
394: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CONCURRENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
395: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
396: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
397: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
398: TRUE);
399: end if;
392: IF (p_sub_batch_rec.concurrent_flag IS NULL) THEN
393: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
394: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CONCURRENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
395: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
396: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
397: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
398: TRUE);
399: end if;
400:
407: END IF;
408: IF (p_sub_batch_rec.concurrent_flag NOT IN ('Y', 'N')) THEN
409: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
410: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CONCURRENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
411: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
412: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
413: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
414: TRUE);
415: end if;
408: IF (p_sub_batch_rec.concurrent_flag NOT IN ('Y', 'N')) THEN
409: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
410: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('CONCURRENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
411: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
412: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
413: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
414: TRUE);
415: end if;
416:
425: -- 8. intelligent_flag can not be null, must be a valid value
426: IF (p_sub_batch_rec.intelligent_flag IS NULL) THEN
427: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
428: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTELLIGENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
429: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
430: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
431: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
432: TRUE);
433: end if;
426: IF (p_sub_batch_rec.intelligent_flag IS NULL) THEN
427: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
428: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTELLIGENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
429: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
430: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
431: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
432: TRUE);
433: end if;
434:
444: (p_sub_batch_rec.salesrep_option = 'REPS_IN_NOTIFY_LOG' AND p_sub_batch_rec.intelligent_flag = 'N'))
445: THEN
446: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
447: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTELLIGENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
448: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
449: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
450: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
451: TRUE);
452: end if;
445: THEN
446: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
447: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTELLIGENT_FLAG', 'CALC_SUBMISSION_OBJECT_TYPE'));
448: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
449: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
450: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
451: TRUE);
452: end if;
453:
463: IF (p_sub_batch_rec.calc_type = 'BONUS') THEN
464: IF (p_sub_batch_rec.interval_type_id IS NULL) THEN
465: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
466: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTERVAL_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
467: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
468: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
469: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
470: TRUE);
471: end if;
464: IF (p_sub_batch_rec.interval_type_id IS NULL) THEN
465: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
466: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTERVAL_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
467: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
468: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
469: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
470: TRUE);
471: end if;
472:
479: END IF;
480: IF (p_sub_batch_rec.interval_type_id NOT IN (-1000, -1001, -1002, -1003)) THEN
481: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
482: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTERVAL_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
483: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
484: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
485: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
486: TRUE);
487: end if;
480: IF (p_sub_batch_rec.interval_type_id NOT IN (-1000, -1001, -1002, -1003)) THEN
481: fnd_message.set_name('CN' , 'CN_INVALID_DATA');
482: fnd_message.set_token('OBJ_NAME', cn_api.get_lkup_meaning('INTERVAL_TYPE', 'CALC_SUBMISSION_OBJECT_TYPE'));
483: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
484: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
485: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
486: TRUE);
487: end if;
488:
498: -- 10. salesrep validation
499: IF (p_sub_batch_rec.salesrep_option = 'USER_SPECIFY') THEN
500: IF (p_rep_entry_tbl.COUNT = 0) THEN
501: fnd_message.set_name('CN' , 'CN_CALC_NO_SALESREP');
502: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
503: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
504: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
505: TRUE);
506: end if;
499: IF (p_sub_batch_rec.salesrep_option = 'USER_SPECIFY') THEN
500: IF (p_rep_entry_tbl.COUNT = 0) THEN
501: fnd_message.set_name('CN' , 'CN_CALC_NO_SALESREP');
502: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
503: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
504: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
505: TRUE);
506: end if;
507:
522: END LOOP;
523:
524: IF (l_dummy = 0) THEN
525: fnd_message.set_name('CN' , 'CN_CALC_NO_SALESREP');
526: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
527: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
528: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
529: TRUE);
530: end if;
523:
524: IF (l_dummy = 0) THEN
525: fnd_message.set_name('CN' , 'CN_CALC_NO_SALESREP');
526: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
527: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
528: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
529: TRUE);
530: end if;
531:
545: x_return_status := fnd_api.g_ret_sts_error;
546:
547: fnd_message.set_name('CN', 'CN_CALC_SALESREP_EXIST');
548: fnd_message.set_token('NAME', p_rep_entry_tbl(i).name);
549: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
550: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
551: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
552: TRUE);
553: end if;
546:
547: fnd_message.set_name('CN', 'CN_CALC_SALESREP_EXIST');
548: fnd_message.set_token('NAME', p_rep_entry_tbl(i).name);
549: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
550: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
551: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
552: TRUE);
553: end if;
554:
573: FETCH quota_check INTO l_quota_name;
574: IF (quota_check%notfound) THEN
575: fnd_message.set_name('CN', 'CN_CALC_PE_NO_MATCH');
576: fnd_message.set_token('QUOTA_NAME', l_quota_name);
577: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
578: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
579: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
580: TRUE);
581: end if;
574: IF (quota_check%notfound) THEN
575: fnd_message.set_name('CN', 'CN_CALC_PE_NO_MATCH');
576: fnd_message.set_token('QUOTA_NAME', l_quota_name);
577: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
578: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
579: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.error',
580: TRUE);
581: end if;
582:
621: (p_count => x_msg_count ,
622: p_data => x_msg_data ,
623: p_encoded => FND_API.G_FALSE );
624:
625: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
626: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
627: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.exception',
628: sqlerrm);
629: end if;
622: p_data => x_msg_data ,
623: p_encoded => FND_API.G_FALSE );
624:
625: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
626: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
627: 'cn.plsql.cn_calc_submission_pvt.validate_submission_records.exception',
628: sqlerrm);
629: end if;
630: END validate_submission_records;
818: and status_code in ('E', 'X'));
819: commit;
820: EXCEPTION
821: WHEN OTHERS THEN
822: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
823: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
824: 'cn.plsql.cn_calc_submission_pvt.maintain_batch_status.exception',
825: sqlerrm);
826: end if;
819: commit;
820: EXCEPTION
821: WHEN OTHERS THEN
822: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
823: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
824: 'cn.plsql.cn_calc_submission_pvt.maintain_batch_status.exception',
825: sqlerrm);
826: end if;
827: END maintain_batch_status;
864: -- Initialize API return status to success
865: x_return_status := FND_API.G_RET_STS_SUCCESS;
866:
867: -- API body
868: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
869: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
870: 'cn.plsql.cn_calc_submission_pvt.validate.begin',
871: 'Beginning of validate...' );
872: end if;
865: x_return_status := FND_API.G_RET_STS_SUCCESS;
866:
867: -- API body
868: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
869: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
870: 'cn.plsql.cn_calc_submission_pvt.validate.begin',
871: 'Beginning of validate...' );
872: end if;
873:
895: END IF;
896:
897: fnd_message.set_name('CN', 'CNSBCS_INCOMPLETE_PLAN');
898: fnd_msg_pub.add;
899: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
900: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
901: 'cn.plsql.cn_calc_submission_pvt.validate.error',
902: FALSE);
903: end if;
896:
897: fnd_message.set_name('CN', 'CNSBCS_INCOMPLETE_PLAN');
898: fnd_msg_pub.add;
899: if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
900: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
901: 'cn.plsql.cn_calc_submission_pvt.validate.error',
902: FALSE);
903: end if;
904:
915: (p_count => x_msg_count ,
916: p_data => x_msg_data ,
917: p_encoded => FND_API.G_FALSE );
918:
919: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
920: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
921: 'cn.plsql.cn_calc_submission_pvt.validate.end',
922: 'End of validate.' );
923: end if;
916: p_data => x_msg_data ,
917: p_encoded => FND_API.G_FALSE );
918:
919: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
920: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
921: 'cn.plsql.cn_calc_submission_pvt.validate.end',
922: 'End of validate.' );
923: end if;
924:
946: (p_count => x_msg_count ,
947: p_data => x_msg_data ,
948: p_encoded => FND_API.G_FALSE );
949:
950: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
951: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
952: 'cn.plsql.cn_calc_submission_pvt.validate.exception',
953: sqlerrm);
954: end if;
947: p_data => x_msg_data ,
948: p_encoded => FND_API.G_FALSE );
949:
950: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
951: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
952: 'cn.plsql.cn_calc_submission_pvt.validate.exception',
953: sqlerrm);
954: end if;
955:
990: -- Initialize API return status to success
991: x_return_status := FND_API.G_RET_STS_SUCCESS;
992:
993: -- API body
994: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
995: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
996: 'cn.plsql.cn_calc_submission_pvt.calculate.begin',
997: 'Beginning of calculate...' );
998: end if;
991: x_return_status := FND_API.G_RET_STS_SUCCESS;
992:
993: -- API body
994: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
995: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
996: 'cn.plsql.cn_calc_submission_pvt.calculate.begin',
997: 'Beginning of calculate...' );
998: end if;
999:
1038: END IF;
1039: fnd_message.set_token('AUDIT_ID', l_process_audit_id);
1040: fnd_msg_pub.ADD;
1041:
1042: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1043: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1044: 'cn.plsql.cn_calc_submission_pvt.calculate.end',
1045: 'End of calculate' );
1046: end if;
1039: fnd_message.set_token('AUDIT_ID', l_process_audit_id);
1040: fnd_msg_pub.ADD;
1041:
1042: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1043: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1044: 'cn.plsql.cn_calc_submission_pvt.calculate.end',
1045: 'End of calculate' );
1046: end if;
1047:
1136: x_return_status := FND_API.G_RET_STS_SUCCESS;
1137:
1138:
1139: -- Body Begins.
1140: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1141: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1142: 'cn.plsql.cn_calc_submission_pvt.copybatch.begin',
1143: 'Beginning of copybatch ...' );
1144: end if;
1137:
1138:
1139: -- Body Begins.
1140: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1141: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1142: 'cn.plsql.cn_calc_submission_pvt.copybatch.begin',
1143: 'Beginning of copybatch ...' );
1144: end if;
1145:
1268: IF FND_API.To_Boolean(p_commit) THEN
1269: COMMIT WORK;
1270: END IF;
1271:
1272: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1273: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1274: 'cn.plsql.cn_calc_submission_pvt.copybatch.end',
1275: 'End of copybatch' );
1276: end if;
1269: COMMIT WORK;
1270: END IF;
1271:
1272: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1273: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1274: 'cn.plsql.cn_calc_submission_pvt.copybatch.end',
1275: 'End of copybatch' );
1276: end if;
1277: EXCEPTION
1301: (p_count => x_msg_count ,
1302: p_data => x_msg_data ,
1303: p_encoded => FND_API.G_FALSE );
1304:
1305: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1306: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
1307: 'cn.plsql.cn_calc_submission_pvt.CopyBatch.exception',
1308: sqlerrm);
1309: end if;
1302: p_data => x_msg_data ,
1303: p_encoded => FND_API.G_FALSE );
1304:
1305: if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
1306: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,
1307: 'cn.plsql.cn_calc_submission_pvt.CopyBatch.exception',
1308: sqlerrm);
1309: end if;
1310: