165: l_org_id := NULL;
166: igs_ge_gen_003.set_org_id(l_org_id);
167: EXCEPTION
168: WHEN OTHERS THEN
169: fnd_file.put_line (fnd_file.log, fnd_message.get);
170: retcode:=2;
171: RETURN;
172: END;
173: SAVEPOINT sp_activate_pp;
174: retcode := 0;
175: errbuf := NULL;
176:
177: --Log the input parameters.
178: fnd_message.set_name('IGS','IGS_FI_ANC_LOG_PARM');
179: fnd_file.put_line(fnd_file.log,fnd_message.get||':');
180: fnd_file.new_line(fnd_file.log);
181:
182: fnd_file.put_line(fnd_file.log,g_v_person_group||':'||igs_fi_gen_005.finp_get_prsid_grp_code(p_n_person_id_grp));
175: errbuf := NULL;
176:
177: --Log the input parameters.
178: fnd_message.set_name('IGS','IGS_FI_ANC_LOG_PARM');
179: fnd_file.put_line(fnd_file.log,fnd_message.get||':');
180: fnd_file.new_line(fnd_file.log);
181:
182: fnd_file.put_line(fnd_file.log,g_v_person_group||':'||igs_fi_gen_005.finp_get_prsid_grp_code(p_n_person_id_grp));
183: fnd_file.put_line(fnd_file.log,g_v_fee_period||':'||p_v_fee_period);
190: igs_fi_com_rec_interface.chk_manage_account( p_v_manage_acc => l_v_manage_acc,
191: p_v_message_name => l_v_message_name
192: );
193: IF (l_v_manage_acc = 'OTHER' OR l_v_manage_acc IS NULL) THEN
194: fnd_message.set_name('IGS',l_v_message_name);
195: fnd_file.put_line(fnd_file.log,fnd_message.get);
196: retcode := 2;
197: RETURN;
198: END IF;
191: p_v_message_name => l_v_message_name
192: );
193: IF (l_v_manage_acc = 'OTHER' OR l_v_manage_acc IS NULL) THEN
194: fnd_message.set_name('IGS',l_v_message_name);
195: fnd_file.put_line(fnd_file.log,fnd_message.get);
196: retcode := 2;
197: RETURN;
198: END IF;
199:
199:
200: --Person Group is a mandatory parameter for this process.
201: --If the parameter p_n_person_id_grp is null, log the error message.
202: IF p_n_person_id_grp IS NULL THEN
203: fnd_message.set_name('IGS','IGS_FI_PARAMETER_NULL');
204: fnd_file.put_line(fnd_file.log,fnd_message.get);
205: l_b_valid_param := FALSE;
206: ELSE
207: --Validate if the input parameter person id group is valid.
200: --Person Group is a mandatory parameter for this process.
201: --If the parameter p_n_person_id_grp is null, log the error message.
202: IF p_n_person_id_grp IS NULL THEN
203: fnd_message.set_name('IGS','IGS_FI_PARAMETER_NULL');
204: fnd_file.put_line(fnd_file.log,fnd_message.get);
205: l_b_valid_param := FALSE;
206: ELSE
207: --Validate if the input parameter person id group is valid.
208: OPEN cur_pers_grp(p_n_person_id_grp);
208: OPEN cur_pers_grp(p_n_person_id_grp);
209: FETCH cur_pers_grp INTO l_v_var;
210: --If not valid, log the error message in the log file.
211: IF cur_pers_grp%NOTFOUND THEN
212: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
213: fnd_message.set_token('PARAMETER',g_v_person_group);
214: fnd_file.put_line(fnd_file.log,fnd_message.get);
215: l_b_valid_param := FALSE;
216: END IF;
209: FETCH cur_pers_grp INTO l_v_var;
210: --If not valid, log the error message in the log file.
211: IF cur_pers_grp%NOTFOUND THEN
212: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
213: fnd_message.set_token('PARAMETER',g_v_person_group);
214: fnd_file.put_line(fnd_file.log,fnd_message.get);
215: l_b_valid_param := FALSE;
216: END IF;
217: CLOSE cur_pers_grp;
210: --If not valid, log the error message in the log file.
211: IF cur_pers_grp%NOTFOUND THEN
212: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
213: fnd_message.set_token('PARAMETER',g_v_person_group);
214: fnd_file.put_line(fnd_file.log,fnd_message.get);
215: l_b_valid_param := FALSE;
216: END IF;
217: CLOSE cur_pers_grp;
218: END IF;
228: p_n_ci_sequence_number => l_n_fee_ci_sequence_number,
229: p_v_s_cal_cat => 'FEE'
230: ) THEN
231: --If Fee Period is not valid, then log the error message in the log file.
232: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
233: fnd_message.set_token('PARAMETER',g_v_fee_period);
234: fnd_file.put_line(fnd_file.log,fnd_message.get);
235: l_b_valid_param := FALSE;
236: END IF;
229: p_v_s_cal_cat => 'FEE'
230: ) THEN
231: --If Fee Period is not valid, then log the error message in the log file.
232: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
233: fnd_message.set_token('PARAMETER',g_v_fee_period);
234: fnd_file.put_line(fnd_file.log,fnd_message.get);
235: l_b_valid_param := FALSE;
236: END IF;
237: END IF;
230: ) THEN
231: --If Fee Period is not valid, then log the error message in the log file.
232: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
233: fnd_message.set_token('PARAMETER',g_v_fee_period);
234: fnd_file.put_line(fnd_file.log,fnd_message.get);
235: l_b_valid_param := FALSE;
236: END IF;
237: END IF;
238:
237: END IF;
238:
239: --Validate offset days parameter, whether it contains negative value.
240: IF p_n_offset_days IS NOT NULL AND p_n_offset_days < 0 THEN
241: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
242: fnd_message.set_token('PARAMETER',g_v_offset_days);
243: fnd_file.put_line(fnd_file.log,fnd_message.get);
244: l_b_valid_param := FALSE;
245: END IF;
238:
239: --Validate offset days parameter, whether it contains negative value.
240: IF p_n_offset_days IS NOT NULL AND p_n_offset_days < 0 THEN
241: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
242: fnd_message.set_token('PARAMETER',g_v_offset_days);
243: fnd_file.put_line(fnd_file.log,fnd_message.get);
244: l_b_valid_param := FALSE;
245: END IF;
246:
239: --Validate offset days parameter, whether it contains negative value.
240: IF p_n_offset_days IS NOT NULL AND p_n_offset_days < 0 THEN
241: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
242: fnd_message.set_token('PARAMETER',g_v_offset_days);
243: fnd_file.put_line(fnd_file.log,fnd_message.get);
244: l_b_valid_param := FALSE;
245: END IF;
246:
247: --If any of the above parameter validations fail, process should complete with error.
257: );
258: --If the sql returned is invalid, then..
259: IF l_v_status <> 'S' THEN
260: --Log the error message and stop the processing.
261: fnd_message.set_name('IGF','IGF_AP_INVALID_QUERY');
262: fnd_file.put_line(fnd_file.log,fnd_message.get);
263: fnd_file.put_line(fnd_file.log,l_v_sql);
264: retcode := 2;
265: RETURN;
258: --If the sql returned is invalid, then..
259: IF l_v_status <> 'S' THEN
260: --Log the error message and stop the processing.
261: fnd_message.set_name('IGF','IGF_AP_INVALID_QUERY');
262: fnd_file.put_line(fnd_file.log,fnd_message.get);
263: fnd_file.put_line(fnd_file.log,l_v_sql);
264: retcode := 2;
265: RETURN;
266: END IF;
287: --If yes, then..
288: IF cur_pmt_active%FOUND THEN
289: CLOSE cur_pmt_active;
290: --no processing needs to be done for the Student.Next Student needs to be picked up for processing.
291: fnd_message.set_name('IGS','IGS_FI_PP_ACT_PAY_PLAN');
292: fnd_file.put_line(fnd_file.log,fnd_message.get);
293: RAISE e_skip_record;
294: END IF;
295: CLOSE cur_pmt_active;
288: IF cur_pmt_active%FOUND THEN
289: CLOSE cur_pmt_active;
290: --no processing needs to be done for the Student.Next Student needs to be picked up for processing.
291: fnd_message.set_name('IGS','IGS_FI_PP_ACT_PAY_PLAN');
292: fnd_file.put_line(fnd_file.log,fnd_message.get);
293: RAISE e_skip_record;
294: END IF;
295: CLOSE cur_pmt_active;
296:
300: --If the Student does not have a Payment Plan with status PLANNED...
301: IF cur_pmt_planned%NOTFOUND THEN
302: CLOSE cur_pmt_planned;
303: --Log the message in log file and proceed to next Student in the Person Group passed as input.
304: fnd_message.set_name('IGS','IGS_FI_PP_PLANNED_PAY_PLANS');
305: fnd_file.put_line(fnd_file.log,fnd_message.get);
306: RAISE e_skip_record;
307: END IF;
308: CLOSE cur_pmt_planned;
301: IF cur_pmt_planned%NOTFOUND THEN
302: CLOSE cur_pmt_planned;
303: --Log the message in log file and proceed to next Student in the Person Group passed as input.
304: fnd_message.set_name('IGS','IGS_FI_PP_PLANNED_PAY_PLANS');
305: fnd_file.put_line(fnd_file.log,fnd_message.get);
306: RAISE e_skip_record;
307: END IF;
308: CLOSE cur_pmt_planned;
309:
315: FETCH cur_validate_st_dt INTO l_v_var;
316: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
317: IF cur_validate_st_dt%FOUND THEN
318: CLOSE cur_validate_st_dt;
319: fnd_message.set_name('IGS','IGS_FI_PP_ACTIVE_START_DATE');
320: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
321: fnd_file.put_line(fnd_file.log,fnd_message.get);
322: RAISE e_skip_record;
323: END IF;
316: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
317: IF cur_validate_st_dt%FOUND THEN
318: CLOSE cur_validate_st_dt;
319: fnd_message.set_name('IGS','IGS_FI_PP_ACTIVE_START_DATE');
320: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
321: fnd_file.put_line(fnd_file.log,fnd_message.get);
322: RAISE e_skip_record;
323: END IF;
324: CLOSE cur_validate_st_dt;
317: IF cur_validate_st_dt%FOUND THEN
318: CLOSE cur_validate_st_dt;
319: fnd_message.set_name('IGS','IGS_FI_PP_ACTIVE_START_DATE');
320: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
321: fnd_file.put_line(fnd_file.log,fnd_message.get);
322: RAISE e_skip_record;
323: END IF;
324: CLOSE cur_validate_st_dt;
325:
325:
326: --Validate if the Start Date of the Payment Plan is greater than the current System Date.
327: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
328: IF TRUNC(rec_cur_pmt_planned.plan_start_date) > g_d_sysdate THEN
329: fnd_message.set_name('IGS','IGS_FI_PP_NOT_ACTIVE');
330: fnd_message.set_token('START_DATE',rec_cur_pmt_planned.plan_start_date);
331: fnd_message.set_token('PAY_PLAN',rec_cur_pmt_planned.payment_plan_name);
332: fnd_file.put_line(fnd_file.log,fnd_message.get);
333: RAISE e_skip_record;
326: --Validate if the Start Date of the Payment Plan is greater than the current System Date.
327: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
328: IF TRUNC(rec_cur_pmt_planned.plan_start_date) > g_d_sysdate THEN
329: fnd_message.set_name('IGS','IGS_FI_PP_NOT_ACTIVE');
330: fnd_message.set_token('START_DATE',rec_cur_pmt_planned.plan_start_date);
331: fnd_message.set_token('PAY_PLAN',rec_cur_pmt_planned.payment_plan_name);
332: fnd_file.put_line(fnd_file.log,fnd_message.get);
333: RAISE e_skip_record;
334: END IF;
327: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
328: IF TRUNC(rec_cur_pmt_planned.plan_start_date) > g_d_sysdate THEN
329: fnd_message.set_name('IGS','IGS_FI_PP_NOT_ACTIVE');
330: fnd_message.set_token('START_DATE',rec_cur_pmt_planned.plan_start_date);
331: fnd_message.set_token('PAY_PLAN',rec_cur_pmt_planned.payment_plan_name);
332: fnd_file.put_line(fnd_file.log,fnd_message.get);
333: RAISE e_skip_record;
334: END IF;
335:
328: IF TRUNC(rec_cur_pmt_planned.plan_start_date) > g_d_sysdate THEN
329: fnd_message.set_name('IGS','IGS_FI_PP_NOT_ACTIVE');
330: fnd_message.set_token('START_DATE',rec_cur_pmt_planned.plan_start_date);
331: fnd_message.set_token('PAY_PLAN',rec_cur_pmt_planned.payment_plan_name);
332: fnd_file.put_line(fnd_file.log,fnd_message.get);
333: RAISE e_skip_record;
334: END IF;
335:
336: --Validate fi the Payment Plan has some installments for which the due date is earlier than the System Date.
338: FETCH cur_pln_inst INTO l_v_var;
339: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
340: IF cur_pln_inst%FOUND THEN
341: CLOSE cur_pln_inst;
342: fnd_message.set_name('IGS','IGS_FI_PP_INST_DUE_SYSDATE');
343: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
344: fnd_file.put_line(fnd_file.log,fnd_message.get);
345: RAISE e_skip_record;
346: END IF;
339: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
340: IF cur_pln_inst%FOUND THEN
341: CLOSE cur_pln_inst;
342: fnd_message.set_name('IGS','IGS_FI_PP_INST_DUE_SYSDATE');
343: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
344: fnd_file.put_line(fnd_file.log,fnd_message.get);
345: RAISE e_skip_record;
346: END IF;
347: CLOSE cur_pln_inst;
340: IF cur_pln_inst%FOUND THEN
341: CLOSE cur_pln_inst;
342: fnd_message.set_name('IGS','IGS_FI_PP_INST_DUE_SYSDATE');
343: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
344: fnd_file.put_line(fnd_file.log,fnd_message.get);
345: RAISE e_skip_record;
346: END IF;
347: CLOSE cur_pln_inst;
348:
354: --Validate if the Installment Due Date of the first installment is earlier than
355: --the Start Date of the Payment Plan.
356: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
357: IF TRUNC(l_d_due_dt) < TRUNC(rec_cur_pmt_planned.plan_start_date) THEN
358: fnd_message.set_name('IGS','IGS_FI_PP_INST_DUE_DATE');
359: fnd_file.put_line(fnd_file.log,fnd_message.get);
360: RAISE e_skip_record;
361: END IF;
362:
355: --the Start Date of the Payment Plan.
356: --if yes, log the error message,skip the current Student and process next Student in the Person Group.
357: IF TRUNC(l_d_due_dt) < TRUNC(rec_cur_pmt_planned.plan_start_date) THEN
358: fnd_message.set_name('IGS','IGS_FI_PP_INST_DUE_DATE');
359: fnd_file.put_line(fnd_file.log,fnd_message.get);
360: RAISE e_skip_record;
361: END IF;
362:
363: --Validate if the offset days, provided as input to this procees,is greater than the days between the
364: --first installment due date and the System Date.
365: --if offset days is greater, then log the error message,skip the current Student and
366: --process next Student in the Person Group.
367: IF (TRUNC(l_d_due_dt) - g_d_sysdate) < NVL(p_n_offset_days,0) THEN
368: fnd_message.set_name('IGS','IGS_FI_PP_PAY_PLAN_OFFSET');
369: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
370: fnd_message.set_token('PERSON_NUMBER',l_v_person_number);
371: fnd_file.put_line(fnd_file.log,fnd_message.get);
372: RAISE e_skip_record;
365: --if offset days is greater, then log the error message,skip the current Student and
366: --process next Student in the Person Group.
367: IF (TRUNC(l_d_due_dt) - g_d_sysdate) < NVL(p_n_offset_days,0) THEN
368: fnd_message.set_name('IGS','IGS_FI_PP_PAY_PLAN_OFFSET');
369: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
370: fnd_message.set_token('PERSON_NUMBER',l_v_person_number);
371: fnd_file.put_line(fnd_file.log,fnd_message.get);
372: RAISE e_skip_record;
373: END IF;
366: --process next Student in the Person Group.
367: IF (TRUNC(l_d_due_dt) - g_d_sysdate) < NVL(p_n_offset_days,0) THEN
368: fnd_message.set_name('IGS','IGS_FI_PP_PAY_PLAN_OFFSET');
369: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
370: fnd_message.set_token('PERSON_NUMBER',l_v_person_number);
371: fnd_file.put_line(fnd_file.log,fnd_message.get);
372: RAISE e_skip_record;
373: END IF;
374:
367: IF (TRUNC(l_d_due_dt) - g_d_sysdate) < NVL(p_n_offset_days,0) THEN
368: fnd_message.set_name('IGS','IGS_FI_PP_PAY_PLAN_OFFSET');
369: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
370: fnd_message.set_token('PERSON_NUMBER',l_v_person_number);
371: fnd_file.put_line(fnd_file.log,fnd_message.get);
372: RAISE e_skip_record;
373: END IF;
374:
375: --If processing fee amt and processing fee type are NOT PROVIDED for the Payment Plan record, then..
378: rec_cur_pmt_planned.fee_cal_type := NULL;
379: rec_cur_pmt_planned.fee_ci_sequence_number := NULL;
380: --..if Fee Period parameter is not null then log should indicate that fee period is skipped for student.
381: IF p_v_fee_period IS NOT NULL THEN
382: fnd_message.set_name('IGS','IGS_FI_PP_NO_PRC_FEE_SETUP');
383: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
384: fnd_file.put_line(fnd_file.log,fnd_message.get);
385: END IF;
386:
379: rec_cur_pmt_planned.fee_ci_sequence_number := NULL;
380: --..if Fee Period parameter is not null then log should indicate that fee period is skipped for student.
381: IF p_v_fee_period IS NOT NULL THEN
382: fnd_message.set_name('IGS','IGS_FI_PP_NO_PRC_FEE_SETUP');
383: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
384: fnd_file.put_line(fnd_file.log,fnd_message.get);
385: END IF;
386:
387: ELSE --If processing fee amt and processing fee type are PROVIDED for the Payment Plan record,
380: --..if Fee Period parameter is not null then log should indicate that fee period is skipped for student.
381: IF p_v_fee_period IS NOT NULL THEN
382: fnd_message.set_name('IGS','IGS_FI_PP_NO_PRC_FEE_SETUP');
383: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
384: fnd_file.put_line(fnd_file.log,fnd_message.get);
385: END IF;
386:
387: ELSE --If processing fee amt and processing fee type are PROVIDED for the Payment Plan record,
388:
391: --Check if the Fee Period input parameter to this process has some value.
392: --If Fee Period parameter is also null,then log the error message,skip the current Student and
393: --process next Student in the Person Group.
394: IF p_v_fee_period IS NULL THEN
395: fnd_message.set_name('IGS','IGS_FI_PP_NO_FEE_PERIOD');
396: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
397: fnd_file.put_line(fnd_file.log,fnd_message.get);
398: RAISE e_skip_record;
399: ELSE--Fee Period parameter is not null, then...
392: --If Fee Period parameter is also null,then log the error message,skip the current Student and
393: --process next Student in the Person Group.
394: IF p_v_fee_period IS NULL THEN
395: fnd_message.set_name('IGS','IGS_FI_PP_NO_FEE_PERIOD');
396: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
397: fnd_file.put_line(fnd_file.log,fnd_message.get);
398: RAISE e_skip_record;
399: ELSE--Fee Period parameter is not null, then...
400: --Validate the FTCI combination.
393: --process next Student in the Person Group.
394: IF p_v_fee_period IS NULL THEN
395: fnd_message.set_name('IGS','IGS_FI_PP_NO_FEE_PERIOD');
396: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
397: fnd_file.put_line(fnd_file.log,fnd_message.get);
398: RAISE e_skip_record;
399: ELSE--Fee Period parameter is not null, then...
400: --Validate the FTCI combination.
401: OPEN cur_validate_ftci(rec_cur_pmt_planned.processing_fee_type,
406: --If FTCI combination is not valid, then log the error message,skip the current Student and
407: --process next Student in the Person Group.
408: IF cur_validate_ftci%NOTFOUND THEN
409: CLOSE cur_validate_ftci;
410: fnd_message.set_name('IGS','IGS_FI_PP_NO_FEE_PERIOD_MATCH');
411: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
412: fnd_message.set_token('FEE_TYPE_NAME',rec_cur_pmt_planned.processing_fee_type);
413: fnd_file.put_line(fnd_file.log,fnd_message.get);
414: RAISE e_skip_record;
407: --process next Student in the Person Group.
408: IF cur_validate_ftci%NOTFOUND THEN
409: CLOSE cur_validate_ftci;
410: fnd_message.set_name('IGS','IGS_FI_PP_NO_FEE_PERIOD_MATCH');
411: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
412: fnd_message.set_token('FEE_TYPE_NAME',rec_cur_pmt_planned.processing_fee_type);
413: fnd_file.put_line(fnd_file.log,fnd_message.get);
414: RAISE e_skip_record;
415: ELSE
408: IF cur_validate_ftci%NOTFOUND THEN
409: CLOSE cur_validate_ftci;
410: fnd_message.set_name('IGS','IGS_FI_PP_NO_FEE_PERIOD_MATCH');
411: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
412: fnd_message.set_token('FEE_TYPE_NAME',rec_cur_pmt_planned.processing_fee_type);
413: fnd_file.put_line(fnd_file.log,fnd_message.get);
414: RAISE e_skip_record;
415: ELSE
416: rec_cur_pmt_planned.fee_cal_type := l_v_fee_cal_type;
409: CLOSE cur_validate_ftci;
410: fnd_message.set_name('IGS','IGS_FI_PP_NO_FEE_PERIOD_MATCH');
411: fnd_message.set_token('PLAN_NAME',rec_cur_pmt_planned.payment_plan_name);
412: fnd_message.set_token('FEE_TYPE_NAME',rec_cur_pmt_planned.processing_fee_type);
413: fnd_file.put_line(fnd_file.log,fnd_message.get);
414: RAISE e_skip_record;
415: ELSE
416: rec_cur_pmt_planned.fee_cal_type := l_v_fee_cal_type;
417: rec_cur_pmt_planned.fee_ci_sequence_number := l_n_fee_ci_sequence_number;
486:
487: --If person group passed as input does not have any members associated,
488: --then process should log the message ***No Data Found***.
489: IF l_n_count = 1 THEN
490: fnd_message.set_name('IGS','IGS_GE_NO_DATA_FOUND');
491: fnd_file.put_line(fnd_file.log,fnd_message.get);
492: fnd_file.new_line(fnd_file.log);
493: END IF;
494: fnd_file.put_line(fnd_file.log,g_v_line);
487: --If person group passed as input does not have any members associated,
488: --then process should log the message ***No Data Found***.
489: IF l_n_count = 1 THEN
490: fnd_message.set_name('IGS','IGS_GE_NO_DATA_FOUND');
491: fnd_file.put_line(fnd_file.log,fnd_message.get);
492: fnd_file.new_line(fnd_file.log);
493: END IF;
494: fnd_file.put_line(fnd_file.log,g_v_line);
495:
497: --Handle the Locking exception.
498: WHEN e_resource_busy THEN
499: ROLLBACK TO sp_activate_pp;
500: retcode := 2;
501: fnd_message.set_name('IGS','IGS_FI_RFND_REC_LOCK');
502: fnd_file.put_line(fnd_file.log,fnd_message.get);
503: fnd_file.new_line(fnd_file.log);
504: WHEN OTHERS THEN
505: ROLLBACK TO sp_activate_pp;
498: WHEN e_resource_busy THEN
499: ROLLBACK TO sp_activate_pp;
500: retcode := 2;
501: fnd_message.set_name('IGS','IGS_FI_RFND_REC_LOCK');
502: fnd_file.put_line(fnd_file.log,fnd_message.get);
503: fnd_file.new_line(fnd_file.log);
504: WHEN OTHERS THEN
505: ROLLBACK TO sp_activate_pp;
506: retcode := 2;
503: fnd_file.new_line(fnd_file.log);
504: WHEN OTHERS THEN
505: ROLLBACK TO sp_activate_pp;
506: retcode := 2;
507: fnd_file.put_line(fnd_file.log,fnd_message.get_string('IGS','IGS_GE_UNHANDLED_EXCEPTION')||' - '||SQLERRM);
508: END activate_plan;
509:
510: PROCEDURE assign_students(errbuf OUT NOCOPY VARCHAR2,
511: retcode OUT NOCOPY NUMBER,
638: l_d_start_date := TRUNC(igs_ge_date.igsdate(p_v_start_date));
639: END IF;
640:
641: --Log the input parameters.
642: fnd_message.set_name('IGS','IGS_FI_ANC_LOG_PARM');
643: fnd_file.put_line(fnd_file.log,fnd_message.get||':');
644: fnd_file.new_line(fnd_file.log);
645:
646: fnd_file.put_line(fnd_file.log,l_v_pmt_plan_template||':'||p_v_payment_plan_name);
639: END IF;
640:
641: --Log the input parameters.
642: fnd_message.set_name('IGS','IGS_FI_ANC_LOG_PARM');
643: fnd_file.put_line(fnd_file.log,fnd_message.get||':');
644: fnd_file.new_line(fnd_file.log);
645:
646: fnd_file.put_line(fnd_file.log,l_v_pmt_plan_template||':'||p_v_payment_plan_name);
647: fnd_file.put_line(fnd_file.log,g_v_person_group||':'||igs_fi_gen_005.finp_get_prsid_grp_code(p_n_person_id_grp));
655: igs_fi_com_rec_interface.chk_manage_account( p_v_manage_acc => l_v_manage_acc,
656: p_v_message_name => l_v_message_name
657: );
658: IF (l_v_manage_acc = 'OTHER' OR l_v_manage_acc IS NULL) THEN
659: fnd_message.set_name('IGS',l_v_message_name);
660: fnd_file.put_line(fnd_file.log,fnd_message.get);
661: retcode := 2;
662: RETURN;
663: END IF;
656: p_v_message_name => l_v_message_name
657: );
658: IF (l_v_manage_acc = 'OTHER' OR l_v_manage_acc IS NULL) THEN
659: fnd_message.set_name('IGS',l_v_message_name);
660: fnd_file.put_line(fnd_file.log,fnd_message.get);
661: retcode := 2;
662: RETURN;
663: END IF;
664:
663: END IF;
664:
665: --Check if the required parameters are passed, if not log the error message.
666: IF p_v_payment_plan_name IS NULL OR p_n_person_id_grp IS NULL OR p_v_start_date IS NULL THEN
667: fnd_message.set_name('IGS','IGS_FI_PARAMETER_NULL');
668: fnd_file.put_line(fnd_file.log,fnd_message.get);
669: l_b_valid_param := FALSE;
670: END IF;
671:
664:
665: --Check if the required parameters are passed, if not log the error message.
666: IF p_v_payment_plan_name IS NULL OR p_n_person_id_grp IS NULL OR p_v_start_date IS NULL THEN
667: fnd_message.set_name('IGS','IGS_FI_PARAMETER_NULL');
668: fnd_file.put_line(fnd_file.log,fnd_message.get);
669: l_b_valid_param := FALSE;
670: END IF;
671:
672: --Validate Payment Plan parameter.
672: --Validate Payment Plan parameter.
673: OPEN cur_pmt_plan(p_v_payment_plan_name);
674: FETCH cur_pmt_plan INTO rec_cur_pmt_plan;
675: IF cur_pmt_plan%NOTFOUND THEN
676: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
677: fnd_message.set_token('PARAMETER',l_v_pmt_plan_template);
678: fnd_file.put_line(fnd_file.log,fnd_message.get);
679: l_b_valid_param := FALSE;
680: END IF;
673: OPEN cur_pmt_plan(p_v_payment_plan_name);
674: FETCH cur_pmt_plan INTO rec_cur_pmt_plan;
675: IF cur_pmt_plan%NOTFOUND THEN
676: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
677: fnd_message.set_token('PARAMETER',l_v_pmt_plan_template);
678: fnd_file.put_line(fnd_file.log,fnd_message.get);
679: l_b_valid_param := FALSE;
680: END IF;
681: CLOSE cur_pmt_plan;
674: FETCH cur_pmt_plan INTO rec_cur_pmt_plan;
675: IF cur_pmt_plan%NOTFOUND THEN
676: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
677: fnd_message.set_token('PARAMETER',l_v_pmt_plan_template);
678: fnd_file.put_line(fnd_file.log,fnd_message.get);
679: l_b_valid_param := FALSE;
680: END IF;
681: CLOSE cur_pmt_plan;
682:
682:
683: OPEN cur_pers_grp(p_n_person_id_grp);
684: FETCH cur_pers_grp INTO l_v_var;
685: IF cur_pers_grp%NOTFOUND THEN
686: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
687: fnd_message.set_token('PARAMETER',g_v_person_group);
688: fnd_file.put_line(fnd_file.log,fnd_message.get);
689: l_b_valid_param := FALSE;
690: END IF;
683: OPEN cur_pers_grp(p_n_person_id_grp);
684: FETCH cur_pers_grp INTO l_v_var;
685: IF cur_pers_grp%NOTFOUND THEN
686: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
687: fnd_message.set_token('PARAMETER',g_v_person_group);
688: fnd_file.put_line(fnd_file.log,fnd_message.get);
689: l_b_valid_param := FALSE;
690: END IF;
691: CLOSE cur_pers_grp;
684: FETCH cur_pers_grp INTO l_v_var;
685: IF cur_pers_grp%NOTFOUND THEN
686: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
687: fnd_message.set_token('PARAMETER',g_v_person_group);
688: fnd_file.put_line(fnd_file.log,fnd_message.get);
689: l_b_valid_param := FALSE;
690: END IF;
691: CLOSE cur_pers_grp;
692:
700: IF NOT igs_fi_crdapi_util.validate_cal_inst( p_v_cal_type => l_v_fee_cal_type,
701: p_n_ci_sequence_number => l_n_fee_ci_sequence_number,
702: p_v_s_cal_cat => 'FEE'
703: ) THEN
704: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
705: fnd_message.set_token('PARAMETER',g_v_fee_period);
706: fnd_file.put_line(fnd_file.log,fnd_message.get);
707: l_b_valid_param := FALSE;
708: END IF;
701: p_n_ci_sequence_number => l_n_fee_ci_sequence_number,
702: p_v_s_cal_cat => 'FEE'
703: ) THEN
704: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
705: fnd_message.set_token('PARAMETER',g_v_fee_period);
706: fnd_file.put_line(fnd_file.log,fnd_message.get);
707: l_b_valid_param := FALSE;
708: END IF;
709: END IF;
702: p_v_s_cal_cat => 'FEE'
703: ) THEN
704: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
705: fnd_message.set_token('PARAMETER',g_v_fee_period);
706: fnd_file.put_line(fnd_file.log,fnd_message.get);
707: l_b_valid_param := FALSE;
708: END IF;
709: END IF;
710:
750: );
751: --If the sql returned is invalid, then..
752: IF l_v_status <> 'S' THEN
753: --Log the error message and stop processing.
754: fnd_message.set_name('IGF','IGF_AP_INVALID_QUERY');
755: fnd_file.put_line(fnd_file.log,fnd_message.get);
756: fnd_file.put_line(fnd_file.log,l_v_sql);
757: l_b_valid_param := FALSE;
758: END IF;
751: --If the sql returned is invalid, then..
752: IF l_v_status <> 'S' THEN
753: --Log the error message and stop processing.
754: fnd_message.set_name('IGF','IGF_AP_INVALID_QUERY');
755: fnd_file.put_line(fnd_file.log,fnd_message.get);
756: fnd_file.put_line(fnd_file.log,l_v_sql);
757: l_b_valid_param := FALSE;
758: END IF;
759:
876: OPEN cur_pp_planned(l_n_person_id);
877: FETCH cur_pp_planned INTO l_v_var;
878: IF cur_pp_planned%FOUND THEN
879: --Log the error message.
880: fnd_message.set_name('IGS','IGS_FI_PP_NO_NEW_ASSIGN');
881: l_v_pers_message := fnd_message.get;
882: l_b_planned_plan := TRUE;
883: --and retcode need to be set to 1 to complete the process also in Warning status.
884: l_v_pers_status := g_v_error;
877: FETCH cur_pp_planned INTO l_v_var;
878: IF cur_pp_planned%FOUND THEN
879: --Log the error message.
880: fnd_message.set_name('IGS','IGS_FI_PP_NO_NEW_ASSIGN');
881: l_v_pers_message := fnd_message.get;
882: l_b_planned_plan := TRUE;
883: --and retcode need to be set to 1 to complete the process also in Warning status.
884: l_v_pers_status := g_v_error;
885: retcode := 1;
891: OPEN cur_validate_start_dt(l_n_person_id,l_d_start_date);
892: FETCH cur_validate_start_dt INTO l_v_var;
893: IF cur_validate_start_dt%FOUND THEN
894: --Log the error message.
895: fnd_message.set_name('IGS','IGS_FI_PP_END_DATE_EARLY');
896: fnd_message.set_token('PERSON_NUMBER',l_v_person_number);
897: l_v_pers_message := l_v_pers_message || fnd_message.get;
898: l_b_planned_plan := TRUE;
899: l_v_pers_status := g_v_error;
892: FETCH cur_validate_start_dt INTO l_v_var;
893: IF cur_validate_start_dt%FOUND THEN
894: --Log the error message.
895: fnd_message.set_name('IGS','IGS_FI_PP_END_DATE_EARLY');
896: fnd_message.set_token('PERSON_NUMBER',l_v_person_number);
897: l_v_pers_message := l_v_pers_message || fnd_message.get;
898: l_b_planned_plan := TRUE;
899: l_v_pers_status := g_v_error;
900: retcode := 1;
893: IF cur_validate_start_dt%FOUND THEN
894: --Log the error message.
895: fnd_message.set_name('IGS','IGS_FI_PP_END_DATE_EARLY');
896: fnd_message.set_token('PERSON_NUMBER',l_v_person_number);
897: l_v_pers_message := l_v_pers_message || fnd_message.get;
898: l_b_planned_plan := TRUE;
899: l_v_pers_status := g_v_error;
900: retcode := 1;
901: END IF;
988: EXCEPTION
989: WHEN OTHERS THEN
990: --In case TBH throws any errors, log the error status.
991: l_v_pers_status := g_v_error;
992: l_v_pers_message := l_v_pers_message ||fnd_message.get;
993: END;
994: END IF;
995: fnd_file.put_line(fnd_file.log,g_v_pp_status||':'||l_v_pers_status);
996: IF l_v_pers_message IS NOT NULL THEN
1002:
1003: --If person group passed as input does not have any members associated,
1004: --then process should log the message ***No Data Found***.
1005: IF NOT l_b_no_rec THEN
1006: fnd_message.set_name('IGS','IGS_GE_NO_DATA_FOUND');
1007: fnd_file.put_line(fnd_file.log,fnd_message.get);
1008: fnd_file.new_line(fnd_file.log);
1009: END IF;
1010:
1003: --If person group passed as input does not have any members associated,
1004: --then process should log the message ***No Data Found***.
1005: IF NOT l_b_no_rec THEN
1006: fnd_message.set_name('IGS','IGS_GE_NO_DATA_FOUND');
1007: fnd_file.put_line(fnd_file.log,fnd_message.get);
1008: fnd_file.new_line(fnd_file.log);
1009: END IF;
1010:
1011: EXCEPTION
1012: --Handle the Locking exception.
1013: WHEN e_resource_busy THEN
1014: ROLLBACK TO sp_assign_student;
1015: retcode := 2;
1016: fnd_message.set_name('IGS','IGS_FI_RFND_REC_LOCK');
1017: fnd_file.put_line(fnd_file.log,fnd_message.get);
1018: fnd_file.new_line(fnd_file.log);
1019:
1020: WHEN OTHERS THEN
1013: WHEN e_resource_busy THEN
1014: ROLLBACK TO sp_assign_student;
1015: retcode := 2;
1016: fnd_message.set_name('IGS','IGS_FI_RFND_REC_LOCK');
1017: fnd_file.put_line(fnd_file.log,fnd_message.get);
1018: fnd_file.new_line(fnd_file.log);
1019:
1020: WHEN OTHERS THEN
1021: ROLLBACK TO sp_assign_student;
1019:
1020: WHEN OTHERS THEN
1021: ROLLBACK TO sp_assign_student;
1022: retcode := 2;
1023: fnd_file.put_line(fnd_file.log,fnd_message.get_string('IGS','IGS_GE_UNHANDLED_EXCEPTION')||' - '||SQLERRM);
1024: END assign_students;
1025:
1026: FUNCTION close_active_pp(p_n_person_id IN igs_fi_parties_v.person_id%TYPE,
1027: p_n_tolerance_threshold IN NUMBER) RETURN NUMBER IS
1156: END LOOP;
1157: l_v_end_dt_msg := l_v_end_dt_msg||g_d_sysdate;
1158: EXCEPTION
1159: WHEN OTHERS THEN
1160: l_v_end_dt_msg := l_v_end_dt_msg||fnd_message.get;
1161: END;
1162:
1163: ELSE--If the outstanding balance for the student is greater than the p_n_tolerance_threshold parameter..
1164:
1164:
1165: --Against the End Date placeholder,log the message that Payment Plan does not meet the Criteria and
1166: --Remains Active and Process the next Student.
1167:
1168: fnd_message.set_name('IGS','IGS_FI_PP_NOT_CLOSED');
1169: l_v_end_dt_msg := l_v_end_dt_msg||fnd_message.get;
1170: END IF;
1171:
1172: --Log the end date details.
1165: --Against the End Date placeholder,log the message that Payment Plan does not meet the Criteria and
1166: --Remains Active and Process the next Student.
1167:
1168: fnd_message.set_name('IGS','IGS_FI_PP_NOT_CLOSED');
1169: l_v_end_dt_msg := l_v_end_dt_msg||fnd_message.get;
1170: END IF;
1171:
1172: --Log the end date details.
1173: fnd_file.put_line(fnd_file.log,l_v_end_dt_msg);
1219: l_org_id := NULL;
1220: igs_ge_gen_003.set_org_id(l_org_id);
1221: EXCEPTION
1222: WHEN OTHERS THEN
1223: fnd_file.put_line (fnd_file.log, fnd_message.get);
1224: retcode:=2;
1225: RETURN;
1226: END;
1227: --Create the savepoint for rollback.
1230: retcode := 0;
1231: errbuf := NULL;
1232:
1233: --Log the input parameters.
1234: fnd_message.set_name('IGS','IGS_FI_ANC_LOG_PARM');
1235: fnd_file.put_line(fnd_file.log,fnd_message.get||':');
1236: fnd_file.new_line(fnd_file.log);
1237:
1238: fnd_file.put_line(fnd_file.log,l_v_tol_thr||':'||p_n_tolerance_threshold);
1231: errbuf := NULL;
1232:
1233: --Log the input parameters.
1234: fnd_message.set_name('IGS','IGS_FI_ANC_LOG_PARM');
1235: fnd_file.put_line(fnd_file.log,fnd_message.get||':');
1236: fnd_file.new_line(fnd_file.log);
1237:
1238: fnd_file.put_line(fnd_file.log,l_v_tol_thr||':'||p_n_tolerance_threshold);
1239: fnd_file.put_line(fnd_file.log,g_v_person_group||':'||igs_fi_gen_005.finp_get_prsid_grp_code(p_n_person_id_grp));
1246: igs_fi_com_rec_interface.chk_manage_account( p_v_manage_acc => l_v_manage_acc,
1247: p_v_message_name => l_v_message_name
1248: );
1249: IF (l_v_manage_acc = 'OTHER' OR l_v_manage_acc IS NULL) THEN
1250: fnd_message.set_name('IGS',l_v_message_name);
1251: fnd_file.put_line(fnd_file.log,fnd_message.get);
1252: retcode := 2;
1253: RETURN;
1254: END IF;
1247: p_v_message_name => l_v_message_name
1248: );
1249: IF (l_v_manage_acc = 'OTHER' OR l_v_manage_acc IS NULL) THEN
1250: fnd_message.set_name('IGS',l_v_message_name);
1251: fnd_file.put_line(fnd_file.log,fnd_message.get);
1252: retcode := 2;
1253: RETURN;
1254: END IF;
1255:
1255:
1256: --Tolerance Threshold and Test Mode are mandatory parameters to this process.
1257: --If they are null, log the error message in the log file and error out the process.
1258: IF p_n_tolerance_threshold IS NULL OR p_v_test_mode IS NULL THEN
1259: fnd_message.set_name('IGS','IGS_FI_PARAMETER_NULL');
1260: fnd_file.put_line(fnd_file.log,fnd_message.get);
1261: l_b_valid_param := FALSE;
1262: END IF;
1263:
1256: --Tolerance Threshold and Test Mode are mandatory parameters to this process.
1257: --If they are null, log the error message in the log file and error out the process.
1258: IF p_n_tolerance_threshold IS NULL OR p_v_test_mode IS NULL THEN
1259: fnd_message.set_name('IGS','IGS_FI_PARAMETER_NULL');
1260: fnd_file.put_line(fnd_file.log,fnd_message.get);
1261: l_b_valid_param := FALSE;
1262: END IF;
1263:
1264: --Tolerance Threshold parameter cannot be negative, if so, log the error message in the log file
1263:
1264: --Tolerance Threshold parameter cannot be negative, if so, log the error message in the log file
1265: --and error out the process.
1266: IF NVL(p_n_tolerance_threshold,0) < 0 THEN
1267: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1268: fnd_message.set_token('PARAMETER',l_v_tol_thr);
1269: fnd_file.put_line(fnd_file.log,fnd_message.get);
1270: l_b_valid_param := FALSE;
1271: END IF;
1264: --Tolerance Threshold parameter cannot be negative, if so, log the error message in the log file
1265: --and error out the process.
1266: IF NVL(p_n_tolerance_threshold,0) < 0 THEN
1267: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1268: fnd_message.set_token('PARAMETER',l_v_tol_thr);
1269: fnd_file.put_line(fnd_file.log,fnd_message.get);
1270: l_b_valid_param := FALSE;
1271: END IF;
1272:
1265: --and error out the process.
1266: IF NVL(p_n_tolerance_threshold,0) < 0 THEN
1267: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1268: fnd_message.set_token('PARAMETER',l_v_tol_thr);
1269: fnd_file.put_line(fnd_file.log,fnd_message.get);
1270: l_b_valid_param := FALSE;
1271: END IF;
1272:
1273: --Validate the Person Group input parameter, if passed as not null.
1275: OPEN cur_pers_grp(p_n_person_id_grp);
1276: FETCH cur_pers_grp INTO l_v_var;
1277: --If the person group passed is not valid, then log the error message in the log file and error out the process.
1278: IF cur_pers_grp%NOTFOUND THEN
1279: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1280: fnd_message.set_token('PARAMETER',g_v_person_group);
1281: fnd_file.put_line(fnd_file.log,fnd_message.get);
1282: l_b_valid_param := FALSE;
1283: END IF;
1276: FETCH cur_pers_grp INTO l_v_var;
1277: --If the person group passed is not valid, then log the error message in the log file and error out the process.
1278: IF cur_pers_grp%NOTFOUND THEN
1279: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1280: fnd_message.set_token('PARAMETER',g_v_person_group);
1281: fnd_file.put_line(fnd_file.log,fnd_message.get);
1282: l_b_valid_param := FALSE;
1283: END IF;
1284: CLOSE cur_pers_grp;
1277: --If the person group passed is not valid, then log the error message in the log file and error out the process.
1278: IF cur_pers_grp%NOTFOUND THEN
1279: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1280: fnd_message.set_token('PARAMETER',g_v_person_group);
1281: fnd_file.put_line(fnd_file.log,fnd_message.get);
1282: l_b_valid_param := FALSE;
1283: END IF;
1284: CLOSE cur_pers_grp;
1285: END IF;
1289: --Validate whether the passed p_v_test_mode parameter is a valid lookup.
1290: l_v_meaning := igs_fi_gen_gl.get_lkp_meaning('VS_AS_YN',p_v_test_mode);
1291: --If it is not a valid lookup, then log the error message in the log file and error out the process.
1292: IF l_v_meaning IS NULL THEN
1293: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1294: fnd_message.set_token('PARAMETER',l_v_test_mode);
1295: fnd_file.put_line(fnd_file.log,fnd_message.get);
1296: l_b_valid_param := FALSE;
1297: END IF;
1290: l_v_meaning := igs_fi_gen_gl.get_lkp_meaning('VS_AS_YN',p_v_test_mode);
1291: --If it is not a valid lookup, then log the error message in the log file and error out the process.
1292: IF l_v_meaning IS NULL THEN
1293: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1294: fnd_message.set_token('PARAMETER',l_v_test_mode);
1295: fnd_file.put_line(fnd_file.log,fnd_message.get);
1296: l_b_valid_param := FALSE;
1297: END IF;
1298: END IF;
1291: --If it is not a valid lookup, then log the error message in the log file and error out the process.
1292: IF l_v_meaning IS NULL THEN
1293: fnd_message.set_name('IGS','IGS_FI_INVALID_PARAMETER');
1294: fnd_message.set_token('PARAMETER',l_v_test_mode);
1295: fnd_file.put_line(fnd_file.log,fnd_message.get);
1296: l_b_valid_param := FALSE;
1297: END IF;
1298: END IF;
1299:
1313: );
1314: --If the sql returned is invalid, then..
1315: IF l_v_status <> 'S' THEN
1316: --Log the error message the stop processing.
1317: fnd_message.set_name('IGF','IGF_AP_INVALID_QUERY');
1318: fnd_file.put_line(fnd_file.log,fnd_message.get);
1319: fnd_file.put_line(fnd_file.log,l_v_sql);
1320: retcode := 2;
1321: RETURN;
1314: --If the sql returned is invalid, then..
1315: IF l_v_status <> 'S' THEN
1316: --Log the error message the stop processing.
1317: fnd_message.set_name('IGF','IGF_AP_INVALID_QUERY');
1318: fnd_file.put_line(fnd_file.log,fnd_message.get);
1319: fnd_file.put_line(fnd_file.log,l_v_sql);
1320: retcode := 2;
1321: RETURN;
1322: END IF;
1335: IF igs_fi_gen_008.chk_active_pay_plan(l_n_person_id) = 'N' THEN
1336:
1337: --Log the person number and error message conveying that the person does not have any active payment plan.
1338: fnd_file.put_line(fnd_file.log,g_v_person||': '||igs_fi_gen_008.get_party_number(l_n_person_id));
1339: fnd_message.set_name('IGS','IGS_FI_PP_NO_ACT_PLANS');
1340: fnd_file.put_line(fnd_file.log,fnd_message.get);
1341: fnd_file.new_line(fnd_file.log);
1342: ELSE
1343: --Call the local function for closing the active payment plan record.
1336:
1337: --Log the person number and error message conveying that the person does not have any active payment plan.
1338: fnd_file.put_line(fnd_file.log,g_v_person||': '||igs_fi_gen_008.get_party_number(l_n_person_id));
1339: fnd_message.set_name('IGS','IGS_FI_PP_NO_ACT_PLANS');
1340: fnd_file.put_line(fnd_file.log,fnd_message.get);
1341: fnd_file.new_line(fnd_file.log);
1342: ELSE
1343: --Call the local function for closing the active payment plan record.
1344: l_n_cnt := close_active_pp(p_n_person_id => l_n_person_id,
1361: IF p_v_test_mode <> g_v_ind_yes THEN
1362: COMMIT;
1363: ELSE
1364: IF l_n_count <> 0 THEN
1365: fnd_message.set_name('IGS','IGS_FI_PRC_TEST_RUN');
1366: fnd_file.put_line(fnd_file.log,fnd_message.get);
1367: ROLLBACK TO sp_close_status;
1368: END IF;
1369: END IF;
1362: COMMIT;
1363: ELSE
1364: IF l_n_count <> 0 THEN
1365: fnd_message.set_name('IGS','IGS_FI_PRC_TEST_RUN');
1366: fnd_file.put_line(fnd_file.log,fnd_message.get);
1367: ROLLBACK TO sp_close_status;
1368: END IF;
1369: END IF;
1370:
1370:
1371: --If there are no persons to be processed...
1372: --then process should log the message ***No Data Found***.
1373: IF l_n_count = 0 THEN
1374: fnd_message.set_name('IGS','IGS_GE_NO_DATA_FOUND');
1375: fnd_file.put_line(fnd_file.log,fnd_message.get);
1376: fnd_file.new_line(fnd_file.log);
1377: END IF;
1378:
1371: --If there are no persons to be processed...
1372: --then process should log the message ***No Data Found***.
1373: IF l_n_count = 0 THEN
1374: fnd_message.set_name('IGS','IGS_GE_NO_DATA_FOUND');
1375: fnd_file.put_line(fnd_file.log,fnd_message.get);
1376: fnd_file.new_line(fnd_file.log);
1377: END IF;
1378:
1379: fnd_file.new_line(fnd_file.log);
1382: --Handle the Locking exception.
1383: WHEN e_resource_busy THEN
1384: ROLLBACK TO sp_close_status;
1385: retcode := 2;
1386: fnd_message.set_name('IGS','IGS_FI_RFND_REC_LOCK');
1387: fnd_file.put_line(fnd_file.log,fnd_message.get);
1388: fnd_file.new_line(fnd_file.log);
1389:
1390: WHEN OTHERS THEN
1383: WHEN e_resource_busy THEN
1384: ROLLBACK TO sp_close_status;
1385: retcode := 2;
1386: fnd_message.set_name('IGS','IGS_FI_RFND_REC_LOCK');
1387: fnd_file.put_line(fnd_file.log,fnd_message.get);
1388: fnd_file.new_line(fnd_file.log);
1389:
1390: WHEN OTHERS THEN
1391: ROLLBACK TO sp_close_status;
1389:
1390: WHEN OTHERS THEN
1391: ROLLBACK TO sp_close_status;
1392: retcode := 2;
1393: fnd_file.put_line(fnd_file.log,fnd_message.get_string('IGS','IGS_GE_UNHANDLED_EXCEPTION')||' - '||SQLERRM);
1394: END close_status;
1395:
1396: END igs_fi_payment_plans;