1: PACKAGE BODY igf_aw_coa_gen AS
2: /* $Header: IGFAW17B.pls 120.7 2006/04/19 01:17:34 akomurav noship $ */
3: ------------------------------------------------------------------
4: --Created by : veramach, Oracle India
5: --Date created: 07-OCT-2004
81:
82: BEGIN
83:
84: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
85: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_base_id:'||p_base_id);
86: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_awd_prd_code:'||p_awd_prd_code);
87: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_use_direct_costs:'||p_use_direct_costs);
88: END IF;
89:
82: BEGIN
83:
84: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
85: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_base_id:'||p_base_id);
86: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_awd_prd_code:'||p_awd_prd_code);
87: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_use_direct_costs:'||p_use_direct_costs);
88: END IF;
89:
90: IF p_awd_prd_code IS NOT NULL THEN
83:
84: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
85: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_base_id:'||p_base_id);
86: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_awd_prd_code:'||p_awd_prd_code);
87: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.coa_amount.debug','p_use_direct_costs:'||p_use_direct_costs);
88: END IF;
89:
90: IF p_awd_prd_code IS NOT NULL THEN
91: ln_coa := NULL;
102:
103: EXCEPTION
104: WHEN OTHERS THEN
105: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
106: fnd_message.set_token('NAME','IGF_AW_COA_GEN.COA_AMOUNT ' || SQLERRM);
107: igs_ge_msg_stack.add;
108: app_exception.raise_exception;
109:
110: END coa_amount;
166:
167: BEGIN
168:
169: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
170: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_base_id:'||p_base_id);
171: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_awd_prd_code:'||p_awd_prd_code);
172: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_award_id:'||p_award_id);
173: END IF;
174: IF p_awd_prd_code IS NOT NULL THEN
167: BEGIN
168:
169: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
170: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_base_id:'||p_base_id);
171: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_awd_prd_code:'||p_awd_prd_code);
172: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_award_id:'||p_award_id);
173: END IF;
174: IF p_awd_prd_code IS NOT NULL THEN
175: ln_award := NULL;
168:
169: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
170: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_base_id:'||p_base_id);
171: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_awd_prd_code:'||p_awd_prd_code);
172: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.award_amount.debug','p_award_id:'||p_award_id);
173: END IF;
174: IF p_awd_prd_code IS NOT NULL THEN
175: ln_award := NULL;
176: OPEN c_award_amount(p_base_id,p_awd_prd_code,p_award_id);
186:
187: EXCEPTION
188: WHEN OTHERS THEN
189: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
190: fnd_message.set_token('NAME','IGF_AW_COA_GEN.AWARD_AMOUNT ' || SQLERRM);
191: igs_ge_msg_stack.add;
192: app_exception.raise_exception;
193:
194: END award_amount;
249:
250: BEGIN
251:
252: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
253: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_base_id:'||p_base_id);
254: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_item_code:'||p_item_code);
255: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_cal_type:'||p_ld_cal_type);
256: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_sequence_number:'||p_ld_sequence_number);
257: END IF;
250: BEGIN
251:
252: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
253: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_base_id:'||p_base_id);
254: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_item_code:'||p_item_code);
255: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_cal_type:'||p_ld_cal_type);
256: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_sequence_number:'||p_ld_sequence_number);
257: END IF;
258:
251:
252: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
253: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_base_id:'||p_base_id);
254: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_item_code:'||p_item_code);
255: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_cal_type:'||p_ld_cal_type);
256: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_sequence_number:'||p_ld_sequence_number);
257: END IF;
258:
259: IF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
252: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
253: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_base_id:'||p_base_id);
254: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_item_code:'||p_item_code);
255: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_cal_type:'||p_ld_cal_type);
256: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','p_ld_sequence_number:'||p_ld_sequence_number);
257: END IF;
258:
259: IF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
260:
258:
259: IF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
260:
261: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
262: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','Scenario 1');
263: END IF;
264:
265: l_item_term := NULL;
266: OPEN c_item_term(p_base_id,p_item_code,p_ld_cal_type,p_ld_sequence_number);
279: END IF;
280: ELSIF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NULL AND p_ld_sequence_number IS NULL THEN
281:
282: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
283: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','Scenario 2');
284: END IF;
285:
286: l_item := NULL;
287: OPEN c_item(p_base_id,p_item_code);
300: END IF;
301: ELSIF p_base_id IS NOT NULL AND p_item_code IS NULL AND p_ld_cal_type IS NULL AND p_ld_sequence_number IS NULL THEN
302:
303: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
304: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','Scenario 3');
305: END IF;
306:
307: l_base := NULL;
308: OPEN c_base(p_base_id);
320: RETURN FALSE;
321: END IF;
322: ELSE
323: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
324: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.isCoaLocked.debug','Scenario 4');
325: END IF;
326: RETURN FALSE;
327: END IF;
328:
329:
330: EXCEPTION
331: WHEN OTHERS THEN
332: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
333: fnd_message.set_token('NAME','IGF_AW_COA_GEN.ISCOALOCKED ' || SQLERRM);
334: igs_ge_msg_stack.add;
335: app_exception.raise_exception;
336:
337: END isCoaLocked;
365:
366: BEGIN
367:
368: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
369: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_base_id:'||p_base_id);
370: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_item_code:'||p_item_code);
371: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
372: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
373: END IF;
366: BEGIN
367:
368: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
369: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_base_id:'||p_base_id);
370: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_item_code:'||p_item_code);
371: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
372: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
373: END IF;
374:
367:
368: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
369: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_base_id:'||p_base_id);
370: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_item_code:'||p_item_code);
371: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
372: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
373: END IF;
374:
375: updateLock(p_base_id,'Y',p_item_code,p_ld_cal_type,p_ld_sequence_number);
368: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
369: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_base_id:'||p_base_id);
370: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_item_code:'||p_item_code);
371: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
372: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
373: END IF;
374:
375: updateLock(p_base_id,'Y',p_item_code,p_ld_cal_type,p_ld_sequence_number);
376: END doLockInternal;
396:
397: BEGIN
398:
399: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
400: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_base_id:'||p_base_id);
401: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_item_code:'||p_item_code);
402: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
403: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
404: END IF;
397: BEGIN
398:
399: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
400: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_base_id:'||p_base_id);
401: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_item_code:'||p_item_code);
402: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
403: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
404: END IF;
405:
398:
399: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
400: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_base_id:'||p_base_id);
401: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_item_code:'||p_item_code);
402: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
403: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
404: END IF;
405:
406: updateLock(p_base_id,'N',p_item_code,p_ld_cal_type,p_ld_sequence_number);
399: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
400: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_base_id:'||p_base_id);
401: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_item_code:'||p_item_code);
402: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_cal_type:'||p_ld_cal_type);
403: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlockInternal.debug','p_ld_sequence_number:'||p_ld_sequence_number);
404: END IF;
405:
406: updateLock(p_base_id,'N',p_item_code,p_ld_cal_type,p_ld_sequence_number);
407: END doUnlockInternal;
482:
483: BEGIN
484:
485: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
486: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_base_id:'||p_base_id);
487: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_mode:'||p_mode);
488: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_item_code:'||p_item_code);
489: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_cal_type:'||p_ld_cal_type);
490: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
483: BEGIN
484:
485: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
486: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_base_id:'||p_base_id);
487: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_mode:'||p_mode);
488: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_item_code:'||p_item_code);
489: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_cal_type:'||p_ld_cal_type);
490: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
491: END IF;
484:
485: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
486: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_base_id:'||p_base_id);
487: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_mode:'||p_mode);
488: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_item_code:'||p_item_code);
489: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_cal_type:'||p_ld_cal_type);
490: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
491: END IF;
492:
485: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
486: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_base_id:'||p_base_id);
487: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_mode:'||p_mode);
488: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_item_code:'||p_item_code);
489: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_cal_type:'||p_ld_cal_type);
490: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
491: END IF;
492:
493: IF p_mode = 'Y' THEN
486: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_base_id:'||p_base_id);
487: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_mode:'||p_mode);
488: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_item_code:'||p_item_code);
489: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_cal_type:'||p_ld_cal_type);
490: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
491: END IF;
492:
493: IF p_mode = 'Y' THEN
494: --starting lock mode
494: --starting lock mode
495: IF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
496:
497: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
498: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 1');
499: END IF;
500:
501: IF NOT isCoaLocked(p_base_id,p_item_code,p_ld_cal_type,p_ld_sequence_number) THEN
502: --lock only if its not already locked
527:
528: ELSIF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NULL AND p_ld_sequence_number IS NULL THEN
529:
530: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
531: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 2');
532: END IF;
533:
534: IF NOT isCoaLocked(p_base_id,p_item_code) THEN
535:
560:
561: ELSIF p_base_id IS NOT NULL AND p_item_code IS NULL AND p_ld_cal_type IS NULL AND p_ld_sequence_number IS NULL THEN
562:
563: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
564: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 3');
565: END IF;
566:
567: IF NOT isCoaLocked(p_base_id) THEN
568:
701: RETURN;
702:
703: ELSIF p_base_id IS NOT NULL AND p_item_code IS NULL AND p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
704: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
705: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 4');
706: END IF;
707:
708: FOR l_items IN c_items(p_base_id) LOOP
709: doLockInternal(p_base_id,l_items.item_code,p_ld_cal_type,p_ld_sequence_number);
715: --starting unlock mode
716: IF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
717:
718: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
719: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 5');
720: END IF;
721:
722: IF isCoaLocked(p_base_id,p_item_code,p_ld_cal_type,p_ld_sequence_number) THEN
723: --unlock only if its already locked
754:
755: ELSIF p_base_id IS NOT NULL AND p_item_code IS NOT NULL AND p_ld_cal_type IS NULL AND p_ld_sequence_number IS NULL THEN
756:
757: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
758: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 6');
759: END IF;
760:
761: IF isCoaLocked(p_base_id,p_item_code) THEN
762:
793:
794: ELSIF p_base_id IS NOT NULL AND p_item_code IS NULL AND p_ld_cal_type IS NULL AND p_ld_sequence_number IS NULL THEN
795:
796: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
797: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 7');
798: END IF;
799:
800: IF isCoaLocked(p_base_id) THEN
801:
933: END IF;
934:
935: ELSIF p_base_id IS NOT NULL AND p_item_code IS NULL AND p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
936: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
937: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.updateLock.debug','Scenario 8');
938: END IF;
939:
940: FOR l_items IN c_items(p_base_id) LOOP
941: doUnlockInternal(p_base_id,l_items.item_code,p_ld_cal_type,p_ld_sequence_number);
968:
969: BEGIN
970:
971: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
972: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_base_id:'||p_base_id);
973: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_item_code:'||p_item_code);
974: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_cal_type:'||p_ld_cal_type);
975: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
976: END IF;
969: BEGIN
970:
971: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
972: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_base_id:'||p_base_id);
973: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_item_code:'||p_item_code);
974: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_cal_type:'||p_ld_cal_type);
975: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
976: END IF;
977:
970:
971: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
972: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_base_id:'||p_base_id);
973: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_item_code:'||p_item_code);
974: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_cal_type:'||p_ld_cal_type);
975: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
976: END IF;
977:
978: SAVEPOINT IGF_AW_COA_GEN_DOLOCK;
971: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
972: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_base_id:'||p_base_id);
973: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_item_code:'||p_item_code);
974: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_cal_type:'||p_ld_cal_type);
975: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
976: END IF;
977:
978: SAVEPOINT IGF_AW_COA_GEN_DOLOCK;
979: doLockInternal(p_base_id,p_item_code,p_ld_cal_type,p_ld_sequence_number);
974: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_cal_type:'||p_ld_cal_type);
975: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doLock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
976: END IF;
977:
978: SAVEPOINT IGF_AW_COA_GEN_DOLOCK;
979: doLockInternal(p_base_id,p_item_code,p_ld_cal_type,p_ld_sequence_number);
980: RETURN 'Y';
981:
982: EXCEPTION
980: RETURN 'Y';
981:
982: EXCEPTION
983: WHEN OTHERS THEN
984: ROLLBACK TO IGF_AW_COA_GEN_DOLOCK;
985: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
986: fnd_message.set_token('NAME','IGF_AW_COA_GEN.DOLOCK ' || SQLERRM);
987: igs_ge_msg_stack.add;
988: app_exception.raise_exception;
982: EXCEPTION
983: WHEN OTHERS THEN
984: ROLLBACK TO IGF_AW_COA_GEN_DOLOCK;
985: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
986: fnd_message.set_token('NAME','IGF_AW_COA_GEN.DOLOCK ' || SQLERRM);
987: igs_ge_msg_stack.add;
988: app_exception.raise_exception;
989:
990: END doLock;
1010:
1011: BEGIN
1012:
1013: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1014: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_base_id:'||p_base_id);
1015: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_item_code:'||p_item_code);
1016: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_cal_type:'||p_ld_cal_type);
1017: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1018: END IF;
1011: BEGIN
1012:
1013: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1014: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_base_id:'||p_base_id);
1015: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_item_code:'||p_item_code);
1016: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_cal_type:'||p_ld_cal_type);
1017: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1018: END IF;
1019:
1012:
1013: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1014: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_base_id:'||p_base_id);
1015: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_item_code:'||p_item_code);
1016: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_cal_type:'||p_ld_cal_type);
1017: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1018: END IF;
1019:
1020: SAVEPOINT IGF_AW_COA_GEN_DOUNLOCK;
1013: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1014: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_base_id:'||p_base_id);
1015: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_item_code:'||p_item_code);
1016: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_cal_type:'||p_ld_cal_type);
1017: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1018: END IF;
1019:
1020: SAVEPOINT IGF_AW_COA_GEN_DOUNLOCK;
1021: IF p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
1016: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_cal_type:'||p_ld_cal_type);
1017: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1018: END IF;
1019:
1020: SAVEPOINT IGF_AW_COA_GEN_DOUNLOCK;
1021: IF p_ld_cal_type IS NOT NULL AND p_ld_sequence_number IS NOT NULL THEN
1022: g_unlock_level := 3;
1023: ELSIF p_item_code IS NOT NULL THEN
1024: g_unlock_level := 2;
1025: ELSE
1026: g_unlock_level := 1;
1027: END IF;
1028: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1029: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.doUnlock.debug','g_unlock_level:'||g_unlock_level);
1030: END IF;
1031: doUnlockInternal(p_base_id,p_item_code,p_ld_cal_type,p_ld_sequence_number);
1032: RETURN 'Y';
1033:
1032: RETURN 'Y';
1033:
1034: EXCEPTION
1035: WHEN OTHERS THEN
1036: ROLLBACK TO IGF_AW_COA_GEN_DOUNLOCK;
1037: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
1038: fnd_message.set_token('NAME','IGF_AW_COA_GEN.DOUNLOCK ' || SQLERRM);
1039: igs_ge_msg_stack.add;
1040: app_exception.raise_exception;
1034: EXCEPTION
1035: WHEN OTHERS THEN
1036: ROLLBACK TO IGF_AW_COA_GEN_DOUNLOCK;
1037: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
1038: fnd_message.set_token('NAME','IGF_AW_COA_GEN.DOUNLOCK ' || SQLERRM);
1039: igs_ge_msg_stack.add;
1040: app_exception.raise_exception;
1041:
1042: END doUnlock;
1458: -- museshad (Bug# 4604393)
1459: BEGIN
1460:
1461: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1462: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_base_id:'||p_base_id);
1463: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_ld_cal_type:'||p_ld_cal_type);
1464: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1465: END IF;
1466:
1459: BEGIN
1460:
1461: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1462: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_base_id:'||p_base_id);
1463: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_ld_cal_type:'||p_ld_cal_type);
1464: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1465: END IF;
1466:
1467: l_term_start := NULL;
1460:
1461: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1462: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_base_id:'||p_base_id);
1463: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_ld_cal_type:'||p_ld_cal_type);
1464: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','p_ld_sequence_number:'||p_ld_sequence_number);
1465: END IF;
1466:
1467: l_term_start := NULL;
1468: l_term_end := NULL;
1476: p_ld_start_date => l_term_start,
1477: p_ld_end_date => l_term_end
1478: );
1479: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1480: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_term_start:'||l_term_start);
1481: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_term_end:'||l_term_end);
1482: END IF;
1483:
1484: IF l_term_end < SYSDATE THEN
1477: p_ld_end_date => l_term_end
1478: );
1479: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1480: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_term_start:'||l_term_start);
1481: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_term_end:'||l_term_end);
1482: END IF;
1483:
1484: IF l_term_end < SYSDATE THEN
1485: --past term. Use actual values
1483:
1484: IF l_term_end < SYSDATE THEN
1485: --past term. Use actual values
1486: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1487: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','-------------Past Term-------------');
1488: END IF;
1489: IF canUseAnticipVal THEN
1490: lv_usage := '2';
1491: ELSE
1493: END IF;
1494: ELSIF SYSDATE BETWEEN l_term_start AND l_term_end THEN
1495: --Current term. Use actual values
1496: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1497: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','-------------Current Term-------------');
1498: END IF;
1499: IF canUseAnticipVal THEN
1500: lv_usage := '2';
1501: ELSE
1503: END IF;
1504: ELSE
1505: --Future term. Use anticipated values
1506: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1507: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','-------------Future Term-------------');
1508: END IF;
1509: lv_usage := '3';
1510: END IF;
1511:
1509: lv_usage := '3';
1510: END IF;
1511:
1512: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1513: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','lv_usage:'||lv_usage);
1514: END IF;
1515:
1516: --Derive person id first
1517: l_person_id := NULL;
1519: FETCH c_person_id INTO l_person_id;
1520: CLOSE c_person_id;
1521:
1522: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1523: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_person_id:'||l_person_id);
1524: END IF;
1525:
1526: l_base_det := NULL;
1527:
1541: OPEN c_org(l_person_id,p_ld_cal_type,p_ld_sequence_number);
1542: FETCH c_org INTO l_base_det.org_unit_cd,l_dummy_number;
1543: CLOSE c_org;
1544: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1545: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.org_unit_cd:'||l_base_det.org_unit_cd);
1546: END IF;
1547:
1548: IF l_base_det.org_unit_cd IS NULL AND lv_usage = '2' THEN
1549: --Use anticipated org unit code
1549: --Use anticipated org unit code
1550: l_base_det.org_unit_cd := l_anticip.org_unit_cd;
1551:
1552: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1553: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.org_unit_cd:'||l_anticip.org_unit_cd);
1554: END IF;
1555: END IF;
1556:
1557: --derive actual program type code
1558: OPEN c_prg_type(l_person_id,p_ld_cal_type,p_ld_sequence_number);
1559: FETCH c_prg_type INTO l_base_det.program_type,l_dummy_number;
1560: CLOSE c_prg_type;
1561: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1562: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.program_type:'||l_base_det.program_type);
1563: END IF;
1564:
1565: IF l_base_det.program_type IS NULL AND lv_usage = '2' THEN
1566: --Use anticipated prog type
1566: --Use anticipated prog type
1567: l_base_det.program_type := l_anticip.program_type;
1568:
1569: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1570: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.program_type:'||l_anticip.program_type);
1571: END IF;
1572: END IF;
1573:
1574: --derive actual program location
1575: OPEN c_prog_loc(l_person_id,p_ld_cal_type,p_ld_sequence_number);
1576: FETCH c_prog_loc INTO l_base_det.program_location_cd,l_dummy_number;
1577: CLOSE c_prog_loc;
1578: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1579: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.program_location_cd:'||l_base_det.program_location_cd);
1580: END IF;
1581:
1582: IF l_base_det.program_location_cd IS NULL AND lv_usage = '2' THEN
1583: --use anticipated program location
1583: --use anticipated program location
1584: l_base_det.program_location_cd := l_anticip.program_location_cd;
1585:
1586: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1587: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.program_location_cd:'||l_anticip.program_location_cd);
1588: END IF;
1589: END IF;
1590:
1591: --derive actual program code
1592: OPEN c_prog_code(l_person_id,p_ld_cal_type,p_ld_sequence_number);
1593: FETCH c_prog_code INTO l_base_det.program_cd,l_base_det.version_number,l_dummy_number;
1594: CLOSE c_prog_code;
1595: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1596: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.program_cd:'||l_base_det.program_cd);
1597: END IF;
1598:
1599: IF l_base_det.program_cd IS NULL AND lv_usage = '2' THEN
1600: --use anticipated program code
1600: --use anticipated program code
1601: l_base_det.program_cd := l_anticip.program_cd;
1602: l_base_det.version_number := NULL;
1603: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1604: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.program_cd:'||l_anticip.program_cd);
1605: END IF;
1606: END IF;
1607:
1608: -- museshad (Bug# 4604393)
1659:
1660: -- Log
1661: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1662: fnd_log.string(fnd_log.level_statement,
1663: 'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug',
1664: 'Person_Id= ' ||l_person_id|| ', ld_cal_type= ' ||p_ld_cal_type|| ', ld_sequence_number= ' ||p_ld_sequence_number||
1665: '. Cannot derive class standing bcoz the start date of the term is not defined');
1666: END IF;
1667: END IF;
1667: END IF;
1668: -- museshad (Bug# 4604393)
1669:
1670: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1671: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.class_standing:'||l_base_det.class_standing);
1672: END IF;
1673:
1674: IF l_base_det.class_standing IS NULL AND lv_usage = '2' THEN
1675: --use anticipated class standing
1675: --use anticipated class standing
1676: l_base_det.class_standing := l_anticip.class_standing;
1677:
1678: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1679: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.class_standing:'||l_anticip.class_standing);
1680: END IF;
1681: END IF;
1682:
1683: --derive actual attendance mode
1684: OPEN c_att_mode(l_person_id,p_ld_cal_type,p_ld_sequence_number);
1685: FETCH c_att_mode INTO l_base_det.attendance_mode,l_dummy_number;
1686: CLOSE c_att_mode;
1687: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1688: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.attendance_mode:'||l_base_det.attendance_mode);
1689: END IF;
1690:
1691: IF l_base_det.attendance_mode IS NULL AND lv_usage = '2' THEN
1692: --use anticipated attendance mode
1692: --use anticipated attendance mode
1693: l_base_det.attendance_mode := l_anticip.attendance_mode;
1694:
1695: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1696: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.attendance_mode:'||l_anticip.attendance_mode);
1697: END IF;
1698: END IF;
1699:
1700: BEGIN
1716: --derive anticipated credit points
1717: l_base_det.credit_points_num := l_anticip.credit_points_num;
1718:
1719: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1720: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.credit_points_num:'||l_anticip.credit_points_num);
1721: END IF;
1722:
1723: END IF;
1724:
1725: --derive actual attendance_type--the value of the l_attendance is derived from the above function call i.e enrp_get_inst_latt
1726: l_base_det.attendance_type := l_attendance;
1727:
1728: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1729: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.attendance_type'||l_base_det.attendance_type);
1730: END IF;
1731:
1732: IF l_base_det.attendance_type IS NULL AND lv_usage = '2' THEN
1733: --use anticipated attendance type
1733: --use anticipated attendance type
1734: l_base_det.attendance_type := l_anticip.attendance_type;
1735:
1736: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1737: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.attendance_type:'||l_anticip.attendance_type);
1738: END IF;
1739:
1740: END IF;
1741:
1761: IF l_base_det.months_enrolled_num IS NULL AND lv_usage = '2' THEN
1762: l_base_det.months_enrolled_num := l_anticip.months_enrolled_num;
1763:
1764: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1765: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_anticip.months_enrolled_num:'||l_anticip.months_enrolled_num);
1766: END IF;
1767: END IF;
1768:
1769: --derive residency status
1769: --derive residency status
1770: --first derive the residency class
1771: fnd_profile.get('IGS_FI_RES_CLASS_ID',l_residency_class);
1772: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1773: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_residency_class:'||l_residency_class);
1774: END IF;
1775:
1776: l_base_det.residency_status_code := igs_pe_gen_001.Get_Res_Status(l_person_id,l_residency_class,p_ld_cal_type,p_ld_sequence_number);
1777:
1775:
1776: l_base_det.residency_status_code := igs_pe_gen_001.Get_Res_Status(l_person_id,l_residency_class,p_ld_cal_type,p_ld_sequence_number);
1777:
1778: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1779: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.residency_status_code:'||l_base_det.residency_status_code);
1780: END IF;
1781:
1782: IF l_base_det.residency_status_code IS NULL AND lv_usage = '2' THEN
1783: --derive anticipated residency status
1782: IF l_base_det.residency_status_code IS NULL AND lv_usage = '2' THEN
1783: --derive anticipated residency status
1784: l_base_det.residency_status_code := l_anticip.residency_status_code;
1785: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1786: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen..debug','l_anticip.residency_status_code:'||l_anticip.residency_status_code);
1787: END IF;
1788: END IF;
1789:
1790: --derive housing status
1790: --derive housing status
1791: OPEN c_housing_status(l_person_id,p_ld_cal_type,p_ld_sequence_number);
1792: FETCH c_housing_status INTO l_base_det.housing_status_code;
1793: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1794: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.housing_status_code:'||l_base_det.housing_status_code);
1795: END IF;
1796: CLOSE c_housing_status;
1797: IF l_base_det.housing_status_code IS NULL AND lv_usage = '2' THEN
1798: --derive anticipated housing status
1797: IF l_base_det.housing_status_code IS NULL AND lv_usage = '2' THEN
1798: --derive anticipated housing status
1799: l_base_det.housing_status_code := l_anticip.housing_status_code;
1800: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1801: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.getBaseDetails.debug','l_base_det.housing_status_code:'||l_base_det.housing_status_code);
1802: END IF;
1803: END IF;
1804:
1805: ELSIF lv_usage = '3' THEN
1821: RETURN l_base_det;
1822: EXCEPTION
1823: WHEN OTHERS THEN
1824: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
1825: fnd_message.set_token('NAME','IGF_AW_COA_GEN.GETBASEDETAILS ' || SQLERRM);
1826: igs_ge_msg_stack.add;
1827: app_exception.raise_exception;
1828: END getBaseDetails;
1829:
1889:
1890: BEGIN
1891: SAVEPOINT IGFAW17B_INS_COA_TODO;
1892: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1893: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_person_id:'||p_person_id);
1894: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_calling_module:'||p_calling_module);
1895: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_program_code:'||p_program_code);
1896: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_version_number:'||p_version_number);
1897: END IF;
1890: BEGIN
1891: SAVEPOINT IGFAW17B_INS_COA_TODO;
1892: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1893: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_person_id:'||p_person_id);
1894: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_calling_module:'||p_calling_module);
1895: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_program_code:'||p_program_code);
1896: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_version_number:'||p_version_number);
1897: END IF;
1898:
1891: SAVEPOINT IGFAW17B_INS_COA_TODO;
1892: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1893: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_person_id:'||p_person_id);
1894: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_calling_module:'||p_calling_module);
1895: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_program_code:'||p_program_code);
1896: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_version_number:'||p_version_number);
1897: END IF;
1898:
1899: IF p_person_id IS NOT NULL THEN
1892: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1893: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_person_id:'||p_person_id);
1894: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_calling_module:'||p_calling_module);
1895: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_program_code:'||p_program_code);
1896: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','p_version_number:'||p_version_number);
1897: END IF;
1898:
1899: IF p_person_id IS NOT NULL THEN
1900: --have to recompute COA for a single student only
1907: p_single_entry_ind => 'Y'
1908: );
1909:
1910: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1911: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','l_seqnum:'||l_seqnum);
1912: END IF;
1913:
1914: FOR l_base_records IN c_base_records(p_person_id) LOOP
1915: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1912: END IF;
1913:
1914: FOR l_base_records IN c_base_records(p_person_id) LOOP
1915: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1916: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','l_base_records.ci_cal_type:'||l_base_records.ci_cal_type);
1917: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','l_base_records.ci_sequence_number:'||l_base_records.ci_sequence_number);
1918: END IF;
1919: igs_ge_gen_003.genp_ins_todo_ref(
1920: p_person_id => p_person_id,
1913:
1914: FOR l_base_records IN c_base_records(p_person_id) LOOP
1915: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1916: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','l_base_records.ci_cal_type:'||l_base_records.ci_cal_type);
1917: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_gen.ins_coa_todo.debug','l_base_records.ci_sequence_number:'||l_base_records.ci_sequence_number);
1918: END IF;
1919: igs_ge_gen_003.genp_ins_todo_ref(
1920: p_person_id => p_person_id,
1921: p_s_student_todo_type => 'IGF_COA_COMP',
1932: --wrapper has been called for a course code/version number
1933: --find all the persons who have this program/version as the key program
1934: --recompute COA for those persons
1935: FOR l_persons IN c_persons(p_program_code,p_version_number) LOOP
1936: igf_aw_coa_gen.ins_coa_todo(
1937: p_person_id => l_persons.person_id,
1938: p_calling_module => p_calling_module,
1939: p_program_code => NULL,
1940: p_version_number => NULL
1944: EXCEPTION
1945: WHEN OTHERS THEN
1946: ROLLBACK TO IGFAW17B_INS_COA_TODO;
1947: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
1948: fnd_message.set_token('NAME','IGF_AW_COA_GEN.INS_COA_TODO ' || SQLERRM);
1949: igs_ge_msg_stack.add;
1950: app_exception.raise_exception;
1951:
1952: END ins_coa_todo;
2347: END IF;
2348:
2349: END check_oss_attrib;
2350:
2351: END igf_aw_coa_gen;