189:
190: FUNCTION header_error (error_name VARCHAR2) RETURN BOOLEAN IS
191: BEGIN
192: IF l_DEBUG in ('Y', 'C') THEN
193: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.header_error');
194: END IF;
195: CE_HEADER_INTERFACE_ERRORS_PKG.insert_row(CE_AUTO_BANK_IMPORT.G_cshi_statement_number,
196: CE_AUTO_BANK_IMPORT.G_cshi_bank_account_num, error_name);
197: IF l_DEBUG in ('Y', 'C') THEN
194: END IF;
195: CE_HEADER_INTERFACE_ERRORS_PKG.insert_row(CE_AUTO_BANK_IMPORT.G_cshi_statement_number,
196: CE_AUTO_BANK_IMPORT.G_cshi_bank_account_num, error_name);
197: IF l_DEBUG in ('Y', 'C') THEN
198: cep_standard.debug('<
200: RETURN TRUE;
201: END header_error;
202:
210: FUNCTION line_error (line_number NUMBER, error_name VARCHAR2) RETURN BOOLEAN IS
211: x_rowid VARCHAR2(100);
212: BEGIN
213: IF l_DEBUG in ('Y', 'C') THEN
214: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.line_error');
215: END IF;
216: CE_LINE_INTERFACE_ERRORS_PKG.insert_row(
217: x_rowid,
218: CE_AUTO_BANK_IMPORT.G_cshi_statement_number,
219: CE_AUTO_BANK_IMPORT.G_cshi_bank_account_num,
220: line_number,
221: error_name);
222: IF l_DEBUG in ('Y', 'C') THEN
223: cep_standard.debug('<
225: RETURN TRUE;
226: END line_error;
227:
277: bu_error_found boolean;
278:
279: BEGIN
280: IF l_DEBUG in ('Y', 'C') THEN
281: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.xtr_shared_account'||
282: 'P_ORG_ID = '|| CE_AUTO_BANK_IMPORT.BA_OWNER_LE_ID ||
283: ', G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id||
284: ' G_cshi_currency_code = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
285: END IF;
293:
294: X_ACCOUNT_RESULT := X_RESULT;
295:
296: IF l_DEBUG in ('Y', 'C') THEN
297: cep_standard.debug('xtr_shared_account x_result = ' || x_result||
298: ', x_error_msg = ' || x_error_msg);
299: END IF;
300:
301: if (x_account_result = 'XTR1_NOT_SETUP' ) then
305: update_header_status('E');
306: end if;
307:
308: IF l_DEBUG in ('Y', 'C') THEN
309: cep_standard.debug('<
311:
312: EXCEPTION
313: WHEN OTHERS THEN
311:
312: EXCEPTION
313: WHEN OTHERS THEN
314: IF l_DEBUG in ('Y', 'C') THEN
315: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.xtr_shared_account');
316: END IF;
317: RAISE;
318: END xtr_shared_account;
319:
330: bu_error_found boolean;
331: set_warning boolean;
332: BEGIN
333: IF l_DEBUG in ('Y', 'C') THEN
334: cep_standard.debug('>> CE_AUTO_BANK_IMPORT.transfer_bank_balances');
335: cep_standard.debug('transfer_bank_balances G_CSHI_ORG_ID = '|| CE_AUTO_BANK_IMPORT.BA_OWNER_LE_ID);
336: cep_standard.debug('transfer_bank_balances G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id);
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
331: set_warning boolean;
332: BEGIN
333: IF l_DEBUG in ('Y', 'C') THEN
334: cep_standard.debug('>> CE_AUTO_BANK_IMPORT.transfer_bank_balances');
335: cep_standard.debug('transfer_bank_balances G_CSHI_ORG_ID = '|| CE_AUTO_BANK_IMPORT.BA_OWNER_LE_ID);
336: cep_standard.debug('transfer_bank_balances G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id);
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
332: BEGIN
333: IF l_DEBUG in ('Y', 'C') THEN
334: cep_standard.debug('>> CE_AUTO_BANK_IMPORT.transfer_bank_balances');
335: cep_standard.debug('transfer_bank_balances G_CSHI_ORG_ID = '|| CE_AUTO_BANK_IMPORT.BA_OWNER_LE_ID);
336: cep_standard.debug('transfer_bank_balances G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id);
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
333: IF l_DEBUG in ('Y', 'C') THEN
334: cep_standard.debug('>> CE_AUTO_BANK_IMPORT.transfer_bank_balances');
335: cep_standard.debug('transfer_bank_balances G_CSHI_ORG_ID = '|| CE_AUTO_BANK_IMPORT.BA_OWNER_LE_ID);
336: cep_standard.debug('transfer_bank_balances G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id);
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
341: cep_standard.debug('transfer_bank_balances G_CSHI_INT_CALC_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_int_calc_balance);
334: cep_standard.debug('>> CE_AUTO_BANK_IMPORT.transfer_bank_balances');
335: cep_standard.debug('transfer_bank_balances G_CSHI_ORG_ID = '|| CE_AUTO_BANK_IMPORT.BA_OWNER_LE_ID);
336: cep_standard.debug('transfer_bank_balances G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id);
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
341: cep_standard.debug('transfer_bank_balances G_CSHI_INT_CALC_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_int_calc_balance);
342: cep_standard.debug('transfer_bank_balances G_CSHI_ONE_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_one_day_float);
335: cep_standard.debug('transfer_bank_balances G_CSHI_ORG_ID = '|| CE_AUTO_BANK_IMPORT.BA_OWNER_LE_ID);
336: cep_standard.debug('transfer_bank_balances G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id);
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
341: cep_standard.debug('transfer_bank_balances G_CSHI_INT_CALC_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_int_calc_balance);
342: cep_standard.debug('transfer_bank_balances G_CSHI_ONE_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_one_day_float);
343: cep_standard.debug('transfer_bank_balances G_CSHI_TWO_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_two_day_float);
336: cep_standard.debug('transfer_bank_balances G_BANK_ACCOUNT_ID = '|| CE_AUTO_BANK_IMPORT.G_bank_account_id);
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
341: cep_standard.debug('transfer_bank_balances G_CSHI_INT_CALC_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_int_calc_balance);
342: cep_standard.debug('transfer_bank_balances G_CSHI_ONE_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_one_day_float);
343: cep_standard.debug('transfer_bank_balances G_CSHI_TWO_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_two_day_float);
344: END IF;
337: cep_standard.debug('transfer_bank_balances G_CSHI_CURRENCY_CODE = '|| CE_AUTO_BANK_IMPORT.G_cshi_currency_code);
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
341: cep_standard.debug('transfer_bank_balances G_CSHI_INT_CALC_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_int_calc_balance);
342: cep_standard.debug('transfer_bank_balances G_CSHI_ONE_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_one_day_float);
343: cep_standard.debug('transfer_bank_balances G_CSHI_TWO_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_two_day_float);
344: END IF;
345:
338: cep_standard.debug('transfer_bank_balances G_CSHI_STATEMENT_DATE = '|| CE_AUTO_BANK_IMPORT.G_cshi_statement_date);
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
341: cep_standard.debug('transfer_bank_balances G_CSHI_INT_CALC_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_int_calc_balance);
342: cep_standard.debug('transfer_bank_balances G_CSHI_ONE_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_one_day_float);
343: cep_standard.debug('transfer_bank_balances G_CSHI_TWO_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_two_day_float);
344: END IF;
345:
346: bu_error_found := FALSE;
339: cep_standard.debug('transfer_bank_balances G_CSHI_CONTROL_END_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_control_end_balance);
340: cep_standard.debug('transfer_bank_balances G_CSHI_CASHFLOW_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_cashflow_balance);
341: cep_standard.debug('transfer_bank_balances G_CSHI_INT_CALC_BALANCE = '|| CE_AUTO_BANK_IMPORT.G_cshi_int_calc_balance);
342: cep_standard.debug('transfer_bank_balances G_CSHI_ONE_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_one_day_float);
343: cep_standard.debug('transfer_bank_balances G_CSHI_TWO_DAY_FLOAT = '|| CE_AUTO_BANK_IMPORT.G_cshi_two_day_float);
344: END IF;
345:
346: bu_error_found := FALSE;
347:
359: P_TWO_DAY_FLOAT => CE_AUTO_BANK_IMPORT.G_cshi_two_day_float,
360: P_RESULT => X_RESULT,
361: P_ERROR_MSG => X_ERROR_MSG);
362: IF l_DEBUG in ('Y', 'C') THEN
363: cep_standard.debug('transfer_bank_balances x_result = '|| x_result);
364: cep_standard.debug('transfer_bank_balances x_error_msg = '|| x_error_msg);
365: END IF;
366: if (x_result = 'XTR3_BU_WARNING') then /* log and import */
367: FND_FILE.put_line(FND_FILE.LOG, X_ERROR_MSG);
360: P_RESULT => X_RESULT,
361: P_ERROR_MSG => X_ERROR_MSG);
362: IF l_DEBUG in ('Y', 'C') THEN
363: cep_standard.debug('transfer_bank_balances x_result = '|| x_result);
364: cep_standard.debug('transfer_bank_balances x_error_msg = '|| x_error_msg);
365: END IF;
366: if (x_result = 'XTR3_BU_WARNING') then /* log and import */
367: FND_FILE.put_line(FND_FILE.LOG, X_ERROR_MSG);
368: set_warning :=FND_CONCURRENT.SET_COMPLETION_STATUS('WARNING', 'Check log file for warning messages');
376: update_header_status('E');
377: return FALSE;
378: end if;
379: IF l_DEBUG in ('Y', 'C') THEN
380: cep_standard.debug('<
382: EXCEPTION
383: WHEN OTHERS THEN
384: IF l_DEBUG in ('Y', 'C') THEN
381: END IF;
382: EXCEPTION
383: WHEN OTHERS THEN
384: IF l_DEBUG in ('Y', 'C') THEN
385: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.transfer_bank_balances');
386: END IF;
387: RAISE;
388: END transfer_bank_balances;
389:
400: -----------------------------------------------------------------------*/
401: PROCEDURE purge_data IS
402: BEGIN
403: IF l_DEBUG in ('Y', 'C') THEN
404: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.purge_data');
405: END IF;
406: DELETE FROM ce_statement_headers_int sh
407: WHERE rowid = CE_AUTO_BANK_IMPORT.G_cshi_rowid;
408:
409: DELETE FROM ce_statement_lines_interface sl
410: WHERE sl.bank_account_num = CE_AUTO_BANK_IMPORT.G_cshi_bank_account_num
411: AND sl.statement_number = CE_AUTO_BANK_IMPORT.G_cshi_statement_number;
412: IF l_DEBUG in ('Y', 'C') THEN
413: cep_standard.debug('<
415: EXCEPTION
416: WHEN others THEN
417: IF l_DEBUG in ('Y', 'C') THEN
414: END IF;
415: EXCEPTION
416: WHEN others THEN
417: IF l_DEBUG in ('Y', 'C') THEN
418: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.purge_data' );
419: RAISE;
420: END IF;
421: END purge_data;
422:
432: --------------------------------------------------------------------- */
433: PROCEDURE archive_lines IS
434: BEGIN
435: IF l_DEBUG in ('Y', 'C') THEN
436: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.archive_lines');
437: END IF;
438: INSERT INTO ce_arch_interface_lines
439: (bank_account_num,
440: statement_number,
515: FROM ce_statement_lines_interface
516: WHERE statement_number = CE_AUTO_BANK_IMPORT.G_cshi_statement_number
517: AND bank_account_num = CE_AUTO_BANK_IMPORT.G_cshi_bank_account_num;
518: IF l_DEBUG in ('Y', 'C') THEN
519: cep_standard.debug('<
521: EXCEPTION
522: WHEN OTHERS THEN
523: IF l_DEBUG in ('Y', 'C') THEN
520: END IF;
521: EXCEPTION
522: WHEN OTHERS THEN
523: IF l_DEBUG in ('Y', 'C') THEN
524: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.archive_lines');
525: END IF;
526: RAISE;
527: END archive_lines;
528:
538: ---------------------------------------------------------------------- */
539: PROCEDURE archive_header IS
540: BEGIN
541: IF l_DEBUG in ('Y', 'C') THEN
542: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.archive_header');
543: END IF;
544: INSERT INTO ce_arch_interface_headers
545: (statement_number,
546: bank_account_num,
634: --org_id
635: FROM ce_statement_headers_int
636: WHERE rowid = CE_AUTO_BANK_IMPORT.G_cshi_rowid;
637: IF l_DEBUG in ('Y', 'C') THEN
638: cep_standard.debug('<
640: EXCEPTION
641: WHEN OTHERS THEN
642: IF l_DEBUG in ('Y', 'C') THEN
639: END IF;
640: EXCEPTION
641: WHEN OTHERS THEN
642: IF l_DEBUG in ('Y', 'C') THEN
643: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.archive_header');
644: END IF;
645: RAISE;
646: END archive_header;
647:
665: seq_value IN OUT NOCOPY NUMBER) RETURN BOOLEAN IS
666: l_return_code NUMBER;
667: BEGIN
668: IF l_DEBUG in ('Y', 'C') THEN
669: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.get_sequence_info' );
670: END IF;
671: IF (CE_AUTO_BANK_REC.G_sequence_numbering IN ('A','P')) THEN
672: --
673: -- bug# 1062247
682: seq_id,
683: 'N', 'N');
684:
685: IF l_DEBUG in ('Y', 'C') THEN
686: cep_standard.debug('get_sequence_info: ' || '>>CE_AUTO_BANK_IMPORT.dbseqname: '|| seq_name || '----------' ||
687: 'get_sequence_info: ' || '>>CE_AUTO_BANK_IMPORT.seq_id: '|| TO_CHAR( seq_id ) || '----------' ||
688: 'get_sequence_info: ' || '>>CE_AUTO_BANK_IMPORT.doc_seq_value: '|| TO_CHAR( seq_value ) );
689: END IF;
690: END IF;
694: ELSE
695: RETURN TRUE;
696: END IF;
697: IF l_DEBUG in ('Y', 'C') THEN
698: cep_standard.debug('<
700: EXCEPTION
701: WHEN OTHERS THEN
702: IF (CE_AUTO_BANK_REC.G_sequence_numbering= 'A') THEN
719: FUNCTION lock_statement RETURN BOOLEAN IS
720: X_statement_number CE_STATEMENT_HEADERS_INT.statement_number%TYPE;
721: BEGIN
722: IF l_DEBUG in ('Y', 'C') THEN
723: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.lock_statement');
724: END IF;
725: SELECT statement_number
726: INTO X_statement_number
727: FROM ce_statement_headers_int
728: WHERE rowid = CE_AUTO_BANK_IMPORT.G_cshi_rowid
729: FOR UPDATE OF statement_number NOWAIT;
730:
731: IF l_DEBUG in ('Y', 'C') THEN
732: cep_standard.debug('<
734: RETURN(TRUE);
735: EXCEPTION
736: WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
734: RETURN(TRUE);
735: EXCEPTION
736: WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
737: IF l_DEBUG in ('Y', 'C') THEN
738: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.lock_statement STATEMENT LOCKED');
739: END IF;
740: return(FALSE);
741: WHEN OTHERS THEN
742: IF l_DEBUG in ('Y', 'C') THEN
739: END IF;
740: return(FALSE);
741: WHEN OTHERS THEN
742: IF l_DEBUG in ('Y', 'C') THEN
743: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.lock_statement');
744: END IF;
745: RAISE;
746: return(FALSE);
747: END lock_statement;
759: FUNCTION lock_statement_line(csli_rowid IN VARCHAR2) RETURN BOOLEAN IS
760: csli_amount CE_STATEMENT_LINES.amount%TYPE;
761: BEGIN
762: IF l_DEBUG in ('Y', 'C') THEN
763: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.lock_statement_line');
764: END IF;
765: SELECT amount
766: INTO csli_amount
767: FROM ce_statement_lines_interface
767: FROM ce_statement_lines_interface
768: WHERE rowid = csli_rowid
769: FOR UPDATE OF bank_account_num NOWAIT;
770: IF l_DEBUG in ('Y', 'C') THEN
771: cep_standard.debug('<
773: RETURN(TRUE);
774: EXCEPTION
775: WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
773: RETURN(TRUE);
774: EXCEPTION
775: WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
776: IF l_DEBUG in ('Y', 'C') THEN
777: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.lock_statement_line STATEMENT LOCKED');
778: END IF;
779: return(FALSE);
780: WHEN OTHERS THEN
781: IF l_DEBUG in ('Y', 'C') THEN
778: END IF;
779: return(FALSE);
780: WHEN OTHERS THEN
781: IF l_DEBUG in ('Y', 'C') THEN
782: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.lock_statement_line');
783: END IF;
784: RAISE;
785: return(FALSE);
786: END lock_statement_line;
807: curr_relation VARCHAR2(30);
808:
809: BEGIN
810: IF l_DEBUG in ('Y', 'C') THEN
811: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.transfer_lines');
812: cep_standard.debug('func: '||CE_AUTO_BANK_REC.G_functional_currency);
813: END IF;
814:
815: IF (G_cshi_intra_day_flag = 'Y' AND CE_AUTO_BANK_REC.G_intra_day_flag = 'Y') THEN
808:
809: BEGIN
810: IF l_DEBUG in ('Y', 'C') THEN
811: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.transfer_lines');
812: cep_standard.debug('func: '||CE_AUTO_BANK_REC.G_functional_currency);
813: END IF;
814:
815: IF (G_cshi_intra_day_flag = 'Y' AND CE_AUTO_BANK_REC.G_intra_day_flag = 'Y') THEN
816: INSERT INTO ce_intra_stmt_lines
1014: AND aba.bank_account_id = CE_AUTO_BANK_IMPORT.G_bank_account_id;
1015: END IF;
1016: END IF;
1017: IF l_DEBUG in ('Y', 'C') THEN
1018: cep_standard.debug('<
1020: EXCEPTION
1021: WHEN OTHERS THEN
1022: IF l_DEBUG in ('Y', 'C') THEN
1019: END IF;
1020: EXCEPTION
1021: WHEN OTHERS THEN
1022: IF l_DEBUG in ('Y', 'C') THEN
1023: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.transfer_lines');
1024: END IF;
1025: RAISE;
1026: END transfer_lines;
1027:
1054: X_bank_acct_balance_id NUMBER;
1055:
1056: BEGIN
1057: IF l_DEBUG in ('Y', 'C') THEN
1058: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.transfer_header '||
1059: ' CE_AUTO_BANK_IMPORT.aba_bank_account_id : '|| aba_bank_account_id||
1060: ', CE_AUTO_BANK_IMPORT.aba_bank_account_name : '|| aba_bank_account_name);
1061: END IF;
1062: --
1075:
1076: IF (NOT l_valid_seq) THEN
1077:
1078: IF l_DEBUG in ('Y', 'C') THEN
1079: cep_standard.debug('transfer_header not l_valid_seq ');
1080: END IF;
1081:
1082: l_valid_seq := CE_AUTO_BANK_IMPORT.header_error('CE_DOC_SEQUENCE_HEADER_ERR');
1083: update_header_status('E');
1084: return FALSE;
1085: ELSE
1086: CE_AUTO_BANK_IMPORT.G_cshi_statement_header_id := NULL;
1087: IF l_DEBUG in ('Y', 'C') THEN
1088: cep_standard.debug('G_cshi_intra_day_flag '|| G_cshi_intra_day_flag ||
1089: ', CE_AUTO_BANK_REC.G_intra_day_flag '|| CE_AUTO_BANK_REC.G_intra_day_flag);
1090: END IF;
1091:
1092: IF (G_cshi_intra_day_flag = 'Y' AND CE_AUTO_BANK_REC.G_intra_day_flag = 'Y') THEN
1340: update_header_status('T');
1341: RETURN TRUE;
1342: ELSE
1343: IF l_DEBUG in ('Y', 'C') THEN
1344: cep_standard.debug('transfer_header return false' );
1345: END IF;
1346: RETURN FALSE;
1347: END IF;
1348: END IF;
1346: RETURN FALSE;
1347: END IF;
1348: END IF;
1349: IF l_DEBUG in ('Y', 'C') THEN
1350: cep_standard.debug('<
1352: EXCEPTION
1353: WHEN APP_EXCEPTION.application_exception THEN
1354: IF l_DEBUG in ('Y', 'C') THEN
1351: END IF;
1352: EXCEPTION
1353: WHEN APP_EXCEPTION.application_exception THEN
1354: IF l_DEBUG in ('Y', 'C') THEN
1355: cep_standard.debug('EXCEPTION:CE_AUTO_BANK_IMPORT.transfer_header-APP_EXCEPTION');
1356: END IF;
1357: l_encoded_message := FND_MESSAGE.GET_ENCODED;
1358: IF (l_encoded_message IS NOT NULL) THEN
1359: FND_MESSAGE.parse_encoded(l_encoded_message,l_app_short_name,l_message_name);
1358: IF (l_encoded_message IS NOT NULL) THEN
1359: FND_MESSAGE.parse_encoded(l_encoded_message,l_app_short_name,l_message_name);
1360: ELSE
1361: IF l_DEBUG in ('Y', 'C') THEN
1362: cep_standard.debug('transfer_header: ' || 'No messages on stack');
1363: END IF;
1364: l_message_name := 'OTHER_APP_ERROR';
1365: END IF;
1366: l_valid_seq := CE_AUTO_BANK_IMPORT.header_error('CE_DOC_SEQUENCE_HEADER_ERR');
1367: update_header_status('E');
1368: return FALSE;
1369: WHEN OTHERS THEN
1370: IF l_DEBUG in ('Y', 'C') THEN
1371: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.transfer_header');
1372: END IF;
1373: RAISE;
1374: END transfer_header;
1375:
1392: --------------------------------------------------------------------- */
1393: PROCEDURE update_header_status(p_status VARCHAR2) IS
1394: BEGIN
1395: IF l_DEBUG in ('Y', 'C') THEN
1396: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.update_header_status');
1397: END IF;
1398: UPDATE ce_statement_headers_int
1399: SET record_status_flag = p_status
1400: WHERE rowid = CE_AUTO_BANK_IMPORT.G_cshi_rowid;
1398: UPDATE ce_statement_headers_int
1399: SET record_status_flag = p_status
1400: WHERE rowid = CE_AUTO_BANK_IMPORT.G_cshi_rowid;
1401: IF l_DEBUG in ('Y', 'C') THEN
1402: cep_standard.debug('<
1404: EXCEPTION
1405: WHEN OTHERS THEN
1406: IF l_DEBUG in ('Y', 'C') THEN
1403: END IF;
1404: EXCEPTION
1405: WHEN OTHERS THEN
1406: IF l_DEBUG in ('Y', 'C') THEN
1407: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.update_header_status');
1408: END IF;
1409: RAISE;
1410: END update_header_status;
1411:
1427: FUNCTION validate_control_totals RETURN BOOLEAN IS
1428: error_found BOOLEAN;
1429: BEGIN
1430: IF l_DEBUG in ('Y', 'C') THEN
1431: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.validate_control_totals');
1432: END IF;
1433: error_found := FALSE;
1434: IF (NVL(CE_AUTO_BANK_IMPORT.G_cshi_control_total_dr,CE_AUTO_BANK_IMPORT.G_dr_sum) <> CE_AUTO_BANK_IMPORT.G_dr_sum) THEN
1435: error_found := CE_AUTO_BANK_IMPORT.header_error('CE_CTRL_DR_TOTAL');
1451: IF (NVL(CE_AUTO_BANK_IMPORT.G_cshi_control_line_count,CE_AUTO_BANK_IMPORT.G_total_count) <> CE_AUTO_BANK_IMPORT.G_total_count) THEN
1452: error_found := CE_AUTO_BANK_IMPORT.header_error('CE_LINE_COUNT');
1453: END IF;
1454: IF l_DEBUG in ('Y', 'C') THEN
1455: cep_standard.debug('<
1457: return error_found;
1458: EXCEPTION
1459: WHEN OTHERS THEN
1456: END IF;
1457: return error_found;
1458: EXCEPTION
1459: WHEN OTHERS THEN
1460: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.validate_control_totals');
1461: RAISE;
1462: END validate_control_totals;
1463:
1464: /* ---------------------------------------------------------------------
1474: trx_code_count NUMBER;
1475: aba_bank_account_id NUMBER;
1476: BEGIN
1477: IF l_DEBUG in ('Y', 'C') THEN
1478: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.validate_bank_account');
1479: END IF;
1480: --
1481: -- Bank and bank branch name validations
1482: -- NOTE: We just check for the 'INTERNAL' accounts
1518: END IF;
1519: End If ;
1520:
1521: IF l_DEBUG in ('Y', 'C') THEN
1522: cep_standard.debug('<
1524: EXCEPTION
1525: WHEN OTHERS THEN
1526: IF (SQL%NOTFOUND) THEN
1525: WHEN OTHERS THEN
1526: IF (SQL%NOTFOUND) THEN
1527: error_found := CE_AUTO_BANK_IMPORT.header_error('CE_INVALID_BANK');
1528: IF l_DEBUG in ('Y', 'C') THEN
1529: cep_standard.debug('validate_bank_account: ' || 'error: BANK NOT FOUND');
1530: END IF;
1531: ELSIF (SQL%ROWCOUNT > 0) THEN
1532: error_found := CE_AUTO_BANK_IMPORT.header_error('CE_DUP_BANK');
1533: IF l_DEBUG in ('Y', 'C') THEN
1530: END IF;
1531: ELSIF (SQL%ROWCOUNT > 0) THEN
1532: error_found := CE_AUTO_BANK_IMPORT.header_error('CE_DUP_BANK');
1533: IF l_DEBUG in ('Y', 'C') THEN
1534: cep_standard.debug('validate_bank_account: ' || 'error: DUPLICATE BANK');
1535: END IF;
1536: ELSE
1537: IF l_DEBUG in ('Y', 'C') THEN
1538: cep_standard.debug('validate_bank_account: ' || 'error: OTHER BANK VALIDATION');
1534: cep_standard.debug('validate_bank_account: ' || 'error: DUPLICATE BANK');
1535: END IF;
1536: ELSE
1537: IF l_DEBUG in ('Y', 'C') THEN
1538: cep_standard.debug('validate_bank_account: ' || 'error: OTHER BANK VALIDATION');
1539: END IF;
1540: RAISE;
1541: END IF;
1542: END validate_bank_account;
1568: error_found BOOLEAN;
1569: account_type VARCHAR2(25);
1570: BEGIN
1571: IF l_DEBUG in ('Y', 'C') THEN
1572: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.header_validation');
1573: END IF;
1574: error_found := FALSE;
1575: bank_error := FALSE;
1576: duplicate_found := FALSE;
1628: END IF;
1629: END IF;
1630:
1631: IF l_DEBUG in ('Y', 'C') THEN
1632: cep_standard.debug('<
1634: RETURN error_found;
1635: EXCEPTION
1636: WHEN OTHERS THEN
1634: RETURN error_found;
1635: EXCEPTION
1636: WHEN OTHERS THEN
1637: IF l_DEBUG in ('Y', 'C') THEN
1638: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.header_validation');
1639: END IF;
1640: RAISE;
1641: RETURN FALSE;
1642: END header_validation;
1674: fixed_rate_yn VARCHAR2(30);
1675:
1676: BEGIN
1677: IF l_DEBUG in ('Y', 'C') THEN
1678: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.line_validation');
1679: END IF;
1680: error_found := FALSE;
1681: --
1682: -- 1. Line Amount
1741:
1742: /* -- bug 3676745, if p_option = 'IMPORT', no org information to get CE_AUTO_BANK_REC.G_functional_currency
1743:
1744: IF l_DEBUG in ('Y', 'C') THEN
1745: cep_standard.debug('CE_AUTO_BANK_REC.G_functional_currency = '|| CE_AUTO_BANK_REC.G_functional_currency ||
1746: ',CE_AUTO_BANK_REC.G_interface_purge_flag = ' ||CE_AUTO_BANK_REC.G_interface_purge_flag ||
1747: ',CE_AUTO_BANK_REC.G_interface_archive_flag = '|| CE_AUTO_BANK_REC.G_interface_archive_flag );
1748: END IF;
1749: IF (CE_AUTO_BANK_REC.G_org_id is null and
1764:
1765: END IF;
1766: */
1767: IF l_DEBUG in ('Y', 'C') THEN
1768: cep_standard.debug('CE_AUTO_BANK_REC.G_functional_currency = '|| CE_AUTO_BANK_REC.G_functional_currency ||
1769: ',CE_AUTO_BANK_REC.G_interface_purge_flag = ' ||CE_AUTO_BANK_REC.G_interface_purge_flag ||
1770: ',CE_AUTO_BANK_REC.G_interface_archive_flag = '|| CE_AUTO_BANK_REC.G_interface_archive_flag );
1771: END IF;
1772:
1774: CE_AUTO_BANK_REC.G_functional_currency,
1775: nvl(csli_currency_code,aba_bank_currency),
1776: nvl(csli_exchange_rate_date,csli_trx_date));
1777: EXCEPTION
1778: WHEN OTHERS THEN cep_standard.debug('cannot get relationship for the give curr');
1779: fixed_rate_yn := 'N';
1780: END;
1781:
1782: IF (fixed_rate_yn = 'N') AND (r_exchange_rate_type = 'EMU FIXED') THEN
1780: END;
1781:
1782: IF (fixed_rate_yn = 'N') AND (r_exchange_rate_type = 'EMU FIXED') THEN
1783: IF l_DEBUG in ('Y', 'C') THEN
1784: cep_standard.debug('line_validation: ' || 'emu fixed is not allowed for this curr type');
1785: END IF;
1786: error_found := line_error(csli_line_number, 'CE_EMU_FIXED_NOT_ALLOWED');
1787: END IF;
1788:
1786: error_found := line_error(csli_line_number, 'CE_EMU_FIXED_NOT_ALLOWED');
1787: END IF;
1788:
1789: IF l_DEBUG in ('Y', 'C') THEN
1790: cep_standard.debug('<
1792: RETURN error_found;
1793:
1794: EXCEPTION
1793:
1794: EXCEPTION
1795: WHEN OTHERS THEN
1796: IF l_DEBUG in ('Y', 'C') THEN
1797: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.line_validation');
1798: END IF;
1799: RAISE;
1800: RETURN FALSE;
1801: END line_validation;
1848:
1849: --FND_FILE.put_line(FND_FILE.LOG, 'ceabrimb');
1850:
1851: IF l_DEBUG in ('Y', 'C') THEN
1852: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.import_process ');
1853: END IF;
1854:
1855: -- populate ce_security_profiles_tmp table with ce_security_procfiles_v
1856: CEP_STANDARD.init_security;
1852: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.import_process ');
1853: END IF;
1854:
1855: -- populate ce_security_profiles_tmp table with ce_security_procfiles_v
1856: CEP_STANDARD.init_security;
1857:
1858: OPEN branch_cursor( CE_AUTO_BANK_REC.G_bank_branch_id,
1859: CE_AUTO_BANK_REC.G_bank_account_id );
1860: LOOP
1897: );
1898: END IF;
1899:
1900: IF l_DEBUG in ('Y', 'C') THEN
1901: cep_standard.debug('aba_bank_account_id =' ||aba_bank_account_id);
1902: END IF;
1903:
1904: EXIT WHEN branch_cursor%NOTFOUND OR branch_cursor%NOTFOUND IS NULL;
1905:
1956: aba_bank_account_name,
1957: aba_bank_currency,
1958: aba_bank_check_digits;
1959: IF l_DEBUG in ('Y', 'C') THEN
1960: cep_standard.debug('CE_AUTO_BANK_IMPORT.G_cshi_statement_number ='||CE_AUTO_BANK_IMPORT.G_cshi_statement_number);
1961: END IF;
1962:
1963:
1964: EXIT WHEN bank_cursor%NOTFOUND OR bank_cursor%NOTFOUND IS NULL;
1977: CE_AUTO_BANK_IMPORT.G_cshi_statement_number,
1978: CE_AUTO_BANK_IMPORT.G_cshi_bank_account_num, NULL);
1979: IF (lock_statement) THEN
1980: IF l_DEBUG in ('Y', 'C') THEN
1981: cep_standard.debug('aba_bank_account_id =' ||aba_bank_account_id);
1982: END IF;
1983:
1984: header_error_found := header_validation(r_statement_number,
1985: aba_bank_currency,
2010: r_exchange_rate_type,
2011: r_user_conversion_type,
2012: r_currency_code;
2013: EXIT WHEN lines_cursor%NOTFOUND OR lines_cursor%NOTFOUND IS NULL;
2014: cep_standard.debug('>>CE_AUTO_BANK_IMPORT.fetch line: ' || csli_line_number);
2015: CE_AUTO_BANK_IMPORT.G_dr_sum := CE_AUTO_BANK_IMPORT.G_dr_sum + csli_dr_sum;
2016: CE_AUTO_BANK_IMPORT.G_cr_sum := CE_AUTO_BANK_IMPORT.G_cr_sum + csli_cr_sum;
2017: CE_AUTO_BANK_IMPORT.G_dr_count := CE_AUTO_BANK_IMPORT.G_dr_count + csli_dr_count;
2018: CE_AUTO_BANK_IMPORT.G_cr_count := CE_AUTO_BANK_IMPORT.G_cr_count + csli_cr_count;
2154: IF lines_cursor%ISOPEN THEN
2155: close lines_cursor;
2156: END IF;
2157: IF l_DEBUG in ('Y', 'C') THEN
2158: cep_standard.debug('EXCEPTION: CE_AUTO_BANK_IMPORT.import_process');
2159: END IF;
2160: RAISE;
2161: END import_process;
2162: