[Home] [Help]
PACKAGE BODY: APPS.JA_TH_AR_AUTO_INVOICE
Source
1 PACKAGE BODY ja_th_ar_auto_invoice as
2 /* $Header: jathraib.pls 120.2 2005/10/30 01:47:55 appldev ship $ */
3
4 FUNCTION validate_tax_invoice(p_request_id IN NUMBER)
5 RETURN NUMBER IS
6
7 CURSOR tax_invoice_headers(c_request_id NUMBER) IS
8 SELECT distinct
9 l.customer_trx_id,
10 l.cust_trx_type_id,
11 l.trx_date,
12 fnd_date.canonical_to_date(t.global_attribute2) last_issued_date,
13 to_number(t.global_attribute3) advance_days,
14 l.tax_code, -- 1971523
15 l.vat_tax_id,
16 l.line_type
17 FROM ra_interface_lines_gt l,
18 ra_cust_trx_types t
19 WHERE l.request_id = c_request_id
20 AND t.cust_trx_type_id = l.cust_trx_type_id
21 AND nvl(t.global_attribute1, 'N') = 'Y';
22
23 return_code NUMBER;
24 validation1 NUMBER;
25 validation2 NUMBER;
26 validation3 NUMBER;
27
28 BEGIN
29 arp_standard.debug('ja_th_auto_invoice.validate_tax_invoice()+');
30
31 return_code := 1;
32
33 FOR h IN tax_invoice_headers(p_request_id)
34 LOOP
35
36 validation1 := ja_th_ar_tax_invoice.validate_trx_date(
37 h.customer_trx_id,
38 h.trx_date,
39 h.last_issued_date,
40 h.advance_days,
41 'RAXTRX');
42
43 -- Bug 1971523
44 IF h.line_type = 'LINE' AND (h.tax_code IS NULL OR h.vat_tax_id IS NULL) THEN
45 validation2 := 1;
46 ELSE
47 validation2 := ja_th_ar_tax_invoice.validate_tax_code(
48 h.customer_trx_id,
49 'RAXTRX');
50 END IF;
51
52 IF validation1 = 1 AND validation2 = 1 THEN
53 validation3 := ja_th_ar_tax_invoice.update_last_issued_date(
54 h.customer_trx_id,
55 h.cust_trx_type_id,
56 h.trx_date,
57 'RAXTRX');
58 END IF;
59
60 IF validation1 = -1 OR validation2 = -1 OR validation3 = -1 THEN
61 -- At the first sign of Fatal error, quite validation with
62 -- return_code=0.
63 return_code := 0;
64 exit;
65 END IF;
66
67 END LOOP;
68
69 arp_standard.debug('ja_th_auto_invoice.validate_tax_invoice()-');
70
71 return(return_code);
72
73 EXCEPTION
74 WHEN others THEN
75
76 arp_standard.debug('-- Return From Exception when others');
77 arp_standard.debug('-- Return Code: 0');
78 arp_standard.debug('ja_th_auto_invoice.validate_gdff()-');
79
80 return(0);
81
82 END validate_tax_invoice;
83
84 END ja_th_ar_auto_invoice;