[Home] [Help]
105:
106: SELECT count(*)
107: INTO items_paid
108: FROM pn_payment_schedules_all ps, /*sdm14jul*/
109: pn_payment_items_all pi /*sdm14jul*/
110: WHERE ps.payment_schedule_id = pi.payment_schedule_id
111: AND pi.payment_term_id = pt_rec.payment_term_id
112: AND ps.payment_status_lookup_code <> 'DRAFT'
113: AND pi.payment_item_type_lookup_code = 'CASH';
113: AND pi.payment_item_type_lookup_code = 'CASH';
114:
115: IF ((pt_rec.start_date > lease_end_date) and (items_paid = 0)) THEN
116:
117: delete from pn_payment_items_all /*sdm14jul*/
118: where payment_term_id = pt_rec.payment_term_id;
119:
120: /* Not Required in PN
121: delete from pn_lease_milestones
128: ELSE IF ((pt_rec.end_date > lease_end_date) or (items_paid <> 0)) THEN
129:
130: SELECT min(due_date)
131: INTO first_payment_date
132: FROM pn_payment_items_all /*sdm14jul*/
133: WHERE payment_term_id = pt_rec.payment_term_id
134: AND payment_item_type_lookup_code = 'CASH';
135:
136: SELECT nvl(max(due_date),first_payment_date)
134: AND payment_item_type_lookup_code = 'CASH';
135:
136: SELECT nvl(max(due_date),first_payment_date)
137: INTO item_to_change_date
138: FROM pn_payment_items_all /*sdm14jul*/
139: WHERE payment_term_id = pt_rec.payment_term_id
140: AND due_date <= greatest(lease_end_date, pt_rec.start_date);
141:
142: -----------------------------------------------------------------------
146:
147: SELECT ps.payment_status_lookup_code, pi.payment_item_id
148: INTO sched_status, pi_id
149: FROM pn_payment_schedules_all ps, /*sdm14jul*/
150: pn_payment_items_all pi /*sdm14jul*/
151: WHERE pi.payment_schedule_id = ps.payment_schedule_id
152: AND pi.due_date = item_to_change_date
153: AND pi.payment_term_id = pt_rec.payment_term_id
154: AND pi.payment_item_type_lookup_code = 'CASH';
190: months := months + partial;
191: amount := nvl(pt_rec.actual_amount, pt_rec.estimated_amount) *
192: months / pt_months;
193:
194: UPDATE pn_payment_items_all /*sdm14jul*/
195: SET actual_amount = decode(pt_rec.actual_amount,
196: null,null, round(amount,2)),
197: estimated_amount = decode(pt_rec.actual_amount,
198: null,round(amount,2),null),
204: AND payment_item_type_lookup_code = 'CASH';
205:
206: END IF;
207:
208: DELETE from pn_payment_items_all /*sdm14jul*/
209: WHERE payment_term_id = pt_rec.payment_term_id
210: AND due_date > item_to_change_date
211: AND payment_item_type_lookup_code = 'CASH'
212: AND payment_schedule_id in (SELECT payment_schedule_id
270: IF min_sched_date is not null THEN
271: min_sched_date := add_months(min_sched_date,1);
272: END IF;
273:
274: DELETE from pn_payment_items_all /*sdm14jul*/
275: WHERE payment_item_type_lookup_code = 'NORMALIZED'
276: AND payment_term_id = pt_rec.payment_term_id;
277:
278: SELECT count(*)
276: AND payment_term_id = pt_rec.payment_term_id;
277:
278: SELECT count(*)
279: INTO actual_items
280: FROM pn_payment_items_all /*sdm14jul*/
281: WHERE payment_term_id = pt_rec.payment_term_id
282: AND actual_amount is not null
283: AND payment_item_type_lookup_code = 'CASH';
284:
359: /* Find total of all cash items */
360:
361: SELECT nvl(sum(actual_amount),0)
362: INTO total_cash
363: FROM pn_payment_items_all /*sdm14jul*/
364: WHERE payment_term_id = pt_rec.payment_term_id
365: AND payment_item_type_lookup_code = 'CASH';
366:
367: /* Set amount to this the normalized per period */
534: SELECT org_id INTO l_org_id
535: FROM pn_payment_terms_all
536: WHERE payment_term_id = pt_rec.payment_term_id;
537:
538: INSERT INTO pn_payment_items_all /*sdm14jul*/
539: (
540: payment_item_id,
541: last_update_date,
542: last_updated_by,
590: END LOOP; /* Loop E */
591:
592: END IF; /* IF E */
593:
594: INSERT INTO pn_payment_items_all /*sdm14jul*/
595: (
596: payment_item_id,
597: last_update_date,
598: last_updated_by,
624: set_of_books_id,
625: currency_code,
626: rate,
627: l_org_id /*sdm14jul*/
628: FROM pn_payment_items_all /*sdm14jul*/
629: WHERE payment_term_id = pt_rec.payment_term_id
630: AND actual_amount is null;
631:
632: END LOOP;
635:
636: DELETE FROM pn_payment_schedules_all ps /*sdm14jul*/
637: WHERE ps.lease_id = pn_lease_id
638: AND NOT exists (SELECT 'x'
639: FROM pn_payment_items_all pi /*sdm14jul*/
640: WHERE pi.payment_schedule_id = ps.payment_schedule_id);
641:
642: commit;
643: END;