DBA Data[Home] [Help]

PACKAGE BODY: APPS.JG_ZZ_TAX

Source


1 PACKAGE BODY JG_ZZ_TAX AS
2 /* $Header: jgzzrtxb.pls 120.10.12010000.1 2008/07/28 07:58:21 appldev ship $ */
3 
4 g_current_runtime_level     NUMBER;
5 g_level_statement           CONSTANT  NUMBER   := FND_LOG.LEVEL_STATEMENT;
6 g_level_procedure           CONSTANT  NUMBER   := FND_LOG.LEVEL_PROCEDURE;
7 g_level_unexpected          CONSTANT  NUMBER   := FND_LOG.LEVEL_UNEXPECTED;
8 
9 FUNCTION recalculate_tax RETURN VARCHAR2 IS
10 --
11   l_return_code  VARCHAR2(1);
12   l_country_code VARCHAR2(2);
13   --l_tax_method   zx_product_options.tax_method_code%type;
14 BEGIN
15 
16   g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
17 
18   IF (g_level_statement >= g_current_runtime_level ) THEN
19     FND_LOG.STRING(g_level_statement,
20                    'JG.PLSQL.JG_ZZ_TAX.recalculate_tax.BEGIN',
21                    'JG_ZZ_TAX: recalculate_tax(+)');
22   END IF;
23 
24   l_country_code := NULL;
25   --l_tax_method   := NULL;
26   l_return_code  := 'N';
27 
28   --Bug 2354736
29   l_country_code := JG_ZZ_SHARED_PKG.GET_COUNTRY(
30                         ZX_PRODUCT_INTEGRATION_PKG.old_line_rec.org_id,
31                         null);
32   --l_country_code := FND_PROFILE.VALUE('JGZZ_COUNTRY_CODE');
33 
34   IF (g_level_statement >= g_current_runtime_level ) THEN
35     FND_LOG.STRING(g_level_statement,
36                    'JG.PLSQL.JG_ZZ_TAX.recalculate_tax',
37                    'l_country_code = ' || l_country_code);
38   END IF;
39 
40   IF NVL(l_country_code,'$') IN ('BR','AR','CO') THEN
41 
42   -- Bug 5015952- remove as it is redundant
43   /******
44      l_tax_method := NULL;
45 
46      BEGIN
47        SELECT tax_method_code
48        INTO   l_tax_method
49        FROM   zx_product_options;
50      EXCEPTION
51        WHEN OTHERS THEN
52             l_tax_method := NULL;
53             IF (g_level_unexpected >= g_current_runtime_level ) THEN
54               FND_LOG.STRING(g_level_unexpected,
55                              'JG.PLSQL.JG_ZZ_TAX.recalculate_tax',
56                               sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80));
57             END IF;
58      END;
59 
60      IF NVL(l_tax_method,'$') = 'LTE' THEN
61    ****/
62 
63      -- reverted back the change for product category, product fiscal classification
64      -- and tranasction business category as these columns will not be added to
65      -- receivables transaction tables.
66 
67         IF (NVL(ZX_PRODUCT_INTEGRATION_PKG.old_line_rec.global_attribute2,'$') <>
68             NVL(ZX_PRODUCT_INTEGRATION_PKG.new_line_rec.global_attribute2,'$')) OR
69            (NVL(ZX_PRODUCT_INTEGRATION_PKG.old_line_rec.global_attribute3,'$') <>
70             NVL(ZX_PRODUCT_INTEGRATION_PKG.new_line_rec.global_attribute3,'$')) OR
71            (NVL(ZX_PRODUCT_INTEGRATION_PKG.old_line_rec.warehouse_id,'$') <>
72 	    NVL(ZX_PRODUCT_INTEGRATION_PKG.new_line_rec.warehouse_id,'$')) THEN
73            l_return_code := 'Y';
74         END IF;
75     -- END IF;
76   END IF;
77 
78   IF (g_level_statement >= g_current_runtime_level ) THEN
79     FND_LOG.STRING(g_level_statement,
80                    'JG.PLSQL.JG_ZZ_TAX.recalculate_tax',
81                    'l_return_code = ' || l_return_code);
82     FND_LOG.STRING(g_level_statement,
83                    'JG.PLSQL.JG_ZZ_TAX.recalculate_tax.END',
84                    'JG_ZZ_TAX: recalculate_tax(-)');
85   END IF;
86 
87   RETURN l_return_code;
88 END recalculate_tax;
89 
90 FUNCTION get_default_tax_code (p_set_of_books_id     IN NUMBER,
91                                p_trx_date            IN DATE,
92                                p_trx_type_id         IN NUMBER) RETURN VARCHAR2 IS
93 
94   l_tax_code 	 VARCHAR2(50);
95   l_org_id       NUMBER;
96   l_country_code VARCHAR2(2);
97   --l_tax_method   zx_product_options.tax_method_code%type;
98 BEGIN
99 
100   g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
101 
102   IF (g_level_statement >= g_current_runtime_level ) THEN
103     FND_LOG.STRING(g_level_statement,
104                    'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code.BEGIN',
105                    'JG_ZZ_TAX: get_default_tax_code(+)');
106   END IF;
107 
108   l_country_code := NULL;
109   --l_tax_method   := NULL;
110   l_tax_code 	 := NULL;
111 
112   --Bug 2354736
113   --l_country_code := JG_ZZ_SHARED_PKG.GET_COUNTRY(arp_tax.old_line_rec.org_id, null);
114   --l_country_code := FND_PROFILE.VALUE('JGZZ_COUNTRY_CODE');
115 
116   --IF NVL(l_country_code,'$') IN ('BR','AR','CO') THEN
117 
118   -- Bug 5015952- remove as this is redundant
119   /****
120      l_tax_method := NULL;
121 
122      BEGIN
123        SELECT tax_method_code,
124               org_id
125        INTO   l_tax_method,
126               l_org_id
127        FROM   zx_product_options;
128      EXCEPTION
129        WHEN OTHERS THEN
130             l_tax_method := NULL;
131             IF (g_level_unexpected >= g_current_runtime_level ) THEN
132               FND_LOG.STRING(g_level_unexpected,
133                              'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code',
134                               sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80));
135             END IF;
136 
137      END;
138 
139     IF (g_level_statement >= g_current_runtime_level ) THEN
140       FND_LOG.STRING(g_level_statement,
141                      'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code',
142                      'l_tax_method = ' || l_tax_method);
143       FND_LOG.STRING(g_level_statement,
144                      'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code',
145                      'l_org_id = ' || TO_CHAR(l_org_id));
146     END IF;
147 
148      IF NVL(l_tax_method,'$') = 'LTE' THEN
149 
150 ******/
151 
152      l_org_id := ZX_AR_TAX_CLASSIFICATN_DEF_PKG.sysinfo.ar_product_options_rec.org_id;
153 
154     IF (g_level_statement >= g_current_runtime_level ) THEN
155       FND_LOG.STRING(g_level_statement,
156                      'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code'
157 ,
158                      'l_org_id = ' || TO_CHAR(l_org_id));
159     END IF;
160 
161     -- bug#5601977- execute sql below only if org_id
162     -- is available
163     --
164     IF l_org_id IS NOT NULL THEN
165         BEGIN
166           SELECT ctt.global_attribute4
167           INTO   l_tax_code
168           FROM   ra_cust_trx_types_all ctt,
169                  ar_vat_tax_all vt
170           WHERE  ctt.cust_trx_type_id = p_trx_type_id
171           AND    ctt.org_id = vt.org_id
172           AND    ctt.org_id = l_org_id
173           AND    ctt.global_attribute4 = vt.tax_code
174           AND    vt.set_of_books_id = p_set_of_books_id
175           AND    p_trx_date between vt.start_date
176                             and     nvl(vt.end_date,p_trx_date)
177           AND    nvl(vt.enabled_flag,'Y') = 'Y'
178           AND    nvl(vt.tax_class,'O') = 'O';
179         EXCEPTION
180           WHEN NO_DATA_FOUND THEN
181                l_tax_code := NULL;
182           WHEN OTHERS THEN
183                l_tax_code := NULL;
184                IF (g_level_unexpected >= g_current_runtime_level ) THEN
185                  FND_LOG.STRING(g_level_unexpected,
186                                 'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code',
187                                  sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80));
188                END IF;
189         END;
190     END IF;
191 
192  -- END IF;
193 
194   IF (g_level_statement >= g_current_runtime_level ) THEN
195     FND_LOG.STRING(g_level_statement,
196                    'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code',
197                    'l_tax_code = ' || l_tax_code);
198     FND_LOG.STRING(g_level_statement,
199                    'JG.PLSQL.JG_ZZ_TAX.get_default_tax_code.END',
200                    'JG_ZZ_TAX: get_default_tax_code(-)');
201   END IF;
202 
203   RETURN (l_tax_code);
204 
205 END get_default_tax_code;
206 
207 FUNCTION get_default_tax_code (
208                             p_ship_to_site_use_id IN NUMBER
209                            ,p_bill_to_site_use_id IN NUMBER
210                            ,p_inventory_item_id   IN NUMBER
211                            ,p_organization_id     IN NUMBER
212                            ,p_warehouse_id        IN NUMBER
213                            ,p_set_of_books_id     IN NUMBER
214                            ,p_trx_date            IN DATE
215                            ,p_trx_type_id         IN NUMBER
216                            ,p_cust_trx_id         IN NUMBER
217                            ,p_cust_trx_line_id    IN NUMBER
218                            ,APPL_SHORT_NAME       IN VARCHAR2
219                            ,FUNC_SHORT_NAME       IN VARCHAR2)
220 RETURN VARCHAR2 IS
221 
222   l_tax_code 	 VARCHAR2(50);
223 
224 BEGIN
225 
226   l_tax_code := get_default_tax_code (p_set_of_books_id => p_set_of_books_id,
227                                p_trx_date => p_trx_date,
228                                p_trx_type_id  => p_trx_type_id);
229 
230 
231   RETURN (l_tax_code);
232 
233 END get_default_tax_code;
234 
235 END JG_ZZ_TAX;