DBA Data[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;