[Home] [Help]
PACKAGE BODY: APPS.AR_BUS_EVENT_COVER
Source
4 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
1 PACKAGE BODY AR_BUS_EVENT_COVER AS
2 /* $Header: ARBEPKGB.pls 120.17.12010000.3 2009/12/28 21:37:20 mraymond ship $*/
3
5
6 FUNCTION isRefreshProgramRunning RETURN BOOLEAN IS
7 CURSOR C1 IS
8 select request_id
9 from AR_CONC_PROCESS_REQUESTS
13
10 where CONCURRENT_PROGRAM_NAME = 'ARSUMREF';
11 l_request_id number;
12 BEGIN
14 OPEN C1;
15
16 FETCH C1 INTO l_request_id;
17
18 IF C1%NOTFOUND THEN
19 return false;
20 ELSE
21 return true;
22 END IF;
23
24 CLOSE C1;
25
26 END isRefreshProgramRunning;
27
28 PROCEDURE insert_events_hist (p_be_name VARCHAR2,
29 p_event_key VARCHAR2,
30 p_ps_id NUMBER,
31 p_ctx_id NUMBER,
32 p_cr_id NUMBER,
33 p_ra_id NUMBER,
34 p_adj_id NUMBER,
35 p_hist_id NUMBER,
36 p_req_id NUMBER
37 )
38 IS
39
40 BEGIN
41
42 INSERT INTO AR_SUM_REF_EVENT_HIST
43 (business_event_name,
44 event_key,
45 payment_schedule_id,
46 customer_trx_id,
47 cash_receipt_id,
48 receivable_application_id,
49 adjustment_id,
50 history_id,
51 request_id,
52 last_update_date,
53 last_update_by,
54 creation_date,
55 created_by,
56 last_update_login)
57 VALUES (p_be_name,
58 p_event_key,
59 p_ps_id,
60 p_ctx_id,
61 p_cr_id,
62 p_ra_id,
63 p_adj_id,
64 p_hist_id,
65 p_req_id,
66 sysdate,
67 FND_GLOBAL.user_id,
68 sysdate,
69 FND_GLOBAL.user_id,
70 FND_GLOBAL.login_id);
71
72 END insert_events_hist;
73
74 PROCEDURE p_insert_trx_sum_hist(p_trx_sum_hist_rec IN AR_TRX_SUMMARY_HIST%rowtype,
75 p_history_id OUT NOCOPY NUMBER,
76 p_trx_type IN VARCHAR2,
77 p_event_type IN VARCHAR2 DEFAULT NULL)
78 IS
79 l_event_name VARCHAR2(100);
80 l_previous_history_id NUMBER;
81 l_history_id NUMBER;
82 CURSOR get_prev_hist_id (p_ps_id IN NUMBER) IS
83 SELECT max(history_id)
84 FROM AR_TRX_SUMMARY_HIST
85 WHERE payment_schedule_id = p_ps_id;
86
87 BEGIN
88 OPEN get_prev_hist_id (p_trx_sum_hist_rec.payment_schedule_id);
89
90 FETCH get_prev_hist_id INTO l_previous_history_id;
91
92 CLOSE get_prev_hist_id;
93
94
95 IF p_trx_type = 'INV' AND
96 p_event_type = 'INCOMPLETE_TRX' THEN
97
98 l_event_name := 'oracle.apps.ar.transaction.Invoice.incomplete';
99 ELSIF p_trx_type = 'INV' AND
100 p_event_type = 'MODIFY_TRX' THEN
101
102 l_event_name := 'oracle.apps.ar.transaction.Invoice.modify';
103 ELSIF p_trx_type = 'CM' AND
104 p_event_type = 'INCOMPLETE_TRX' THEN
105
106 l_event_name := 'oracle.apps.ar.transaction.CreditMemo.incomplete';
107 ELSIF p_trx_type = 'CM' AND
108 p_event_type = 'MODIFY_TRX' THEN
109
110 l_event_name := 'oracle.apps.ar.transaction.CreditMemo.modify';
111 ELSIF p_trx_type = 'DM' AND
112 p_event_type = 'INCOMPLETE_TRX' THEN
113
114 l_event_name := 'oracle.apps.ar.transaction.DebitMemo.incomplete';
115 ELSIF p_trx_type = 'DM' AND
116 p_event_type = 'MODIFY_TRX' THEN
117
118 l_event_name := 'oracle.apps.ar.transaction.DebitMemo.modify';
119 ELSIF p_trx_type = 'DEP' AND
120 p_event_type = 'INCOMPLETE_TRX' THEN
121
122 l_event_name := 'oracle.apps.ar.transaction.Deposit.incomplete';
123 ELSIF p_trx_type = 'DEP' AND
124 p_event_type = 'MODIFY_TRX' THEN
125
126 l_event_name := 'oracle.apps.ar.transaction.Deposit.modify';
127 ELSIF p_trx_type = 'BR' AND
128 p_event_type = 'INCOMPLETE_TRX' THEN
129
130 l_event_name := 'oracle.apps.ar.transaction.BillsReceivables.incomplete';
131 ELSIF p_trx_type = 'BR' AND
132 p_event_type = 'MODIFY_TRX' THEN
133
134 l_event_name := 'oracle.apps.ar.transaction.BillsReceivables.modify';
135 ELSIF p_trx_type = 'GUAR' AND
136 p_event_type = 'INCOMPLETE_TRX' THEN
137
138 l_event_name := 'oracle.apps.ar.transaction.Guarantee.incomplete';
139 ELSIF p_trx_type = 'GUAR' AND
140 p_event_type = 'MODIFY_TRX' THEN
141
142 l_event_name := 'oracle.apps.ar.transaction.Guarantee.modify';
143 ELSIF p_trx_type = 'CB' AND
144 p_event_type = 'MODIFY_TRX' THEN
145
146 l_event_name := 'oracle.apps.ar.transaction.ChargeBack.modify';
147 ELSIF p_trx_type = 'PMT' AND
148 p_event_type = 'MODIFY_PMT' THEN
149
150 l_event_name := 'oracle.apps.ar.receipts.CashReceipt.modify';
151 ELSIF p_trx_type = 'PMT' AND
152 p_event_type = 'DM_REVERSE_PMT' THEN
153
154 l_event_name := 'oracle.apps.ar.receipts.CashReceipt.DebitMemoReverse';
155 ELSIF p_trx_type = 'PMT' AND
156 p_event_type = 'REVERSE_PMT' THEN
157
158 l_event_name := 'oracle.apps.ar.receipts.CashReceipt.reverse';
159 ELSIF p_trx_type = 'PMT' AND
160 p_event_type = 'DELETE_PMT' THEN
161
162 l_event_name := 'oracle.apps.ar.receipts.CashReceipt.Delete';
163 END IF;
164
165
166 SELECT AR_TRX_SUMMARY_HIST_S.nextval
167 INTO l_history_id
168 FROM dual;
169
170 INSERT INTO AR_TRX_SUMMARY_HIST
171 (history_id,
172 last_update_date,
173 last_updated_by,
177 customer_trx_id,
174 creation_date,
175 created_by,
176 last_update_login,
178 cash_receipt_id,
179 payment_schedule_id,
180 currency_code,
181 previous_history_id,
182 due_date,
183 amount_in_dispute,
184 amount_due_original,
185 amount_due_remaining,
186 amount_adjusted,
187 complete_flag,
188 customer_id,
189 site_use_id,
190 trx_date,
191 installments,
192 event_name)
193 VALUES
194 (l_history_id,
195 sysdate,
196 fnd_global.user_id,
197 sysdate,
198 fnd_global.user_id,
199 fnd_global.login_id,
200 p_trx_sum_hist_rec.customer_trx_id,
201 p_trx_sum_hist_rec.cash_receipt_id,
202 p_trx_sum_hist_rec.payment_schedule_id,
203 p_trx_sum_hist_rec.currency_code,
204 l_previous_history_id,
205 p_trx_sum_hist_rec.due_date,
206 p_trx_sum_hist_rec.amount_in_dispute,
207 p_trx_sum_hist_rec.amount_due_original,
208 p_trx_sum_hist_rec.amount_due_remaining,
209 p_trx_sum_hist_rec.amount_adjusted,
210 p_trx_sum_hist_rec.complete_flag,
211 p_trx_sum_hist_rec.customer_id,
212 p_trx_sum_hist_rec.site_use_id,
213 p_trx_sum_hist_rec.trx_date,
214 p_trx_sum_hist_rec.installments,
215 l_event_name
216 );
217 p_history_id := l_history_id;
218 END;
219
220 /* 9216062 - set ORG_ID parameter correctly if MOAC is
221 enabled */
222 FUNCTION get_org_id (p_unique_id IN NUMBER,
223 p_column_name IN VARCHAR2,
224 p_trx_type IN VARCHAR2 DEFAULT 'NOT_REQUIRED')
225 RETURN NUMBER
226 IS
227 l_org_id NUMBER;
228 BEGIN
229
230 IF p_column_name = 'PAYMENT_SCHEDULE_ID'
231 THEN
232
233 SELECT org_id
234 INTO l_org_id
235 FROM AR_PAYMENT_SCHEDULES_ALL
236 WHERE payment_schedule_id = p_unique_id;
237
238 ELSIF p_column_name = 'CUSTOMER_TRX_ID'
239 THEN
240
241 SELECT org_id
242 INTO l_org_id
243 FROM RA_CUSTOMER_TRX_ALL
244 WHERE customer_trx_id = p_unique_id;
245
246 ELSIF p_column_name = 'CASH_RECEIPT_ID'
247 THEN
248
249 SELECT org_id
250 INTO l_org_id
251 FROM AR_CASH_RECEIPTS_ALL
252 WHERE cash_receipt_id = p_unique_id;
253
254 ELSIF p_column_name = 'RECEIVABLE_APPLICATION_ID'
255 THEN
256
257 SELECT org_id
258 INTO l_org_id
259 FROM AR_RECEIVABLE_APPLICATIONS_ALL
260 WHERE receivable_application_id = p_unique_id;
261
262 ELSIF p_column_name = 'ADJUSTMENT_ID'
263 THEN
264
265 SELECT org_id
266 INTO l_org_id
267 FROM AR_ADJUSTMENTS_ALL
268 WHERE adjustment_id = p_unique_id;
269
270 ELSIF p_column_name = 'REQUEST_ID'
271 THEN
272
273 IF p_trx_type = 'INVOICES'
274 THEN
275
276 SELECT org_id
277 INTO l_org_id
278 FROM ra_customer_trx_all
279 WHERE request_id = p_unique_id
280 AND rownum = 1;
281
282 ELSIF p_trx_type = 'RECEIPTS'
283 THEN
284
285 SELECT org_id
286 INTO l_org_id
287 FROM ar_cash_receipts_all
288 WHERE request_id = p_unique_id
289 AND rownum = 1;
290
291 ELSIF p_trx_type = 'ADJUSTMENTS'
292 THEN
293
294 SELECT org_id
295 INTO l_org_id
296 FROM ar_adjustments_all
297 WHERE request_id = p_unique_id
298 AND rownum = 1;
299
300 ELSE
301 /* Not a valid p_trx_type so display a message */
302 arp_debug.debug('EXCEPTION: Invalid p_trx_type ' || p_trx_type ||
303 ' in call to get_org_id');
304
305 END IF;
306 ELSE
307 /* Not a valid column_name so display a message in log and do
308 nothing else */
309 arp_debug.debug('EXCEPTION: Invalid p_column_name ' || p_column_name ||
310 ' in call to get_org_id');
311 END IF;
312
313 arp_debug.debug(' get_org_id returning ' || l_org_id);
314
315 RETURN l_org_id;
316
317 END get_org_id;
318
319 PROCEDURE Raise_Trx_Creation_Event
320 ( p_doc_type IN VARCHAR2,
321 p_customer_trx_id IN NUMBER,
322 p_prev_cust_old_state IN prev_cust_old_state_tab
323 ) IS
324 l_list WF_PARAMETER_LIST_T;
325 l_param WF_PARAMETER_T;
326 l_key VARCHAR2(240);
327 l_exist VARCHAR2(1);
328 l_event_name VARCHAR2(50);
329 l_prev_ps_op_status NUMBER;
330 l_prev_ps_cl_status NUMBER;
331 CURSOR cm_prev_ctx (p_ctx_id IN NUMBER) IS
332 select prev_trx_ps.status,
333 prev_trx_ps.payment_schedule_id,
334 prev_trx_ps.amount_applied,
335 prev_trx_ps.class,
336 prev_trx_ps.amount_credited,
337 prev_trx_ps.due_date
338 from ar_payment_schedules prev_trx_ps,
339 ra_customer_trx ctx
340 where ctx.customer_trx_id = p_ctx_id
341 and ctx.previous_customer_trx_id = prev_trx_ps.customer_trx_id
342 ;
343
347 l_prev_trx_app_amt NUMBER;
344 l_prev_trx_op_count NUMBER;
345 l_cm_op_trx_count NUMBER;
346 l_cm_cl_trx_count NUMBER;
348 l_past_due_inv_amt NUMBER;
349 l_past_due_inv_count NUMBER;
350 l_org_id NUMBER;
351
352 BEGIN
353 IF p_doc_type = 'INV' THEN
354 l_event_name := 'oracle.apps.ar.transaction.Invoice.complete';
355 ELSIF p_doc_type = 'CM' THEN
356 l_event_name := 'oracle.apps.ar.transaction.CreditMemo.complete';
357 ELSIF p_doc_type = 'DEP' THEN
358 l_event_name := 'oracle.apps.ar.transaction.Deposit.complete';
359 ELSIF p_doc_type = 'DM' THEN
360 l_event_name := 'oracle.apps.ar.transaction.DebitMemo.complete';
361 ELSIF p_doc_type = 'CB' THEN
362 l_event_name := 'oracle.apps.ar.transaction.ChargeBack.create';
363 ELSIF p_doc_type = 'GUAR' THEN
364 l_event_name := 'oracle.apps.ar.transaction.Guarantee.complete';
365 ELSIF p_doc_type = 'BR' THEN
366 l_event_name := 'oracle.apps.ar.transaction.BillsReceivables.complete';
367 END IF;
368
369 --Get the item key
370 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
371 p_customer_trx_id );
372
373 IF (isRefreshProgramRunning) THEN
374
375
376 insert_events_hist (p_be_name => l_event_name,
377 p_event_key => l_key,
378 p_ps_id => null,
379 p_ctx_id => p_customer_trx_id,
380 p_cr_id => null,
381 p_ra_id => null,
382 p_adj_id => null,
383 p_hist_id => null,
387 -- initialization of object variables
384 p_req_id => null);
385 ELSE
386
388 l_list := WF_PARAMETER_LIST_T();
389
390 /* 9216062 - set org based on trx */
391 l_org_id := get_org_id(p_customer_trx_id,
392 'CUSTOMER_TRX_ID');
393
394 -- Add Context values to the list
395 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
396 p_org_id => l_org_id);
397
398 -- add more parameters to the parameters list
399 wf_event.AddParameterToList(p_name => 'CUSTOMER_TRX_ID',
400 p_value => p_customer_trx_id,
401 p_parameterlist => l_list);
402
403
404 IF p_doc_type = 'CM' THEN
405 l_cm_cl_trx_count := 0;
406 l_cm_op_trx_count := 0;
407 l_prev_trx_app_amt := 0;
408 l_past_due_inv_amt := 0;
409 l_past_due_inv_count := 0;
410
411 FOR i in cm_prev_ctx(p_customer_trx_id) LOOP
412
413
414 --check if the status of this PS has changed.
415 IF p_prev_cust_old_state(i.payment_schedule_id).status = 'OP' AND
416 i.status = 'CL' THEN
417 l_cm_cl_trx_count := l_cm_cl_trx_count + 1;
418 l_prev_trx_app_amt := l_prev_trx_app_amt + nvl(i.amount_applied,0);
419
420 IF i.due_date < sysdate and i.class = 'INV' THEN
421 l_past_due_inv_count := l_past_due_inv_count - 1;
422 END IF;
423 ELSIF p_prev_cust_old_state(i.payment_schedule_id).status = 'CL' AND
424 i.status = 'OP' THEN
425 l_cm_op_trx_count := l_cm_op_trx_count + 1;
426 l_prev_trx_app_amt := l_prev_trx_app_amt - nvl(i.amount_applied,0);
427
428 IF i.due_date < sysdate and i.class = 'INV' THEN
429 l_past_due_inv_count := l_past_due_inv_count + 1;
430 END IF;
431 END IF;
432
433 IF i.due_date < sysdate and i.class = 'INV' THEN
434 l_past_due_inv_amt := l_past_due_inv_amt +
435 ( nvl(p_prev_cust_old_state(i.payment_schedule_id).amount_credited,0) -
436 nvl(i.amount_credited,0));
437 END IF;
438
439 END LOOP;
440
441
442 l_prev_trx_op_count := l_cm_op_trx_count - l_cm_cl_trx_count;
443
444 -- add more parameters to the parameters list
445 wf_event.AddParameterToList(p_name => 'PREV_TRX_OP_COUNT',
446 p_value => l_prev_trx_op_count,
447 p_parameterlist => l_list);
448
449 wf_event.AddParameterToList(p_name => 'PREV_TRX_APP_AMT',
450 p_value => fnd_number.number_to_canonical(l_prev_trx_app_amt),
451 p_parameterlist => l_list);
452
453 wf_event.AddParameterToList(p_name => 'PAST_DUE_INV_AMT',
454 p_value => fnd_number.number_to_canonical(l_past_due_inv_amt),
455 p_parameterlist => l_list);
456 wf_event.AddParameterToList(p_name => 'PAST_DUE_INV_COUNT',
457 p_value => l_past_due_inv_count,
461
458 p_parameterlist => l_list);
459
460 END IF;
462
463
464
465 -- Raise Event
466 AR_CMGT_EVENT_PKG.raise_event(
467 p_event_name => l_event_name,
468 p_event_key => l_key,
469 p_parameters => l_list );
470
471 l_list.DELETE;
472 END IF;
473
474 EXCEPTION
475 WHEN others THEN
476 IF PG_DEBUG in ('Y', 'C') THEN
477 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
478 END IF;
479
480 END Raise_Trx_Creation_Event;
481
482 PROCEDURE Raise_Trx_Incomplete_Event
483 ( p_doc_type IN VARCHAR2,
484 p_customer_trx_id IN NUMBER,
485 p_ps_id IN NUMBER,
486 p_history_id IN NUMBER,
487 p_prev_cust_old_state IN PREV_CUST_OLD_STATE_TAB
488 ) IS
489 l_list WF_PARAMETER_LIST_T;
490 l_param WF_PARAMETER_T;
491 l_key VARCHAR2(240);
492 l_exist VARCHAR2(1);
493 l_event_name VARCHAR2(50);
494
495 l_prev_ps_op_status NUMBER;
496 l_prev_ps_cl_status NUMBER;
497 l_org_id NUMBER;
498 CURSOR cm_prev_ctx (p_ctx_id IN NUMBER) IS
499 select prev_trx_ps.status,
500 prev_trx_ps.payment_schedule_id,
501 prev_trx_ps.amount_applied,
502 prev_trx_ps.class,
503 prev_trx_ps.amount_credited,
504 prev_trx_ps.due_date,
505 ctx.previous_customer_trx_id
506 from ar_payment_schedules prev_trx_ps,
507 ra_customer_trx ctx
508 where ctx.customer_trx_id = p_ctx_id
509 and ctx.previous_customer_trx_id = prev_trx_ps.customer_trx_id
510 ;
511
512 l_prev_trx_op_count NUMBER;
513 l_cm_op_trx_count NUMBER;
514 l_cm_cl_trx_count NUMBER;
515 l_prev_trx_app_amt NUMBER;
516 l_past_due_inv_amt NUMBER;
517 l_past_due_inv_count NUMBER;
518 l_prev_trx_type VARCHAR2(10);
519 l_prev_ctx_id NUMBER;
520 BEGIN
521
522 IF p_doc_type = 'INV' THEN
523 l_event_name := 'oracle.apps.ar.transaction.Invoice.incomplete';
524 ELSIF p_doc_type = 'CM' THEN
525 l_event_name := 'oracle.apps.ar.transaction.CreditMemo.incomplete';
526 ELSIF p_doc_type = 'DEP' THEN
527 l_event_name := 'oracle.apps.ar.transaction.Deposit.incomplete';
528 ELSIF p_doc_type = 'DM' THEN
529 l_event_name := 'oracle.apps.ar.transaction.DebitMemo.incomplete';
530 ELSIF p_doc_type = 'GUAR' THEN
531 l_event_name := 'oracle.apps.ar.transaction.Guarantee.incomplete';
532 ELSIF p_doc_type = 'BR' THEN
533 l_event_name := 'oracle.apps.ar.transaction.BillsReceivables.incomplete';
534 END IF;
535
536 --Get the item key
537 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
538 p_customer_trx_id );
539
540 IF (isRefreshProgramRunning) THEN
541
542 insert_events_hist (p_be_name => l_event_name,
543 p_event_key => l_key,
544 p_ps_id => p_ps_id,
545 p_ctx_id => p_customer_trx_id,
546 p_cr_id => null,
547 p_ra_id => null,
548 p_adj_id => null,
549 p_hist_id => p_history_id,
550 p_req_id => null);
551 ELSE
552
558 'CUSTOMER_TRX_ID');
553 -- initialization of object variables
554 l_list := WF_PARAMETER_LIST_T();
555
556 /* 9216062 - set org based on trx */
557 l_org_id := get_org_id(p_customer_trx_id,
559
560 -- Add Context values to the list
561 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
562 p_org_id => l_org_id);
563
564 -- add more parameters to the parameters list
565 wf_event.AddParameterToList(p_name => 'CUSTOMER_TRX_ID',
566 p_value => p_customer_trx_id,
567 p_parameterlist => l_list);
568
569 wf_event.AddParameterToList(p_name => 'PAYMENT_SCHEDULE_ID',
570 p_value => p_ps_id,
571 p_parameterlist => l_list);
572
573 wf_event.AddParameterToList(p_name => 'HISTORY_ID',
574 p_value => p_history_id,
575 p_parameterlist => l_list);
576 IF p_doc_type = 'CM' THEN
577 l_cm_cl_trx_count := 0;
578 l_cm_op_trx_count := 0;
579 l_prev_trx_app_amt := 0;
580 l_past_due_inv_amt := 0;
581 l_past_due_inv_count := 0;
582
583 FOR i in cm_prev_ctx(p_customer_trx_id) LOOP
584
585 l_prev_trx_type := i.class;
586 l_prev_ctx_id := i.previous_customer_trx_id;
587
588 --check if the status of this PS has changed.
589 IF p_prev_cust_old_state(i.payment_schedule_id).status = 'OP' AND
590 i.status = 'CL' THEN
591 l_cm_cl_trx_count := l_cm_cl_trx_count + 1;
592 l_prev_trx_app_amt := l_prev_trx_app_amt + nvl(i.amount_applied,0);
593
594 IF i.due_date < sysdate and i.class = 'INV' THEN
595 l_past_due_inv_count := l_past_due_inv_count - 1;
596 END IF;
597 ELSIF p_prev_cust_old_state(i.payment_schedule_id).status = 'CL' AND
598 i.status = 'OP' THEN
599 l_cm_op_trx_count := l_cm_op_trx_count + 1;
600 l_prev_trx_app_amt := l_prev_trx_app_amt - nvl(i.amount_applied,0);
601
602 IF i.due_date < sysdate and i.class = 'INV' THEN
603 l_past_due_inv_count := l_past_due_inv_count + 1;
604 END IF;
605 END IF;
606
607 IF i.due_date < sysdate and i.class = 'INV' THEN
608 l_past_due_inv_amt := l_past_due_inv_amt +
609 ( nvl(p_prev_cust_old_state(i.payment_schedule_id).amount_credited,0) -
610 nvl(i.amount_credited,0));
611 END IF;
612
613 END LOOP;
614
615
616 l_prev_trx_op_count := l_cm_op_trx_count - l_cm_cl_trx_count;
617
618 -- add more parameters to the parameters list
619 wf_event.AddParameterToList(p_name => 'PREV_TRX_OP_COUNT',
620 p_value => l_prev_trx_op_count,
621 p_parameterlist => l_list);
622
623 wf_event.AddParameterToList(p_name => 'PREV_TRX_APP_AMT',
624 p_value => fnd_number.number_to_canonical(l_prev_trx_app_amt),
625 p_parameterlist => l_list);
626
627 wf_event.AddParameterToList(p_name => 'PAST_DUE_INV_AMT',
628 p_value => fnd_number.number_to_canonical(l_past_due_inv_amt),
629 p_parameterlist => l_list);
630
631 wf_event.AddParameterToList(p_name => 'PAST_DUE_INV_COUNT',
632 p_value => l_past_due_inv_count,
636 p_value => l_prev_trx_type,
633 p_parameterlist => l_list);
634
635 wf_event.AddParameterToList(p_name => 'PREV_TRX_TYPE',
637 p_parameterlist => l_list);
638
639 wf_event.AddParameterToList(p_name => 'PREV_TRX_ID',
640 p_value => l_prev_ctx_id,
641 p_parameterlist => l_list);
642
643 END IF;
644
645
646 -- Raise Event
647 AR_CMGT_EVENT_PKG.raise_event(
648 p_event_name => l_event_name,
649 p_event_key => l_key,
650 p_parameters => l_list );
651
652 l_list.DELETE;
653 END IF;
654
655 EXCEPTION
656 WHEN others THEN
657 IF PG_DEBUG in ('Y', 'C') THEN
658 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
659 END IF;
660
661 END Raise_Trx_Incomplete_Event;
662
663 --
664 -- This has to be raised per payment_schedule_id modified
665 --
666
667 PROCEDURE Raise_Trx_Modify_Event
668 ( p_payment_schedule_id IN NUMBER,
669 p_doc_type IN VARCHAR2,
670 p_history_id IN NUMBER
671 ) IS
672 l_list WF_PARAMETER_LIST_T;
673 l_param WF_PARAMETER_T;
674 l_key VARCHAR2(240);
675 l_exist VARCHAR2(1);
676 l_event_name VARCHAR2(50);
677 l_org_id NUMBER;
678 BEGIN
679
680 IF p_doc_type = 'INV' THEN
681 l_event_name := 'oracle.apps.ar.transaction.Invoice.modify';
682 ELSIF p_doc_type = 'CM' THEN
683 l_event_name := 'oracle.apps.ar.transaction.CreditMemo.modify';
684 ELSIF p_doc_type = 'DM' THEN
685 l_event_name := 'oracle.apps.ar.transaction.DebitMemo.modify';
686 ELSIF p_doc_type = 'DEP' THEN
687 l_event_name := 'oracle.apps.ar.transaction.Deposit.modify';
688 ELSIF p_doc_type = 'CB' THEN
689 l_event_name := 'oracle.apps.ar.transaction.ChargeBack.modify';
690 ELSIF p_doc_type = 'GUAR' THEN
691 l_event_name := 'oracle.apps.ar.transaction.Guarantee.modify';
692 END IF;
693
694 --Get the item key
695 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
696 p_payment_schedule_id );
697
698 IF (isRefreshProgramRunning) THEN
699
700 insert_events_hist (p_be_name => l_event_name,
701 p_event_key => l_key,
702 p_ps_id => p_payment_schedule_id,
703 p_ctx_id => null,
704 p_cr_id => null,
705 p_ra_id => null,
706 p_adj_id => null,
707 p_hist_id => p_history_id,
708 p_req_id => null);
709 ELSE
710
711 -- initialization of object variables
712 l_list := WF_PARAMETER_LIST_T();
713
714 /* 9216062 - set org based on trx */
715 l_org_id := get_org_id(p_payment_schedule_id,
719 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
716 'PAYMENT_SCHEDULE_ID');
717
718 -- Add Context values to the list
720 p_org_id => l_org_id);
721
722 -- add more parameters to the parameters list
723 wf_event.AddParameterToList(p_name => 'PAYMENT_SCHEDULE_ID',
724 p_value => p_payment_schedule_id,
725 p_parameterlist => l_list);
726
727 wf_event.AddParameterToList(p_name => 'HISTORY_ID',
728 p_value => p_history_id,
729 p_parameterlist => l_list);
730
731 -- Raise Event
732 AR_CMGT_EVENT_PKG.raise_event(
733 p_event_name => l_event_name,
734 p_event_key => l_key,
735 p_parameters => l_list );
736
737 l_list.DELETE;
738 END IF;
739
740 EXCEPTION
741 WHEN others THEN
742 IF PG_DEBUG in ('Y', 'C') THEN
743 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
744 END IF;
745
746 END Raise_Trx_Modify_Event;
747
748 PROCEDURE Raise_Rcpt_Creation_Event
749 ( p_payment_schedule_id IN NUMBER
750 ) IS
751 l_list WF_PARAMETER_LIST_T;
752 l_param WF_PARAMETER_T;
753 l_key VARCHAR2(240);
754 l_exist VARCHAR2(1);
758 l_org_id NUMBER;
755 l_event_name VARCHAR2(50) := 'oracle.apps.ar.receipts.CashReceipt.create';
756
757 l_cust_account_id ar_payment_schedules.customer_id%type;
759
760 -- bug 3979914.
761 CURSOR getCustomerC IS
762 SELECT nvl(customer_id, -99) cust_account_id
763 FROM ar_payment_schedules
764 WHERE payment_schedule_id = p_payment_schedule_id;
765
766 BEGIN
767 IF PG_DEBUG in ('Y', 'C') THEN
768 arp_util.debug('Raise_Rcpt_Creation_Event (+)');
769 END IF;
770
771 --Get the item key
772 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
773 p_payment_schedule_id);
774 IF (isRefreshProgramRunning) THEN
775
776 insert_events_hist (p_be_name => l_event_name,
777 p_event_key => l_key,
778 p_ps_id => p_payment_schedule_id,
779 p_ctx_id => null,
780 p_cr_id => null,
781 p_ra_id => null,
782 p_adj_id => null,
783 p_hist_id => null,
784 p_req_id => null);
785 ELSE
786
787 -- initialization of object variables
788 l_list := WF_PARAMETER_LIST_T();
789
790 /* 9216062 - set org based on trx */
791 l_org_id := get_org_id(p_payment_schedule_id,
792 'PAYMENT_SCHEDULE_ID');
793
794 -- Add Context values to the list
795 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
796 p_org_id => l_org_id);
797
798 -- Get Customer Id
799 OPEN getCustomerC;
800 FETCH getCustomerC INTO l_cust_account_id;
801 CLOSE getCustomerC;
802 -- add more parameters to the parameters list
803 wf_event.AddParameterToList(p_name => 'PAYMENT_SCHEDULE_ID',
804 p_value => p_payment_schedule_id,
805 p_parameterlist => l_list);
806
807 wf_event.AddParameterToList(p_name => 'CUST_ACCOUNT_ID',
808 p_value => l_cust_account_id,
809 p_parameterlist => l_list);
810
811 -- Raise Event
812 AR_CMGT_EVENT_PKG.raise_event(
813 p_event_name => l_event_name,
814 p_event_key => l_key,
815 p_parameters => l_list );
816
817 l_list.DELETE;
818 END IF;
819 IF PG_DEBUG in ('Y', 'C') THEN
820 arp_util.debug('Raise_Rcpt_Creation_Event (-)');
821 END IF;
822
823 EXCEPTION
824 WHEN others THEN
825 IF PG_DEBUG in ('Y', 'C') THEN
826 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
827 END IF;
828
829 END Raise_Rcpt_Creation_Event;
830
831 PROCEDURE Raise_Rcpt_Modify_Event
832 ( p_cash_receipt_id IN NUMBER,
833 p_payment_schedule_id IN NUMBER,
834 p_history_id IN NUMBER
835 )
836 IS
837 l_list WF_PARAMETER_LIST_T;
838 l_param WF_PARAMETER_T;
839 l_key VARCHAR2(240);
840 l_exist VARCHAR2(1);
841 l_event_name VARCHAR2(50)
842 := 'oracle.apps.ar.receipts.CashReceipt.modify';
843 l_org_id NUMBER;
844
845 BEGIN
846
847 --Get the item key
848 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
849 p_payment_schedule_id );
850
851 IF (isRefreshProgramRunning) THEN
852
853 insert_events_hist (p_be_name => l_event_name,
854 p_event_key => l_key,
855 p_ps_id => p_payment_schedule_id,
856 p_ctx_id => null,
857 p_cr_id => p_cash_receipt_id,
858 p_ra_id => null,
859 p_adj_id => null,
860 p_hist_id => p_history_id,
861 p_req_id => null);
862 ELSE
863
864 -- initialization of object variables
865 l_list := WF_PARAMETER_LIST_T();
866
867 /* 9216062 - set org based on trx */
868 l_org_id := get_org_id(p_cash_receipt_id,
869 'CASH_RECEIPT_ID');
870
871 -- Add Context values to the list
872 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
873 p_org_id => l_org_id);
874
875 -- add more parameters to the parameters list
876 wf_event.AddParameterToList(p_name => 'PAYMENT_SCHEDULE_ID',
877 p_value => p_payment_schedule_id,
878 p_parameterlist => l_list);
879
880 wf_event.AddParameterToList(p_name => 'CASH_RECEIPT_ID',
881 p_value => p_cash_receipt_id,
882 p_parameterlist => l_list);
883
887
884 wf_event.AddParameterToList(p_name => 'HISTORY_ID',
885 p_value => p_history_id,
886 p_parameterlist => l_list);
888 -- Raise Event
889 AR_CMGT_EVENT_PKG.raise_event(
890 p_event_name => l_event_name,
891 p_event_key => l_key,
892 p_parameters => l_list );
893
894 l_list.DELETE;
895 END IF;
896
897 EXCEPTION
898 WHEN others THEN
899 IF PG_DEBUG in ('Y', 'C') THEN
900 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
901 END IF;
902
903 END Raise_Rcpt_Modify_Event;
904
905 PROCEDURE Raise_Rcpt_Reverse_Event
906 (p_cash_receipt_id IN NUMBER,
907 p_payment_schedule_id IN NUMBER,
908 p_history_id IN NUMBER
909 )
910 IS
911 l_list WF_PARAMETER_LIST_T;
912 l_param WF_PARAMETER_T;
913 l_key VARCHAR2(240);
914 l_exist VARCHAR2(1);
915 l_event_name VARCHAR2(50)
916 := 'oracle.apps.ar.receipts.CashReceipt.reverse';
917
918 l_org_id NUMBER;
919 BEGIN
920
921 --Get the item key
922 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
923 p_payment_schedule_id );
924
925 IF (isRefreshProgramRunning) THEN
926
927 insert_events_hist (p_be_name => l_event_name,
928 p_event_key => l_key,
929 p_ps_id => p_payment_schedule_id,
930 p_ctx_id => null,
931 p_cr_id => p_cash_receipt_id,
932 p_ra_id => null,
933 p_adj_id => null,
934 p_hist_id => p_history_id,
935 p_req_id => null);
936 ELSE
937
938 -- initialization of object variables
939 l_list := WF_PARAMETER_LIST_T();
940
941 /* 9216062 - set org based on trx */
942 l_org_id := get_org_id(p_cash_receipt_id,
943 'CASH_RECEIPT_ID');
944
945 -- Add Context values to the list
946 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
947 p_org_id => l_org_id);
948
949 -- add more parameters to the parameters list
950 wf_event.AddParameterToList(p_name => 'PAYMENT_SCHEDULE_ID',
951 p_value => p_payment_schedule_id,
952 p_parameterlist => l_list);
953
954 wf_event.AddParameterToList(p_name => 'CASH_RECEIPT_ID',
955 p_value => p_cash_receipt_id,
956 p_parameterlist => l_list);
957
958 wf_event.AddParameterToList(p_name => 'HISTORY_ID',
959 p_value => p_history_id,
960 p_parameterlist => l_list);
961
962 -- Raise Event
963 AR_CMGT_EVENT_PKG.raise_event(
964 p_event_name => l_event_name,
965 p_event_key => l_key,
966 p_parameters => l_list );
967
968 l_list.DELETE;
969 END IF;
970
971 EXCEPTION
972 WHEN others THEN
973 IF PG_DEBUG in ('Y', 'C') THEN
974 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
975 END IF;
976
977 END Raise_Rcpt_Reverse_Event;
978
979 PROCEDURE Raise_Rcpt_DMReverse_Event
980 (p_cash_receipt_id IN NUMBER,
981 p_payment_schedule_id IN NUMBER,
982 p_history_id IN NUMBER
983 )
984 IS
985 l_list WF_PARAMETER_LIST_T;
986 l_param WF_PARAMETER_T;
987 l_key VARCHAR2(240);
988 l_exist VARCHAR2(1);
989 l_event_name VARCHAR2(100)
990 := 'oracle.apps.ar.receipts.CashReceipt.DebitMemoReverse';
991
992 l_org_id NUMBER;
993 BEGIN
994
995 --Get the item key
996 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
997 p_payment_schedule_id );
998
999 IF (isRefreshProgramRunning) THEN
1000
1001 insert_events_hist (p_be_name => l_event_name,
1002 p_event_key => l_key,
1003 p_ps_id => p_payment_schedule_id,
1004 p_ctx_id => null,
1005 p_cr_id => p_cash_receipt_id,
1006 p_ra_id => null,
1007 p_adj_id => null,
1008 p_hist_id => p_history_id,
1009 p_req_id => null);
1010 ELSE
1011
1012 -- initialization of object variables
1013 l_list := WF_PARAMETER_LIST_T();
1017 'CASH_RECEIPT_ID');
1014
1015 /* 9216062 - set org based on trx */
1016 l_org_id := get_org_id(p_cash_receipt_id,
1018
1019 -- Add Context values to the list
1020 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1021 p_org_id => l_org_id);
1022
1023 -- add more parameters to the parameters list
1024 wf_event.AddParameterToList(p_name => 'PAYMENT_SCHEDULE_ID',
1025 p_value => p_payment_schedule_id,
1026 p_parameterlist => l_list);
1027
1028 wf_event.AddParameterToList(p_name => 'CASH_RECEIPT_ID',
1029 p_value => p_cash_receipt_id,
1030 p_parameterlist => l_list);
1031
1032 wf_event.AddParameterToList(p_name => 'HISTORY_ID',
1033 p_value => p_history_id,
1034 p_parameterlist => l_list);
1035
1036 -- Raise Event
1037 AR_CMGT_EVENT_PKG.raise_event(
1038 p_event_name => l_event_name,
1039 p_event_key => l_key,
1040 p_parameters => l_list );
1041
1042 l_list.DELETE;
1043 END IF;
1044
1045 EXCEPTION
1046 WHEN others THEN
1047 IF PG_DEBUG in ('Y', 'C') THEN
1048 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1049 END IF;
1050
1051 END Raise_Rcpt_DMReverse_Event;
1052
1053 PROCEDURE Raise_Rcpt_Confirm_Event
1054 ( p_rec_appln_id IN NUMBER,
1055 p_cash_receipt_id IN NUMBER)
1056 IS
1057
1058 BEGIN
1059
1060 null;
1061 END Raise_Rcpt_Confirm_Event;
1062
1063 PROCEDURE Raise_Rcpt_UnConfirm_Event
1064 ( p_rec_appln_id IN NUMBER,
1065 p_cash_receipt_id IN NUMBER)
1066 IS
1067
1068 BEGIN
1069
1070 null;
1071 END Raise_Rcpt_UnConfirm_Event;
1072
1073 PROCEDURE Raise_CR_Apply_Event
1074 (p_receivable_application_id IN NUMBER --pass in the rec_app_id of the APP rec
1075 ) IS
1076 l_list WF_PARAMETER_LIST_T;
1077 l_param WF_PARAMETER_T;
1078 l_key VARCHAR2(240);
1079 l_exist VARCHAR2(1);
1080 l_event_name VARCHAR2(50)
1081 := 'oracle.apps.ar.applications.CashApp.apply';
1082 CURSOR get_ps_status(ra_id IN NUMBER) IS
1083 select inv_ps.status trx_ps_status,
1084 rcpt_ps.status rcpt_ps_status,
1085 to_char(inv_ps.due_date , 'J') due_date,
1086 inv_ps.amount_applied
1087 from ar_receivable_applications ra,
1088 ar_payment_schedules inv_ps,
1089 ar_payment_schedules rcpt_ps
1090 where ra.receivable_application_id = ra_id
1091 and ra.applied_payment_schedule_id = inv_ps.payment_schedule_id
1092 and ra.payment_schedule_id = rcpt_ps.payment_schedule_id;
1093 l_trx_ps_status VARCHAR2(10);
1094 l_rcpt_ps_status VARCHAR2(10);
1095 l_due_date VARCHAR2(20);
1096 l_trx_amt_applied NUMBER;
1097 l_org_id NUMBER;
1098
1099 BEGIN
1100
1101 --Get the item key
1102 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
1103 p_receivable_application_id );
1104
1105 IF (isRefreshProgramRunning) THEN
1106
1107 insert_events_hist (p_be_name => l_event_name,
1108 p_event_key => l_key,
1109 p_ps_id => null,
1110 p_ctx_id => null,
1111 p_cr_id => null,
1112 p_ra_id => p_receivable_application_id,
1113 p_adj_id => null,
1114 p_hist_id => null,
1115 p_req_id => null);
1116 ELSE
1117 OPEN get_ps_status(p_receivable_application_id);
1118 FETCH get_ps_status INTO l_trx_ps_status, l_rcpt_ps_status, l_due_date,
1119 l_trx_amt_applied;
1120 CLOSE get_ps_status;
1121
1122 -- initialization of object variables
1123 l_list := WF_PARAMETER_LIST_T();
1124
1125 /* 9216062 - set org based on trx */
1126 l_org_id := get_org_id(p_receivable_application_id,
1130 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1127 'RECEIVABLE_APPLICATION_ID');
1128
1129 -- Add Context values to the list
1131 p_org_id => l_org_id);
1132
1133 -- add more parameters to the parameters list
1134 wf_event.AddParameterToList(p_name => 'RECEIVABLE_APPLICATION_ID',
1135 p_value => p_receivable_application_id,
1136 p_parameterlist => l_list);
1137 wf_event.AddParameterToList(p_name => 'TRX_PS_STATUS',
1138 p_value => l_trx_ps_status,
1139 p_parameterlist => l_list);
1140 wf_event.AddParameterToList(p_name => 'RCPT_PS_STATUS',
1141 p_value => l_rcpt_ps_status,
1142 p_parameterlist => l_list);
1143 wf_event.AddParameterToList(p_name => 'TRX_DUE_DATE',
1144 p_value => l_due_date,
1145 p_parameterlist => l_list);
1146 wf_event.AddParameterToList(p_name => 'TRX_APP_AMT',
1147 p_value => fnd_number.number_to_canonical(l_trx_amt_applied),
1148 p_parameterlist => l_list);
1149
1150
1151 -- Raise Event
1152 AR_CMGT_EVENT_PKG.raise_event(
1153 p_event_name => l_event_name,
1154 p_event_key => l_key,
1155 p_parameters => l_list );
1156
1157 l_list.DELETE;
1158 END IF;
1159
1160 EXCEPTION
1161 WHEN others THEN
1162 IF PG_DEBUG in ('Y', 'C') THEN
1163 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1164 END IF;
1165
1166 END Raise_CR_Apply_Event;
1167
1168 PROCEDURE Raise_CR_UnApply_Event
1169 (p_receivable_application_id IN NUMBER --pass in the rec_app_id of the APP rec
1170 ) IS
1171 l_list WF_PARAMETER_LIST_T;
1172 l_param WF_PARAMETER_T;
1173 l_key VARCHAR2(240);
1174 l_exist VARCHAR2(1);
1175 l_event_name VARCHAR2(50)
1176 := 'oracle.apps.ar.applications.CashApp.unapply';
1177 CURSOR get_ps_status(ra_id IN NUMBER) IS
1178 select inv_ps.status trx_ps_status,
1179 rcpt_ps.status rcpt_ps_status,
1180 to_char(inv_ps.due_date , 'J') due_date,
1181 inv_ps.amount_applied,
1182 ra.amount_applied,
1183 ra.amount_applied_from,
1184 inv_ps.amount_due_remaining,
1185 ra.earned_discount_taken,
1186 ra.unearned_discount_taken
1187 from ar_receivable_applications ra,
1188 ar_payment_schedules inv_ps,
1189 ar_payment_schedules rcpt_ps
1190 where ra.receivable_application_id = ra_id
1191 and ra.applied_payment_schedule_id = inv_ps.payment_schedule_id
1192 and ra.payment_schedule_id = rcpt_ps.payment_schedule_id;
1193 l_old_trx_ps_status VARCHAR2(10);
1194 l_new_trx_ps_status VARCHAR2(10);
1195 l_old_rcpt_ps_status VARCHAR2(10);
1196 l_new_rcpt_ps_status VARCHAR2(10);
1197 l_due_date VARCHAR2(20);
1198 l_trx_amt_applied NUMBER;
1199 l_trx_adr NUMBER;
1200 l_rcpt_adr NUMBER;
1201 l_amount_applied NUMBER;
1202 l_amount_applied_from NUMBER;
1203 l_earned_discount_taken NUMBER;
1204 l_unearned_discount_taken NUMBER;
1205 l_tot_amt_applied NUMBER;
1206 l_org_id NUMBER;
1207 BEGIN
1208 IF PG_DEBUG in ('Y', 'C') THEN
1209 arp_standard.debug('Raise_CR_UnApply_Event(+)');
1210 END IF;
1211 --Get the item key
1212 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
1213 p_receivable_application_id );
1214
1215 IF (isRefreshProgramRunning) THEN
1216
1217 insert_events_hist (p_be_name => l_event_name,
1218 p_event_key => l_key,
1219 p_ps_id => null,
1220 p_ctx_id => null,
1221 p_cr_id => null,
1222 p_ra_id => p_receivable_application_id,
1223 p_adj_id => null,
1224 p_hist_id => null,
1225 p_req_id => null);
1226 ELSE
1227 OPEN get_ps_status(p_receivable_application_id);
1228 FETCH get_ps_status INTO l_new_trx_ps_status, l_new_rcpt_ps_status, l_due_date,
1229 l_tot_amt_applied, l_amount_applied, l_amount_applied_from,l_trx_adr,
1230 l_earned_discount_taken, l_unearned_discount_taken;
1231
1232
1233 /* If the amount applied and the discounts on the application
1234 that is being reversed adds up to the new amount_due_remaining
1235 on the trx payment schedule that means that the trx PS was
1236 closed prior to the application reversal.
1237
1238 The idea here is to capure the trx PS status prior to the unapply
1239 and pass that to the business event as parameter.
1240 */
1241 IF l_new_trx_ps_status = 'OP' THEN
1242 IF ( nvl(l_trx_adr,0) +
1243 ( nvl(l_amount_applied,0)
1244 + nvl(l_earned_discount_taken,0)
1245 + nvl(l_unearned_discount_taken,0)
1246 )
1247 ) = 0 THEN
1248 l_old_trx_ps_status := 'CL';
1249
1250 ELSE
1251 l_old_trx_ps_status := 'OP';
1252 END IF;
1253 ELSIF l_new_trx_ps_status = 'CL' THEN
1254 l_old_trx_ps_status := 'OP';
1255 END IF;
1256
1257 IF l_new_rcpt_ps_status = 'OP'
1258 THEN
1259 IF( nvl(l_rcpt_adr,0) +
1260 nvl(l_amount_applied_from,l_amount_applied)
1264 l_old_rcpt_ps_status := 'OP';
1261 ) = 0 THEN
1262 l_old_rcpt_ps_status := 'CL';
1263 ELSE
1265 END IF;
1266 ELSIF l_new_rcpt_ps_status = 'CL' THEN
1267 l_old_rcpt_ps_status := 'OP';
1268 END IF;
1269
1270 CLOSE get_ps_status;
1271
1272 -- initialization of object variables
1273 l_list := WF_PARAMETER_LIST_T();
1274
1275 /* 9216062 - set org based on trx */
1276 l_org_id := get_org_id(p_receivable_application_id,
1277 'RECEIVABLE_APPLICATION_ID');
1278
1279 -- Add Context values to the list
1280 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1281 p_org_id => l_org_id);
1282
1283 -- add more parameters to the parameters list
1284 wf_event.AddParameterToList(p_name => 'RECEIVABLE_APPLICATION_ID',
1285 p_value => p_receivable_application_id,
1286 p_parameterlist => l_list);
1287 wf_event.AddParameterToList(p_name => 'OLD_TRX_PS_STATUS',
1288 p_value => l_old_trx_ps_status,
1289 p_parameterlist => l_list);
1290 wf_event.AddParameterToList(p_name => 'NEW_TRX_PS_STATUS',
1291 p_value => l_new_trx_ps_status,
1292 p_parameterlist => l_list);
1293 wf_event.AddParameterToList(p_name => 'OLD_RCPT_PS_STATUS',
1294 p_value => l_old_rcpt_ps_status,
1295 p_parameterlist => l_list);
1296 wf_event.AddParameterToList(p_name => 'NEW_RCPT_PS_STATUS',
1297 p_value => l_new_rcpt_ps_status,
1298 p_parameterlist => l_list);
1299 wf_event.AddParameterToList(p_name => 'TRX_DUE_DATE',
1300 p_value => l_due_date,
1301 p_parameterlist => l_list);
1302 wf_event.AddParameterToList(p_name => 'TRX_APP_AMT',
1303 p_value =>fnd_number.number_to_canonical(l_tot_amt_applied),
1304 p_parameterlist => l_list);
1305 wf_event.AddParameterToList(p_name => 'AMT_DUE_REMAINING',
1306 p_value =>fnd_number.number_to_canonical(l_trx_adr),
1307 p_parameterlist => l_list);
1308 wf_event.AddParameterToList(p_name => 'OLD_AMT_DUE_REMAINING',
1309 p_value => fnd_number.number_to_canonical( nvl(l_trx_adr,0) +
1310 ( nvl(l_amount_applied,0)
1311 + nvl(l_earned_discount_taken,0)
1312 + nvl(l_unearned_discount_taken,0)
1313 )),
1314 p_parameterlist => l_list);
1315
1316
1317 -- Raise Event
1318 AR_CMGT_EVENT_PKG.raise_event(
1319 p_event_name => l_event_name,
1320 p_event_key => l_key,
1321 p_parameters => l_list );
1322
1323 l_list.DELETE;
1324 END IF;
1325
1326 IF PG_DEBUG in ('Y', 'C') THEN
1327 arp_standard.debug('Raise_CR_UnApply_Event(-)');
1328 END IF;
1329
1330 EXCEPTION
1331 WHEN others THEN
1332 IF PG_DEBUG in ('Y', 'C') THEN
1333 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1334 END IF;
1335
1336 END Raise_CR_UnApply_Event;
1337
1338 PROCEDURE Raise_CM_Apply_Event
1339 (p_receivable_application_id IN NUMBER ,--pass in the rec_app_id of the APP rec
1340 p_app_ps_status IN VARCHAR2 DEFAULT NULL
1341 ) IS
1342 l_list WF_PARAMETER_LIST_T;
1343 l_param WF_PARAMETER_T;
1344 l_key VARCHAR2(240);
1345 l_exist VARCHAR2(1);
1346 l_event_name VARCHAR2(50)
1347 := 'oracle.apps.ar.applications.CreditMemoApp.apply';
1348 CURSOR get_ps_status(ra_id IN NUMBER) IS
1349 select inv_ps.status trx_ps_status,
1350 cm_ps.status cm_ps_status,
1351 to_char(inv_ps.due_date , 'J') due_date,
1352 inv_ps.amount_applied
1353 from ar_receivable_applications ra,
1354 ar_payment_schedules inv_ps,
1355 ar_payment_schedules cm_ps
1356 where ra.receivable_application_id = ra_id
1357 and ra.applied_payment_schedule_id = inv_ps.payment_schedule_id
1358 and ra.payment_schedule_id = cm_ps.payment_schedule_id;
1359
1360 l_trx_ps_status VARCHAR2(10);
1361 l_cm_ps_status VARCHAR2(10);
1362 l_due_date VARCHAR2(20);
1363 l_trx_amt_applied NUMBER;
1364 l_org_id NUMBER;
1365 BEGIN
1366
1367 --Get the item key
1368 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1369 p_receivable_application_id);
1370
1371 IF (isRefreshProgramRunning) THEN
1372
1373 insert_events_hist (p_be_name => l_event_name,
1374 p_event_key => l_key,
1375 p_ps_id => null,
1376 p_ctx_id => null,
1377 p_cr_id => null,
1378 p_ra_id => p_receivable_application_id,
1379 p_adj_id => null,
1380 p_hist_id => null,
1381 p_req_id => null);
1382 ELSE
1383
1384 OPEN get_ps_status(p_receivable_application_id);
1385 FETCH get_ps_status INTO l_trx_ps_status, l_cm_ps_status, l_due_date,
1386 l_trx_amt_applied;
1387 CLOSE get_ps_status;
1391
1388
1389 -- initialization of object variables
1390 l_list := WF_PARAMETER_LIST_T();
1392 /* 9216062 - set org based on trx */
1393 l_org_id := get_org_id(p_receivable_application_id,
1394 'RECEIVABLE_APPLICATION_ID');
1395
1396 -- Add Context values to the list
1397 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1398 p_org_id => l_org_id);
1399
1400 -- add more parameters to the parameters list
1401 wf_event.AddParameterToList(p_name => 'RECEIVABLE_APPLICATION_ID',
1402 p_value => p_receivable_application_id,
1403 p_parameterlist => l_list);
1404 wf_event.AddParameterToList(p_name => 'TRX_PS_STATUS',
1405 p_value => l_trx_ps_status,
1406 p_parameterlist => l_list);
1407 wf_event.AddParameterToList(p_name => 'CM_PS_STATUS',
1408 p_value => l_cm_ps_status,
1409 p_parameterlist => l_list);
1410 wf_event.AddParameterToList(p_name => 'TRX_DUE_DATE',
1411 p_value => l_due_date,
1412 p_parameterlist => l_list);
1413 wf_event.AddParameterToList(p_name => 'TRX_APP_AMT',
1414 p_value => fnd_number.number_to_canonical(l_trx_amt_applied),
1415 p_parameterlist => l_list);
1416
1417 -- Raise Event
1418 AR_CMGT_EVENT_PKG.raise_event(
1419 p_event_name => l_event_name,
1420 p_event_key => l_key,
1421 p_parameters => l_list );
1422
1423 l_list.DELETE;
1424 END IF;
1425
1426 EXCEPTION
1427 WHEN others THEN
1428 IF PG_DEBUG in ('Y', 'C') THEN
1429 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1430 END IF;
1431
1432 END Raise_CM_Apply_Event;
1433
1434 PROCEDURE Raise_CM_UnApply_Event
1435 (p_receivable_application_id IN NUMBER --pass in the rec_app_id of the APP rec
1436 ) IS
1437 l_list WF_PARAMETER_LIST_T;
1438 l_param WF_PARAMETER_T;
1439 l_key VARCHAR2(240);
1440 l_exist VARCHAR2(1);
1441 l_event_name VARCHAR2(50)
1442 := 'oracle.apps.ar.applications.CreditMemoApp.unapply';
1443 CURSOR get_ps_status(ra_id IN NUMBER) IS
1444 select inv_ps.status trx_ps_status,
1445 cm_ps.status cm_ps_status,
1446 to_char(inv_ps.due_date , 'J') due_date,
1447 inv_ps.amount_applied
1448 from ar_receivable_applications ra,
1449 ar_payment_schedules inv_ps,
1450 ar_payment_schedules cm_ps
1451 where ra.receivable_application_id = ra_id
1452 and ra.applied_payment_schedule_id = inv_ps.payment_schedule_id
1453 and ra.payment_schedule_id = cm_ps.payment_schedule_id;
1454
1455 l_trx_ps_status VARCHAR2(10);
1456 l_cm_ps_status VARCHAR2(10);
1457 l_due_date VARCHAR2(20);
1458 l_trx_amt_applied NUMBER;
1459 l_org_id NUMBER;
1460 BEGIN
1461
1462 --Get the item key
1463 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1464 p_receivable_application_id);
1465
1466 IF (isRefreshProgramRunning) THEN
1467
1468 insert_events_hist (p_be_name => l_event_name,
1469 p_event_key => l_key,
1470 p_ps_id => null,
1471 p_ctx_id => null,
1472 p_cr_id => null,
1473 p_ra_id => p_receivable_application_id,
1474 p_adj_id => null,
1475 p_hist_id => null,
1476 p_req_id => null);
1477 ELSE
1478
1479 OPEN get_ps_status(p_receivable_application_id);
1480 FETCH get_ps_status INTO l_trx_ps_status, l_cm_ps_status, l_due_date,
1481 l_trx_amt_applied;
1482 CLOSE get_ps_status;
1483
1484 -- initialization of object variables
1485 l_list := WF_PARAMETER_LIST_T();
1486
1487 /* 9216062 - set org based on trx */
1488 l_org_id := get_org_id(p_receivable_application_id,
1489 'RECEIVABLE_APPLICATION_ID');
1490
1491 -- Add Context values to the list
1492 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1493 p_org_id => l_org_id);
1494
1495 -- add more parameters to the parameters list
1496 wf_event.AddParameterToList(p_name => 'RECEIVABLE_APPLICATION_ID',
1497 p_value => p_receivable_application_id,
1498 p_parameterlist => l_list);
1499 wf_event.AddParameterToList(p_name => 'TRX_PS_STATUS',
1500 p_value => l_trx_ps_status,
1501 p_parameterlist => l_list);
1502 wf_event.AddParameterToList(p_name => 'CM_PS_STATUS',
1503 p_value => l_cm_ps_status,
1504 p_parameterlist => l_list);
1505 wf_event.AddParameterToList(p_name => 'TRX_DUE_DATE',
1506 p_value => l_due_date,
1507 p_parameterlist => l_list);
1508 wf_event.AddParameterToList(p_name => 'TRX_APP_AMT',
1509 p_value => fnd_number.number_to_canonical(l_trx_amt_applied),
1510 p_parameterlist => l_list);
1511
1512 -- Raise Event
1516 p_parameters => l_list );
1513 AR_CMGT_EVENT_PKG.raise_event(
1514 p_event_name => l_event_name,
1515 p_event_key => l_key,
1517
1518 l_list.DELETE;
1519 END IF;
1520
1521 EXCEPTION
1522 WHEN others THEN
1523 IF PG_DEBUG in ('Y', 'C') THEN
1524 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1525 END IF;
1526
1527 END Raise_CM_UnApply_Event;
1528
1529 PROCEDURE Raise_Adj_Create_Event
1530 (p_adjustment_id IN NUMBER,
1531 p_app_ps_status IN VARCHAR2 DEFAULT NULL,
1532 p_adj_status IN VARCHAR2 DEFAULT NULL)
1533 IS
1534 l_list WF_PARAMETER_LIST_T;
1535 l_param WF_PARAMETER_T;
1536 l_key VARCHAR2(240);
1537 l_exist VARCHAR2(1);
1538 l_event_name VARCHAR2(50)
1539 := 'oracle.apps.ar.adjustments.Adjustment.create';
1540 l_org_id NUMBER;
1541 BEGIN
1542
1543 --Get the item key
1544 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1545 p_adjustment_id);
1546
1547 IF (isRefreshProgramRunning) THEN
1548
1549 insert_events_hist (p_be_name => l_event_name,
1550 p_event_key => l_key,
1551 p_ps_id => null,
1552 p_ctx_id => null,
1553 p_cr_id => null,
1554 p_ra_id => null,
1555 p_adj_id => p_adjustment_id,
1556 p_hist_id => null,
1557 p_req_id => null);
1558 ELSE
1559
1560 -- initialization of object variables
1561 l_list := WF_PARAMETER_LIST_T();
1562
1563 /* 9216062 - set org based on trx */
1564 l_org_id := get_org_id(p_adjustment_id,
1565 'ADJUSTMENT_ID');
1566
1567 -- Add Context values to the list
1568 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1569 p_org_id => l_org_id);
1570
1571 -- add more parameters to the parameters list
1572 wf_event.AddParameterToList(p_name => 'ADJUSTMENT_ID',
1573 p_value => p_adjustment_id,
1574 p_parameterlist => l_list);
1575 wf_event.AddParameterToList(p_name => 'APPLIED_PS_STATUS',
1576 p_value => p_app_ps_status,
1577 p_parameterlist => l_list);
1578
1579 wf_event.AddParameterToList(p_name => 'ADJ_STATUS',
1580 p_value => p_adj_status,
1581 p_parameterlist => l_list);
1582
1583
1584 -- Raise Event
1585 AR_CMGT_EVENT_PKG.raise_event(
1586 p_event_name => l_event_name,
1587 p_event_key => l_key,
1588 p_parameters => l_list );
1589
1590 l_list.DELETE;
1591 END IF;
1592
1593 EXCEPTION
1594 WHEN others THEN
1595 IF PG_DEBUG in ('Y', 'C') THEN
1596 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1597 END IF;
1598
1599 END Raise_Adj_Create_Event;
1600
1601 PROCEDURE Raise_Adj_Approve_Event
1602 (p_adjustment_id IN NUMBER,
1603 p_approval_actn_hist_id IN NUMBER,
1604 p_app_ps_status IN VARCHAR2 DEFAULT NULL)
1605 IS
1606 l_list WF_PARAMETER_LIST_T;
1607 l_param WF_PARAMETER_T;
1608 l_key VARCHAR2(240);
1609 l_exist VARCHAR2(1);
1610 l_event_name VARCHAR2(50)
1611 := 'oracle.apps.ar.adjustments.Adjustment.approve';
1612 l_org_id NUMBER;
1613 BEGIN
1614
1615 --Get the item key
1616 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1617 p_adjustment_id);
1618 IF (isRefreshProgramRunning) THEN
1619
1620 insert_events_hist (p_be_name => l_event_name,
1621 p_event_key => l_key,
1622 p_ps_id => null,
1623 p_ctx_id => null,
1624 p_cr_id => null,
1625 p_ra_id => null,
1626 p_adj_id => p_adjustment_id,
1627 p_hist_id => p_approval_actn_hist_id,
1628 p_req_id => null);
1629 ELSE
1630
1631 -- initialization of object variables
1632 l_list := WF_PARAMETER_LIST_T();
1633
1634 /* 9216062 - set org based on trx */
1635 l_org_id := get_org_id(p_adjustment_id,
1636 'ADJUSTMENT_ID');
1637
1638 -- Add Context values to the list
1639 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1640 p_org_id => l_org_id);
1641
1642 -- add more parameters to the parameters list
1643 wf_event.AddParameterToList(p_name => 'ADJUSTMENT_ID',
1644 p_value => p_adjustment_id,
1645 p_parameterlist => l_list);
1646
1647 wf_event.AddParameterToList(p_name => 'APPROVAL_ACTN_HIST_ID',
1648 p_value => p_approval_actn_hist_id,
1649 p_parameterlist => l_list);
1650 wf_event.AddParameterToList(p_name => 'APPLIED_PS_STATUS',
1651 p_value => p_app_ps_status,
1655 AR_CMGT_EVENT_PKG.raise_event(
1652 p_parameterlist => l_list);
1653
1654 -- Raise Event
1656 p_event_name => l_event_name,
1657 p_event_key => l_key,
1658 p_parameters => l_list );
1659
1660 l_list.DELETE;
1661 END IF;
1662
1663 EXCEPTION
1664 WHEN others THEN
1665 IF PG_DEBUG in ('Y', 'C') THEN
1666 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1667 END IF;
1668
1669 END Raise_Adj_Approve_Event;
1670
1671 PROCEDURE Raise_AutoInv_Run_Event
1672 ( p_request_id IN NUMBER)
1673 IS
1674 l_list WF_PARAMETER_LIST_T;
1675 l_param WF_PARAMETER_T;
1676 l_key VARCHAR2(240);
1677 l_exist VARCHAR2(1);
1678 l_event_name VARCHAR2(50) := 'oracle.apps.ar.batch.AutoInvoice.run';
1679 l_org_id NUMBER;
1680 BEGIN
1681
1682 --Get the item key
1683 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1684 p_request_id);
1685 IF (isRefreshProgramRunning) THEN
1686
1687 insert_events_hist (p_be_name => l_event_name,
1688 p_event_key => l_key,
1689 p_ps_id => null,
1690 p_ctx_id => null,
1691 p_cr_id => null,
1692 p_ra_id => null,
1693 p_adj_id => null,
1694 p_hist_id => null,
1695 p_req_id => p_request_id);
1696 ELSE
1697
1698 -- initialization of object variables
1699 l_list := WF_PARAMETER_LIST_T();
1700
1701 /* 9216062 - set org based on trx */
1702 l_org_id := get_org_id(p_request_id,
1703 'REQUEST_ID',
1704 'INVOICES');
1705
1706 -- Add Context values to the list
1707 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1708 p_org_id => l_org_id);
1709
1710 -- add more parameters to the parameters list
1711 wf_event.AddParameterToList(p_name => 'REQUEST_ID',
1712 p_value => p_request_id,
1713 p_parameterlist => l_list);
1714
1715 -- Raise Event
1716 AR_CMGT_EVENT_PKG.raise_event(
1717 p_event_name => l_event_name,
1718 p_event_key => l_key,
1719 p_parameters => l_list );
1720 l_list.DELETE;
1721 END IF;
1722
1723 EXCEPTION
1724 WHEN others THEN
1725 IF PG_DEBUG in ('Y', 'C') THEN
1726 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1727 END IF;
1728
1729 END Raise_AutoInv_Run_Event;
1730
1731 PROCEDURE Raise_AutoRec_Run_Event
1732 ( p_request_id IN NUMBER,
1733 p_req_confirmation IN VARCHAR2)
1734 IS
1735 l_list WF_PARAMETER_LIST_T;
1736 l_param WF_PARAMETER_T;
1737 l_key VARCHAR2(240);
1738 l_exist VARCHAR2(1);
1739 l_event_name VARCHAR2(50) := 'oracle.apps.ar.batch.AutoReceipts.run';
1740 l_org_id NUMBER;
1741 BEGIN
1742
1743 --We raise the bisiness event only in case the confirmation is
1744 --not required for the batch. In this case the PS of the receipt would
1745 --get created and the PS of the invoice would get updated upon the
1746 --Auto Receipt Run with approval.
1747 IF p_req_confirmation = 'Y' THEN
1748 --Get the item key
1749 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name,
1750 p_request_id );
1751
1752 IF (isRefreshProgramRunning) THEN
1753
1754 insert_events_hist (p_be_name => l_event_name,
1755 p_event_key=> l_key,
1756 p_ps_id => null,
1757 p_ctx_id => null,
1758 p_cr_id => null,
1759 p_ra_id => null,
1760 p_adj_id => null,
1761 p_hist_id => null,
1762 p_req_id => p_request_id);
1763 ELSE
1764
1765 -- initialization of object variables
1766 l_list := WF_PARAMETER_LIST_T();
1767
1768 /* 9216062 - set org based on trx */
1769 l_org_id := get_org_id(p_request_id,
1770 'REQUEST_ID',
1771 'RECEIPTS');
1772
1773 -- Add Context values to the list
1774 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1775 p_org_id => l_org_id);
1776
1777 -- add more parameters to the parameters list
1778 wf_event.AddParameterToList(p_name => 'REQUEST_ID',
1779 p_value => p_request_id,
1780 p_parameterlist => l_list);
1781
1782 -- Raise Event
1783 AR_CMGT_EVENT_PKG.raise_event(
1784 p_event_name => l_event_name,
1785 p_event_key => l_key,
1786 p_parameters => l_list );
1787 l_list.DELETE;
1788 END IF;
1789
1790 END IF;
1791
1792 EXCEPTION
1793 WHEN others THEN
1794 IF PG_DEBUG in ('Y', 'C') THEN
1795 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1796 END IF;
1797
1798 END Raise_AutoRec_Run_Event;
1799
1800 PROCEDURE Raise_PostBatch_Run_Event
1801 ( p_request_id IN NUMBER)
1802 IS
1803 l_list WF_PARAMETER_LIST_T;
1804 l_param WF_PARAMETER_T;
1805 l_key VARCHAR2(240);
1809 BEGIN
1806 l_exist VARCHAR2(1);
1807 l_event_name VARCHAR2(50) := 'oracle.apps.ar.batch.QuickCash.PostBatch';
1808 l_org_id NUMBER;
1810
1811 IF p_request_id is not null THEN
1812 --Get the item key
1813 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1814 p_request_id);
1815
1816 IF (isRefreshProgramRunning) THEN
1817
1818 insert_events_hist (p_be_name => l_event_name,
1819 p_event_key=> l_key,
1820 p_ps_id => null,
1821 p_ctx_id => null,
1822 p_cr_id => null,
1823 p_ra_id => null,
1824 p_adj_id => null,
1825 p_hist_id => null,
1826 p_req_id => p_request_id);
1827 ELSE
1828
1829 -- initialization of object variables
1830 l_list := WF_PARAMETER_LIST_T();
1831
1832 /* 9216062 - set org based on trx */
1833 l_org_id := get_org_id(p_request_id,
1834 'REQUEST_ID',
1835 'RECEIPTS');
1836
1837 -- Add Context values to the list
1838 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1839 p_org_id => l_org_id);
1840
1841 -- add more parameters to the parameters list
1842 wf_event.AddParameterToList(p_name => 'REQUEST_ID',
1843 p_value => p_request_id,
1844 p_parameterlist => l_list);
1845
1846 -- Raise Event
1847 AR_CMGT_EVENT_PKG.raise_event(
1848 p_event_name => l_event_name,
1849 p_event_key => l_key,
1850 p_parameters => l_list );
1851 l_list.DELETE;
1852 END IF;
1853 END IF;
1854
1855 EXCEPTION
1856 WHEN others THEN
1857 IF PG_DEBUG in ('Y', 'C') THEN
1858 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1859 END IF;
1860
1861 END Raise_PostBatch_Run_Event;
1862
1863 PROCEDURE Raise_AutoAdj_Run_Event
1864 ( p_request_id IN NUMBER) IS
1865 l_list WF_PARAMETER_LIST_T;
1866 l_param WF_PARAMETER_T;
1867 l_key VARCHAR2(240);
1868 l_exist VARCHAR2(1);
1872
1869 l_event_name VARCHAR2(50) := 'oracle.apps.ar.batch.AutoAdjustments.run';
1870 l_org_id NUMBER;
1871 BEGIN
1873 --
1874 -- We do not need to create a history record in AR_TRX_SUMMARY_HIST for the
1875 -- adjustments done against the transactions because of fllowing reasons:
1876 -- 1) The adjustment history is stored in AR_ADJUSTMENTS table
1877 -- 2) AR Subscription of no other core event would look at the adjustment.
1878
1879 IF p_request_id is not null THEN
1880 --Get the item key
1881 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1882 p_request_id);
1883
1884 IF (isRefreshProgramRunning) THEN
1885
1886 insert_events_hist (p_be_name => l_event_name,
1887 p_event_key=> l_key,
1888 p_ps_id => null,
1889 p_ctx_id => null,
1890 p_cr_id => null,
1891 p_ra_id => null,
1892 p_adj_id => null,
1893 p_hist_id => null,
1894 p_req_id => p_request_id);
1895 ELSE
1896
1897 -- initialization of object variables
1898 l_list := WF_PARAMETER_LIST_T();
1899
1900 /* 9216062 - set org based on trx */
1901 l_org_id := get_org_id(p_request_id,
1902 'REQUEST_ID',
1903 'ADJUSTMENTS');
1904
1905 -- Add Context values to the list
1906 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1907 p_org_id => l_org_id);
1908
1909 -- add more parameters to the parameters list
1910 wf_event.AddParameterToList(p_name => 'REQUEST_ID',
1911 p_value => p_request_id,
1912 p_parameterlist => l_list);
1913
1914 -- Raise Event
1915 AR_CMGT_EVENT_PKG.raise_event(
1916 p_event_name => l_event_name,
1917 p_event_key => l_key,
1918 p_parameters => l_list );
1919 l_list.DELETE;
1920
1921 END IF;
1922 END IF;
1923
1924 EXCEPTION
1925 WHEN others THEN
1926 IF PG_DEBUG in ('Y', 'C') THEN
1927 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1928 END IF;
1929
1930 END Raise_AutoAdj_Run_Event;
1931
1932 PROCEDURE Raise_CopyInv_Run_Event
1933 ( p_request_id IN NUMBER) IS
1934 l_list WF_PARAMETER_LIST_T;
1935 l_param WF_PARAMETER_T;
1936 l_key VARCHAR2(240);
1937 l_exist VARCHAR2(1);
1938 l_event_name VARCHAR2(50) := 'oracle.apps.ar.batch.CopyInvoices.run';
1939 l_org_id NUMBER;
1940 BEGIN
1941
1942 IF p_request_id is not null THEN
1943 --Get the item key
1944 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
1945 p_request_id);
1946 IF (isRefreshProgramRunning) THEN
1947
1948 insert_events_hist (p_be_name => l_event_name,
1949 p_event_key=> l_key,
1950 p_ps_id => null,
1951 p_ctx_id => null,
1952 p_cr_id => null,
1953 p_ra_id => null,
1954 p_adj_id => null,
1955 p_hist_id => null,
1956 p_req_id => p_request_id);
1957 ELSE
1958
1959 -- initialization of object variables
1960 l_list := WF_PARAMETER_LIST_T();
1961
1962 /* 9216062 - set org based on trx */
1963 l_org_id := get_org_id(p_request_id,
1964 'REQUEST_ID',
1965 'INVOICES');
1966
1967 -- Add Context values to the list
1968 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
1969 p_org_id => l_org_id);
1970
1971 -- add more parameters to the parameters list
1972 wf_event.AddParameterToList(p_name => 'REQUEST_ID',
1973 p_value => p_request_id,
1974 p_parameterlist => l_list);
1975
1976 -- Raise Event
1977 AR_CMGT_EVENT_PKG.raise_event(
1978 p_event_name => l_event_name,
1979 p_event_key => l_key,
1980 p_parameters => l_list );
1981 l_list.DELETE;
1982 END IF;
1983
1984 END IF;
1985
1986 EXCEPTION
1987 WHEN others THEN
1988 IF PG_DEBUG in ('Y', 'C') THEN
1989 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
1990 END IF;
1991
1992 END Raise_CopyInv_Run_Event;
1993
1994 PROCEDURE Raise_Rcpt_Deletion_Event
1995 ( p_payment_schedule_id IN NUMBER,
1996 p_receipt_number IN ar_cash_receipts.receipt_number%type,
1997 p_receipt_date IN ar_cash_receipts.receipt_date%type
1998 ) IS
1999 l_list WF_PARAMETER_LIST_T;
2000 l_param WF_PARAMETER_T;
2001 l_key VARCHAR2(240);
2002 l_exist VARCHAR2(1);
2003 l_event_name VARCHAR2(50) := 'oracle.apps.ar.receipts.CashReceipt.Delete';
2004 l_org_id NUMBER;
2005 BEGIN
2006 IF PG_DEBUG in ('Y', 'C') THEN
2007 arp_util.debug('Raise_Rcpt_Deletion_Event (+)');
2008 END IF;
2009 --Get the item key
2010 l_key := AR_CMGT_EVENT_PKG.item_key( l_event_name ,
2011 p_payment_schedule_id);
2012 IF (isRefreshProgramRunning) THEN
2013
2017 p_ctx_id => null,
2014 insert_events_hist (p_be_name => l_event_name,
2015 p_event_key => l_key,
2016 p_ps_id => p_payment_schedule_id,
2018 p_cr_id => null,
2019 p_ra_id => null,
2020 p_adj_id => null,
2021 p_hist_id => null,
2022 p_req_id => null);
2023 ELSE
2024
2025 -- initialization of object variables
2026 l_list := WF_PARAMETER_LIST_T();
2027
2028 /* 9216062 - set org based on trx */
2029 l_org_id := get_org_id(p_payment_schedule_id,
2030 'PAYMENT_SCHEDULE_ID');
2031
2032 -- Add Context values to the list
2033 ar_cmgt_event_pkg.AddParamEnvToList(x_list => l_list,
2034 p_org_id => l_org_id);
2035
2036 -- add more parameters to the parameters list
2037 wf_event.AddParameterToList(p_name => 'PAYMENT_SCHEDULE_ID',
2038 p_value => p_payment_schedule_id,
2042 p_value => trunc(sysdate),
2039 p_parameterlist => l_list);
2040
2041 wf_event.AddParameterToList(p_name => 'DELETION_DATE',
2043 p_parameterlist => l_list);
2044
2045 wf_event.AddParameterToList(p_name => 'RECEIPT_NUMBER',
2046 p_value => p_receipt_number,
2047 p_parameterlist => l_list);
2048
2049 wf_event.AddParameterToList(p_name => 'RECEIPT_DATE',
2050 p_value => p_receipt_date,
2051 p_parameterlist => l_list);
2052 -- Raise Event
2053 AR_CMGT_EVENT_PKG.raise_event(
2054 p_event_name => l_event_name,
2055 p_event_key => l_key,
2056 p_parameters => l_list );
2057
2058 l_list.DELETE;
2059 END IF;
2060 IF PG_DEBUG in ('Y', 'C') THEN
2061 arp_util.debug('Raise_Rcpt_Deletion_Event (-)');
2062 END IF;
2063
2064 EXCEPTION
2065 WHEN others THEN
2066 IF PG_DEBUG in ('Y', 'C') THEN
2067 arp_util.debug('ERR RAISING EVENT: '||l_event_name);
2068 END IF;
2069
2070 END;
2071
2072 END AR_BUS_EVENT_COVER; -- Package spec