[Home] [Help]
PACKAGE BODY: APPS.AR_SUBMIT_LOCKBOX
Source
1 PACKAGE BODY AR_SUBMIT_LOCKBOX AS
2 /* $Header: ARSULBB.pls 120.0.12020000.5 2013/04/26 13:36:14 ashlkuma noship $ */
3 /*=======================================================================+
4 | FUNCTION |
8 | If new Transmission, make sure that the not transmission exists with |
5 | validate_transmission() - Validates the transmission information |
6 | DESCRIPTION |
7 | The procedure does the following: |
9 | the provided name. |
10 | Else, make sure that the transmission is not closed. |
11 | Also store the Lockbox Number, Transmission Format and Original |
12 | Request ID for an existing transmission |
13 | |
14 | SCOPE - |
15 | |
16 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
17 | ARGUMENTS : IN: |
18 | p_new_transmission - Flag that indicates if this is |
19 | a new transmission. |
20 | p_transmission_name - Transmission Name |
21 | |
22 | OUT: None |
23 | RETURNS : NONE |
24 | |
25 | NOTES - |
26 | |
27 | MODIFICATION HISTORY - 22/01/2013 - Created by ASHLESH |
28 +=======================================================================*/
29
30 PG_DEBUG VARCHAR2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
31 lb_sub lb_sub_rec;
32
33 FUNCTION validate_transmission( p_new_transmission IN VARCHAR2,
34 p_transmission_name IN ar_transmissions.transmission_name%TYPE)
35 RETURN NUMBER IS
36 l_transmission_exists VARCHAR2(1);
37 l_transmission_id ar_transmissions.transmission_id%TYPE;
38 l_requested_lockbox_id ar_transmissions.requested_lockbox_id%TYPE;
39 l_requested_format_id ar_transmissions.requested_trans_format_id%TYPE;
40 l_status ar_transmissions.status%TYPE;
41 l_orig_request_id NUMBER;
42 l_msg_text fnd_new_messages.message_text%type;
43 BEGIN
44 IF PG_DEBUG IN ('Y', 'C') THEN
45 FND_FILE.put_line(FND_FILE.LOG, 'validate_transmission()+');
46 END IF;
47 IF p_transmission_name IS NULL THEN
48 FND_MESSAGE.SET_NAME('AR','AR_OPLB_TRANS_MUST');
49 l_msg_text := fnd_message.get;
50 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
51 RETURN 1;
52 END IF;
53 l_transmission_exists := 'Y';
54
55 BEGIN
56 SELECT transmission_id,
57 requested_lockbox_id,
58 requested_trans_format_id,
59 transmission_request_id,
60 status
61 INTO l_transmission_id,
62 l_requested_lockbox_id,
63 l_requested_format_id,
64 l_orig_request_id,
65 l_status
66 FROM ar_transmissions
67 WHERE transmission_name = p_transmission_name;
68 EXCEPTION
69 WHEN NO_DATA_FOUND THEN
70 l_transmission_exists := 'N';
71 WHEN OTHERS THEN
72 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Error in fetching transmission Details');
73 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Message : '||SQLERRM);
74 RETURN 1;
75 END;
76
77 IF p_new_transmission = 'Y' AND l_transmission_exists = 'Y' THEN
78 FND_MESSAGE.SET_NAME('AR','AR_OPLB_TRANS_EXISTS');
79 FND_MESSAGE.SET_TOKEN('TRANSMISSION_NAME',p_transmission_name);
80 l_msg_text := fnd_message.get;
81 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
82 RETURN 1;
83 END IF;
84
85 IF p_new_transmission = 'N' THEN
86 IF l_transmission_exists = 'N' THEN
87 FND_MESSAGE.SET_NAME('AR','AR_OPLB_TRANS_NOT_EXITS');
88 FND_MESSAGE.SET_TOKEN('TRANSMISSION_NAME',p_transmission_name);
89 l_msg_text := fnd_message.get;
90 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
91 RETURN 1;
92 END IF;
93 IF l_status = 'CL' THEN
94 FND_MESSAGE.SET_NAME('AR','AR_OPLB_TRANS_CLOSED');
95 FND_MESSAGE.SET_TOKEN('TRANSMISSION_NAME',p_transmission_name);
96 l_msg_text := fnd_message.get;
97 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
98 RETURN 1;
99 END IF;
100 END IF;
101
102 lb_sub.new_transmission := p_new_transmission;
103 lb_sub.transmission_name := p_transmission_name;
104 IF p_new_transmission = 'N' THEN
105 lb_sub.transmission_id := l_transmission_id;
106 lb_sub.orig_request_id := l_orig_request_id;
107 lb_sub.trans_format_id := l_requested_format_id; /* Only for existing transmissions */
108 lb_sub.lockbox_id := l_requested_lockbox_id; /* For existing transmissions, this will be used for defaulting, if not provided */
109 ELSE
110 lb_sub.transmission_id := NULL;
111 lb_sub.orig_request_id := NULL;
112 END IF;
113 RETURN 0;
114 EXCEPTION
115 WHEN OTHERS THEN
116 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Inside validate_transmission');
117 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Message : '||SQLERRM);
118 RETURN 1;
119 END validate_transmission;
120
121 /*=======================================================================+
122 | FUNCTION |
123 | validate_import() - Validates that necessary details are passed for |
127 | For an import, customer should pass transmission format, Control File |
124 | import. |
125 | DESCRIPTION |
126 | The procedure does the following: |
128 | and Data File. |
129 | SCOPE - |
130 | |
131 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
132 | ARGUMENTS : IN: |
133 | p_submit_import - Flag that indicates if import has to|
134 | be submitted by this run |
135 | p_transmission_format - Transmission Format Identifier|
136 | p_data_file - Path of the data file with extension |
137 | p_control_file - Control File Name |
138 | p_alt_name_search - Alternate Name Search option |
139 | p_ussgl_trx_code - USSGL Transaction Code |
140 | |
141 | OUT: None |
142 | RETURNS : NONE |
143 | |
144 | NOTES - |
145 | |
146 | MODIFICATION HISTORY - 22/01/2013 - Created by ASHLESH |
147 +=======================================================================*/
148 FUNCTION validate_import( p_submit_import IN VARCHAR2,
149 p_transmission_format IN ar_transmission_formats.transmission_format_id%TYPE,
150 p_data_file IN VARCHAR2,
151 p_control_file IN VARCHAR2,
152 p_alt_name_search IN VARCHAR2,
153 p_ussgl_trx_code IN VARCHAR2)
154 RETURN NUMBER IS
155 l_msg_text fnd_new_messages.message_text%type;
156 BEGIN
157 IF PG_DEBUG IN ('Y', 'C') THEN
158 FND_FILE.put_line(FND_FILE.LOG, 'validate_import()+');
159 END IF;
160 lb_sub.submit_import := p_submit_import;
161 IF p_submit_import = 'Y' THEN
162 IF p_transmission_format IS NULL THEN
163 FND_MESSAGE.SET_NAME('AR','AR_OPLB_TRANS_FORMAT_REQ');
164 l_msg_text := fnd_message.get;
165 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
166 RETURN 1;
167 END IF;
168 IF p_data_file IS NULL THEN
169 FND_MESSAGE.SET_NAME('AR','AR_OPLB_DATAFILE_REQ');
170 l_msg_text := fnd_message.get;
171 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
172 RETURN 1;
173 END IF;
174 IF p_control_file IS NULL THEN
175 FND_MESSAGE.SET_NAME('AR','AR_OPLB_CTLFILE_REQ');
176 l_msg_text := fnd_message.get;
177 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
178 RETURN 1;
179 END IF;
180
181 lb_sub.data_file_path := p_data_file;
182 lb_sub.control_file := p_control_file;
183 lb_sub.trans_format_id := p_transmission_format;
184 lb_sub.alt_name_search := p_alt_name_search;
185 lb_sub.ussgl_trans_code := p_ussgl_trx_code;
186 ELSIF p_submit_import = 'N' THEN
187 lb_sub.data_file_path := NULL;
188 lb_sub.control_file := NULL;
189 lb_sub.alt_name_search := 'N';
190 lb_sub.ussgl_trans_code := NULL;
191 END IF;
192 RETURN 0;
193 EXCEPTION
194 WHEN OTHERS THEN
195 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Inside validate_import');
196 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Message : '||SQLERRM);
197 RETURN 1;
198 END validate_import;
199
200 /*=======================================================================+
201 | FUNCTION |
202 | validate_validation() - Validates that necessary details are passed |
203 | for validation. |
204 | DESCRIPTION |
205 | The procedure does the following: |
206 | If running validation for the first time |
207 | If Lockbox Number is provided in the data file, identified by checking
208 | the presence of Lockbox Header/Trailer in the Transmission Format, |
209 | then ignore the Lockbox Number passed. |
210 | Else make sure that a valid Lockbox Number is passed |
211 | Else Re Validation |
212 | If Lockbox number is passed, use that |
213 | Else default the Lockbox Number from earlier validation run |
214 | Verify GL Date Source from Lockbox Setup |
215 | If GL_DATE_SOURCE = 'DEPOSIT DATE', make sure the transmission format|
216 | contains Deposit Date. Ignore GL Date passed. |
217 | If GL_DATE_SOURCE = 'IMPORT DATE', ignore GL Date passed. |
218 | If GL_DATE_SOURCE = 'CONSTANT DATE', make sure that GL Date is passed|
219 | |
220 | SCOPE - |
221 | |
222 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
223 | ARGUMENTS : IN: |
224 | p_submit_validation -Flag that indicates if validation|
228 | p_pay_unrelated_inv - Flag that indicates if Unrelated|
225 | has to be submitted by this run |
226 | p_lockbox_id - Lockbox Identifier |
227 | p_gl_date - Accounting Date |
229 | invoices can be paid. |
230 | p_complete_batches - Flag that indicates if only |
231 | complete batches can be imported |
232 | p_report_format - Output Report Format |
233 | p_invalid_trxn_handling - Option that drives invalid |
234 | transaction number handling |
235 | |
236 | OUT: None |
237 | RETURNS : NONE |
238 | |
239 | NOTES - |
240 | |
241 | MODIFICATION HISTORY - 22/01/2013 - Created by ASHLESH |
242 +=======================================================================*/
243 FUNCTION validate_validation( p_submit_validation IN VARCHAR2,
244 p_lockbox_id IN ar_lockboxes.lockbox_id%TYPE,
245 p_gl_date IN DATE,
246 p_pay_unrelated_inv IN VARCHAR2,
247 p_complete_batches IN VARCHAR2,
248 p_report_format IN VARCHAR2,
249 p_invalid_trxn_handling IN VARCHAR2)
250 RETURN NUMBER IS
251 l_trans_format_id ar_transmission_formats.transmission_format_id%TYPE;
252 l_lb_num_exists VARCHAR2(1);
253 l_pay_unrelated_inv VARCHAR2(1);
254 l_gl_date_source VARCHAR2(30);
255 l_lockbox_id ar_lockboxes.lockbox_id%TYPE;
256 l_dep_date_exists VARCHAR2(1);
257 l_msg_text fnd_new_messages.message_text%type;
258 BEGIN
259 IF PG_DEBUG IN ('Y', 'C') THEN
260 FND_FILE.put_line(FND_FILE.LOG, 'validate_validation()+');
261 END IF;
262 lb_sub.submit_validation := p_submit_validation;
263 IF p_submit_validation = 'Y' THEN
264 SELECT pay_unrelated_invoices_flag
265 INTO l_pay_unrelated_inv
266 FROM ar_system_parameters
267 WHERE rownum = 1 ;
268 IF l_pay_unrelated_inv = 'N' THEN
269 FND_MESSAGE.SET_NAME('AR','AR_OPLB_UNRELATE_PAY');
270 l_msg_text := fnd_message.get;
271 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
272 ELSE
273 l_pay_unrelated_inv := p_pay_unrelated_inv;
274 END IF;
275
276 l_trans_format_id := lb_sub.trans_format_id;
277
278 BEGIN
279 SELECT 'Y'
280 INTO l_lb_num_exists
281 FROM ar_trans_field_formats fld,
282 ar_trans_record_formats rec
283 WHERE rec.transmission_format_id = l_trans_format_id
284 AND rec.record_type_lookup_code in ('LB HDR', 'LB TRL')
285 AND rec.record_format_id = fld.record_format_id
286 AND fld.field_type_lookup_code = 'LB NUM';
287 EXCEPTION
288 WHEN NO_DATA_FOUND THEN
289 l_lb_num_exists := 'N';
290 WHEN OTHERS THEN
291 RAISE;
292 END;
293
294 IF l_lb_num_exists = 'Y' THEN
295 IF p_gl_date IS NULL THEN --- Modified for the bug 16679215
296 FND_MESSAGE.SET_NAME('AR','AR_OPLB_GL_EXISTS');
297 l_msg_text := fnd_message.get;
298 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
299 RETURN 1;
300 ELSE
301 lb_sub.gl_date := p_gl_date;
302 END IF;
303 lb_sub.pay_unrelated_inv := l_pay_unrelated_inv;
304 lb_sub.lockbox_id := l_lockbox_id;
305 lb_sub.complete_batches := p_complete_batches;
306 lb_sub.report_format := NVL(p_report_format,'R');
307 lb_sub.inv_trxn_handling := p_invalid_trxn_handling; --- Modified for the bug 16679215
308
309 FND_MESSAGE.SET_NAME('AR','AR_OPLB_LOCKBOXNUM_DATAFILE');
310 l_msg_text := fnd_message.get;
311 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
312 ELSE
313 l_lockbox_id := NVL(p_lockbox_id, lb_sub.lockbox_id);
314 IF l_lockbox_id IS NULL THEN
315 FND_MESSAGE.SET_NAME('AR','AR_PLB_INVALID_LB_NUM');
316 l_msg_text := fnd_message.get;
317 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
318 RETURN 1;
319 END IF;
320 SELECT loc.gl_date_source
321 INTO l_gl_date_source
322 FROM ar_lockboxes loc
323 WHERE loc.lockbox_id = l_lockbox_id;
324 IF l_gl_date_source = 'CON' THEN
325 IF p_gl_date IS NULL THEN
326 FND_MESSAGE.SET_NAME('AR','AR_OPLB_GL_EXISTS');
327 l_msg_text := fnd_message.get;
328 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
329 RETURN 1;
330 ELSE
331 --lb_sub.gl_date := FND_DATE.date_to_canonical(to_date(p_gl_date,'DD-MON-RR'));
332 lb_sub.gl_date := p_gl_date;
333 END IF;
334 ELSIF l_gl_date_source = 'DEP' THEN
335 BEGIN
336 SELECT 'Y'
337 INTO l_dep_date_exists
338 FROM ar_trans_record_formats trf,
339 ar_trans_field_formats tff
340 WHERE trf.transmission_format_id = l_trans_format_id
341 AND trf.record_format_id = tff.record_format_id
342 AND tff.field_type_lookup_code = 'DEPOSIT DATE'
346 FND_MESSAGE.SET_NAME('AR','AR_RW_PLB_NO_DEP_DATE');
343 AND ROWNUM < 2;
344 EXCEPTION
345 WHEN NO_DATA_FOUND THEN
347 l_msg_text := fnd_message.get;
348 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
349 RETURN 1;
350 WHEN OTHERS THEN
351 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Unable to fetch Deposit date information from transmission format');
352 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: '||SQLERRM);
353 RETURN 1;
354 END;
355 FND_FILE.put_line(FND_FILE.LOG, 'GL Date will be defaulted to the deposit date');
356 lb_sub.gl_date := NULL;
357 ELSE
358 FND_FILE.put_line(FND_FILE.LOG,'GL Date will be defaulted as the import date');
359 lb_sub.gl_date := NULL;
360 END IF;
361 END IF;
362 lb_sub.pay_unrelated_inv := l_pay_unrelated_inv;
363 lb_sub.lockbox_id := l_lockbox_id;
364 lb_sub.complete_batches := p_complete_batches;
365 lb_sub.report_format := NVL(p_report_format,'R');
366 lb_sub.inv_trxn_handling := p_invalid_trxn_handling;
367 ELSE
368 lb_sub.gl_date := NULL;
369 lb_sub.pay_unrelated_inv := NULL;
370 lb_sub.lockbox_id := NULL;
371 lb_sub.complete_batches := NULL;
372 lb_sub.report_format := NULL;
373 lb_sub.inv_trxn_handling := NULL;
374 END IF;
375 RETURN 0;
376 EXCEPTION
377 WHEN OTHERS THEN
378 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Inside validate_validation');
379 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Message : '||SQLERRM);
380 RETURN 1;
381 END validate_validation;
382 /*=======================================================================+
383 | PROCEDURE |
384 | submit_lockbox() - Spawns ARLPLB [Process Lockboxes C Program] |
385 | DESCRIPTION |
386 | |
387 | SCOPE - |
388 | |
389 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
390 | ARGUMENTS : IN: |
391 | |
392 | OUT: None |
393 | RETURNS : NONE |
394 | |
395 | NOTES - |
396 | |
397 | MODIFICATION HISTORY - 22/01/2013 - Created by ASHLESH |
398 +=======================================================================*/
399 PROCEDURE submit_lockbox IS
400 l_org_id NUMBER;
401 l_request_id NUMBER(15);
402 no_request_spawned EXCEPTION;
403 BEGIN
404 IF PG_DEBUG IN ('Y', 'C') THEN
405 FND_FILE.put_line(FND_FILE.LOG, 'submit_lockbox()+');
406 END IF;
407 l_org_id := lb_sub.org_id;
408 FND_REQUEST.set_org_id(l_org_id);
409 l_request_id := FND_REQUEST.submit_request( 'AR', 'ARLPLB',
410 'Process Lockboxes',
411 SYSDATE,
412 FALSE,
413 lb_sub.new_transmission,
414 lb_sub.transmission_id,
415 lb_sub.orig_request_id,
416 lb_sub.transmission_name,
417 lb_sub.submit_import,
418 lb_sub.data_file_path,
419 lb_sub.control_file,
420 lb_sub.trans_format_id,
421 lb_sub.submit_validation,
422 lb_sub.pay_unrelated_inv,
423 lb_sub.lockbox_id,
424 FND_DATE.date_to_canonical(lb_sub.gl_date),
425 lb_sub.report_format,
426 lb_sub.complete_batches,
427 lb_sub.submit_postbatch,
428 lb_sub.alt_name_search,
429 lb_sub.inv_trxn_handling,
430 lb_sub.ussgl_trans_code,
431 lb_sub.org_id,
432 lb_sub.app_unearn_disc,
433 lb_sub.no_of_instances,
434 'L',
435 NULL);
436
437 IF (l_request_id = 0) THEN
438 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Can not start a concurrent request');
439 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: '||fnd_Message.get);
440 RAISE no_request_spawned;
441 ELSE
442 commit;
443 FND_FILE.put_line(FND_FILE.LOG, 'Request id: ' ||l_request_id || ' started Process Lockboxes');
444 END IF;
445 IF PG_DEBUG IN ('Y', 'C') THEN
446 FND_FILE.put_line(FND_FILE.LOG, 'submit_lockbox()-');
447 END IF;
448 EXCEPTION
449 WHEN OTHERS THEN
450 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Inside submit_lockbox');
451 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Message : '||SQLERRM);
452 RAISE;
453 END submit_lockbox;
454 /*=======================================================================+
455 | PROCEDURE |
456 | submit_lockbox_via_srs() - Calling point for SRS |
457 | DESCRIPTION |
458 | |
462 | ARGUMENTS : IN: |
459 | SCOPE - |
460 | |
461 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
463 | |
464 | OUT: None |
465 | RETURNS : NONE |
466 | |
467 | NOTES - |
468 | |
469 | MODIFICATION HISTORY - 22/01/2013 - Created by ASHLESH |
470 +=======================================================================*/
471 PROCEDURE submit_lockbox_via_srs(
472 P_ERRBUF OUT NOCOPY VARCHAR2,
473 P_RETCODE OUT NOCOPY NUMBER,
474 p_org_id IN NUMBER,
475 p_new_transmission IN VARCHAR2,
476 p_transmission_name IN ar_transmissions.transmission_name%TYPE,
477 p_submit_import IN VARCHAR2 DEFAULT 'N',
478 p_transmission_format IN ar_transmission_formats.transmission_format_id%TYPE,
479 p_data_file IN VARCHAR2,
480 p_control_file IN VARCHAR2,
481 p_alt_name_search IN VARCHAR2,
482 p_ussgl_trx_code IN VARCHAR2,
483 p_submit_validation IN VARCHAR2 DEFAULT 'N',
484 p_lockbox_id IN ar_lockboxes.lockbox_id%TYPE,
485 p_gl_date IN VARCHAR2,
486 p_pay_unrelated_inv IN VARCHAR2 DEFAULT 'N',
487 p_complete_batches IN VARCHAR2 DEFAULT 'N',
488 p_report_format IN VARCHAR2 DEFAULT 'R',
489 p_invalid_trxn_handling IN VARCHAR2 DEFAULT 'N',
490 p_submit_postbatch IN VARCHAR2 DEFAULT 'N',
491 p_app_unearned_disc IN VARCHAR2 DEFAULT 'N',
492 p_no_of_instances IN NUMBER) IS
493 l_return_status NUMBER;
494 l_msg_text fnd_new_messages.message_text%type;
495 invalid_param EXCEPTION;
496 BEGIN
497 IF PG_DEBUG IN ('Y', 'C') THEN
498 FND_FILE.put_line(FND_FILE.LOG, 'submit_lockbox_via_srs()+');
499 FND_FILE.put_line(FND_FILE.LOG, 'Org Id : '||p_org_id);
500 FND_FILE.put_line(FND_FILE.LOG, 'New Transmission : '||p_new_transmission);
501 FND_FILE.put_line(FND_FILE.LOG, 'Transmission Name : '||p_transmission_name);
502 FND_FILE.put_line(FND_FILE.LOG, 'Submit Import : '||p_submit_import);
503 FND_FILE.put_line(FND_FILE.LOG, 'Transmission Format : '||p_transmission_format);
504 FND_FILE.put_line(FND_FILE.LOG, 'Data File : '||p_data_file);
505 FND_FILE.put_line(FND_FILE.LOG, 'Control File : '||p_control_file);
506 FND_FILE.put_line(FND_FILE.LOG, 'Alternate Name Search : '||p_alt_name_search);
507 FND_FILE.put_line(FND_FILE.LOG, 'Submit Validation : '||p_submit_validation);
508 FND_FILE.put_line(FND_FILE.LOG, 'Lockbox Identifier : '||p_lockbox_id);
509 FND_FILE.put_line(FND_FILE.LOG, 'GL Date : '||p_gl_date);
510 FND_FILE.put_line(FND_FILE.LOG, 'Pay Unrelated Invoices : '||p_pay_unrelated_inv);
511 FND_FILE.put_line(FND_FILE.LOG, 'Complete Batches : '||p_complete_batches);
512 FND_FILE.put_line(FND_FILE.LOG, 'Report Format : '||p_report_format);
513 FND_FILE.put_line(FND_FILE.LOG, 'Invalid Transaction Number Handling : '||p_invalid_trxn_handling);
514 FND_FILE.put_line(FND_FILE.LOG, 'Submit PostQuickCash : '||p_submit_postbatch);
515 FND_FILE.put_line(FND_FILE.LOG, 'Apply Unearned Discount : '||p_app_unearned_disc);
516 FND_FILE.put_line(FND_FILE.LOG, 'Number of Instances : '||p_no_of_instances);
517 END IF;
518
519 mo_global.init('AR');
520
521 IF p_org_id is not null THEN
522 mo_global.set_policy_context('S', p_org_id);
523 arp_standard.init_standard(p_org_id);
524 END IF;
525
526 l_return_status := validate_transmission( p_new_transmission,
527 p_transmission_name);
528
529 IF l_return_status = 1 THEN
530 RAISE invalid_param;
531 END IF;
532
533 l_return_status := validate_import( p_submit_import,
534 p_transmission_format,
535 p_data_file,
536 p_control_file,
537 p_alt_name_search,
538 p_ussgl_trx_code);
539
540 IF l_return_status = 1 THEN
541 RAISE invalid_param;
542 END IF;
543
544 IF lb_sub.alt_name_search IN ('M', 'A') THEN
545 IF p_submit_validation = 'Y' OR p_submit_postbatch = 'Y' THEN
546 FND_MESSAGE.SET_NAME('AR','AR_OPLB_ALT_NAME_SER');
547 l_msg_text := fnd_message.get;
548 FND_FILE.put_line(FND_FILE.LOG, l_msg_text);
549 RAISE invalid_param;
550 END IF;
551 END IF;
552
553 l_return_status := validate_validation( p_submit_validation,
554 p_lockbox_id,
555 fnd_conc_date.string_to_date(p_gl_date),
556 p_pay_unrelated_inv,
557 p_complete_batches,
558 p_report_format,
559 p_invalid_trxn_handling);
560
561 IF l_return_status = 1 THEN
562 RAISE invalid_param;
563 END IF;
564
565 lb_sub.submit_postbatch := p_submit_postbatch;
566 lb_sub.org_id := p_org_id;
567 lb_sub.app_unearn_disc := p_app_unearned_disc;
568 lb_sub.no_of_instances := p_no_of_instances;
569
570 submit_lockbox;
571
575 EXCEPTION
572 IF PG_DEBUG IN ('Y', 'C') THEN
573 FND_FILE.put_line(FND_FILE.LOG, 'submit_lockbox_via_srs()-');
574 END IF;
576 WHEN invalid_param THEN
577 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Invalid Parameters');
578 --RAISE;
579 P_RETCODE := 2;
580 WHEN OTHERS THEN
581 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Inside procedure submit_lockbox_via_srs');
582 FND_FILE.put_line(FND_FILE.LOG, 'Exception :: Message : '||SQLERRM);
583 --RAISE;
584 P_RETCODE := 2;
585 END submit_lockbox_via_srs;
586
587 END AR_SUBMIT_LOCKBOX;