[Home] [Help]
PACKAGE BODY: APPS.ARP_PROCESS_BOE
Source
1 PACKAGE BODY ARP_PROCESS_BOE AS
2 /* $Header: ARREBOEB.pls 120.15 2008/01/30 13:09:01 nemani ship $ */
3 l_debug VARCHAR2(30);
4
5 /* ------------ Private procedures used by the package --------------------- */
6
7 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
8 /* Bug fix 3927024 */
9 l_actual_amount_total NUMBER;
10 l_actual_count_total NUMBER;
11 l_batch_id NUMBER;
12
13 PROCEDURE val_args_add_or_rm_remit_rec(
14 p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE,
15 p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE,
16 p_crh_id IN ar_cash_receipt_history.cash_receipt_history_id%TYPE,
17 p_remittance_bank_account_id IN
18 ar_cash_receipts.remit_bank_acct_use_id%type,
19 p_maturity_date IN
20 ar_payment_schedules.due_date%TYPE,
21 p_batch_id IN NUMBER );
22
23 PROCEDURE val_args_add_or_rm_txn_rec(
24 p_ct_id IN ra_customer_trx.customer_trx_id%TYPE,
25 p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE,
26 p_paying_customer_id IN ra_customer_trx.paying_customer_id%TYPE,
27 p_customer_bank_account_id IN
28 ra_customer_trx.customer_bank_account_id%TYPE );
29
30 PROCEDURE Val_Create_Auto_Batch_Submit(p_batch_id ar_batches.batch_id%TYPE);
31
32 /* ---------------------- Public functions -------------------------------- */
33
34 /*===========================================================================+
35 | PROCEDURE |
36 | add_or_rm_remit_rec_to_batch |
37 | |
38 | DESCRIPTION |
39 | Procedure called during the create remittance batch process to add |
40 | or remove receipts from a batch. Besides adding or removing receipts |
41 | from a batch, the user can also change certain receipt information |
42 | such as remittance bank account, override_remit_account_flag, bank |
43 | charges and maturity date. |
44 | |
45 | SCOPE - PUBLIC |
46 | |
47 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE |
48 | arp_cr_history_pkg.update_p - Updates CRH table bank charges info |
49 | arp_cash_receipts_pkg.update_p- Updates CR table with remittance bank |
50 | account, customer bank account and |
51 | override_remit_account_flag |
52 | arp_ps_pkg.update_p - Updates maturity date in PS table. |
53 | arp_util.debug |
54 | |
55 | ARGUMENTS : IN: |
56 | p_cr_id - Cash receipt ID |
57 | p_ps_id - Payment Schedule ID |
58 | p_crh_id - Cash receipt History ID |
59 | p_selected_remittance_batch_id - This field indicates if a |
60 | receipt has been selected to belong to a remittance |
61 | batch. If the field is not NULL, then the field points |
62 | to the remittance batch, the receipt belongs to, else |
63 | the field is NULL. |
64 | p_remittance_bank_account_id - Remittance bank account id |
65 | of the receipt. |
66 | p_override_remit_account_flag - override_remit_account_flag|
67 | of the receipt. |
68 | p_customer_bank_account_id - Custome bank account ID of the|
69 | receipt. |
70 | p_bank_charges- Bank charges, to update CRH row |
71 | p_maturity_date - Maturity date to update DUE_DATE in PS |
72 | p_module_name - Name of module that called this proc. |
73 | p_module_version - Version of the module that called |
74 | this procedure |
75 | OUT: |
76 | p_batch_applied_status - currenct batch aplied status if |
77 | conc. req was started. |
78 | p_request_id - Request id of conc. request. |
79 | |
80 | RETURNS : NONE |
81 | |
82 | NOTES |
83 | |
84 | MODIFICATION HISTORY - Created by Ganesh Vaidee - 10/05/95 |
85 | 11/20/1995 - The procedure now calls the conc. request to start |
86 | approval or formatting of a batch if need be |
87 | depending on the p_call_conc_req flag |
88 | 07/11/1996 OSTEINME Changed code to store bank charges in |
89 | factor_discount_amount of ar_cash_receipts |
90 | table instead of cash_receipt_history table. |
91 | (bug 376326) |
92 | |
93 +===========================================================================*/
94 PROCEDURE add_or_rm_remit_rec_to_batch (
95 p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE,
96 p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE,
97 p_crh_id IN ar_cash_receipt_history.cash_receipt_history_id%TYPE,
98 p_selected_remittance_batch_id IN
99 ar_cash_receipts.selected_remittance_batch_id%TYPE,
100 p_remittance_bank_account_id IN
101 ar_cash_receipts.remit_bank_acct_use_id%type,
102 p_override_remit_account_flag IN
103 ar_cash_receipts.override_remit_account_flag%TYPE,
104 p_customer_bank_account_id IN
105 ar_cash_receipts.customer_bank_account_id%TYPE,
106 p_bank_charges IN
107 ar_cash_receipt_history.factor_discount_amount%TYPE,
108 p_maturity_date IN
109 ar_payment_schedules.due_date%TYPE,
110 p_batch_id IN NUMBER,
111 p_control_count IN NUMBER,
112 p_control_amount IN NUMBER,
113 p_module_name IN VARCHAR2,
114 p_module_version IN VARCHAR2 ) IS
115 --
116 l_cr_rec ar_cash_receipts%ROWTYPE;
117 l_ps_rec ar_payment_schedules%ROWTYPE;
118 l_crh_rec ar_cash_receipt_history%ROWTYPE;
119 l_batch_rec ar_batches%ROWTYPE;
120 --
121 l_approve_flag VARCHAR2(1) DEFAULT 'N';
122 l_format_flag VARCHAR2(1) DEFAULT 'N';
123 --
124 --
125 BEGIN
126 IF PG_DEBUG in ('Y', 'C') THEN
127 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'arp_process_boe.add_or_rm_remit_rec_to_batch()+');
128 END IF;
129 --
130 IF PG_DEBUG in ('Y', 'C') THEN
131 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'cr_id = '||to_char( p_cr_id ) );
132 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'ps_id = '||to_char( p_ps_id ) );
133 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'crh_id = '||to_char( p_crh_id ) );
134 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'selected_remittance_batch_id = '||
135 to_char( p_selected_remittance_batch_id ) );
136 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'remit_bank_acct_use_id = '||
137 to_char( p_remittance_bank_account_id ) );
138 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'override_remit_account_flag = '||
139 p_override_remit_account_flag );
140 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'customer_bank_account_id = '||
141 to_char( p_customer_bank_account_id ) );
142 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'bank_charges = '||
143 to_char( p_bank_charges ) );
144 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'maturity_date = '||
145 to_char( p_maturity_date ) );
146 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'batch_id = '||
147 to_char( p_batch_id ) );
148 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'control_count = '||
149 to_char( p_control_count ) );
150 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'control_amount = '||
151 to_char( p_control_amount ) );
152 END IF;
153 --
154 -- Validate input arguments
155 --
156 IF ( p_module_name IS NOT NULL and p_module_version IS NOT NULL ) THEN
157 val_args_add_or_rm_remit_rec( p_cr_id, p_ps_id,
158 p_crh_id, p_remittance_bank_account_id,
159 p_maturity_date, p_batch_id );
160 END IF;
161 --
162 -- Update Cash receipts table
163 --
164 l_cr_rec.cash_receipt_id := p_cr_id;
165 arp_cash_receipts_pkg.fetch_p( l_cr_rec );
166 l_cr_rec.selected_remittance_batch_id := p_selected_remittance_batch_id;
167 l_cr_rec.remit_bank_acct_use_id := p_remittance_bank_account_id;
168 l_cr_rec.override_remit_account_flag := p_override_remit_account_flag;
169 l_cr_rec.customer_bank_account_id := p_customer_bank_account_id;
170
171 -- The following line was added to fix bug 376326 (see below):
172
173 l_cr_rec.factor_discount_amount := p_bank_charges;
174
175 arp_cash_receipts_pkg.update_p( l_cr_rec );
176
177 /* -------------------------------------------------------------------------
178
179 Bug 376326:
180
181 The following code has been removed, because it incorrectly
182 updates the crh record of a confirmed receipt, instead of
183 updating the actual cr record. Instead, I've added the update
184 of the cr.factor_discount_amount column above. OSTEINME, 7/11/96
185
186 --
187 -- Update CRH table with bank charges
188 --
189 arp_cr_history_pkg.set_to_dummy( l_crh_rec );
190 l_crh_rec.cash_receipt_history_id := p_crh_id;
191 l_crh_rec.factor_discount_amount := p_bank_charges;
192 l_crh_rec.amount := l_cr_rec.amount - NVL( p_bank_charges, 0 );
193 arp_cr_history_pkg.update_p( l_crh_rec, l_crh_rec.cash_receipt_history_id );
194
195 --------------------------------------------------------------------------*/
196 --
197 -- Update PS table with due date
198 --
199 /*--------------------------------------------------------------------
200 Modified for MISC receipts remittance 377583
201 Payment Schedule should be updated only for CASH receipts
202 --------------------------------------------------------------------*/
203
204 IF (p_ps_id IS NOT NULL)
205 THEN
206 arp_ps_pkg.set_to_dummy( l_ps_rec );
207 l_ps_rec.payment_schedule_id := p_ps_id;
208 l_ps_rec.due_date := p_maturity_date;
209 arp_ps_pkg.update_p( l_ps_rec, l_ps_rec.payment_schedule_id );
210 END IF;
211
212 --
213 -- Update Batch table with control count and control cmount
214 --
215 /* Bug fix 3927024 */
216 IF l_batch_id IS NULL OR l_batch_id <> p_batch_id THEN
217
218 select nvl(control_amount,0), nvl(control_count,0)
219 into l_actual_amount_total,l_actual_count_total
220 from ar_batches
221 where batch_id = p_batch_id;
222
223 l_batch_id := p_batch_id;
224
225 END IF;
226
227 l_actual_count_total := l_actual_count_total + p_control_count;
228 l_actual_amount_total := l_actual_amount_total + p_control_amount;
229
230 IF PG_DEBUG in ('Y', 'C') THEN
231 arp_standard.debug('l_actual_count_total = '||to_char(l_actual_count_total));
232 arp_standard.debug('l_actual_amount_total = '||to_char(l_actual_amount_total));
233 END IF;
234 /* End Bug fix 3927024 */
235
236 arp_cr_batches_pkg.set_to_dummy( l_batch_rec );
237 l_batch_rec.batch_id := p_batch_id;
238 l_batch_rec.control_count := l_actual_count_total; /* Bug 3927024 */
239 l_batch_rec.control_amount := l_actual_amount_total; /* bug 3927024 */
240 arp_cr_batches_pkg.update_p( l_batch_rec, l_batch_rec.batch_id );
241 --
242 IF PG_DEBUG in ('Y', 'C') THEN
243 arp_standard.debug('val_args_add_or_rm_remit_rec: ' || 'arp_process_boe.add_or_rm_remit_rec_to_batch()-');
244 END IF;
245 --
246 EXCEPTION
247 WHEN OTHERS THEN
248 IF PG_DEBUG in ('Y', 'C') THEN
249 arp_standard.debug('val_args_add_or_rm_remit_rec: ' ||
250 'EXCEPTION: arp_process_boe.add_or_rm_remit_rec_to_batch' );
251 END IF;
252 RAISE;
253 --
254 END add_or_rm_remit_rec_to_batch;
255 --
256 /*===========================================================================+
257 | PROCEDURE |
258 | val_args_add_or_rm_remit_rec |
259 | |
260 | DESCRIPTION |
261 | Validate arguments passed to add_or_rm_remit_rec_to_batch procedure |
262 | |
263 | SCOPE - PRIVATE |
264 | |
265 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE |
266 | |
267 | ARGUMENTS : IN: |
268 | OUT: |
269 | |
270 | RETURNS : NONE |
271 | |
272 | NOTES |
273 | |
274 | MODIFICATION HISTORY - Created by Ganesh Vaidee - 10/05/95 |
275 | 11/20/1995 - Added code to check batch id and which action if |
276 | conc. req flag is set to 'Y' |
277 | |
278 +===========================================================================*/
279 PROCEDURE val_args_add_or_rm_remit_rec(
280 p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE,
281 p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE,
282 p_crh_id IN ar_cash_receipt_history.cash_receipt_history_id%TYPE,
283 p_remittance_bank_account_id IN
284 ar_cash_receipts.remit_bank_acct_use_id%type,
285 p_maturity_date IN
286 ar_payment_schedules.due_date%TYPE,
287 p_batch_id IN NUMBER ) IS
288
289 cr_type ar_cash_receipts.type%TYPE;
290
291 BEGIN
292 IF PG_DEBUG in ('Y', 'C') THEN
293 arp_standard.debug( 'arp_process_boe.val_args_add_or_rm_remit_rec() +');
294 END IF;
295 --
296 /*---------------------------------------------------------------------
297 Modified by Nilesh for MISC receipt remittance 377583
298 Payment Schedule should exist only for CASH receipts
299 ---------------------------------------------------------------------*/
300 -- IF ( p_cr_id is NULL OR p_ps_id is NULL OR
301 IF ( p_cr_id is NULL OR
302 p_crh_id is NULL OR p_remittance_bank_account_id is NULL OR
303 p_maturity_date is NULL OR p_batch_id is NULL ) THEN
304 FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
305 APP_EXCEPTION.raise_exception;
306 END IF;
307
308 SELECT type INTO cr_type FROM ar_cash_receipts WHERE cash_receipt_id = p_cr_id;
309
310 IF (cr_type = 'CASH' AND p_ps_id is NULL) THEN
311
312 FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
313 APP_EXCEPTION.raise_exception;
314 END IF;
315
316 --
317 IF PG_DEBUG in ('Y', 'C') THEN
318 arp_standard.debug( 'arp_process_boe.val_args_add_or_rm_remit_rec() -');
319 END IF;
320 EXCEPTION
321 WHEN OTHERS THEN
322 IF PG_DEBUG in ('Y', 'C') THEN
323 arp_standard.debug('val_args_add_or_rm_remit_rec: ' ||
324 'EXCEPTION: arp_process_boe.val_args_add_or_rm_remit_rec' );
325 END IF;
326 RAISE;
327 END val_args_add_or_rm_remit_rec;
328 --
329 PROCEDURE create_remit_batch_conc_req( p_create_flag IN VARCHAR2,
330 p_approve_flag IN VARCHAR2,
331 p_format_flag IN VARCHAR2,
332 p_batch_id IN ar_batches.batch_id%TYPE,
333 p_due_date_low IN ar_payment_schedules.due_date%TYPE,
334 p_due_date_high IN ar_payment_schedules.due_date%TYPE,
335 p_receipt_date_low IN ar_cash_receipts.receipt_date%TYPE,
336 p_receipt_date_high IN ar_cash_receipts.receipt_date%TYPE,
337 p_receipt_number_low IN ar_cash_receipts.receipt_number%TYPE,
338 p_receipt_number_high IN ar_cash_receipts.receipt_number%TYPE,
339 p_document_number_low IN NUMBER,
340 p_document_number_high IN NUMBER,
341 p_customer_number_low IN hz_cust_accounts.account_number%TYPE,
342 p_customer_number_high IN hz_cust_accounts.account_number%TYPE,
343 p_customer_name_low IN hz_parties.party_name%TYPE,
344 p_customer_name_high IN hz_parties.party_name%TYPE,
345 p_customer_id IN hz_cust_accounts.cust_account_id%TYPE,
346 p_location_low IN hz_cust_site_uses.location%TYPE,
347 p_location_high IN hz_cust_site_uses.location%TYPE,
348 p_site_use_id IN hz_cust_site_uses.site_use_id%TYPE,
349 p_remit_total_low IN NUMBER,
350 p_remit_total_high IN NUMBER,
351 p_request_id OUT NOCOPY NUMBER,
352 p_batch_applied_status OUT NOCOPY VARCHAR2,
353 p_module_name IN VARCHAR2,
354 p_module_version IN VARCHAR2 ) IS
355 l_request_id NUMBER;
356 l_bat_rec ar_batches%ROWTYPE;
357 l_org_id NUMBER;
358 BEGIN
359 --
360 IF PG_DEBUG in ('Y', 'C') THEN
361 arp_standard.debug( 'arp_process_boe.create_remit_batch_conc_req()+');
362 END IF;
363 --
364 IF PG_DEBUG in ('Y', 'C') THEN
365 arp_standard.debug('create_remit_batch_conc_req: ' || 'Batch Id '||p_batch_id );
366 arp_standard.debug('create_remit_batch_conc_req: ' || 'create_flag = '||p_create_flag );
367 arp_standard.debug('create_remit_batch_conc_req: ' || 'Approve_flag = '||p_approve_flag );
368 arp_standard.debug('create_remit_batch_conc_req: ' || 'Format_flag = '||p_format_flag );
369 arp_standard.debug('create_remit_batch_conc_req: ' || 'batch Id = '||to_char( p_batch_id ) );
370 arp_standard.debug('create_remit_batch_conc_req: ' || 'receipt_num_low = '||p_receipt_number_low );
371 arp_standard.debug('create_remit_batch_conc_req: ' || 'receipt_nue_hi = '||p_receipt_number_high );
372 arp_standard.debug('create_remit_batch_conc_req: ' || 'receipt_date_low = '||to_char( p_receipt_date_low ));
373 arp_standard.debug('create_remit_batch_conc_req: ' || 'receipt_date_hi = '||to_char( p_receipt_date_high));
374 arp_standard.debug('create_remit_batch_conc_req: ' || 'due_date_low = '||to_char( p_due_date_low));
375 arp_standard.debug('create_remit_batch_conc_req: ' || 'due_date_high = '||to_char( p_due_date_high));
376 arp_standard.debug('create_remit_batch_conc_req: ' || 'doc_num_low = '||to_char( p_document_number_low));
377 arp_standard.debug('create_remit_batch_conc_req: ' || 'doc_num_high = '||to_char( p_document_number_high));
378 arp_standard.debug('create_remit_batch_conc_req: ' || 'cust_num_low = '||p_document_number_low );
379 arp_standard.debug('create_remit_batch_conc_req: ' || 'cust_num_high = '||p_customer_number_high );
380 arp_standard.debug('create_remit_batch_conc_req: ' || 'cust_name_low = '||p_customer_name_low );
381 arp_standard.debug('create_remit_batch_conc_req: ' || 'cust_name_high = '||p_customer_name_high );
382 arp_standard.debug('create_remit_batch_conc_req: ' || 'customer_id = '||to_char( p_customer_id ) );
383 arp_standard.debug('create_remit_batch_conc_req: ' || 'site_use_low = '||p_location_low );
384 arp_standard.debug('create_remit_batch_conc_req: ' || 'site_use_high = '||p_location_high );
385 arp_standard.debug('create_remit_batch_conc_req: ' || 'site_use_id = '||to_char( p_site_use_id ) );
386 END IF;
387 --
388 -- Validate input arguments
389 --
390 IF ( p_module_name IS NOT NULL and p_module_version IS NOT NULL ) THEN
391 IF ( p_batch_id IS NULL ) THEN
392 FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
393 APP_EXCEPTION.raise_exception;
394 END IF;
395 END IF;
396 --
397 -- Call the concurrent program
398 --
399 -- Shiv Ragunat , 9/11/96 ,Modified the Date parameters to convert it
400 -- to DD-MON-YYYY format, so that the call succeeds for any
401 -- NLS date format.
402 --
403 /* Bug 5190715 */
404 /* Bug 5699734 - Changed the logic of getting the org_id - Getting from ar_system_parameters is more reliable */
405 IF PG_DEBUG in ('Y', 'C') THEN
406 arp_standard.debug('Selecting org_id from ar_system_parameters and p_batch_id : '||p_batch_id);
407 END IF;
408 -- l_org_id := TO_NUMBER(FND_PROFILE.value('ORG_ID'));
409 SELECT org_id
410 INTO l_org_id
411 FROM ar_system_parameters;
412 --l_org_id := nvl(mo_global.get_current_org_id, mo_utils.get_default_org_id);
413
414 fnd_request.set_org_id(l_org_id);
415 l_request_id := FND_REQUEST.submit_request( 'AR',
416 'AUTOREMAPI', --PAYMENT_UPTAKE ARZCAR_REMIT
417 NULL,
418 -- 'Create Automatic remittance receipt Batch',
419 TO_CHAR(SYSDATE,'DD-MON-YYYY'),
420 FALSE, 'REMIT',
421 NULL, -- Batch Date
422 NULL, -- Batch GL Date
423 p_create_flag,
424 p_approve_flag, p_format_flag, p_batch_id,
425 l_debug,
426 NULL, -- Batch Currency
427 NULL, -- Exchange Date
428 NULL, -- Exchange Rate
429 NULL, -- Exchange Rate Type
430 NULL, -- Remit Method Code
431 NULL, -- Receipt Class
432 NULL, -- Payment Method
433 NULL, -- Media Reference
434 NULL, -- Remit Bank Branch
435 NULL, -- Remit Bank Account
436 NULL, -- Bank Deposit Number
437 NULL, -- Batch Comments
438 fnd_date.date_to_canonical(p_receipt_date_low),
439 fnd_date.date_to_canonical(p_receipt_date_high),
440 fnd_date.date_to_canonical(p_due_date_low),
441 fnd_date.date_to_canonical(p_due_date_high),
442 p_receipt_number_low,
443 p_receipt_number_high,
444 p_document_number_low,
445 p_document_number_high,
446 p_customer_number_low,
447 p_customer_number_high,
448 p_customer_name_low, p_customer_name_high,
449 p_customer_id,
450 p_location_low, p_location_high,
451 p_site_use_id,
452 fnd_number.number_to_canonical(p_remit_total_low),
453 fnd_number.number_to_canonical(p_remit_total_high),
454 NULL,
455 NULL,
456 NULL,
457 NULL
458 );
459 --
460 IF PG_DEBUG in ('Y', 'C') THEN
461 arp_standard.debug('create_remit_batch_conc_req: ' || 'Out Request ID = '||to_char( l_request_id ) );
462 END IF;
463 p_request_id := l_request_id;
464 --
465 --
466 -- Update batches row with payment method id and batch applied status
467 --
468 arp_cr_batches_pkg.set_to_dummy( l_bat_rec );
469 l_bat_rec.batch_id := p_batch_id;
470 l_bat_rec.operation_request_id := l_request_id;
471 IF ( p_create_flag = 'Y' ) THEN
472 l_bat_rec.batch_applied_status := 'STARTED_CREATION';
473 ELSIF ( p_approve_flag = 'Y' ) THEN
474 l_bat_rec.batch_applied_status := 'STARTED_APPROVAL';
475 ELSE
476 l_bat_rec.batch_applied_status := 'STARTED_FORMAT';
477 END IF;
478 --
479 arp_cr_batches_pkg.update_p( l_bat_rec, l_bat_rec.batch_id );
480 p_batch_applied_status := l_bat_rec.batch_applied_status;
481 --
482 IF PG_DEBUG in ('Y', 'C') THEN
483 arp_standard.debug( 'arp_process_boe.create_remit_batch_conc_req()-');
484 END IF;
485 --
486 EXCEPTION
487 WHEN OTHERS THEN
488 IF PG_DEBUG in ('Y', 'C') THEN
489 arp_standard.debug('create_remit_batch_conc_req: ' ||
490 'EXCEPTION: arp_process_boe.create_remit_batch_conc_req' );
491 END IF;
492 RAISE;
493 --
494 END create_remit_batch_conc_req;
495 --
496 --
497 --
498 PROCEDURE app_fmt_remit_batch_conc_req( p_approve_flag IN VARCHAR2,
499 p_format_flag IN VARCHAR2,
500 p_batch_id IN ar_batches.batch_id%TYPE,
501 p_request_id OUT NOCOPY NUMBER,
502 p_batch_applied_status OUT NOCOPY VARCHAR2,
503 p_module_name IN VARCHAR2,
504 p_module_version IN VARCHAR2 ) IS
505 l_request_id NUMBER;
506 l_bat_rec ar_batches%ROWTYPE;
507 l_org_id NUMBER;
508 BEGIN
509 --
510 IF PG_DEBUG in ('Y', 'C') THEN
511 arp_standard.debug( 'arp_process_boe.app_fmt_remit_batch_conc_req()+');
512 END IF;
513 --
514 IF PG_DEBUG in ('Y', 'C') THEN
515 arp_standard.debug('app_fmt_remit_batch_conc_req: ' || 'Batch Id '||p_batch_id );
516 arp_standard.debug('app_fmt_remit_batch_conc_req: ' || 'Approve_flag = '||p_approve_flag );
517 arp_standard.debug('app_fmt_remit_batch_conc_req: ' || 'Format_flag = '||p_format_flag );
518 END IF;
519 --
520 IF ( p_module_name IS NOT NULL and p_module_version IS NOT NULL ) THEN
521 IF ( p_batch_id IS NULL ) THEN
522 FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
523 APP_EXCEPTION.raise_exception;
524 END IF;
525 END IF;
526 --
527 -- Call the concurrent program
528 --
529 /* Additional Fix identified as a part of Bug 5699734 */
530 /* Bug 5699734 - Changed logic to get org_id - Getting from ar_system_parameters would be more reliable */
531 --l_org_id := TO_NUMBER(FND_PROFILE.value('ORG_ID'));
532 IF PG_DEBUG in ('Y', 'C') THEN
533 arp_standard.debug('Selecting org_id from ar_system_parameters and p_batch_id : '||p_batch_id);
534 END IF;
535 SELECT org_id
536 INTO l_org_id
537 FROM ar_system_parameters;
538 -- l_org_id := nvl(mo_global.get_current_org_id, mo_utils.get_default_org_id);
539 /* Fix bug 5699734 ends */
540
541 fnd_request.set_org_id(l_org_id);
542
543 /* Adding additional debug messages - As a part of Bug 5699734 */
544 IF PG_DEBUG in ('Y', 'C') THEN
545 arp_standard.debug('app_fmt_remit_batch_conc_req: Submitting Conc Req for Approve/Format Remittance Receipt Batch with org : ' ||l_org_id);
546 END IF;
547 /* End of additional Debug messages */
548 l_request_id := FND_REQUEST.submit_request( 'AR',
549 'AUTOREMAPI', --PAYMENT_UPTAKE ARZCAR_REMIT
550 NULL,
551 -- 'Approve/Format Remittance Receipt Batch',
552 SYSDATE, FALSE, 'REMIT',
553 NULL, -- Batch Date
554 NULL, -- Batch GL Date
555 'N', -- p_create_flag,
556 p_approve_flag, p_format_flag, p_batch_id,
557 l_debug,
558 NULL, -- Batch Currency
559 NULL, -- Exchange Date
560 NULL, -- Exchange Rate
561 NULL, -- Exchange Rate Type
562 NULL, -- Remit Method Code
563 NULL, -- Receipt Class
564 NULL, -- Payment Method
565 NULL, -- Media Reference
566 NULL, -- Remit Bank Branch
567 NULL, -- Remit Bank Account
568 NULL, -- Bank Deposit Number
569 NULL, -- Batch Comments
570 NULL, NULL,
571 NULL, NULL,
572 NULL, NULL,
573 NULL, NULL,
574 NULL, NULL,
575 NULL, NULL,
576 NULL,
577 NULL, NULL,
578 NULL,
579 NULL, NULL,
580 NULL, NULL,
581 NULL, NULL
582 );
583 --
584 IF PG_DEBUG in ('Y', 'C') THEN
585 arp_standard.debug('app_fmt_remit_batch_conc_req: ' || 'Out Request ID = '||to_char( l_request_id ) );
586 END IF;
587 p_request_id := l_request_id;
588 --
589 -- Update batch to set batch applied_status
590 --
591 arp_cr_batches_pkg.set_to_dummy( l_bat_rec );
592 l_bat_rec.batch_id := p_batch_id;
593 l_bat_rec.operation_request_id := l_request_id;
594 IF ( p_approve_flag = 'Y' ) THEN
595 l_bat_rec.batch_applied_status := 'STARTED_APPROVAL';
596 ELSE
597 l_bat_rec.batch_applied_status := 'STARTED_FORMAT';
598 END IF;
599 arp_cr_batches_pkg.update_p( l_bat_rec, l_bat_rec.batch_id );
600 p_batch_applied_status := l_bat_rec.batch_applied_status;
601 --
602 IF PG_DEBUG in ('Y', 'C') THEN
603 arp_standard.debug( 'arp_process_boe.app_fmt_remit_batch_conc_req()-');
604 END IF;
605 --
606 EXCEPTION
607 WHEN OTHERS THEN
608 IF PG_DEBUG in ('Y', 'C') THEN
609 arp_standard.debug('app_fmt_remit_batch_conc_req: ' ||
610 'EXCEPTION: arp_process_boe.app_fmt_remit_batch_conc_req' );
611 END IF;
612 RAISE;
613 --
614 END app_fmt_remit_batch_conc_req;
615 --
616 PROCEDURE app_fmt_auto_batch_conc_req( p_approve_flag IN VARCHAR2,
617 p_format_flag IN VARCHAR2,
618 p_batch_id IN ar_batches.batch_id%TYPE,
619 p_request_id OUT NOCOPY NUMBER,
620 p_batch_applied_status OUT NOCOPY VARCHAR2,
621 p_module_name IN VARCHAR2,
622 p_module_version IN VARCHAR2 ) IS
623 l_request_id NUMBER;
624 l_bat_rec ar_batches%ROWTYPE;
625 l_org_id NUMBER;
626 BEGIN
627 --
628 IF PG_DEBUG in ('Y', 'C') THEN
629 arp_standard.debug( 'arp_process_boe.app_fmt_auto_batch_conc_req()+');
630 END IF;
631 --
632 IF PG_DEBUG in ('Y', 'C') THEN
633 arp_standard.debug('app_fmt_auto_batch_conc_req: ' || 'Batch Id '||p_batch_id );
634 arp_standard.debug('app_fmt_auto_batch_conc_req: ' || 'Approve_flag = '||p_approve_flag );
635 arp_standard.debug('app_fmt_auto_batch_conc_req: ' || 'Format_flag = '||p_format_flag );
636 END IF;
637 --
638 IF ( p_module_name IS NOT NULL and p_module_version IS NOT NULL ) THEN
639 IF ( p_batch_id IS NULL ) THEN
640 FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
641 APP_EXCEPTION.raise_exception;
642 END IF;
643 END IF;
644 --
645 -- Call the concurrent program
646 --
647 /* Additional Fix identified as a part of Bug 5699734*/
648 /* Bug 5699734 - Changed the logic of getting org_id - Getting from ar_system_parameters would be more reliable */
649 --l_org_id := TO_NUMBER(FND_PROFILE.value('ORG_ID'));
650 IF PG_DEBUG in ('Y', 'C') THEN
651 arp_standard.debug('Selecting org_id from ar_system_parameters and p_batch_id : '||p_batch_id);
652 END IF;
653 SELECT org_id
654 INTO l_org_id
655 FROM ar_system_parameters;
656 --l_org_id := nvl(mo_global.get_current_org_id, mo_utils.get_default_org_id);
657 /* Fix for bug 5699734 ends */
658
659 fnd_request.set_org_id(l_org_id);
660
661 /* Additional Debug Messages as a part of bug 5699734*/
662 IF PG_DEBUG in ('Y', 'C') THEN
663 arp_standard.debug('app_fmt_auto_batch_conc_req: Submitting Conc Req Approve/Format Automatic receipt Batch with org :'||l_org_id);
664 END IF;
665 /* Additional debug messages ends */
666
667 l_request_id := FND_REQUEST.submit_request( 'AR',
668 'AR_AUTORECAPI', -- PAYMENT_UPTAKE ARZCAR_RECEIPT
669 NULL,
670 -- 'Approve/Format Automatic receipt Batch',
671 SYSDATE, FALSE, 'RECEIPT',
672 NULL, -- Batch Date
673 NULL, -- Batch GL Date
674 'N', -- p_create_flag,
675 p_approve_flag, p_format_flag, p_batch_id,
676 l_debug,
677 NULL, -- Batch Currency
678 NULL, -- Exchange Date
679 NULL, -- Exchange Rate
680 NULL, -- Exchange Rate Type
681 NULL, -- Remit Method Code
682 NULL, -- Receipt Class
683 NULL, -- Payment Method
684 NULL, -- Media Reference
685 NULL, -- Remit Bank Branch
686 NULL, -- Remit Bank Account
687 NULL, -- Bank Deposit Number
688 NULL, -- Batch Comments
689 NULL, NULL,
690 NULL, NULL,
691 NULL, NULL,
692 NULL, NULL,
693 NULL, NULL,
694 NULL, NULL,
695 NULL,
696 NULL, NULL,
697 NULL,
698 NULL, NULL,
699 NULL, NULL,
700 NULL, NULL
701 );
702 --
703 IF PG_DEBUG in ('Y', 'C') THEN
704 arp_standard.debug('app_fmt_auto_batch_conc_req: ' || 'Out Request ID = '||to_char( l_request_id ) );
705 END IF;
706 p_request_id := l_request_id;
707 --
708 --
709 -- Update batch to set batch applied_status
710 --
711 arp_cr_batches_pkg.set_to_dummy( l_bat_rec );
712 l_bat_rec.batch_id := p_batch_id;
713 l_bat_rec.operation_request_id := l_request_id;
714 IF ( p_approve_flag = 'Y' ) THEN
715 l_bat_rec.batch_applied_status := 'STARTED_APPROVAL';
716 ELSE
717 l_bat_rec.batch_applied_status := 'STARTED_FORMAT';
718 END IF;
719 arp_cr_batches_pkg.update_p( l_bat_rec, l_bat_rec.batch_id );
720 p_batch_applied_status := l_bat_rec.batch_applied_status;
721 --
722 IF PG_DEBUG in ('Y', 'C') THEN
723 arp_standard.debug( 'arp_process_boe.app_fmt_auto_batch_conc_req()-');
724 END IF;
725 --
726 EXCEPTION
727 WHEN OTHERS THEN
728 IF PG_DEBUG in ('Y', 'C') THEN
729 arp_standard.debug('app_fmt_auto_batch_conc_req: ' ||
730 'EXCEPTION: arp_process_boe.app_fmt_auto_batch_conc_req' );
731 END IF;
732 RAISE;
733 --
734 END app_fmt_auto_batch_conc_req;
735 --
736 PROCEDURE create_auto_batch_conc_req( p_create_flag IN VARCHAR2,
737 p_approve_flag IN VARCHAR2,
738 p_format_flag IN VARCHAR2,
739 p_batch_id IN ar_batches.batch_id%TYPE,
740 p_due_date_low IN ar_payment_schedules.due_date%TYPE,
741 p_due_date_high IN ar_payment_schedules.due_date%TYPE,
742 p_trx_date_low IN ra_customer_trx.trx_date%TYPE,
743 p_trx_date_high IN ra_customer_trx.trx_date%TYPE,
744 p_trx_number_low IN ra_customer_trx.trx_number%TYPE,
745 p_trx_number_high IN ra_customer_trx.trx_number%TYPE,
746 p_document_number_low IN NUMBER,
747 p_document_number_high IN NUMBER,
748 p_customer_number_low IN hz_cust_accounts.account_number%TYPE,
749 p_customer_number_high IN hz_cust_accounts.account_number%TYPE,
750 p_customer_name_low IN hz_parties.party_name%TYPE,
751 p_customer_name_high IN hz_parties.party_name%TYPE,
752 p_customer_id IN hz_cust_accounts.cust_account_id%TYPE,
753 p_location_low IN hz_cust_site_uses.location%TYPE,
754 p_location_high IN hz_cust_site_uses.location%TYPE,
755 p_site_use_id IN hz_cust_site_uses.site_use_id%TYPE,
756 p_billing_number_low IN ar_cons_inv.cons_billing_number%TYPE,
757 p_billing_number_high IN ar_cons_inv.cons_billing_number%TYPE,
758 p_request_id OUT NOCOPY NUMBER,
759 p_batch_applied_status OUT NOCOPY VARCHAR2,
760 p_module_name IN VARCHAR2,
761 p_module_version IN VARCHAR2,
762 p_bank_account_low IN VARCHAR2,
763 p_bank_account_high IN VARCHAR2 ) IS
764
765 l_request_id NUMBER;
766 l_bat_rec ar_batches%ROWTYPE;
767 l_org_id NUMBER;
768
769 BEGIN
770 --
771 IF PG_DEBUG in ('Y', 'C') THEN
772 arp_standard.debug( 'arp_process_boe.create_auto_batch_conc_req()+');
773 END IF;
774 --
775 IF PG_DEBUG in ('Y', 'C') THEN
776 arp_standard.debug('create_auto_batch_conc_req: ' || 'create_flag = '||p_create_flag );
777 arp_standard.debug('create_auto_batch_conc_req: ' || 'Approve_flag = '||p_approve_flag );
778 arp_standard.debug('create_auto_batch_conc_req: ' || 'Format_flag = '||p_format_flag );
779 arp_standard.debug('create_auto_batch_conc_req: ' || 'batch Id = '||to_char( p_batch_id ) );
780 arp_standard.debug('create_auto_batch_conc_req: ' || 'trx_num_low = '||p_trx_number_low );
781 arp_standard.debug('create_auto_batch_conc_req: ' || 'trx_num_hi = '||p_trx_number_high );
782 arp_standard.debug('create_auto_batch_conc_req: ' || 'trx_date_low = '||to_char( p_trx_date_low ));
783 arp_standard.debug('create_auto_batch_conc_req: ' || 'trx_date_hi = '||to_char( p_trx_date_high));
784 arp_standard.debug('create_auto_batch_conc_req: ' || 'due_date_low = '||to_char( p_due_date_low));
785 arp_standard.debug('create_auto_batch_conc_req: ' || 'due_date_high = '||to_char( p_due_date_high));
786 arp_standard.debug('create_auto_batch_conc_req: ' || 'doc_num_low = '||to_char( p_document_number_low));
787 arp_standard.debug('create_auto_batch_conc_req: ' || 'doc_num_high = '||to_char( p_document_number_high));
788 arp_standard.debug('create_auto_batch_conc_req: ' || 'cust_num_low = '||p_document_number_low );
789 arp_standard.debug('create_auto_batch_conc_req: ' || 'cust_num_high = '||p_customer_number_high );
790 arp_standard.debug('create_auto_batch_conc_req: ' || 'cust_name_low = '||p_customer_name_low );
791 arp_standard.debug('create_auto_batch_conc_req: ' || 'cust_name_high = '||p_customer_name_high );
792 arp_standard.debug('create_auto_batch_conc_req: ' || 'customer_id = '||to_char( p_customer_id ) );
793 arp_standard.debug('create_auto_batch_conc_req: ' || 'site_use_low = '||p_location_low );
794 arp_standard.debug('create_auto_batch_conc_req: ' || 'site_use_high = '||p_location_high );
795 arp_standard.debug('create_auto_batch_conc_req: ' || 'site_use_id = '||to_char( p_site_use_id ) );
796 arp_standard.debug('create_auto_batch_conc_req: ' || 'billing_number_low = '|| p_billing_number_low );
797 arp_standard.debug('create_auto_batch_conc_req: ' || 'billing_number_high = '|| p_billing_number_high );
798 arp_standard.debug('create_auto_batch_conc_req: ' || 'bank_account_low = '|| p_bank_account_low );
799 arp_standard.debug('create_auto_batch_conc_req: ' || 'bank_account_high = '|| p_bank_account_high );
800 END IF;
801 --
802 -- Validate input arguments
803 --
804 IF ( p_module_name IS NOT NULL ) THEN
805 IF ( p_batch_id IS NULL ) THEN
806 FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
807 APP_EXCEPTION.raise_exception;
808 END IF;
809 END IF;
810
811 ARP_PROCESS_BOE.Val_Create_Auto_Batch_Submit(p_batch_id);
812
813 --
814 -- Call the concurrent program
815 --
816 -- Shiv Ragunat , 9/11/96 ,Modified the Date parameters to convert it
817 -- to DD-MON-YYYY format, so that the call succeeds for any
818 -- NLS date format.
819 --
820 /* Fix for Bug 5699734 - Wrong org being set because of FND_PROFILE.value('ORG_ID') */
821 /* Bug 5699734 - Changed logic for getting the org_id - Getting from ar_system_parameters would be more reliable */
822 --l_org_id := TO_NUMBER(FND_PROFILE.value('ORG_ID'));
823 IF PG_DEBUG in ('Y', 'C') THEN
824 arp_standard.debug('Selecting org_id from ar_system_parameters and p_batch_id : '||p_batch_id);
825 END IF;
826 SELECT org_id
827 INTO l_org_id
828 FROM ar_system_parameters;
829 --l_org_id := nvl(mo_global.get_current_org_id, mo_utils.get_default_org_id);
830 /* Fix for Bug 5699734 ends */
831
832 fnd_request.set_org_id(l_org_id);
833
834 /* Additional Debug Messages as a part of Bug 5699734 */
835 IF PG_DEBUG in ('Y', 'C') THEN
836 arp_standard.debug('create_auto_batch_conc_req: Submitting Conc Req Create Automatic Receipts with org :'||l_org_id);
837 END IF;
838 /* Additional Debug Messages ends */
839
840 l_request_id := FND_REQUEST.submit_request( 'AR',
841 'AR_AUTORECAPI', -- PAYMENT_UPTAKE ARZCAR_RECEIPT
842 NULL,
843 -- 'Create Automatic Receipts',
844 TO_CHAR(SYSDATE,'DD-MON-YYYY'),
845 FALSE, 'RECEIPT',
846 NULL, -- Batch Date
847 NULL, -- Batch GL Date
848 p_create_flag,
849 p_approve_flag, p_format_flag, p_batch_id,
850 l_debug,
851 NULL, -- Batch Currency
852 NULL, -- Exchange Date
853 NULL, -- Exchange Rate
854 NULL, -- Exchange Rate Type
855 NULL, -- Remit Method Code
856 NULL, -- Receipt Class
857 NULL, -- Payment Method
858 NULL, -- Media Reference
859 NULL, -- Remit Bank Branch
860 NULL, -- Remit Bank Account
861 NULL, -- Bank Deposit Number
862 NULL, -- Batch Comments
863 fnd_date.date_to_canonical(p_trx_date_low),
864 fnd_date.date_to_canonical(p_trx_date_high),
865 fnd_date.date_to_canonical(p_due_date_low),
866 fnd_date.date_to_canonical(p_due_date_high),
867 p_trx_number_low, p_trx_number_high,
868 p_document_number_low, p_document_number_high,
869 p_customer_number_low, p_customer_number_high,
870 p_customer_name_low, p_customer_name_high,
871 p_customer_id,
872 p_location_low, p_location_high,
873 p_site_use_id,
874 NULL, NULL,
875 p_billing_number_low, p_billing_number_high,
876 p_bank_account_low, p_bank_account_high
877 );
878 --
879 IF PG_DEBUG in ('Y', 'C') THEN
880 arp_standard.debug('create_auto_batch_conc_req: ' || 'Out Request ID = '||to_char( l_request_id ) );
881 END IF;
882 p_request_id := l_request_id;
883 --
884 -- Update batch record to set batch applied status
885 --
886 arp_cr_batches_pkg.set_to_dummy( l_bat_rec );
887 l_bat_rec.batch_id := p_batch_id;
888 l_bat_rec.operation_request_id := l_request_id;
889 --
890 IF ( p_create_flag = 'Y' ) THEN
891 l_bat_rec.batch_applied_status := 'STARTED_CREATION';
892 ELSIF ( p_approve_flag = 'Y' ) THEN
893 l_bat_rec.batch_applied_status := 'STARTED_APPROVAL';
894 ELSE
895 l_bat_rec.batch_applied_status := 'STARTED_FORMAT';
896 END IF;
897 --
898 arp_cr_batches_pkg.update_p( l_bat_rec, l_bat_rec.batch_id );
899 p_batch_applied_status := l_bat_rec.batch_applied_status;
900 --
901 IF PG_DEBUG in ('Y', 'C') THEN
902 arp_standard.debug( 'arp_process_boe.create_auto_batch_conc_req()-');
903 END IF;
904 --
905 EXCEPTION
906 WHEN OTHERS THEN
907 IF PG_DEBUG in ('Y', 'C') THEN
908 arp_standard.debug('create_auto_batch_conc_req: ' ||
909 'EXCEPTION: arp_process_boe.create_auto_batch_conc_req' );
910 END IF;
911 RAISE;
912 --
913 END create_auto_batch_conc_req;
914 --
915 /*===========================================================================+
916 | PROCEDURE |
917 | add_or_rm_txn_from_auto_batch |
918 | |
919 | DESCRIPTION |
920 | Procedure called during the create/approve of automatic receipts batch |
921 | to remove or add an invoice to be automatically paid. |
922 | The user can change certain invoice information such as paying custome|
923 | and customer bank account. |
924 | |
925 | SCOPE - PUBLIC |
926 | |
927 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE |
928 | arp_ct_pkg.update_p - Updates paying_customer_id and |
929 | p_customer_bank_account_id in RA_CUSTOMER_TRX |
930 | arp_ps_pkg.update_p - Updates selected_for_receipt_batch_id in PS tab.|
931 | arp_util.debug |
932 | |
933 | ARGUMENTS : IN: |
934 | p_ct_id - Customer Trx ID |
935 | p_ps_id - Payment Schedule ID |
936 | p_selected_for_rec_batch_id - This field indicates if an |
937 | invoice has been selected to be paid by a receipt e |
938 | belonging to an automatic batch. Note: This field is |
939 | used to update the PS table and the RA_CUSTOMER_TRX |
940 | table. |
941 | p_paying_customer_id - Paying customer of the invoice. |
942 | p_customer_bank_account_id - Custome bank account ID of the|
943 | invoice. |
944 | p_module_version - Version of the module that called |
945 | this procedure |
946 | OUT: |
947 | p_batch_applied_status - currenct batch aplied status if |
948 | conc. req was started. |
949 | p_request_id - Request id of conc. request. |
950 | |
951 | RETURNS : NONE |
952 | |
953 | NOTES |
954 | |
955 | MODIFICATION HISTORY - Created by Ganesh Vaidee - 10/05/95 |
956 | 11/20/1995 - The procedure now calls the conc. request to start |
957 | approval or formatting of a batch if need be |
958 | depending on the p_call_conc_req flag |
959 | |
960 +===========================================================================*/
961 PROCEDURE add_or_rm_txn_from_auto_batch(
962 p_ct_id IN ra_customer_trx.customer_trx_id%TYPE,
963 p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE,
964 p_selected_for_rec_batch_id IN
965 ar_payment_schedules.selected_for_receipt_batch_id%TYPE,
966 p_paying_customer_id IN ra_customer_trx.paying_customer_id%TYPE,
967 p_customer_bank_account_id IN
968 ra_customer_trx.customer_bank_account_id%TYPE,
969 p_module_name IN VARCHAR2,
970 p_module_version IN VARCHAR2 ) IS
971 l_ct_rec ra_customer_trx%ROWTYPE;
972 l_ps_rec ar_payment_schedules%ROWTYPE;
973 --
974 l_approve_flag VARCHAR2(1) DEFAULT 'N';
975 l_format_flag VARCHAR2(1) DEFAULT 'N';
976 --
977 --
978 BEGIN
979 IF PG_DEBUG in ('Y', 'C') THEN
980 arp_standard.debug( 'arp_process_boe.add_or_rm_txn_from_auto_batch()+');
981 END IF;
982 --
983 IF PG_DEBUG in ('Y', 'C') THEN
984 arp_standard.debug('add_or_rm_txn_from_auto_batch: ' || 'ct_id = '||to_char( p_ct_id ) );
985 arp_standard.debug('add_or_rm_txn_from_auto_batch: ' || 'ps_id = '||to_char( p_ps_id ) );
986 arp_standard.debug('add_or_rm_txn_from_auto_batch: ' || 'p_selected_for_rec_batch_id = '||
987 to_char( p_selected_for_rec_batch_id ) );
988 arp_standard.debug('add_or_rm_txn_from_auto_batch: ' || 'customer_bank_account_id = '||
989 to_char( p_customer_bank_account_id ) );
990 arp_standard.debug('add_or_rm_txn_from_auto_batch: ' || 'paying_customer_id = '||
991 to_char( p_paying_customer_id ) );
992 END IF;
993 --
994 -- Validate input arguments
995 --
996 IF ( p_module_name IS NOT NULL and p_module_version IS NOT NULL ) THEN
997 val_args_add_or_rm_txn_rec( p_ct_id, p_ps_id,
998 p_paying_customer_id, p_customer_bank_account_id );
999
1000 END IF;
1001 --
1002 -- Update Cash receipts table
1003 --
1004 arp_ct_pkg.set_to_dummy( l_ct_rec );
1005 l_ct_rec.customer_trx_id := p_ct_id;
1006 l_ct_rec.paying_customer_id := p_paying_customer_id;
1007 l_ct_rec.customer_bank_account_id := p_customer_bank_account_id;
1008 arp_ct_pkg.update_p( l_ct_rec, l_ct_rec.customer_trx_id );
1009 --
1010 -- Update PS table with due date
1011 --
1012 arp_ps_pkg.set_to_dummy( l_ps_rec );
1013 l_ps_rec.payment_schedule_id := p_ps_id;
1014 l_ps_rec.selected_for_receipt_batch_id := p_selected_for_rec_batch_id;
1015 arp_ps_pkg.update_p( l_ps_rec, l_ps_rec.payment_schedule_id );
1016 --
1017 IF PG_DEBUG in ('Y', 'C') THEN
1018 arp_standard.debug( 'arp_process_boe.add_or_rm_txn_from_auto_batch()-');
1019 END IF;
1020 --
1021 EXCEPTION
1022 WHEN OTHERS THEN
1023 IF PG_DEBUG in ('Y', 'C') THEN
1024 arp_standard.debug('add_or_rm_txn_from_auto_batch: ' ||
1025 'EXCEPTION: arp_process_boe.add_or_rm_txn_from_auto_batch');
1026 END IF;
1027 RAISE;
1028 --
1029 END add_or_rm_txn_from_auto_batch;
1030 /*===========================================================================+
1031 | PROCEDURE |
1032 | val_args_add_or_rm_txn_rec |
1033 | |
1034 | DESCRIPTION |
1035 | Validate arguments passed to dd_or_rm_txn_from_auto_batch procedure |
1036 | |
1037 | SCOPE - PRIVATE |
1038 | |
1039 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE |
1040 | |
1041 | ARGUMENTS : IN: |
1042 | p_ct_id - Customer Trx ID |
1043 | p_ps_id - Payment Schedule ID |
1044 | p_paying_customer_id - Paying customer of the invoice. |
1045 | p_customer_bank_account_id - Custome bank account ID of the|
1046 | invoice. |
1047 | OUT: |
1048 | |
1049 | RETURNS : NONE |
1050 | |
1051 | NOTES |
1052 | |
1053 | MODIFICATION HISTORY - Created by Ganesh Vaidee - 10/05/95 |
1054 | 11/20/1995 - Added code to check batch id and which action if |
1055 | conc. req flag is set to 'Y' |
1056 | |
1057 +===========================================================================*/
1058 PROCEDURE val_args_add_or_rm_txn_rec(
1059 p_ct_id IN ra_customer_trx.customer_trx_id%TYPE,
1060 p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE,
1061 p_paying_customer_id IN ra_customer_trx.paying_customer_id%TYPE,
1062 p_customer_bank_account_id IN
1063 ra_customer_trx.customer_bank_account_id%TYPE ) IS
1064 BEGIN
1065 IF PG_DEBUG in ('Y', 'C') THEN
1066 arp_standard.debug( 'arp_process_boe.val_args_add_or_rm_txn_rec() +');
1067 END IF;
1068 --
1069 IF ( p_ct_id is NULL OR p_ps_id is NULL OR
1070 p_paying_customer_id is NULL) THEN
1071 FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
1072 APP_EXCEPTION.raise_exception;
1073 END IF;
1074 --
1075 IF PG_DEBUG in ('Y', 'C') THEN
1076 arp_standard.debug( 'arp_process_boe.val_args_add_or_rm_txn_rec() -');
1077 END IF;
1078 EXCEPTION
1079 WHEN OTHERS THEN
1080 IF PG_DEBUG in ('Y', 'C') THEN
1081 arp_standard.debug('val_args_add_or_rm_txn_rec: ' ||
1082 'EXCEPTION: arp_process_boe.val_args_add_or_rm_txn_rec' );
1083 END IF;
1084 RAISE;
1085 END val_args_add_or_rm_txn_rec;
1086
1087 /*===========================================================================+
1088 | PROCEDURE |
1089 | Val_Create_Auto_Batch_Submit |
1090 | |
1091 | DESCRIPTION |
1092 | Checks whether Automatic Receipt Creation Batch can be submitted |
1093 | |
1094 | SCOPE - PRIVATE |
1095 | |
1096 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE |
1097 | |
1098 | ARGUMENTS : IN: p_batch_id |
1099 | OUT: |
1100 | |
1101 | RETURNS : NONE |
1102 | |
1103 | NOTES |
1104 | |
1105 | MODIFICATION HISTORY - Created by J Rautiainen BugFix 951138 - 15-SEP-1999|
1106 | |
1107 +===========================================================================*/
1108 PROCEDURE Val_Create_Auto_Batch_Submit(p_batch_id ar_batches.batch_id%TYPE) IS
1109
1110 /* 15-SEP-1999 J Rautiainen BugFix 951138 Start
1111 * Need the payment method name and batch date in order to check
1112 * whether an active document sequence assignment exists for the
1113 * payment method. Automatic Receipt Creation process cannot submitted
1114 * if an active document sequence assignment does not exist */
1115
1116 CURSOR batch_cursor IS
1117 select rm.name rm_name, b.batch_date batch_date
1118 from ar_receipt_methods rm,
1119 ar_batches b
1120 where b.batch_id = p_batch_id
1121 AND rm.receipt_method_id = b.receipt_method_id;
1122
1123 l_batch_rec batch_cursor%ROWTYPE;
1124 l_doc_seq_result NUMBER :=0;
1125 l_Doc_Sequence_ID number;
1126 l_Sequence_Type char;
1127 l_Sequence_Name varchar2(30);
1128 l_DB_Seq_Gen_Name varchar2(30);
1129 l_Sequence_Assignment_Id number;
1130 l_Product_Table_Name varchar2(30);
1131 l_Audit_Table_name varchar2(30);
1132 l_Message_Flag char;
1133
1134 BEGIN
1135
1136 /* Automatic Receipt Creation process cannot submitted
1137 * if an active document sequence assignment does not exist
1138 * or the profile option Sequential Numbering is set to 'Not Used' */
1139
1140 IF (fnd_profile.value('UNIQUE:SEQ_NUMBERS') in (NULL, 'N' )) THEN
1141
1142 /* Cannot submit Automatic Receipt Creation process because the profile option
1143 * Sequential Numbering is set to Not Used. Please set this option to Always Used
1144 * or Partially Used, then resubmit. */
1145
1146 FND_MESSAGE.set_name ('AR', 'AR_RW_AUTOBAT_SEQ_NOT_USED');
1147 APP_EXCEPTION.raise_exception;
1148
1149 ELSE
1150 /* Fetch the payment method code and batch date */
1151
1152 OPEN batch_cursor;
1153 FETCH batch_cursor INTO l_batch_rec;
1154
1155 IF batch_cursor%FOUND THEN
1156 /* If an payment method was found check that an active automatic document
1157 * sequence assignment exists for it */
1158
1159 l_doc_seq_result := FND_SEQNUM.GET_SEQ_INFO(
1160 222,
1161 l_batch_rec.rm_name,
1162 arp_global.set_of_books_id,
1163 'A',
1164 l_batch_rec.batch_date,
1165 l_Doc_Sequence_ID,
1166 l_Sequence_Type,
1167 l_Sequence_Name,
1168 l_DB_Seq_Gen_Name,
1169 l_Sequence_Assignment_Id,
1170 l_Product_Table_Name,
1171 l_Audit_Table_name,
1172 l_Message_Flag,
1173 'Y',
1174 'Y');
1175
1176 /* If 0 is returned an assignment exists, otherwise an error occured */
1177 IF l_doc_seq_result <> 0 THEN
1178
1179 /* Cannot submit Automatic Receipt Creation process because an active document
1180 * sequence assignment does not exist for this payment method. Please define a
1181 * document sequence assignment or enter a different payment method. */
1182 CLOSE batch_cursor;
1183 FND_MESSAGE.set_name ('AR', 'AR_RW_AUTOBAT_NO_PM_ASSIGNMENT');
1184 APP_EXCEPTION.raise_exception;
1185
1186 END IF;
1187 END IF;
1188
1189 CLOSE batch_cursor;
1190 END IF;
1191
1192 END Val_Create_Auto_Batch_Submit;
1193 --
1194 BEGIN
1195 l_debug := fnd_profile.value('AFLOG_ENABLED');
1196 IF (l_debug <> 'Y') THEN
1197 l_debug := 'N';
1198 END IF;
1199 END ARP_PROCESS_BOE;