172:
173:
174: pn_variable_amount_pkg.put_log('pn_approve_varent_pkg.approve_payment_term (+)' );
175:
176: fnd_message.set_name ('PN','PN_VRAP_PRM');
177: fnd_message.set_token ('LSNO_FRM',p_lease_num_from);
178: fnd_message.set_token ('LSNO_TO',p_lease_num_to);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
173:
174: pn_variable_amount_pkg.put_log('pn_approve_varent_pkg.approve_payment_term (+)' );
175:
176: fnd_message.set_name ('PN','PN_VRAP_PRM');
177: fnd_message.set_token ('LSNO_FRM',p_lease_num_from);
178: fnd_message.set_token ('LSNO_TO',p_lease_num_to);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
174: pn_variable_amount_pkg.put_log('pn_approve_varent_pkg.approve_payment_term (+)' );
175:
176: fnd_message.set_name ('PN','PN_VRAP_PRM');
177: fnd_message.set_token ('LSNO_FRM',p_lease_num_from);
178: fnd_message.set_token ('LSNO_TO',p_lease_num_to);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
175:
176: fnd_message.set_name ('PN','PN_VRAP_PRM');
177: fnd_message.set_token ('LSNO_FRM',p_lease_num_from);
178: fnd_message.set_token ('LSNO_TO',p_lease_num_to);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
176: fnd_message.set_name ('PN','PN_VRAP_PRM');
177: fnd_message.set_token ('LSNO_FRM',p_lease_num_from);
178: fnd_message.set_token ('LSNO_TO',p_lease_num_to);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
184: fnd_message.set_token ('PRD_TO',p_period_num_to);
177: fnd_message.set_token ('LSNO_FRM',p_lease_num_from);
178: fnd_message.set_token ('LSNO_TO',p_lease_num_to);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
184: fnd_message.set_token ('PRD_TO',p_period_num_to);
185: fnd_message.set_token ('RESP_USR',p_responsible_user);
178: fnd_message.set_token ('LSNO_TO',p_lease_num_to);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
184: fnd_message.set_token ('PRD_TO',p_period_num_to);
185: fnd_message.set_token ('RESP_USR',p_responsible_user);
186: pnp_debug_pkg.put_log_msg(fnd_message.get);
179: fnd_message.set_token ('LOC_CODE_FRM',p_location_code_from);
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
184: fnd_message.set_token ('PRD_TO',p_period_num_to);
185: fnd_message.set_token ('RESP_USR',p_responsible_user);
186: pnp_debug_pkg.put_log_msg(fnd_message.get);
187:
180: fnd_message.set_token ('LOC_CODE_TO',p_location_code_to);
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
184: fnd_message.set_token ('PRD_TO',p_period_num_to);
185: fnd_message.set_token ('RESP_USR',p_responsible_user);
186: pnp_debug_pkg.put_log_msg(fnd_message.get);
187:
188:
181: fnd_message.set_token ('VR_FRM',p_vrent_num_from);
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
184: fnd_message.set_token ('PRD_TO',p_period_num_to);
185: fnd_message.set_token ('RESP_USR',p_responsible_user);
186: pnp_debug_pkg.put_log_msg(fnd_message.get);
187:
188:
189: /* Checking Location Code From, Location Code To to open appropriate cursor */
182: fnd_message.set_token ('VR_TO',p_vrent_num_to);
183: fnd_message.set_token ('PRD_FRM',p_period_num_from);
184: fnd_message.set_token ('PRD_TO',p_period_num_to);
185: fnd_message.set_token ('RESP_USR',p_responsible_user);
186: pnp_debug_pkg.put_log_msg(fnd_message.get);
187:
188:
189: /* Checking Location Code From, Location Code To to open appropriate cursor */
190:
212: END IF;
213:
214:
215:
216: fnd_message.set_name ('PN','PN_LEASE_STATUS');
217: fnd_message.set_token ('STATUS',l_lease_status);
218: pnp_debug_pkg.put_log_msg(fnd_message.get);
219:
220: fnd_message.set_name ('PN','PN_SOI_VRN');
213:
214:
215:
216: fnd_message.set_name ('PN','PN_LEASE_STATUS');
217: fnd_message.set_token ('STATUS',l_lease_status);
218: pnp_debug_pkg.put_log_msg(fnd_message.get);
219:
220: fnd_message.set_name ('PN','PN_SOI_VRN');
221: fnd_message.set_token ('NUM',l_rent_num);
214:
215:
216: fnd_message.set_name ('PN','PN_LEASE_STATUS');
217: fnd_message.set_token ('STATUS',l_lease_status);
218: pnp_debug_pkg.put_log_msg(fnd_message.get);
219:
220: fnd_message.set_name ('PN','PN_SOI_VRN');
221: fnd_message.set_token ('NUM',l_rent_num);
222: pnp_debug_pkg.put_log_msg(fnd_message.get);
216: fnd_message.set_name ('PN','PN_LEASE_STATUS');
217: fnd_message.set_token ('STATUS',l_lease_status);
218: pnp_debug_pkg.put_log_msg(fnd_message.get);
219:
220: fnd_message.set_name ('PN','PN_SOI_VRN');
221: fnd_message.set_token ('NUM',l_rent_num);
222: pnp_debug_pkg.put_log_msg(fnd_message.get);
223:
224:
217: fnd_message.set_token ('STATUS',l_lease_status);
218: pnp_debug_pkg.put_log_msg(fnd_message.get);
219:
220: fnd_message.set_name ('PN','PN_SOI_VRN');
221: fnd_message.set_token ('NUM',l_rent_num);
222: pnp_debug_pkg.put_log_msg(fnd_message.get);
223:
224:
225: IF NVL(l_lease_status,'D') = 'D' THEN
218: pnp_debug_pkg.put_log_msg(fnd_message.get);
219:
220: fnd_message.set_name ('PN','PN_SOI_VRN');
221: fnd_message.set_token ('NUM',l_rent_num);
222: pnp_debug_pkg.put_log_msg(fnd_message.get);
223:
224:
225: IF NVL(l_lease_status,'D') = 'D' THEN
226:
224:
225: IF NVL(l_lease_status,'D') = 'D' THEN
226:
227: /* If main lease is in draft status do not approve any payment term */
228: fnd_message.set_name('PN','PN_NO_APPR_TERM');
229: l_errmsg1 := fnd_message.get;
230: pn_variable_amount_pkg.put_output
231: ('+----------------------------------------------------------+');
232: pn_variable_amount_pkg.put_output(l_errmsg1);
225: IF NVL(l_lease_status,'D') = 'D' THEN
226:
227: /* If main lease is in draft status do not approve any payment term */
228: fnd_message.set_name('PN','PN_NO_APPR_TERM');
229: l_errmsg1 := fnd_message.get;
230: pn_variable_amount_pkg.put_output
231: ('+----------------------------------------------------------+');
232: pn_variable_amount_pkg.put_output(l_errmsg1);
233: pn_variable_amount_pkg.put_output
256: IF l_invoice_on = 'FORECASTED' THEN
257:
258: pn_variable_amount_pkg.put_output
259: ('+-----------------------------------------------------------+');
260: fnd_message.set_name ('PN','PN_VTERM_FORC_TRM');
261: pnp_debug_pkg.put_log_msg(fnd_message.get||' ...');
262:
263: --l_var_rent_type := 'FORECASTED';
264:
257:
258: pn_variable_amount_pkg.put_output
259: ('+-----------------------------------------------------------+');
260: fnd_message.set_name ('PN','PN_VTERM_FORC_TRM');
261: pnp_debug_pkg.put_log_msg(fnd_message.get||' ...');
262:
263: --l_var_rent_type := 'FORECASTED';
264:
265: FOR rec_get_inv in csr_get_inv (l_var_rent_id,'FORECASTED','FORECASTED')
264:
265: FOR rec_get_inv in csr_get_inv (l_var_rent_id,'FORECASTED','FORECASTED')
266: LOOP
267:
268: fnd_message.set_name ('PN','PN_VTERM_PRD_NUM');
269: fnd_message.set_token ('NUM',rec_get_inv.period_num);
270: pnp_debug_pkg.put_log_msg(fnd_message.get);
271:
272:
265: FOR rec_get_inv in csr_get_inv (l_var_rent_id,'FORECASTED','FORECASTED')
266: LOOP
267:
268: fnd_message.set_name ('PN','PN_VTERM_PRD_NUM');
269: fnd_message.set_token ('NUM',rec_get_inv.period_num);
270: pnp_debug_pkg.put_log_msg(fnd_message.get);
271:
272:
273: /*l_inv_start_date := pn_var_rent_calc_pkg.inv_start_date(inv_start_date => rec_get_inv.invoice_date
266: LOOP
267:
268: fnd_message.set_name ('PN','PN_VTERM_PRD_NUM');
269: fnd_message.set_token ('NUM',rec_get_inv.period_num);
270: pnp_debug_pkg.put_log_msg(fnd_message.get);
271:
272:
273: /*l_inv_start_date := pn_var_rent_calc_pkg.inv_start_date(inv_start_date => rec_get_inv.invoice_date
274: ,vr_id => l_var_rent_id
276:
277: l_inv_sch_date := pn_var_rent_calc_pkg.inv_sch_date(inv_start_date => rec_get_inv.invoice_date
278: ,vr_id => l_var_rent_id
279: ,p_period_id => rec_get_inv.period_id );
280: fnd_message.set_name ('PN','PN_SOI_INV_DT');
281: fnd_message.set_token ('DATE',l_inv_sch_date);
282: pnp_debug_pkg.put_log_msg(fnd_message.get);
283:
284:
277: l_inv_sch_date := pn_var_rent_calc_pkg.inv_sch_date(inv_start_date => rec_get_inv.invoice_date
278: ,vr_id => l_var_rent_id
279: ,p_period_id => rec_get_inv.period_id );
280: fnd_message.set_name ('PN','PN_SOI_INV_DT');
281: fnd_message.set_token ('DATE',l_inv_sch_date);
282: pnp_debug_pkg.put_log_msg(fnd_message.get);
283:
284:
285: IF rec_get_inv.term_status = 'Y' OR
278: ,vr_id => l_var_rent_id
279: ,p_period_id => rec_get_inv.period_id );
280: fnd_message.set_name ('PN','PN_SOI_INV_DT');
281: fnd_message.set_token ('DATE',l_inv_sch_date);
282: pnp_debug_pkg.put_log_msg(fnd_message.get);
283:
284:
285: IF rec_get_inv.term_status = 'Y' OR
286: NVL(rec_get_inv.for_per_rent,-1)= 0 THEN
299: END IF; --NVL(l_exists,'N') = 'Y'
300:
301: END LOOP;
302:
303: fnd_message.set_name ('PN','PN_VTERM_AFORC_TRM');
304: fnd_message.set_token ('DATE',l_counter);
305: pnp_debug_pkg.put_log_msg(fnd_message.get);
306:
307:
300:
301: END LOOP;
302:
303: fnd_message.set_name ('PN','PN_VTERM_AFORC_TRM');
304: fnd_message.set_token ('DATE',l_counter);
305: pnp_debug_pkg.put_log_msg(fnd_message.get);
306:
307:
308: END IF; --l_invoice_on = 'FORECASTED'
301: END LOOP;
302:
303: fnd_message.set_name ('PN','PN_VTERM_AFORC_TRM');
304: fnd_message.set_token ('DATE',l_counter);
305: pnp_debug_pkg.put_log_msg(fnd_message.get);
306:
307:
308: END IF; --l_invoice_on = 'FORECASTED'
309:
316:
317: FOR rec_get_inv in csr_get_inv(l_var_rent_id,l_rent_type, l_var_rent_type)
318: LOOP
319:
320: fnd_message.set_name ('PN','PN_VTERM_PRD_NUM');
321: fnd_message.set_token ('NUM',rec_get_inv.period_num);
322: pnp_debug_pkg.put_log_msg(fnd_message.get);
323:
324: /*l_inv_start_date := pn_var_rent_calc_pkg.inv_start_date(inv_start_date => rec_get_inv.invoice_date
317: FOR rec_get_inv in csr_get_inv(l_var_rent_id,l_rent_type, l_var_rent_type)
318: LOOP
319:
320: fnd_message.set_name ('PN','PN_VTERM_PRD_NUM');
321: fnd_message.set_token ('NUM',rec_get_inv.period_num);
322: pnp_debug_pkg.put_log_msg(fnd_message.get);
323:
324: /*l_inv_start_date := pn_var_rent_calc_pkg.inv_start_date(inv_start_date => rec_get_inv.invoice_date
325: ,vr_id => l_var_rent_id
318: LOOP
319:
320: fnd_message.set_name ('PN','PN_VTERM_PRD_NUM');
321: fnd_message.set_token ('NUM',rec_get_inv.period_num);
322: pnp_debug_pkg.put_log_msg(fnd_message.get);
323:
324: /*l_inv_start_date := pn_var_rent_calc_pkg.inv_start_date(inv_start_date => rec_get_inv.invoice_date
325: ,vr_id => l_var_rent_id
326: ,approved_status => 'N'); */
327:
328: l_inv_sch_date := pn_var_rent_calc_pkg.inv_sch_date(inv_start_date => rec_get_inv.invoice_date
329: ,vr_id => l_var_rent_id
330: ,p_period_id => rec_get_inv.period_id );
331: fnd_message.set_name ('PN','PN_SOI_INV_DT');
332: fnd_message.set_token ('DATE',l_inv_sch_date);
333: pnp_debug_pkg.put_log_msg(fnd_message.get);
334:
335: l_rent_amt := NULL;
328: l_inv_sch_date := pn_var_rent_calc_pkg.inv_sch_date(inv_start_date => rec_get_inv.invoice_date
329: ,vr_id => l_var_rent_id
330: ,p_period_id => rec_get_inv.period_id );
331: fnd_message.set_name ('PN','PN_SOI_INV_DT');
332: fnd_message.set_token ('DATE',l_inv_sch_date);
333: pnp_debug_pkg.put_log_msg(fnd_message.get);
334:
335: l_rent_amt := NULL;
336:
329: ,vr_id => l_var_rent_id
330: ,p_period_id => rec_get_inv.period_id );
331: fnd_message.set_name ('PN','PN_SOI_INV_DT');
332: fnd_message.set_token ('DATE',l_inv_sch_date);
333: pnp_debug_pkg.put_log_msg(fnd_message.get);
334:
335: l_rent_amt := NULL;
336:
337: IF l_rent_type ='VARIANCE' and rec_get_inv.adjust_num = 0 THEN
356: END IF; --NVL(l_exists,'N') = 'Y'
357:
358: END LOOP;
359:
360: fnd_message.set_name ('PN','PN_VRAP_PROC');
361: fnd_message.set_token ('STATUS',INITCAP(l_rent_type));
362: fnd_message.set_token ('NUM',l_counter);
363: pnp_debug_pkg.put_log_msg(fnd_message.get);
364:
357:
358: END LOOP;
359:
360: fnd_message.set_name ('PN','PN_VRAP_PROC');
361: fnd_message.set_token ('STATUS',INITCAP(l_rent_type));
362: fnd_message.set_token ('NUM',l_counter);
363: pnp_debug_pkg.put_log_msg(fnd_message.get);
364:
365: END IF; --NVL(l_lease_status,'DRAFT') = 'DRAFT'
358: END LOOP;
359:
360: fnd_message.set_name ('PN','PN_VRAP_PROC');
361: fnd_message.set_token ('STATUS',INITCAP(l_rent_type));
362: fnd_message.set_token ('NUM',l_counter);
363: pnp_debug_pkg.put_log_msg(fnd_message.get);
364:
365: END IF; --NVL(l_lease_status,'DRAFT') = 'DRAFT'
366:
359:
360: fnd_message.set_name ('PN','PN_VRAP_PROC');
361: fnd_message.set_token ('STATUS',INITCAP(l_rent_type));
362: fnd_message.set_token ('NUM',l_counter);
363: pnp_debug_pkg.put_log_msg(fnd_message.get);
364:
365: END IF; --NVL(l_lease_status,'DRAFT') = 'DRAFT'
366:
367: END LOOP;
573: l_cust_id := rec.customer_id;
574: l_cust_site_id := rec.CUSTOMER_SITE_USE_ID;
575:
576:
577: fnd_message.set_name ('PN','PN_VRAP_VAL');
578: fnd_message.set_token ('DATE',l_start_date);
579: fnd_message.set_token ('DAY',l_schedule_day);
580: fnd_message.set_token ('AMT',l_actual_amt);
581: fnd_message.set_token ('ID',l_payment_term_id);
574: l_cust_site_id := rec.CUSTOMER_SITE_USE_ID;
575:
576:
577: fnd_message.set_name ('PN','PN_VRAP_VAL');
578: fnd_message.set_token ('DATE',l_start_date);
579: fnd_message.set_token ('DAY',l_schedule_day);
580: fnd_message.set_token ('AMT',l_actual_amt);
581: fnd_message.set_token ('ID',l_payment_term_id);
582: pnp_debug_pkg.put_log_msg(fnd_message.get);
575:
576:
577: fnd_message.set_name ('PN','PN_VRAP_VAL');
578: fnd_message.set_token ('DATE',l_start_date);
579: fnd_message.set_token ('DAY',l_schedule_day);
580: fnd_message.set_token ('AMT',l_actual_amt);
581: fnd_message.set_token ('ID',l_payment_term_id);
582: pnp_debug_pkg.put_log_msg(fnd_message.get);
583:
576:
577: fnd_message.set_name ('PN','PN_VRAP_VAL');
578: fnd_message.set_token ('DATE',l_start_date);
579: fnd_message.set_token ('DAY',l_schedule_day);
580: fnd_message.set_token ('AMT',l_actual_amt);
581: fnd_message.set_token ('ID',l_payment_term_id);
582: pnp_debug_pkg.put_log_msg(fnd_message.get);
583:
584: /* check if term distributions are correct */
577: fnd_message.set_name ('PN','PN_VRAP_VAL');
578: fnd_message.set_token ('DATE',l_start_date);
579: fnd_message.set_token ('DAY',l_schedule_day);
580: fnd_message.set_token ('AMT',l_actual_amt);
581: fnd_message.set_token ('ID',l_payment_term_id);
582: pnp_debug_pkg.put_log_msg(fnd_message.get);
583:
584: /* check if term distributions are correct */
585: /* check if an approved schedule exists overlapping the period of the term */
578: fnd_message.set_token ('DATE',l_start_date);
579: fnd_message.set_token ('DAY',l_schedule_day);
580: fnd_message.set_token ('AMT',l_actual_amt);
581: fnd_message.set_token ('ID',l_payment_term_id);
582: pnp_debug_pkg.put_log_msg(fnd_message.get);
583:
584: /* check if term distributions are correct */
585: /* check if an approved schedule exists overlapping the period of the term */
586: BEGIN
614:
615: IF l_lease_class_code not in ('DIRECT') THEN
616: /* If Customer info is not present, do not approve the terms bug#6412170*/
617: IF (l_cust_id is null) THEN
618: fnd_message.set_name('PN','PN_APPR_NO_CUST');
619: l_errmsg1 := fnd_message.get;
620: RAISE E_NO_CUST;
621:
622: /* If bill-to-Site is not present, do not approve the terms bug#6412170*/
615: IF l_lease_class_code not in ('DIRECT') THEN
616: /* If Customer info is not present, do not approve the terms bug#6412170*/
617: IF (l_cust_id is null) THEN
618: fnd_message.set_name('PN','PN_APPR_NO_CUST');
619: l_errmsg1 := fnd_message.get;
620: RAISE E_NO_CUST;
621:
622: /* If bill-to-Site is not present, do not approve the terms bug#6412170*/
623: ELSIF (l_cust_site_id is null) THEN
620: RAISE E_NO_CUST;
621:
622: /* If bill-to-Site is not present, do not approve the terms bug#6412170*/
623: ELSIF (l_cust_site_id is null) THEN
624: fnd_message.set_name('PN','PN_APPR_NO_SITE');
625: l_errmsg1 := fnd_message.get;
626: RAISE E_NO_CUST;
627:
628: END IF;
621:
622: /* If bill-to-Site is not present, do not approve the terms bug#6412170*/
623: ELSIF (l_cust_site_id is null) THEN
624: fnd_message.set_name('PN','PN_APPR_NO_SITE');
625: l_errmsg1 := fnd_message.get;
626: RAISE E_NO_CUST;
627:
628: END IF;
629: END IF; /* 7712952 */
698: END LOOP;
699:
700: END IF;
701:
702: fnd_message.set_name('PN', 'PN_DUP_ACCOUNT_IN_DIST');
703: fnd_message.set_token('ACCOUNT_CLASS', l_acc_class);
704: fnd_message.set_token('ACCOUNT_CLASS_A', l_acc_class);
705: RAISE TERM_DIST_INVALID;
706:
699:
700: END IF;
701:
702: fnd_message.set_name('PN', 'PN_DUP_ACCOUNT_IN_DIST');
703: fnd_message.set_token('ACCOUNT_CLASS', l_acc_class);
704: fnd_message.set_token('ACCOUNT_CLASS_A', l_acc_class);
705: RAISE TERM_DIST_INVALID;
706:
707: END IF;
700: END IF;
701:
702: fnd_message.set_name('PN', 'PN_DUP_ACCOUNT_IN_DIST');
703: fnd_message.set_token('ACCOUNT_CLASS', l_acc_class);
704: fnd_message.set_token('ACCOUNT_CLASS_A', l_acc_class);
705: RAISE TERM_DIST_INVALID;
706:
707: END IF;
708:
711: (l_lia_rec_exists AND l_lia_rec_dist_pct <> 100) OR
712: (l_acc_unearn_exists AND l_acc_unearn_dist_pct <> 100)
713: THEN
714:
715: fnd_message.set_name('PN', 'PN_DIST_PRCNT_TTL_MSG');
716: RAISE TERM_DIST_INVALID;
717:
718: END IF;
719:
725:
726: IF NOT (l_exp_rev_exists AND
727: l_acc_unearn_exists) THEN
728:
729: fnd_message.set_name('PN', 'PN_ACC_NORMALISED');
730: RAISE TERM_DIST_INVALID;
731:
732: END IF; /* all dist does not exist */
733:
743: /* DO NOT REMOVE THIS CONDITION */
744: IF NOT l_exp_rev_exists THEN
745:
746: IF l_dist_count > 0 THEN
747: fnd_message.set_name('PN', 'PN_EXP_DIST_MSG');
748: ELSE
749: fnd_message.set_name('PN', 'PN_ACC_UNNORMALISED');
750: END IF;
751: RAISE TERM_DIST_INVALID;
745:
746: IF l_dist_count > 0 THEN
747: fnd_message.set_name('PN', 'PN_EXP_DIST_MSG');
748: ELSE
749: fnd_message.set_name('PN', 'PN_ACC_UNNORMALISED');
750: END IF;
751: RAISE TERM_DIST_INVALID;
752:
753: END IF; /* exp acc does not exist */
761: l_organization_id IS NULL OR
762: l_expenditure_type IS NULL OR
763: l_expenditure_item_date IS NULL) THEN
764:
765: fnd_message.set_name('PN', 'PN_ACC_UNNORMALISED');
766: RAISE TERM_DIST_INVALID;
767:
768: ELSE
769:
786: , x_billable_flag => l_bill_flag);
787:
788: IF l_status IS NOT NULL THEN
789:
790: fnd_message.set_name('PA', l_status);
791: RAISE TERM_DIST_INVALID;
792:
793: END IF;
794:
810: l_lia_rec_exists AND
811: l_acc_unearn_exists)
812: THEN
813:
814: fnd_message.set_name('PN', 'PN_ALL_ACNT_DIST_MSG');
815: RAISE TERM_DIST_INVALID;
816:
817: END IF;
818:
827: IF l_acc_optn = 'Y' THEN
828:
829: IF NOT (l_exp_rev_exists AND l_lia_rec_exists) THEN
830:
831: fnd_message.set_name('PN', 'PN_REVREC_DIST_MSG');
832: RAISE TERM_DIST_INVALID;
833:
834: END IF;
835:
837:
838: IF l_dist_count > 0 AND
839: NOT (l_exp_rev_exists AND l_lia_rec_exists) THEN
840:
841: fnd_message.set_name('PN', 'PN_REVREC_DIST_MSG');
842: RAISE TERM_DIST_INVALID;
843:
844: END IF;
845:
851:
852: EXCEPTION
853: WHEN TERM_DIST_INVALID THEN
854: l_error := TRUE;
855: l_errmsg := fnd_message.get;
856: pn_variable_amount_pkg.put_output
857: ('+----------------------------------------------------------+');
858: pn_variable_amount_pkg.put_output(l_errmsg);
859: pn_variable_amount_pkg.put_output