DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_MIGRATE_AR_TAX_DEF

Source


1 PACKAGE BODY zx_migrate_ar_tax_def AS
2 /* $Header: zxartaxdefmigb.pls 120.129.12020000.2 2012/07/23 12:51:08 srajapar noship $ */
3 
4 -- ****** PACKAGE GLOBAL VARIABLES ******
5 L_LTE_USED          VARCHAR2(1) DEFAULT NULL;
6 L_JATW_USED         VARCHAR2(1) DEFAULT NULL;
7 
8 L_MIN_START_DATE    DATE;
9 
10 l_multi_org_flag fnd_product_groups.multi_org_flag%type;
11 l_org_id NUMBER(15);
12 
13 
14 
15 
16 PG_DEBUG CONSTANT VARCHAR(1) DEFAULT
17                   NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
18 
19 -- ****** FORWARD DECLARATIONS ******
20 PROCEDURE migrate_ar_vat_tax (p_tax_id  NUMBER);
21 PROCEDURE create_zx_status (p_tax_id  NUMBER);
22 PROCEDURE create_zx_taxes (p_tax_id  NUMBER);
23 PROCEDURE create_zx_regimes (p_tax_id  NUMBER);
24 PROCEDURE migrate_fnd_lookups;
25 PROCEDURE create_tax_classifications (p_tax_id  NUMBER);
26 PROCEDURE migrate_profile;
27 PROCEDURE backward_updation; --bug4216592: activating it
28 PROCEDURE insert_tax_for_loc (p_min_start_date           DATE,
29                       p_tax_regime_code          VARCHAR2,
30                       p_seg_att_type             VARCHAR2,
31                       p_country_code             VARCHAR2,
32                       p_tax_currency_code        VARCHAR2,  -- OU partitioned
33                       p_tax_precision            VARCHAR2,  -- OU partitioned
34                       p_tax_mau                  NUMBER,    -- OU partitioned
35                       p_rounding_rule_code       VARCHAR2,  -- OU partitioned
36                       p_allow_rounding_override  VARCHAR2,  -- OU partitioned
37                       p_loc_str_id               NUMBER,    -- Bug 4225216
38                       p_tax_acct_cr_method       VARCHAR2,  -- Bug 4204464
39                       p_tax_acct_source_tax      VARCHAR2,
40                       p_tax_exmpt_cr_mthd        VARCHAR2,
41                       p_tax_exmpt_src_tax        VARCHAR2,
42                       p_compounding_precedence   NUMBER,
43                       -- Bug 4539221
44                       p_cross_curr_rate_type     VARCHAR2,
45                       -- Bug 3985196
46                       p_tax_type                 VARCHAR2,
47                       p_live_for_processing_flag VARCHAR2,
48                       p_live_for_applic_flag     VARCHAR2
49                      );
50 PROCEDURE populate_mls_tables;
51 PROCEDURE insert_tax_rate_code (p_tax_regime_code    VARCHAR2,
52                                 p_tax                VARCHAR2,
53                                 p_tax_status_code    VARCHAR2,
54                                 p_tax_rate_code      VARCHAR2,
55                                 p_content_owner_id   NUMBER,
56                                 p_org_id             NUMBER,
57                                 p_active_flag        VARCHAR2,
58                                 p_effective_from     DATE,
59                                 p_adhoc_rate_flag    VARCHAR2,
60                                 p_tax_account_ccid   NUMBER,
61                                 p_ledger_id          NUMBER);
62 
63 
64 FUNCTION  is_update_needed_for_loc_tax (p_tax_id   NUMBER,
65                                         p_tax_type VARCHAR2  DEFAULT  NULL
66                                        )  RETURN  BOOLEAN;
67 FUNCTION  is_update_needed_for_vnd_tax (p_tax_id   NUMBER,
68                                         p_tax_type VARCHAR2  DEFAULT  NULL
69                                        )  RETURN  BOOLEAN;
70 
71 PROCEDURE update_criteria_results;
72 
73 PROCEDURE stm_exmpt_excpt_flg;
74 
75 
76 -- ****** PUBLIC PROCEUDRES ******
77 /*===========================================================================+
78  | PROCEDURE
79  |    migrate_ar_tax_code_setup
80  |
81  | IN
82  |    p_tax_id : ar_vat_tax_all_b.vat_tax_id is passed when it is called from
83  |               AR Tax Codes form for synchronization.
84  |
85  | OUT
86  |
87  | DESCRIPTION
88  |     This routine is a wrapper for migration of O2C TAX SETUP.
89  |
90  | SCOPE - PUBLIC
91  |
92  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
93  |
94  | CALLED FROM
95  |
96  | NOTES
97  |
98  | MODIFICATION HISTORY
99  | 08/31/2004   Yoshimichi Konishi   Created.
100  |
101  +==========================================================================*/
102 PROCEDURE migrate_ar_tax_code_setup (p_tax_id  NUMBER) AS
103 BEGIN
104 
105 
106   arp_util_tax.debug('b: create_tax_classifications');
107   create_tax_classifications (p_tax_id);
108   arp_util_tax.debug('a: create_tax_classifications');
109 
110   arp_util_tax.debug('b: migrate_ar_vat_tax');
111   migrate_ar_vat_tax (p_tax_id);
112   arp_util_tax.debug('a: migrate_ar_vat_tax');
113 
114   /* Bug 4710118 : To Ensure that atleast one rate code gets created with default_rate_flag = 'Y' for a particular
115    Combination of regime , tax , status and Content Owner */
116 
117   update zx_rates_b_tmp rates
118   set rates.default_rate_flag = 'Y' ,
119   rates.default_flg_effective_from = rates.effective_from, --Bug 5104891
120         rates.default_flg_effective_to = rates.effective_to -- Bug 6680676
121   where rates.tax_rate_code in ( select rates1.tax_rate_code from zx_rates_b rates1
122             where rates.tax_regime_code = rates1.tax_regime_code
123             and rates.tax = rates1.tax
124             and rates.tax_status_code = rates1.tax_status_code
125             and rates.content_owner_id = rates1.content_owner_id
126             and rates1.record_type_code = 'MIGRATED'
127             and rates1.rate_type_code <> 'RECOVERY'
128                               and sysdate between rates1.effective_from
129             and nvl(rates1.effective_to,sysdate)
130             and rownum = 1)
131   /* Not Exists is to prevent the default_rate_flag to be updated to 'Y' for 2 rates under the same combination of
132   regime,tax,status and Content owner */
133 
134   and not exists (select 1 from zx_rates_b rates2
135              where rates2.tax_regime_code = rates.tax_regime_code
136             and rates2.tax = rates.tax
137             and rates2.tax_status_code = rates.tax_status_code
138             and rates2.content_owner_id = rates.content_owner_id
139                   and rates2.rate_type_code <> 'RECOVERY'
140             and rates2.default_rate_flag = 'Y' );
141 
142 
143   arp_util_tax.debug('b: create_zx_status');
144   create_zx_status (p_tax_id);
145   arp_util_tax.debug('a: create_zx_status');
146 
147   arp_util_tax.debug('b: update_criteria_results');
148   --update_criteria_results;
149   arp_util_tax.debug('a: update_criteria_results');
150 
151   arp_util_tax.debug('b: create_zx_taxes');
152   create_zx_taxes (p_tax_id);
153   arp_util_tax.debug('a: create_zx_taxes');
154 
155   arp_util_tax.debug('b: create_zx_regimes');
156   --create_zx_regimes (p_tax_id);
157   arp_util_tax.debug('a: create_zx_regimes');
158 
159   arp_util_tax.debug('b: migrate_fnd_lookups');
160   migrate_fnd_lookups;
161   arp_util_tax.debug('a: migrate_fnd_lookups');
162 
163   arp_util_tax.debug('b: migrate_profile');
164   migrate_profile;
165   arp_util_tax.debug('a: migrate_profile');
166 
167   --Bug # 4215331
168   IF p_tax_id IS NULL THEN
169     -- backward_updation should not be called from pre-migration
170     -- synch logic. For details, refer to procedure body.
171     arp_util_tax.debug('b: backward_updation');
172     backward_updation;
173     arp_util_tax.debug('a: backward_updation');
174   END IF;
175 
176   arp_util_tax.debug('b: migrate_loc_tax_code');
177   migrate_loc_tax_code (p_tax_id);
178   arp_util_tax.debug('a: migrate_loc_tax_code');
179 
180   arp_util_tax.debug('b: migrate_vnd_tax_code');
181   migrate_vnd_tax_code (p_tax_id);
182   arp_util_tax.debug('a: migrate_vnd_tax_code');
183 
184   arp_util_tax.debug('b: stamp_exe_exc_flag');
185   stm_exmpt_excpt_flg;
186   arp_util_tax.debug('b: stamp_exe_exc_flag');
187 
188   arp_util_tax.debug('b: populate_mls_tables');
189   populate_mls_tables;
190   arp_util_tax.debug('a: populate_mls_tables');
191 
192 
193 EXCEPTION
194   WHEN OTHERS THEN
195     arp_util_tax.debug('E: migrate_ar_tax_code_setup : ' || sqlcode || ' : ' || sqlerrm);
196 
197 END;
198 
199 /*===========================================================================+
200  | PROCEDURE
201  |    get_r2r_for_ar_taxcode
202  | IN
203  |    p_tax_code: varchar2: AR Tax Code (ar_vat_tax_all_b.tax_code)
204  |    p_org_id  : number  : Org ID for AR Tax Code (ar_vat_tax_all_b.org_id)
205  | OUT
206  |    p_tax_regime_code : varchar2: Tax Regime Code derived for AR Tax Code
207  |    p_tax             : varchar2: Tax derived for AR Tax Code
208  |    p_tax_status_code : varchar2: Tax Status Code derived for AR Tax Code
209  |    p_tax_rate_code   : varchar2" Tax Rate Code derived for AR Tax Code
210  |
211  | DESCRIPTION
212  |     This routine returns Tax Regime Code, Tax, Tax Status Code, Tax Rate
213  |     Code derived for AR Tax Code during eBTax tax definition migration.
214  |
215  | SCOPE - PUBLIC
216  |
217  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
218  |
219  | CALLED FROM
220  |
221  | NOTES
222  |    Although this procedure is opened to public it should only be called from
223  |    eBTax migration related pl/sql packages after AR Tax Definition migration
224  |    has been completed successfully.
225  |
226  | MODIFICATION HISTORY
227  | 12/21/2004   Yoshimichi Konishi   Created.
228  |
229  +==========================================================================*/
230 PROCEDURE get_r2r_for_ar_taxcode
231 (p_tax_code        IN VARCHAR2,
232  p_org_id          IN NUMBER,
233  p_tax_class       IN VARCHAR2,
234  p_tax_regime_code OUT NOCOPY VARCHAR2,
235  p_tax             OUT NOCOPY VARCHAR2,
236  p_tax_status_code OUT NOCOPY VARCHAR2,
237  p_tax_rate_code   OUT NOCOPY VARCHAR2)
238 AS
239 BEGIN
240   SELECT tax_regime_code,
241          tax,
242          tax_status_code,
243          tax_rate_code
244   INTO   p_tax_regime_code,
245          p_tax,
246          p_tax_status_code,
247          p_tax_rate_code
248   FROM   zx_rates_b  zrb,
249          zx_party_tax_profile  zptp
250   WHERE
251          zptp.party_type_code = 'OU'
252   AND    zptp.party_tax_profile_id = zrb.content_owner_id
253   AND    zrb.record_type_code = 'MIGRATED'
254   AND    zrb.tax_class = 'OUTPUT'
255   AND    zptp.party_id = p_org_id
256   AND    zrb.tax_rate_code = p_tax_code
257   AND    rownum = 1;
258 
259 EXCEPTION
260   WHEN OTHERS THEN
261     NULL;
262 END;
263 
264 /*===========================================================================+
265  | PROCEDURE
266  |    migrate_loc_tax_code
267  |
268  | IN
269  |    p_tax_id  NUMBER                : NULL for initial load.
270  |                                      NOT NULL when it is called for SYNCH.
271  |    p_tax_type VARCHAR2 DEFAULT NULL: NULL for initial load.
272  |                                      NOT NULL when it is called for SYNCH.
273  |
274  | OUT
275  |
276  | DESCRIPTION
277  |     This routine creates records in zx_taxes_b/tl for tax code with tax
278  |     type = 'LOCATION' and tax code used by tax vendors.
279  |     It creates regime, tax, status.
280  |
281  | SCOPE - PUBLIC
282  |
283  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
284  |
285  | CALLED FROM
286  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
287  |        zx_upgrade_control_pkg
288  |
289  | NOTES
290  | 8/31/2004 : The logic could be distributed to create_zx_regime, create_zx_tax,
291  |             create_zx_status, migrate_ar_vat_tax after the approach is finalized.
292  | 9/28/2004 : May need a synch logic.
293  |
294  | MODIFICATION HISTORY
295  | 08/31/2004   Yoshimichi Konishi   Created.
296  | 09/28/2004   Yoshimichi Konishi   Modified ZX_TAX population logic.
297  | 10/29/2004   Yoshimichi Konishi   Bug 3961322. Modified ZX_TAX population logic.
298  | 11/05/2004   Yoshimichi Konishi   Bug 3961322. Added logic to derive parent_
299  |                                   geography_id.
300  | 01/10/2005   Yoshimichi Konishi   Reimplemented logic:
301  |                                   -Populates regimes per location structure.
302  |                                   -Populates taxes using segment qualifier.
303  |
304  +==========================================================================*/
305 PROCEDURE migrate_loc_tax_code (
306   p_tax_id    NUMBER,
307   p_tax_type  VARCHAR2  DEFAULT  NULL) AS
308   -- ****** TYPES ******
309   TYPE loc_str_rec_type IS RECORD
310   (country_code              VARCHAR2(60),
311    id_flex_num               NUMBER,
312    seg_att_type1             VARCHAR2(30),
313    seg_att_type2             VARCHAR2(30),
314    seg_att_type3             VARCHAR2(30),
315    seg_att_type4             VARCHAR2(30),
316    seg_att_type5             VARCHAR2(30),
317    seg_att_type6             VARCHAR2(30),
318    seg_att_type7             VARCHAR2(30),
319    seg_att_type8             VARCHAR2(30),
320    seg_att_type9             VARCHAR2(30),
321    seg_att_type10            VARCHAR2(30),
322    tax_currency_code         VARCHAR2(15),
323    tax_precision             NUMBER(1),
324    tax_mau                   NUMBER,
325    rounding_rule_code        VARCHAR2(30),
326    allow_rounding_override   VARCHAR2(30),
327    org_id                    NUMBER,
328    tax_account_id            NUMBER(15),
329    seg_name1                 VARCHAR2(30),  --Bug 4204464
330    seg_name2                 VARCHAR2(30),
331    seg_name3                 VARCHAR2(30),
332    seg_name4                 VARCHAR2(30),
333    seg_name5                 VARCHAR2(30),
334    seg_name6                 VARCHAR2(30),
335    seg_name7                 VARCHAR2(30),
336    seg_name8                 VARCHAR2(30),
337    seg_name9                 VARCHAR2(30),
338    seg_name10                VARCHAR2(30),
339    appl_col_name1            VARCHAR2(30),
340    appl_col_name2            VARCHAR2(30),
341    appl_col_name3            VARCHAR2(30),
342    appl_col_name4            VARCHAR2(30),
343    appl_col_name5            VARCHAR2(30),
344    appl_col_name6            VARCHAR2(30),
345    appl_col_name7            VARCHAR2(30),
346    appl_col_name8            VARCHAR2(30),
347    appl_col_name9            VARCHAR2(30),
348    appl_col_name10           VARCHAR2(30),
349    tax_acct_flag1            VARCHAR2(1),
350    tax_acct_flag2            VARCHAR2(1),
351    tax_acct_flag3            VARCHAR2(1),
352    tax_acct_flag4            VARCHAR2(1),
353    tax_acct_flag5            VARCHAR2(1),
354    tax_acct_flag6            VARCHAR2(1),
355    tax_acct_flag7            VARCHAR2(1),
356    tax_acct_flag8            VARCHAR2(1),
357    tax_acct_flag9            VARCHAR2(1),
358    tax_acct_flag10           VARCHAR2(1),
359    exempt_flag1              VARCHAR2(1),
360    exempt_flag2              VARCHAR2(1),
361    exempt_flag3              VARCHAR2(1),
362    exempt_flag4              VARCHAR2(1),
363    exempt_flag5              VARCHAR2(1),
364    exempt_flag6              VARCHAR2(1),
365    exempt_flag7              VARCHAR2(1),
366    exempt_flag8              VARCHAR2(1),
367    exempt_flag9              VARCHAR2(1),
368    exempt_flag10             VARCHAR2(1),
369    tax_acct_src_tax          VARCHAR2(30),
370    exmpt_src_tax             VARCHAR2(30),
371    tax_acc_src_str           VARCHAR2(30),
372    exmpt_src_str             VARCHAR2(30),
373    -- Bug 4539221
374    cross_curr_rate_type      VARCHAR2(30)
375   );
376   TYPE denorm_tbl_type IS TABLE OF loc_str_rec_type INDEX BY BINARY_INTEGER;
377   TYPE v15_tbl_type    IS TABLE OF VARCHAR2(15) INDEX BY BINARY_INTEGER;
378   TYPE num1_tbl_type   IS TABLE OF NUMBER(1) INDEX BY BINARY_INTEGER;
379   TYPE num_tbl_type    IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
380 
381   -- ****** VARIABLES ******
382   loc_str_rec                loc_str_rec_type;
383   null_loc_str_rec           loc_str_rec_type;
384   denorm_tbl                 denorm_tbl_type;
385   denorm_err_tbl             denorm_tbl_type;
386   tax_currency_code_tbl      v15_tbl_type;
387   tax_precision_tbl          num1_tbl_type;
388   tax_mau_tbl                num_tbl_type;
389   cnt                        PLS_INTEGER;
390   i                          PLS_INTEGER;
391   d                          PLS_INTEGER;
392   l_temp_id_flex_num         fnd_id_flex_segments.id_flex_num%TYPE; --NUMBER;
393   l_temp_seg_num             fnd_id_flex_segments.segment_num%TYPE; --NUMBER(15)
394   l_temp_seg_att_type        fnd_segment_attribute_values.segment_attribute_type%TYPE; --VARCHAR2(30)
395   l_temp_tax_currency_code   ar_system_parameters_all.tax_currency_code%TYPE;  --VARCHAR2(15)
396   l_temp_tax_precision       ar_system_parameters_all.tax_precision%TYPE;      --NUMBER(1)
397   l_temp_tax_mau             ar_system_parameters_all.tax_minimum_accountable_unit%TYPE; --NUMBER
398   l_temp_country_code        ar_system_parameters_all.default_country%TYPE; --VARCHAR2(60)
399   l_temp_org_id              ar_system_parameters_all.org_id%TYPE;          --NUMBER(15)
400   l_temp_rounding_rule_code  ar_system_parameters_all.tax_rounding_rule%TYPE; --VARCHAR2(30)
401   l_temp_tax_invoice_print   ar_system_parameters_all.tax_invoice_print%TYPE; --VARCHAR2(30)
402   l_temp_allow_rounding_override   ar_system_parameters_all.tax_rounding_allow_override%TYPE; --VARCHAR2(30)
403   --l_temp_tax_account_id           ar_vat_tax_all_b.tax_account_id%TYPE;  --NUMBER(15)
404   l_temp_seg_name            VARCHAR2(30);   --Bug 4204464
405   l_temp_appl_col_name       VARCHAR2(30);
406 
407   l_min_start_date           DATE;
408   l_tax_regime_name          zx_regimes_tl.tax_regime_name%TYPE; --VARCHAR2(30)
409   l_tax_regime_code          zx_regimes_b.tax_regime_code%TYPE;  --VARCHAR2(80)
410   l_count                    PLS_INTEGER;  --Bug 4204464
411   l_tax_acct_cr_method       VARCHAR2(30);
412   l_tax_acct_source_tax      VARCHAR2(30);
413   l_tax_exmpt_cr_mthd  VARCHAR2(30);
414   l_tax_exmpt_src_tax  VARCHAR2(30);
415   l_temp_string              VARCHAR2(10);
416   l_pos                      PLS_INTEGER;
417 
418   l_tax_acct_src_str         VARCHAR2(30);
419   l_exmpt_src_str            VARCHAR2(30);
420 
421   -- ****** CURSORS ******
422   CURSOR loc_str_cur IS
423   SELECT  DISTINCT
424           segment.id_flex_num                id_flex_num,
425           asp.default_country                default_country,
426           segment.segment_num                seg_num,
427           qual.segment_attribute_type        seg_att_type,
428           decode(l_multi_org_flag,'N',l_org_id,asp.org_id) org_id,
429           gsob.currency_code
430                                              tax_currency_code,
431           asp.tax_precision                  tax_precision,
432           asp.tax_minimum_accountable_unit   tax_mau,
433           asp.tax_rounding_rule              rounding_rule_code,
434           asp.tax_rounding_allow_override    allow_rounding_override,
435           segment.segment_name               seg_name,
436           segment.application_column_name    appl_col_name,
437           -- Bug 4539221
438     -- Bug 6006519/5654551, 'User' is not a valid exchange rate type
439           --decode(asp.cross_currency_rate_type,'User','Corporate',asp.cross_currency_rate_type)       cross_curr_rate_type
440           NULL             cross_curr_rate_type
441   FROM    fnd_id_flex_structures         str,
442           fnd_id_flex_segments           segment,
443     fnd_segment_attribute_values   qual,
444     ar_system_parameters_all       asp,
445     ar_vat_tax_all_b               avt,
446           gl_sets_of_books               gsob
447   WHERE   str.id_flex_code = 'RLOC'
448   AND     str.application_id = 222
449   AND     str.application_id = segment.application_id
450   AND     str.id_flex_num = segment.id_flex_num
451   AND     str.id_flex_code = segment.id_flex_code
452   AND     segment.application_id = 222
453   AND     segment.id_flex_code = 'RLOC'
454   AND     segment.application_id= qual.application_id
455   AND     segment.id_flex_code = qual.id_flex_code
456   AND     segment.id_flex_num = qual.id_flex_num
457   AND     segment.application_column_name = qual.application_column_name
458   AND     segment.enabled_flag = 'Y'
459   AND     qual.attribute_value = 'Y'
460   AND     qual.segment_attribute_type NOT IN ('EXEMPT_LEVEL', 'TAX_ACCOUNT')
461   AND     asp.location_structure_id = str.id_flex_num
462   AND     decode(l_multi_org_flag,'N',l_org_id,avt.org_id) = decode(l_multi_org_flag,'N',l_org_id,asp.org_id)
463   AND     avt.tax_type = 'LOCATION'
464   AND     asp.tax_database_view_set IN ('O', '_V', '_A')
465   AND     asp.set_of_books_id = gsob.set_of_books_id
466   ORDER   BY 1,2,3,4,5;
467 
468   CURSOR loc_rate_csr IS
469   SELECT tax_regime_code,tax,party_tax_profile_id,
470          org_id,location_tax_account,set_of_books_id
471   FROM   zx_party_tax_profile ptp,
472          ar_system_parameters_all   asp,
473          zx_taxes_b tax
474   WHERE  ptp.party_type_code = 'OU'
475   AND    ptp.party_id = asp.org_id
476   AND    asp.tax_database_view_set = 'O'
477   AND    tax.tax_regime_code = 'US-SALES-TAX-'|| TO_CHAR(location_structure_id)
478   AND    tax.content_owner_id = -99
479   AND    tax.tax_type_code = 'LOCATION'
480   AND    not exists(select 1 from zx_rates_b rate
481                     where rate.tax_rate_code = tax.tax
482                     and rate.content_owner_id = ptp.party_tax_profile_id
483                     and rate.active_flag = 'Y'
484                     and rate.tax_jurisdiction_code is null);
485 
486 /*
487   **
488   ** This procedure populates data in regime to rate as follows:
489   **
490   ** 1. One regime is created for one location structure.
491   ** 2. Segment qualifiers are used to create taxes.
492   ** 3. In addition to that one tax name 'LOCATION' is created for each OU under a regime.
493   ** 4. Each tax has status named 'STANDARD'.
494   ** 5. Rate code is created from AR tax codes with  tax type 'LOCATION' for 'LOCATION' tax
495   **    but not for taxes created from segment qualifiers.
496   ** 6. Rates for segument qualifiers taxes is created as part of jurisdiction migration.
497   **
498   **
499   ** Code naming convention:
500   **
501   ** REGIME CODE  : Country Code || '-SALES-TAX-' || location structure id
502   ** REGIME NAME  : Country Code || '-SALES-TAX-' || Qualifier1 ||'-'|| Qualifier2..
503   ** TAX (for qualifier)          : Location segument qualifiers (ie. CITY, COUNTY..)
504   ** TAX (for location tax code)  : 'LOCATION'
505   ** STATUS CODE                  : STANDARD
506   ** RATE (for location tax code) : Derived from ar_vat_tax_all_b.tax_code
507   **
508   ** i.e.
509   **
510   ** REGIME            TAX       STATUS          RATES
511   ** US-SALES-TAX-123  CITY      STANDARD   NA (zx_migrate_ar_tax_def does not create it)
512   ** US-SALES-TAX-123  COUNTY    STANDARD   NA (zx_migrate_ar_tax_def does not create it)
513   ** US-SALES-TAX-123  STATE     STANDARD   NA (zx_migrate_ar_tax_def does not create it)
514   ** US-SALES-TAX-123  LOCATION  STANDARD   Location
515   **
516   **
517   **
518   ** Cursor loc_str_cur_rec selects as records as follows:
519   **
520   **  str country num qualifier org_id tax_currency tax_precision tax_mau
521   **  101 US      1   CITY      200    USD          2             .2
522   **  101 US      1   CITY      400    JPY          3             .1
523   **  101 US      1   CITY      500    THB          2             .2
524   **  >>101 UK      1   CITY      600    GBP          2             .1<<It shouldn't happen due to order by.
525   **  101 US      2   COUNTY    200    USD          2             .2
526   **  101 US      2   COUNTY    400    JPY          3             .1
527   **  101 US      2   COUNTY    500    THB          2             .2
528   **  101 UK      1   CITY      600    GBP          2             .1
529   **  101 UK      2   COUNTY    600    GBP          2             .1
530   **
531   **
532   ** The program takes records above and denormalizes them in pl/sql table (denorm_tbl).
533   **
534   ** str country  seg1  seg2    seg3 ..   org_id  currency
535   ** 101 US       CITY  COUNTY  STATE     200     USD
536   ** 200 US       CITY  COUNTY  STATE     300     USD
537   **
538   **
539   ** Records in denorm_tbl is used to insert records in zx_regimes_b and zx_taxes_b.
540   ** The program creates one regime record for each location structure.
541   ** The program creates as many tax records s as the number of segments in a location structure.
542   **
543   ** If same structure is shared among different OUs
544   ** then information on lowest org_id is used to create regime and tax.
545   ** Information in other OU is stored in pl/sql table (denorm_err_tbl) temporarily.
546   **
547   **
548   **
549   **
550   */
551 
552   -- Bug 4204464: Check TAX_ACCOUNT
553   CURSOR chk_tax_acct_cur (p_flex_num        NUMBER,
554                            p_appl_col_name   VARCHAR2) IS
555   SELECT  count(attribute_value)   l_count
556   FROM    fnd_segment_attribute_values  fsav
557   WHERE   fsav.application_id = 222
558   AND     fsav.id_flex_code = 'RLOC'
559   AND     fsav.id_flex_num = p_flex_num
560   AND     fsav.application_column_name = p_appl_col_name
561   AND     fsav.segment_attribute_type = 'TAX_ACCOUNT'
562   AND     fsav.attribute_value = 'Y';
563 
564   CURSOR chk_exemptions_cur (p_flex_num        NUMBER,
565                             p_appl_col_name   VARCHAR2) IS
566   SELECT  count(attribute_value)   l_count
567   FROM    fnd_segment_attribute_values  fsav
568   WHERE   fsav.application_id = 222
569   AND     fsav.id_flex_code = 'RLOC'
570   AND     fsav.id_flex_num = p_flex_num
571   AND     fsav.application_column_name = p_appl_col_name
572   AND     fsav.segment_attribute_type = 'EXEMPT_LEVEL'
573   AND     fsav.attribute_value = 'Y';
574 
575 -- ***** MAIN PROCESS *****
576 BEGIN
577 IF is_update_needed_for_loc_tax(p_tax_id) THEN
578   i := 1;
579   d := 1;
580   FOR loc_str_cur_rec IN loc_str_cur LOOP
581     IF loc_str_cur%ROWCOUNT = 1 THEN
582       loc_str_rec.country_code      := loc_str_cur_rec.default_country;
583       loc_str_rec.id_flex_num       := loc_str_cur_rec.id_flex_num;
584       loc_str_rec.seg_att_type1     := loc_str_cur_rec.seg_att_type;
585       loc_str_rec.tax_currency_code := loc_str_cur_rec.tax_currency_code;
586       loc_str_rec.tax_precision     := loc_str_cur_rec.tax_precision;
587       loc_str_rec.tax_mau           := loc_str_cur_rec.tax_mau;
588       loc_str_rec.rounding_rule_code      := loc_str_cur_rec.rounding_rule_code;
589       loc_str_rec.allow_rounding_override := loc_str_cur_rec.allow_rounding_override;
590       loc_str_rec.org_id            := loc_str_cur_rec.org_id;
591       --loc_str_rec.tax_account_id    := loc_str_cur_rec.tax_account_id;
592       loc_str_rec.seg_name1           := loc_str_cur_rec.seg_name;
593       loc_str_rec.appl_col_name1      := loc_str_cur_rec.appl_col_name;
594 
595       -- Cursor chk_tax_acct_cur fetches one row
596       FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
597                                                 loc_str_rec.appl_col_name1) LOOP
598         IF chk_tax_acct_rec.l_count > 0 THEN
599            loc_str_rec.tax_acct_flag1 := 'Y';
600         ELSE
601            loc_str_rec.tax_acct_flag1 := 'N';
602         END IF;
603       END LOOP;
604 
605       -- Cursor chk_exmptions_cur fetches one row
606       FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
607                                                     loc_str_rec.appl_col_name1) LOOP
608         IF chk_exemptions_rec.l_count > 0 THEN
609            loc_str_rec.exempt_flag1 := 'Y';
610         ELSE
611            loc_str_rec.exempt_flag1 := 'N';
612         END IF;
613       END LOOP;
614 
615       l_temp_id_flex_num            := loc_str_cur_rec.id_flex_num;
616       l_temp_country_code           := loc_str_cur_rec.default_country;
617       l_temp_org_id                 := loc_str_cur_rec.org_id;
618       l_temp_seg_num                := loc_str_cur_rec.seg_num;
619       l_temp_seg_att_type           := loc_str_cur_rec.seg_att_type;
620       l_temp_tax_currency_code      := loc_str_cur_rec.tax_currency_code;
621       l_temp_tax_precision          := loc_str_cur_rec.tax_precision;
622       l_temp_tax_mau                := loc_str_cur_rec.tax_mau;
623       l_temp_rounding_rule_code      := loc_str_cur_rec.rounding_rule_code;
624       l_temp_allow_rounding_override := loc_str_cur_rec.allow_rounding_override;
625       --l_temp_tax_account_id          := loc_str_cur_rec.tax_account_id;
626       l_temp_seg_name                  := loc_str_cur_rec.seg_name;
627       l_temp_appl_col_name             := loc_str_cur_rec.appl_col_name;
628 
629       cnt := 1; --Counter for seg_att_type
630     ELSE
631       IF l_temp_id_flex_num = loc_str_cur_rec.id_flex_num AND
632          l_temp_country_code = loc_str_cur_rec.default_country THEN
633         IF l_temp_seg_num <> loc_str_cur_rec.seg_num THEN
634      cnt := cnt + 1;
635     IF cnt = 2 THEN
636       loc_str_rec.seg_att_type2 := loc_str_cur_rec.seg_att_type;
637             loc_str_rec.seg_name2     := loc_str_cur_rec.seg_name;
638             loc_str_rec.appl_col_name2 := loc_str_cur_rec.appl_col_name;
639 
640             -- Cursor chk_tax_acct_cur fetches one row
641             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
642                                                       loc_str_rec.appl_col_name2) LOOP
643               IF chk_tax_acct_rec.l_count > 0 THEN
644                 loc_str_rec.tax_acct_flag2 := 'Y';
645               ELSE
646                 loc_str_rec.tax_acct_flag2 := 'N';
647               END IF;
648             END LOOP;
649 
650             -- Cursor chk_exmptions_cur fetches one row
651             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
652                                                           loc_str_rec.appl_col_name2) LOOP
653               IF chk_exemptions_rec.l_count > 0 THEN
654                 loc_str_rec.exempt_flag2 := 'Y';
655               ELSE
656                  loc_str_rec.exempt_flag2 := 'N';
657               END IF;
658             END LOOP;
659 
660     ELSIF cnt = 3 THEN
661       loc_str_rec.seg_att_type3 := loc_str_cur_rec.seg_att_type;
662             loc_str_rec.seg_name3     := loc_str_cur_rec.seg_name;
663             loc_str_rec.appl_col_name3 := loc_str_cur_rec.appl_col_name;
664 
665             -- Cursor chk_tax_acct_cur fetches one row
666             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
667                                                       loc_str_rec.appl_col_name3) LOOP
668               IF chk_tax_acct_rec.l_count > 0 THEN
669                 loc_str_rec.tax_acct_flag3 := 'Y';
670               ELSE
671                 loc_str_rec.tax_acct_flag3 := 'N';
672               END IF;
673             END LOOP;
674 
675             -- Cursor chk_exmptions_cur fetches one row
676             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
677                                                           loc_str_rec.appl_col_name3) LOOP
678               IF chk_exemptions_rec.l_count > 0 THEN
679                 loc_str_rec.exempt_flag3 := 'Y';
680               ELSE
681                  loc_str_rec.exempt_flag3 := 'N';
682               END IF;
683             END LOOP;
684 
685     ELSIF cnt = 4 THEN
686       loc_str_rec.seg_att_type4 := loc_str_cur_rec.seg_att_type;
687             loc_str_rec.seg_name4     := loc_str_cur_rec.seg_name;
688             loc_str_rec.appl_col_name4 := loc_str_cur_rec.appl_col_name;
689 
690             -- Cursor chk_tax_acct_cur fetches one row
691             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
692                                                       loc_str_rec.appl_col_name4) LOOP
693               IF chk_tax_acct_rec.l_count > 0 THEN
694                 loc_str_rec.tax_acct_flag4 := 'Y';
695               ELSE
696                 loc_str_rec.tax_acct_flag4 := 'N';
697               END IF;
698             END LOOP;
699 
700             -- Cursor chk_exmptions_cur fetches one row
701             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
702                                                           loc_str_rec.appl_col_name4) LOOP
703               IF chk_exemptions_rec.l_count > 0 THEN
704                 loc_str_rec.exempt_flag4 := 'Y';
705               ELSE
706                 loc_str_rec.exempt_flag4 := 'N';
707               END IF;
708             END LOOP;
709 
710     ELSIF cnt = 5 THEN
711       loc_str_rec.seg_att_type5 := loc_str_cur_rec.seg_att_type;
712             loc_str_rec.seg_name5     := loc_str_cur_rec.seg_name;
713             loc_str_rec.appl_col_name5 := loc_str_cur_rec.appl_col_name;
714 
715             -- Cursor chk_tax_acct_cur fetches one row
716             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
717                                                       loc_str_rec.appl_col_name5) LOOP
718               IF chk_tax_acct_rec.l_count > 0 THEN
719                 loc_str_rec.tax_acct_flag5 := 'Y';
720               ELSE
721                 loc_str_rec.tax_acct_flag5 := 'N';
722               END IF;
723             END LOOP;
724 
725             -- Cursor chk_exmptions_cur fetches one row
726             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
727                                                           loc_str_rec.appl_col_name5) LOOP
728               IF chk_exemptions_rec.l_count > 0 THEN
729                 loc_str_rec.exempt_flag5 := 'Y';
730               ELSE
731                  loc_str_rec.exempt_flag5 := 'N';
732               END IF;
733             END LOOP;
734     ELSIF cnt = 6 THEN
735       loc_str_rec.seg_att_type6 := loc_str_cur_rec.seg_att_type;
736             loc_str_rec.seg_name6     := loc_str_cur_rec.seg_name;
737             loc_str_rec.appl_col_name6 := loc_str_cur_rec.appl_col_name;
738 
739             -- Cursor chk_tax_acct_cur fetches one row
740             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
741                                                       loc_str_rec.appl_col_name6) LOOP
742               IF chk_tax_acct_rec.l_count > 0 THEN
743                 loc_str_rec.tax_acct_flag6 := 'Y';
744               ELSE
745                 loc_str_rec.tax_acct_flag6 := 'N';
746               END IF;
747             END LOOP;
748 
749             -- Cursor chk_exmptions_cur fetches one row
750             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
751                                                           loc_str_rec.appl_col_name6) LOOP
752               IF chk_exemptions_rec.l_count > 0 THEN
753                 loc_str_rec.exempt_flag6 := 'Y';
754               ELSE
755                  loc_str_rec.exempt_flag6 := 'N';
756               END IF;
757             END LOOP;
758 
759     ELSIF cnt = 7 THEN
760       loc_str_rec.seg_att_type7 := loc_str_cur_rec.seg_att_type;
761             loc_str_rec.seg_name7     := loc_str_cur_rec.seg_name;
762             loc_str_rec.appl_col_name7 := loc_str_cur_rec.appl_col_name;
763 
764             -- Cursor chk_tax_acct_cur fetches one row
765             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
766                                                       loc_str_rec.appl_col_name7) LOOP
767               IF chk_tax_acct_rec.l_count > 0 THEN
768                 loc_str_rec.tax_acct_flag7 := 'Y';
769               ELSE
770                 loc_str_rec.tax_acct_flag7 := 'N';
771               END IF;
772             END LOOP;
773 
774             -- Cursor chk_exmptions_cur fetches one row
775             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
776                                                           loc_str_rec.appl_col_name7) LOOP
777               IF chk_exemptions_rec.l_count > 0 THEN
778                 loc_str_rec.exempt_flag7 := 'Y';
779               ELSE
780                  loc_str_rec.exempt_flag7 := 'N';
781               END IF;
782             END LOOP;
783     ELSIF cnt = 8 THEN
784       loc_str_rec.seg_att_type8 := loc_str_cur_rec.seg_att_type;
785             loc_str_rec.seg_name8     := loc_str_cur_rec.seg_name;
786             loc_str_rec.appl_col_name8 := loc_str_cur_rec.appl_col_name;
787 
788             -- Cursor chk_tax_acct_cur fetches one row
789             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
790                                                       loc_str_rec.appl_col_name8) LOOP
791               IF chk_tax_acct_rec.l_count > 0 THEN
792                 loc_str_rec.tax_acct_flag8 := 'Y';
793               ELSE
794                 loc_str_rec.tax_acct_flag8 := 'N';
795               END IF;
796             END LOOP;
797 
798             -- Cursor chk_exmptions_cur fetches one row
799             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
800                                                           loc_str_rec.appl_col_name8) LOOP
801               IF chk_exemptions_rec.l_count > 0 THEN
802                 loc_str_rec.exempt_flag8 := 'Y';
803               ELSE
804                  loc_str_rec.exempt_flag8 := 'N';
805               END IF;
806             END LOOP;
807 
808     ELSIF cnt = 9 THEN
809       loc_str_rec.seg_att_type9 := loc_str_cur_rec.seg_att_type;
810             loc_str_rec.seg_name9     := loc_str_cur_rec.seg_name;
811             loc_str_rec.appl_col_name9 := loc_str_cur_rec.appl_col_name;
812 
813             -- Cursor chk_tax_acct_cur fetches one row
814             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
815                                                       loc_str_rec.appl_col_name9) LOOP
816               IF chk_tax_acct_rec.l_count > 0 THEN
817                 loc_str_rec.tax_acct_flag9 := 'Y';
818               ELSE
819                 loc_str_rec.tax_acct_flag9 := 'N';
820               END IF;
821             END LOOP;
822 
823             -- Cursor chk_eemptions_cur fetches one row
824             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
825                                                           loc_str_rec.appl_col_name9) LOOP
826               IF chk_exemptions_rec.l_count > 0 THEN
827                 loc_str_rec.exempt_flag9 := 'Y';
828               ELSE
829                  loc_str_rec.exempt_flag9 := 'N';
830               END IF;
831             END LOOP;
832 
833     ELSIF cnt = 10 THEN
834       loc_str_rec.seg_att_type10 := loc_str_cur_rec.seg_att_type;
835             loc_str_rec.seg_name10     := loc_str_cur_rec.seg_name;
836             loc_str_rec.appl_col_name10 := loc_str_cur_rec.appl_col_name;
837 
838             -- Cursor chk_tax_acct_cur fetches one row
839             FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
840                                                       loc_str_rec.appl_col_name10) LOOP
841               IF chk_tax_acct_rec.l_count > 0 THEN
842                 loc_str_rec.tax_acct_flag10 := 'Y';
843               ELSE
844                 loc_str_rec.tax_acct_flag10 := 'N';
845               END IF;
846             END LOOP;
847 
848             -- Cursor chk_eemptions_cur fetches one row
849             FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
850                                                           loc_str_rec.appl_col_name10) LOOP
851               IF chk_exemptions_rec.l_count > 0 THEN
852                 loc_str_rec.exempt_flag10 := 'Y';
853               ELSE
854                  loc_str_rec.exempt_flag10 := 'N';
855               END IF;
856             END LOOP;
857     END IF;
858 
859         ELSIF l_temp_seg_num = loc_str_cur_rec.seg_num THEN
860           IF l_temp_org_id <> loc_str_cur_rec.org_id THEN
861             -- ORGANIZATION MERGE HAPPEND --
862             /* Bug 5028254 : Commented below assignment , as the already obtained seg_att_type1 etc into loc_str_rec
863       were getting flushed because of assignment to a NULL record */
864       --loc_str_rec := null_loc_str_rec;
865             loc_str_rec.country_code      := loc_str_cur_rec.default_country;
866             loc_str_rec.id_flex_num       := loc_str_cur_rec.id_flex_num;
867             loc_str_rec.tax_currency_code := loc_str_cur_rec.tax_currency_code;
868             loc_str_rec.tax_precision     := loc_str_cur_rec.tax_precision;
869             loc_str_rec.tax_mau           := loc_str_cur_rec.tax_mau;
870             loc_str_rec.rounding_rule_code      := loc_str_cur_rec.rounding_rule_code;
871             loc_str_rec.allow_rounding_override := loc_str_cur_rec.allow_rounding_override;
872             loc_str_rec.org_id            := loc_str_cur_rec.org_id;
873             --loc_str_rec.tax_account_id    := loc_str_cur_rec.tax_account_id;
874             denorm_err_tbl(d) := loc_str_rec;
875             d := d + 1;
876           END IF;
877         END IF;
878 /* Bug 5028254 : Included the assignment of the l_temp_ variables .
879 Note :- The reassignment of the l_temp_ variables was not happening earlier while traversing within the same flexId ,
880 as a result of which the comparision is always done with values initialized from the 1st row for flexId */
881         l_temp_id_flex_num            := loc_str_cur_rec.id_flex_num;
882         l_temp_country_code           := loc_str_cur_rec.default_country;
883         l_temp_org_id                 := loc_str_cur_rec.org_id;
884         l_temp_seg_num                := loc_str_cur_rec.seg_num;
885         l_temp_seg_att_type           := loc_str_cur_rec.seg_att_type;
886         l_temp_tax_currency_code      := loc_str_cur_rec.tax_currency_code;
887         l_temp_tax_precision          := loc_str_cur_rec.tax_precision;
888         l_temp_tax_mau                := loc_str_cur_rec.tax_mau;
889         l_temp_rounding_rule_code      := loc_str_cur_rec.rounding_rule_code;
890         l_temp_allow_rounding_override := loc_str_cur_rec.allow_rounding_override;
891         --l_temp_tax_account_id          := loc_str_cur_rec.tax_account_id;
892         l_temp_seg_name                  := loc_str_cur_rec.seg_name;
893         l_temp_appl_col_name             := loc_str_cur_rec.appl_col_name;
894 
895       ELSE
896         -- Identify Account Source Tax
897         l_temp_string := '';
898         l_temp_string := loc_str_rec.tax_acct_flag1 || loc_str_rec.tax_acct_flag2 ||
899                          loc_str_rec.tax_acct_flag3 || loc_str_rec.tax_acct_flag4 ||
900                          loc_str_rec.tax_acct_flag5 || loc_str_rec.tax_acct_flag6 ||
901                          loc_str_rec.tax_acct_flag6 || loc_str_rec.tax_acct_flag7 ||
902                          loc_str_rec.tax_acct_flag8 || loc_str_rec.tax_acct_flag9 ||
903                          loc_str_rec.tax_acct_flag10;
904         loc_str_rec.tax_acc_src_str := l_temp_string;
905         l_pos := INSTR(l_temp_string, 'Y');
906 
907         IF l_pos = 1 THEN
908           loc_str_rec.tax_acct_src_tax := loc_str_rec.seg_att_type1;
909         ELSIF l_pos = 2 THEN
910           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type2;
911         ELSIF l_pos = 3 THEN
912           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type3;
913         ELSIF l_pos = 4 THEN
914           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type4;
915         ELSIF l_pos = 5 THEN
916           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type5;
917         ELSIF l_pos = 6 THEN
918           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type6;
919         ELSIF l_pos = 7 THEN
920           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type7;
921         ELSIF l_pos = 8 THEN
922           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type8;
923         ELSIF l_pos = 9 THEN
924           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type9;
925         ELSIF l_pos = 10 THEN
926           loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type10;
927         END IF;
928 
929         -- Identify Exemption/Exception Source Tax
930         l_temp_string := '';
931         l_temp_string := loc_str_rec.exempt_flag1 || loc_str_rec.exempt_flag2 ||
932                          loc_str_rec.exempt_flag3 || loc_str_rec.exempt_flag4 ||
933                          loc_str_rec.exempt_flag5 || loc_str_rec.exempt_flag6 ||
934                          loc_str_rec.exempt_flag6 || loc_str_rec.exempt_flag7 ||
935                          loc_str_rec.exempt_flag8 || loc_str_rec.exempt_flag9 ||
936                          loc_str_rec.exempt_flag10;
937         loc_str_rec.exmpt_src_str := l_temp_string;
938         l_pos := INSTR(l_temp_string, 'Y');
939         IF l_pos = 1 THEN
940           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type1;
941         ELSIF l_pos = 2 THEN
942           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type2;
943         ELSIF l_pos = 3 THEN
944           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type3;
945         ELSIF l_pos = 4 THEN
946           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type4;
947         ELSIF l_pos = 5 THEN
948           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type5;
949         ELSIF l_pos = 6 THEN
950           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type6;
951         ELSIF l_pos = 7 THEN
952           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type7;
953         ELSIF l_pos = 8 THEN
954           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type8;
955         ELSIF l_pos = 9 THEN
956           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type9;
957         ELSIF l_pos = 10 THEN
958           loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type10;
959         END IF;
960 
961         -- Populate record to PL/SQL table of records
962         denorm_tbl(i) := loc_str_rec;
963         loc_str_rec := null_loc_str_rec;
964         i := i + 1;
965 
966         loc_str_rec.country_code      := loc_str_cur_rec.default_country;
967         loc_str_rec.id_flex_num       := loc_str_cur_rec.id_flex_num;
968         loc_str_rec.seg_att_type1     := loc_str_cur_rec.seg_att_type;
969         loc_str_rec.tax_currency_code := loc_str_cur_rec.tax_currency_code;
970         loc_str_rec.tax_precision     := loc_str_cur_rec.tax_precision;
971         loc_str_rec.tax_mau           := loc_str_cur_rec.tax_mau;
972         loc_str_rec.rounding_rule_code      := loc_str_cur_rec.rounding_rule_code;
973         loc_str_rec.allow_rounding_override := loc_str_cur_rec.allow_rounding_override;
974         loc_str_rec.org_id            := loc_str_cur_rec.org_id;
975         --loc_str_rec.tax_account_id    := loc_str_cur_rec.tax_account_id;
976         loc_str_rec.seg_name1           := loc_str_cur_rec.seg_name;
977         loc_str_rec.appl_col_name1      := loc_str_cur_rec.appl_col_name;
978         -- Bug 4539221
979         loc_str_rec.cross_curr_rate_type := loc_str_cur_rec.cross_curr_rate_type;
980 
981         -- Bug 4204464 : Cursor chk_tax_acct_cur fetches one row
982         FOR chk_tax_acct_rec IN chk_tax_acct_cur (loc_str_rec.id_flex_num,
983                                                   loc_str_rec.appl_col_name1) LOOP
984           IF chk_tax_acct_rec.l_count > 0 THEN
985              loc_str_rec.tax_acct_flag1 := 'Y';
986           ELSE
987              loc_str_rec.tax_acct_flag1 := 'N';
988           END IF;
989         END LOOP;
990  -- Bug 4204464 : Cursor chk_exmptions_cur fetches one row
991         FOR chk_exemptions_rec IN chk_exemptions_cur (loc_str_rec.id_flex_num,
992                                                       loc_str_rec.appl_col_name1) LOOP
993           IF chk_exemptions_rec.l_count > 0 THEN
994              loc_str_rec.exempt_flag1 := 'Y';
995           ELSE
996              loc_str_rec.exempt_flag1 := 'N';
997           END IF;
998         END LOOP;
999 
1000         l_temp_id_flex_num            := loc_str_cur_rec.id_flex_num;
1001         l_temp_country_code           := loc_str_cur_rec.default_country;
1002         l_temp_org_id                 := loc_str_cur_rec.org_id;
1003         l_temp_seg_num                := loc_str_cur_rec.seg_num;
1004         l_temp_seg_att_type           := loc_str_cur_rec.seg_att_type;
1005         l_temp_tax_currency_code      := loc_str_cur_rec.tax_currency_code;
1006         l_temp_tax_precision          := loc_str_cur_rec.tax_precision;
1007         l_temp_tax_mau                := loc_str_cur_rec.tax_mau;
1008         l_temp_rounding_rule_code      := loc_str_cur_rec.rounding_rule_code;
1009         l_temp_allow_rounding_override := loc_str_cur_rec.allow_rounding_override;
1010         --l_temp_tax_account_id          := loc_str_cur_rec.tax_account_id;
1011         l_temp_seg_name                  := loc_str_cur_rec.seg_name;
1012         l_temp_appl_col_name             := loc_str_cur_rec.appl_col_name;
1013 
1014         cnt := 1;
1015       END IF;
1016     END IF;
1017   END LOOP;
1018 
1019   -- Identify Account Source Tax for last location structure
1020   -- Bug 12847663
1021 
1022   l_temp_string := '';
1023   l_temp_string := loc_str_rec.tax_acct_flag1 || loc_str_rec.tax_acct_flag2 ||
1024                    loc_str_rec.tax_acct_flag3 || loc_str_rec.tax_acct_flag4 ||
1025                    loc_str_rec.tax_acct_flag5 || loc_str_rec.tax_acct_flag6 ||
1026                    loc_str_rec.tax_acct_flag6 || loc_str_rec.tax_acct_flag7 ||
1027                    loc_str_rec.tax_acct_flag8 || loc_str_rec.tax_acct_flag9 ||
1028                    loc_str_rec.tax_acct_flag10;
1029   loc_str_rec.tax_acc_src_str := l_temp_string;
1030   l_pos := INSTR(l_temp_string, 'Y');
1031 
1032   IF l_pos = 1 THEN
1033     loc_str_rec.tax_acct_src_tax := loc_str_rec.seg_att_type1;
1034   ELSIF l_pos = 2 THEN
1035     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type2;
1036   ELSIF l_pos = 3 THEN
1037     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type3;
1038   ELSIF l_pos = 4 THEN
1039     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type4;
1040   ELSIF l_pos = 5 THEN
1041     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type5;
1042   ELSIF l_pos = 6 THEN
1043     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type6;
1044   ELSIF l_pos = 7 THEN
1045     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type7;
1046   ELSIF l_pos = 8 THEN
1047     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type8;
1048   ELSIF l_pos = 9 THEN
1049     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type9;
1050   ELSIF l_pos = 10 THEN
1051     loc_str_rec.tax_acct_src_tax  := loc_str_rec.seg_att_type10;
1052   END IF;
1053 
1054   -- Identify Exemption/Exception Source Tax
1055   l_temp_string := '';
1056   l_temp_string := loc_str_rec.exempt_flag1 || loc_str_rec.exempt_flag2 ||
1057                    loc_str_rec.exempt_flag3 || loc_str_rec.exempt_flag4 ||
1058                    loc_str_rec.exempt_flag5 || loc_str_rec.exempt_flag6 ||
1059                    loc_str_rec.exempt_flag6 || loc_str_rec.exempt_flag7 ||
1060                    loc_str_rec.exempt_flag8 || loc_str_rec.exempt_flag9 ||
1061                    loc_str_rec.exempt_flag10;
1062   loc_str_rec.exmpt_src_str := l_temp_string;
1063   l_pos := INSTR(l_temp_string, 'Y');
1064   IF l_pos = 1 THEN
1065     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type1;
1066   ELSIF l_pos = 2 THEN
1067     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type2;
1068   ELSIF l_pos = 3 THEN
1069     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type3;
1070   ELSIF l_pos = 4 THEN
1071     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type4;
1072   ELSIF l_pos = 5 THEN
1073     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type5;
1074   ELSIF l_pos = 6 THEN
1075     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type6;
1076   ELSIF l_pos = 7 THEN
1077     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type7;
1078   ELSIF l_pos = 8 THEN
1079     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type8;
1080   ELSIF l_pos = 9 THEN
1081     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type9;
1082   ELSIF l_pos = 10 THEN
1083     loc_str_rec.exmpt_src_tax := loc_str_rec.seg_att_type10;
1084   END IF;
1085 
1086   denorm_tbl(i) := loc_str_rec;
1087 
1088 -- ****** DEBUG ******
1089 FOR k in 1..denorm_tbl.count LOOP
1090   arp_util_tax.debug('***');
1091   arp_util_tax.debug('country_code: ' || denorm_tbl(k).country_code);
1092   arp_util_tax.debug('id_flex_num : ' || denorm_tbl(k).id_flex_num);
1093   arp_util_tax.debug('seg_att_type1: ' || denorm_tbl(k).seg_att_type1);
1094   arp_util_tax.debug('seg_att_type2: ' || denorm_tbl(k).seg_att_type2);
1095   arp_util_tax.debug('seg_att_type3: ' || denorm_tbl(k).seg_att_type3);
1096   arp_util_tax.debug('seg_att_type4: ' || denorm_tbl(k).seg_att_type4);
1097   arp_util_tax.debug('seg_att_type5: ' || denorm_tbl(k).seg_att_type5);
1098   arp_util_tax.debug('seg_att_type6: ' || denorm_tbl(k).seg_att_type6);
1099   arp_util_tax.debug('seg_att_type7: ' || denorm_tbl(k).seg_att_type7);
1100   arp_util_tax.debug('seg_att_type8: ' || denorm_tbl(k).seg_att_type8);
1101   arp_util_tax.debug('seg_att_type9: ' || denorm_tbl(k).seg_att_type9);
1102   arp_util_tax.debug('seg_att_type10: ' || denorm_tbl(k).seg_att_type10);
1103   arp_util_tax.debug('tax_curr_code : ' || denorm_tbl(k).tax_currency_code);
1104   arp_util_tax.debug('tax_precision : ' || denorm_tbl(k).tax_precision);
1105   arp_util_tax.debug('tax_man       : ' || denorm_tbl(k).tax_mau);
1106   arp_util_tax.debug('rounding_rule : ' || denorm_tbl(k).rounding_rule_code);
1107   arp_util_tax.debug('allow_rounding_over : ' || denorm_tbl(k).allow_rounding_override);
1108   arp_util_tax.debug('org_id : ' || denorm_tbl(k).org_id);
1112   arp_util_tax.debug('seg_name3  : ' || denorm_tbl(k).seg_name3);
1109   arp_util_tax.debug('tax_acct_id : ' || denorm_tbl(k).tax_account_id);
1110   arp_util_tax.debug('seg_name1  : ' || denorm_tbl(k).seg_name1);
1111   arp_util_tax.debug('seg_name2  : ' || denorm_tbl(k).seg_name2);
1113   arp_util_tax.debug('seg_name4  : ' || denorm_tbl(k).seg_name4);
1114   arp_util_tax.debug('seg_name5  : ' || denorm_tbl(k).seg_name5);
1115   arp_util_tax.debug('seg_name6  : ' || denorm_tbl(k).seg_name6);
1116   arp_util_tax.debug('seg_name7  : ' || denorm_tbl(k).seg_name7);
1117   arp_util_tax.debug('seg_name8  : ' || denorm_tbl(k).seg_name8);
1118   arp_util_tax.debug('seg_name9  : ' || denorm_tbl(k).seg_name9);
1119   arp_util_tax.debug('seg_name10 : ' || denorm_tbl(k).seg_name10);
1120   arp_util_tax.debug('appl_col_name1  : ' || denorm_tbl(k).appl_col_name1);
1121   arp_util_tax.debug('appl_col_name2  : ' || denorm_tbl(k).appl_col_name2);
1122   arp_util_tax.debug('appl_col_name3  : ' || denorm_tbl(k).appl_col_name3);
1123   arp_util_tax.debug('appl_col_name4  : ' || denorm_tbl(k).appl_col_name4);
1124   arp_util_tax.debug('appl_col_name5  : ' || denorm_tbl(k).appl_col_name5);
1125   arp_util_tax.debug('appl_col_name6  : ' || denorm_tbl(k).appl_col_name6);
1126   arp_util_tax.debug('appl_col_name7  : ' || denorm_tbl(k).appl_col_name7);
1127   arp_util_tax.debug('appl_col_name8  : ' || denorm_tbl(k).appl_col_name8);
1128   arp_util_tax.debug('appl_col_name9  : ' || denorm_tbl(k).appl_col_name9);
1129   arp_util_tax.debug('appl_col_name10  : ' || denorm_tbl(k).appl_col_name10);
1130   arp_util_tax.debug('tax_acct_src_tax : ' || denorm_tbl(k).tax_acct_src_tax);
1131   arp_util_tax.debug('exmpt_src_tax    : ' || denorm_tbl(k).exmpt_src_tax);
1132   arp_util_tax.debug('tax_acc_src_str  : ' || denorm_tbl(k).tax_acc_src_str);
1133   arp_util_tax.debug('exmpt_src_str   : ' || denorm_tbl(k).exmpt_src_str);
1134 END LOOP;
1135 arp_util_tax.debug('   ');
1136 IF denorm_err_tbl.count > 0 THEN
1137   arp_util_tax.debug('*** ORGANZATION MERGED RECORDS ***');
1138   FOR k in 1..denorm_err_tbl.count LOOP
1139     arp_util_tax.debug(denorm_err_tbl(k).country_code);
1140     arp_util_tax.debug(denorm_err_tbl(k).id_flex_num);
1141     arp_util_tax.debug(denorm_err_tbl(k).tax_currency_code);
1142     arp_util_tax.debug(denorm_err_tbl(k).tax_precision);
1143     arp_util_tax.debug(denorm_err_tbl(k).tax_mau);
1144     arp_util_tax.debug(denorm_err_tbl(k).rounding_rule_code);
1145     arp_util_tax.debug(denorm_err_tbl(k).allow_rounding_override);
1146     arp_util_tax.debug(denorm_err_tbl(k).org_id);
1147 --    arp_util_tax.debug(denorm_tbl(k).tax_account_id); -- Bug 5028254
1148   END LOOP;
1149 ELSE
1150   arp_util_tax.debug('*** NO ORGANZATION MERGED RECORDS ***');
1151 END IF;
1152 -- ****** DEBUG ******
1153 
1154  /*SELECT min(start_date)
1155   INTO   l_min_start_date
1156   FROM   ar_vat_tax_all_b
1157   WHERE  tax_type = 'LOCATION';*/
1158 
1159   l_min_start_date := to_date('01-01-1952','DD-MM-YYYY'); --Bug 5475175
1160 
1161   FOR k in 1..denorm_tbl.count LOOP
1162     l_tax_regime_name := denorm_tbl(k).country_code || '-SALES-TAX' ||
1163                          '-' || denorm_tbl(k).seg_att_type1 ||
1164                          '-' || denorm_tbl(k).seg_att_type2 ||
1165                          '-' || denorm_tbl(k).seg_att_type3 ||
1166                          '-' || denorm_tbl(k).seg_att_type4 ||
1167                          '-' || denorm_tbl(k).seg_att_type5 ||
1168                          '-' || denorm_tbl(k).seg_att_type6 ||
1169                          '-' || denorm_tbl(k).seg_att_type7 ||
1170                          '-' || denorm_tbl(k).seg_att_type8 ||
1171                          '-' || denorm_tbl(k).seg_att_type9 ||
1172                          '-' || denorm_tbl(k).seg_att_type10;
1173     l_tax_regime_name := RTRIM(l_tax_regime_name, '-');
1174     l_tax_regime_code := denorm_tbl(k).country_code || '-SALES-TAX-' || denorm_tbl(k).id_flex_num;
1175 
1176     /*
1177      * Commenting out zx_regime_b/_tl population logic for US Sales Tax Codes
1178      * It is executed at upg+2 using zx_migrate_tax_def_common.load_regimes
1179      *
1180 
1181     INSERT ALL
1182     WHEN (NOT EXISTS (SELECT 1
1183                       FROM   ZX_REGIMES_B
1184                       WHERE  TAX_REGIME_CODE = l_tax_regime_code
1185                      )
1186          ) THEN
1187     INTO ZX_REGIMES_B
1188     (
1189     TAX_REGIME_CODE                        ,
1190           PARENT_REGIME_CODE                     ,
1191     HAS_SUB_REGIME_FLAG                    ,
1192     COUNTRY_OR_GROUP_CODE                  ,
1193     COUNTRY_CODE                           ,
1194     GEOGRAPHY_TYPE                         ,
1195     EFFECTIVE_FROM                         ,
1196     EFFECTIVE_TO                           ,
1197     EXCHANGE_RATE_TYPE                     ,
1198     TAX_CURRENCY_CODE                      ,
1199     THRSHLD_GROUPING_LVL_CODE              ,
1200     ROUNDING_RULE_CODE                     ,
1201     TAX_PRECISION                          ,
1202     MINIMUM_ACCOUNTABLE_UNIT               ,
1203     TAX_STATUS_RULE_FLAG                   ,
1204     DEF_PLACE_OF_SUPPLY_TYPE_CODE          ,
1205     APPLICABILITY_RULE_FLAG                ,
1206     PLACE_OF_SUPPLY_RULE_FLAG              ,
1207     TAX_CALC_RULE_FLAG                     ,
1208     TAXABLE_BASIS_THRSHLD_FLAG             ,
1209     TAX_RATE_THRSHLD_FLAG                  ,
1210     TAX_AMT_THRSHLD_FLAG                   ,
1211     TAX_RATE_RULE_FLAG                     ,
1212     TAXABLE_BASIS_RULE_FLAG                ,
1213     DEF_INCLUSIVE_TAX_FLAG                 ,
1214     HAS_OTHER_JURISDICTIONS_FLAG           ,
1215     ALLOW_ROUNDING_OVERRIDE_FLAG           ,
1216     ALLOW_EXEMPTIONS_FLAG                  ,
1217     ALLOW_EXCEPTIONS_FLAG                  ,
1218     ALLOW_RECOVERABILITY_FLAG              ,
1219     -- RECOVERABILITY_OVERRIDE_FLAG           , Bug 3766372
1220     AUTO_PRVN_FLAG                         ,
1221     HAS_TAX_DET_DATE_RULE_FLAG             ,
1222     HAS_EXCH_RATE_DATE_RULE_FLAG           ,
1223     HAS_TAX_POINT_DATE_RULE_FLAG           ,
1224     USE_LEGAL_MSG_FLAG                     ,
1225     REGN_NUM_SAME_AS_LE_FLAG               ,
1226     DEF_REC_SETTLEMENT_OPTION_CODE         ,
1227     RECORD_TYPE_CODE                       ,
1228     ATTRIBUTE1                             ,
1229     ATTRIBUTE2                             ,
1230     ATTRIBUTE3                             ,
1231     ATTRIBUTE4                             ,
1232     ATTRIBUTE5                             ,
1233     ATTRIBUTE6                             ,
1234     ATTRIBUTE7                             ,
1235     ATTRIBUTE8                             ,
1236     ATTRIBUTE9                             ,
1237     ATTRIBUTE10                            ,
1238     ATTRIBUTE11                            ,
1239     ATTRIBUTE12                            ,
1240     ATTRIBUTE13                            ,
1241     ATTRIBUTE14                            ,
1242     ATTRIBUTE15                            ,
1243     ATTRIBUTE_CATEGORY                     ,
1244     DEF_REGISTR_PARTY_TYPE_CODE            ,
1245     REGISTRATION_TYPE_RULE_FLAG            ,
1246     TAX_INCLUSIVE_OVERRIDE_FLAG            ,
1247     REGIME_PRECEDENCE                      ,
1248     CROSS_REGIME_COMPOUNDING_FLAG          ,
1249     TAX_REGIME_ID                          ,
1250     GEOGRAPHY_ID                           ,
1251     THRSHLD_CHK_TMPLT_CODE                 ,
1252     PERIOD_SET_NAME                        ,
1253     REP_TAX_AUTHORITY_ID                   ,
1254     COLL_TAX_AUTHORITY_ID                  ,
1255     CREATED_BY                       ,
1256     CREATION_DATE                          ,
1257     LAST_UPDATED_BY                        ,
1258     LAST_UPDATE_DATE                       ,
1259     LAST_UPDATE_LOGIN                      ,
1260     REQUEST_ID                             ,
1261     PROGRAM_APPLICATION_ID                 ,
1262     PROGRAM_ID                             ,
1263     PROGRAM_LOGIN_ID                 ,
1264     OBJECT_VERSION_NUMBER
1265     )
1266     VALUES
1267     (
1268          l_tax_regime_code                       , --TAX_REGIME_CODE
1269          NULL                                    ,--PARENT_REGIME_CODE
1270    'N'                                     ,--HAS_SUB_REGIME_FLAG
1271    'COUNTRY'                               ,--COUNTRY_OR_GROUP_CODE
1272    denorm_tbl(k).country_code              ,--COUNTRY_CODE
1273    NULL                                    ,--GEOGRAPHY_TYPE
1274    l_min_start_date                          ,--EFFECTIVE_FROM
1275    NULL                                    ,--EFFECTIVE_TO
1276    NULL                                    ,--EXCHANGE_RATE_TYPE
1277    NULL                                    ,--TAX_CURRENCY_CODE
1278    NULL                                    ,--THRSHLD_GROUPING_LVL_CODE
1279    NULL                                    ,--ROUNDING_RULE_CODE
1280    NULL                                    ,--TAX_PRECISION
1281    NULL                                    ,--MINIMUM_ACCOUNTABLE_UNIT
1282    'N'                                     ,--TAX_STATUS_RULE_FLAG
1283     'SHIP_TO_BILL_TO'                      ,--DEF_PLACE_OF_SUPPLY_TYPE_CODE
1284    'N'                                     ,--APPLICABILITY_RULE_FLAG
1285    'N'                                     ,--PLACE_OF_SUPPLY_RULE_FLAG
1286    'N'                                     ,--TAX_CALC_RULE_FLAG
1287    'N'                                     ,--TAXABLE_BASIS_THRSHLD_FLAG
1288    'N'                                     ,--TAX_RATE_THRSHLD_FLAG
1289    'N'                                     ,--TAX_AMT_THRSHLD_FLAG
1290    'N'                                     ,--TAX_RATE_RULE_FLAG
1291    'N'                                     ,--TAXABLE_BASIS_RULE_FLAG
1292    'N'                                     ,--DEF_INCLUSIVE_TAX_FLAG
1293    'N'                                     ,--HAS_OTHER_JURISDICTIONS_FLAG
1294    'N'                                     ,--ALLOW_ROUNDING_OVERRIDE_FLAG
1295    'N'                                     ,--ALLOW_EXEMPTIONS_FLAG
1296    'N'                                     ,--ALLOW_EXCEPTIONS_FLAG
1297    'N'                                     ,--ALLOW_RECOVERABILITY_FLAG
1298    --'N'                                     ,--RECOVERABILITY_OVERRIDE_FLAG : Bug 3766372
1299    'N'                                     ,--AUTO_PRVN_FLAG
1300    'N'                                     ,--HAS_TAX_DET_DATE_RULE_FLAG
1301    'N'                                     ,--HAS_EXCH_RATE_DATE_RULE_FLAG
1302    'N'                                     ,--HAS_TAX_POINT_DATE_RULE_FLAG
1303    'N'                                     ,--USE_LEGAL_MSG_FLAG
1304    'N'                                     ,--REGN_NUM_SAME_AS_LE_FLAG
1305    'N'                                     ,--DEF_REC_SETTLE_OPTION_CODE
1306    'MIGRATED'                             ,--RECORD_TYPE_CODE
1307    NULL       ,
1308    NULL       ,
1309    NULL       ,
1310    NULL       ,
1311    NULL       ,
1312    NULL       ,
1313    NULL       ,
1314    NULL       ,
1315    NULL       ,
1316    NULL       ,
1317    NULL       ,
1318    NULL       ,
1319    NULL       ,
1320    NULL       ,
1321    NULL       ,
1322    NULL       ,
1323    'SHIP_TO_SITE'                         ,--DEF_REGISTR_PARTY_TYPE_CODE
1324    'N'                                    ,--REGISTRATION_TYPE_RULE_FLAG
1325    'Y'                                    ,--TAX_INCLUSIVE_OVERRIDE_FLAG
1326    NULL                                   ,--REGIME_PRECEDENCE
1327    'N'                                     ,--CROSS_REGIME_COMPOUNDING_FLAG
1328    ZX_REGIMES_B_S.NEXTVAL                 ,--TAX_REGIME_ID
1329    NULL                                   ,--GEOGRAPHY_ID
1330    NULL                                   ,--THRSHLD_CHK_TMPLT_CODE
1331    NULL                                   ,--PERIOD_SET_NAME
1332    NULL                                   ,--REP_TAX_AUTHORITY_ID
1333    NULL                                   ,--COLL_TAX_AUTHORITY_ID
1334    fnd_global.user_id                     ,
1335    SYSDATE                                ,
1336    fnd_global.user_id                     ,
1337    SYSDATE                                ,
1338    fnd_global.conc_login_id               ,
1339    fnd_global.conc_request_id             ,--Request Id
1340    fnd_global.prog_appl_id                ,--Program Application ID
1341    fnd_global.conc_program_id             ,--Program Id
1342    fnd_global.conc_login_id               , --Program Login ID
1343    1
1344     )
1345 
1346     WHEN (NOT EXISTS (SELECT 1
1347                       FROM   ZX_REGIMES_B
1348                       WHERE  TAX_REGIME_CODE = l_tax_regime_code
1349                      )
1350          ) THEN
1351     INTO ZX_REGIMES_TL
1352     (
1353        LANGUAGE                    ,
1354        SOURCE_LANG                 ,
1355        TAX_REGIME_NAME             ,
1356        CREATION_DATE               ,
1357        CREATED_BY                  ,
1358        LAST_UPDATE_DATE            ,
1359        LAST_UPDATED_BY             ,
1360        LAST_UPDATE_LOGIN           ,
1361        TAX_REGIME_ID
1362     )
1363     VALUES
1364     (
1365        userenv('LANG'),
1366        userenv('LANG'),
1367        l_tax_regime_name,
1368        SYSDATE,
1369        fnd_global.user_id       ,
1370        SYSDATE                  ,
1371        fnd_global.user_id       ,
1372        fnd_global.conc_login_id ,
1373        ZX_REGIMES_B_S.NEXTVAL
1374     )
1375     SELECT 1 FROM DUAL;
1376 
1377     *
1378     * End of commenting out zx_regimes_b/_tl population logic
1379     */
1380 
1381     -- ***** Inserting Taxes for location segnemt qualifiers *****
1382 
1383     -- Define tax_account_create_method
1384     IF denorm_tbl(k).seg_att_type1 IS NOT NULL THEN
1385 
1386       -- Check tax_account_create_method_code
1390       ELSE
1387       IF denorm_tbl(k).tax_acct_flag1 = 'Y' THEN
1388         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1389         l_tax_acct_source_tax := NULL;
1391         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1392         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1393       END IF;
1394 
1395       -- Define tax_exmpt_cr_method_code
1396       IF denorm_tbl(k).exempt_flag1 = 'Y' THEN
1397         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1398         l_tax_acct_source_tax := NULL;
1399       ELSE
1400         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1401         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1402       END IF;
1403 
1404       insert_tax_for_loc (l_min_start_date,
1405                   l_tax_regime_code,
1406                   denorm_tbl(k).seg_att_type1,
1407       denorm_tbl(k).country_code,
1408       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1409       denorm_tbl(k).tax_precision,      -- OU partitioned
1410       denorm_tbl(k).tax_mau,            -- OU partitioned
1411       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1412       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1413                   denorm_tbl(k).id_flex_num,
1414                   l_tax_acct_cr_method,
1415                   l_tax_acct_source_tax,
1416                   l_tax_exmpt_cr_mthd,
1417                   l_tax_exmpt_src_tax,
1418                   1,
1419                   denorm_tbl(k).cross_curr_rate_type,
1420                   'LOCATION',
1421                   'Y',
1422                   'Y'
1423                  );
1424     END IF;
1425 
1426     IF denorm_tbl(k).seg_att_type2 IS NOT NULL THEN
1427       -- Check tax_account_create_method_code
1428       IF denorm_tbl(k).tax_acct_flag2 = 'Y' THEN
1429         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1430         l_tax_acct_source_tax := NULL;
1431       ELSE
1432         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1433         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1434       END IF;
1435 
1436       -- Define tax_exmpt_cr_method_code
1437       IF denorm_tbl(k).exempt_flag2 = 'Y' THEN
1438         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1439         l_tax_acct_source_tax := NULL;
1440       ELSE
1441         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1442         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1443       END IF;
1444 
1445       insert_tax_for_loc (l_min_start_date,
1446       l_tax_regime_code,
1447       denorm_tbl(k).seg_att_type2,
1448       denorm_tbl(k).country_code,
1449       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1450       denorm_tbl(k).tax_precision,      -- OU partitioned
1451       denorm_tbl(k).tax_mau,            -- OU partitioned
1452       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1453       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1454                   denorm_tbl(k).id_flex_num,
1455                   l_tax_acct_cr_method,
1456                   l_tax_acct_source_tax,
1457                   l_tax_exmpt_cr_mthd,
1458                   l_tax_exmpt_src_tax,
1459                   2,
1460                   denorm_tbl(k).cross_curr_rate_type,
1461                   'LOCATION',
1462                   'Y',
1463                   'Y'
1464                  );
1465     END IF;
1466 
1467     IF denorm_tbl(k).seg_att_type3 IS NOT NULL THEN
1468       -- Check tax_account_create_method_code
1469       IF denorm_tbl(k).tax_acct_flag3 = 'Y' THEN
1470         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1471         l_tax_acct_source_tax := NULL;
1472       ELSE
1473         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1474         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1475       END IF;
1476 
1477       -- Define tax_exmpt_cr_method_code
1478       IF denorm_tbl(k).exempt_flag3 = 'Y' THEN
1479         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1480         l_tax_acct_source_tax := NULL;
1481       ELSE
1482         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1483         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1484       END IF;
1485 
1486       insert_tax_for_loc (l_min_start_date,
1487       l_tax_regime_code,
1488       denorm_tbl(k).seg_att_type3,
1489       denorm_tbl(k).country_code,
1490       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1491       denorm_tbl(k).tax_precision,      -- OU partitioned
1492       denorm_tbl(k).tax_mau,            -- OU partitioned
1493       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1494       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1495                   denorm_tbl(k).id_flex_num,
1496                   l_tax_acct_cr_method,
1497                   l_tax_acct_source_tax,
1498                   l_tax_exmpt_cr_mthd,
1499                   l_tax_exmpt_src_tax,
1500                   3,
1501                   denorm_tbl(k).cross_curr_rate_type,
1502                   'LOCATION',
1503                   'Y',
1504                   'Y'
1505                  );
1506     END IF;
1507 
1508     IF denorm_tbl(k).seg_att_type4 IS NOT NULL THEN
1509       -- Check tax_account_create_method_code
1510       IF denorm_tbl(k).tax_acct_flag4 = 'Y' THEN
1511         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1512         l_tax_acct_source_tax := NULL;
1513       ELSE
1514         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1515         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1516       END IF;
1517 
1518       -- Define tax_exmpt_cr_method_code
1519       IF denorm_tbl(k).exempt_flag4 = 'Y' THEN
1520         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1521         l_tax_acct_source_tax := NULL;
1522       ELSE
1523         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1524         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1525       END IF;
1526 
1527       insert_tax_for_loc (l_min_start_date,
1528       l_tax_regime_code,
1529       denorm_tbl(k).seg_att_type4,
1530       denorm_tbl(k).country_code,
1531       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1532       denorm_tbl(k).tax_precision,      -- OU partitioned
1533       denorm_tbl(k).tax_mau,            -- OU partitioned
1534       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1535       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1536                   denorm_tbl(k).id_flex_num,
1537                   l_tax_acct_cr_method,
1538                   l_tax_acct_source_tax,
1539                   l_tax_exmpt_cr_mthd,
1540                   l_tax_exmpt_src_tax,
1541                   4,
1542                   denorm_tbl(k).cross_curr_rate_type,
1543                   'LOCATION',
1544                   'Y',
1545                   'Y'
1546                  );
1547     END IF;
1548 
1549     IF denorm_tbl(k).seg_att_type5 IS NOT NULL THEN
1550       -- Check tax_account_create_method_code
1551       IF denorm_tbl(k).tax_acct_flag5 = 'Y' THEN
1552         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1553         l_tax_acct_source_tax := NULL;
1554       ELSE
1555         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1556         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1557       END IF;
1558 
1559       -- Define tax_exmpt_cr_method_code
1560       IF denorm_tbl(k).exempt_flag5 = 'Y' THEN
1561         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1562         l_tax_acct_source_tax := NULL;
1563       ELSE
1564         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1565         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1566       END IF;
1567 
1568       insert_tax_for_loc (l_min_start_date,
1569       l_tax_regime_code,
1570       denorm_tbl(k).seg_att_type5,
1571       denorm_tbl(k).country_code,
1572       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1573       denorm_tbl(k).tax_precision,      -- OU partitioned
1574       denorm_tbl(k).tax_mau,            -- OU partitioned
1575       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1576       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1577                   denorm_tbl(k).id_flex_num,
1578                   l_tax_acct_cr_method,
1579                   l_tax_acct_source_tax,
1580                   l_tax_exmpt_cr_mthd,
1581                   l_tax_exmpt_src_tax,
1582                   5,
1583                   denorm_tbl(k).cross_curr_rate_type,
1584                   'LOCATION',
1585                   'Y',
1586                   'Y'
1587      );
1588     END IF;
1589 
1590     IF denorm_tbl(k).seg_att_type6 IS NOT NULL THEN
1591       -- Check tax_account_create_method_code
1592       IF denorm_tbl(k).tax_acct_flag6 = 'Y' THEN
1593         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1594         l_tax_acct_source_tax := NULL;
1595       ELSE
1596         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1597         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1598       END IF;
1599 
1600       -- Define tax_exmpt_cr_method_code
1601       IF denorm_tbl(k).exempt_flag6 = 'Y' THEN
1602         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1603         l_tax_acct_source_tax := NULL;
1604       ELSE
1605         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1606         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1607       END IF;
1608       insert_tax_for_loc (l_min_start_date,
1609       l_tax_regime_code,
1610       denorm_tbl(k).seg_att_type6,
1611       denorm_tbl(k).country_code,
1612       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1613       denorm_tbl(k).tax_precision,      -- OU partitioned
1614       denorm_tbl(k).tax_mau,            -- OU partitioned
1615       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1616       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1617                   denorm_tbl(k).id_flex_num,
1618                   l_tax_acct_cr_method,
1619                   l_tax_acct_source_tax,
1620                   l_tax_exmpt_cr_mthd,
1621                   l_tax_exmpt_src_tax,
1622                   6,
1623                   denorm_tbl(k).cross_curr_rate_type,
1624                   'LOCATION',
1625                   'Y',
1626                   'Y'
1627                  );
1628     END IF;
1629 
1630     IF denorm_tbl(k).seg_att_type7 IS NOT NULL THEN
1631       -- Check tax_account_create_method_code
1632       IF denorm_tbl(k).tax_acct_flag7 = 'Y' THEN
1633         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1634         l_tax_acct_source_tax := NULL;
1635       ELSE
1636         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1637         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1638       END IF;
1639 
1640       -- Define tax_exmpt_cr_method_code
1641       IF denorm_tbl(k).exempt_flag7 = 'Y' THEN
1642         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1643         l_tax_acct_source_tax := NULL;
1644       ELSE
1645         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1646         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1647       END IF;
1648 
1649       insert_tax_for_loc (l_min_start_date,
1650       l_tax_regime_code,
1651       denorm_tbl(k).seg_att_type7,
1652       denorm_tbl(k).country_code,
1653       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1654       denorm_tbl(k).tax_precision,      -- OU partitioned
1655       denorm_tbl(k).tax_mau,            -- OU partitioned
1656       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1657       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1658                   denorm_tbl(k).id_flex_num,
1659                   l_tax_acct_cr_method,
1660                   l_tax_acct_source_tax,
1661                   l_tax_exmpt_cr_mthd,
1662                   l_tax_exmpt_src_tax,
1663                   7,
1664                   denorm_tbl(k).cross_curr_rate_type,
1665                   'LOCATION',
1666                   'Y',
1667                   'Y'
1668                  );
1669     END IF;
1670 
1671     IF denorm_tbl(k).seg_att_type8 IS NOT NULL THEN
1672       -- Check tax_account_create_method_code
1673       IF denorm_tbl(k).tax_acct_flag8 = 'Y' THEN
1674         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1675         l_tax_acct_source_tax := NULL;
1676       ELSE
1677         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1678         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1679       END IF;
1680 
1681       -- Define tax_exmpt_cr_method_code
1682       IF denorm_tbl(k).exempt_flag8 = 'Y' THEN
1683         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1684         l_tax_acct_source_tax := NULL;
1685       ELSE
1686         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1687         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1688       END IF;
1689       insert_tax_for_loc (l_min_start_date,
1690       l_tax_regime_code,
1691       denorm_tbl(k).seg_att_type8,
1692       denorm_tbl(k).country_code,
1693       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1694       denorm_tbl(k).tax_precision,      -- OU partitioned
1695       denorm_tbl(k).tax_mau,            -- OU partitioned
1696       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1697       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1698                   denorm_tbl(k).id_flex_num,
1699                   l_tax_acct_cr_method,
1700                   l_tax_acct_source_tax,
1701                   l_tax_exmpt_cr_mthd,
1702                   l_tax_exmpt_src_tax,
1703                   8,
1704                   denorm_tbl(k).cross_curr_rate_type,
1705                   'LOCATION',
1706                   'Y',
1707                   'Y'
1708                  );
1709     END IF;
1710 
1711     IF denorm_tbl(k).seg_att_type9 IS NOT NULL THEN
1712       -- Check tax_account_create_method_code
1713       IF denorm_tbl(k).tax_acct_flag9 = 'Y' THEN
1714         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1715         l_tax_acct_source_tax := NULL;
1716       ELSE
1717         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1718         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1719       END IF;
1720 
1721       -- Define tax_exmpt_cr_method_code
1722       IF denorm_tbl(k).exempt_flag9 = 'Y' THEN
1723         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1724         l_tax_acct_source_tax := NULL;
1725       ELSE
1726         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1727         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1728       END IF;
1729 
1730       insert_tax_for_loc (l_min_start_date,
1731       l_tax_regime_code,
1732       denorm_tbl(k).seg_att_type9,
1733       denorm_tbl(k).country_code,
1734       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1735       denorm_tbl(k).tax_precision,      -- OU partitioned
1736       denorm_tbl(k).tax_mau,            -- OU partitioned
1737       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1738       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1739                   denorm_tbl(k).id_flex_num,
1740                   l_tax_acct_cr_method,
1741                   l_tax_acct_source_tax,
1745                   denorm_tbl(k).cross_curr_rate_type,
1742                   l_tax_exmpt_cr_mthd,
1743                   l_tax_exmpt_src_tax,
1744                   9,
1746                   'LOCATION',
1747                   'Y',
1748                   'Y'
1749                  );
1750     END IF;
1751 
1752     IF denorm_tbl(k).seg_att_type10 IS NOT NULL THEN
1753       -- Check tax_account_create_method_code
1754       IF denorm_tbl(k).tax_acct_flag10 = 'Y' THEN
1755         l_tax_acct_cr_method := 'CREATE_ACCOUNTS';
1756         l_tax_acct_source_tax := NULL;
1757       ELSE
1758         l_tax_acct_cr_method := 'USE_ACCOUNTS';
1759         l_tax_acct_source_tax := denorm_tbl(k).tax_acct_src_tax;
1760       END IF;
1761 
1762       -- Define tax_exmpt_cr_method_code
1763       IF denorm_tbl(k).exempt_flag10 = 'Y' THEN
1764         l_tax_exmpt_cr_mthd := 'CREATE_EXEMPTIONS';
1765         l_tax_acct_source_tax := NULL;
1766       ELSE
1767         l_tax_exmpt_cr_mthd := 'USE_EXEMPTIONS';
1768         l_tax_exmpt_src_tax := denorm_tbl(k).exmpt_src_tax;
1769       END IF;
1770 
1771       insert_tax_for_loc (l_min_start_date,
1772       l_tax_regime_code,
1773       denorm_tbl(k).seg_att_type10,
1774       denorm_tbl(k).country_code,
1775       denorm_tbl(k).tax_currency_code,  -- OU partitioned
1776       denorm_tbl(k).tax_precision,      -- OU partitioned
1777       denorm_tbl(k).tax_mau,            -- OU partitioned
1778       denorm_tbl(k).rounding_rule_code, -- OU partitioned
1779       denorm_tbl(k).allow_rounding_override, -- OU partitioned
1780                   denorm_tbl(k).id_flex_num,
1781                   l_tax_acct_cr_method,
1782                   l_tax_acct_source_tax,
1783                   l_tax_exmpt_cr_mthd,
1784                   l_tax_exmpt_src_tax,
1785                   10,
1786                   denorm_tbl(k).cross_curr_rate_type,
1787                   'LOCATION',
1788                   'Y',
1789                   'Y'
1790                  );
1791     END IF;
1792 
1793   END LOOP;
1794 
1795 -- Inserting tax for LOCATION based AR Tax Codes (partition by content_owner_id)
1796 IF L_MULTI_ORG_FLAG = 'Y'
1797 THEN
1798   INSERT ALL
1799   INTO zx_taxes_b_tmp
1800   (
1801        TAX                                    ,
1802        EFFECTIVE_FROM                         ,
1803        EFFECTIVE_TO                           ,
1804        TAX_REGIME_CODE                        ,
1805        TAX_TYPE_CODE                          ,
1806        ALLOW_MANUAL_ENTRY_FLAG                ,
1807        ALLOW_TAX_OVERRIDE_FLAG                ,
1808        MIN_TXBL_BSIS_THRSHLD                  ,
1809        MAX_TXBL_BSIS_THRSHLD                  ,
1810        MIN_TAX_RATE_THRSHLD                   ,
1811        MAX_TAX_RATE_THRSHLD                   ,
1812        MIN_TAX_AMT_THRSHLD                    ,
1813        MAX_TAX_AMT_THRSHLD                    ,
1814        COMPOUNDING_PRECEDENCE                 ,
1815        PERIOD_SET_NAME                        ,
1816        EXCHANGE_RATE_TYPE                     ,
1817        TAX_CURRENCY_CODE                      ,
1818        TAX_PRECISION                          ,
1819        MINIMUM_ACCOUNTABLE_UNIT               ,
1820        ROUNDING_RULE_CODE                     ,
1821        TAX_STATUS_RULE_FLAG                   ,
1822        TAX_RATE_RULE_FLAG                     ,
1823        DEF_PLACE_OF_SUPPLY_TYPE_CODE          ,
1824        PLACE_OF_SUPPLY_RULE_FLAG              ,
1825        DIRECT_RATE_RULE_FLAG                  ,
1826        APPLICABILITY_RULE_FLAG                ,
1827        TAX_CALC_RULE_FLAG                     ,
1828        TXBL_BSIS_THRSHLD_FLAG                 ,
1829        TAX_RATE_THRSHLD_FLAG                  ,
1830        TAX_AMT_THRSHLD_FLAG                   ,
1831        TAXABLE_BASIS_RULE_FLAG                ,
1832        DEF_INCLUSIVE_TAX_FLAG                 ,
1833        THRSHLD_GROUPING_LVL_CODE              ,
1834        HAS_OTHER_JURISDICTIONS_FLAG           ,
1835        ALLOW_EXEMPTIONS_FLAG                  ,
1836        ALLOW_EXCEPTIONS_FLAG                  ,
1837        ALLOW_RECOVERABILITY_FLAG              ,
1838        DEF_TAX_CALC_FORMULA                   ,
1839        TAX_INCLUSIVE_OVERRIDE_FLAG            ,
1840        DEF_TAXABLE_BASIS_FORMULA              ,
1841        DEF_REGISTR_PARTY_TYPE_CODE            ,
1842        REGISTRATION_TYPE_RULE_FLAG            ,
1843        REPORTING_ONLY_FLAG                    ,
1844        AUTO_PRVN_FLAG                         ,
1845        LIVE_FOR_PROCESSING_FLAG               ,  --YK:3/16/2005
1846        LIVE_FOR_APPLICABILITY_FLAG            ,  --Bug 4225216
1847        HAS_DETAIL_TB_THRSHLD_FLAG             ,
1848        HAS_TAX_DET_DATE_RULE_FLAG             ,
1849        HAS_EXCH_RATE_DATE_RULE_FLAG           ,
1850        HAS_TAX_POINT_DATE_RULE_FLAG           ,
1851        PRINT_ON_INVOICE_FLAG                  ,
1852        USE_LEGAL_MSG_FLAG                     ,
1853        CALC_ONLY_FLAG                         ,
1854        PRIMARY_RECOVERY_TYPE_CODE             ,
1855        PRIMARY_REC_TYPE_RULE_FLAG             ,
1856        SECONDARY_RECOVERY_TYPE_CODE           ,
1857        SECONDARY_REC_TYPE_RULE_FLAG           ,
1858        PRIMARY_REC_RATE_DET_RULE_FLAG         ,
1859        SEC_REC_RATE_DET_RULE_FLAG             ,
1860        OFFSET_TAX_FLAG                        ,
1861        RECOVERY_RATE_OVERRIDE_FLAG            ,
1862        ZONE_GEOGRAPHY_TYPE                    ,
1863        REGN_NUM_SAME_AS_LE_FLAG               ,
1864        DEF_REC_SETTLEMENT_OPTION_CODE         ,
1865        RECORD_TYPE_CODE                       ,
1866        ALLOW_ROUNDING_OVERRIDE_FLAG           ,
1867        SOURCE_TAX_FLAG                        ,
1868        SPECIAL_INCLUSIVE_TAX_FLAG             ,
1869        ATTRIBUTE1                             ,
1870        ATTRIBUTE2                             ,
1871        ATTRIBUTE3                             ,
1872        ATTRIBUTE4                             ,
1873        ATTRIBUTE5                             ,
1874        ATTRIBUTE6                             ,
1875        ATTRIBUTE7                             ,
1876        ATTRIBUTE8                             ,
1877        ATTRIBUTE9                             ,
1878        ATTRIBUTE10                            ,
1879        ATTRIBUTE11                            ,
1880        ATTRIBUTE12                            ,
1881        ATTRIBUTE13                            ,
1882        ATTRIBUTE14                            ,
1883        ATTRIBUTE15                            ,
1884        ATTRIBUTE_CATEGORY                     ,
1885        PARENT_GEOGRAPHY_TYPE                  ,
1886        PARENT_GEOGRAPHY_ID                    ,
1887        ALLOW_MASS_CREATE_FLAG                 ,
1888        APPLIED_AMT_HANDLING_FLAG              ,
1889        TAX_ID                                 ,
1890        CONTENT_OWNER_ID                       ,
1891        REP_TAX_AUTHORITY_ID                   ,
1892        COLL_TAX_AUTHORITY_ID                  ,
1893        THRSHLD_CHK_TMPLT_CODE                 ,
1894        DEF_PRIMARY_REC_RATE_CODE              ,
1895        DEF_SECONDARY_REC_RATE_CODE            ,
1896        CREATED_BY                           ,
1897        CREATION_DATE                          ,
1898        LAST_UPDATED_BY                        ,
1899        LAST_UPDATE_DATE                       ,
1900        LAST_UPDATE_LOGIN                      ,
1901        REQUEST_ID                             ,
1902        PROGRAM_APPLICATION_ID                 ,
1903        PROGRAM_ID                             ,
1904        PROGRAM_LOGIN_ID                       ,
1905        OVERRIDE_GEOGRAPHY_TYPE                , --Bug 4163204
1906        OBJECT_VERSION_NUMBER                ,
1907        TAX_ACCOUNT_CREATE_METHOD_CODE         , --Bug 4204464
1908        TAX_ACCOUNT_SOURCE_TAX                 , --Bug 4204464
1909        TAX_EXMPT_CR_METHOD_CODE         , --Bug 4204464, 4295147
1910        TAX_EXMPT_SOURCE_TAX             ,
1911        APPLICABLE_BY_DEFAULT_FLAG         --Bug 4905771
1912   )
1913   VALUES
1914   (
1915        L_TAX                                    ,
1916        L_EFFECTIVE_FROM                         ,
1917        L_EFFECTIVE_TO                           ,
1918        L_TAX_REGIME_CODE                        ,
1919        L_TAX_TYPE_CODE                          ,
1920        L_ALLOW_MANUAL_ENTRY_FLAG                ,
1921        L_ALLOW_TAX_OVERRIDE_FLAG                ,
1922        L_MIN_TXBL_BSIS_THRSHLD                  ,
1923        L_MAX_TXBL_BSIS_THRSHLD                  ,
1924        L_MIN_TAX_RATE_THRSHLD                   ,
1925        L_MAX_TAX_RATE_THRSHLD                   ,
1926        L_MIN_TAX_AMT_THRSHLD                    ,
1927        L_MAX_TAX_AMT_THRSHLD                    ,
1928        L_COMPOUNDING_PRECEDENCE                 ,
1929        L_PERIOD_SET_NAME                        ,
1930        L_EXCHANGE_RATE_TYPE                     ,
1931        L_TAX_CURRENCY_CODE                      ,
1932        L_TAX_PRECISION                          ,
1933        L_MINIMUM_ACCOUNTABLE_UNIT               ,
1934        L_ROUNDING_RULE_CODE                     ,
1935        L_TAX_STATUS_RULE_FLAG                   ,
1936        L_TAX_RATE_RULE_FLAG                     ,
1937        L_DEF_PLC_OF_SPPLY_TYP_CD                ,
1938        L_PLACE_OF_SUPPLY_RULE_FLAG              ,
1939        L_DIRECT_RATE_RULE_FLAG                  ,
1940        L_APPLICABILITY_RULE_FLAG                ,
1941        L_TAX_CALC_RULE_FLAG                     ,
1942        L_TXBL_BSIS_THRSHLD_FLAG                 ,
1943        L_TAX_RATE_THRSHLD_FLAG                  ,
1944        L_TAX_AMT_THRSHLD_FLAG                   ,
1945        L_TAXABLE_BASIS_RULE_FLAG                ,
1946        L_DEF_INCLUSIVE_TAX_FLAG                 ,
1947        L_THRSHLD_GROUPING_LVL_CODE              ,
1948        L_HAS_OTHER_JURISDICTIONS_FLAG           ,
1949        L_ALLOW_EXEMPTIONS_FLAG                  ,
1950        L_ALLOW_EXCEPTIONS_FLAG                  ,
1951        L_ALLOW_RECOVERABILITY_FLAG              ,
1952        L_DEF_TAX_CALC_FORMULA                   ,
1953        L_TAX_INCLUSIVE_OVERRIDE_FLAG            ,
1954        L_DEF_TAXABLE_BASIS_FORMULA              ,
1955        L_DEF_REGISTR_PARTY_TYPE_CODE            ,
1956        L_REGISTRATION_TYPE_RULE_FLAG            ,
1957        L_REPORTING_ONLY_FLAG                    ,
1958        L_AUTO_PRVN_FLAG                         ,
1959        L_LIVE_FOR_PROCESSING_FLAG               ,  --YK:3/16/2005
1960        L_LIVE_FOR_APPLICABILITY_FLAG            ,  --Bug 4225216
1961        L_HAS_DETAIL_TB_THRSHLD_FLAG             ,
1962        L_HAS_TAX_DET_DATE_RULE_FLAG             ,
1963        L_HAS_EXCH_RATE_DATE_RULE_FLAG           ,
1964        L_HAS_TAX_POINT_DATE_RULE_FLAG           ,
1965        L_PRINT_ON_INVOICE_FLAG                  ,
1966        L_USE_LEGAL_MSG_FLAG                     ,
1967        L_CALC_ONLY_FLAG                         ,
1968        L_PRIMARY_RECOVERY_TYPE_CODE             ,
1969        L_PRIMARY_REC_TYPE_RULE_FLAG             ,
1970        L_SECONDARY_RECOVERY_TYPE_CODE           ,
1971        L_SECONDARY_REC_TYPE_RULE_FLAG           ,
1972        L_PRMRY_REC_RATE_DET_RULE_FLAG           ,
1973        L_SEC_REC_RATE_DET_RULE_FLAG             ,
1974        L_OFFSET_TAX_FLAG                        ,
1975        L_RECOVERY_RATE_OVERRIDE_FLAG            ,
1976        L_ZONE_GEOGRAPHY_TYPE                    ,
1977        L_REGN_NUM_SAME_AS_LE_FLAG               ,
1978        L_DEF_REC_STTLMNT_OPTN_CODE              ,
1979        L_RECORD_TYPE_CODE                       ,
1980        L_ALLOW_ROUNDING_OVERRIDE_FLAG           ,
1981        L_SOURCE_TAX_FLAG                        ,
1982        L_SPECIAL_INCLUSIVE_TAX_FLAG             ,
1983        L_ATTRIBUTE1                             ,
1984        L_ATTRIBUTE2                             ,
1985        L_ATTRIBUTE3                             ,
1986        L_ATTRIBUTE4                             ,
1987        L_ATTRIBUTE5                             ,
1988        L_ATTRIBUTE6                             ,
1989        L_ATTRIBUTE7                             ,
1990        L_ATTRIBUTE8                             ,
1991        L_ATTRIBUTE9                             ,
1992        L_ATTRIBUTE10                            ,
1993        L_ATTRIBUTE11                            ,
1994        L_ATTRIBUTE12                            ,
1995        L_ATTRIBUTE13                            ,
1996        L_ATTRIBUTE14                            ,
1997        L_ATTRIBUTE15                            ,
1998        L_ATTRIBUTE_CATEGORY                     ,
1999        L_PARENT_GEOGRAPHY_TYPE                  ,
2000        L_PARENT_GEOGRAPHY_ID                    ,
2001        L_ALLOW_MASS_CREATE_FLAG                 ,
2002        L_APPLIED_AMT_HANDLING_FLAG              ,
2003        ZX_TAXES_B_S.NEXTVAL                     ,
2004        L_CONTENT_OWNER_ID                       ,
2005        L_REP_TAX_AUTHORITY_ID                   ,
2006        L_COLL_TAX_AUTHORITY_ID                  ,
2007        L_THRSHLD_CHK_TMPLT_CODE                 ,
2008        L_DEF_PRIMARY_REC_RATE_CODE              ,
2009        L_DEF_SECONDARY_REC_RATE_CODE            ,
2010        L_CREATED_BY                       ,
2011        L_CREATION_DATE                          ,
2012        L_LAST_UPDATED_BY                        ,
2013        L_LAST_UPDATE_DATE                       ,
2014        L_LAST_UPDATE_LOGIN                      ,
2015        L_REQUEST_ID                             ,
2016        L_PROGRAM_APPLICATION_ID                 ,
2017        L_PROGRAM_ID                             ,
2018        L_PROGRAM_LOGIN_ID                       ,
2019        NULL           ,
2020   1                                       ,
2021        L_TAX_ACCOUNT_CR_METHOD_CODE             , --Bug 4204464
2022        L_TAX_ACCOUNT_SOURCE_TAX                 , --Bug 4204464
2023        L_TAX_EXMPT_CR_MTHD_CD             , --Bug 4204464,4295147
2024        L_TAX_EXMPT_SOURCE_TAX             ,
2025        L_APPLICABLE_BY_DEFAULT_FLAG         --Bug 4905771
2026   )
2027 /* --Bug4400704
2028   INTO zx_taxes_tl
2029   (
2030    TAX_ID                          ,
2031    LANGUAGE                        ,
2032    SOURCE_LANG                     ,
2033    TAX_FULL_NAME                   ,
2034    CREATED_BY                      ,
2035    CREATION_DATE                   ,
2036    LAST_UPDATED_BY                 ,
2037    LAST_UPDATE_DATE                ,
2038    LAST_UPDATE_LOGIN
2039   )
2040   VALUES
2041   (
2042    ZX_TAXES_B_S.NEXTVAL            ,
2043    USERENV('LANG')                 ,
2044    USERENV('LANG')                 ,
2045    'LOCATION'                      ,
2046    L_CREATED_BY                      ,
2047    L_CREATION_DATE                   ,
2048    L_LAST_UPDATED_BY                 ,
2049    L_LAST_UPDATE_DATE                ,
2050    L_LAST_UPDATE_LOGIN
2051   )
2052 */
2053   SELECT DISTINCT
2054        decode(avt.leasing_flag,'Y',avt.tax_code,'LOCATION')                          L_TAX, --Bug fix 5147333
2055        (select min(start_date) from ar_vat_tax_all_b where tax_type = 'LOCATION')    L_EFFECTIVE_FROM,
2056        NULL                               L_EFFECTIVE_TO,
2057        zrb.tax_regime_code                L_TAX_REGIME_CODE,
2058        'LOCATION'                         L_TAX_TYPE_CODE,
2059        --5713986, Update allow_manual_entry_flag, allow_tax_override_flag as 'Y' instead of 'N'
2060        'Y'                                L_ALLOW_MANUAL_ENTRY_FLAG,
2061        'Y'                                L_ALLOW_TAX_OVERRIDE_FLAG,
2062        NULL                               L_MIN_TXBL_BSIS_THRSHLD,
2063        NULL                               L_MAX_TXBL_BSIS_THRSHLD,
2064        NULL                               L_MIN_TAX_RATE_THRSHLD,
2065        NULL                               L_MAX_TAX_RATE_THRSHLD,
2066        NULL                               L_MIN_TAX_AMT_THRSHLD,
2067        NULL                               L_MAX_TAX_AMT_THRSHLD,
2068        NULL                               L_COMPOUNDING_PRECEDENCE,
2069        NULL                               L_PERIOD_SET_NAME,
2070        -- Bug 4539221
2071        -- Deriving exchange_rate_type
2072        -- If default_exchange_rate_type is NULL use most frequently
2073        -- used conversion_type from gl_daily_rates.
2074       -- CASE WHEN asp.cross_currency_rate_type IS NULL
2075       --     THEN
2076       --    'Corporate' --Bug Fix 5248597
2077       --      ELSE
2078            -- Bug 6006519/5654551. 'User' is not a valid exchange rate type
2079       --     DECODE(asp.cross_currency_rate_type,
2080       --            'User', 'Corporate',
2081       --            asp.cross_currency_rate_type)
2082       -- END                                L_EXCHANGE_RATE_TYPE,
2083        NULL          L_EXCHANGE_RATE_TYPE,
2084        gsob.currency_code                 L_TAX_CURRENCY_CODE,
2085        asp.tax_precision                  L_TAX_PRECISION,
2086        asp.tax_minimum_accountable_unit   L_MINIMUM_ACCOUNTABLE_UNIT,
2087        asp.tax_rounding_rule              L_ROUNDING_RULE_CODE,
2088        'N'                                L_TAX_STATUS_RULE_FLAG,
2089        'N'                                L_TAX_RATE_RULE_FLAG,
2090        'SHIP_TO_BILL_TO'                  L_DEF_PLC_OF_SPPLY_TYP_CD,
2091        'N'                                L_PLACE_OF_SUPPLY_RULE_FLAG,
2092        --  Bug 4575226 : direct_rate_rule_flag is N for US sales tax
2093        'N'                                L_DIRECT_RATE_RULE_FLAG,
2094        'N'                                L_APPLICABILITY_RULE_FLAG,
2095        'N'                                L_TAX_CALC_RULE_FLAG,
2096        'N'                                L_TXBL_BSIS_THRSHLD_FLAG,
2097        'N'                                L_TAX_RATE_THRSHLD_FLAG,
2098        'N'                                L_TAX_AMT_THRSHLD_FLAG,
2099        'N'                                L_TAXABLE_BASIS_RULE_FLAG,
2100        'N'                                L_DEF_INCLUSIVE_TAX_FLAG,
2101        NULL                               L_THRSHLD_GROUPING_LVL_CODE,
2102        'N'                                L_HAS_OTHER_JURISDICTIONS_FLAG,
2103        'Y'                                L_ALLOW_EXEMPTIONS_FLAG,
2104        'Y'                                L_ALLOW_EXCEPTIONS_FLAG,
2105        'N'                                      L_ALLOW_RECOVERABILITY_FLAG,
2106        'STANDARD_TC'                            L_DEF_TAX_CALC_FORMULA,
2107        'Y'                                      L_TAX_INCLUSIVE_OVERRIDE_FLAG,
2108        'STANDARD_TB'                            L_DEF_TAXABLE_BASIS_FORMULA,
2109        'SHIP_TO_SITE'                           L_DEF_REGISTR_PARTY_TYPE_CODE,
2110        'N'                                      L_REGISTRATION_TYPE_RULE_FLAG,
2111        'N'                                      L_REPORTING_ONLY_FLAG,
2112        'N'                                      L_AUTO_PRVN_FLAG,
2113        'Y'                                      L_LIVE_FOR_PROCESSING_FLAG,  --YK:3/16/2005
2114        'N'                                      L_LIVE_FOR_APPLICABILITY_FLAG, --Bug 4225216
2115        'N'                                      L_HAS_DETAIL_TB_THRSHLD_FLAG,
2116        'N'                                      L_HAS_TAX_DET_DATE_RULE_FLAG,
2117        'N'                                      L_HAS_EXCH_RATE_DATE_RULE_FLAG,
2118        'N'                                      L_HAS_TAX_POINT_DATE_RULE_FLAG,
2119        'Y'                                      L_PRINT_ON_INVOICE_FLAG,
2120        'N'                                      L_USE_LEGAL_MSG_FLAG,
2121        'N'                                      L_CALC_ONLY_FLAG,
2122        NULL                                     L_PRIMARY_RECOVERY_TYPE_CODE,
2123        'N'                                      L_PRIMARY_REC_TYPE_RULE_FLAG,
2124        NULL                                     L_SECONDARY_RECOVERY_TYPE_CODE,
2125        'N'                                      L_SECONDARY_REC_TYPE_RULE_FLAG,
2126        'N'                                      L_PRMRY_REC_RATE_DET_RULE_FLAG,
2127        'N'                                      L_SEC_REC_RATE_DET_RULE_FLAG,
2128        'N'                                      L_OFFSET_TAX_FLAG,
2129        'N'                                      L_RECOVERY_RATE_OVERRIDE_FLAG,
2130        NULL                                     L_ZONE_GEOGRAPHY_TYPE,
2131        'N'                                      L_REGN_NUM_SAME_AS_LE_FLAG,
2132        NULL                                     L_DEF_REC_STTLMNT_OPTN_CODE,
2133        'MIGRATED'                               L_RECORD_TYPE_CODE,
2134        'N'                                      L_ALLOW_ROUNDING_OVERRIDE_FLAG,
2135        'Y'                                      L_SOURCE_TAX_FLAG,
2136        'N'                                      L_SPECIAL_INCLUSIVE_TAX_FLAG,
2137        NULL                                     L_ATTRIBUTE1,
2138        NULL                                     L_ATTRIBUTE2,
2139        NULL                                     L_ATTRIBUTE3,
2140        NULL                                     L_ATTRIBUTE4,
2141        NULL                                     L_ATTRIBUTE5,
2142        NULL                                     L_ATTRIBUTE6,
2143        NULL                                     L_ATTRIBUTE7,
2144        NULL                                     L_ATTRIBUTE8,
2145        NULL                                     L_ATTRIBUTE9,
2146        NULL                                     L_ATTRIBUTE10,
2147        NULL                                     L_ATTRIBUTE11,
2148        NULL                                     L_ATTRIBUTE12,
2149        NULL                                     L_ATTRIBUTE13,
2150        NULL                                     L_ATTRIBUTE14,
2151        NULL                                     L_ATTRIBUTE15,
2152        NULL                                     L_ATTRIBUTE_CATEGORY,
2153        'COUNTRY'                                L_PARENT_GEOGRAPHY_TYPE,
2154        (SELECT geography_id
2155   FROM   hz_geographies
2156   WHERE  country_code = asp.default_country
2157   AND    rownum = 1)                      L_PARENT_GEOGRAPHY_ID,
2158        'N'                                      L_ALLOW_MASS_CREATE_FLAG,
2159        'P'                                      L_APPLIED_AMT_HANDLING_FLAG,
2160        --ZX_TAXES_B_S.NEXTVAL                     L_TAX_ID,
2161        ptp.party_tax_profile_id                 L_CONTENT_OWNER_ID,
2162        NULL                                     L_REP_TAX_AUTHORITY_ID,
2163        NULL                                     L_COLL_TAX_AUTHORITY_ID,
2164        NULL                                     L_THRSHLD_CHK_TMPLT_CODE,
2165        NULL                                     L_DEF_PRIMARY_REC_RATE_CODE,
2166        NULL                                     L_DEF_SECONDARY_REC_RATE_CODE,
2167        fnd_global.user_id                       L_CREATED_BY,
2168        SYSDATE                                  L_CREATION_DATE,
2169        fnd_global.user_id                       L_LAST_UPDATED_BY,
2170        SYSDATE                                  L_LAST_UPDATE_DATE,
2171        fnd_global.conc_login_id                 L_LAST_UPDATE_LOGIN,
2172        fnd_global.conc_request_id               L_REQUEST_ID,
2173        fnd_global.prog_appl_id                  L_PROGRAM_APPLICATION_ID,
2174        fnd_global.conc_program_id               L_PROGRAM_ID,
2175        fnd_global.conc_login_id                 L_PROGRAM_LOGIN_ID,
2176        'CREATE_ACCOUNTS'                        L_TAX_ACCOUNT_CR_METHOD_CODE,  --Bug 4204464
2177        NULL                                     L_TAX_ACCOUNT_SOURCE_TAX             , --Bug 4204464
2178        'CREATE_EXEMPTIONS'           L_TAX_EXMPT_CR_MTHD_CD         , --Bug 4204464
2179        NULL                                     L_TAX_EXMPT_SOURCE_TAX,
2180        'N'                                      L_APPLICABLE_BY_DEFAULT_FLAG   --Bug 4905771
2181   FROM
2182            ar_vat_tax_all_b          avt,
2183      zx_party_tax_profile      ptp,
2184      ar_system_parameters_all  asp,
2185      gl_sets_of_books          gsob,
2186      zx_regimes_b              zrb
2187   WHERE    avt.org_id = ptp.party_id
2188   AND      ptp.party_type_code = 'OU'
2189   AND      avt.org_id = asp.org_id
2190   AND      asp.set_of_books_id = gsob.set_of_books_id
2191   AND      avt.tax_type = 'LOCATION'
2192   AND      NVL(avt.enabled_flag,'N') = 'Y'  -- Added for Bug#13917170
2193   AND      zrb.tax_regime_code like '%-SALES-TAX-%'
2194   -- Bug 4564206: Added condition to check active tax code at the time of sysdate
2195   AND      trunc(avt.start_date ) < sysdate
2196   AND      sysdate <= nvl(trunc(end_date), sysdate)
2197   AND      asp.location_structure_id = TO_NUMBER(
2198                                              NVL(LTRIM(
2199                                               TRANSLATE(zrb.tax_regime_code,
2200                                                 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_',
2201                                                 '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'
2202                                                          ),'@'
2203                                                        ),'-999'
2204                                                   )
2205                                                 )
2206   AND NOT EXISTS (SELECT 1
2207      FROM   zx_taxes_b  ztb
2208      WHERE  ztb.tax_regime_code = zrb.tax_regime_code
2209      AND    (ztb.tax = 'LOCATION' or ztb.tax = avt.tax_code)
2210      AND    ztb.content_owner_id = ptp.party_tax_profile_id);
2211  ELSE
2212 
2213    INSERT ALL
2214   INTO zx_taxes_b_tmp
2215   (
2216        TAX                                    ,
2217        EFFECTIVE_FROM                         ,
2218        EFFECTIVE_TO                           ,
2219        TAX_REGIME_CODE                        ,
2220        TAX_TYPE_CODE                          ,
2221        ALLOW_MANUAL_ENTRY_FLAG                ,
2222        ALLOW_TAX_OVERRIDE_FLAG                ,
2223        MIN_TXBL_BSIS_THRSHLD                  ,
2224        MAX_TXBL_BSIS_THRSHLD                  ,
2225        MIN_TAX_RATE_THRSHLD                   ,
2226        MAX_TAX_RATE_THRSHLD                   ,
2227        MIN_TAX_AMT_THRSHLD                    ,
2228        MAX_TAX_AMT_THRSHLD                    ,
2229        COMPOUNDING_PRECEDENCE                 ,
2230        PERIOD_SET_NAME                        ,
2231        EXCHANGE_RATE_TYPE                     ,
2232        TAX_CURRENCY_CODE                      ,
2233        TAX_PRECISION                          ,
2234        MINIMUM_ACCOUNTABLE_UNIT               ,
2235        ROUNDING_RULE_CODE                     ,
2236        TAX_STATUS_RULE_FLAG                   ,
2237        TAX_RATE_RULE_FLAG                     ,
2238        DEF_PLACE_OF_SUPPLY_TYPE_CODE          ,
2239        PLACE_OF_SUPPLY_RULE_FLAG              ,
2240        DIRECT_RATE_RULE_FLAG                  ,
2241        APPLICABILITY_RULE_FLAG                ,
2242        TAX_CALC_RULE_FLAG                     ,
2243        TXBL_BSIS_THRSHLD_FLAG                 ,
2244        TAX_RATE_THRSHLD_FLAG                  ,
2245        TAX_AMT_THRSHLD_FLAG                   ,
2246        TAXABLE_BASIS_RULE_FLAG                ,
2247        DEF_INCLUSIVE_TAX_FLAG                 ,
2248        THRSHLD_GROUPING_LVL_CODE              ,
2249        HAS_OTHER_JURISDICTIONS_FLAG           ,
2250        ALLOW_EXEMPTIONS_FLAG                  ,
2251        ALLOW_EXCEPTIONS_FLAG                  ,
2252        ALLOW_RECOVERABILITY_FLAG              ,
2253        DEF_TAX_CALC_FORMULA                   ,
2254        TAX_INCLUSIVE_OVERRIDE_FLAG            ,
2255        DEF_TAXABLE_BASIS_FORMULA              ,
2256        DEF_REGISTR_PARTY_TYPE_CODE            ,
2257        REGISTRATION_TYPE_RULE_FLAG            ,
2258        REPORTING_ONLY_FLAG                    ,
2259        AUTO_PRVN_FLAG                         ,
2260        LIVE_FOR_PROCESSING_FLAG               ,  --YK:3/16/2005
2261        LIVE_FOR_APPLICABILITY_FLAG            ,  --Bug 4225216
2262        HAS_DETAIL_TB_THRSHLD_FLAG             ,
2263        HAS_TAX_DET_DATE_RULE_FLAG             ,
2264        HAS_EXCH_RATE_DATE_RULE_FLAG           ,
2265        HAS_TAX_POINT_DATE_RULE_FLAG           ,
2266        PRINT_ON_INVOICE_FLAG                  ,
2267        USE_LEGAL_MSG_FLAG                     ,
2268        CALC_ONLY_FLAG                         ,
2269        PRIMARY_RECOVERY_TYPE_CODE             ,
2270        PRIMARY_REC_TYPE_RULE_FLAG             ,
2271        SECONDARY_RECOVERY_TYPE_CODE           ,
2272        SECONDARY_REC_TYPE_RULE_FLAG           ,
2273        PRIMARY_REC_RATE_DET_RULE_FLAG         ,
2274        SEC_REC_RATE_DET_RULE_FLAG             ,
2275        OFFSET_TAX_FLAG                        ,
2276        RECOVERY_RATE_OVERRIDE_FLAG            ,
2277        ZONE_GEOGRAPHY_TYPE                    ,
2278        REGN_NUM_SAME_AS_LE_FLAG               ,
2279        DEF_REC_SETTLEMENT_OPTION_CODE         ,
2280        RECORD_TYPE_CODE                       ,
2281        ALLOW_ROUNDING_OVERRIDE_FLAG           ,
2282        SOURCE_TAX_FLAG                        ,
2283        SPECIAL_INCLUSIVE_TAX_FLAG             ,
2284        ATTRIBUTE1                             ,
2285        ATTRIBUTE2                             ,
2286        ATTRIBUTE3                             ,
2287        ATTRIBUTE4                             ,
2288        ATTRIBUTE5                             ,
2289        ATTRIBUTE6                             ,
2290        ATTRIBUTE7                             ,
2291        ATTRIBUTE8                             ,
2292        ATTRIBUTE9                             ,
2293        ATTRIBUTE10                            ,
2294        ATTRIBUTE11                            ,
2295        ATTRIBUTE12                            ,
2296        ATTRIBUTE13                            ,
2297        ATTRIBUTE14                            ,
2298        ATTRIBUTE15                            ,
2299        ATTRIBUTE_CATEGORY                     ,
2300        PARENT_GEOGRAPHY_TYPE                  ,
2301        PARENT_GEOGRAPHY_ID                    ,
2302        ALLOW_MASS_CREATE_FLAG                 ,
2303        APPLIED_AMT_HANDLING_FLAG              ,
2304        TAX_ID                                 ,
2305        CONTENT_OWNER_ID                       ,
2306        REP_TAX_AUTHORITY_ID                   ,
2307        COLL_TAX_AUTHORITY_ID                  ,
2308        THRSHLD_CHK_TMPLT_CODE                 ,
2309        DEF_PRIMARY_REC_RATE_CODE              ,
2310        DEF_SECONDARY_REC_RATE_CODE            ,
2311        CREATED_BY                           ,
2312        CREATION_DATE                          ,
2313        LAST_UPDATED_BY                        ,
2314        LAST_UPDATE_DATE                       ,
2315        LAST_UPDATE_LOGIN                      ,
2316        REQUEST_ID                             ,
2317        PROGRAM_APPLICATION_ID                 ,
2318        PROGRAM_ID                             ,
2319        PROGRAM_LOGIN_ID                       ,
2320        OVERRIDE_GEOGRAPHY_TYPE                , --Bug 4163204
2321        OBJECT_VERSION_NUMBER                ,
2322        TAX_ACCOUNT_CREATE_METHOD_CODE         , --Bug 4204464
2323        TAX_ACCOUNT_SOURCE_TAX                 , --Bug 4204464
2324        TAX_EXMPT_CR_METHOD_CODE         , --Bug 4204464, 4295147
2325        TAX_EXMPT_SOURCE_TAX             ,
2326        APPLICABLE_BY_DEFAULT_FLAG         --Bug 4905771
2327   )
2328   VALUES
2329   (
2330        L_TAX                                    ,
2331        L_EFFECTIVE_FROM                         ,
2332        L_EFFECTIVE_TO                           ,
2333        L_TAX_REGIME_CODE                        ,
2334        L_TAX_TYPE_CODE                          ,
2335        L_ALLOW_MANUAL_ENTRY_FLAG                ,
2336        L_ALLOW_TAX_OVERRIDE_FLAG                ,
2337        L_MIN_TXBL_BSIS_THRSHLD                  ,
2338        L_MAX_TXBL_BSIS_THRSHLD                  ,
2339        L_MIN_TAX_RATE_THRSHLD                   ,
2340        L_MAX_TAX_RATE_THRSHLD                   ,
2341        L_MIN_TAX_AMT_THRSHLD                    ,
2342        L_MAX_TAX_AMT_THRSHLD                    ,
2343        L_COMPOUNDING_PRECEDENCE                 ,
2344        L_PERIOD_SET_NAME                        ,
2345        L_EXCHANGE_RATE_TYPE                     ,
2346        L_TAX_CURRENCY_CODE                      ,
2347        L_TAX_PRECISION                          ,
2348        L_MINIMUM_ACCOUNTABLE_UNIT               ,
2349        L_ROUNDING_RULE_CODE                     ,
2350        L_TAX_STATUS_RULE_FLAG                   ,
2351        L_TAX_RATE_RULE_FLAG                     ,
2352        L_DEF_PLC_OF_SPPLY_TYP_CD                ,
2353        L_PLACE_OF_SUPPLY_RULE_FLAG              ,
2354        L_DIRECT_RATE_RULE_FLAG                  ,
2355        L_APPLICABILITY_RULE_FLAG                ,
2356        L_TAX_CALC_RULE_FLAG                     ,
2357        L_TXBL_BSIS_THRSHLD_FLAG                 ,
2358        L_TAX_RATE_THRSHLD_FLAG                  ,
2359        L_TAX_AMT_THRSHLD_FLAG                   ,
2360        L_TAXABLE_BASIS_RULE_FLAG                ,
2361        L_DEF_INCLUSIVE_TAX_FLAG                 ,
2362        L_THRSHLD_GROUPING_LVL_CODE              ,
2363        L_HAS_OTHER_JURISDICTIONS_FLAG           ,
2364        L_ALLOW_EXEMPTIONS_FLAG                  ,
2365        L_ALLOW_EXCEPTIONS_FLAG                  ,
2366        L_ALLOW_RECOVERABILITY_FLAG              ,
2367        L_DEF_TAX_CALC_FORMULA                   ,
2368        L_TAX_INCLUSIVE_OVERRIDE_FLAG            ,
2369        L_DEF_TAXABLE_BASIS_FORMULA              ,
2370        L_DEF_REGISTR_PARTY_TYPE_CODE            ,
2371        L_REGISTRATION_TYPE_RULE_FLAG            ,
2372        L_REPORTING_ONLY_FLAG                    ,
2373        L_AUTO_PRVN_FLAG                         ,
2374        L_LIVE_FOR_PROCESSING_FLAG               ,  --YK:3/16/2005
2375        L_LIVE_FOR_APPLICABILITY_FLAG            ,  --Bug 4225216
2376        L_HAS_DETAIL_TB_THRSHLD_FLAG             ,
2377        L_HAS_TAX_DET_DATE_RULE_FLAG             ,
2378        L_HAS_EXCH_RATE_DATE_RULE_FLAG           ,
2379        L_HAS_TAX_POINT_DATE_RULE_FLAG           ,
2380        L_PRINT_ON_INVOICE_FLAG                  ,
2381        L_USE_LEGAL_MSG_FLAG                     ,
2382        L_CALC_ONLY_FLAG                         ,
2383        L_PRIMARY_RECOVERY_TYPE_CODE             ,
2384        L_PRIMARY_REC_TYPE_RULE_FLAG             ,
2385        L_SECONDARY_RECOVERY_TYPE_CODE           ,
2386        L_SECONDARY_REC_TYPE_RULE_FLAG           ,
2387        L_PRMRY_REC_RATE_DET_RULE_FLAG           ,
2388        L_SEC_REC_RATE_DET_RULE_FLAG             ,
2389        L_OFFSET_TAX_FLAG                        ,
2390        L_RECOVERY_RATE_OVERRIDE_FLAG            ,
2391        L_ZONE_GEOGRAPHY_TYPE                    ,
2392        L_REGN_NUM_SAME_AS_LE_FLAG               ,
2393        L_DEF_REC_STTLMNT_OPTN_CODE              ,
2394        L_RECORD_TYPE_CODE                       ,
2395        L_ALLOW_ROUNDING_OVERRIDE_FLAG           ,
2396        L_SOURCE_TAX_FLAG                        ,
2397        L_SPECIAL_INCLUSIVE_TAX_FLAG             ,
2398        L_ATTRIBUTE1                             ,
2399        L_ATTRIBUTE2                             ,
2400        L_ATTRIBUTE3                             ,
2401        L_ATTRIBUTE4                             ,
2402        L_ATTRIBUTE5                             ,
2403        L_ATTRIBUTE6                             ,
2404        L_ATTRIBUTE7                             ,
2405        L_ATTRIBUTE8                             ,
2406        L_ATTRIBUTE9                             ,
2407        L_ATTRIBUTE10                            ,
2408        L_ATTRIBUTE11                            ,
2409        L_ATTRIBUTE12                            ,
2410        L_ATTRIBUTE13                            ,
2411        L_ATTRIBUTE14                            ,
2412        L_ATTRIBUTE15                            ,
2413        L_ATTRIBUTE_CATEGORY                     ,
2414        L_PARENT_GEOGRAPHY_TYPE                  ,
2415        L_PARENT_GEOGRAPHY_ID                    ,
2416        L_ALLOW_MASS_CREATE_FLAG                 ,
2417        L_APPLIED_AMT_HANDLING_FLAG              ,
2418        ZX_TAXES_B_S.NEXTVAL                     ,
2419        L_CONTENT_OWNER_ID                       ,
2420        L_REP_TAX_AUTHORITY_ID                   ,
2421        L_COLL_TAX_AUTHORITY_ID                  ,
2422        L_THRSHLD_CHK_TMPLT_CODE                 ,
2423        L_DEF_PRIMARY_REC_RATE_CODE              ,
2424        L_DEF_SECONDARY_REC_RATE_CODE            ,
2425        L_CREATED_BY                       ,
2426        L_CREATION_DATE                          ,
2427        L_LAST_UPDATED_BY                        ,
2428        L_LAST_UPDATE_DATE                       ,
2429        L_LAST_UPDATE_LOGIN                      ,
2430        L_REQUEST_ID                             ,
2431        L_PROGRAM_APPLICATION_ID                 ,
2432        L_PROGRAM_ID                             ,
2433        L_PROGRAM_LOGIN_ID                       ,
2434        NULL           ,
2435   1                                       ,
2436        L_TAX_ACCOUNT_CR_METHOD_CODE             , --Bug 4204464
2437        L_TAX_ACCOUNT_SOURCE_TAX                 , --Bug 4204464
2438        L_TAX_EXMPT_CR_MTHD_CD             , --Bug 4204464,4295147
2439        L_TAX_EXMPT_SOURCE_TAX             ,
2440        L_APPLICABLE_BY_DEFAULT_FLAG         --Bug 4905771
2441   )
2442 /* --Bug4400704
2443   INTO zx_taxes_tl
2444   (
2445    TAX_ID                          ,
2446    LANGUAGE                        ,
2447    SOURCE_LANG                     ,
2448    TAX_FULL_NAME                   ,
2449    CREATED_BY                      ,
2450    CREATION_DATE                   ,
2451    LAST_UPDATED_BY                 ,
2452    LAST_UPDATE_DATE                ,
2453    LAST_UPDATE_LOGIN
2454   )
2455   VALUES
2456   (
2457    ZX_TAXES_B_S.NEXTVAL            ,
2458    USERENV('LANG')                 ,
2459    USERENV('LANG')                 ,
2460    'LOCATION'                      ,
2461    L_CREATED_BY                      ,
2462    L_CREATION_DATE                   ,
2463    L_LAST_UPDATED_BY                 ,
2464    L_LAST_UPDATE_DATE                ,
2465    L_LAST_UPDATE_LOGIN
2466   )
2467 */
2468   SELECT DISTINCT
2469        decode(avt.leasing_flag,'Y',avt.tax_code,'LOCATION')                          L_TAX, --Bug fix 5147333
2470        (select min(start_date) from ar_vat_tax_all_b where tax_type = 'LOCATION')    L_EFFECTIVE_FROM,
2471        NULL                               L_EFFECTIVE_TO,
2472        zrb.tax_regime_code                L_TAX_REGIME_CODE,
2473        'LOCATION'                         L_TAX_TYPE_CODE,
2474        --5713986, Update allow_manual_entry_flag,allow_tax_override_flag as 'Y' instead of 'N
2475        'Y'                                L_ALLOW_MANUAL_ENTRY_FLAG,
2476        'Y'                                L_ALLOW_TAX_OVERRIDE_FLAG,
2477        NULL                               L_MIN_TXBL_BSIS_THRSHLD,
2478        NULL                               L_MAX_TXBL_BSIS_THRSHLD,
2479        NULL                               L_MIN_TAX_RATE_THRSHLD,
2480        NULL                               L_MAX_TAX_RATE_THRSHLD,
2481        NULL                               L_MIN_TAX_AMT_THRSHLD,
2482        NULL                               L_MAX_TAX_AMT_THRSHLD,
2483        NULL                               L_COMPOUNDING_PRECEDENCE,
2484        NULL                               L_PERIOD_SET_NAME,
2485        -- Bug 4539221
2486        -- Deriving exchange_rate_type
2487        -- If default_exchange_rate_type is NULL use most frequently
2488        -- used conversion_type from gl_daily_rates.
2489       -- CASE WHEN asp.cross_currency_rate_type IS NULL
2490       --     THEN
2491       --    'Corporate' --Bug Fix 5248597
2492       --     ELSE
2493            -- Bug 6006519/5654551. 'User' is not a valid exchange rate type
2494       --     DECODE(asp.cross_currency_rate_type,
2495         --          'User', 'Corporate',
2496         --          asp.cross_currency_rate_type)
2497       -- END                                L_EXCHANGE_RATE_TYPE,
2498   NULL         L_EXCHANGE_RATE_TYPE,
2499        gsob.currency_code                 L_TAX_CURRENCY_CODE,
2500        asp.tax_precision                  L_TAX_PRECISION,
2501        asp.tax_minimum_accountable_unit   L_MINIMUM_ACCOUNTABLE_UNIT,
2502        asp.tax_rounding_rule              L_ROUNDING_RULE_CODE,
2503        'N'                                L_TAX_STATUS_RULE_FLAG,
2504        'N'                                L_TAX_RATE_RULE_FLAG,
2505        'SHIP_TO_BILL_TO'                  L_DEF_PLC_OF_SPPLY_TYP_CD,
2506        'N'                                L_PLACE_OF_SUPPLY_RULE_FLAG,
2507        --  Bug 4575226 : direct_rate_rule_flag is N for US sales tax
2508        'N'                                L_DIRECT_RATE_RULE_FLAG,
2509        'N'                                L_APPLICABILITY_RULE_FLAG,
2510        'N'                                L_TAX_CALC_RULE_FLAG,
2511        'N'                                L_TXBL_BSIS_THRSHLD_FLAG,
2512        'N'                                L_TAX_RATE_THRSHLD_FLAG,
2513        'N'                                L_TAX_AMT_THRSHLD_FLAG,
2514        'N'                                L_TAXABLE_BASIS_RULE_FLAG,
2515        'N'                                L_DEF_INCLUSIVE_TAX_FLAG,
2516        NULL                               L_THRSHLD_GROUPING_LVL_CODE,
2517        'N'                                L_HAS_OTHER_JURISDICTIONS_FLAG,
2518        'Y'                                L_ALLOW_EXEMPTIONS_FLAG,
2519        'Y'                                L_ALLOW_EXCEPTIONS_FLAG,
2520        'N'                                      L_ALLOW_RECOVERABILITY_FLAG,
2521        'STANDARD_TC'                            L_DEF_TAX_CALC_FORMULA,
2522        'Y'                                      L_TAX_INCLUSIVE_OVERRIDE_FLAG,
2523        'STANDARD_TB'                            L_DEF_TAXABLE_BASIS_FORMULA,
2524        'SHIP_TO_SITE'                           L_DEF_REGISTR_PARTY_TYPE_CODE,
2525        'N'                                      L_REGISTRATION_TYPE_RULE_FLAG,
2526        'N'                                      L_REPORTING_ONLY_FLAG,
2527        'N'                                      L_AUTO_PRVN_FLAG,
2528        'Y'                                      L_LIVE_FOR_PROCESSING_FLAG,  --YK:3/16/2005
2529        'N'                                      L_LIVE_FOR_APPLICABILITY_FLAG, --Bug 4225216
2530        'N'                                      L_HAS_DETAIL_TB_THRSHLD_FLAG,
2531        'N'                                      L_HAS_TAX_DET_DATE_RULE_FLAG,
2532        'N'                                      L_HAS_EXCH_RATE_DATE_RULE_FLAG,
2533        'N'                                      L_HAS_TAX_POINT_DATE_RULE_FLAG,
2534        'Y'                                      L_PRINT_ON_INVOICE_FLAG,
2535        'N'                                      L_USE_LEGAL_MSG_FLAG,
2536        'N'                                      L_CALC_ONLY_FLAG,
2537        NULL                                     L_PRIMARY_RECOVERY_TYPE_CODE,
2538        'N'                                      L_PRIMARY_REC_TYPE_RULE_FLAG,
2539        NULL                                     L_SECONDARY_RECOVERY_TYPE_CODE,
2540        'N'                                      L_SECONDARY_REC_TYPE_RULE_FLAG,
2541        'N'                                      L_PRMRY_REC_RATE_DET_RULE_FLAG,
2542        'N'                                      L_SEC_REC_RATE_DET_RULE_FLAG,
2543        'N'                                      L_OFFSET_TAX_FLAG,
2544        'N'                                      L_RECOVERY_RATE_OVERRIDE_FLAG,
2545        NULL                                     L_ZONE_GEOGRAPHY_TYPE,
2546        'N'                                      L_REGN_NUM_SAME_AS_LE_FLAG,
2547        NULL                                     L_DEF_REC_STTLMNT_OPTN_CODE,
2548        'MIGRATED'                               L_RECORD_TYPE_CODE,
2549        'N'                                      L_ALLOW_ROUNDING_OVERRIDE_FLAG,
2550        'Y'                                      L_SOURCE_TAX_FLAG,
2551        'N'                                      L_SPECIAL_INCLUSIVE_TAX_FLAG,
2552        NULL                                     L_ATTRIBUTE1,
2553        NULL                                     L_ATTRIBUTE2,
2554        NULL                                     L_ATTRIBUTE3,
2555        NULL                                     L_ATTRIBUTE4,
2556        NULL                                     L_ATTRIBUTE5,
2557        NULL                                     L_ATTRIBUTE6,
2558        NULL                                     L_ATTRIBUTE7,
2559        NULL                                     L_ATTRIBUTE8,
2560        NULL                                     L_ATTRIBUTE9,
2561        NULL                                     L_ATTRIBUTE10,
2562        NULL                                     L_ATTRIBUTE11,
2563        NULL                                     L_ATTRIBUTE12,
2564        NULL                                     L_ATTRIBUTE13,
2565        NULL                                     L_ATTRIBUTE14,
2566        NULL                                     L_ATTRIBUTE15,
2567        NULL                                     L_ATTRIBUTE_CATEGORY,
2568        'COUNTRY'                                L_PARENT_GEOGRAPHY_TYPE,
2569        (SELECT geography_id
2570   FROM   hz_geographies
2571   WHERE  country_code = asp.default_country
2572   AND    rownum = 1)                      L_PARENT_GEOGRAPHY_ID,
2573        'N'                                      L_ALLOW_MASS_CREATE_FLAG,
2574        'P'                                      L_APPLIED_AMT_HANDLING_FLAG,
2575        --ZX_TAXES_B_S.NEXTVAL                     L_TAX_ID,
2576        ptp.party_tax_profile_id                 L_CONTENT_OWNER_ID,
2577        NULL                                     L_REP_TAX_AUTHORITY_ID,
2578        NULL                                     L_COLL_TAX_AUTHORITY_ID,
2579        NULL                                     L_THRSHLD_CHK_TMPLT_CODE,
2583        SYSDATE                                  L_CREATION_DATE,
2580        NULL                                     L_DEF_PRIMARY_REC_RATE_CODE,
2581        NULL                                     L_DEF_SECONDARY_REC_RATE_CODE,
2582        fnd_global.user_id                       L_CREATED_BY,
2584        fnd_global.user_id                       L_LAST_UPDATED_BY,
2585        SYSDATE                                  L_LAST_UPDATE_DATE,
2586        fnd_global.conc_login_id                 L_LAST_UPDATE_LOGIN,
2587        fnd_global.conc_request_id               L_REQUEST_ID,
2588        fnd_global.prog_appl_id                  L_PROGRAM_APPLICATION_ID,
2589        fnd_global.conc_program_id               L_PROGRAM_ID,
2590        fnd_global.conc_login_id                 L_PROGRAM_LOGIN_ID,
2591        'CREATE_ACCOUNTS'                        L_TAX_ACCOUNT_CR_METHOD_CODE,  --Bug 4204464
2592        NULL                                     L_TAX_ACCOUNT_SOURCE_TAX             , --Bug 4204464
2593        'CREATE_EXEMPTIONS'           L_TAX_EXMPT_CR_MTHD_CD         , --Bug 4204464
2594        NULL                                     L_TAX_EXMPT_SOURCE_TAX,
2595        'N'                                      L_APPLICABLE_BY_DEFAULT_FLAG   --Bug 4905771
2596   FROM
2597            ar_vat_tax_all_b          avt,
2598      zx_party_tax_profile      ptp,
2599      ar_system_parameters_all  asp,
2600      gl_sets_of_books          gsob,
2601      zx_regimes_b              zrb
2602   WHERE    avt.org_id = ptp.party_id
2603   AND      avt.org_id = l_org_id
2604   AND      ptp.party_type_code = 'OU'
2605   AND      avt.org_id = asp.org_id
2606   AND      asp.set_of_books_id = gsob.set_of_books_id
2607   AND      avt.tax_type = 'LOCATION'
2608   AND      NVL(avt.enabled_flag,'N') = 'Y'  -- Added for Bug#13917170
2609   AND      zrb.tax_regime_code like '%-SALES-TAX-%'
2610   -- Bug 4564206: Added condition to check active tax code at the time of sysdate
2611   AND      trunc(avt.start_date ) < sysdate
2612   AND      sysdate <= nvl(trunc(end_date), sysdate)
2613   AND      asp.location_structure_id = TO_NUMBER(
2614                                              NVL(LTRIM(
2615                                               TRANSLATE(zrb.tax_regime_code,
2616                                                 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_',
2617                                                 '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'
2618                                                          ),'@'
2619                                                        ),'-999'
2620                                                   )
2621                                                 )
2622   AND NOT EXISTS (SELECT 1
2623      FROM   zx_taxes_b  ztb
2624      WHERE  ztb.tax_regime_code = zrb.tax_regime_code
2625      AND   (ztb.tax = 'LOCATION' or ztb.tax = avt.tax_code)
2626      AND    ztb.content_owner_id = ptp.party_tax_profile_id);
2627 
2628 
2629  END IF;
2630  -- ****** Inserting status for taxes (created for qualifier and location tax code) ******
2631   INSERT ALL
2632   INTO ZX_STATUS_B_TMP
2633   (
2634       TAX_STATUS_ID,
2635       TAX_STATUS_CODE,
2636       CONTENT_OWNER_ID,
2637       EFFECTIVE_FROM,
2638       EFFECTIVE_TO,
2639       TAX,
2640       TAX_REGIME_CODE,
2641       RULE_BASED_RATE_FLAG,
2642       ALLOW_RATE_OVERRIDE_FLAG,
2643       ALLOW_EXEMPTIONS_FLAG,
2644       ALLOW_EXCEPTIONS_FLAG,
2645       DEFAULT_STATUS_FLAG,
2646       DEFAULT_FLG_EFFECTIVE_FROM,
2647       DEFAULT_FLG_EFFECTIVE_TO,
2648       DEF_REC_SETTLEMENT_OPTION_CODE,
2649       RECORD_TYPE_CODE,
2650       ATTRIBUTE1,
2651       ATTRIBUTE2,
2652       ATTRIBUTE3,
2653       ATTRIBUTE4,
2654       ATTRIBUTE5,
2655       ATTRIBUTE6,
2656       ATTRIBUTE7,
2657       ATTRIBUTE8,
2658       ATTRIBUTE9,
2659       ATTRIBUTE10,
2660       ATTRIBUTE11,
2661       ATTRIBUTE12,
2662       ATTRIBUTE13,
2663       ATTRIBUTE14,
2664       ATTRIBUTE15,
2665       ATTRIBUTE_CATEGORY,
2666       CREATION_DATE,
2667       CREATED_BY,
2668       LAST_UPDATE_DATE,
2669       LAST_UPDATED_BY,
2670       LAST_UPDATE_LOGIN,
2671       REQUEST_ID,
2672       OBJECT_VERSION_NUMBER
2673   )
2674   VALUES
2675   (
2676       ZX_STATUS_B_S.NEXTVAL,    --TAX_STATUS_ID
2677       l_tax_status_code,        --TAX_STATUS_CODE
2678       l_content_owner_id,       --CONTENT_OWNER_ID
2679       l_effective_from,         --EFFECTIVE_FROM
2680       l_effective_to,           --EFFECTIVE_TO
2681       l_tax,                    --TAX
2682       l_tax_regime_code,        --TAX_REGIME_CODE
2683       l_rule_based_flag,        --RULE_BASED_RATE_FLAG
2684       l_allow_rate_override_flag,   --ALLOW_RATE_OVERRIDE_FLAG
2685       l_allow_exemptions_flag,  --ALLOW_EXEMPTIONS_FLAG
2686       l_allow_exceptions_flag,  --ALLOW_EXCEPTIONS_FLAG
2687       l_default_status_flag,        --DEFAULT_STATUS_FLAG
2688       l_default_flg_effective_from, --DEFAULT_FLG_EFFECTIVE_FROM
2689       l_default_flg_effective_to,   --DEFAULT_FLG_EFFECTIVE_TO
2690       l_def_rec_setlmnt_optn_code,  --DEF_REC_SETTLEMENT_OPTION_CODE
2691       l_record_type_code,
2692       l_attribute1,
2693       l_attribute2,
2694       l_attribute3,
2695       l_attribute4,
2696       l_attribute5,
2697       l_attribute6,
2698       l_attribute7,
2699       l_attribute8,
2700       l_attribute9,
2701       l_attribute10,
2702       l_attribute11,
2703       l_attribute12,
2704       l_attribute13,
2705       l_attribute14,
2706       l_attribute15,
2707       l_attribute_category,
2708       l_creation_date,
2709       l_created_by,
2710       l_last_update_date,
2711       l_last_updated_by,
2712       l_last_update_login,
2713       l_request_id,
2714       1
2715   )
2716 /* --Bug4400704
2717   INTO zx_status_tl
2718   (
2719       TAX_STATUS_ID,
2720       LANGUAGE,
2721       SOURCE_LANG,
2722       TAX_STATUS_NAME,
2723       CREATED_BY,
2724       CREATION_DATE,
2725       LAST_UPDATED_BY,
2726       LAST_UPDATE_DATE,
2727       LAST_UPDATE_LOGIN
2728   )
2729   VALUES
2730   (
2731       ZX_STATUS_B_S.NEXTVAL,
2732       USERENV('LANG'),
2733       USERENV('LANG'),
2734       l_tax_status_code,
2735       l_created_by,
2736       l_creation_date,
2737       l_last_updated_by,
2738       l_last_update_date,
2739       l_last_update_login
2740   )*/
2741   SELECT
2742       'STANDARD'         l_tax_status_code,        --TAX_STATUS_CODE
2743       tax.content_owner_id    l_content_owner_id,       --CONTENT_OWNER_ID
2744       tax.effective_from      l_effective_from,         --EFFECTIVE_FROM
2745       NULL                    l_effective_to,           --EFFECTIVE_TO
2746       tax.tax                 l_tax,                    --TAX
2747       tax.tax_regime_code     l_tax_regime_code,        --TAX_REGIME_CODE
2748       'N'                     l_rule_based_flag,        --RULE_BASED_RATE_FLAG
2749       'Y'                     l_allow_rate_override_flag,   --ALLOW_RATE_OVERRIDE_FLAG
2750       tax.allow_exemptions_flag   l_allow_exemptions_flag,  --ALLOW_EXEMPTIONS_FLAG
2751       tax.allow_exceptions_flag   l_allow_exceptions_flag,  --ALLOW_EXCEPTIONS_FLAG
2752       'Y'                     l_default_status_flag,        --DEFAULT_STATUS_FLAG
2753       tax.effective_from      l_default_flg_effective_from, --DEFAULT_FLG_EFFECTIVE_FROM
2754       NULL                    l_default_flg_effective_to,   --DEFAULT_FLG_EFFECTIVE_TO
2755       NULL                    l_def_rec_setlmnt_optn_code,  --DEF_REC_SETTLEMENT_OPTION_CODE
2756       'MIGRATED'              l_record_type_code,
2757       NULL                    l_attribute1,
2758       NULL                    l_attribute2,
2759       NULL                    l_attribute3,
2760       NULL                    l_attribute4,
2761       NULL                    l_attribute5,
2762       NULL                    l_attribute6,
2763       NULL                    l_attribute7,
2764       NULL                    l_attribute8,
2765       NULL                    l_attribute9,
2766       NULL                    l_attribute10,
2767       NULL                    l_attribute11,
2768       NULL                    l_attribute12,
2769       NULL                    l_attribute13,
2770       NULL                    l_attribute14,
2771       NULL                    l_attribute15,
2772       NULL                    l_attribute_category,
2773       SYSDATE                 l_creation_date,
2774       fnd_global.user_id      l_created_by,
2775       SYSDATE                 l_last_update_date,
2776       fnd_global.user_id      l_last_updated_by,
2777       fnd_global.conc_login_id    l_last_update_login,
2778       fnd_global.conc_request_id  l_request_id
2779   FROM            zx_taxes_b  tax
2780   WHERE           tax.tax_regime_code like '%-SALES-TAX-%'
2781   AND NOT EXISTS  (SELECT 1
2782                    FROM   zx_status_b  status
2783                    WHERE  tax.tax_regime_code = status.tax_regime_code
2784                    AND    tax.tax = status.tax
2785        AND    tax.content_owner_id = status.content_owner_id --Bug 4563007
2786                    AND    status.tax_status_code = 'STANDARD');
2787 
2788 
2789   -- ****** Inserting rates for location tax codes ******
2790 
2791   -- zx_rates_tl is created by procedure populate_mls_tables
2792   IF L_MULTI_ORG_FLAG = 'Y'
2793   THEN
2794   INSERT ALL
2795   INTO zx_rates_b_tmp
2796   (
2797       TAX_RATE_ID                    ,
2798       TAX_RATE_CODE                  ,
2799       CONTENT_OWNER_ID               ,
2800       EFFECTIVE_FROM                 ,
2801       EFFECTIVE_TO                   ,
2802       TAX_REGIME_CODE                ,
2803       TAX                            ,
2804       TAX_STATUS_CODE                ,
2805       SCHEDULE_BASED_RATE_FLAG       ,
2806       RATE_TYPE_CODE                 ,
2807       PERCENTAGE_RATE                ,
2808       QUANTITY_RATE                  ,
2809       UOM_CODE                       ,
2810       TAX_JURISDICTION_CODE          ,
2811       RECOVERY_TYPE_CODE             ,
2812       ACTIVE_FLAG                    ,
2813       DEFAULT_RATE_FLAG              ,
2814       DEFAULT_FLG_EFFECTIVE_FROM     ,
2815       DEFAULT_FLG_EFFECTIVE_TO       ,
2816       DEFAULT_REC_TYPE_CODE          ,
2817       DEFAULT_REC_RATE_CODE          ,
2818       OFFSET_TAX                     ,
2819       OFFSET_STATUS_CODE             ,
2820       OFFSET_TAX_RATE_CODE           ,
2821       RECOVERY_RULE_CODE             ,
2822       DEF_REC_SETTLEMENT_OPTION_CODE ,
2823       VAT_TRANSACTION_TYPE_CODE      ,
2824       ADJ_FOR_ADHOC_AMT_CODE         ,
2825       ALLOW_ADHOC_TAX_RATE_FLAG      ,
2826       TAX_CLASS                      ,
2827       SOURCE_ID                      ,
2828       TAXABLE_BASIS_FORMULA_CODE     ,
2829       INCLUSIVE_TAX_FLAG             ,
2830       TAX_INCLUSIVE_OVERRIDE_FLAG    ,
2831       RECORD_TYPE_CODE               ,
2832       CREATED_BY                     ,
2833       CREATION_DATE                  ,
2834       LAST_UPDATED_BY                ,
2838       PROGRAM_APPLICATION_ID         ,
2835       LAST_UPDATE_DATE               ,
2836       LAST_UPDATE_LOGIN              ,
2837       REQUEST_ID                     ,
2839       PROGRAM_ID                     ,
2840       PROGRAM_LOGIN_ID               ,
2841       ATTRIBUTE1                     ,
2842       ATTRIBUTE2                     ,
2843       ATTRIBUTE3                     ,
2844       ATTRIBUTE4                     ,
2845       ATTRIBUTE5                     ,
2846       ATTRIBUTE6                     ,
2847       ATTRIBUTE7                     ,
2848       ATTRIBUTE8                     ,
2849       ATTRIBUTE9                     ,
2850       ATTRIBUTE10                    ,
2851       ATTRIBUTE11                    ,
2852       ATTRIBUTE12                    ,
2853       ATTRIBUTE13                    ,
2854       ATTRIBUTE14                    ,
2855       ATTRIBUTE15                    ,
2856       ATTRIBUTE_CATEGORY              ,
2857       OBJECT_VERSION_NUMBER          ,
2858       ALLOW_EXEMPTIONS_FLAG          , -- Bug 4204464
2859       ALLOW_EXCEPTIONS_FLAG            -- Bug 4204464
2860    -- 6820043, commenting out description
2861    -- DESCRIPTION                      -- Bug 4705196
2862   )
2863   VALUES
2864   (
2865             L_TAX_RATE_ID                    ,  --TAX_RATE_ID
2866       L_TAX_RATE_CODE                  ,  --tax_rate_code
2867       L_CONTENT_OWNER_ID               ,  --content_owner_id
2868       L_EFFECTIVE_FROM                 ,  --effective_from
2869       L_EFFECTIVE_TO                   ,  --effective_to
2870       L_TAX_REGIME_CODE                ,  --tax_regime_code
2871       L_TAX                            ,  --tax
2872       L_TAX_STATUS_CODE                ,  --tax_status_code
2873       L_SCHEDULE_BASED_RATE_FLAG       ,  --scheduled_based_rate_flag : YK:8/25/2004: Should be 'N'
2874       L_RATE_TYPE_CODE                 ,  --rate_type_code
2875       L_PERCENTAGE_RATE                ,  --percentage_rate
2876       L_QUANTITY_RATE                  ,  --quantity_rate
2877       L_UOM_CODE                       ,  --uom_code
2878       L_TAX_JURISDICTION_CODE          ,  --tax_jurisdiction_code
2879       L_RECOVERY_TYPE_CODE             ,  --recovery_type_code
2880       L_ACTIVE_FLAG                    ,  --active_flag
2881       L_DEFAULT_RATE_FLAG              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
2882       L_DEFAULT_FLG_EFFECTIVE_FROM     ,  --default_flg_effective_from
2883       L_DEFAULT_FLG_EFFECTIVE_TO       ,  --default_flg_effective_to
2884       L_DEFAULT_REC_TYPE_CODE          ,  --default_rec_type_code
2885       L_DEFAULT_REC_RATE_CODE          ,  --default_rec_rate_code
2886       L_OFFSET_TAX                     ,  --offset_tax
2887       L_OFFSET_STATUS_CODE             ,  --offset_status_code
2888       L_OFFSET_TAX_RATE_CODE           ,  --offset_tax_rate_code
2889       L_RECOVERY_RULE_CODE             ,  --recovery_rule_code
2890       L_DEF_REC_STTLMNT_OPTN_CD        ,  --def_rec_settlement_option_code
2891       L_VAT_TRANSACTION_TYPE_CODE      ,  --vat_transaction_type_code
2892       L_ADJ_FOR_ADHOC_AMT_CODE         ,  --adj_for_adhoc_amt_code
2893       L_ALLOW_ADHOC_TAX_RATE_FLAG      ,  --allow_adhoc_tax_rate_flag
2894       L_TAX_CLASS                      ,  --tax_class
2895       NULL                             ,  --source_id
2896       'STANDARD_TB'                    ,  --taxable_basis_formula_code
2897       L_INCLUSIVE_TAX_FLAG             ,  --inclusive_tax_flag
2898       L_TAX_INCLUSIVE_OVERRIDE_FLAG    ,  --tax_inclusive_override_flag
2899       'MIGRATED'                       ,  --record_type_code
2900       fnd_global.user_id               ,  --created_by
2901       SYSDATE                          ,  --creation_date
2902       fnd_global.user_id               ,  --last_updated_by
2903       SYSDATE                          ,  --last_update_date
2904       fnd_global.user_id               ,  --last_update_login
2905       fnd_global.conc_request_id       ,  --request_id
2906       fnd_global.prog_appl_id          ,  --program_application_id
2907       fnd_global.conc_program_id       ,  --program_id
2908       fnd_global.conc_login_id         ,  --program_login_id
2909       L_ATTRIBUTE1                     ,
2910       L_ATTRIBUTE2                     ,
2911       L_ATTRIBUTE3                     ,
2912       L_ATTRIBUTE4                     ,
2913       L_ATTRIBUTE5                     ,
2914       L_ATTRIBUTE6                     ,
2915       L_ATTRIBUTE7                     ,
2916       L_ATTRIBUTE8                     ,
2917       L_ATTRIBUTE9                     ,
2918       L_ATTRIBUTE10                    ,
2919       L_ATTRIBUTE11                    ,
2920       L_ATTRIBUTE12                    ,
2921       L_ATTRIBUTE13                    ,
2922       L_ATTRIBUTE14                    ,
2923       L_ATTRIBUTE15                    ,
2924       L_ATTRIBUTE_CATEGORY        ,
2925       1                                ,
2926       'Y'                              ,
2927       'Y'
2928      -- 6820043, commenting out description
2929      --  DESCRIPTION                           -- Bug 4705196
2930   )
2931   INTO zx_accounts
2932   (
2933       TAX_ACCOUNT_ID                 ,
2934       TAX_ACCOUNT_ENTITY_ID          ,
2935       TAX_ACCOUNT_ENTITY_CODE        ,
2936       LEDGER_ID                      ,
2937       INTERNAL_ORGANIZATION_ID       , -- Bug 3495741
2938       TAX_ACCOUNT_CCID               ,
2939       INTERIM_TAX_CCID               ,
2940       NON_REC_ACCOUNT_CCID           ,
2941       ADJ_CCID                       ,
2942       EDISC_CCID                     ,
2943       UNEDISC_CCID                   ,
2944       FINCHRG_CCID                   ,
2945       ADJ_NON_REC_TAX_CCID           ,
2946       EDISC_NON_REC_TAX_CCID         ,
2947       UNEDISC_NON_REC_TAX_CCID       ,
2948       FINCHRG_NON_REC_TAX_CCID       ,
2949       RECORD_TYPE_CODE               ,
2950       CREATED_BY                  ,
2951       CREATION_DATE                  ,
2952       LAST_UPDATED_BY                ,
2953       LAST_UPDATE_DATE               ,
2954       LAST_UPDATE_LOGIN              ,
2955       REQUEST_ID                     ,
2956       PROGRAM_APPLICATION_ID         ,
2957       PROGRAM_ID                     ,
2958       PROGRAM_LOGIN_ID               ,
2959       ATTRIBUTE1             ,
2960       ATTRIBUTE2             ,
2961       ATTRIBUTE3             ,
2962       ATTRIBUTE4             ,
2963       ATTRIBUTE5             ,
2964       ATTRIBUTE6             ,
2965       ATTRIBUTE7             ,
2966       ATTRIBUTE8             ,
2967       ATTRIBUTE9             ,
2968       ATTRIBUTE10            ,
2969       ATTRIBUTE11            ,
2970       ATTRIBUTE12            ,
2971       ATTRIBUTE13            ,
2972       ATTRIBUTE14            ,
2973       ATTRIBUTE15            ,
2974       ATTRIBUTE_CATEGORY     ,
2975       OBJECT_VERSION_NUMBER
2976   )
2977   VALUES
2978   (
2979        ZX_ACCOUNTS_S.nextval  ,--TAX_ACCOUNT_ID
2980        L_TAX_RATE_ID          ,--TAX_RATE_ID
2981        'RATES'                 ,--TAX_ACCOUNT_ENTITY_CODE
2982        L_LEDGER_ID            ,--LEDGER_ID
2983        L_ORG_ID               ,--ORG_ID
2984        L_TAX_ACCOUNT_CCID     ,--TAX_ACCOUNT_CCID
2985        L_INTERIM_TAX_CCID     ,--INTERIM_TAX_CCID
2986        L_NON_REC_ACCOUNT_CCID ,--NON_REC_ACCOUNT_CCID --YK:07/06/2004:OPEN: understand the field
2987        L_ADJ_CCID             ,--ADJ_CCID
2988        L_EDISC_CCID           ,--EDISC_CCID
2989        L_UNEDISC_CCID         ,--UNEDISC_CCID
2990        L_FINCHRG_CCID         ,--FINCHRG_CCID
2991        L_ADJ_NON_REC_TAX_CCID            ,--ADJ_NON_REC_TAX_CCID
2992        L_EDISC_NON_REC_TAX_CCID          ,--EDISC_NON_REC_TAX_CCID
2993        L_UNEDISC_NON_REC_TAX_CCID        ,--UNEDISC_NON_REC_TAX_CCID
2994        L_FINCHRG_NON_REC_TAX_CCID        ,--FINCHRG_NON_REC_TAX_CCID
2995        L_RECORD_TYPE_CODE                ,
2996        L_CREATED_BY                      ,
2997        L_CREATION_DATE                   ,
2998        L_LAST_UPDATED_BY                 ,
2999        L_LAST_UPDATE_DATE                ,
3000        L_LAST_UPDATE_LOGIN               ,
3001        L_REQUEST_ID                      ,
3002        L_PROGRAM_APPLICATION_ID          ,
3003        L_PROGRAM_ID                      ,
3004        L_PROGRAM_LOGIN_ID                ,
3005        L_ATTRIBUTE1             ,
3006        L_ATTRIBUTE2             ,
3007        L_ATTRIBUTE3             ,
3008        L_ATTRIBUTE4             ,
3009        L_ATTRIBUTE5             ,
3010        L_ATTRIBUTE6             ,
3011        L_ATTRIBUTE7             ,
3012        L_ATTRIBUTE8             ,
3013        L_ATTRIBUTE9             ,
3014        L_ATTRIBUTE10            ,
3015        L_ATTRIBUTE11            ,
3016        L_ATTRIBUTE12            ,
3017        L_ATTRIBUTE13            ,
3018        L_ATTRIBUTE14            ,
3019        L_ATTRIBUTE15            ,
3020        L_ATTRIBUTE_CATEGORY     ,
3021        1
3022   )
3023   SELECT
3024     codes.vat_tax_id                   L_TAX_RATE_ID,
3025     codes.tax_code                     L_TAX_RATE_CODE,
3026     status.content_owner_id            L_CONTENT_OWNER_ID,
3027     codes.start_date                   L_EFFECTIVE_FROM,
3028     codes.end_date                     L_EFFECTIVE_TO,
3029     status.tax_regime_code             L_TAX_REGIME_CODE ,
3030     status.tax                         L_TAX,
3031     status.tax_status_code             L_TAX_STATUS_CODE,
3032     'N'                                L_SCHEDULE_BASED_RATE_FLAG,
3033     'PERCENTAGE'                       L_RATE_TYPE_CODE,
3034     0                                  L_PERCENTAGE_RATE,
3035     NULL                               L_QUANTITY_RATE,
3036     NULL                               L_UOM_CODE,  --YK:8/31/2004: No need to populate it for Quantity Rates
3037     NULL                               L_TAX_JURISDICTION_CODE,
3038     NULL                               L_RECOVERY_TYPE_CODE,
3039     codes.enabled_flag                 L_ACTIVE_FLAG,
3040    'Y'                                 L_DEFAULT_RATE_FLAG    ,
3041     codes.start_date                   L_DEFAULT_FLG_EFFECTIVE_FROM ,
3042     codes.end_date                     L_DEFAULT_FLG_EFFECTIVE_TO   ,
3043     NULL                               L_DEFAULT_REC_TYPE_CODE      ,
3044     NULL                               L_DEFAULT_REC_RATE_CODE,
3045     NULL                               L_OFFSET_TAX,
3046     NULL                               L_OFFSET_STATUS_CODE ,
3047     NULL                               L_OFFSET_TAX_RATE_CODE  ,
3048     NULL                               L_RECOVERY_RULE_CODE    ,
3049     DECODE(codes.INTERIM_TAX_CCID,
3050            NULL, 'IMMEDIATE',
3051            'DEFERRED')                   L_DEF_REC_STTLMNT_OPTN_CD,
3052     codes.vat_transaction_type           L_VAT_TRANSACTION_TYPE_CODE,
3053     codes.AMOUNT_INCLUDES_TAX_FLAG       L_INCLUSIVE_TAX_FLAG,
3054     codes.AMOUNT_INCLUDES_TAX_OVERRIDE   L_TAX_INCLUSIVE_OVERRIDE_FLAG,
3055    'MIGRATED'                            L_RECORD_TYPE_CODE,
3056     codes.ATTRIBUTE1                     L_ATTRIBUTE1,
3057     codes.ATTRIBUTE2                     L_ATTRIBUTE2,
3058     codes.ATTRIBUTE3                     L_ATTRIBUTE3,
3059     codes.ATTRIBUTE4                     L_ATTRIBUTE4,
3060     codes.ATTRIBUTE5                     L_ATTRIBUTE5,
3061     codes.ATTRIBUTE6                     L_ATTRIBUTE6,
3062     codes.ATTRIBUTE7                     L_ATTRIBUTE7,
3063     codes.ATTRIBUTE8                     L_ATTRIBUTE8,
3064     codes.ATTRIBUTE9                     L_ATTRIBUTE9,
3065     codes.ATTRIBUTE10                    L_ATTRIBUTE10,
3066     codes.ATTRIBUTE11                    L_ATTRIBUTE11,
3067     codes.ATTRIBUTE12                    L_ATTRIBUTE12,
3068     codes.ATTRIBUTE13                    L_ATTRIBUTE13,
3069     codes.ATTRIBUTE14                    L_ATTRIBUTE14,
3070     codes.ATTRIBUTE15                    L_ATTRIBUTE15,
3071     codes.ATTRIBUTE_CATEGORY             L_ATTRIBUTE_CATEGORY,
3072     codes.set_of_books_id                L_LEDGER_ID,
3073     codes.org_id                         L_ORG_ID,
3074     codes.TAX_ACCOUNT_ID                 L_TAX_ACCOUNT_CCID,
3075     codes.INTERIM_TAX_CCID               L_INTERIM_TAX_CCID,
3076     codes.ADJ_CCID                       L_ADJ_CCID,
3077     codes.EDISC_CCID                     L_EDISC_CCID,
3078     codes.UNEDISC_CCID                   L_UNEDISC_CCID,
3079     codes.FINCHRG_CCID                   L_FINCHRG_CCID,
3080     codes.ADJ_NON_REC_TAX_CCID           L_ADJ_NON_REC_TAX_CCID,
3081     codes.EDISC_NON_REC_TAX_CCID         L_EDISC_NON_REC_TAX_CCID,
3082     codes.UNEDISC_NON_REC_TAX_CCID       L_UNEDISC_NON_REC_TAX_CCID,
3083     codes.FINCHRG_NON_REC_TAX_CCID       L_FINCHRG_NON_REC_TAX_CCID,
3084     NULL                                 L_NON_REC_ACCOUNT_CCID,
3085     'TAX_RATE'                           L_ADJ_FOR_ADHOC_AMT_CODE,
3086     'Y'                                  L_ALLOW_ADHOC_TAX_RATE_FLAG,
3087     fnd_global.user_id                   L_CREATED_BY,
3088     SYSDATE                              L_CREATION_DATE,
3089     fnd_global.user_id                   L_LAST_UPDATED_BY,
3090     SYSDATE                              L_LAST_UPDATE_DATE,
3091     fnd_global.user_id                   L_LAST_UPDATE_LOGIN,
3092     fnd_global.conc_request_id           L_REQUEST_ID,
3093     fnd_global.prog_appl_id              L_PROGRAM_APPLICATION_ID,
3094     fnd_global.conc_program_id           L_PROGRAM_ID,
3095     fnd_global.conc_login_id             L_PROGRAM_LOGIN_ID,
3096     DECODE(codes.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')   L_TAX_CLASS,
3097     codes.DESCRIPTION         DESCRIPTION -- Bug 4705196
3098   FROM
3099             zx_status_b               status,
3100             ar_vat_tax_all_b          codes,
3101             zx_party_tax_profile      ptp,
3102             ar_system_parameters_all  asp
3103   WHERE     status.tax_regime_code like '%-SALES-TAX-%'
3104   AND       status.tax = 'LOCATION'
3105   AND       status.tax_status_code = 'STANDARD'
3106   AND       status.content_owner_id = ptp.party_tax_profile_id
3107   AND       ptp.party_type_code = 'OU'
3108   -- YK:02/22/2005
3109   AND       ptp.party_id = codes.org_id
3110   AND       codes.org_id = asp.org_id
3111   AND       codes.tax_type <> 'TAX_GROUP'
3112 --  AND       (asp.tax_database_view_set NOT IN ('_A', '_V') OR
3113 --             codes.tax_type NOT IN ('SALES_TAX', 'LOCATION'))
3114 -- Bug Fix 4400733
3115   AND       (codes.global_attribute_category IS NULL OR
3116              codes.global_attribute_category NOT IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
3117                          'JL.BR.ARXSUVAT.AR_VAT_TAX',
3118                        'JL.CO.ARXSUVAT.AR_VAT_TAX'))
3119   AND       (asp.tax_database_view_set = 'O' AND codes.tax_type = 'LOCATION')
3120   AND NOT EXISTS (SELECT 1
3121                   FROM   zx_rates_b  rates
3122             WHERE  status.tax_regime_code = rates.tax_regime_code
3123                   AND    status.tax = rates.tax
3124                   AND    status.tax_status_code = rates.tax_status_code
3125                   AND    status.content_owner_id = rates.content_owner_id
3126                   AND    rates.tax_rate_code = codes.tax_code
3127                  );
3128 ELSE
3129   INSERT ALL
3130   INTO zx_rates_b_tmp
3131   (
3132       TAX_RATE_ID                    ,
3133       TAX_RATE_CODE                  ,
3134       CONTENT_OWNER_ID               ,
3135       EFFECTIVE_FROM                 ,
3136       EFFECTIVE_TO                   ,
3137       TAX_REGIME_CODE                ,
3138       TAX                            ,
3139       TAX_STATUS_CODE                ,
3140       SCHEDULE_BASED_RATE_FLAG       ,
3141       RATE_TYPE_CODE                 ,
3142       PERCENTAGE_RATE                ,
3143       QUANTITY_RATE                  ,
3144       UOM_CODE                       ,
3145       TAX_JURISDICTION_CODE          ,
3146       RECOVERY_TYPE_CODE             ,
3147       ACTIVE_FLAG                    ,
3148       DEFAULT_RATE_FLAG              ,
3149       DEFAULT_FLG_EFFECTIVE_FROM     ,
3150       DEFAULT_FLG_EFFECTIVE_TO       ,
3151       DEFAULT_REC_TYPE_CODE          ,
3152       DEFAULT_REC_RATE_CODE          ,
3153       OFFSET_TAX                     ,
3154       OFFSET_STATUS_CODE             ,
3155       OFFSET_TAX_RATE_CODE           ,
3156       RECOVERY_RULE_CODE             ,
3157       DEF_REC_SETTLEMENT_OPTION_CODE ,
3158       VAT_TRANSACTION_TYPE_CODE      ,
3159       ADJ_FOR_ADHOC_AMT_CODE         ,
3160       ALLOW_ADHOC_TAX_RATE_FLAG      ,
3161       TAX_CLASS                      ,
3162       SOURCE_ID                      ,
3163       TAXABLE_BASIS_FORMULA_CODE     ,
3164       INCLUSIVE_TAX_FLAG             ,
3165       TAX_INCLUSIVE_OVERRIDE_FLAG    ,
3166       RECORD_TYPE_CODE               ,
3167       CREATED_BY                     ,
3168       CREATION_DATE                  ,
3169       LAST_UPDATED_BY                ,
3170       LAST_UPDATE_DATE               ,
3171       LAST_UPDATE_LOGIN              ,
3172       REQUEST_ID                     ,
3173       PROGRAM_APPLICATION_ID         ,
3174       PROGRAM_ID                     ,
3175       PROGRAM_LOGIN_ID               ,
3176       ATTRIBUTE1                     ,
3177       ATTRIBUTE2                     ,
3178       ATTRIBUTE3                     ,
3179       ATTRIBUTE4                     ,
3180       ATTRIBUTE5                     ,
3181       ATTRIBUTE6                     ,
3182       ATTRIBUTE7                     ,
3183       ATTRIBUTE8                     ,
3184       ATTRIBUTE9                     ,
3185       ATTRIBUTE10                    ,
3186       ATTRIBUTE11                    ,
3187       ATTRIBUTE12                    ,
3188       ATTRIBUTE13                    ,
3189       ATTRIBUTE14                    ,
3190       ATTRIBUTE15                    ,
3191       ATTRIBUTE_CATEGORY              ,
3192       OBJECT_VERSION_NUMBER          ,
3193       ALLOW_EXEMPTIONS_FLAG          , -- Bug 4204464
3194       ALLOW_EXCEPTIONS_FLAG            -- Bug 4204464
3195       -- 6820043, commenting out description
3196       -- DESCRIPTION                   -- Bug 4705196
3197   )
3198   VALUES
3199   (
3200       L_TAX_RATE_ID                    ,  --TAX_RATE_ID
3201       L_TAX_RATE_CODE                  ,  --tax_rate_code
3202       L_CONTENT_OWNER_ID               ,  --content_owner_id
3203       L_EFFECTIVE_FROM                 ,  --effective_from
3204       L_EFFECTIVE_TO                   ,  --effective_to
3205       L_TAX_REGIME_CODE                ,  --tax_regime_code
3206       L_TAX                            ,  --tax
3207       L_TAX_STATUS_CODE                ,  --tax_status_code
3208       L_SCHEDULE_BASED_RATE_FLAG       ,  --scheduled_based_rate_flag : YK:8/25/2004: Should be 'N'
3209       L_RATE_TYPE_CODE                 ,  --rate_type_code
3210       L_PERCENTAGE_RATE                ,  --percentage_rate
3211       L_QUANTITY_RATE                  ,  --quantity_rate
3212       L_UOM_CODE                       ,  --uom_code
3213       L_TAX_JURISDICTION_CODE          ,  --tax_jurisdiction_code
3214       L_RECOVERY_TYPE_CODE             ,  --recovery_type_code
3215       L_ACTIVE_FLAG                    ,  --active_flag
3216       L_DEFAULT_RATE_FLAG              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
3217       L_DEFAULT_FLG_EFFECTIVE_FROM     ,  --default_flg_effective_from
3218       L_DEFAULT_FLG_EFFECTIVE_TO       ,  --default_flg_effective_to
3219       L_DEFAULT_REC_TYPE_CODE          ,  --default_rec_type_code
3220       L_DEFAULT_REC_RATE_CODE          ,  --default_rec_rate_code
3221       L_OFFSET_TAX                     ,  --offset_tax
3222       L_OFFSET_STATUS_CODE             ,  --offset_status_code
3223       L_OFFSET_TAX_RATE_CODE           ,  --offset_tax_rate_code
3224       L_RECOVERY_RULE_CODE             ,  --recovery_rule_code
3225       L_DEF_REC_STTLMNT_OPTN_CD        ,  --def_rec_settlement_option_code
3226       L_VAT_TRANSACTION_TYPE_CODE      ,  --vat_transaction_type_code
3227       L_ADJ_FOR_ADHOC_AMT_CODE         ,  --adj_for_adhoc_amt_code
3228       L_ALLOW_ADHOC_TAX_RATE_FLAG      ,  --allow_adhoc_tax_rate_flag
3229       L_TAX_CLASS                      ,  --tax_class
3230       NULL                             ,  --source_id
3231       'STANDARD_TB'                    ,  --taxable_basis_formula_code
3232       L_INCLUSIVE_TAX_FLAG             ,  --inclusive_tax_flag
3233       L_TAX_INCLUSIVE_OVERRIDE_FLAG    ,  --tax_inclusive_override_flag
3234       'MIGRATED'                       ,  --record_type_code
3235       fnd_global.user_id               ,  --created_by
3236       SYSDATE                          ,  --creation_date
3237       fnd_global.user_id               ,  --last_updated_by
3238       SYSDATE                          ,  --last_update_date
3239       fnd_global.user_id               ,  --last_update_login
3240       fnd_global.conc_request_id       ,  --request_id
3241       fnd_global.prog_appl_id          ,  --program_application_id
3242       fnd_global.conc_program_id       ,  --program_id
3243       fnd_global.conc_login_id         ,  --program_login_id
3244       L_ATTRIBUTE1                     ,
3245       L_ATTRIBUTE2                     ,
3246       L_ATTRIBUTE3                     ,
3247       L_ATTRIBUTE4                     ,
3248       L_ATTRIBUTE5                     ,
3249       L_ATTRIBUTE6                     ,
3250       L_ATTRIBUTE7                     ,
3251       L_ATTRIBUTE8                     ,
3252       L_ATTRIBUTE9                     ,
3253       L_ATTRIBUTE10                    ,
3254       L_ATTRIBUTE11                    ,
3255       L_ATTRIBUTE12                    ,
3256       L_ATTRIBUTE13                    ,
3257       L_ATTRIBUTE14                    ,
3258       L_ATTRIBUTE15                    ,
3259       L_ATTRIBUTE_CATEGORY        ,
3260       1                                ,
3261       'Y'                              ,
3262       'Y'
3263     -- 6820043, commenting out description
3264     -- DESCRIPTION                       -- Bug 4705196
3265   )
3266   INTO zx_accounts
3267   (
3268       TAX_ACCOUNT_ID                 ,
3269       TAX_ACCOUNT_ENTITY_ID          ,
3270       TAX_ACCOUNT_ENTITY_CODE        ,
3271       LEDGER_ID                      ,
3272       INTERNAL_ORGANIZATION_ID       , -- Bug 3495741
3273       TAX_ACCOUNT_CCID               ,
3274       INTERIM_TAX_CCID               ,
3275       NON_REC_ACCOUNT_CCID           ,
3276       ADJ_CCID                       ,
3277       EDISC_CCID                     ,
3278       UNEDISC_CCID                   ,
3279       FINCHRG_CCID                   ,
3280       ADJ_NON_REC_TAX_CCID           ,
3281       EDISC_NON_REC_TAX_CCID         ,
3282       UNEDISC_NON_REC_TAX_CCID       ,
3283       FINCHRG_NON_REC_TAX_CCID       ,
3284       RECORD_TYPE_CODE               ,
3285       CREATED_BY                  ,
3286       CREATION_DATE                  ,
3287       LAST_UPDATED_BY                ,
3288       LAST_UPDATE_DATE               ,
3289       LAST_UPDATE_LOGIN              ,
3290       REQUEST_ID                     ,
3291       PROGRAM_APPLICATION_ID         ,
3292       PROGRAM_ID                     ,
3293       PROGRAM_LOGIN_ID               ,
3294       ATTRIBUTE1             ,
3295       ATTRIBUTE2             ,
3296       ATTRIBUTE3             ,
3297       ATTRIBUTE4             ,
3298       ATTRIBUTE5             ,
3299       ATTRIBUTE6             ,
3300       ATTRIBUTE7             ,
3301       ATTRIBUTE8             ,
3302       ATTRIBUTE9             ,
3303       ATTRIBUTE10            ,
3304       ATTRIBUTE11            ,
3305       ATTRIBUTE12            ,
3306       ATTRIBUTE13            ,
3307       ATTRIBUTE14            ,
3308       ATTRIBUTE15            ,
3309       ATTRIBUTE_CATEGORY     ,
3310       OBJECT_VERSION_NUMBER
3311   )
3312   VALUES
3313   (
3314        ZX_ACCOUNTS_S.nextval  ,--TAX_ACCOUNT_ID
3315        L_TAX_RATE_ID          ,--TAX_RATE_ID
3316        'RATES'                 ,--TAX_ACCOUNT_ENTITY_CODE
3317        L_LEDGER_ID            ,--LEDGER_ID
3318        L_ORG_ID               ,--ORG_ID
3319        L_TAX_ACCOUNT_CCID     ,--TAX_ACCOUNT_CCID
3320        L_INTERIM_TAX_CCID     ,--INTERIM_TAX_CCID
3321        L_NON_REC_ACCOUNT_CCID ,--NON_REC_ACCOUNT_CCID --YK:07/06/2004:OPEN: understand the field
3322        L_ADJ_CCID             ,--ADJ_CCID
3323        L_EDISC_CCID           ,--EDISC_CCID
3324        L_UNEDISC_CCID         ,--UNEDISC_CCID
3325        L_FINCHRG_CCID         ,--FINCHRG_CCID
3326        L_ADJ_NON_REC_TAX_CCID     ,--ADJ_NON_REC_TAX_CCID
3327        L_EDISC_NON_REC_TAX_CCID   ,--EDISC_NON_REC_TAX_CCID
3328        L_UNEDISC_NON_REC_TAX_CCID ,--UNEDISC_NON_REC_TAX_CCID
3329        L_FINCHRG_NON_REC_TAX_CCID ,--FINCHRG_NON_REC_TAX_CCID
3330        L_RECORD_TYPE_CODE         ,
3331        L_CREATED_BY               ,
3332        L_CREATION_DATE            ,
3333        L_LAST_UPDATED_BY          ,
3334        L_LAST_UPDATE_DATE         ,
3335        L_LAST_UPDATE_LOGIN        ,
3336        L_REQUEST_ID               ,
3337        L_PROGRAM_APPLICATION_ID   ,
3338        L_PROGRAM_ID               ,
3339        L_PROGRAM_LOGIN_ID         ,
3340        L_ATTRIBUTE1             ,
3341        L_ATTRIBUTE2             ,
3342        L_ATTRIBUTE3             ,
3343        L_ATTRIBUTE4             ,
3344        L_ATTRIBUTE5             ,
3345        L_ATTRIBUTE6             ,
3346        L_ATTRIBUTE7             ,
3347        L_ATTRIBUTE8             ,
3348        L_ATTRIBUTE9             ,
3349        L_ATTRIBUTE10            ,
3350        L_ATTRIBUTE11            ,
3351        L_ATTRIBUTE12            ,
3352        L_ATTRIBUTE13            ,
3353        L_ATTRIBUTE14            ,
3354        L_ATTRIBUTE15            ,
3355        L_ATTRIBUTE_CATEGORY     ,
3356        1
3357   )
3358   SELECT
3359     codes.vat_tax_id                   L_TAX_RATE_ID,
3360     codes.tax_code                     L_TAX_RATE_CODE,
3361     status.content_owner_id            L_CONTENT_OWNER_ID,
3362     codes.start_date                   L_EFFECTIVE_FROM,
3363     codes.end_date                     L_EFFECTIVE_TO,
3364     status.tax_regime_code             L_TAX_REGIME_CODE ,
3365     status.tax                         L_TAX,
3366     status.tax_status_code             L_TAX_STATUS_CODE,
3367     'N'                                L_SCHEDULE_BASED_RATE_FLAG,
3368     'PERCENTAGE'                       L_RATE_TYPE_CODE,
3369     0                                  L_PERCENTAGE_RATE,
3370     NULL                               L_QUANTITY_RATE,
3371     NULL                               L_UOM_CODE,  --YK:8/31/2004: No need to populate it for Quantity Rates
3372     NULL                               L_TAX_JURISDICTION_CODE,
3373     NULL                               L_RECOVERY_TYPE_CODE,
3374     codes.enabled_flag                 L_ACTIVE_FLAG,
3375    'Y'                                 L_DEFAULT_RATE_FLAG    ,
3376     codes.start_date                   L_DEFAULT_FLG_EFFECTIVE_FROM ,
3377     codes.end_date                     L_DEFAULT_FLG_EFFECTIVE_TO   ,
3378     NULL                               L_DEFAULT_REC_TYPE_CODE      ,
3379     NULL                               L_DEFAULT_REC_RATE_CODE,
3380     NULL                               L_OFFSET_TAX,
3381     NULL                               L_OFFSET_STATUS_CODE ,
3382     NULL                               L_OFFSET_TAX_RATE_CODE  ,
3383     NULL                               L_RECOVERY_RULE_CODE    ,
3384     DECODE(codes.INTERIM_TAX_CCID,
3385            NULL, 'IMMEDIATE',
3386            'DEFERRED')                   L_DEF_REC_STTLMNT_OPTN_CD,
3387     codes.vat_transaction_type           L_VAT_TRANSACTION_TYPE_CODE,
3388     codes.AMOUNT_INCLUDES_TAX_FLAG       L_INCLUSIVE_TAX_FLAG,
3389     codes.AMOUNT_INCLUDES_TAX_OVERRIDE   L_TAX_INCLUSIVE_OVERRIDE_FLAG,
3390    'MIGRATED'                            L_RECORD_TYPE_CODE,
3391     codes.ATTRIBUTE1                     L_ATTRIBUTE1,
3392     codes.ATTRIBUTE2                     L_ATTRIBUTE2,
3393     codes.ATTRIBUTE3                     L_ATTRIBUTE3,
3394     codes.ATTRIBUTE4                     L_ATTRIBUTE4,
3395     codes.ATTRIBUTE5                     L_ATTRIBUTE5,
3396     codes.ATTRIBUTE6                     L_ATTRIBUTE6,
3397     codes.ATTRIBUTE7                     L_ATTRIBUTE7,
3398     codes.ATTRIBUTE8                     L_ATTRIBUTE8,
3399     codes.ATTRIBUTE9                     L_ATTRIBUTE9,
3400     codes.ATTRIBUTE10                    L_ATTRIBUTE10,
3401     codes.ATTRIBUTE11                    L_ATTRIBUTE11,
3402     codes.ATTRIBUTE12                    L_ATTRIBUTE12,
3403     codes.ATTRIBUTE13                    L_ATTRIBUTE13,
3404     codes.ATTRIBUTE14                    L_ATTRIBUTE14,
3405     codes.ATTRIBUTE15                    L_ATTRIBUTE15,
3406     codes.ATTRIBUTE_CATEGORY             L_ATTRIBUTE_CATEGORY,
3407     codes.set_of_books_id                L_LEDGER_ID,
3408     codes.org_id                         L_ORG_ID,
3409     codes.TAX_ACCOUNT_ID                 L_TAX_ACCOUNT_CCID,
3410     codes.INTERIM_TAX_CCID               L_INTERIM_TAX_CCID,
3411     codes.ADJ_CCID                       L_ADJ_CCID,
3412     codes.EDISC_CCID                     L_EDISC_CCID,
3413     codes.UNEDISC_CCID                   L_UNEDISC_CCID,
3414     codes.FINCHRG_CCID                   L_FINCHRG_CCID,
3415     codes.ADJ_NON_REC_TAX_CCID           L_ADJ_NON_REC_TAX_CCID,
3416     codes.EDISC_NON_REC_TAX_CCID         L_EDISC_NON_REC_TAX_CCID,
3417     codes.UNEDISC_NON_REC_TAX_CCID       L_UNEDISC_NON_REC_TAX_CCID,
3418     codes.FINCHRG_NON_REC_TAX_CCID       L_FINCHRG_NON_REC_TAX_CCID,
3419     NULL                                 L_NON_REC_ACCOUNT_CCID,
3420     'TAX_RATE'                           L_ADJ_FOR_ADHOC_AMT_CODE,
3421     'Y'                                  L_ALLOW_ADHOC_TAX_RATE_FLAG,
3422     fnd_global.user_id                   L_CREATED_BY,
3423     SYSDATE                              L_CREATION_DATE,
3424     fnd_global.user_id                   L_LAST_UPDATED_BY,
3425     SYSDATE                              L_LAST_UPDATE_DATE,
3426     fnd_global.user_id                   L_LAST_UPDATE_LOGIN,
3427     fnd_global.conc_request_id           L_REQUEST_ID,
3428     fnd_global.prog_appl_id              L_PROGRAM_APPLICATION_ID,
3429     fnd_global.conc_program_id           L_PROGRAM_ID,
3430     fnd_global.conc_login_id             L_PROGRAM_LOGIN_ID,
3431     DECODE(codes.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')   L_TAX_CLASS,
3432     codes.DESCRIPTION         DESCRIPTION -- Bug 4705196
3433   FROM
3434             zx_status_b               status,
3435             ar_vat_tax_all_b          codes,
3436             zx_party_tax_profile      ptp,
3437             ar_system_parameters_all  asp
3438   WHERE     status.tax_regime_code like '%-SALES-TAX-%'
3439   AND       status.tax = 'LOCATION'
3440   AND       status.tax_status_code = 'STANDARD'
3441   AND       status.content_owner_id = ptp.party_tax_profile_id
3442   AND       ptp.party_type_code = 'OU'
3443   -- YK:02/22/2005
3444   AND      ptp.party_id = codes.org_id
3445   AND      codes.org_id  = l_org_id
3446   AND      codes.org_id = asp.org_id
3447   AND       codes.tax_type <> 'TAX_GROUP'
3448 --  AND       (asp.tax_database_view_set NOT IN ('_A', '_V') OR
3449 --             codes.tax_type NOT IN ('SALES_TAX', 'LOCATION'))
3450 --Bug Fix 4400733
3451   AND       (codes.global_attribute_category IS NULL OR
3452              codes.global_attribute_category NOT IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
3453                          'JL.BR.ARXSUVAT.AR_VAT_TAX',
3454                        'JL.CO.ARXSUVAT.AR_VAT_TAX'))
3455   AND       (asp.tax_database_view_set = 'O' AND codes.tax_type = 'LOCATION')
3456 
3457   AND NOT EXISTS (SELECT 1
3458                   FROM   zx_rates_b  rates
3459             WHERE  status.tax_regime_code = rates.tax_regime_code
3460                   AND    status.tax = rates.tax
3461                   AND    status.tax_status_code = rates.tax_status_code
3462                   AND    status.content_owner_id = rates.content_owner_id
3463                   AND    rates.tax_rate_code = codes.tax_code
3464                  );
3465 
3466 END IF;
3467   -- Creating the Missing Tax Rate Code for location based taxes.
3468 
3469   FOR rec in loc_rate_csr LOOP
3470     insert_tax_rate_code (rec.tax_regime_code,
3471                           rec.tax,
3472                           'STANDARD',               --Status
3473                           rec.tax,                  --Rate
3474                           rec.party_tax_profile_id,  --Content Owner ID
3475                           rec.org_id,            --Org ID
3476                           'Y',                      --Active Flag
3477                           TO_DATE('1952/01/01', 'YYYY/MM/DD'),  --Effective From
3478                           'Y',                      --Ad Hoc Rate
3479                           rec.location_tax_account, --Tax Account CCID
3480                           rec.set_of_books_id);
3481 
3482   END LOOP;
3483 
3484 END IF;
3485 EXCEPTION
3486   WHEN OTHERS THEN
3487     NULL;
3488 END migrate_loc_tax_code;
3489 /*===========================================================================+
3490  | PROCEDURE
3491  |   migrate_vnd_tax_code
3492  |
3493  | IN
3494  |   p_tax_id    NUMBER                 : NULL for initial load.
3495  |                                        NOT NULL for synch.
3496  |   p_tax_type  VARCHAR2 DEFAULT NULL  : NULL for initial load.
3497  |                                        NOT NULL for synch.
3498  |
3499  | OUT
3500  |   NA
3501  |
3502  | DESCRIPTION
3503  |   This procedure populates Regime to Rate entity for Tax Codes used to
3504  |   implement tax vendors (VERTEX, TAXWARE).
3505  |
3506  |   There was a change in implementation. Also refer to bug 3985196 for
3507  |   more information.
3508  |
3509  |
3510  |   **** Obsolete ****  Naming Convention - Initial Approach
3511  |  (replaced with the new approach. leaving it for FYI)
3512  |   ---------------------------------------------------------------------
3513  |   Regime Code : 'US-SALES-TAX-TAXWARE' if TAXWARE is installed in
3514  |                  one of the OUs.
3515  |                 'US-SALES-TAX-VERTEX' if VERTEX is installed in one of
3516  |                 the OUs.
3517  |
3518  |   Tax         : STATE, COUNTY, CITY, DISTRICT taxes for each OU
3519  |                 which TAXWARE or VERTEX is installed.
3520  |
3521  |                 Plus any tax code other than 'STATE', 'COUNTY', 'CITY',
3522  |                 'DISTRICT' defined in TAXWARE/VERTEX installed OUs
3523  |                 will become a tax.
3524  |
3525  |   Status Code : STANDARD
3526  |
3527  |   Rate Code   : STATE, COUNTY, CITY tax rate codes for each OU which
3528  |                 VERTEX or TAXWARE is installed.
3529  |
3530  |
3531  |
3532  |   **** New **** Naming Convention
3533  |   ---------------------------------------------------------------------
3534  |   Regime Code : 'US-SALES-TAX-location structure id'
3535  |                 This is the same definition as US Sales Tax Code migration.
3536  |
3537  |                 The objective of this change is to share same regime
3538  |                 for migrated US Sales Tax Codes and Vendor Tax Codes.
3539  |
3540  |                 Regimes are created from zxstaxdefmigb.pls
3541  |
3542  |
3543  |   Tax         : For Taxware integration
3544  |                 For each regime, create
3545  |                 STATE, COUNTY, CITY, SEC_COUNTY, SEC_CITY taxes
3546  |                 with global content owner
3547  |
3548  |                 For Vertex integration
3549  |                 For each regime, create
3550  |                 STATE, COUNTY, CITY, DISTRICT taxes
3551  |                 with global content owner
3552  |
3553  |                 Set live_for_processing_flag to 'Y' for these taxes
3554  |                 Set live_for_applicability_flag to 'N' for these taxes
3555  |
3556  |   Status Code : STANDARD
3557  |
3558  |   Rate Code   : STATE, COUNTY, CITY tax rate codes for taxes
3559  |                 created during migration. They're owned by each content owner.
3560  |
3561  |
3562  | SCOPE - PUBLIC
3563  |
3564  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
3565  |
3566  | CALLED FROM
3567  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
3568  |        zx_upg_control_pkg
3569  |
3570  | NOTES
3571  | 1. When it is called from zx_upg_control_pkg for synchronization, p_tax_type
3572  |    needs to be passed in.
3573  |
3574  |
3575  | MODIFICATION HISTORY
3576  | 01/19/2005   Yoshimichi Konishi   Created.
3577  |
3578  +==========================================================================*/
3579 PROCEDURE migrate_vnd_tax_code (p_tax_id    NUMBER,
3580                                 p_tax_type  VARCHAR2  DEFAULT  NULL)
3581 AS
3582   TYPE varchar30_rec_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
3583   TYPE number15_rec_type  IS TABLE OF NUMBER(15)   INDEX BY BINARY_INTEGER;
3584 
3585 --  Commenting the code for 12847663
3586   tax_regime_code_rec          varchar30_rec_type;
3587 --  content_owner_id_rec         number15_rec_type;
3588 --  org_id_rec                   number15_rec_type;
3589 --  location_tax_account_rec     number15_rec_type;
3590 --  set_of_books_id_rec          number15_rec_type;
3591 --  location_structure_id_rec    number15_rec_type;
3592 
3593   l_min_start_date             DATE;
3594   l_minimum_accountable_unit   NUMBER    := 0.1;
3595   l_precision                  NUMBER(1) := 2;
3596   l_tax_acct_source_tax        VARCHAR2(30);
3597 
3598   CURSOR loc_rate_csr IS
3599   SELECT tax_regime_code,tax,party_tax_profile_id,
3600          org_id,location_tax_account,set_of_books_id
3601   FROM   zx_party_tax_profile ptp,
3602          ar_system_parameters_all   asp,
3603          zx_taxes_b tax
3604   WHERE  ptp.party_type_code = 'OU'
3605   AND    ptp.party_id = asp.org_id
3606   AND    asp.tax_database_view_set IN ('_A','_V')
3607   AND    tax.tax_regime_code = 'US-SALES-TAX-'|| TO_CHAR(location_structure_id)
3608   AND    tax.content_owner_id = -99
3609   AND    tax.tax_type_code = 'LOCATION'
3610   AND    not exists(select 1 from zx_rates_b rate
3611                     where rate.tax_rate_code = tax.tax
3612                     and rate.content_owner_id = ptp.party_tax_profile_id
3613                     and rate.active_flag = 'Y'
3614                     and rate.tax_jurisdiction_code is null);
3615 
3616 BEGIN
3617 IF is_update_needed_for_vnd_tax (p_tax_id, p_tax_type) THEN
3618 
3619   BEGIN
3620     SELECT precision,
3621            minimum_accountable_unit
3622     INTO   l_precision,
3623            l_minimum_accountable_unit
3624     FROM   fnd_currencies
3625     WHERE  currency_code = 'USD';
3626   EXCEPTION
3627     WHEN OTHERS THEN
3628        NULL;
3629   END;
3630 
3631 
3632   -- **** Create Tax for Taxware *****
3633   l_min_start_date := to_date('01-01-1952','DD-MM-YYYY'); --Bug 5475175
3634 /*
3635  IF L_MULTI_ORG_FLAG = 'Y'
3636  THEN
3637   SELECT min(start_date)
3638   INTO   l_min_start_date
3639   FROM   ar_system_parameters_all   asp,
3640          ar_vat_tax_all_b           avtb
3641   WHERE  tax_database_view_set = '_A'
3642   AND    asp.org_id = avtb.org_id;
3643  ELSE
3644   SELECT min(start_date)
3645   INTO   l_min_start_date
3646   FROM   ar_system_parameters_all   asp,
3647          ar_vat_tax_all_b           avtb
3648   WHERE  tax_database_view_set = '_A'
3649   AND    asp.org_id = l_org_id
3650   AND    asp.org_id = avtb.org_id;
3651 
3652  END IF;
3653 */
3654 
3655   IF l_min_start_date IS NOT NULL THEN
3656    IF L_MULTI_ORG_FLAG = 'Y'
3657    THEN
3658     SELECT zrb.tax_regime_code
3659     BULK COLLECT INTO tax_regime_code_rec
3660     FROM   zx_regimes_b  zrb,
3661            ar_system_parameters_all  asp
3662     WHERE  tax_regime_code LIKE 'US-SALES-TAX-%'
3663     AND    TO_CHAR(asp.location_structure_id) = LTRIM(tax_regime_code, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-_')
3664     AND    asp.tax_database_view_set = '_A';
3665    ELSE
3666        SELECT zrb.tax_regime_code
3667     BULK COLLECT INTO tax_regime_code_rec
3668     FROM   zx_regimes_b  zrb,
3669            ar_system_parameters_all  asp
3670     WHERE  tax_regime_code LIKE 'US-SALES-TAX-%'
3671     AND    TO_CHAR(asp.location_structure_id) = LTRIM(tax_regime_code, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-_')
3672     AND    asp.tax_database_view_set = '_A'
3673     AND    asp.org_id = l_org_id;
3674    END IF;
3675 
3676 
3677     FOR k IN 1..tax_regime_code_rec.count LOOP
3678       insert_tax_for_loc (l_min_start_date,
3679                   tax_regime_code_rec(k),
3680                   'STATE',                     -- tax
3681       'US',                        -- country
3682       'USD',                       -- currency
3683       l_precision,                 -- tax_precision
3684             l_minimum_accountable_unit,  -- tax_mau
3685       'NEAREST',                   -- rounding_rule_code
3686       'Y',                         -- allow_rounding_override
3687                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3688                                                --id_flex_num,
3689                   NULL,          -- tax_acct_cr_method
3690                   NULL,          -- tax_acct_source_tax
3691                   NULL,          -- tax_exmpt_cr_mthd
3692                   NULL,          -- tax_exmpt_src_tax
3693                   1,
3694                   NULL,          -- cross_curr_rate_type
3695                   'LOCATION',    -- tax_type
3696                   'Y',           -- live for applicability
3697                   'Y'
3698                  );
3699 
3700       insert_tax_for_loc (l_min_start_date,
3701                   tax_regime_code_rec(k),
3702                   'COUNTY',                    -- tax
3703       'US',                        -- country
3704       'USD',                       -- currency
3705       l_precision,                 -- tax_precision
3706             l_minimum_accountable_unit,  -- tax_mau
3707       'NEAREST',                   -- rounding_rule_code
3708       'Y',                         -- allow_rounding_override
3709                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3710                                                --id_flex_num,
3711                   NULL,          -- tax_acct_cr_method
3712                   NULL,          -- tax_acct_source_tax
3713                   NULL,          -- tax_exmpt_cr_mthd
3714                   NULL,          -- tax_exmpt_src_tax
3715                   1,
3716                   NULL,          -- cross_curr_rate_type
3717                   'LOCATION',    -- tax_type
3718                   'Y',           -- live for applicability
3719                   'Y'
3720                  );
3721 
3722       insert_tax_for_loc (l_min_start_date,
3723                   tax_regime_code_rec(k),
3724                   'CITY',                      -- tax
3725       'US',                        -- country
3726       'USD',                       -- currency
3727       l_precision,                 -- tax_precision
3728             l_minimum_accountable_unit,  -- tax_mau
3729       'NEAREST',                   -- rounding_rule_code
3730       'Y',                         -- allow_rounding_override
3731                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3732                                                --id_flex_num,
3733                   NULL,          -- tax_acct_cr_method
3734                   NULL,          -- tax_acct_source_tax
3735                   NULL,          -- tax_exmpt_cr_mthd
3736                   NULL,          -- tax_exmpt_src_tax
3737                   1,
3738                   NULL,          -- cross_curr_rate_type
3739                   'LOCATION',    -- tax_type
3740                   'Y',           -- live for applicability
3741                   'Y'
3742                  );
3743 
3744       insert_tax_for_loc (l_min_start_date,
3745                   tax_regime_code_rec(k),
3746                   'SEC_COUNTY',                -- tax
3747       'US',                        -- country
3748       'USD',                       -- currency
3749       l_precision,                 -- tax_precision
3750             l_minimum_accountable_unit,  -- tax_mau
3751       'NEAREST',                   -- rounding_rule_code
3752       'Y',                         -- allow_rounding_override
3753                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3754                                                --id_flex_num,
3755                   NULL,          -- tax_acct_cr_method
3756                   NULL,          -- tax_acct_source_tax
3757                   NULL,          -- tax_exmpt_cr_mthd
3758                   NULL,          -- tax_exmpt_src_tax
3759                   1,
3760                   NULL,          -- cross_curr_rate_type
3761                   'LOCATION',    -- tax_type
3762                   'N',           -- live for applicability
3763                   'N'
3764                  );
3765 
3766       insert_tax_for_loc (l_min_start_date,
3767                   tax_regime_code_rec(k),
3768                   'SEC_CITY',                  -- tax
3769       'US',                        -- country
3770       'USD',                       -- currency
3771       l_precision,                 -- tax_precision
3772             l_minimum_accountable_unit,  -- tax_mau
3773       'NEAREST',                   -- rounding_rule_code
3774       'Y',                         -- allow_rounding_override
3775                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3776                                                --id_flex_num,
3777                   NULL,          -- tax_acct_cr_method
3778                   NULL,          -- tax_acct_source_tax
3779                   NULL,          -- tax_exmpt_cr_mthd
3780                   NULL,          -- tax_exmpt_src_tax
3781                   1,
3782                   NULL,          -- cross_curr_rate_type
3783                   'LOCATION',    -- tax_type
3784                   'N',           -- live for applicability
3785                   'N'
3786                  );
3787     END LOOP;
3788   END IF;
3789   -- ***** End of Tax Creation for Taxware *****
3790 
3791 
3792 
3793   -- **** Create Tax for Vertex *****
3794  /* l_min_start_date := '';
3795 
3796   IF L_MULTI_ORG_FLAG = 'Y'
3797   THEN
3798 
3799   SELECT min(start_date)
3800   INTO   l_min_start_date
3801   FROM   ar_system_parameters_all   asp,
3802          ar_vat_tax_all_b           avtb
3803   WHERE  tax_database_view_set = '_V'
3804   AND    asp.org_id = avtb.org_id;
3805 
3806   ELSE
3807 
3808   SELECT min(start_date)
3809   INTO   l_min_start_date
3810   FROM   ar_system_parameters_all   asp,
3811          ar_vat_tax_all_b           avtb
3812   WHERE  tax_database_view_set = '_V'
3813   AND    asp.org_id = l_org_id
3814   AND    asp.org_id = avtb.org_id ;
3815 
3816   END IF;*/ --Bug 5475175
3817 
3818   IF l_min_start_date IS NOT NULL THEN
3819     IF L_MULTI_ORG_FLAG = 'Y'
3820     THEN
3821       SELECT zrb.tax_regime_code
3822       BULK COLLECT INTO tax_regime_code_rec
3823       FROM   zx_regimes_b  zrb,
3824        ar_system_parameters_all  asp
3825       WHERE  tax_regime_code LIKE 'US-SALES-TAX-%'
3826       AND    TO_CHAR(asp.location_structure_id) = LTRIM(tax_regime_code, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-_')
3827       AND    asp.tax_database_view_set = '_V';
3828     ELSE
3829 
3830       SELECT zrb.tax_regime_code
3831       BULK COLLECT INTO tax_regime_code_rec
3832       FROM   zx_regimes_b  zrb,
3833        ar_system_parameters_all  asp
3834       WHERE  tax_regime_code LIKE 'US-SALES-TAX-%'
3835       AND    TO_CHAR(asp.location_structure_id) = LTRIM(tax_regime_code, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-_')
3836       AND    asp.tax_database_view_set = '_V'
3837       AND    asp.org_id = l_org_id  ;
3838      END IF;
3839 
3840     FOR k IN 1..tax_regime_code_rec.count LOOP
3841       insert_tax_for_loc (l_min_start_date,
3842                   tax_regime_code_rec(k),
3843                   'STATE',                     -- tax
3844       'US',                        -- country
3845       'USD',                       -- currency
3846       l_precision,                 -- tax_precision
3847             l_minimum_accountable_unit,  -- tax_mau
3848       'NEAREST',                   -- rounding_rule_code
3849       'Y',                         -- allow_rounding_override
3850                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3851                                                --id_flex_num,
3852                   NULL,          -- tax_acct_cr_method
3853                   NULL,          -- tax_acct_source_tax
3854                   NULL,          -- tax_exmpt_cr_mthd
3855                   NULL,          -- tax_exmpt_src_tax
3856                   1,
3857                   NULL,          -- cross_curr_rate_type
3858                   'LOCATION',    -- tax_type
3859                   'Y',           -- live for applicability
3860                   'Y'
3861                  );
3862 
3863       insert_tax_for_loc (l_min_start_date,
3864                   tax_regime_code_rec(k),
3865                   'COUNTY',                    -- tax
3866       'US',                        -- country
3867       'USD',                       -- currency
3868       l_precision,                 -- tax_precision
3869             l_minimum_accountable_unit,  -- tax_mau
3870       'NEAREST',                   -- rounding_rule_code
3871       'Y',                         -- allow_rounding_override
3872                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3873                                                --id_flex_num,
3874                   NULL,          -- tax_acct_cr_method
3875                   NULL,          -- tax_acct_source_tax
3876                   NULL,          -- tax_exmpt_cr_mthd
3877                   NULL,          -- tax_exmpt_src_tax
3878                   1,
3879                   NULL,          -- cross_curr_rate_type
3880                   'LOCATION',    -- tax_type
3881                   'Y',           -- live for applicability
3882                   'Y'
3883                  );
3884 
3885       insert_tax_for_loc (l_min_start_date,
3886                   tax_regime_code_rec(k),
3887                   'CITY',                      -- tax
3888       'US',                        -- country
3889       'USD',                       -- currency
3890       l_precision,                 -- tax_precision
3891             l_minimum_accountable_unit,  -- tax_mau
3892       'NEAREST',                   -- rounding_rule_code
3893       'Y',                         -- allow_rounding_override
3894                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3895                                                --id_flex_num,
3896                   NULL,          -- tax_acct_cr_method
3897                   NULL,          -- tax_acct_source_tax
3898                   NULL,          -- tax_exmpt_cr_mthd
3899                   NULL,          -- tax_exmpt_src_tax
3900                   1,
3901                   NULL,          -- cross_curr_rate_type
3902                   'LOCATION',    -- tax_type
3903                   'Y',           -- live for applicability
3904                   'Y'
3905                  );
3906 
3907       --bug6336567
3908       BEGIN
3909         SELECT tax_account_source_tax
3910   INTO l_tax_acct_source_tax
3911         FROM zx_taxes_b
3912         WHERE tax_regime_code = tax_regime_code_rec(k)
3913         AND tax = 'CITY'
3914         AND record_type_code = 'MIGRATED';
3915       EXCEPTION
3916         WHEN OTHERS THEN
3917     l_tax_acct_source_tax := NULL;
3918       END;
3919 
3920       insert_tax_for_loc (l_min_start_date,
3921                   tax_regime_code_rec(k),
3922                   'DISTRICT',                  -- tax
3923       'US',                        -- country
3924       'USD',                       -- currency
3925       l_precision,                 -- tax_precision
3926             l_minimum_accountable_unit,  -- tax_mau
3927       'NEAREST',                   -- rounding_rule_code
3928       'Y',                         -- allow_rounding_override
3929                   TO_NUMBER(LTRIM(tax_regime_code_rec(k), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-')),
3930                                                --id_flex_num,
3931                   NULL,          -- tax_acct_cr_method
3932                   l_tax_acct_source_tax,       -- tax_acct_source_tax
3933                   NULL,          -- tax_exmpt_cr_mthd
3934                   NULL,          -- tax_exmpt_src_tax
3935                   1,
3936                   NULL,          -- cross_curr_rate_type
3937                   'LOCATION',    -- tax_type
3938                   'N',           -- live for applicability
3939                   'N'
3940                  );
3941     END LOOP;
3942   END IF;
3943   -- **** End of Tax Creation for Vertex *****
3944 
3945 
3946 
3947   -- Populate Status : Taxware and Vertex
3948 
3949   INSERT ALL
3950   INTO ZX_STATUS_B_TMP
3951   (
3952       TAX_STATUS_ID,
3953       TAX_STATUS_CODE,
3954       CONTENT_OWNER_ID,
3955       EFFECTIVE_FROM,
3956       EFFECTIVE_TO,
3957       TAX,
3958       TAX_REGIME_CODE,
3959       RULE_BASED_RATE_FLAG,
3960       ALLOW_RATE_OVERRIDE_FLAG,
3961       ALLOW_EXEMPTIONS_FLAG,
3962       ALLOW_EXCEPTIONS_FLAG,
3963       DEFAULT_STATUS_FLAG,
3964       DEFAULT_FLG_EFFECTIVE_FROM,
3965       DEFAULT_FLG_EFFECTIVE_TO,
3966       DEF_REC_SETTLEMENT_OPTION_CODE,
3967       RECORD_TYPE_CODE,
3968       ATTRIBUTE1,
3969       ATTRIBUTE2,
3970       ATTRIBUTE3,
3971       ATTRIBUTE4,
3972       ATTRIBUTE5,
3973       ATTRIBUTE6,
3974       ATTRIBUTE7,
3975       ATTRIBUTE8,
3976       ATTRIBUTE9,
3977       ATTRIBUTE10,
3978       ATTRIBUTE11,
3979       ATTRIBUTE12,
3980       ATTRIBUTE13,
3981       ATTRIBUTE14,
3982       ATTRIBUTE15,
3983       ATTRIBUTE_CATEGORY,
3984       CREATION_DATE,
3985       CREATED_BY,
3986       LAST_UPDATE_DATE,
3987       LAST_UPDATED_BY,
3988       LAST_UPDATE_LOGIN,
3989       REQUEST_ID,
3990       OBJECT_VERSION_NUMBER
3991   )
3992   VALUES
3993   (
3994       ZX_STATUS_B_S.NEXTVAL,    --TAX_STATUS_ID
3995       l_tax_status_code,        --TAX_STATUS_CODE
3996       l_content_owner_id,       --CONTENT_OWNER_ID
3997       l_effective_from,         --EFFECTIVE_FROM
3998       l_effective_to,           --EFFECTIVE_TO
3999       l_tax,                    --TAX
4000       l_tax_regime_code,        --TAX_REGIME_CODE
4001       l_rule_based_flag,        --RULE_BASED_RATE_FLAG
4002       l_allow_rate_override_flag,   --ALLOW_RATE_OVERRIDE_FLAG
4003       l_allow_exemptions_flag,  --ALLOW_EXEMPTIONS_FLAG
4004       l_allow_exceptions_flag,  --ALLOW_EXCEPTIONS_FLAG
4005       l_default_status_flag,        --DEFAULT_STATUS_FLAG
4006       l_default_flg_effective_from, --DEFAULT_FLG_EFFECTIVE_FROM
4007       l_default_flg_effective_to,   --DEFAULT_FLG_EFFECTIVE_TO
4008       l_def_rec_setlmnt_optn_code,  --DEF_REC_SETTLEMENT_OPTION_CODE
4009       l_record_type_code,
4010       l_attribute1,
4011       l_attribute2,
4012       l_attribute3,
4013       l_attribute4,
4014       l_attribute5,
4015       l_attribute6,
4016       l_attribute7,
4017       l_attribute8,
4018       l_attribute9,
4019       l_attribute10,
4020       l_attribute11,
4021       l_attribute12,
4022       l_attribute13,
4023       l_attribute14,
4024       l_attribute15,
4025       l_attribute_category,
4026       l_creation_date,
4027       l_created_by,
4028       l_last_update_date,
4029       l_last_updated_by,
4030       l_last_update_login,
4031       l_request_id,
4032       1
4033   )
4034   SELECT
4035       'STANDARD'              l_tax_status_code,        --TAX_STATUS_CODE
4036       ztb.content_owner_id    l_content_owner_id,       --CONTENT_OWNER_ID
4037       ztb.effective_from      l_effective_from,         --EFFECTIVE_FROM
4038       NULL                    l_effective_to,           --EFFECTIVE_TO
4039       ztb.tax                 l_tax,                    --TAX
4040       ztb.tax_regime_code     l_tax_regime_code,        --TAX_REGIME_CODE
4041       'N'                     l_rule_based_flag,        --RULE_BASED_RATE_FLAG
4042       'Y'                     l_allow_rate_override_flag,   --ALLOW_RATE_OVERRIDE_FLAG
4043       ztb.allow_exemptions_flag   l_allow_exemptions_flag,  --ALLOW_EXEMPTIONS_FLAG
4044       ztb.allow_exceptions_flag   l_allow_exceptions_flag,  --ALLOW_EXCEPTIONS_FLAG
4045       'Y'                     l_default_status_flag,        --DEFAULT_STATUS_FLAG
4046       NULL                    l_default_flg_effective_from, --DEFAULT_FLG_EFFECTIVE_FROM
4047       NULL                    l_default_flg_effective_to,   --DEFAULT_FLG_EFFECTIVE_TO
4048       NULL                    l_def_rec_setlmnt_optn_code,  --DEF_REC_SETTLEMENT_OPTION_CODE
4049       'MIGRATED'              l_record_type_code,
4050       NULL                    l_attribute1,
4051       NULL                    l_attribute2,
4052       NULL                    l_attribute3,
4053       NULL                    l_attribute4,
4054       NULL                    l_attribute5,
4055       NULL                    l_attribute6,
4056       NULL                    l_attribute7,
4057       NULL                    l_attribute8,
4058       NULL                    l_attribute9,
4059       NULL                    l_attribute10,
4060       NULL                    l_attribute11,
4061       NULL                    l_attribute12,
4062       NULL                    l_attribute13,
4063       NULL                    l_attribute14,
4064       NULL                    l_attribute15,
4065       NULL                    l_attribute_category,
4066       SYSDATE                 l_creation_date,
4067       fnd_global.user_id      l_created_by,
4068       SYSDATE                 l_last_update_date,
4069       fnd_global.user_id      l_last_updated_by,
4070       fnd_global.conc_login_id    l_last_update_login,
4071       fnd_global.conc_request_id  l_request_id
4072   FROM            zx_taxes_b                ztb
4073   WHERE           ztb.tax_regime_code LIKE 'US-SALES-TAX-%'
4074   AND NOT EXISTS  (SELECT 1
4075                    FROM   zx_status_b  zsb
4076                    WHERE  zsb.tax_regime_code = ztb.tax_regime_code
4077                    AND    zsb.tax = ztb.tax
4078                    AND    zsb.content_owner_id = ztb.content_owner_id
4079                    AND    zsb.tax_status_code = 'STANDARD');
4080 
4081   --
4082   -- Populate Rates : Taxware and Vertex : Phase I
4083   --
4084   -- Creating tax rate code for each content owners
4085   -- using Tax Code created for vendor integration
4086   -- in AR_VAT_TAX_ALL_B
4087   --
4088    BEGIN
4089   IF L_MULTI_ORG_FLAG = 'Y'
4090   THEN
4091 
4092 
4093   INSERT ALL
4094   INTO zx_rates_b_tmp
4095   (
4096       TAX_RATE_ID                    ,
4097       TAX_RATE_CODE                  ,
4098       CONTENT_OWNER_ID               ,
4099       EFFECTIVE_FROM                 ,
4100       EFFECTIVE_TO                   ,
4101       TAX_REGIME_CODE                ,
4102       TAX                            ,
4103       TAX_STATUS_CODE                ,
4104       SCHEDULE_BASED_RATE_FLAG       ,
4105       RATE_TYPE_CODE                 ,
4106       PERCENTAGE_RATE                ,
4107       QUANTITY_RATE                  ,
4108       UOM_CODE                       ,
4109       TAX_JURISDICTION_CODE          ,
4110       RECOVERY_TYPE_CODE             ,
4111       ACTIVE_FLAG                    ,
4112       DEFAULT_RATE_FLAG              ,
4113       DEFAULT_FLG_EFFECTIVE_FROM     ,
4114       DEFAULT_FLG_EFFECTIVE_TO       ,
4115       DEFAULT_REC_TYPE_CODE          ,
4116       DEFAULT_REC_RATE_CODE          ,
4117       OFFSET_TAX                     ,
4118       OFFSET_STATUS_CODE             ,
4119       OFFSET_TAX_RATE_CODE           ,
4120       RECOVERY_RULE_CODE             ,
4121       DEF_REC_SETTLEMENT_OPTION_CODE ,
4122       VAT_TRANSACTION_TYPE_CODE      ,
4123       ADJ_FOR_ADHOC_AMT_CODE         ,
4124       ALLOW_ADHOC_TAX_RATE_FLAG      ,
4125       TAX_CLASS                      ,
4126       SOURCE_ID                      ,
4127       TAXABLE_BASIS_FORMULA_CODE     ,
4128       INCLUSIVE_TAX_FLAG             ,
4129       TAX_INCLUSIVE_OVERRIDE_FLAG    ,
4130       RECORD_TYPE_CODE               ,
4131       CREATED_BY                     ,
4132       CREATION_DATE                  ,
4133       LAST_UPDATED_BY                ,
4134       LAST_UPDATE_DATE               ,
4135       LAST_UPDATE_LOGIN              ,
4136       REQUEST_ID                     ,
4137       PROGRAM_APPLICATION_ID         ,
4138       PROGRAM_ID                     ,
4139       PROGRAM_LOGIN_ID               ,
4140       ATTRIBUTE1                     ,
4141       ATTRIBUTE2                     ,
4142       ATTRIBUTE3                     ,
4143       ATTRIBUTE4                     ,
4144       ATTRIBUTE5                     ,
4145       ATTRIBUTE6                     ,
4146       ATTRIBUTE7                     ,
4147       ATTRIBUTE8                     ,
4148       ATTRIBUTE9                     ,
4149       ATTRIBUTE10                    ,
4150       ATTRIBUTE11                    ,
4151       ATTRIBUTE12                    ,
4152       ATTRIBUTE13                    ,
4153       ATTRIBUTE14                    ,
4154       ATTRIBUTE15                    ,
4155       ATTRIBUTE_CATEGORY             ,
4156       OBJECT_VERSION_NUMBER          ,
4157       ALLOW_EXEMPTIONS_FLAG          , --Bug 4204464
4158       ALLOW_EXCEPTIONS_FLAG
4159    -- 6820043, commenting out description
4160    -- DESCRIPTION                      -- Bug 4705196
4161   )
4162   VALUES
4163   (
4164             L_TAX_RATE_ID                    ,  --TAX_RATE_ID
4165       L_TAX_RATE_CODE                  ,  --tax_rate_code
4166       L_CONTENT_OWNER_ID               ,  --content_owner_id
4167       L_EFFECTIVE_FROM                 ,  --effective_from
4168       L_EFFECTIVE_TO                   ,  --effective_to
4169       L_TAX_REGIME_CODE                ,  --tax_regime_code
4170       L_TAX                            ,  --tax
4171       L_TAX_STATUS_CODE                ,  --tax_status_code
4172       L_SCHEDULE_BASED_RATE_FLAG       ,  --scheduled_based_rate_flag : YK:8/25/2004: Should be 'N'
4173       L_RATE_TYPE_CODE                 ,  --rate_type_code
4174       L_PERCENTAGE_RATE                ,  --percentage_rate
4175       L_QUANTITY_RATE                  ,  --quantity_rate
4176       L_UOM_CODE                       ,  --uom_code
4177       L_TAX_JURISDICTION_CODE          ,  --tax_jurisdiction_code
4178       L_RECOVERY_TYPE_CODE             ,  --recovery_type_code
4179       L_ACTIVE_FLAG                    ,  --active_flag
4180       L_DEFAULT_RATE_FLAG              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
4181       L_DEFAULT_FLG_EFFECTIVE_FROM     ,  --default_flg_effective_from
4182       L_DEFAULT_FLG_EFFECTIVE_TO       ,  --default_flg_effective_to
4183       L_DEFAULT_REC_TYPE_CODE          ,  --default_rec_type_code
4184       L_DEFAULT_REC_RATE_CODE          ,  --default_rec_rate_code
4185       L_OFFSET_TAX                     ,  --offset_tax
4186       L_OFFSET_STATUS_CODE             ,  --offset_status_code
4187       L_OFFSET_TAX_RATE_CODE           ,  --offset_tax_rate_code
4188       L_RECOVERY_RULE_CODE             ,  --recovery_rule_code
4189       L_DEF_REC_STTLMNT_OPTN_CD        ,  --def_rec_settlement_option_code
4190       L_VAT_TRANSACTION_TYPE_CODE      ,  --vat_transaction_type_code
4191       L_ADJ_FOR_ADHOC_AMT_CODE         ,  --adj_for_adhoc_amt_code
4192       L_ALLOW_ADHOC_TAX_RATE_FLAG      ,  --allow_adhoc_tax_rate_flag
4193       L_TAX_CLASS                      ,  --tax_class
4194       NULL                             ,  --source_id
4195       'STANDARD_TB'                    ,  --taxable_basis_formula_code
4196       L_INCLUSIVE_TAX_FLAG             ,  --inclusive_tax_flag
4197       L_TAX_INCLUSIVE_OVERRIDE_FLAG    ,  --tax_inclusive_override_flag
4198       'MIGRATED'                       ,  --record_type_code
4199       fnd_global.user_id               ,  --created_by
4200       SYSDATE                          ,  --creation_date
4201       fnd_global.user_id               ,  --last_updated_by
4202       SYSDATE                          ,  --last_update_date
4203       fnd_global.user_id               ,  --last_update_login
4204       fnd_global.conc_request_id       ,  --request_id
4205       fnd_global.prog_appl_id          ,  --program_application_id
4206       fnd_global.conc_program_id       ,  --program_id
4207       fnd_global.conc_login_id         ,  --program_login_id
4208       L_ATTRIBUTE1                     ,
4209       L_ATTRIBUTE2                     ,
4210       L_ATTRIBUTE3                     ,
4211       L_ATTRIBUTE4                     ,
4212       L_ATTRIBUTE5                     ,
4213       L_ATTRIBUTE6                     ,
4214       L_ATTRIBUTE7                     ,
4215       L_ATTRIBUTE8                     ,
4216       L_ATTRIBUTE9                     ,
4217       L_ATTRIBUTE10                    ,
4218       L_ATTRIBUTE11                    ,
4219       L_ATTRIBUTE12                    ,
4220       L_ATTRIBUTE13                    ,
4221       L_ATTRIBUTE14                    ,
4222       L_ATTRIBUTE15                    ,
4223       L_ATTRIBUTE_CATEGORY       ,
4224       1                                ,
4225       'Y'                              ,  --ALLOW_EXEMPTIONS_FLAG
4226       'Y'                                 --ALLOW_EXCEPTIONS_FLAG
4227     -- 6820043, commenting out description
4228     -- DESCRIPTION                        -- Bug 4705196
4229   )
4230   INTO zx_accounts
4231   (
4232       TAX_ACCOUNT_ID                 ,
4233       TAX_ACCOUNT_ENTITY_ID          ,
4234       TAX_ACCOUNT_ENTITY_CODE        ,
4235       LEDGER_ID                      ,
4236       INTERNAL_ORGANIZATION_ID       , -- Bug 3495741
4237       TAX_ACCOUNT_CCID               ,
4238       INTERIM_TAX_CCID               ,
4239       NON_REC_ACCOUNT_CCID           ,
4240       ADJ_CCID                       ,
4241       EDISC_CCID                     ,
4242       UNEDISC_CCID                   ,
4243       FINCHRG_CCID                   ,
4244       ADJ_NON_REC_TAX_CCID           ,
4245       EDISC_NON_REC_TAX_CCID         ,
4246       UNEDISC_NON_REC_TAX_CCID       ,
4247       FINCHRG_NON_REC_TAX_CCID       ,
4248       RECORD_TYPE_CODE               ,
4249       CREATED_BY                  ,
4250       CREATION_DATE                  ,
4251       LAST_UPDATED_BY                ,
4252       LAST_UPDATE_DATE               ,
4253       LAST_UPDATE_LOGIN              ,
4254       REQUEST_ID                     ,
4255       PROGRAM_APPLICATION_ID         ,
4256       PROGRAM_ID                     ,
4257       PROGRAM_LOGIN_ID               ,
4258       ATTRIBUTE1             ,
4259       ATTRIBUTE2             ,
4260       ATTRIBUTE3             ,
4261       ATTRIBUTE4             ,
4262       ATTRIBUTE5             ,
4263       ATTRIBUTE6             ,
4264       ATTRIBUTE7             ,
4265       ATTRIBUTE8             ,
4266       ATTRIBUTE9             ,
4267       ATTRIBUTE10            ,
4268       ATTRIBUTE11            ,
4269       ATTRIBUTE12            ,
4270       ATTRIBUTE13            ,
4271       ATTRIBUTE14            ,
4272       ATTRIBUTE15            ,
4273       ATTRIBUTE_CATEGORY     ,
4274       OBJECT_VERSION_NUMBER
4275   )
4276   VALUES
4277   (
4278        ZX_ACCOUNTS_S.nextval  ,--TAX_ACCOUNT_ID
4279              L_TAX_RATE_ID          ,--TAX_RATE_ID
4280        'RATES'                 ,--TAX_ACCOUNT_ENTITY_CODE
4281        L_LEDGER_ID            ,--LEDGER_ID
4282        L_ORG_ID               ,--ORG_ID
4283        L_TAX_ACCOUNT_CCID     ,--TAX_ACCOUNT_CCID
4284        L_INTERIM_TAX_CCID     ,--INTERIM_TAX_CCID
4285        L_NON_REC_ACCOUNT_CCID ,--NON_REC_ACCOUNT_CCID --YK:07/06/2004:OPEN: understand the field
4286        L_ADJ_CCID             ,--ADJ_CCID
4287        L_EDISC_CCID           ,--EDISC_CCID
4288        L_UNEDISC_CCID         ,--UNEDISC_CCID
4289        L_FINCHRG_CCID         ,--FINCHRG_CCID
4290        L_ADJ_NON_REC_TAX_CCID            ,--ADJ_NON_REC_TAX_CCID
4291        L_EDISC_NON_REC_TAX_CCID          ,--EDISC_NON_REC_TAX_CCID
4292        L_UNEDISC_NON_REC_TAX_CCID        ,--UNEDISC_NON_REC_TAX_CCID
4293        L_FINCHRG_NON_REC_TAX_CCID        ,--FINCHRG_NON_REC_TAX_CCID
4294        L_RECORD_TYPE_CODE                ,
4295              L_CREATED_BY                      ,
4296              L_CREATION_DATE                   ,
4297              L_LAST_UPDATED_BY                 ,
4298              L_LAST_UPDATE_DATE                ,
4299              L_LAST_UPDATE_LOGIN               ,
4300        L_REQUEST_ID                      ,
4301        L_PROGRAM_APPLICATION_ID          ,
4302        L_PROGRAM_ID                      ,
4303        L_PROGRAM_LOGIN_ID                ,
4304        L_ATTRIBUTE1             ,
4305        L_ATTRIBUTE2             ,
4306        L_ATTRIBUTE3             ,
4307        L_ATTRIBUTE4             ,
4308        L_ATTRIBUTE5             ,
4309        L_ATTRIBUTE6             ,
4310        L_ATTRIBUTE7             ,
4311        L_ATTRIBUTE8             ,
4312        L_ATTRIBUTE9             ,
4313        L_ATTRIBUTE10            ,
4314        L_ATTRIBUTE11            ,
4315        L_ATTRIBUTE12            ,
4316        L_ATTRIBUTE13            ,
4317        L_ATTRIBUTE14            ,
4318        L_ATTRIBUTE15            ,
4319        L_ATTRIBUTE_CATEGORY     ,
4320        1
4321   )
4322   SELECT
4323     avt.vat_tax_id                     L_TAX_RATE_ID,
4324     avt.tax_code                       L_TAX_RATE_CODE,
4325     ptp.party_tax_profile_id           L_CONTENT_OWNER_ID,
4326     avt.start_date                     L_EFFECTIVE_FROM,
4327     avt.end_date                       L_EFFECTIVE_TO,
4328           zrb.tax_regime_code                L_TAX_REGIME_CODE ,
4329           ztb.tax                            L_TAX,
4330           'STANDARD'                         L_TAX_STATUS_CODE,
4331     'N'                                L_SCHEDULE_BASED_RATE_FLAG,
4332           'PERCENTAGE'                       L_RATE_TYPE_CODE,
4333           avt.tax_rate                       L_PERCENTAGE_RATE,
4334           NULL                               L_QUANTITY_RATE,
4335     NULL                               L_UOM_CODE,
4336     NULL                               L_TAX_JURISDICTION_CODE,
4337     NULL                               L_RECOVERY_TYPE_CODE,
4338     avt.enabled_flag                   L_ACTIVE_FLAG,
4339    'Y'                                 L_DEFAULT_RATE_FLAG    ,
4340     avt.start_date                     L_DEFAULT_FLG_EFFECTIVE_FROM ,
4341     avt.end_date                       L_DEFAULT_FLG_EFFECTIVE_TO   ,
4342     NULL                               L_DEFAULT_REC_TYPE_CODE      ,
4343     NULL                               L_DEFAULT_REC_RATE_CODE,
4344     NULL                               L_OFFSET_TAX,
4345     NULL                               L_OFFSET_STATUS_CODE ,
4346     NULL                               L_OFFSET_TAX_RATE_CODE  ,
4347     NULL                               L_RECOVERY_RULE_CODE    ,
4348     DECODE(avt.INTERIM_TAX_CCID,
4349      NULL, 'IMMEDIATE',
4350      'DEFERRED')                 L_DEF_REC_STTLMNT_OPTN_CD,
4351     avt.vat_transaction_type           L_VAT_TRANSACTION_TYPE_CODE,
4352     avt.AMOUNT_INCLUDES_TAX_FLAG       L_INCLUSIVE_TAX_FLAG,
4353     avt.AMOUNT_INCLUDES_TAX_OVERRIDE   L_TAX_INCLUSIVE_OVERRIDE_FLAG,
4354    'MIGRATED'                          L_RECORD_TYPE_CODE,
4355     avt.ATTRIBUTE1                     L_ATTRIBUTE1,
4356     avt.ATTRIBUTE2                     L_ATTRIBUTE2,
4357     avt.ATTRIBUTE3                     L_ATTRIBUTE3,
4358     avt.ATTRIBUTE4                     L_ATTRIBUTE4,
4359     avt.ATTRIBUTE5                     L_ATTRIBUTE5,
4360     avt.ATTRIBUTE6                     L_ATTRIBUTE6,
4361     avt.ATTRIBUTE7                     L_ATTRIBUTE7,
4362     avt.ATTRIBUTE8                     L_ATTRIBUTE8,
4363     avt.ATTRIBUTE9                     L_ATTRIBUTE9,
4364     avt.ATTRIBUTE10                    L_ATTRIBUTE10,
4365     avt.ATTRIBUTE11                    L_ATTRIBUTE11,
4366     avt.ATTRIBUTE12                    L_ATTRIBUTE12,
4367     avt.ATTRIBUTE13                    L_ATTRIBUTE13,
4368     avt.ATTRIBUTE14                    L_ATTRIBUTE14,
4369     avt.ATTRIBUTE15                    L_ATTRIBUTE15,
4370     avt.ATTRIBUTE_CATEGORY             L_ATTRIBUTE_CATEGORY,
4371     avt.set_of_books_id                L_LEDGER_ID,
4372     avt.org_id                         L_ORG_ID,
4373     avt.TAX_ACCOUNT_ID                 L_TAX_ACCOUNT_CCID,
4374     avt.INTERIM_TAX_CCID               L_INTERIM_TAX_CCID,
4375     avt.ADJ_CCID                       L_ADJ_CCID,
4376     avt.EDISC_CCID                     L_EDISC_CCID,
4377     avt.UNEDISC_CCID                   L_UNEDISC_CCID,
4378     avt.FINCHRG_CCID                   L_FINCHRG_CCID,
4379     avt.ADJ_NON_REC_TAX_CCID           L_ADJ_NON_REC_TAX_CCID,
4380     avt.EDISC_NON_REC_TAX_CCID         L_EDISC_NON_REC_TAX_CCID,
4381     avt.UNEDISC_NON_REC_TAX_CCID       L_UNEDISC_NON_REC_TAX_CCID,
4382     avt.FINCHRG_NON_REC_TAX_CCID       L_FINCHRG_NON_REC_TAX_CCID,
4383     NULL                               L_NON_REC_ACCOUNT_CCID,
4384     'TAX_RATE'                         L_ADJ_FOR_ADHOC_AMT_CODE,
4385     'Y'                                L_ALLOW_ADHOC_TAX_RATE_FLAG,
4386     fnd_global.user_id                 L_CREATED_BY,
4387     SYSDATE                            L_CREATION_DATE,
4388     fnd_global.user_id                 L_LAST_UPDATED_BY,
4389     SYSDATE                            L_LAST_UPDATE_DATE,
4390     fnd_global.user_id                 L_LAST_UPDATE_LOGIN,
4391     fnd_global.conc_request_id         L_REQUEST_ID,
4392     fnd_global.prog_appl_id            L_PROGRAM_APPLICATION_ID,
4393     fnd_global.conc_program_id         L_PROGRAM_ID,
4394     fnd_global.conc_login_id           L_PROGRAM_LOGIN_ID,
4395     DECODE(avt.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')   L_TAX_CLASS,
4396     avt.DESCRIPTION         DESCRIPTION -- Bug 4705196
4397   FROM
4398             ar_vat_tax_all_b          avt,
4399             zx_party_tax_profile      ptp,
4400             ar_system_parameters_all  asp,
4401             zx_regimes_b              zrb,
4402             zx_taxes_b                ztb
4403   WHERE     ptp.party_type_code = 'OU'
4404   AND       ptp.party_id = avt.org_id
4405   AND       avt.org_id = asp.org_id
4406   AND       asp.tax_database_view_set IN ('_A', '_V')
4407   AND       (avt.global_attribute_category IS NULL OR
4408              avt.global_attribute_category NOT IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
4409                                    'JL.BR.ARXSUVAT.AR_VAT_TAX',
4410                      'JL.CO.ARXSUVAT.AR_VAT_TAX'))
4411   AND       avt.tax_type <> 'TAX_GROUP'
4412   AND       TO_CHAR(asp.location_structure_id) = LTRIM(zrb.tax_regime_code, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-_')
4413   AND       ztb.tax_regime_code = zrb.tax_regime_code
4414   --Bug fix 5346118
4415   AND       ((avt.tax_code = ztb.tax and avt.tax_type = 'SALES_TAX' ) or (avt.tax_type = 'LOCATION' and ztb.tax='LOCATION'))
4416   --bug#7343019
4417   AND       ptp.party_tax_profile_id = ztb.content_owner_id
4418   AND NOT EXISTS (SELECT 1
4419                   FROM   zx_rates_b  rates
4420             WHERE  rates.tax_rate_id = avt.vat_tax_id
4421                  );
4422  ELSE
4423 
4424 
4425   INSERT ALL
4426   INTO zx_rates_b_tmp
4427   (
4428       TAX_RATE_ID                    ,
4429       TAX_RATE_CODE                  ,
4430       CONTENT_OWNER_ID               ,
4431       EFFECTIVE_FROM                 ,
4432       EFFECTIVE_TO                   ,
4433       TAX_REGIME_CODE                ,
4434       TAX                            ,
4435       TAX_STATUS_CODE                ,
4436       SCHEDULE_BASED_RATE_FLAG       ,
4437       RATE_TYPE_CODE                 ,
4438       PERCENTAGE_RATE                ,
4439       QUANTITY_RATE                  ,
4440       UOM_CODE                       ,
4441       TAX_JURISDICTION_CODE          ,
4442       RECOVERY_TYPE_CODE             ,
4443       ACTIVE_FLAG                    ,
4444       DEFAULT_RATE_FLAG              ,
4445       DEFAULT_FLG_EFFECTIVE_FROM     ,
4446       DEFAULT_FLG_EFFECTIVE_TO       ,
4447       DEFAULT_REC_TYPE_CODE          ,
4448       DEFAULT_REC_RATE_CODE          ,
4449       OFFSET_TAX                     ,
4450       OFFSET_STATUS_CODE             ,
4451       OFFSET_TAX_RATE_CODE           ,
4452       RECOVERY_RULE_CODE             ,
4453       DEF_REC_SETTLEMENT_OPTION_CODE ,
4454       VAT_TRANSACTION_TYPE_CODE      ,
4455       ADJ_FOR_ADHOC_AMT_CODE         ,
4456       ALLOW_ADHOC_TAX_RATE_FLAG      ,
4457       TAX_CLASS                      ,
4458       SOURCE_ID                      ,
4462       RECORD_TYPE_CODE               ,
4459       TAXABLE_BASIS_FORMULA_CODE     ,
4460       INCLUSIVE_TAX_FLAG             ,
4461       TAX_INCLUSIVE_OVERRIDE_FLAG    ,
4463       CREATED_BY                     ,
4464       CREATION_DATE                  ,
4465       LAST_UPDATED_BY                ,
4466       LAST_UPDATE_DATE               ,
4467       LAST_UPDATE_LOGIN              ,
4468       REQUEST_ID                     ,
4469       PROGRAM_APPLICATION_ID         ,
4470       PROGRAM_ID                     ,
4471       PROGRAM_LOGIN_ID               ,
4472       ATTRIBUTE1                     ,
4473       ATTRIBUTE2                     ,
4474       ATTRIBUTE3                     ,
4475       ATTRIBUTE4                     ,
4476       ATTRIBUTE5                     ,
4477       ATTRIBUTE6                     ,
4478       ATTRIBUTE7                     ,
4479       ATTRIBUTE8                     ,
4480       ATTRIBUTE9                     ,
4481       ATTRIBUTE10                    ,
4482       ATTRIBUTE11                    ,
4483       ATTRIBUTE12                    ,
4484       ATTRIBUTE13                    ,
4485       ATTRIBUTE14                    ,
4486       ATTRIBUTE15                    ,
4487       ATTRIBUTE_CATEGORY             ,
4488       OBJECT_VERSION_NUMBER          ,
4489       ALLOW_EXEMPTIONS_FLAG          , --Bug 4204464
4490       ALLOW_EXCEPTIONS_FLAG
4491      -- 6820043, commenting out description
4492      -- DESCRIPTION                    -- Bug 4705196
4493   )
4494   VALUES
4495   (
4496             L_TAX_RATE_ID                    ,  --TAX_RATE_ID
4497       L_TAX_RATE_CODE                  ,  --tax_rate_code
4498       L_CONTENT_OWNER_ID               ,  --content_owner_id
4499       L_EFFECTIVE_FROM                 ,  --effective_from
4500       L_EFFECTIVE_TO                   ,  --effective_to
4501       L_TAX_REGIME_CODE                ,  --tax_regime_code
4502       L_TAX                            ,  --tax
4503       L_TAX_STATUS_CODE                ,  --tax_status_code
4504       L_SCHEDULE_BASED_RATE_FLAG       ,  --scheduled_based_rate_flag : YK:8/25/2004: Should be 'N'
4505       L_RATE_TYPE_CODE                 ,  --rate_type_code
4506       L_PERCENTAGE_RATE                ,  --percentage_rate
4507       L_QUANTITY_RATE                  ,  --quantity_rate
4508       L_UOM_CODE                       ,  --uom_code
4509       L_TAX_JURISDICTION_CODE          ,  --tax_jurisdiction_code
4510       L_RECOVERY_TYPE_CODE             ,  --recovery_type_code
4511       L_ACTIVE_FLAG                    ,  --active_flag
4512       L_DEFAULT_RATE_FLAG              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
4513       L_DEFAULT_FLG_EFFECTIVE_FROM     ,  --default_flg_effective_from
4514       L_DEFAULT_FLG_EFFECTIVE_TO       ,  --default_flg_effective_to
4515       L_DEFAULT_REC_TYPE_CODE          ,  --default_rec_type_code
4516       L_DEFAULT_REC_RATE_CODE          ,  --default_rec_rate_code
4517       L_OFFSET_TAX                     ,  --offset_tax
4518       L_OFFSET_STATUS_CODE             ,  --offset_status_code
4519       L_OFFSET_TAX_RATE_CODE           ,  --offset_tax_rate_code
4520       L_RECOVERY_RULE_CODE             ,  --recovery_rule_code
4521       L_DEF_REC_STTLMNT_OPTN_CD        ,  --def_rec_settlement_option_code
4522       L_VAT_TRANSACTION_TYPE_CODE      ,  --vat_transaction_type_code
4523       L_ADJ_FOR_ADHOC_AMT_CODE         ,  --adj_for_adhoc_amt_code
4524       L_ALLOW_ADHOC_TAX_RATE_FLAG      ,  --allow_adhoc_tax_rate_flag
4525       L_TAX_CLASS                      ,  --tax_class
4526       NULL                             ,  --source_id
4527       'STANDARD_TB'                    ,  --taxable_basis_formula_code
4528       L_INCLUSIVE_TAX_FLAG             ,  --inclusive_tax_flag
4529       L_TAX_INCLUSIVE_OVERRIDE_FLAG    ,  --tax_inclusive_override_flag
4530       'MIGRATED'                       ,  --record_type_code
4531       fnd_global.user_id               ,  --created_by
4532       SYSDATE                          ,  --creation_date
4533       fnd_global.user_id               ,  --last_updated_by
4534       SYSDATE                          ,  --last_update_date
4535       fnd_global.user_id               ,  --last_update_login
4536       fnd_global.conc_request_id       ,  --request_id
4537       fnd_global.prog_appl_id          ,  --program_application_id
4538       fnd_global.conc_program_id       ,  --program_id
4539       fnd_global.conc_login_id         ,  --program_login_id
4540       L_ATTRIBUTE1                     ,
4541       L_ATTRIBUTE2                     ,
4542       L_ATTRIBUTE3                     ,
4543       L_ATTRIBUTE4                     ,
4544       L_ATTRIBUTE5                     ,
4545       L_ATTRIBUTE6                     ,
4546       L_ATTRIBUTE7                     ,
4547       L_ATTRIBUTE8                     ,
4548       L_ATTRIBUTE9                     ,
4549       L_ATTRIBUTE10                    ,
4550       L_ATTRIBUTE11                    ,
4551       L_ATTRIBUTE12                    ,
4552       L_ATTRIBUTE13                    ,
4553       L_ATTRIBUTE14                    ,
4554       L_ATTRIBUTE15                    ,
4555       L_ATTRIBUTE_CATEGORY       ,
4556       1                                ,
4557       'Y'                              ,  --ALLOW_EXEMPTIONS_FLAG
4558       'Y'                                 --ALLOW_EXCEPTIONS_FLAG
4559     -- 6820043, commenting out description
4560     -- DESCRIPTION                        -- Bug 4705196
4561   )
4562   INTO zx_accounts
4563   (
4564       TAX_ACCOUNT_ID                 ,
4565       TAX_ACCOUNT_ENTITY_ID          ,
4566       TAX_ACCOUNT_ENTITY_CODE        ,
4567       LEDGER_ID                      ,
4568       INTERNAL_ORGANIZATION_ID       , -- Bug 3495741
4569       TAX_ACCOUNT_CCID               ,
4570       INTERIM_TAX_CCID               ,
4571       NON_REC_ACCOUNT_CCID           ,
4572       ADJ_CCID                       ,
4573       EDISC_CCID                     ,
4574       UNEDISC_CCID                   ,
4575       FINCHRG_CCID                   ,
4576       ADJ_NON_REC_TAX_CCID           ,
4577       EDISC_NON_REC_TAX_CCID         ,
4578       UNEDISC_NON_REC_TAX_CCID       ,
4579       FINCHRG_NON_REC_TAX_CCID       ,
4580       RECORD_TYPE_CODE               ,
4581       CREATED_BY                  ,
4582       CREATION_DATE                  ,
4583       LAST_UPDATED_BY                ,
4584       LAST_UPDATE_DATE               ,
4585       LAST_UPDATE_LOGIN              ,
4586       REQUEST_ID                     ,
4587       PROGRAM_APPLICATION_ID         ,
4588       PROGRAM_ID                     ,
4589       PROGRAM_LOGIN_ID               ,
4590       ATTRIBUTE1             ,
4591       ATTRIBUTE2             ,
4592       ATTRIBUTE3             ,
4593       ATTRIBUTE4             ,
4594       ATTRIBUTE5             ,
4595       ATTRIBUTE6             ,
4596       ATTRIBUTE7             ,
4597       ATTRIBUTE8             ,
4598       ATTRIBUTE9             ,
4599       ATTRIBUTE10            ,
4600       ATTRIBUTE11            ,
4601       ATTRIBUTE12            ,
4602       ATTRIBUTE13            ,
4603       ATTRIBUTE14            ,
4604       ATTRIBUTE15            ,
4605       ATTRIBUTE_CATEGORY     ,
4606       OBJECT_VERSION_NUMBER
4607   )
4608   VALUES
4609   (
4610        ZX_ACCOUNTS_S.nextval  ,--TAX_ACCOUNT_ID
4611        L_TAX_RATE_ID          ,--TAX_RATE_ID
4612        'RATES'                 ,--TAX_ACCOUNT_ENTITY_CODE
4613        L_LEDGER_ID            ,--LEDGER_ID
4614        L_ORG_ID               ,--ORG_ID
4615        L_TAX_ACCOUNT_CCID     ,--TAX_ACCOUNT_CCID
4616        L_INTERIM_TAX_CCID     ,--INTERIM_TAX_CCID
4617        L_NON_REC_ACCOUNT_CCID ,--NON_REC_ACCOUNT_CCID --YK:07/06/2004:OPEN: understand the field
4618        L_ADJ_CCID             ,--ADJ_CCID
4619        L_EDISC_CCID           ,--EDISC_CCID
4620        L_UNEDISC_CCID         ,--UNEDISC_CCID
4621        L_FINCHRG_CCID         ,--FINCHRG_CCID
4622        L_ADJ_NON_REC_TAX_CCID            ,--ADJ_NON_REC_TAX_CCID
4623        L_EDISC_NON_REC_TAX_CCID          ,--EDISC_NON_REC_TAX_CCID
4624        L_UNEDISC_NON_REC_TAX_CCID        ,--UNEDISC_NON_REC_TAX_CCID
4625        L_FINCHRG_NON_REC_TAX_CCID        ,--FINCHRG_NON_REC_TAX_CCID
4626        L_RECORD_TYPE_CODE                ,
4627        L_CREATED_BY                      ,
4628        L_CREATION_DATE                   ,
4629        L_LAST_UPDATED_BY                 ,
4630        L_LAST_UPDATE_DATE                ,
4631        L_LAST_UPDATE_LOGIN               ,
4632        L_REQUEST_ID                      ,
4633        L_PROGRAM_APPLICATION_ID          ,
4634        L_PROGRAM_ID                      ,
4635        L_PROGRAM_LOGIN_ID                ,
4636        L_ATTRIBUTE1             ,
4637        L_ATTRIBUTE2             ,
4638        L_ATTRIBUTE3             ,
4639        L_ATTRIBUTE4             ,
4640        L_ATTRIBUTE5             ,
4641        L_ATTRIBUTE6             ,
4642        L_ATTRIBUTE7             ,
4643        L_ATTRIBUTE8             ,
4644        L_ATTRIBUTE9             ,
4645        L_ATTRIBUTE10            ,
4646        L_ATTRIBUTE11            ,
4647        L_ATTRIBUTE12            ,
4648        L_ATTRIBUTE13            ,
4649        L_ATTRIBUTE14            ,
4650        L_ATTRIBUTE15            ,
4651        L_ATTRIBUTE_CATEGORY     ,
4652        1
4653   )
4654   SELECT
4655     avt.vat_tax_id                     L_TAX_RATE_ID,
4656     avt.tax_code                       L_TAX_RATE_CODE,
4657     ptp.party_tax_profile_id           L_CONTENT_OWNER_ID,
4658     avt.start_date                     L_EFFECTIVE_FROM,
4659     avt.end_date                       L_EFFECTIVE_TO,
4660           zrb.tax_regime_code                L_TAX_REGIME_CODE ,
4661           ztb.tax                            L_TAX,
4662           'STANDARD'                         L_TAX_STATUS_CODE,
4663     'N'                                L_SCHEDULE_BASED_RATE_FLAG,
4664           'PERCENTAGE'                       L_RATE_TYPE_CODE,
4665           avt.tax_rate                       L_PERCENTAGE_RATE,
4666           NULL                               L_QUANTITY_RATE,
4667     NULL                               L_UOM_CODE,
4668     NULL                               L_TAX_JURISDICTION_CODE,
4669     NULL                               L_RECOVERY_TYPE_CODE,
4670     avt.enabled_flag                   L_ACTIVE_FLAG,
4671    'Y'                                 L_DEFAULT_RATE_FLAG    ,
4672     avt.start_date                     L_DEFAULT_FLG_EFFECTIVE_FROM ,
4673     avt.end_date                       L_DEFAULT_FLG_EFFECTIVE_TO   ,
4674     NULL                               L_DEFAULT_REC_TYPE_CODE      ,
4675     NULL                               L_DEFAULT_REC_RATE_CODE,
4676     NULL                               L_OFFSET_TAX,
4677     NULL                               L_OFFSET_STATUS_CODE ,
4678     NULL                               L_OFFSET_TAX_RATE_CODE  ,
4679     NULL                               L_RECOVERY_RULE_CODE    ,
4680     DECODE(avt.INTERIM_TAX_CCID,
4681      NULL, 'IMMEDIATE',
4682      'DEFERRED')                 L_DEF_REC_STTLMNT_OPTN_CD,
4683     avt.vat_transaction_type           L_VAT_TRANSACTION_TYPE_CODE,
4684     avt.AMOUNT_INCLUDES_TAX_FLAG       L_INCLUSIVE_TAX_FLAG,
4685     avt.AMOUNT_INCLUDES_TAX_OVERRIDE   L_TAX_INCLUSIVE_OVERRIDE_FLAG,
4686    'MIGRATED'                          L_RECORD_TYPE_CODE,
4687     avt.ATTRIBUTE1                     L_ATTRIBUTE1,
4688     avt.ATTRIBUTE2                     L_ATTRIBUTE2,
4689     avt.ATTRIBUTE3                     L_ATTRIBUTE3,
4690     avt.ATTRIBUTE4                     L_ATTRIBUTE4,
4691     avt.ATTRIBUTE5                     L_ATTRIBUTE5,
4692     avt.ATTRIBUTE6                     L_ATTRIBUTE6,
4693     avt.ATTRIBUTE7                     L_ATTRIBUTE7,
4694     avt.ATTRIBUTE8                     L_ATTRIBUTE8,
4695     avt.ATTRIBUTE9                     L_ATTRIBUTE9,
4696     avt.ATTRIBUTE10                    L_ATTRIBUTE10,
4697     avt.ATTRIBUTE11                    L_ATTRIBUTE11,
4698     avt.ATTRIBUTE12                    L_ATTRIBUTE12,
4699     avt.ATTRIBUTE13                    L_ATTRIBUTE13,
4700     avt.ATTRIBUTE14                    L_ATTRIBUTE14,
4701     avt.ATTRIBUTE15                    L_ATTRIBUTE15,
4702     avt.ATTRIBUTE_CATEGORY             L_ATTRIBUTE_CATEGORY,
4703     avt.set_of_books_id                L_LEDGER_ID,
4704     l_org_id                           L_ORG_ID,
4705     avt.TAX_ACCOUNT_ID                 L_TAX_ACCOUNT_CCID,
4706     avt.INTERIM_TAX_CCID               L_INTERIM_TAX_CCID,
4707     avt.ADJ_CCID                       L_ADJ_CCID,
4708     avt.EDISC_CCID                     L_EDISC_CCID,
4709     avt.UNEDISC_CCID                   L_UNEDISC_CCID,
4710     avt.FINCHRG_CCID                   L_FINCHRG_CCID,
4711     avt.ADJ_NON_REC_TAX_CCID           L_ADJ_NON_REC_TAX_CCID,
4712     avt.EDISC_NON_REC_TAX_CCID         L_EDISC_NON_REC_TAX_CCID,
4713     avt.UNEDISC_NON_REC_TAX_CCID       L_UNEDISC_NON_REC_TAX_CCID,
4714     avt.FINCHRG_NON_REC_TAX_CCID       L_FINCHRG_NON_REC_TAX_CCID,
4715     NULL                               L_NON_REC_ACCOUNT_CCID,
4716     'TAX_RATE'                         L_ADJ_FOR_ADHOC_AMT_CODE,
4717     'Y'                                L_ALLOW_ADHOC_TAX_RATE_FLAG,
4718     fnd_global.user_id                 L_CREATED_BY,
4719     SYSDATE                            L_CREATION_DATE,
4720     fnd_global.user_id                 L_LAST_UPDATED_BY,
4721     SYSDATE                            L_LAST_UPDATE_DATE,
4722     fnd_global.user_id                 L_LAST_UPDATE_LOGIN,
4723     fnd_global.conc_request_id         L_REQUEST_ID,
4724     fnd_global.prog_appl_id            L_PROGRAM_APPLICATION_ID,
4725     fnd_global.conc_program_id         L_PROGRAM_ID,
4726     fnd_global.conc_login_id           L_PROGRAM_LOGIN_ID,
4727     DECODE(avt.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')   L_TAX_CLASS,
4728     avt.DESCRIPTION         DESCRIPTION -- Bug 4705196
4729   FROM
4730             ar_vat_tax_all_b          avt,
4731             zx_party_tax_profile      ptp,
4732             ar_system_parameters_all  asp,
4733             zx_regimes_b              zrb,
4734             zx_taxes_b                ztb
4735   WHERE     ptp.party_type_code = 'OU'
4736   AND       ptp.party_id = l_org_id
4737   AND       ptp.party_id = avt.org_id
4738   AND       avt.org_id = asp.org_id
4739   AND       asp.tax_database_view_set IN ('_A', '_V')
4740   AND       (avt.global_attribute_category IS NULL OR
4741              avt.global_attribute_category NOT IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
4742                                    'JL.BR.ARXSUVAT.AR_VAT_TAX',
4743                      'JL.CO.ARXSUVAT.AR_VAT_TAX'))
4744   AND       avt.tax_type <> 'TAX_GROUP'
4745   AND       TO_CHAR(asp.location_structure_id) = LTRIM(zrb.tax_regime_code, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-_')
4746   AND       ztb.tax_regime_code = zrb.tax_regime_code
4747   --Bug fix 5346118
4748   AND       ((avt.tax_code = ztb.tax and avt.tax_type = 'SALES_TAX' ) or (avt.tax_type = 'LOCATION' and ztb.tax='LOCATION'))
4749   --bug#7343019
4750   AND       ptp.party_tax_profile_id = ztb.content_owner_id
4751   AND NOT EXISTS (SELECT 1
4752                   FROM   zx_rates_b  rates
4753             WHERE  rates.tax_rate_id = avt.vat_tax_id
4757  EXCEPTION WHEN OTHERS THEN
4754                  );
4755 
4756  END IF;
4758   NULL;
4759  END;
4760 
4761 
4762   --
4763   -- Populate Rates : Taxware and Vertex : Phase II
4764   --
4765   -- Creating tax rate code for each content owners
4766   -- In this phase we're not using Tax Code in AR_VAT_TAX_ALL_B
4767   -- as Tax Codes are not defined in 11i.
4768   --
4769 
4770 -- Commenting the code for 12847663
4771 
4772 -- IF L_MULTI_ORG_FLAG = 'Y'
4773 -- THEN
4774 --  SELECT  ptp.party_tax_profile_id,
4775 --          asp.org_id,
4776 --          asp.location_tax_account,
4777 --          asp.set_of_books_id,
4778 --          asp.location_structure_id
4779 --  BULK COLLECT INTO
4780 --          content_owner_id_rec,
4781 --          org_id_rec,
4782 --          location_tax_account_rec,
4783 --          set_of_books_id_rec,
4784 --          location_structure_id_rec
4785 --  FROM    ar_system_parameters_all   asp,
4786 --          zx_party_tax_profile       ptp
4787 --  WHERE   ptp.party_type_code = 'OU'
4788 --  AND     ptp.party_id = asp.org_id
4789 --  AND     asp.tax_database_view_set IN ('_A', '_V');
4790 --  ELSE
4791 --    SELECT  ptp.party_tax_profile_id,
4792 --          asp.org_id,
4793 --          asp.location_tax_account,
4794 --          asp.set_of_books_id,
4795 --          asp.location_structure_id
4796 --  BULK COLLECT INTO
4797 --          content_owner_id_rec,
4798 --          org_id_rec,
4799 --          location_tax_account_rec,
4800 --          set_of_books_id_rec,
4801 --          location_structure_id_rec
4802 --  FROM    ar_system_parameters_all   asp,
4803 --          zx_party_tax_profile       ptp
4804 --  WHERE   ptp.party_type_code = 'OU'
4805 --  AND     ptp.party_id = asp.org_id
4806 --  AND     asp.org_id = l_org_id
4807 --  AND     asp.tax_database_view_set IN ('_A', '_V');
4808 --
4809 --
4810 --  END IF;
4811 
4812   /* --Commenting this out as part of bug 5209436
4813   AND     NOT EXISTS (SELECT 1
4814                       FROM   ar_vat_tax_all_b  avt
4815                       WHERE  avt.org_id = asp.org_id);*/
4816 
4817 --  IF content_owner_id_rec.count > 0 THEN
4818 --    FOR k IN 1..content_owner_id_rec.count LOOP
4819       -- Create STATE tax rate code
4820 --      insert_tax_rate_code ('US-SALES-TAX-'|| TO_CHAR(location_structure_id_rec(k)),  --Regime
4821 --                            'STATE',                  --Tax
4822 --                            'STANDARD',               --Status
4823 --                            'STATE',                  --Rate
4824 --                            content_owner_id_rec(k),  --Content Owner ID
4825 --                            org_id_rec(k),            --Org ID
4826 --                           'Y',                      --Active Flag
4827 --                            TO_DATE('1952/01/01', 'YYYY/MM/DD'),  --Effective From
4828 --                            'Y',                      --Ad Hoc Rate
4829 --                            location_tax_account_rec(k), --Tax Account CCID
4830 --                            set_of_books_id_rec(k)
4831 --                           );
4832       -- COUNTY tax rate code
4833 --      insert_tax_rate_code ('US-SALES-TAX-'|| TO_CHAR(location_structure_id_rec(k)),  --Regime
4834 --                            'COUNTY',                 --Tax
4835 --                            'STANDARD',               --Status
4836 --                            'COUNTY',                 --Rate
4837 --                            content_owner_id_rec(k),  --Content Owner ID
4838 --                            org_id_rec(k),            --Org ID
4839 --                            'Y',                      --Active Flag
4840 --                            TO_DATE('1952/01/01', 'YYYY/MM/DD'),  --Effective From
4841 --                            'Y',                      --Ad Hoc Rate
4842 --                            location_tax_account_rec(k), --Tax Account CCID
4843 --                            set_of_books_id_rec(k)
4844 --                           );
4845       -- CITY tax rate code
4846 --     insert_tax_rate_code ('US-SALES-TAX-'|| TO_CHAR(location_structure_id_rec(k)),  --Regime
4847 --                            'CITY',                   --Tax
4848 --                           'STANDARD',               --Status
4849 --                            'CITY',                   --Rate
4850 --                            content_owner_id_rec(k),  --Content Owner ID
4851 --                            org_id_rec(k),            --Org ID
4852 --                            'Y',                      --Active Flag
4853 --                            TO_DATE('1952/01/01', 'YYYY/MM/DD'),  --Effective From
4854 --                            'Y',                      --Ad Hoc Rate
4855 --                           location_tax_account_rec(k), --Tax Account CCID
4856 --                            set_of_books_id_rec(k)
4857 --                           );
4858 --    END LOOP;
4859 --  END IF;
4860 
4861 -- Changes done for Bug 12847663
4862 
4863   FOR rec in loc_rate_csr LOOP
4864     insert_tax_rate_code (rec.tax_regime_code,
4865                           rec.tax,
4866                           'STANDARD',               --Status
4867                           rec.tax,                  --Rate
4868                           rec.party_tax_profile_id,  --Content Owner ID
4869                           rec.org_id,            --Org ID
4870                           'Y',                      --Active Flag
4871                           TO_DATE('1952/01/01', 'YYYY/MM/DD'),  --Effective From
4872                           'Y',                      --Ad Hoc Rate
4873                           rec.location_tax_account, --Tax Account CCID
4874                           rec.set_of_books_id);
4875 
4876   END LOOP;
4877 
4878 END IF;
4879 EXCEPTION
4880   WHEN OTHERS THEN
4881     NULL;
4882 END migrate_vnd_tax_code;
4883 
4884 -- ****** PRIVATE PROCEDURES ******
4885 /*===========================================================================+
4886  | PROCEDURE
4887  |    migrate_ar_vat_tax
4888  |
4889  | IN
4890  |    p_tax_id : ar_vat_tax_all_b.vat_tax_id is passed when it is called from
4891  |               AR Tax Codes form for synchronization.
4892  |
4893  | OUT
4894  |
4895  | DESCRIPTION
4896  |     This routine migrates records in ar tax codes with the following
4897  |     exceptions:
4898  |       1. Records with tax_type=TAX_GROUP
4899  |       2. Records with tax_type=LOCATION
4900  |
4901  |
4902  | SCOPE - PRIVATE
4903  |
4904  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
4905  |
4906  | CALLED FROM
4907  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
4908  |
4909  | NOTES
4910  |
4911  | MODIFICATION HISTORY
4912  | 08/31/2004   Yoshimichi Konishi   Created.
4913  | 09/23/2004   Yoshimichi Konishi   Implemented LTE handling.
4914  |
4915  +==========================================================================*/
4916 PROCEDURE migrate_ar_vat_tax (p_tax_id  NUMBER) AS
4917 BEGIN
4918 
4919   --  Tax codes other than
4920   --  'TAX_GROUP'. 'LOCATION', Tax Code implemented for Tax Vendors
4921   --
4922 IF L_MULTI_ORG_FLAG = 'Y'
4923 THEN
4924 
4925 INSERT ALL
4926   INTO zx_rates_b_tmp
4927   (
4928     TAX_RATE_ID                    ,
4929     TAX_RATE_CODE                  ,
4930     CONTENT_OWNER_ID               ,
4931     EFFECTIVE_FROM                 ,
4932     EFFECTIVE_TO                   ,
4933     TAX_REGIME_CODE                ,
4934     TAX                            ,
4935     TAX_STATUS_CODE                ,
4936     SCHEDULE_BASED_RATE_FLAG       ,
4937     RATE_TYPE_CODE                 ,
4938     PERCENTAGE_RATE                ,
4939     QUANTITY_RATE                  ,
4940     UOM_CODE                       ,
4941     TAX_JURISDICTION_CODE          ,
4942     RECOVERY_TYPE_CODE             ,
4943     ACTIVE_FLAG                    ,
4944     DEFAULT_RATE_FLAG              ,
4945     DEFAULT_FLG_EFFECTIVE_FROM     ,
4946     DEFAULT_FLG_EFFECTIVE_TO       ,
4947     DEFAULT_REC_TYPE_CODE          ,
4948     DEFAULT_REC_RATE_CODE          ,
4949     OFFSET_TAX                     ,
4950     OFFSET_STATUS_CODE             ,
4951     OFFSET_TAX_RATE_CODE           ,
4952     RECOVERY_RULE_CODE             ,
4953     DEF_REC_SETTLEMENT_OPTION_CODE ,
4954     VAT_TRANSACTION_TYPE_CODE      ,
4955     ADJ_FOR_ADHOC_AMT_CODE         ,
4956     ALLOW_ADHOC_TAX_RATE_FLAG      ,
4957     TAX_CLASS                      ,
4958     SOURCE_ID                      ,
4959     TAXABLE_BASIS_FORMULA_CODE     ,
4960     INCLUSIVE_TAX_FLAG             ,
4961     TAX_INCLUSIVE_OVERRIDE_FLAG    ,
4962     RECORD_TYPE_CODE               ,
4963     CREATED_BY                     ,
4964     CREATION_DATE                  ,
4965     LAST_UPDATED_BY                ,
4966     LAST_UPDATE_DATE               ,
4967     LAST_UPDATE_LOGIN              ,
4968     REQUEST_ID                     ,
4969     PROGRAM_APPLICATION_ID         ,
4970     PROGRAM_ID                     ,
4971     PROGRAM_LOGIN_ID               ,
4972     ATTRIBUTE1                     ,
4973     ATTRIBUTE2                     ,
4974     ATTRIBUTE3                     ,
4975     ATTRIBUTE4                     ,
4976     ATTRIBUTE5                     ,
4977     ATTRIBUTE6                     ,
4978     ATTRIBUTE7                     ,
4979     ATTRIBUTE8                     ,
4980     ATTRIBUTE9                     ,
4981     ATTRIBUTE10                    ,
4982     ATTRIBUTE11                    ,
4983     ATTRIBUTE12                    ,
4984     ATTRIBUTE13                    ,
4985     ATTRIBUTE14                    ,
4986     ATTRIBUTE15                    ,
4987     ATTRIBUTE_CATEGORY     ,
4988     OBJECT_VERSION_NUMBER          ,
4989     ALLOW_EXEMPTIONS_FLAG          ,  --Bug 4204464
4990     ALLOW_EXCEPTIONS_FLAG
4991    -- 6820043, commenting out description
4992    -- DESCRIPTION                     -- Bug 4705196
4993   )
4994   VALUES
4995   (
4996     TAX_RATE_ID                    ,  --TAX_RATE_ID
4997     TAX_RATE_CODE                  ,  --tax_rate_code
4998     CONTENT_OWNER_ID               ,  --content_owner_id
4999     EFFECTIVE_FROM                 ,  --effective_from
5000     EFFECTIVE_TO                   ,  --effective_to
5001     TAX_REGIME_CODE                ,  --tax_regime_code
5002     TAX                            ,  --tax
5003     TAX_STATUS_CODE                ,  --tax_status_code
5004     SCHEDULE_BASED_RATE_FLAG       ,  --scheduled_based_rate_flag : YK:8/25/2004: Should be 'N'
5005     RATE_TYPE_CODE                 ,  --rate_type_code
5006     PERCENTAGE_RATE                ,  --percentage_rate
5007     QUANTITY_RATE                  ,  --quantity_rate
5008     UOM_CODE                       ,  --uom_code
5009     TAX_JURISDICTION_CODE          ,  --tax_jurisdiction_code
5010     RECOVERY_TYPE_CODE             ,  --recovery_type_code
5011     ACTIVE_FLAG                    ,  --active_flag
5012     DEFAULT_RATE_FLAG              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
5013     DEFAULT_FLG_EFFECTIVE_FROM     ,  --default_flg_effective_from
5014     DEFAULT_FLG_EFFECTIVE_TO       ,  --default_flg_effective_to
5015     DEFAULT_REC_TYPE_CODE          ,  --default_rec_type_code
5016     DEFAULT_REC_RATE_CODE          ,  --default_rec_rate_code
5017     OFFSET_TAX                     ,  --offset_tax
5018     OFFSET_STATUS_CODE             ,  --offset_status_code
5019     OFFSET_TAX_RATE_CODE           ,  --offset_tax_rate_code
5020     RECOVERY_RULE_CODE             ,  --recovery_rule_code
5021     DEF_REC_SETTLEMENT_OPTION_CODE ,  --def_rec_settlement_option_code
5022     VAT_TRANSACTION_TYPE_CODE      ,  --vat_transaction_type_code
5023     ADJ_FOR_ADHOC_AMT_CODE         ,  --adj_for_adhoc_amt_code
5024     ALLOW_ADHOC_TAX_RATE_FLAG      ,  --allow_adhoc_tax_rate_flag
5025     L_TAX_CLASS                    ,  --tax_class
5026     NULL                           ,  --source_id  --YK:B:10/08/2004
5027     L_TAXABLE_BASIS_FORMULA        ,  --taxable_basis_formula_code
5028     INCLUSIVE_TAX_FLAG             ,  --inclusive_tax_flag
5029     TAX_INCLUSIVE_OVERRIDE_FLAG    ,  --tax_inclusive_override_flag
5030     'MIGRATED'                     ,  --record_type_code
5031     fnd_global.user_id             ,  --created_by
5032     SYSDATE                        ,  --creation_date
5033     fnd_global.user_id             ,  --last_updated_by
5034     SYSDATE                        ,  --last_update_date
5035     fnd_global.user_id             ,  --last_update_login
5036     fnd_global.conc_request_id     ,  --request_id
5037     fnd_global.prog_appl_id        ,  --program_application_id
5038     fnd_global.conc_program_id     ,  --program_id
5039     fnd_global.conc_login_id       ,  --program_login_id
5040     ATTRIBUTE1                     ,
5041     ATTRIBUTE2                     ,
5042     ATTRIBUTE3                     ,
5043     ATTRIBUTE4                     ,
5044     ATTRIBUTE5                     ,
5045     ATTRIBUTE6                     ,
5046     ATTRIBUTE7                     ,
5047     ATTRIBUTE8                     ,
5048     ATTRIBUTE9                     ,
5049     ATTRIBUTE10                    ,
5050     ATTRIBUTE11                    ,
5051     ATTRIBUTE12                    ,
5052     ATTRIBUTE13                    ,
5053     ATTRIBUTE14                    ,
5054     ATTRIBUTE15                    ,
5055     ATTRIBUTE_CATEGORY     ,
5056     1                              ,
5057     ALLOW_EXEMPTIONS_FLAG          ,  --ALLOW_EXEMPTIONS_FLAG
5058     ALLOW_EXCEPTIONS_FLAG             --ALLOW_EXCEPTIONS_FLAG
5059    -- 6820043, commenting out description
5060    -- DESCRIPTION                     -- Bug 4705196
5061   )
5062   INTO zx_accounts
5063   (
5064     TAX_ACCOUNT_ID          ,
5065     TAX_ACCOUNT_ENTITY_ID   ,
5066     TAX_ACCOUNT_ENTITY_CODE ,
5067     LEDGER_ID               ,
5068     INTERNAL_ORGANIZATION_ID, -- Bug 3495741
5069     TAX_ACCOUNT_CCID        ,
5070     INTERIM_TAX_CCID        ,
5071     NON_REC_ACCOUNT_CCID    ,
5072     ADJ_CCID                ,
5073     EDISC_CCID              ,
5074     UNEDISC_CCID            ,
5075     FINCHRG_CCID            ,
5076     ADJ_NON_REC_TAX_CCID    ,
5077     EDISC_NON_REC_TAX_CCID  ,
5078     UNEDISC_NON_REC_TAX_CCID,
5079     FINCHRG_NON_REC_TAX_CCID,
5080     RECORD_TYPE_CODE        ,
5081     ATTRIBUTE1              ,
5082     ATTRIBUTE2              ,
5083     ATTRIBUTE3              ,
5084     ATTRIBUTE4              ,
5085     ATTRIBUTE5              ,
5086     ATTRIBUTE6              ,
5087     ATTRIBUTE7              ,
5088     ATTRIBUTE8              ,
5089     ATTRIBUTE9              ,
5090     ATTRIBUTE10             ,
5091     ATTRIBUTE11             ,
5092     ATTRIBUTE12             ,
5093     ATTRIBUTE13             ,
5094     ATTRIBUTE14             ,
5095     ATTRIBUTE15             ,
5096     ATTRIBUTE_CATEGORY      ,
5097     CREATED_BY               ,
5098     CREATION_DATE           ,
5099     LAST_UPDATED_BY         ,
5100     LAST_UPDATE_DATE        ,
5101     LAST_UPDATE_LOGIN       ,
5102     REQUEST_ID              ,
5103     PROGRAM_APPLICATION_ID  ,
5104     PROGRAM_ID              ,
5105     PROGRAM_LOGIN_ID        ,
5106     OBJECT_VERSION_NUMBER
5107   )
5108   VALUES
5109   (
5110     ZX_ACCOUNTS_S.nextval , --TAX_ACCOUNT_ID
5111     TAX_RATE_ID           , --TAX_ACCOUNT_ENTITY_ID
5112     'RATES'                , --TAX_ACCOUNT_ENTITY_CODE
5113      LEDGER_ID            , --
5114      ORG_ID               ,
5115      TAX_ACCOUNT_CCID     ,
5116      INTERIM_TAX_CCID     , --INTERIM_TAX_CCID
5117      NON_REC_ACCOUNT_CCID , --NON_REC_ACCOUNT_CCID
5118      ADJ_CCID             , --ADJ_CCID
5119      EDISC_CCID           , --EDISC_CCID
5120      UNEDISC_CCID         , --UNEDISC_CCID
5121      FINCHRG_CCID         , --FINCHRG_CCID
5122      ADJ_NON_REC_TAX_CCID , --ADJ_NON_REC_TAX_CCID
5123      EDISC_NON_REC_TAX_CCID,    --EDISC_NON_REC_TAX_CCID
5124      UNEDISC_NON_REC_TAX_CCID,  --UNEDISC_NON_REC_TAX_CCID
5125      FINCHRG_NON_REC_TAX_CCID,  --FINCHRG_NON_REC_TAX_CCID
5126      RECORD_TYPE_CODE     ,
5127      NULL                 ,
5128      NULL                 ,
5129      NULL                 ,
5130      NULL                 ,
5131      NULL                 ,
5132      NULL                 ,
5133      NULL                 ,
5134      NULL                 ,
5135      NULL                 ,
5136      NULL                 ,
5137      NULL                 ,
5138      NULL                 ,
5139      NULL                 ,
5140      NULL                 ,
5141      NULL                 ,
5142      NULL                 ,
5143      fnd_global.user_id             ,
5144      SYSDATE                        ,
5145      fnd_global.user_id             ,
5146      SYSDATE                        ,
5147      fnd_global.conc_login_id       ,
5148      fnd_global.conc_request_id     , -- Request Id
5149      fnd_global.prog_appl_id        , -- Program Application ID
5150      fnd_global.conc_program_id     , -- Program Id
5151      fnd_global.conc_login_id       , -- Program Login ID
5152      1
5153   )
5154   SELECT
5155   results.tax_code_id               TAX_RATE_ID,
5156   results.tax_code                 TAX_RATE_CODE,
5157   ptp.party_tax_profile_id       CONTENT_OWNER_ID,
5158   codes.start_date               EFFECTIVE_FROM,
5159   codes.end_date                 EFFECTIVE_TO,
5160   results.tax_regime_code       TAX_REGIME_CODE ,
5161   results.tax                   TAX,
5162   results.tax_status_code       TAX_STATUS_CODE,
5163   'N'                            SCHEDULE_BASED_RATE_FLAG,
5164   DECODE (codes.TAXABLE_BASIS
5165             ,'QUANTITY','QUANTITY'
5166             ,'PERCENTAGE')       RATE_TYPE_CODE,
5167   DECODE (codes.TAXABLE_BASIS
5168             ,'QUANTITY', NULL
5169             ,codes.tax_rate)     PERCENTAGE_RATE,
5170   DECODE (codes.TAXABLE_BASIS
5171             ,'QUANTITY', codes.tax_rate
5172             ,NULL)               QUANTITY_RATE       ,
5173   NULL                           UOM_CODE,   /***** Need review for Quantity Rates ****/
5174   NULL                           TAX_JURISDICTION_CODE,
5175   decode(codes.enabled_flag,
5176   'N', NVL(results.recovery_type_code,results.tax_code_id),
5177   results.recovery_type_code)    RECOVERY_TYPE_CODE, --added to avoid index violation for duplicate disabled tax codes
5178   codes.enabled_flag             ACTIVE_FLAG,
5179        'N'                             DEFAULT_RATE_FLAG    ,  /**** Need a review ****/
5180   NULL                           DEFAULT_FLG_EFFECTIVE_FROM ,
5181   NULL                         DEFAULT_FLG_EFFECTIVE_TO   ,
5182   NULL                         DEFAULT_REC_TYPE_CODE      ,
5183   NULL                           DEFAULT_REC_RATE_CODE,
5184   NULL                           OFFSET_TAX,
5185   NULL                           OFFSET_STATUS_CODE ,
5186   NULL                           OFFSET_TAX_RATE_CODE  ,
5187   NULL                           RECOVERY_RULE_CODE    ,
5188   DECODE(codes.INTERIM_TAX_CCID,
5189          NULL, 'IMMEDIATE',
5190          'DEFERRED')             DEF_REC_SETTLEMENT_OPTION_CODE,
5191   codes.vat_transaction_type     VAT_TRANSACTION_TYPE_CODE ,
5192   codes.AMOUNT_INCLUDES_TAX_FLAG       INCLUSIVE_TAX_FLAG,
5193   codes.AMOUNT_INCLUDES_TAX_OVERRIDE   TAX_INCLUSIVE_OVERRIDE_FLAG,
5194        'MIGRATED'                      RECORD_TYPE_CODE,
5195   codes.ATTRIBUTE1               ATTRIBUTE1,
5196   codes.ATTRIBUTE2               ATTRIBUTE2,
5197   codes.ATTRIBUTE3               ATTRIBUTE3,
5198   codes.ATTRIBUTE4               ATTRIBUTE4,
5199   codes.ATTRIBUTE5               ATTRIBUTE5,
5200   codes.ATTRIBUTE6               ATTRIBUTE6,
5201   codes.ATTRIBUTE7               ATTRIBUTE7,
5202   codes.ATTRIBUTE8               ATTRIBUTE8,
5203   codes.ATTRIBUTE9               ATTRIBUTE9,
5204   codes.ATTRIBUTE10              ATTRIBUTE10,
5205   codes.ATTRIBUTE11              ATTRIBUTE11,
5206   codes.ATTRIBUTE12              ATTRIBUTE12,
5207   codes.ATTRIBUTE13              ATTRIBUTE13,
5208   codes.ATTRIBUTE14              ATTRIBUTE14,
5209   codes.ATTRIBUTE15              ATTRIBUTE15,
5210   codes.ATTRIBUTE_CATEGORY       ATTRIBUTE_CATEGORY,
5211   codes.set_of_books_id          LEDGER_ID,
5212   results.org_id                   ORG_ID,
5213   codes.TAX_ACCOUNT_ID           TAX_ACCOUNT_CCID,
5214   codes.INTERIM_TAX_CCID         INTERIM_TAX_CCID,
5215   codes.ADJ_CCID                 ADJ_CCID,
5216   codes.EDISC_CCID               EDISC_CCID,
5217   codes.UNEDISC_CCID             UNEDISC_CCID,
5218   codes.FINCHRG_CCID             FINCHRG_CCID,
5219   codes.ADJ_NON_REC_TAX_CCID     ADJ_NON_REC_TAX_CCID,
5220   codes.EDISC_NON_REC_TAX_CCID   EDISC_NON_REC_TAX_CCID,
5221   codes.UNEDISC_NON_REC_TAX_CCID UNEDISC_NON_REC_TAX_CCID,
5222   codes.FINCHRG_NON_REC_TAX_CCID FINCHRG_NON_REC_TAX_CCID,
5223         DECODE(codes.global_attribute_category,
5224           'JL.CL.ARXSUVAT.VAT_TAX',
5225      fnd_flex_ext.get_ccid
5226               ( 'SQLGL',
5227                               'GL#',
5228                                 (SELECT chart_of_accounts_id FROM gl_sets_of_books WHERE set_of_books_id = codes.set_of_books_id),
5229                               sysdate,
5230                               codes.global_attribute5),
5231     NULL)  NON_REC_ACCOUNT_CCID,  -- Bug 4779027
5232   DECODE(nvl(codes.validate_flag, 'N'),
5233          'Y', 'TAX_RATE',
5234          'N', NULL)              ADJ_FOR_ADHOC_AMT_CODE,
5235   codes.validate_flag            ALLOW_ADHOC_TAX_RATE_FLAG,
5236         DECODE(codes.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')   L_TAX_CLASS,
5237         DECODE (codes.TAXABLE_BASIS, 'AFTER_EPD', 'STANDARD_TB_DISCOUNT'
5238                                    , 'QUANTITY' , 'STANDARD_QUANTITY'
5239                                    , 'STANDARD_TB') L_TAXABLE_BASIS_FORMULA,
5240   codes.DESCRIPTION         DESCRIPTION ,-- Bug 4705196
5241   nvl(asp.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')     ALLOW_EXEMPTIONS_FLAG,
5242   'N'                            ALLOW_EXCEPTIONS_FLAG --Bug 5505935
5243   FROM
5244       zx_update_criteria_results results,
5245       ar_vat_tax_all_b           codes,
5246       zx_party_tax_profile       ptp,
5247       ar_system_parameters_all   asp  --Bug 3985196: Tax Vendor Handling
5248   WHERE
5249        results.tax_code_id = codes.vat_tax_id
5250   AND  results.tax_class  = 'OUTPUT'
5251   AND  codes.tax_type NOT IN ('TAX_GROUP', 'LOCATION')
5252   AND  codes.org_id = asp.org_id
5253   --
5254   -- Bug 4880975 : migrate_ar_vat_tax migrates vendor tax codes with
5255   --               tax type <> 'LOCATION'
5256   -- AND  (asp.tax_database_view_set  NOT IN ('_A', '_V') AND
5257   --        codes.tax_type <>'LOCATION')   --BugFix 4400733
5258   /* Bug 4708982
5259   AND  (codes.global_attribute_category IS NULL OR
5260         codes.global_attribute_category NOT IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
5261                    'JL.BR.ARXSUVAT.AR_VAT_TAX',
5262                   'JL.CO.ARXSUVAT.AR_VAT_TAX'))
5263    */
5264   --BugFix 4400733
5265   --AND  (asp.tax_database_view_set <> 'O' OR codes.tax_type <> 'LOCATION')
5266 
5267   AND  codes.org_id  = ptp.party_id
5268   AND  ptp.party_Type_code = 'OU'
5269 
5270   --Added following conditions for Sync process
5271   AND  codes.vat_tax_id  = nvl(p_tax_id, codes.vat_tax_id)
5272 
5273   --Rerunability/ID CLASH
5274   AND  not exists (select 1
5275                    from   zx_rates_b rates
5276        where  rates.tax_rate_id =  nvl(p_tax_id, codes.vat_tax_id)
5277       );
5278   ELSE
5279 
5280   INSERT ALL
5281   INTO zx_rates_b_tmp
5282   (
5283     TAX_RATE_ID                    ,
5284     TAX_RATE_CODE                  ,
5285     CONTENT_OWNER_ID               ,
5286     EFFECTIVE_FROM                 ,
5287     EFFECTIVE_TO                   ,
5288     TAX_REGIME_CODE                ,
5289     TAX                            ,
5290     TAX_STATUS_CODE                ,
5291     SCHEDULE_BASED_RATE_FLAG       ,
5292     RATE_TYPE_CODE                 ,
5293     PERCENTAGE_RATE                ,
5294     QUANTITY_RATE                  ,
5295     UOM_CODE                       ,
5296     TAX_JURISDICTION_CODE          ,
5297     RECOVERY_TYPE_CODE             ,
5298     ACTIVE_FLAG                    ,
5299     DEFAULT_RATE_FLAG              ,
5300     DEFAULT_FLG_EFFECTIVE_FROM     ,
5301     DEFAULT_FLG_EFFECTIVE_TO       ,
5302     DEFAULT_REC_TYPE_CODE          ,
5303     DEFAULT_REC_RATE_CODE          ,
5304     OFFSET_TAX                     ,
5305     OFFSET_STATUS_CODE             ,
5306     OFFSET_TAX_RATE_CODE           ,
5307     RECOVERY_RULE_CODE             ,
5308     DEF_REC_SETTLEMENT_OPTION_CODE ,
5309     VAT_TRANSACTION_TYPE_CODE      ,
5310     ADJ_FOR_ADHOC_AMT_CODE         ,
5311     ALLOW_ADHOC_TAX_RATE_FLAG      ,
5312     TAX_CLASS                      ,
5313     SOURCE_ID                      ,
5314     TAXABLE_BASIS_FORMULA_CODE     ,
5315     INCLUSIVE_TAX_FLAG             ,
5316     TAX_INCLUSIVE_OVERRIDE_FLAG    ,
5317     RECORD_TYPE_CODE               ,
5318     CREATED_BY                     ,
5319     CREATION_DATE                  ,
5323     REQUEST_ID                     ,
5320     LAST_UPDATED_BY                ,
5321     LAST_UPDATE_DATE               ,
5322     LAST_UPDATE_LOGIN              ,
5324     PROGRAM_APPLICATION_ID         ,
5325     PROGRAM_ID                     ,
5326     PROGRAM_LOGIN_ID               ,
5327     ATTRIBUTE1                     ,
5328     ATTRIBUTE2                     ,
5329     ATTRIBUTE3                     ,
5330     ATTRIBUTE4                     ,
5331     ATTRIBUTE5                     ,
5332     ATTRIBUTE6                     ,
5333     ATTRIBUTE7                     ,
5334     ATTRIBUTE8                     ,
5335     ATTRIBUTE9                     ,
5336     ATTRIBUTE10                    ,
5337     ATTRIBUTE11                    ,
5338     ATTRIBUTE12                    ,
5339     ATTRIBUTE13                    ,
5340     ATTRIBUTE14                    ,
5341     ATTRIBUTE15                    ,
5342     ATTRIBUTE_CATEGORY     ,
5343     OBJECT_VERSION_NUMBER          ,
5344     ALLOW_EXEMPTIONS_FLAG          ,  --Bug 4204464
5345     ALLOW_EXCEPTIONS_FLAG
5346    -- 6820043, commenting out description
5347    -- DESCRIPTION                     -- Bug 4705196
5348   )
5349   VALUES
5350   (
5351     TAX_RATE_ID                    ,  --TAX_RATE_ID
5352     TAX_RATE_CODE                  ,  --tax_rate_code
5353     CONTENT_OWNER_ID               ,  --content_owner_id
5354     EFFECTIVE_FROM                 ,  --effective_from
5355     EFFECTIVE_TO                   ,  --effective_to
5356     TAX_REGIME_CODE                ,  --tax_regime_code
5357     TAX                            ,  --tax
5358     TAX_STATUS_CODE                ,  --tax_status_code
5359     SCHEDULE_BASED_RATE_FLAG       ,  --scheduled_based_rate_flag : YK:8/25/2004: Should be 'N'
5360     RATE_TYPE_CODE                 ,  --rate_type_code
5361     PERCENTAGE_RATE                ,  --percentage_rate
5362     QUANTITY_RATE                  ,  --quantity_rate
5363     UOM_CODE                       ,  --uom_code
5364     TAX_JURISDICTION_CODE          ,  --tax_jurisdiction_code
5365     RECOVERY_TYPE_CODE             ,  --recovery_type_code
5366     ACTIVE_FLAG                    ,  --active_flag
5367     DEFAULT_RATE_FLAG              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
5368     DEFAULT_FLG_EFFECTIVE_FROM     ,  --default_flg_effective_from
5369     DEFAULT_FLG_EFFECTIVE_TO       ,  --default_flg_effective_to
5370     DEFAULT_REC_TYPE_CODE          ,  --default_rec_type_code
5371     DEFAULT_REC_RATE_CODE          ,  --default_rec_rate_code
5372     OFFSET_TAX                     ,  --offset_tax
5373     OFFSET_STATUS_CODE             ,  --offset_status_code
5374     OFFSET_TAX_RATE_CODE           ,  --offset_tax_rate_code
5375     RECOVERY_RULE_CODE             ,  --recovery_rule_code
5376     DEF_REC_SETTLEMENT_OPTION_CODE ,  --def_rec_settlement_option_code
5377     VAT_TRANSACTION_TYPE_CODE      ,  --vat_transaction_type_code
5378     ADJ_FOR_ADHOC_AMT_CODE         ,  --adj_for_adhoc_amt_code
5379     ALLOW_ADHOC_TAX_RATE_FLAG      ,  --allow_adhoc_tax_rate_flag
5380     L_TAX_CLASS                    ,  --tax_class
5381     NULL                           ,  --source_id  --YK:B:10/08/2004
5382     L_TAXABLE_BASIS_FORMULA        ,  --taxable_basis_formula_code
5383     INCLUSIVE_TAX_FLAG             ,  --inclusive_tax_flag
5384     TAX_INCLUSIVE_OVERRIDE_FLAG    ,  --tax_inclusive_override_flag
5385     'MIGRATED'                     ,  --record_type_code
5386     fnd_global.user_id             ,  --created_by
5387     SYSDATE                        ,  --creation_date
5388     fnd_global.user_id             ,  --last_updated_by
5389     SYSDATE                        ,  --last_update_date
5390     fnd_global.user_id             ,  --last_update_login
5391     fnd_global.conc_request_id     ,  --request_id
5392     fnd_global.prog_appl_id        ,  --program_application_id
5393     fnd_global.conc_program_id     ,  --program_id
5394     fnd_global.conc_login_id       ,  --program_login_id
5395     ATTRIBUTE1                     ,
5396     ATTRIBUTE2                     ,
5397     ATTRIBUTE3                     ,
5398     ATTRIBUTE4                     ,
5399     ATTRIBUTE5                     ,
5400     ATTRIBUTE6                     ,
5401     ATTRIBUTE7                     ,
5402     ATTRIBUTE8                     ,
5403     ATTRIBUTE9                     ,
5404     ATTRIBUTE10                    ,
5405     ATTRIBUTE11                    ,
5406     ATTRIBUTE12                    ,
5407     ATTRIBUTE13                    ,
5408     ATTRIBUTE14                    ,
5409     ATTRIBUTE15                    ,
5410     ATTRIBUTE_CATEGORY             ,
5411     1                              ,
5412     ALLOW_EXEMPTIONS_FLAG          ,  --ALLOW_EXEMPTIONS_FLAG
5413     ALLOW_EXCEPTIONS_FLAG             --ALLOW_EXCEPTIONS_FLAG
5414    -- 6820043, commenting out description
5415    -- DESCRIPTION                     -- Bug 4705196
5416   )
5417   INTO zx_accounts
5418   (
5419     TAX_ACCOUNT_ID                 ,
5420     TAX_ACCOUNT_ENTITY_ID          ,
5421     TAX_ACCOUNT_ENTITY_CODE        ,
5422     LEDGER_ID                      ,
5423     INTERNAL_ORGANIZATION_ID       , -- Bug 3495741
5424     TAX_ACCOUNT_CCID               ,
5425     INTERIM_TAX_CCID               ,
5426     NON_REC_ACCOUNT_CCID           ,
5427     ADJ_CCID                       ,
5428     EDISC_CCID                     ,
5429     UNEDISC_CCID                   ,
5430     FINCHRG_CCID                   ,
5431     ADJ_NON_REC_TAX_CCID           ,
5432     EDISC_NON_REC_TAX_CCID         ,
5433     UNEDISC_NON_REC_TAX_CCID       ,
5434     FINCHRG_NON_REC_TAX_CCID       ,
5435     RECORD_TYPE_CODE               ,
5436     ATTRIBUTE1             ,
5437     ATTRIBUTE2             ,
5438     ATTRIBUTE3             ,
5439     ATTRIBUTE4             ,
5440     ATTRIBUTE5             ,
5441     ATTRIBUTE6             ,
5442     ATTRIBUTE7             ,
5443     ATTRIBUTE8             ,
5444     ATTRIBUTE9             ,
5445     ATTRIBUTE10            ,
5446     ATTRIBUTE11            ,
5447     ATTRIBUTE12            ,
5448     ATTRIBUTE13            ,
5449     ATTRIBUTE14            ,
5450     ATTRIBUTE15            ,
5451     ATTRIBUTE_CATEGORY,
5452     CREATED_BY                      ,
5453     CREATION_DATE                  ,
5454     LAST_UPDATED_BY                ,
5455     LAST_UPDATE_DATE               ,
5456     LAST_UPDATE_LOGIN              ,
5457     REQUEST_ID                     ,
5458     PROGRAM_APPLICATION_ID         ,
5459     PROGRAM_ID                     ,
5460     PROGRAM_LOGIN_ID     ,
5461     OBJECT_VERSION_NUMBER
5462   )
5463   VALUES
5464   (
5465     ZX_ACCOUNTS_S.nextval , --TAX_ACCOUNT_ID
5466     TAX_RATE_ID           , --TAX_ACCOUNT_ENTITY_ID
5467     'RATES'                , --TAX_ACCOUNT_ENTITY_CODE
5468      LEDGER_ID            , --
5469      ORG_ID               ,
5470      TAX_ACCOUNT_CCID     ,
5471      INTERIM_TAX_CCID     , --INTERIM_TAX_CCID
5472      NON_REC_ACCOUNT_CCID , --NON_REC_ACCOUNT_CCID
5473      ADJ_CCID             , --ADJ_CCID
5474      EDISC_CCID           , --EDISC_CCID
5475      UNEDISC_CCID         , --UNEDISC_CCID
5476      FINCHRG_CCID         , --FINCHRG_CCID
5477      ADJ_NON_REC_TAX_CCID , --ADJ_NON_REC_TAX_CCID
5478      EDISC_NON_REC_TAX_CCID,    --EDISC_NON_REC_TAX_CCID
5479      UNEDISC_NON_REC_TAX_CCID,  --UNEDISC_NON_REC_TAX_CCID
5480      FINCHRG_NON_REC_TAX_CCID,  --FINCHRG_NON_REC_TAX_CCID
5481      RECORD_TYPE_CODE     ,
5482      NULL                 ,
5483      NULL                 ,
5484      NULL                 ,
5485      NULL                 ,
5486      NULL                 ,
5487      NULL                 ,
5488      NULL                 ,
5489      NULL                 ,
5490      NULL                 ,
5491      NULL                 ,
5492      NULL                 ,
5493      NULL                 ,
5494      NULL                 ,
5495      NULL                 ,
5496      NULL                 ,
5497      NULL                 ,
5498      fnd_global.user_id             ,
5499      SYSDATE                        ,
5500      fnd_global.user_id             ,
5501      SYSDATE                        ,
5502      fnd_global.conc_login_id       ,
5503      fnd_global.conc_request_id     , -- Request Id
5504      fnd_global.prog_appl_id        , -- Program Application ID
5505      fnd_global.conc_program_id     , -- Program Id
5506      fnd_global.conc_login_id       , -- Program Login ID
5507      1
5508   )
5509   SELECT
5510   results.tax_code_id               TAX_RATE_ID,
5511   results.tax_code                 TAX_RATE_CODE,
5512   ptp.party_tax_profile_id       CONTENT_OWNER_ID,
5513   codes.start_date               EFFECTIVE_FROM,
5514   codes.end_date                 EFFECTIVE_TO,
5515      results.tax_regime_code       TAX_REGIME_CODE ,
5516   results.tax                   TAX,
5517   results.tax_status_code       TAX_STATUS_CODE,
5518   'N'                            SCHEDULE_BASED_RATE_FLAG,
5519   DECODE (codes.TAXABLE_BASIS
5520             ,'QUANTITY','QUANTITY'
5521             ,'PERCENTAGE')       RATE_TYPE_CODE,
5522   DECODE (codes.TAXABLE_BASIS
5523             ,'QUANTITY', NULL
5524             ,codes.tax_rate)     PERCENTAGE_RATE,
5525   DECODE (codes.TAXABLE_BASIS
5526             ,'QUANTITY', codes.tax_rate
5527             ,NULL)               QUANTITY_RATE       ,
5528   NULL                           UOM_CODE,   /***** Need review for Quantity Rates ****/
5529   NULL                           TAX_JURISDICTION_CODE,
5530   decode(codes.enabled_flag,
5531   'N', NVL(results.recovery_type_code,results.tax_code_id),
5532   results.recovery_type_code)    RECOVERY_TYPE_CODE, --added to avoid index violation for duplicate disabled tax codes
5533   codes.enabled_flag             ACTIVE_FLAG,
5534        'N'                             DEFAULT_RATE_FLAG    ,  /**** Need a review ****/
5535   NULL                           DEFAULT_FLG_EFFECTIVE_FROM ,
5536   NULL                         DEFAULT_FLG_EFFECTIVE_TO   ,
5537   NULL                         DEFAULT_REC_TYPE_CODE      ,
5538   NULL                           DEFAULT_REC_RATE_CODE,
5539   NULL                           OFFSET_TAX,
5540   NULL                           OFFSET_STATUS_CODE ,
5541   NULL                           OFFSET_TAX_RATE_CODE  ,
5542   NULL                           RECOVERY_RULE_CODE    ,
5543   DECODE(codes.INTERIM_TAX_CCID,
5544          NULL, 'IMMEDIATE',
5548   codes.AMOUNT_INCLUDES_TAX_OVERRIDE   TAX_INCLUSIVE_OVERRIDE_FLAG,
5545          'DEFERRED')             DEF_REC_SETTLEMENT_OPTION_CODE,
5546   codes.vat_transaction_type     VAT_TRANSACTION_TYPE_CODE ,
5547   codes.AMOUNT_INCLUDES_TAX_FLAG       INCLUSIVE_TAX_FLAG,
5549        'MIGRATED'                      RECORD_TYPE_CODE,
5550   codes.ATTRIBUTE1               ATTRIBUTE1,
5551   codes.ATTRIBUTE2               ATTRIBUTE2,
5552   codes.ATTRIBUTE3               ATTRIBUTE3,
5553   codes.ATTRIBUTE4               ATTRIBUTE4,
5554   codes.ATTRIBUTE5               ATTRIBUTE5,
5555   codes.ATTRIBUTE6               ATTRIBUTE6,
5556   codes.ATTRIBUTE7               ATTRIBUTE7,
5557   codes.ATTRIBUTE8               ATTRIBUTE8,
5558   codes.ATTRIBUTE9               ATTRIBUTE9,
5559   codes.ATTRIBUTE10              ATTRIBUTE10,
5560   codes.ATTRIBUTE11              ATTRIBUTE11,
5561   codes.ATTRIBUTE12              ATTRIBUTE12,
5562   codes.ATTRIBUTE13              ATTRIBUTE13,
5563   codes.ATTRIBUTE14              ATTRIBUTE14,
5564   codes.ATTRIBUTE15              ATTRIBUTE15,
5565   codes.ATTRIBUTE_CATEGORY       ATTRIBUTE_CATEGORY,
5566   codes.set_of_books_id          LEDGER_ID,
5567   results.org_id                   ORG_ID,
5568   codes.TAX_ACCOUNT_ID           TAX_ACCOUNT_CCID,
5569   codes.INTERIM_TAX_CCID         INTERIM_TAX_CCID,
5570   codes.ADJ_CCID                 ADJ_CCID,
5571   codes.EDISC_CCID               EDISC_CCID,
5572   codes.UNEDISC_CCID             UNEDISC_CCID,
5573   codes.FINCHRG_CCID             FINCHRG_CCID,
5574   codes.ADJ_NON_REC_TAX_CCID     ADJ_NON_REC_TAX_CCID,
5575   codes.EDISC_NON_REC_TAX_CCID   EDISC_NON_REC_TAX_CCID,
5576   codes.UNEDISC_NON_REC_TAX_CCID UNEDISC_NON_REC_TAX_CCID,
5577   codes.FINCHRG_NON_REC_TAX_CCID FINCHRG_NON_REC_TAX_CCID,
5578         DECODE(codes.global_attribute_category,
5579           'JL.CL.ARXSUVAT.VAT_TAX',
5580      fnd_flex_ext.get_ccid
5581               ( 'SQLGL',
5582                               'GL#',
5583                                 (SELECT chart_of_accounts_id FROM gl_sets_of_books WHERE set_of_books_id = codes.set_of_books_id),
5584                               sysdate,
5585                               codes.global_attribute5),
5586     NULL)  NON_REC_ACCOUNT_CCID,  -- Bug 4779027
5587   DECODE(nvl(codes.validate_flag, 'N'),
5588          'Y', 'TAX_RATE',
5589          'N', NULL)              ADJ_FOR_ADHOC_AMT_CODE,
5590   codes.validate_flag            ALLOW_ADHOC_TAX_RATE_FLAG,
5591         DECODE(codes.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')   L_TAX_CLASS,
5592         DECODE (codes.TAXABLE_BASIS, 'AFTER_EPD', 'STANDARD_TB_DISCOUNT'
5593                                    , 'QUANTITY' , 'STANDARD_QUANTITY'
5594                                    , 'STANDARD_TB') L_TAXABLE_BASIS_FORMULA,
5595   codes.DESCRIPTION         DESCRIPTION ,-- Bug 4705196
5596   nvl(asp.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')     ALLOW_EXEMPTIONS_FLAG,
5597   'N'                            ALLOW_EXCEPTIONS_FLAG --Bug 5505935
5598   FROM
5599       zx_update_criteria_results results,
5600       ar_vat_tax_all_b           codes,
5601       zx_party_tax_profile       ptp,
5602       ar_system_parameters_all   asp  --Bug 3985196: Tax Vendor Handling
5603   WHERE
5604        results.tax_code_id = codes.vat_tax_id
5605   AND  results.tax_class  = 'OUTPUT'
5606   AND  codes.tax_type NOT IN ('TAX_GROUP', 'LOCATION')
5607   AND  codes.org_id = l_org_id
5608   AND  codes.org_id = asp.org_id
5609   --
5610   -- Bug 4880975 : migrate_ar_vat_tax migrates vendor tax codes with
5611   --               tax type <> 'LOCATION'
5612   -- AND  (asp.tax_database_view_set  NOT IN ('_A', '_V') AND
5613   --        codes.tax_type <>'LOCATION')   --BugFix 4400733
5614   /* Bug 4708982
5615   AND  (codes.global_attribute_category IS NULL OR
5616         codes.global_attribute_category NOT IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
5617                    'JL.BR.ARXSUVAT.AR_VAT_TAX',
5618                   'JL.CO.ARXSUVAT.AR_VAT_TAX'))
5619    */
5620   --BugFix 4400733
5621   --AND  (asp.tax_database_view_set <> 'O' OR codes.tax_type <> 'LOCATION')
5622 
5623   AND  codes.org_id  = ptp.party_id
5624   AND  ptp.party_Type_code = 'OU'
5625 
5626   --Added following conditions for Sync process
5627   AND  codes.vat_tax_id  = nvl(p_tax_id, codes.vat_tax_id)
5628 
5629   --Rerunability/ID CLASH
5630   AND  not exists (select 1
5631                    from   zx_rates_b rates
5632        where  rates.tax_rate_id =  nvl(p_tax_id, codes.vat_tax_id)
5633       );
5634 
5635 
5636   END IF;
5637 
5638 
5639 
5640   /* Bug 4708982
5641   IF L_LTE_USED = 'Y' THEN
5642     INSERT ALL
5643     INTO zx_rates_b_tmp
5644     (
5645       TAX_RATE_ID                    ,
5646       TAX_RATE_CODE                  ,
5647       CONTENT_OWNER_ID               ,
5648       EFFECTIVE_FROM                 ,
5649       EFFECTIVE_TO                   ,
5650       TAX_REGIME_CODE                ,
5651       TAX                            ,
5652       TAX_STATUS_CODE                ,
5653       SCHEDULE_BASED_RATE_FLAG       ,
5654       RATE_TYPE_CODE                 ,
5655       PERCENTAGE_RATE                ,
5656       QUANTITY_RATE                  ,
5657       UOM_CODE                       ,
5658       TAX_JURISDICTION_CODE          ,
5659       RECOVERY_TYPE_CODE             ,
5660       ACTIVE_FLAG                    ,
5661       DEFAULT_RATE_FLAG              ,
5662       DEFAULT_FLG_EFFECTIVE_FROM     ,
5663       DEFAULT_FLG_EFFECTIVE_TO       ,
5664       DEFAULT_REC_TYPE_CODE          ,
5665       DEFAULT_REC_RATE_CODE          ,
5666       OFFSET_TAX                     ,
5667       OFFSET_STATUS_CODE             ,
5668       OFFSET_TAX_RATE_CODE           ,
5669       RECOVERY_RULE_CODE             ,
5670       DEF_REC_SETTLEMENT_OPTION_CODE ,
5671       VAT_TRANSACTION_TYPE_CODE      ,
5672       ADJ_FOR_ADHOC_AMT_CODE         ,
5673       ALLOW_ADHOC_TAX_RATE_FLAG      ,
5674       TAX_CLASS                      ,
5675       SOURCE_ID                      ,
5676       TAXABLE_BASIS_FORMULA_CODE     ,
5677       INCLUSIVE_TAX_FLAG             ,
5678       TAX_INCLUSIVE_OVERRIDE_FLAG    ,
5679       RECORD_TYPE_CODE               ,
5680       CREATED_BY                     ,
5681       CREATION_DATE                  ,
5682       LAST_UPDATED_BY                ,
5683       LAST_UPDATE_DATE               ,
5684       LAST_UPDATE_LOGIN              ,
5685       REQUEST_ID                     ,
5686       PROGRAM_APPLICATION_ID         ,
5687       PROGRAM_ID                     ,
5688       PROGRAM_LOGIN_ID               ,
5689       ATTRIBUTE1                     ,
5690       ATTRIBUTE2                     ,
5691       ATTRIBUTE3                     ,
5692       ATTRIBUTE4                     ,
5693       ATTRIBUTE5                     ,
5694       ATTRIBUTE6                     ,
5695       ATTRIBUTE7                     ,
5696       ATTRIBUTE8                     ,
5697       ATTRIBUTE9                     ,
5698       ATTRIBUTE10                    ,
5699       ATTRIBUTE11                    ,
5700       ATTRIBUTE12                    ,
5701       ATTRIBUTE13                    ,
5702       ATTRIBUTE14                    ,
5703       ATTRIBUTE15                    ,
5704       ATTRIBUTE_CATEGORY            ,
5705       OBJECT_VERSION_NUMBER          ,
5706             ALLOW_EXEMPTIONS_FLAG          ,  --Bug 4204464
5707             ALLOW_EXCEPTIONS_FLAG          ,
5708       DESCRIPTION -- Bug 4705196
5709     )
5710     VALUES
5711     (
5712       TAX_RATE_ID                    ,  --TAX_RATE_ID
5713       TAX_RATE_CODE                  ,  --tax_rate_code
5714       CONTENT_OWNER_ID               ,  --content_owner_id
5715       EFFECTIVE_FROM                 ,  --effective_from
5716       EFFECTIVE_TO                   ,  --effective_to
5717       TAX_REGIME_CODE                ,  --tax_regime_code
5718       TAX                            ,  --tax
5719       TAX_STATUS_CODE                ,  --tax_status_code
5720       SCHEDULE_BASED_RATE_FLAG       ,  --scheduled_based_rate_flag : YK:8/25/2004: Should be 'N'
5721       RATE_TYPE_CODE                 ,  --rate_type_code
5722       PERCENTAGE_RATE                ,  --percentage_rate
5723       QUANTITY_RATE                  ,  --quantity_rate
5724       UOM_CODE                       ,  --uom_code
5725       TAX_JURISDICTION_CODE          ,  --tax_jurisdiction_code
5726       RECOVERY_TYPE_CODE             ,  --recovery_type_code
5727       ACTIVE_FLAG                    ,  --active_flag
5728       DEFAULT_RATE_FLAG              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
5729       DEFAULT_FLG_EFFECTIVE_FROM     ,  --default_flg_effective_from
5730       DEFAULT_FLG_EFFECTIVE_TO       ,  --default_flg_effective_to
5731       DEFAULT_REC_TYPE_CODE          ,  --default_rec_type_code
5732       DEFAULT_REC_RATE_CODE          ,  --default_rec_rate_code
5733       OFFSET_TAX                     ,  --offset_tax
5734       OFFSET_STATUS_CODE             ,  --offset_status_code
5735       OFFSET_TAX_RATE_CODE           ,  --offset_tax_rate_code
5736       RECOVERY_RULE_CODE             ,  --recovery_rule_code
5737       DEF_REC_SETTLEMENT_OPTION_CODE ,  --def_rec_settlement_option_code
5738       VAT_TRANSACTION_TYPE_CODE      ,  --vat_transaction_type_code
5739       ADJ_FOR_ADHOC_AMT_CODE         ,  --adj_for_adhoc_amt_code
5740       ALLOW_ADHOC_TAX_RATE_FLAG      ,  --allow_adhoc_tax_rate_flag
5741       L_TAX_CLASS                    ,  --tax_class
5742       NULL                           ,  --source_id  --YK:B:10/08/2004
5743       L_TAXABLE_BASIS_FORMULA        ,  --taxable_basis_formula_code
5744       INCLUSIVE_TAX_FLAG             ,  --inclusive_tax_flag
5745       TAX_INCLUSIVE_OVERRIDE_FLAG    ,  --tax_inclusive_override_flag
5746       'MIGRATED'                     ,  --record_type_code
5747       fnd_global.user_id             ,  --created_by
5748       SYSDATE                        ,  --creation_date
5749       fnd_global.user_id             ,  --last_updated_by
5750       SYSDATE                        ,  --last_update_date
5751       fnd_global.user_id             ,  --last_update_login
5752       fnd_global.conc_request_id     ,  --request_id
5753       fnd_global.prog_appl_id        ,  --program_application_id
5754       fnd_global.conc_program_id     ,  --program_id
5755       fnd_global.conc_login_id       ,  --program_login_id
5756       ATTRIBUTE1                     ,
5757       ATTRIBUTE2                     ,
5758       ATTRIBUTE3                     ,
5759       ATTRIBUTE4                     ,
5760       ATTRIBUTE5                     ,
5761       ATTRIBUTE6                     ,
5762       ATTRIBUTE7                     ,
5763       ATTRIBUTE8                     ,
5764       ATTRIBUTE9                     ,
5765       ATTRIBUTE10                    ,
5766       ATTRIBUTE11                    ,
5767       ATTRIBUTE12                    ,
5768       ATTRIBUTE13                    ,
5769       ATTRIBUTE14                    ,
5770       ATTRIBUTE15                    ,
5771       ATTRIBUTE_CATEGORY        ,
5772       1                              ,
5773             'Y'                            , --ALLOW_EXEMPTIONS_FLAG
5774             'Y'                            ,  --ALLOW_EXCEPTIONS_FLAG
5775       DESCRIPTION -- Bug 4705196
5776     )
5777     INTO zx_accounts
5778     (
5779       TAX_ACCOUNT_ID                 ,
5780       TAX_ACCOUNT_ENTITY_ID          ,
5781       TAX_ACCOUNT_ENTITY_CODE        ,
5782       LEDGER_ID                      ,
5783       INTERNAL_ORGANIZATION_ID       , -- Bug 3495741
5784       TAX_ACCOUNT_CCID               ,
5785       INTERIM_TAX_CCID               ,
5786       NON_REC_ACCOUNT_CCID           ,
5787       ADJ_CCID                       ,
5788       EDISC_CCID                     ,
5789       UNEDISC_CCID                   ,
5790       FINCHRG_CCID                   ,
5791       ADJ_NON_REC_TAX_CCID           ,
5792       EDISC_NON_REC_TAX_CCID         ,
5793       UNEDISC_NON_REC_TAX_CCID       ,
5794       FINCHRG_NON_REC_TAX_CCID       ,
5795       RECORD_TYPE_CODE               ,
5796       ATTRIBUTE1             ,
5797       ATTRIBUTE2             ,
5798       ATTRIBUTE3             ,
5799       ATTRIBUTE4             ,
5800       ATTRIBUTE5             ,
5801       ATTRIBUTE6             ,
5802       ATTRIBUTE7             ,
5803       ATTRIBUTE8             ,
5804       ATTRIBUTE9             ,
5805       ATTRIBUTE10            ,
5806       ATTRIBUTE11            ,
5807       ATTRIBUTE12            ,
5808       ATTRIBUTE13            ,
5809       ATTRIBUTE14            ,
5810       ATTRIBUTE15            ,
5811       ATTRIBUTE_CATEGORY,
5812       CREATED_BY                      ,
5813       CREATION_DATE                  ,
5814       LAST_UPDATED_BY                ,
5815       LAST_UPDATE_DATE               ,
5816       LAST_UPDATE_LOGIN              ,
5817       REQUEST_ID                     ,
5818       PROGRAM_APPLICATION_ID         ,
5819       PROGRAM_ID                     ,
5820       PROGRAM_LOGIN_ID          ,
5821       OBJECT_VERSION_NUMBER
5822     )
5823     VALUES
5824     (
5825       ZX_ACCOUNTS_S.nextval , --TAX_ACCOUNT_ID
5826       TAX_RATE_ID           , --TAX_ACCOUNT_ENTITY_ID
5827       'RATES'                , --TAX_ACCOUNT_ENTITY_CODE
5828        LEDGER_ID            , --
5829        ORG_ID               ,
5830        TAX_ACCOUNT_CCID     ,
5831        INTERIM_TAX_CCID     , --INTERIM_TAX_CCID
5832        NON_REC_ACCOUNT_CCID , --NON_REC_ACCOUNT_CCID
5833        ADJ_CCID             , --ADJ_CCID
5834        EDISC_CCID           , --EDISC_CCID
5835        UNEDISC_CCID         , --UNEDISC_CCID
5836        FINCHRG_CCID         , --FINCHRG_CCID
5837        ADJ_NON_REC_TAX_CCID , --ADJ_NON_REC_TAX_CCID
5838        EDISC_NON_REC_TAX_CCID,    --EDISC_NON_REC_TAX_CCID
5839        UNEDISC_NON_REC_TAX_CCID,  --UNEDISC_NON_REC_TAX_CCID
5840        FINCHRG_NON_REC_TAX_CCID,  --FINCHRG_NON_REC_TAX_CCID
5841        RECORD_TYPE_CODE     ,
5842        NULL                 ,
5843        NULL                 ,
5844        NULL                 ,
5845        NULL                 ,
5846        NULL                 ,
5847        NULL                 ,
5848        NULL                 ,
5849        NULL                 ,
5850        NULL                 ,
5851        NULL                 ,
5852        NULL                 ,
5853        NULL                 ,
5854        NULL                 ,
5855        NULL                 ,
5856        NULL                 ,
5857        NULL                 ,
5858        fnd_global.user_id             ,
5859        SYSDATE                        ,
5860        fnd_global.user_id             ,
5861        SYSDATE                        ,
5862        fnd_global.conc_login_id       ,
5863        fnd_global.conc_request_id     , -- Request Id
5864        fnd_global.prog_appl_id        , -- Program Application ID
5865        fnd_global.conc_program_id     , -- Program Id
5866        fnd_global.conc_login_id       , -- Program Login ID
5867        1
5868     )
5869     SELECT
5870     distinct
5871     codes.vat_tax_id               TAX_RATE_ID,
5872     codes.tax_code                 TAX_RATE_CODE,
5873     ptp.party_tax_profile_id       CONTENT_OWNER_ID,
5874     codes.start_date               EFFECTIVE_FROM,
5875     codes.end_date                 EFFECTIVE_TO,
5876           params.global_attribute13      TAX_REGIME_CODE ,
5877           codes.global_attribute1        TAX,
5878     DECODE(codes.tax_class,
5879           'O', 'STANDARD',
5880           'I', 'STANDARD_AR_INPUT',
5881           'STANDARD')        TAX_STATUS_CODE,
5882     'N'                            SCHEDULE_BASED_RATE_FLAG,
5883    'PERCENTAGE'                    RATE_TYPE_CODE,
5884     codes.tax_rate                 PERCENTAGE_RATE,
5885     NULL                           QUANTITY_RATE       ,
5886     NULL                           UOM_CODE,
5887     NULL                           TAX_JURISDICTION_CODE,
5888     NULL                           RECOVERY_TYPE_CODE,
5889     codes.enabled_flag             ACTIVE_FLAG,
5890    'N'                             DEFAULT_RATE_FLAG    ,
5891     NULL                           DEFAULT_FLG_EFFECTIVE_FROM ,
5892     NULL                       DEFAULT_FLG_EFFECTIVE_TO   ,
5893     NULL                       DEFAULT_REC_TYPE_CODE      ,
5894     NULL                           DEFAULT_REC_RATE_CODE,
5895     NULL                           OFFSET_TAX,
5896     NULL                           OFFSET_STATUS_CODE ,
5897     NULL                           OFFSET_TAX_RATE_CODE  ,
5898     NULL                           RECOVERY_RULE_CODE    ,
5899     DECODE(codes.INTERIM_TAX_CCID,
5900      NULL, 'IMMEDIATE',
5901      'DEFERRED')             DEF_REC_SETTLEMENT_OPTION_CODE,
5902     codes.vat_transaction_type     VAT_TRANSACTION_TYPE_CODE ,
5903     codes.AMOUNT_INCLUDES_TAX_FLAG       INCLUSIVE_TAX_FLAG,
5904     codes.AMOUNT_INCLUDES_TAX_OVERRIDE   TAX_INCLUSIVE_OVERRIDE_FLAG,
5905    'MIGRATED'                      RECORD_TYPE_CODE,
5906     codes.ATTRIBUTE1               ATTRIBUTE1,
5907     codes.ATTRIBUTE2               ATTRIBUTE2,
5908     codes.ATTRIBUTE3               ATTRIBUTE3,
5909     codes.ATTRIBUTE4               ATTRIBUTE4,
5910     codes.ATTRIBUTE5               ATTRIBUTE5,
5911     codes.ATTRIBUTE6               ATTRIBUTE6,
5912     codes.ATTRIBUTE7               ATTRIBUTE7,
5913     codes.ATTRIBUTE8               ATTRIBUTE8,
5914     codes.ATTRIBUTE9               ATTRIBUTE9,
5915     codes.ATTRIBUTE10              ATTRIBUTE10,
5916     codes.ATTRIBUTE11              ATTRIBUTE11,
5917     codes.ATTRIBUTE12              ATTRIBUTE12,
5918     codes.ATTRIBUTE13              ATTRIBUTE13,
5919     codes.ATTRIBUTE14              ATTRIBUTE14,
5920     codes.ATTRIBUTE15              ATTRIBUTE15,
5921     codes.ATTRIBUTE_CATEGORY       ATTRIBUTE_CATEGORY,
5922     codes.set_of_books_id          LEDGER_ID,
5923     decode(l_multi_org_flag,'N',l_org_id,codes.org_id)   ORG_ID,
5924     codes.TAX_ACCOUNT_ID           TAX_ACCOUNT_CCID,
5925     codes.INTERIM_TAX_CCID         INTERIM_TAX_CCID,
5926     codes.ADJ_CCID                 ADJ_CCID,
5927     codes.EDISC_CCID               EDISC_CCID,
5928     codes.UNEDISC_CCID             UNEDISC_CCID,
5929     codes.FINCHRG_CCID             FINCHRG_CCID,
5930     codes.ADJ_NON_REC_TAX_CCID     ADJ_NON_REC_TAX_CCID,
5931     codes.EDISC_NON_REC_TAX_CCID   EDISC_NON_REC_TAX_CCID,
5932     codes.UNEDISC_NON_REC_TAX_CCID UNEDISC_NON_REC_TAX_CCID,
5933     codes.FINCHRG_NON_REC_TAX_CCID FINCHRG_NON_REC_TAX_CCID,
5934            DECODE(codes.global_attribute_category,
5935           'JL.CL.ARXSUVAT.VAT_TAX',
5936      fnd_flex_ext.get_ccid
5937               ( 'SQLGL',
5938                               'GL#',
5939                                 (SELECT chart_of_accounts_id FROM gl_sets_of_books WHERE set_of_books_id = codes.set_of_books_id),
5940                               sysdate,
5941                               codes.global_attribute5),
5942     NULL)                           L_NON_REC_ACCOUNT_CCID,  -- Bug 4779027
5943     DECODE(nvl(codes.validate_flag, 'N'),
5944      'Y', 'TAX_RATE',
5945      'N', NULL)              ADJ_FOR_ADHOC_AMT_CODE,
5946     codes.validate_flag            ALLOW_ADHOC_TAX_RATE_FLAG,
5947           DECODE(codes.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')   L_TAX_CLASS,
5948           DECODE (codes.TAXABLE_BASIS, 'AFTER_EPD', 'STANDARD_TB_DISCOUNT','STANDARD_TB') L_TAXABLE_BASIS_FORMULA,
5949     codes.DESCRIPTION         DESCRIPTION -- Bug 4705196
5950     FROM
5951   ar_vat_tax_all_b          codes,
5952   zx_party_tax_profile      ptp,
5953   ar_system_parameters_all  params,
5954   jl_zz_ar_tx_categ_all     categs
5955     WHERE
5956    codes.tax_type <> 'TAX_GROUP'
5957 
5958     -- For LTE : YK:2/22/2005
5959     AND  decode(l_multi_org_flag,'N',l_org_id,codes.org_id) = decode(l_multi_org_flag,'N',l_org_id,params.org_id)
5960     AND  params.tax_database_view_set = 'BR'  --Bug Fix 4400733
5961     AND   codes.global_attribute_category IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
5962                  'JL.BR.ARXSUVAT.AR_VAT_TAX',
5963                 'JL.CO.ARXSUVAT.AR_VAT_TAX')
5964 --AND  (params.tax_database_view_set <> 'O' AND codes.tax_type <> 'LOCATION') --BugFix 4400733
5965 
5966     AND  decode(l_multi_org_flag,'N',l_org_id,codes.org_id)  = ptp.party_id
5967     AND  ptp.party_Type_code = 'OU'
5968 
5969     --Added following conditions for Sync process
5970     AND  codes.vat_tax_id  = nvl(p_tax_id,codes.vat_tax_id)
5971 
5972     -- Rerunability/ID CLASH
5973     --BugFix 3605729 added nvl(source_id, in the following condition.
5974     AND  not exists (select 1
5975                      from   zx_rates_b rates
5976          where  rates.tax_rate_id =  nvl(p_tax_id,codes.vat_tax_id)
5977         );
5978   END IF;
5979   */
5980 
5981   --
5982   -- Create _TL tables
5983   --
5984 /*--Bug4400704
5985   INSERT INTO  ZX_RATES_TL
5986   (
5987       TAX_RATE_ID,
5988       TAX_RATE_NAME,
5989       CREATED_BY,
5990       CREATION_DATE,
5991       LAST_UPDATED_BY,
5992       LAST_UPDATE_DATE,
5993       LAST_UPDATE_LOGIN,
5994       LANGUAGE,
5995       SOURCE_LANG
5996   )
5997   SELECT  avtt.vat_tax_id,
5998           avtt.printed_tax_name,
5999           fnd_global.user_id             ,
6000           SYSDATE                        ,
6001           fnd_global.user_id             ,
6002           SYSDATE                        ,
6003           fnd_global.conc_login_id       ,
6004           avtt.language                  ,
6005           avtt.source_lang
6006 
6007   FROM    ar_vat_tax_all_tl  avtt,
6008           zx_rates_b         zrb
6009   WHERE   avtt.vat_tax_id = zrb.tax_rate_id
6010   AND     NOT EXISTS (SELECT 1
6011                       FROM   zx_rates_tl  zrt
6012                       WHERE  zrt.tax_rate_id = avtt.vat_tax_id
6013                       AND    zrt.language = avtt.language
6014                       AND    zrt.source_lang = avtt.source_lang);*/
6015 
6016       IF PG_DEBUG = 'Y' THEN
6017    arp_util_tax.debug('migrate_ar_vat_tax(-)');
6018       END IF;
6019 
6020 EXCEPTION
6021   WHEN OTHERS THEN
6022     IF PG_DEBUG = 'Y' THEN
6023       arp_util_tax.debug('EXCEPTION: migrate_ar_vat_tax ');
6024       arp_util_tax.debug(sqlcode || ' : ' || sqlerrm);
6025       arp_util_tax.debug('migrate_ar_vat_tax(-)');
6026     END IF;
6027     --app_exception.raise_exception;
6028 
6029 END;
6030 
6031 /*===========================================================================+
6032  | FUNCTION
6033  |    is_update_needed_for_loc_tax (p_tax_id   NUMBER) RETURN BOOLEAN
6034  |
6035  | IN
6036  |    p_tax_id : ar_vat_tax_all_b.vat_tax_id is passed when it is called from
6037  |               AR Tax Codes form for synchronization.
6038  | OUT
6039  |    TRUE  : When eBTax entities are needed for data updation.
6040  |    FALSE : When eBTax entities are not needed for data updation.
6041  |
6042  | DESCRIPTION
6043  |     This routine identifies if Regime to Rates records are needed to be
6044  |     updated for US Sales Tax Code migraion. Data update is needed under
6045  |     the following conditions:
6046  |     1. When executing US Sales Tax Code migration (p_tax_id = NULL)
6047  |        for the first time.
6048  |     2. After US Sales Tax Code migration has been executed. (synch)
6049  |        (p_tax_id IS NOT NULL)
6050  |     2.1 When new location structure is created and new Tax Code with tax
6051  |         type 'LOCATION' is created for a existing OU or a new OU.
6052  |     2.2 When new Tax Code with tax type 'LOCATION' is created under
6053  |         existing location structure but for new OU.
6054  |
6055  | SCOPE - PRIVATE
6056  |
6057  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
6058  |
6059  | CALLED FROM
6060  |        zx_migrate_ar_tax_def.migrate_loc_tax_code
6061  |
6062  | NOTES
6063  |
6064  | MODIFICATION HISTORY
6065  | 01/11/2004   Yoshimichi Konishi   Created.
6066  |
6067  +==========================================================================*/
6068 FUNCTION is_update_needed_for_loc_tax (p_tax_id   NUMBER,
6069                                        p_tax_type VARCHAR2 DEFAULT NULL
6070                                       ) RETURN BOOLEAN
6071 AS
6072   -- ****** VARIABLES ******
6073   l_location_str_id   ar_system_parameters_all.location_structure_id%TYPE;
6074   l_org_id            ar_vat_tax_all_b.org_id%TYPE;
6075   l_tax_regime_code   zx_regimes_b.tax_regime_code%TYPE;
6076   l_tax               zx_taxes_b.tax%TYPE;
6077 
6078 BEGIN
6079 IF p_tax_id IS NOT NULL AND p_tax_type = 'LOCATION' THEN
6080   BEGIN
6081     IF L_MULTI_ORG_FLAG = 'Y'
6082     THEN
6083       SELECT  asp.location_structure_id,
6084         asp.org_id
6085       INTO    l_location_str_id,
6086         l_org_id
6087       FROM    ar_system_parameters_all   asp,
6088         ar_vat_tax_all_b           avt
6089       where   avt.org_id = asp.org_id
6090       AND     avt.vat_tax_id = nvl(p_tax_id, avt.vat_tax_id)
6091       AND     avt.tax_type = 'LOCATION';
6092     ELSE
6093       SELECT  asp.location_structure_id,
6094         asp.org_id
6095       INTO    l_location_str_id,
6096         l_org_id
6097       FROM    ar_system_parameters_all   asp,
6098         ar_vat_tax_all_b           avt
6099       where   avt.org_id = asp.org_id
6100       AND     avt.org_id = l_org_id
6101       AND     avt.vat_tax_id = nvl(p_tax_id, avt.vat_tax_id)
6102       AND     avt.tax_type = 'LOCATION';
6103 
6104     END IF;
6105   EXCEPTION
6106     WHEN NO_DATA_FOUND THEN
6107       arp_util_tax.debug('is_synch_needed.loc_str_id: No data found');
6108     WHEN OTHERS THEN
6109       arp_util_tax.debug('is_synch_needed.loc_str_id: Others');
6110   END;
6111 
6112   IF l_location_str_id IS NOT NULL THEN
6113     BEGIN
6114       SELECT  tax_regime_code
6115       INTO    l_tax_regime_code
6116       FROM    zx_regimes_b   regime
6117       WHERE   tax_regime_code like '%-SALES-TAX-%'
6118       AND     l_location_str_id = TO_NUMBER(
6119                                     NVL(LTRIM(
6120                                       TRANSLATE(regime.tax_regime_code,
6121                                       'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_',
6122                                       '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'
6123                                       ),'@'),'-999'));
6124     EXCEPTION
6125       WHEN NO_DATA_FOUND THEN
6126         arp_util_tax.debug('is_synch_needed.l_tax_regime_code: No data found');
6127       WHEN OTHERS THEN
6128         arp_util_tax.debug('is_synch_needed.l_tax_regime_code: Others');
6129     END;
6130     IF l_tax_regime_code IS NOT NULL THEN
6131       BEGIN
6132         SELECT  ztb.tax
6133         INTO    l_tax
6134         FROM    zx_taxes_b   ztb,
6135                 zx_party_tax_profile  zptp
6136         WHERE   ztb.content_owner_id = zptp.party_tax_profile_id
6137         AND     zptp.party_type_code = 'OU'
6138         AND     zptp.party_id = l_org_id
6139         AND     ztb.tax = 'LOCATION'
6140         AND     ztb.tax_regime_code = l_tax_regime_code;
6141       EXCEPTION
6142         WHEN NO_DATA_FOUND THEN
6143           arp_util_tax.debug('is_synch_needed.l_tax: No data found');
6144         WHEN OTHERS THEN
6145           arp_util_tax.debug('is_synch_needed.l_tax: Others');
6146       END;
6147       IF l_tax IS NOT NULL THEN
6148         RETURN  FALSE;  --Regime exists PLUS tax exists for CO --NO SYNCH--
6149       ELSE
6150         RETURN  TRUE;  --Regime exist BUT tax does not exist for CO --SYNCH--
6151       END IF;
6152     ELSIF l_tax_regime_code IS NULL THEN
6153       RETURN  TRUE;  --Regime does not exist for location structure id --SYNCH--
6154     END IF;
6155   ELSIF l_location_str_id IS NULL THEN
6156     RETURN  FALSE; --Location structure id is NULL -- NO SYNCH --
6157   END IF;
6158 ELSE
6159   RETURN  TRUE;
6160 END IF;
6161 EXCEPTION
6162   WHEN OTHERS THEN
6163     NULL;
6164 
6165 END is_update_needed_for_loc_tax;
6166 
6167 /*===========================================================================+
6168  | PROCEDURE
6169  |    insert_tax_for_loc (p_min_start_date           DATE,
6170  |                p_tax_regime_code          VARCHAR2,
6171  |                p_seg_att_type             VARCHAR2,
6172  |                p_country_code             VARCHAR2,
6173  |                p_tax_currency_code        VARCHAR2,  -- OU partitioned
6174  |                p_tax_precision            VARCHAR2,  -- OU partitioned
6175  |                p_tax_mau                  NUMBER,    -- OU partitioned
6176  |                p_rounding_rule_code       VARCHAR2,  -- OU partitioned
6177  |                p_allow_rounding_override  VARCHAR2,  -- OU partitioned
6178  |                p_loc_str_id               NUMBER ,
6179  |                p_tax_acct_cr_method       VARCHAR2
6180  |                p_tax_acct_source_tax      VARCHAR2,
6181  |                p_tax_exmpt_cr_mthd        VARCHAR2,
6182  |                p_tax_exmpt_src_tax        VARCHAR2
6183  |                p_compounding_precedence   NUMBER,
6184  |                p_cross_curr_rate_type     VARCHAR2 --Bug 4539221
6185  |                p_tax_type                 VARCHAR2
6186  |                )
6187  |
6188  | IN
6189  |    p_min_start_date           : For effective_from. Minimum start date for
6190  |                                 Tax Codes with tax type LOCATION will be
6191  |                                 passed.
6192  |    p_tax_regime_code          : For tax regime code
6193  |    p_seg_att_type             : Location segment qualifier will be passed
6194  |                                 to create tax.
6195  |    p_country_code             : For country code
6196  |    p_tax_currency_code        : For tax currency code
6200  |    p_allow_rounding_override  : For rounding override
6197  |    p_tax_precision            : For tax precision
6198  |    p_tax_mau                  : For tax minimum accountable unit
6199  |    p_rounding_rule_code       : For rounding rule code
6201  |    p_loc_str_id               : For location structure id
6202  |    p_tax_acct_cr_method       : For tax account create method
6203  |    p_tax_acct_source_tax      : For tax account source tax
6204  |    p_tax_exmpt_excpt_cr_mthd  : For tax exemption exception creation method
6205  |    p_tax_exmpt_excpt_src_tax  : For tax exemption exception source tax
6206  |    p_compounding_precedence   : For compounding precedence
6207  |    p_cross_curr_rate_type     : For currency rate type
6208  |    p_tax_type                 : For tax type
6209  |
6210  | OUT
6211  |
6212  | DESCRIPTION
6213  |     This routine is used to insert data into zx_taxes_b for location
6214  |     segment qualifier. Mainly created for code readability.
6215  |
6216  | SCOPE - PRIVATE
6217  |
6218  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
6219  |
6220  | CALLED FROM
6221  |        zx_migrate_ar_tax_def.migrate_loc_tax_code
6222  |        zx_migrate_ar_tax_def.migrate_vnd_tax_code
6223  |
6224  | NOTES
6225  |
6226  | MODIFICATION HISTORY
6227  | 01/11/2004   Yoshimichi Konishi   Created.
6228  |
6229  +==========================================================================*/
6230   PROCEDURE insert_tax_for_loc (p_min_start_date           DATE,
6231       p_tax_regime_code          VARCHAR2,
6232       p_seg_att_type             VARCHAR2,
6233       p_country_code             VARCHAR2,
6234       p_tax_currency_code        VARCHAR2,  -- OU partitioned
6235       p_tax_precision            VARCHAR2,  -- OU partitioned
6236       p_tax_mau                  NUMBER,    -- OU partitioned
6237       p_rounding_rule_code       VARCHAR2,  -- OU partitioned
6238       p_allow_rounding_override  VARCHAR2,  -- OU partitioned
6239       p_loc_str_id               NUMBER,    -- Bug 4225216
6240       p_tax_acct_cr_method       VARCHAR2,  -- Bug 4204464
6241       p_tax_acct_source_tax      VARCHAR2,
6242       p_tax_exmpt_cr_mthd        VARCHAR2,
6243       p_tax_exmpt_src_tax        VARCHAR2,
6244                         p_compounding_precedence   NUMBER,
6245                         p_cross_curr_rate_type     VARCHAR2,
6246                         p_tax_type                 VARCHAR2,
6247                         p_live_for_processing_flag VARCHAR2,
6248                         p_live_for_applic_flag     VARCHAR2
6249            )
6250   AS
6251     l_geography_id   NUMBER;
6252 
6253   BEGIN
6254     SELECT  geography_id
6255     INTO    l_geography_id
6256     FROM    hz_geographies
6257     WHERE   geography_type = 'COUNTRY'
6258     AND     country_code = p_country_code;
6259 
6260     INSERT ALL
6261       WHEN (NOT EXISTS (SELECT 1
6262       FROM   zx_taxes_b
6263       WHERE  tax_regime_code = p_tax_regime_code
6264       AND    tax = p_seg_att_type
6265       AND    content_owner_id = -99
6266            )
6267      ) THEN
6268       INTO ZX_TAXES_B_TMP
6269       (
6270        TAX                                    ,
6271        EFFECTIVE_FROM                         ,
6272        EFFECTIVE_TO                           ,
6273        TAX_REGIME_CODE                        ,
6274        TAX_TYPE_CODE                          ,
6275        ALLOW_MANUAL_ENTRY_FLAG                ,
6276        ALLOW_TAX_OVERRIDE_FLAG                ,
6277        MIN_TXBL_BSIS_THRSHLD                  ,
6278        MAX_TXBL_BSIS_THRSHLD                  ,
6279        MIN_TAX_RATE_THRSHLD                   ,
6280        MAX_TAX_RATE_THRSHLD                   ,
6281        MIN_TAX_AMT_THRSHLD                    ,
6282        MAX_TAX_AMT_THRSHLD                    ,
6283        COMPOUNDING_PRECEDENCE                 ,
6284        PERIOD_SET_NAME                        ,
6285        EXCHANGE_RATE_TYPE                     ,
6286        TAX_CURRENCY_CODE                      ,
6287        TAX_PRECISION                          ,
6288        MINIMUM_ACCOUNTABLE_UNIT               ,
6289        ROUNDING_RULE_CODE                     ,
6290        TAX_STATUS_RULE_FLAG                   ,
6291        TAX_RATE_RULE_FLAG                     ,
6292        DEF_PLACE_OF_SUPPLY_TYPE_CODE          ,
6293        PLACE_OF_SUPPLY_RULE_FLAG              ,
6294        DIRECT_RATE_RULE_FLAG                  ,
6295        APPLICABILITY_RULE_FLAG                ,
6296        TAX_CALC_RULE_FLAG                     ,
6297        TXBL_BSIS_THRSHLD_FLAG                 ,
6298        TAX_RATE_THRSHLD_FLAG                  ,
6299        TAX_AMT_THRSHLD_FLAG                   ,
6300        TAXABLE_BASIS_RULE_FLAG                ,
6301        DEF_INCLUSIVE_TAX_FLAG                 ,
6302        THRSHLD_GROUPING_LVL_CODE              ,
6303        HAS_OTHER_JURISDICTIONS_FLAG           ,
6304        ALLOW_EXEMPTIONS_FLAG                  ,
6305        ALLOW_EXCEPTIONS_FLAG                  ,
6306        ALLOW_RECOVERABILITY_FLAG              ,
6307        DEF_TAX_CALC_FORMULA                   ,
6308        TAX_INCLUSIVE_OVERRIDE_FLAG            ,
6309        DEF_TAXABLE_BASIS_FORMULA              ,
6310        DEF_REGISTR_PARTY_TYPE_CODE            ,
6311        REGISTRATION_TYPE_RULE_FLAG            ,
6312        REPORTING_ONLY_FLAG                    ,
6313        AUTO_PRVN_FLAG                         ,
6314        LIVE_FOR_PROCESSING_FLAG               ,  --YK:3/16/2005
6315        LIVE_FOR_APPLICABILITY_FLAG            ,  --Bug 4225216
6316        HAS_DETAIL_TB_THRSHLD_FLAG             ,
6317        HAS_TAX_DET_DATE_RULE_FLAG             ,
6318        HAS_EXCH_RATE_DATE_RULE_FLAG           ,
6319        HAS_TAX_POINT_DATE_RULE_FLAG           ,
6320        PRINT_ON_INVOICE_FLAG                  ,
6321        USE_LEGAL_MSG_FLAG                     ,
6322        CALC_ONLY_FLAG                         ,
6323        PRIMARY_RECOVERY_TYPE_CODE             ,
6324        PRIMARY_REC_TYPE_RULE_FLAG             ,
6325        SECONDARY_RECOVERY_TYPE_CODE           ,
6326        SECONDARY_REC_TYPE_RULE_FLAG           ,
6327        PRIMARY_REC_RATE_DET_RULE_FLAG         ,
6328        SEC_REC_RATE_DET_RULE_FLAG             ,
6329        OFFSET_TAX_FLAG                        ,
6330        RECOVERY_RATE_OVERRIDE_FLAG            ,
6331        ZONE_GEOGRAPHY_TYPE                    ,
6332        REGN_NUM_SAME_AS_LE_FLAG               ,
6333        DEF_REC_SETTLEMENT_OPTION_CODE         ,
6334        RECORD_TYPE_CODE                       ,
6335        ALLOW_ROUNDING_OVERRIDE_FLAG           ,
6336      --BugFix 3493419
6337        SOURCE_TAX_FLAG                        ,
6338        SPECIAL_INCLUSIVE_TAX_FLAG             ,
6339        ATTRIBUTE1                             ,
6340        ATTRIBUTE2                             ,
6341        ATTRIBUTE3                             ,
6342        ATTRIBUTE4                             ,
6343        ATTRIBUTE5                             ,
6344        ATTRIBUTE6                             ,
6345        ATTRIBUTE7                             ,
6346        ATTRIBUTE8                             ,
6347        ATTRIBUTE9                             ,
6348        ATTRIBUTE10                            ,
6349        ATTRIBUTE11                            ,
6350        ATTRIBUTE12                            ,
6351        ATTRIBUTE13                            ,
6352        ATTRIBUTE14                            ,
6353        ATTRIBUTE15                            ,
6354        ATTRIBUTE_CATEGORY                     ,
6355        PARENT_GEOGRAPHY_TYPE                  ,
6356        PARENT_GEOGRAPHY_ID                    ,
6357        ALLOW_MASS_CREATE_FLAG                 ,
6358        APPLIED_AMT_HANDLING_FLAG              ,
6359        TAX_ID                                 ,
6360        CONTENT_OWNER_ID                       ,
6361        REP_TAX_AUTHORITY_ID                   ,
6362        COLL_TAX_AUTHORITY_ID                  ,
6363        THRSHLD_CHK_TMPLT_CODE                 ,
6364        DEF_PRIMARY_REC_RATE_CODE              ,
6365        DEF_SECONDARY_REC_RATE_CODE            ,
6366        CREATED_BY                           ,
6367        CREATION_DATE                          ,
6368        LAST_UPDATED_BY                        ,
6369        LAST_UPDATE_DATE                       ,
6370        LAST_UPDATE_LOGIN                      ,
6371        REQUEST_ID                             ,
6372        PROGRAM_APPLICATION_ID                 ,
6373        PROGRAM_ID                             ,
6374        PROGRAM_LOGIN_ID                       ,
6375        OVERRIDE_GEOGRAPHY_TYPE         ,
6376        OBJECT_VERSION_NUMBER                  ,
6377        TAX_ACCOUNT_CREATE_METHOD_CODE         ,
6378        TAX_ACCOUNT_SOURCE_TAX                 ,
6379        TAX_EXMPT_CR_METHOD_CODE         ,
6380        TAX_EXMPT_SOURCE_TAX             ,
6381        APPLICABLE_BY_DEFAULT_FLAG        --Bug 4905771
6382       )
6383       VALUES
6384       (
6385        p_seg_att_type                         , -- TAX
6386        p_min_start_date                       , -- EFFECTIVE_FROM
6387        NULL                                   , -- EFFECTIVE_TO
6388        p_tax_regime_code                      , -- TAX_REGIME_CODE
6389        p_tax_type                             , -- TAX_TYPE_CODE
6390       --5713986, Update allow_manual_entry_flag,allow_tax_override_flag as 'Y' instead of 'N
6391        'Y'                                    , -- ALLOW_MANUAL_ENTRY_FLAG
6392        'Y'                                    , -- ALLOW_TAX_OVERRIDE_FLAG
6393        NULL                                   , -- MIN_TXBL_BSIS_THRSHLD
6394        NULL                                   , -- MAX_TXBL_BSIS_THRSHLD
6395        NULL                                   , -- MIN_TAX_RATE_THRSHLD
6396        NULL                                   , -- MAX_TAX_RATE_THRSHLD
6397        NULL                                   , -- MIN_TAX_AMT_THRSHLD
6398        NULL                                   , -- MAX_TAX_AMT_THRSHLD
6399        p_compounding_precedence               , -- COMPOUNDING_PRECEDENCE
6400        NULL                                   , -- COMPOUNDING_PRECEDENCE
6401        -- Bug 4539221
6402        -- Deriving exchange_rate_type
6403        -- If default_exchange_rate_type is NULL use most frequently
6404        -- used conversion_type from gl_daily_rates.
6405     /*   CASE WHEN p_cross_curr_rate_type IS NULL
6406        THEN
6407             'Corporate'
6408         ELSE
6409         -- Bug 6006519/5654551, 'User' is not a valid exchange rate type
6410               DECODE(p_cross_curr_rate_type,
6411               'User', 'Corporate',
6412               p_cross_curr_rate_type)
6413        END                                    , -- EXCHANGE_RATE_TYPE */
6414        NULL              , --EXCHANGE_RATE_TYPE
6415        p_tax_currency_code                    , -- TAX_CURRENCY_CODE
6416        p_tax_precision                        , -- TAX_PRECISION
6417        p_tax_mau                              , -- MINIMUM_ACCOUNTABLE_UNIT
6418        p_rounding_rule_code                   , -- ROUNDING_RULE_CODE
6419        'N'                                    , -- TAX_STATUS_RULE_FLAG
6420        'N'                                    , -- TAX_RATE_RULE_FLAG
6421        'SHIP_TO_BILL_TO'                      , -- DEF_PLACE_OF_SUPPLY_TYPE_CODE
6422        'N'                                    , -- PLACE_OF_SUPPLY_RULE_FLAG
6423        -- Bug 4575226 : direct_rate_rule_flag is N for US Sales Tax
6424        'N'                                    , -- DIRECT_RATE_RULE_FLAG
6425        'N'                                    , -- APPLICABILITY_RULE_FLAG : Bug 4905771, changed to N for bug 5385949
6426        'N'                                    , -- TAX_CALC_RULE_FLAG
6427        'N'                                    , -- TXBL_BSIS_THRSHLD_FLAG
6428        'N'                                    , -- TAX_RATE_THRSHLD_FLAG
6429        'N'                                    , -- TAX_AMT_THRSHLD_FLAG
6430        'N'                                    , -- TAXABLE_BASIS_RULE_FLAG
6431        'N'                                    , -- DEF_INCLUSIVE_TAX_FLAG
6432        NULL                                   , -- THRSHLD_GROUPING_LVL_CODE
6433        CASE WHEN p_seg_att_type IN ('STATE', 'COUNTY', 'CITY')
6434           THEN 'Y'
6435           ELSE 'N'
6436        END                                    , -- HAS_OTHER_JURISDICTIONS_FLAG : Bug 4610550
6437        -- Bug 4432896 : Set allow_exemptions_flag to 'Y'
6438        'Y'                                    , -- ALLOW_EXEMPTIONS_FLAG
6439        'Y'                                    , -- ALLOW_EXCEPTIONS_FLAG
6440        'N'                                    , -- ALLOW_RECOVERABILITY_FLAG
6441        'STANDARD_TC'                          , -- DEF_TAX_CALC_FORMULA
6442        'N'                                    , -- TAX_INCLUSIVE_OVERRIDE_FLAG
6443        'STANDARD_TB'                          , -- DEF_TAXABLE_BASIS_FORMULA
6444        'SHIP_TO_SITE'                         , -- DEF_REGISTR_PARTY_TYPE_CODE
6445        'N'                                    , -- REGISTRATION_TYPE_RULE_FLAG
6446        'N'                                    , -- REPORTING_ONLY_FLAG
6450        'N'                                    , -- HAS_DETAIL_TB_THRSHLD_FLAG
6447        'N'                                    , -- AUTO_PRVN_FLAG
6448        p_live_for_processing_flag             , -- LIVE_FOR_PROCESSING_FLAG    --YK:3/16/2005
6449        p_live_for_applic_flag                 , -- LIVE_FOR_APPLICABILITY_FLAG --Bug 4225216
6451        'N'                                    , -- HAS_TAX_DET_DATE_RULE_FLAG
6452        'N'                                    , -- HAS_EXCH_RATE_DATE_RULE_FLAG
6453        'N'                                    , -- HAS_TAX_POINT_DATE_RULE_FLAG
6454        'Y'                                    , -- PRINT_ON_INVOICE_FLAG
6455        'N'                                    , -- USE_LEGAL_MSG_FLAG
6456        'N'                                    , -- CALC_ONLY_FLAG
6457        NULL                                   , -- PRIMARY_RECOVERY_TYPE_CODE
6458        'N'                                    , -- PRIMARY_REC_TYPE_RULE_FLAG
6459        NULL                                   , -- SECONDARY_RECOVERY_TYPE_CODE
6460        'N'                                    , -- SECONDARY_REC_TYPE_RULE_FLAG
6461        'N'                                    , -- PRIMARY_REC_RATE_DET_RULE_FLAG
6462        'N'                                    , -- SEC_REC_RATE_DET_RULE_FLAG
6463        'N'                                    , -- OFFSET_TAX_FLAG
6464        'N'                                    , -- RECOVERY_RATE_OVERRIDE_FLAG
6465        substrb(p_country_code || '_'||p_seg_att_type|| '_ZONE_TYPE_' || SUBSTRB(TO_CHAR(p_loc_str_id), 1, 6),1,30)
6466                                               , -- ZONE_GEOGRAPHY_TYPE
6467        'N'                                    , -- REGN_NUM_SAME_AS_LE_FLAG
6468        NULL                                   , -- DEF_REC_SETTLEMENT_OPTION_CODE
6469        'MIGRATED'                             , -- RECORD_TYPE_CODE
6470        p_allow_rounding_override              , -- ALLOW_ROUNDING_OVERRIDE_FLAG
6471        'Y'                                    , -- SOURCE_TAX_FLAG
6472        'N'                                    , -- SPECIAL_INCLUSIVE_TAX_FLAG
6473        NULL                                   , -- ATTRIBUTE1
6474        NULL                                   , -- ATTRIBUTE2
6475        NULL                                   , -- ATTRIBUTE3
6476        NULL                                   , -- ATTRIBUTE4
6477        NULL                                   , -- ATTRIBUTE5
6478        NULL                                   , -- ATTRIBUTE6
6479        NULL                                   , -- ATTRIBUTE7
6480        NULL                                   , -- ATTRIBUTE8
6481        NULL                                   , -- ATTRIBUTE9
6482        NULL                                   , -- ATTRIBUTE10
6483        NULL                                   , -- ATTRIBUTE11
6484        NULL                                   , -- ATTRIBUTE12
6485        NULL                                   , -- ATTRIBUTE13
6486        NULL                                   , -- ATTRIBUTE14
6487        NULL                                   , -- ATTRIBUTE15
6488        NULL                                   , -- ATTRIBUTE_CATEGORY
6489        NULL                                   , -- PARENT_GEOGRAPHY_TYPE
6490        NULL                                   , -- PARENT_GEOGRAPHY_ID
6491        'Y'                                    , -- ALLOW_MASS_CREATE_FLAG /*Bug fix 552412*/
6492        'P'                                    , -- APPLIED_AMT_HANDLING_FLAG
6493        zx_taxes_b_s.nextval                   , -- TAX_ID
6494        -99                                    , -- CONTENT_OWNER_ID
6495        NULL                                   , -- REP_TAX_AUTHORITY_ID
6496        NULL                                   , -- COLL_TAX_AUTHORITY_ID
6497        NULL                                   , -- THRSHLD_CHK_TMPLT_CODE
6498        NULL                                   , -- DEF_PRIMARY_REC_RATE_CODE
6499        NULL                                   , -- DEF_SECONDARY_REC_RATE_CODE
6500        fnd_global.user_id                     , -- CREATED_BY
6501        SYSDATE                                , -- CREATION_DATE
6502        fnd_global.user_id                     , -- LAST_UPDATED_BY
6503        SYSDATE                                , -- LAST_UPDATE_DATE
6504        fnd_global.conc_login_id               , -- LAST_UPDATE_LOGIN
6505        fnd_global.conc_request_id             , -- REQUEST_ID
6506        fnd_global.prog_appl_id                , -- PROGRAM_APPLICATION_ID
6507        fnd_global.conc_program_id             , -- PROGRAM_ID
6508        fnd_global.conc_login_id               , -- PROGRAM_LOGIN_ID
6509        CASE WHEN p_country_code = 'US' AND p_seg_att_type IN ('STATE', 'COUNTY')
6510          THEN
6511            substrb('US' || '_'|| 'OVERRIDE_ZONE_TYPE_' ||
6512                    substrb(to_char(p_loc_str_id), 1, 6),1,30)
6513          ELSE
6514            NULL
6515        END                                    , -- OVERRIDE_GEOGRAPHY_TYPE  : Bug 4586307
6516     1                                   , -- OBJECT_VERSION_NUMBER
6517        p_tax_acct_cr_method                   , --TAX_ACCOUNT_CREATE_METHOD_CODE
6518        p_tax_acct_source_tax                  , --TAX_ACCOUNT_SOURCE_TAX
6519        p_tax_exmpt_cr_mthd                    , --TAX_EXMPT_CR_METHOD_CODE
6520        p_tax_exmpt_src_tax                    ,
6521        'N'                                      --APPLICABLE_BY_DEFAULT_FLAG : Bug4905771
6522       )
6523 /*
6524 
6525       WHEN (NOT EXISTS (SELECT 1
6526       FROM   zx_taxes_b
6527       WHERE  tax_regime_code = p_tax_regime_code
6528       AND    tax = p_seg_att_type
6529       AND    content_owner_id = -99
6530            )
6531      ) THEN
6532       INTO ZX_TAXES_TL
6533       (
6534   LANGUAGE                    ,
6535   SOURCE_LANG                 ,
6536   TAX_FULL_NAME               ,
6537   CREATION_DATE               ,
6538   CREATED_BY                  ,
6539   LAST_UPDATE_DATE            ,
6540   LAST_UPDATED_BY             ,
6541   LAST_UPDATE_LOGIN           ,
6542   TAX_ID
6543       )
6544       VALUES
6545       (
6546   userenv('LANG'),
6547   userenv('LANG'),
6548   p_seg_att_type,
6549   SYSDATE,
6550   fnd_global.user_id,
6551   SYSDATE,
6552   fnd_global.user_id,
6553   fnd_global.conc_login_id,
6554   ZX_TAXES_B_S.NEXTVAL
6555       )*/
6556       SELECT 1 FROM DUAL;
6557 
6558   EXCEPTION
6559     WHEN OTHERS THEN
6560       NULL;
6561   END insert_tax_for_loc;
6562 /*===========================================================================+
6563  | PROCEDURE
6564  |    create_zx_status
6565  |
6566  | IN
6567  |    p_tax_id : ar_vat_tax_all_b.vat_tax_id is passed when it is called from
6568  |               AR Tax Codes form for synchronization.
6569  |
6570  | OUT
6571  |
6572  | DESCRIPTION
6573  |     This routine creates records in zx_status_b/tl grouping by zx_rates_b
6574  |
6575  |
6576  | SCOPE - PRIVATE
6577  |
6578  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
6579  |
6580  | CALLED FROM
6581  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
6582  |
6583  | NOTES
6584  | 09/24/2004:  Refine TW GDF handling.
6585  |
6586  | MODIFICATION HISTORY
6587  | 08/31/2004   Yoshimichi Konishi   Created.
6588  | 09/24/2004   Yoshimichi Konishi   Implemented LTE handling.
6589  +==========================================================================*/
6590 PROCEDURE create_zx_status (p_tax_id  NUMBER) AS
6591 BEGIN
6592 
6593   -- Status creation excluding LTE related status code
6594   IF L_MULTI_ORG_FLAG = 'Y'
6595   THEN
6596   INSERT INTO ZX_STATUS_B_TMP
6597   (
6598       TAX_STATUS_ID,
6599       TAX_STATUS_CODE,
6600       CONTENT_OWNER_ID,
6601       EFFECTIVE_FROM,
6602       EFFECTIVE_TO,
6603       TAX,
6604       TAX_REGIME_CODE,
6605       RULE_BASED_RATE_FLAG,
6606       ALLOW_RATE_OVERRIDE_FLAG,
6607       ALLOW_EXEMPTIONS_FLAG,
6608       ALLOW_EXCEPTIONS_FLAG,
6609       --TAX_REPORTING_CODE,
6610       --TAX_NUMERIC_CODE,
6611       DEFAULT_STATUS_FLAG,
6612       DEFAULT_FLG_EFFECTIVE_FROM,
6613       DEFAULT_FLG_EFFECTIVE_TO,
6614       DEF_REC_SETTLEMENT_OPTION_CODE,
6615       RECORD_TYPE_CODE,
6616       ATTRIBUTE1,
6617       ATTRIBUTE2,
6618       ATTRIBUTE3,
6619       ATTRIBUTE4,
6620       ATTRIBUTE5,
6621       ATTRIBUTE6,
6622       ATTRIBUTE7,
6623       ATTRIBUTE8,
6624       ATTRIBUTE9,
6625       ATTRIBUTE10,
6626       ATTRIBUTE11,
6627       ATTRIBUTE12,
6628       ATTRIBUTE13,
6629       ATTRIBUTE14,
6630       ATTRIBUTE15,
6631       ATTRIBUTE_CATEGORY,
6632       CREATION_DATE,
6633       CREATED_BY,
6634       LAST_UPDATE_DATE,
6635       LAST_UPDATED_BY,
6636       LAST_UPDATE_LOGIN,
6637       REQUEST_ID,
6638       OBJECT_VERSION_NUMBER
6639   )
6640   SELECT
6641       ZX_STATUS_B_S.NEXTVAL,  --TAX_STATUS_ID
6642       TAX_STATUS_CODE,        --TAX_STATUS_CODE
6643       CONTENT_OWNER_ID,       --CONTENT_OWNER_ID
6644       EFFECTIVE_FROM,         --EFFECTIVE_FROM
6645       NULL,                   --EFFECTIVE_TO
6646       TAX,                    --TAX
6647       TAX_REGIME_CODE,        --TAX_REGIME_CODE
6648       'N',                    --RULE_BASED_RATE_FLAG
6649       'Y',                    --ALLOW_RATE_OVERRIDE_FLAG
6650       ALLOW_EXEMPTIONS_FLAG,  --ALLOW_EXEMPTIONS_FLAG
6651       ALLOW_EXCEPTIONS_FLAG,  --ALLOW_EXCEPTIONS_FLAG
6652       --NULL,                 --TAX_REPORTING_CODE  --YK:8/31/2004: Remove it
6653       --NULL,                 --TAX_NUMERIC_CODE    --YK:8/31/2004: Remove it
6654       'Y',                    --DEFAULT_STATUS_FLAG  /**** one of them should be Y ****/
6655       EFFECTIVE_FROM,         --DEFAULT_FLG_EFFECTIVE_FROM
6656       NULL,                   --DEFAULT_FLG_EFFECTIVE_TO
6657       NULL,                   --DEF_REC_SETTLEMENT_OPTION_CODE  /**** Populated at rates level ****/
6658       'MIGRATED',
6659       NULL,
6660       NULL,
6661       NULL,
6662       NULL,
6663       NULL,
6664       NULL,
6665       NULL,
6666       NULL,
6667       NULL,
6668       NULL,
6669       NULL,
6670       NULL,
6671       NULL,
6672       NULL,
6673       NULL,
6674       NULL,
6675       SYSDATE,
6676       fnd_global.user_id,
6677       SYSDATE,
6678       fnd_global.user_id,
6679       fnd_global.conc_login_id,
6680       fnd_global.conc_request_id ,-- Request Id
6681       1
6682   FROM
6683     (SELECT RATES.TAX_REGIME_CODE                   tax_regime_code,
6684       RATES.CONTENT_OWNER_ID                  content_owner_id,
6685       RATES.TAX                               tax,
6686       RATES.TAX_STATUS_CODE                   tax_status_code,
6687             min(RATES.EFFECTIVE_FROM)               EFFECTIVE_FROM,
6688             nvl(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')  ALLOW_EXEMPTIONS_FLAG,
6689         CASE WHEN (NVL(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N' AND
6690                  NVL(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
6691            THEN 'N'
6692               ELSE 'Y'
6693              END                                    ALLOW_EXCEPTIONS_FLAG
6694      FROM   ZX_RATES_B               rates,
6695             AR_VAT_TAX_ALL_B         codes,
6696             AR_SYSTEM_PARAMETERS_ALL ar_sys_op
6697      WHERE
6698       rates.record_type_code = 'MIGRATED'
6699        AND  codes.vat_tax_id = rates.tax_rate_id
6700        AND  codes.org_id = ar_sys_op.org_id
6701        -- Eliminating LTE related status codes
6702        AND  codes.tax_type NOT IN ('TAX_GROUP', 'LOCATION')
6703        AND  not exists (select 1 from zx_status_b
6704        where  tax_regime_code  = rates.tax_regime_code
6705        and    tax              = rates.tax
6706        and    tax_status_code  = rates.tax_status_code
6707         and    content_owner_id = rates.content_owner_id
6708            )
6709       GROUP BY RATES.TAX_REGIME_CODE,
6710          RATES.CONTENT_OWNER_ID,
6711          RATES.TAX,
6712          RATES.TAX_STATUS_CODE,
6713          NVL(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N'),
6714                 CASE WHEN (NVL(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N' AND
6715                  NVL(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
6716               THEN 'N'
6717                    ELSE 'Y'
6718                 END
6719    ) STATUS;
6720  ELSE
6721 
6722    INSERT INTO ZX_STATUS_B_TMP
6723   (
6724       TAX_STATUS_ID,
6725       TAX_STATUS_CODE,
6726       CONTENT_OWNER_ID,
6727       EFFECTIVE_FROM,
6728       EFFECTIVE_TO,
6729       TAX,
6730       TAX_REGIME_CODE,
6731       RULE_BASED_RATE_FLAG,
6732       ALLOW_RATE_OVERRIDE_FLAG,
6733       ALLOW_EXEMPTIONS_FLAG,
6734       ALLOW_EXCEPTIONS_FLAG,
6735       --TAX_REPORTING_CODE,
6736       --TAX_NUMERIC_CODE,
6737       DEFAULT_STATUS_FLAG,
6738       DEFAULT_FLG_EFFECTIVE_FROM,
6739       DEFAULT_FLG_EFFECTIVE_TO,
6740       DEF_REC_SETTLEMENT_OPTION_CODE,
6741       RECORD_TYPE_CODE,
6742       ATTRIBUTE1,
6743       ATTRIBUTE2,
6744       ATTRIBUTE3,
6745       ATTRIBUTE4,
6746       ATTRIBUTE5,
6747       ATTRIBUTE6,
6748       ATTRIBUTE7,
6749       ATTRIBUTE8,
6750       ATTRIBUTE9,
6751       ATTRIBUTE10,
6752       ATTRIBUTE11,
6753       ATTRIBUTE12,
6754       ATTRIBUTE13,
6755       ATTRIBUTE14,
6756       ATTRIBUTE15,
6757       ATTRIBUTE_CATEGORY,
6758       CREATION_DATE,
6759       CREATED_BY,
6760       LAST_UPDATE_DATE,
6761       LAST_UPDATED_BY,
6762       LAST_UPDATE_LOGIN,
6763       REQUEST_ID,
6764       OBJECT_VERSION_NUMBER
6765   )
6766   SELECT
6767       ZX_STATUS_B_S.NEXTVAL,  --TAX_STATUS_ID
6768       TAX_STATUS_CODE,        --TAX_STATUS_CODE
6769       CONTENT_OWNER_ID,       --CONTENT_OWNER_ID
6770       EFFECTIVE_FROM,         --EFFECTIVE_FROM
6771       NULL,                   --EFFECTIVE_TO
6772       TAX,                    --TAX
6773       TAX_REGIME_CODE,        --TAX_REGIME_CODE
6774       'N',                    --RULE_BASED_RATE_FLAG
6775       'Y',                    --ALLOW_RATE_OVERRIDE_FLAG
6776       ALLOW_EXEMPTIONS_FLAG,  --ALLOW_EXEMPTIONS_FLAG
6777       ALLOW_EXCEPTIONS_FLAG,  --ALLOW_EXCEPTIONS_FLAG
6778       --NULL,                 --TAX_REPORTING_CODE  --YK:8/31/2004: Remove it
6779       --NULL,                 --TAX_NUMERIC_CODE    --YK:8/31/2004: Remove it
6780       'Y',                    --DEFAULT_STATUS_FLAG  /**** one of them should be Y ****/
6781       EFFECTIVE_FROM,         --DEFAULT_FLG_EFFECTIVE_FROM
6782       NULL,                   --DEFAULT_FLG_EFFECTIVE_TO
6783       NULL,                   --DEF_REC_SETTLEMENT_OPTION_CODE  /**** Populated at rates level ****/
6784       'MIGRATED',
6785       NULL,
6786       NULL,
6787       NULL,
6788       NULL,
6789       NULL,
6790       NULL,
6791       NULL,
6792       NULL,
6793       NULL,
6794       NULL,
6795       NULL,
6796       NULL,
6797       NULL,
6798       NULL,
6799       NULL,
6800       NULL,
6801       SYSDATE,
6802       fnd_global.user_id,
6803       SYSDATE,
6804       fnd_global.user_id,
6805       fnd_global.conc_login_id,
6806       fnd_global.conc_request_id ,-- Request Id
6807       1
6808   FROM
6812       RATES.TAX_STATUS_CODE                   tax_status_code,
6809     (SELECT RATES.TAX_REGIME_CODE                   tax_regime_code,
6810       RATES.CONTENT_OWNER_ID                  content_owner_id,
6811       RATES.TAX                               tax,
6813             min(RATES.EFFECTIVE_FROM)               EFFECTIVE_FROM,
6814             nvl(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')  ALLOW_EXEMPTIONS_FLAG,
6815         CASE WHEN (NVL(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N' AND
6816                  NVL(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
6817            THEN 'N'
6818               ELSE 'Y'
6819              END                                    ALLOW_EXCEPTIONS_FLAG
6820      FROM   ZX_RATES_B               rates,
6821             AR_VAT_TAX_ALL_B         codes,
6822             AR_SYSTEM_PARAMETERS_ALL ar_sys_op
6823      WHERE
6824       rates.record_type_code = 'MIGRATED'
6825        AND  codes.vat_tax_id = rates.tax_rate_id
6826        AND  codes.org_id = l_org_id
6827        AND  codes.org_id = ar_sys_op.org_id
6828               -- Eliminating LTE related status codes
6829        AND  codes.tax_type NOT IN ('TAX_GROUP', 'LOCATION')
6830        AND  not exists (select 1 from zx_status_b
6831        where  tax_regime_code  = rates.tax_regime_code
6832        and    tax              = rates.tax
6833        and    tax_status_code  = rates.tax_status_code
6834         and    content_owner_id = rates.content_owner_id
6835            )
6836       GROUP BY RATES.TAX_REGIME_CODE,
6837          RATES.CONTENT_OWNER_ID,
6838          RATES.TAX,
6839          RATES.TAX_STATUS_CODE,
6840          NVL(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N'),
6841                 CASE WHEN (NVL(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N' AND
6842                  NVL(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
6843               THEN 'N'
6844                    ELSE 'Y'
6845                 END
6846    ) STATUS;
6847 
6848 
6849 
6850  END IF;
6851 
6852 
6853 --arp_util_tax.debug('1:');
6854 
6855   /*
6856   -- LTE handling
6857   INSERT INTO ZX_STATUS_B_TMP
6858   (
6859       TAX_STATUS_ID,
6860       TAX_STATUS_CODE,
6861       CONTENT_OWNER_ID,
6862       EFFECTIVE_FROM,
6863       EFFECTIVE_TO,
6864       TAX,
6865       TAX_REGIME_CODE,
6866       RULE_BASED_RATE_FLAG,
6867       ALLOW_RATE_OVERRIDE_FLAG,
6868       ALLOW_EXEMPTIONS_FLAG,
6869       ALLOW_EXCEPTIONS_FLAG,
6870       --TAX_REPORTING_CODE,
6871       --TAX_NUMERIC_CODE,
6872       DEFAULT_STATUS_FLAG,
6873       DEFAULT_FLG_EFFECTIVE_FROM,
6874       DEFAULT_FLG_EFFECTIVE_TO,
6875       DEF_REC_SETTLEMENT_OPTION_CODE,
6876       RECORD_TYPE_CODE,
6877       ATTRIBUTE1,
6878       ATTRIBUTE2,
6879       ATTRIBUTE3,
6880       ATTRIBUTE4,
6881       ATTRIBUTE5,
6882       ATTRIBUTE6,
6883       ATTRIBUTE7,
6884       ATTRIBUTE8,
6885       ATTRIBUTE9,
6886       ATTRIBUTE10,
6887       ATTRIBUTE11,
6888       ATTRIBUTE12,
6889       ATTRIBUTE13,
6890       ATTRIBUTE14,
6891       ATTRIBUTE15,
6892       ATTRIBUTE_CATEGORY,
6893       CREATION_DATE,
6894       CREATED_BY,
6895       LAST_UPDATE_DATE,
6896       LAST_UPDATED_BY,
6897       LAST_UPDATE_LOGIN,
6898       REQUEST_ID,
6899       OBJECT_VERSION_NUMBER
6900   )
6901   SELECT
6902       ZX_STATUS_B_S.NEXTVAL,  --TAX_STATUS_ID
6903       TAX_STATUS_CODE,        --TAX_STATUS_CODE
6904       CONTENT_OWNER_ID,       --CONTENT_OWNER_ID
6905       EFFECTIVE_FROM,         --EFFECTIVE_FROM
6906       NULL,                   --EFFECTIVE_TO
6907       TAX,                    --TAX
6908       TAX_REGIME_CODE,        --TAX_REGIME_CODE
6909       'N',                    --RULE_BASED_RATE_FLAG
6910       'N',                    --ALLOW_RATE_OVERRIDE_FLAG
6911       'Y',                    --ALLOW_EXEMPTIONS_FLAG
6912       'Y',                    --ALLOW_EXCEPTIONS_FLAG
6913       --NULL,                 --TAX_REPORTING_CODE  --YK:8/31/2004: Remove it
6914       --NULL,                 --TAX_NUMERIC_CODE    --YK:8/31/2004: Remove it
6915       'Y',                    --DEFAULT_STATUS_FLAG  --one of them should be Y
6916       EFFECTIVE_FROM,         --DEFAULT_FLG_EFFECTIVE_FROM
6917       NULL,                   --DEFAULT_FLG_EFFECTIVE_TO
6918       NULL,                   --DEF_REC_SETTLEMENT_OPTION_CODE  -- Populated at rates level
6919       'MIGRATED',
6920       NULL,
6921       NULL,
6922       NULL,
6923       NULL,
6924       NULL,
6925       NULL,
6926       NULL,
6927       NULL,
6928       NULL,
6929       NULL,
6930       NULL,
6931       NULL,
6932       NULL,
6933       NULL,
6934       NULL,
6935       NULL,
6936       SYSDATE,
6937       fnd_global.user_id,
6938       SYSDATE,
6939       fnd_global.user_id,
6940       fnd_global.conc_login_id,
6941       fnd_global.conc_request_id ,-- Request Id
6942       1
6943   FROM
6944     (SELECT RATES.TAX_REGIME_CODE                   tax_regime_code,
6945       RATES.CONTENT_OWNER_ID                  content_owner_id,
6946       RATES.TAX                               tax,
6947       RATES.TAX_STATUS_CODE                   tax_status_code,
6948             min(categs.start_date_active)           EFFECTIVE_FROM,  --Effecive is derived from jl_zz_ar_tx_categ
6949             AR_SYS_OP.TAX_USE_PRODUCT_EXEMPT_FLAG   tax_use_product_exempt_flag,
6950             AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG  tax_use_customer_exempt_flag,
6951             AR_SYS_OP.TAX_USE_LOC_EXC_RATE_FLAG     tax_use_loc_exc_rate_flag
6952      FROM   ZX_RATES_B               rates,
6953             AR_VAT_TAX_ALL_B         codes,
6957       rates.record_type_code = 'MIGRATED'
6954             AR_SYSTEM_PARAMETERS_ALL ar_sys_op,
6955             jl_zz_ar_tx_categ_all    categs
6956      WHERE
6958        AND  codes.vat_tax_id = rates.tax_rate_id
6959        AND decode(l_multi_org_flag,'N',l_org_id,codes.org_id) = decode(l_multi_org_flag,'N',l_org_id,ar_sys_op.org_id)
6960 
6961        -- LTE handling
6962       AND  ar_sys_op.tax_database_view_set = 'BR'  --BugFix 4400733
6963       AND   codes.global_attribute_category IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
6964                      'JL.BR.ARXSUVAT.Tax Information',
6965                   'JL.CO.ARXSUVAT.AR_VAT_TAX')
6966      --AND  (ar_sys_op.tax_database_view_set <> 'O' AND codes.tax_type <> 'LOCATION') --BugFix 4400733
6967       AND codes.tax_type <> 'TAX_GROUP'
6968 
6969        AND codes.global_attribute1 = to_char(categs.tax_category_id)
6970 
6971        --Added following conditions for Sync process
6972        AND  codes.vat_tax_id  = nvl(p_tax_id, codes.vat_tax_id)
6973 
6974        --Rerunability
6975        AND  not exists (select 1 from zx_status_b
6976        where  tax_regime_code = rates.tax_regime_code
6977        and    tax             = rates.tax
6978        and    tax_status_code = rates.tax_status_code
6979        and    content_owner_id = rates.content_owner_id
6980            )
6981       GROUP BY RATES.TAX_REGIME_CODE,
6982          RATES.CONTENT_OWNER_ID,
6983          RATES.TAX,
6984          RATES.TAX_STATUS_CODE,
6985                AR_SYS_OP.TAX_USE_PRODUCT_EXEMPT_FLAG,
6986                AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,
6987                AR_SYS_OP.TAX_USE_LOC_EXC_RATE_FLAG
6988    );
6989    */
6990 
6991 --arp_util_tax.debug('2:');
6992 
6993   -- Unused JATW_GOVERNMENT_TAX_TYPE global flexfield atttribute handling
6994   IF L_JATW_USED = 'Y' THEN
6995    IF L_MULTI_ORG_FLAG = 'Y' THEN
6996 
6997     INSERT INTO ZX_STATUS_B_TMP
6998     (
6999   TAX_STATUS_ID,
7000   TAX_STATUS_CODE,
7001   CONTENT_OWNER_ID,
7002   EFFECTIVE_FROM,
7003   EFFECTIVE_TO,
7004   TAX,
7005   TAX_REGIME_CODE,
7006   RULE_BASED_RATE_FLAG,
7007   ALLOW_RATE_OVERRIDE_FLAG,
7008   ALLOW_EXEMPTIONS_FLAG,
7009   ALLOW_EXCEPTIONS_FLAG,
7010   --TAX_REPORTING_CODE,
7011   --TAX_NUMERIC_CODE,
7012   DEFAULT_STATUS_FLAG,
7013   DEFAULT_FLG_EFFECTIVE_FROM,
7014   DEFAULT_FLG_EFFECTIVE_TO,
7015   DEF_REC_SETTLEMENT_OPTION_CODE,
7016   RECORD_TYPE_CODE,
7017   ATTRIBUTE1,
7018   ATTRIBUTE2,
7019   ATTRIBUTE3,
7020   ATTRIBUTE4,
7021   ATTRIBUTE5,
7022   ATTRIBUTE6,
7023   ATTRIBUTE7,
7024   ATTRIBUTE8,
7025   ATTRIBUTE9,
7026   ATTRIBUTE10,
7027   ATTRIBUTE11,
7028   ATTRIBUTE12,
7029   ATTRIBUTE13,
7030   ATTRIBUTE14,
7031   ATTRIBUTE15,
7032   ATTRIBUTE_CATEGORY,
7033   CREATION_DATE,
7034   CREATED_BY,
7035   LAST_UPDATE_DATE,
7036   LAST_UPDATED_BY,
7037   LAST_UPDATE_LOGIN,
7038   REQUEST_ID,
7039         OBJECT_VERSION_NUMBER
7040     )
7041     SELECT
7042         ZX_STATUS_B_S.NEXTVAL,  --TAX_STATUS_ID
7043         lookups.lookup_code,    --TAX_STATUS_CODE
7044         CONTENT_OWNER_ID,       --CONTENT_OWNER_ID
7045         EFFECTIVE_FROM,         --EFFECTIVE_FROM
7046         NULL,                   --EFFECTIVE_TO
7047         TAX,                    --TAX
7048         TAX_REGIME_CODE,        --TAX_REGIME_CODE
7049         'N',                    --RULE_BASED_RATE_FLAG
7050         'Y',                    --ALLOW_RATE_OVERRIDE_FLAG
7051       --'N',                    --ALLOW_ADHOC_TAX_RATE_FLAG
7052         ALLOW_EXEMPTIONS_FLAG,  --ALLOW_EXEMPTIONS_FLAG
7053         ALLOW_EXCEPTIONS_FLAG,  --ALLOW_EXCEPTIONS_FLAG  /* Need review */
7054         --NULL,                 --TAX_REPORTING_CODE
7055         --NULL,                 --TAX_NUMERIC_CODE
7056         'Y',                    --DEFAULT_STATUS_FLAG
7057         EFFECTIVE_FROM,         --DEFAULT_FLG_EFFECTIVE_FROM,
7058         NULL,                   --DEFAULT_FLG_EFFECTIVE_TO
7059         NULL,                   --DEF_REC_SETTLEMENT_OPTION /* Populated at rates level */
7060         'MIGRATED',
7061         NULL,
7062         NULL,
7063         NULL,
7064         NULL,
7065         NULL,
7066         NULL,
7067         NULL,
7068         NULL,
7069         NULL,
7070         NULL,
7071         NULL,
7072         NULL,
7073         NULL,
7074         NULL,
7075         NULL,
7076         NULL,
7077         SYSDATE,
7078         fnd_global.user_id,
7079         SYSDATE,
7080         fnd_global.user_id,
7081         fnd_global.conc_login_id,
7082         fnd_global.conc_request_id ,-- Request Id
7083         1
7084     FROM
7085        (SELECT rates.tax_regime_code   TAX_REGIME_CODE,
7086          rates.content_owner_id  CONTENT_OWNER_ID,
7087          rates.tax               TAX,
7088          rates.tax_status_code   TAX_STATUS_CODE,
7089          min(rates.EFFECTIVE_FROM)  EFFECTIVE_FROM,
7090                nvl(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')   ALLOW_EXEMPTIONS_FLAG,
7091            CASE WHEN (NVL(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N'
7092                     AND NVL(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N')  = 'N')
7093               THEN 'N'
7094                  ELSE 'Y'
7095                 END                                    ALLOW_EXCEPTIONS_FLAG
7096   FROM   ZX_RATES_B rates,
7097          AR_VAT_TAX_ALL_B codes,
7098          AR_SYSTEM_PARAMETERS_ALL  ar_sys_op
7099   WHERE  codes.vat_tax_id = nvl(rates.source_id, rates.tax_rate_id)  --YK:8/30/2004: ID Clash handling
7100   AND    codes.global_attribute_category = 'JATW.ARXSUVAT.VAT_TAX'   --RP:9/7/2004: Category is different for P2P
7101   AND    rates.record_type_code = 'MIGRATED'
7102   AND    codes.vat_tax_id = nvl(rates.source_id, rates.tax_rate_id)
7103         AND    codes.org_id = ar_sys_op.org_id
7104 
7105   --Added following conditions for Sync process
7106   AND    codes.vat_tax_id  = nvl(p_tax_id, codes.vat_tax_id)
7107 
7108         --Rerunability
7109   AND    not exists (select 1 from zx_status_b
7110          where  tax_regime_code = rates.tax_regime_code
7111          and    tax             = rates.tax
7112          and    tax_status_code = rates.tax_status_code
7113          and    content_owner_id = rates.content_owner_id
7114         )
7115   GROUP BY rates.TAX_REGIME_CODE,
7116      rates.CONTENT_OWNER_ID,
7117      rates.TAX,
7118      rates.TAX_STATUS_CODE,
7119                  NVL(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')   ,
7120              CASE WHEN (nvl(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N' AND
7121                 nvl(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
7122                 THEN 'N'
7123                    ELSE 'Y'
7124                  END
7125        ) STATUSES,  --
7126         --YK:8/30/2004: select status codes created for TW GDFs to get information on
7127         --regime, tax, content_owner_id, status_code
7128         --If this in-line view did not fetch any records what would happen?
7129       (SELECT
7130     lookup_code
7131        FROM
7132     JA_LOOKUPS
7133        WHERE
7134     lookup_type = 'JATW_GOVERNMENT_TAX_TYPE'
7135        MINUS
7136        SELECT
7137     global_attribute1
7138        FROM
7139     ar_vat_tax_all_b
7140        WHERE
7141     global_attribute_category = 'JA.TW.ARXSUVAT.VAT_TAX'
7142        )LOOKUPS;  --
7143       --YK:8/31/2004: selects unused TW GDF.
7144       --Does cartesian join to create all combination for regime, tax, content_onwer_id
7145       --status_code fetched in STATUSES.
7146    ELSE
7147     INSERT INTO ZX_STATUS_B_TMP
7148     (
7149   TAX_STATUS_ID,
7150   TAX_STATUS_CODE,
7151   CONTENT_OWNER_ID,
7152   EFFECTIVE_FROM,
7153   EFFECTIVE_TO,
7154   TAX,
7155   TAX_REGIME_CODE,
7156   RULE_BASED_RATE_FLAG,
7157   ALLOW_RATE_OVERRIDE_FLAG,
7158   ALLOW_EXEMPTIONS_FLAG,
7159   ALLOW_EXCEPTIONS_FLAG,
7160   --TAX_REPORTING_CODE,
7161   --TAX_NUMERIC_CODE,
7162   DEFAULT_STATUS_FLAG,
7163   DEFAULT_FLG_EFFECTIVE_FROM,
7164   DEFAULT_FLG_EFFECTIVE_TO,
7165   DEF_REC_SETTLEMENT_OPTION_CODE,
7166   RECORD_TYPE_CODE,
7167   ATTRIBUTE1,
7168   ATTRIBUTE2,
7169   ATTRIBUTE3,
7170   ATTRIBUTE4,
7171   ATTRIBUTE5,
7172   ATTRIBUTE6,
7173   ATTRIBUTE7,
7174   ATTRIBUTE8,
7175   ATTRIBUTE9,
7176   ATTRIBUTE10,
7177   ATTRIBUTE11,
7178   ATTRIBUTE12,
7179   ATTRIBUTE13,
7180   ATTRIBUTE14,
7181   ATTRIBUTE15,
7182   ATTRIBUTE_CATEGORY,
7183   CREATION_DATE,
7184   CREATED_BY,
7185   LAST_UPDATE_DATE,
7186   LAST_UPDATED_BY,
7187   LAST_UPDATE_LOGIN,
7188   REQUEST_ID,
7189         OBJECT_VERSION_NUMBER
7190     )
7191     SELECT
7192         ZX_STATUS_B_S.NEXTVAL,  --TAX_STATUS_ID
7193         lookups.lookup_code,    --TAX_STATUS_CODE
7194         CONTENT_OWNER_ID,       --CONTENT_OWNER_ID
7195         EFFECTIVE_FROM,         --EFFECTIVE_FROM
7196         NULL,                   --EFFECTIVE_TO
7197         TAX,                    --TAX
7198         TAX_REGIME_CODE,        --TAX_REGIME_CODE
7199         'N',                    --RULE_BASED_RATE_FLAG
7200         'Y',                    --ALLOW_RATE_OVERRIDE_FLAG
7201       --'N',                    --ALLOW_ADHOC_TAX_RATE_FLAG
7202         ALLOW_EXEMPTIONS_FLAG,  --ALLOW_EXEMPTIONS_FLAG
7203         ALLOW_EXCEPTIONS_FLAG,  --ALLOW_EXCEPTIONS_FLAG  /* Need review */
7204         --NULL,                 --TAX_REPORTING_CODE
7205         --NULL,                 --TAX_NUMERIC_CODE
7206         'Y',                    --DEFAULT_STATUS_FLAG
7207         EFFECTIVE_FROM,         --DEFAULT_FLG_EFFECTIVE_FROM,
7208         NULL,                   --DEFAULT_FLG_EFFECTIVE_TO
7209         NULL,                   --DEF_REC_SETTLEMENT_OPTION /* Populated at rates level */
7210         'MIGRATED',
7211         NULL,
7212         NULL,
7213         NULL,
7214         NULL,
7215         NULL,
7216         NULL,
7217         NULL,
7218         NULL,
7219         NULL,
7220         NULL,
7221         NULL,
7222         NULL,
7223         NULL,
7224         NULL,
7225         NULL,
7226         NULL,
7227         SYSDATE,
7228         fnd_global.user_id,
7229         SYSDATE,
7230         fnd_global.user_id,
7231         fnd_global.conc_login_id,
7232         fnd_global.conc_request_id ,-- Request Id
7233         1
7234     FROM
7235        (SELECT rates.tax_regime_code   TAX_REGIME_CODE,
7236          rates.content_owner_id  CONTENT_OWNER_ID,
7237          rates.tax               TAX,
7238          rates.tax_status_code   TAX_STATUS_CODE,
7239          min(rates.EFFECTIVE_FROM)  EFFECTIVE_FROM,
7240                nvl(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')   ALLOW_EXEMPTIONS_FLAG,
7241            CASE WHEN (NVL(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N'
7242                     AND NVL(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N')  = 'N')
7243               THEN 'N'
7244                  ELSE 'Y'
7245                 END                                    ALLOW_EXCEPTIONS_FLAG
7246   FROM   ZX_RATES_B rates,
7247          AR_VAT_TAX_ALL_B codes,
7248          AR_SYSTEM_PARAMETERS_ALL  ar_sys_op
7249   WHERE  codes.vat_tax_id = nvl(rates.source_id, rates.tax_rate_id)  --YK:8/30/2004: ID Clash handling
7250   AND    codes.global_attribute_category = 'JATW.ARXSUVAT.VAT_TAX'   --RP:9/7/2004: Category is different for P2P
7251   AND    rates.record_type_code = 'MIGRATED'
7252   AND    codes.vat_tax_id = nvl(rates.source_id, rates.tax_rate_id)
7253         AND    codes.org_id = ar_sys_op.org_id
7254   AND    codes.org_id = l_org_id
7255 
7256   --Added following conditions for Sync process
7257   AND    codes.vat_tax_id  = nvl(p_tax_id, codes.vat_tax_id)
7258 
7259         --Rerunability
7260   AND    not exists (select 1 from zx_status_b
7261          where  tax_regime_code = rates.tax_regime_code
7262          and    tax             = rates.tax
7263          and    tax_status_code = rates.tax_status_code
7264          and    content_owner_id = rates.content_owner_id
7265         )
7266   GROUP BY rates.TAX_REGIME_CODE,
7267      rates.CONTENT_OWNER_ID,
7268      rates.TAX,
7269      rates.TAX_STATUS_CODE,
7270                  NVL(AR_SYS_OP.TAX_USE_CUSTOMER_EXEMPT_FLAG,'N')   ,
7271              CASE WHEN (nvl(ar_sys_op.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N' AND
7272                 nvl(ar_sys_op.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
7273                 THEN 'N'
7274                    ELSE 'Y'
7275                  END
7276        ) STATUSES,  --
7277         --YK:8/30/2004: select status codes created for TW GDFs to get information on
7278         --regime, tax, content_owner_id, status_code
7279         --If this in-line view did not fetch any records what would happen?
7280       (SELECT
7281     lookup_code
7282        FROM
7283     JA_LOOKUPS
7284        WHERE
7285     lookup_type = 'JATW_GOVERNMENT_TAX_TYPE'
7286        MINUS
7287        SELECT
7288     global_attribute1
7289        FROM
7290     ar_vat_tax_all_b
7291        WHERE
7292     global_attribute_category = 'JA.TW.ARXSUVAT.VAT_TAX'
7293        )LOOKUPS;  --
7294       --YK:8/31/2004: selects unused TW GDF.
7295       --Does cartesian join to create all combination for regime, tax, content_onwer_id
7296       --status_code fetched in STATUSES.
7297 
7298 
7299    END IF;
7300   END IF;
7301   --End of JATW_GOVERNMENT_TAX_TYPE lookup code
7302 
7303 arp_util_tax.debug('3:');
7304 /*
7305   INSERT INTO ZX_STATUS_TL
7306   (
7307       TAX_STATUS_ID,
7308       TAX_STATUS_NAME,
7309       CREATION_DATE,
7310       CREATED_BY,
7311       LAST_UPDATE_DATE,
7312       LAST_UPDATED_BY,
7313       LAST_UPDATE_LOGIN,
7314       LANGUAGE,
7315       SOURCE_LANG
7316     )
7317   SELECT
7318       TAX_STATUS_ID,
7319       TAX_STATUS_CODE,
7320       SYSDATE,
7321       fnd_global.user_id,
7322       SYSDATE,
7323       fnd_global.user_id,
7324       fnd_global.conc_login_id,
7325       L.LANGUAGE_CODE,
7326       userenv('LANG')
7327   FROM
7328       FND_LANGUAGES L,
7329       ZX_STATUS_B B     -- cartesian join
7330   WHERE
7331       L.INSTALLED_FLAG in ('I', 'B')
7332   AND RECORD_TYPE_CODE = 'MIGRATED'
7333   AND  not exists
7334        (select NULL
7335        from ZX_STATUS_TL T
7336        where T.TAX_STATUS_ID =  B.TAX_STATUS_ID
7337        and T.LANGUAGE = L.LANGUAGE_CODE);*/
7338 
7339 EXCEPTION
7340   WHEN OTHERS THEN
7341     NULL;
7342 END;
7343 
7344 /*===========================================================================+
7345  | PROCEDURE
7346  |    create_zx_taxes
7347  |
7348  | IN
7349  |    p_tax_id : ar_vat_tax_all_b.vat_tax_id is passed when it is called from
7350  |               AR Tax Codes form for synchronization.
7351  |
7352  | OUT
7353  |
7354  | DESCRIPTION
7355  |     This routine creates records in zx_taxes_b/tl grouping by zx_rates_b
7356  |
7357  |
7358  | SCOPE - PRIVATE
7362  | CALLED FROM
7359  |
7360  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
7361  |
7363  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
7364  |
7365  | NOTES
7366  | 9/24/2004: Need to simplify the logic.
7367  |            Need to handle unused tax category.
7368  |
7369  | MODIFICATION HISTORY
7370  | 08/31/2004   Yoshimichi Konishi   Created.
7371  | 09/24/2004   Yoshimichi Konishi   Included LTE handling.
7372  +==========================================================================*/
7373 PROCEDURE create_zx_taxes (p_tax_id  NUMBER) AS
7374 BEGIN
7375   --
7376   -- Option 1 : Populates tax category code (for LTE) to _TL table at the second insert
7377   --
7378 
7379   IF L_MULTI_ORG_FLAG = 'Y'
7380   THEN
7381 
7382   INSERT INTO ZX_TAXES_B_TMP
7383   (
7384            TAX                                    ,
7385      EFFECTIVE_FROM                         ,
7386      EFFECTIVE_TO                           ,
7387      TAX_REGIME_CODE                        ,
7388      TAX_TYPE_CODE                          ,
7389      ALLOW_MANUAL_ENTRY_FLAG                ,
7390      ALLOW_TAX_OVERRIDE_FLAG                ,
7391      MIN_TXBL_BSIS_THRSHLD                  ,
7392      MAX_TXBL_BSIS_THRSHLD                  ,
7393      MIN_TAX_RATE_THRSHLD                   ,
7394      MAX_TAX_RATE_THRSHLD                   ,
7395      MIN_TAX_AMT_THRSHLD                    ,
7396      MAX_TAX_AMT_THRSHLD                    ,
7397      COMPOUNDING_PRECEDENCE                 ,
7398      PERIOD_SET_NAME                        ,
7399      EXCHANGE_RATE_TYPE                     ,
7400      TAX_CURRENCY_CODE                      ,
7401      TAX_PRECISION                          ,
7402      MINIMUM_ACCOUNTABLE_UNIT               ,
7403      ROUNDING_RULE_CODE                     ,
7404      TAX_STATUS_RULE_FLAG                   ,
7405      TAX_RATE_RULE_FLAG                     ,
7406      DEF_PLACE_OF_SUPPLY_TYPE_CODE          ,
7407      PLACE_OF_SUPPLY_RULE_FLAG              ,
7408      DIRECT_RATE_RULE_FLAG                  ,
7409      APPLICABILITY_RULE_FLAG                ,
7410      TAX_CALC_RULE_FLAG                     ,
7411      TXBL_BSIS_THRSHLD_FLAG                 ,
7412      TAX_RATE_THRSHLD_FLAG                  ,
7413      TAX_AMT_THRSHLD_FLAG                   ,
7414      TAXABLE_BASIS_RULE_FLAG                ,
7415      DEF_INCLUSIVE_TAX_FLAG                 ,
7416      THRSHLD_GROUPING_LVL_CODE              ,
7417      HAS_OTHER_JURISDICTIONS_FLAG           ,
7418      ALLOW_EXEMPTIONS_FLAG                  ,
7419      ALLOW_EXCEPTIONS_FLAG                  ,
7420      ALLOW_RECOVERABILITY_FLAG              ,
7421      DEF_TAX_CALC_FORMULA                   ,
7422      TAX_INCLUSIVE_OVERRIDE_FLAG            ,
7423      DEF_TAXABLE_BASIS_FORMULA              ,
7424      DEF_REGISTR_PARTY_TYPE_CODE            ,
7425      REGISTRATION_TYPE_RULE_FLAG            ,
7426      REPORTING_ONLY_FLAG                    ,
7427      AUTO_PRVN_FLAG                         ,
7428      LIVE_FOR_PROCESSING_FLAG               ,  --YK:3/16/2005
7429            LIVE_FOR_APPLICABILITY_FLAG            ,  --Bug 4225216
7430      HAS_DETAIL_TB_THRSHLD_FLAG             ,
7431      HAS_TAX_DET_DATE_RULE_FLAG             ,
7432      HAS_EXCH_RATE_DATE_RULE_FLAG           ,
7433      HAS_TAX_POINT_DATE_RULE_FLAG           ,
7434      PRINT_ON_INVOICE_FLAG                  ,
7435      USE_LEGAL_MSG_FLAG                     ,
7436      CALC_ONLY_FLAG                         ,
7437      PRIMARY_RECOVERY_TYPE_CODE             ,
7438      PRIMARY_REC_TYPE_RULE_FLAG             ,
7439      SECONDARY_RECOVERY_TYPE_CODE           ,
7440      SECONDARY_REC_TYPE_RULE_FLAG           ,
7441      PRIMARY_REC_RATE_DET_RULE_FLAG         ,
7442      SEC_REC_RATE_DET_RULE_FLAG             ,
7443      OFFSET_TAX_FLAG                        ,
7444      RECOVERY_RATE_OVERRIDE_FLAG            ,
7445      ZONE_GEOGRAPHY_TYPE                    ,
7446      REGN_NUM_SAME_AS_LE_FLAG               ,
7447      DEF_REC_SETTLEMENT_OPTION_CODE         ,
7448      RECORD_TYPE_CODE                       ,
7449      ALLOW_ROUNDING_OVERRIDE_FLAG           ,
7450    --BugFix 3493419
7451      SOURCE_TAX_FLAG                        ,
7452      SPECIAL_INCLUSIVE_TAX_FLAG             ,
7453      ATTRIBUTE1                             ,
7454      ATTRIBUTE2                             ,
7455      ATTRIBUTE3                             ,
7456      ATTRIBUTE4                             ,
7457      ATTRIBUTE5                             ,
7458      ATTRIBUTE6                             ,
7459      ATTRIBUTE7                             ,
7460      ATTRIBUTE8                             ,
7461      ATTRIBUTE9                             ,
7462      ATTRIBUTE10                            ,
7463      ATTRIBUTE11                            ,
7464      ATTRIBUTE12                            ,
7465      ATTRIBUTE13                            ,
7466      ATTRIBUTE14                            ,
7467      ATTRIBUTE15                            ,
7468      ATTRIBUTE_CATEGORY                     ,
7469      PARENT_GEOGRAPHY_TYPE                  ,
7470      PARENT_GEOGRAPHY_ID                    ,
7471      ALLOW_MASS_CREATE_FLAG                 ,
7472      APPLIED_AMT_HANDLING_FLAG              ,
7473      TAX_ID                                 ,
7474      CONTENT_OWNER_ID                       ,
7475      REP_TAX_AUTHORITY_ID                   ,
7476      COLL_TAX_AUTHORITY_ID                  ,
7477      THRSHLD_CHK_TMPLT_CODE                 ,
7478      DEF_PRIMARY_REC_RATE_CODE              ,
7479      DEF_SECONDARY_REC_RATE_CODE            ,
7480      CREATED_BY                         ,
7481      CREATION_DATE                          ,
7482      LAST_UPDATED_BY                        ,
7483      LAST_UPDATE_DATE                       ,
7484      LAST_UPDATE_LOGIN                      ,
7485      REQUEST_ID                             ,
7486      PROGRAM_APPLICATION_ID                 ,
7487      PROGRAM_ID                             ,
7488      PROGRAM_LOGIN_ID                       ,
7489            OVERRIDE_GEOGRAPHY_TYPE                ,--Bug 4163204
7490      OBJECT_VERSION_NUMBER                  ,
7491            TAX_ACCOUNT_CREATE_METHOD_CODE         ,--Bug 4204464
7492            TAX_ACCOUNT_SOURCE_TAX                 ,
7493            TAX_EXMPT_CR_METHOD_CODE         ,
7494            TAX_EXMPT_SOURCE_TAX             ,
7495            APPLICABLE_BY_DEFAULT_FLAG              --Bug 4905771
7496   )
7497   SELECT
7498            l_TAX                            ,--TAX
7499      EFFECTIVE_FROM                   ,
7500      NULL                             ,--EFFECTIVE_TO
7501      l_TAX_REGIME_CODE                ,--TAX_REGIME_CODE
7502            -- Updated using Arnab's logic
7503            (select tax_type_code
7504       from
7505         (select codes.tax_type         tax_type_code,
7506           rates.tax_regime_code  tax_regime_code,
7507           rates.tax              tax,
7508           rates.content_owner_id content_owner_id
7509          from   zx_rates_b rates, ar_vat_tax_all_b codes
7510          where  nvl(rates.source_id, rates.tax_rate_id) = codes.vat_tax_id  --ID Clash
7511          AND rates.record_type_code = 'MIGRATED'
7512          AND rates.tax_class = DECODE(codes.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')
7513          group  by rates.tax_regime_code, rates.tax, rates.content_owner_id, tax_type
7514         )
7515       where   tax_regime_code = l_tax_regime_code
7516       and     tax = l_tax
7517       and     content_owner_id = l_content_owner_id ----removed most frequent logic
7518       AND ROWNUM = 1
7519     )                        , --TAX_TYPE_CODE --Populate most frequently used. Can be done in separate process
7520          -- Bug 571396 - While upgrade, set allow_manual_entry_flag as 'Y' instead of 'N'
7521     'Y'                      ,--ALLOW_MANUAL_ENTRY_FLAG  --Op1. Derive if from Profile if possible: Op 2. Separate process
7522     'Y'                               ,--ALLOW_TAX_OVERRIDE_FLAG  --Derive if from Profile if possible: Separate process
7523      NULL                             ,--MIN_TXBL_BSIS_THRSHLD
7524      NULL                             ,--MAX_TXBL_BSIS_THRSHLD
7525      NULL                             ,--MIN_TAX_RATE_THRSHLD
7526      NULL                             ,--MAX_TAX_RATE_THRSHLD
7527      NULL                             ,--MIN_TAX_AMT_THRSHLD
7528      NULL                             ,--MAX_TAX_AMT_THRSHLD
7529      L_PRECEDENCE                     ,--TAX_COMPOUNDING_PRECEDENCE  --Compounding handling: Separate process
7530      NULL                             ,--PERIOD_SET_NAME
7531      -- Bug 4539221
7532            -- Deriving exchange_rate_type
7533            -- If default_exchange_rate_type is NULL use most frequently
7534            -- used conversion_type from gl_daily_rates.
7535          /*  CASE
7536         WHEN  CROSS_CURRENCY_RATE_TYPE  IS NULL
7537         THEN  'Corporate'  --Bug fix 5248597
7538         ELSE
7539               -- Bug 6006519/5654551, 'User' is not a valid exchange rate type
7540               DECODE(CROSS_CURRENCY_RATE_TYPE,
7541                     'User', 'Corporate',
7542                      CROSS_CURRENCY_RATE_TYPE)
7543      END                              ,--EXCHANGE_RATE_TYPE */
7544      NULL           , --EXCHANGE_RATE_TYPE
7545      TAX_CURRENCY_CODE                ,
7546      TAX_PRECISION                    ,
7547      MINIMUM_ACCOUNTABLE_UNIT         ,
7548      ROUNDING_RULE_CODE               ,
7549      'N'                              ,-- TAX_STATUS_RULE_FLAG
7550      'N'                              ,--TAX_RATE_RULE_FLAG
7551     'SHIP_TO_BILL_TO'                 ,--DEF_PLACE_OF_SUPPLY_TYPE_CODE
7552     'N'                               ,--PLACE_OF_SUPPLY_RULE_FLAG
7553           -- Bug 4575226 : direct_rate_rule_flag is Y for Taxes other than US Sales Tax
7554     'N'                               ,--DIRECT_RATE_RULE_FLAG -- Bug 5090631
7555     'N'                               ,--APPLICABILITY_RULE_FLAG
7556     'N'                               ,--TAX_CALC_RULE_FLAG
7557     'N'                               ,--TXBL_BSIS_THRSHLD_FLAG
7558     'N'                               ,--TAX_RATE_THRSHLD_FLAG
7559     'N'                               ,--TAX_AMT_THRSHLD_FLAG
7560     'N'                               ,--TAXABLE_BASIS_RULE_FLAG --YK: 8/30/2004: Should be populated when compounding is used
7561     'N'                               ,--DEF_INCLUSIVE_TAX_FLAG  --YK: 8/30/2004: Inclusive
7562      NULL                             ,--THRSHLD_GROUPING_LVL_CODE
7563     'N'                               ,--HAS_OTHER_JURISDICTIONS_FLAG
7564           ALLOW_EXEMPTIONS_FLAG             ,--ALLOW_EXEMPTIONS_FLAG
7565       ALLOW_EXCEPTIONS_FLAG             ,--ALLOW_EXCEPTIONS_FLAG
7566     'N'                               ,--ALLOW_RECOVERABILITY_FLAG
7567     'STANDARD_TC'                     ,--DEF_TAX_CALC_FORMULA
7568     'Y'                               ,--TAX_INCLUSIVE_OVERRIDE_FLAG --YK: 8/30/2004: Must be 'Y' as rate can be either 'Y' or 'N'.
7569     'STANDARD_TB'                     ,--DEF_TAXABLE_BASIS_FORMULA   --YK: 8/30/2004: Compounding
7570     'SHIP_TO_SITE'                    ,--DEF_REGISTR_PARTY_TYPE_CODE
7571     'N'                               ,--REGISTRATION_TYPE_RULE_FLAG
7572     'N'                               ,--REPORTING_ONLY_FLAG
7573     'N'                               ,--AUTO_PRVN_FLAG
7574     CASE WHEN
7575       EXISTS (select  1 from  zx_rates_b active_rate
7576         where active_rate.TAX = l_TAX
7577         and   active_rate.TAX_REGIME_CODE = l_TAX_REGIME_CODE
7578         and   sysdate between active_rate.effective_from
7579               and   nvl(active_rate.effective_to,sysdate)) --Could add active_flag in the condition
7580          THEN 'Y'
7581          ELSE 'N'
7582     END                               ,--LIVE_FOR_PROCESSING_FLAG  --set it to N when all rates belonging to this tax is enddated: Separate parocess   YK:3/16/2005
7583           'Y'                               ,--LIVE_FOR_APPLICABILITY_FLAG  Bug 4225216
7584     'N'                               ,--HAS_DETAIL_TB_THRSHLD_FLAG
7585     'N'                               ,--HAS_TAX_DET_DATE_RULE_FLAG
7586     'N'                               ,--HAS_EXCH_RATE_DATE_RULE_FLAG
7587     'N'                               ,--HAS_TAX_POINT_DATE_RULE_FLAG
7588     'Y'                               ,--PRINT_ON_INVOICE_FLAG   --YK:B:10/08/2004: Could be an issue.
7589     'N'                               ,--USE_LEGAL_MSG_FLAG
7590     'N'                               ,--CALC_ONLY_FLAG
7591     'NULL'                            ,--PRIMARY_RECOVERY_TYPE_CODE
7592     'N'                               ,--PRIMARY_REC_TYPE_RULE_FLAG
7593      NULL                             ,--SECONDARY_RECOVERY_TYPE_CODE
7594     'N'                               ,--SECONDARY_REC_TYPE_RULE_FLAG
7595     'N'                               ,--PRIMARY_REC_RATE_DET_RULE_FLAG
7596     'N'                               ,--SEC_REC_RATE_DET_RULE_FLAG
7597     'N'                               ,--OFFSET_TAX_FLAG
7598     'N'                               ,--RECOVERY_RATE_OVERRIDE_FLAG
7599      NULL                             ,--ZONE_GEOGRAPHY_TYPE  --YK:8/30/2004: US sales tax handling
7600     'N'                               ,--REGN_NUM_SAME_AS_LE_FLAG  --Ask Dario
7601     'IMMEDIATE'                       ,--DEF_REC_SETTLEMENT_OPTION_CODE --YK: 8/30/2004: It be NULL in UI. What does NULL mean?
7602      'MIGRATED'                       ,--RECORD_TYPE_CODE
7603      'N'                              ,--ALLOW_ROUNDING_OVERRIDE_FLAG
7604    --BugFix 3493419
7605      DECODE(L_CONTENT_OWNER_ID,
7606       (select min(CONTENT_OWNER_ID)
7607       from   zx_rates_b
7608       where  tax = l_TAX
7609       and    tax_regime_code  = l_TAX_REGIME_CODE
7610       and    RECORD_TYPE_CODE = 'MIGRATED'),
7611       'Y',
7612       'N')                      ,--SOURCE_TAX_FLAG
7613     'N'                               ,--SPECIAL_INCL_TAX_FLAG  --YK:8/30/2004: For BR support
7614      NULL                             ,--ATTRIBUTE1
7615      NULL                             ,
7616      NULL                             ,
7617      NULL                             ,
7618      NULL                             ,
7619      NULL                             ,
7620      NULL                             ,
7621      NULL                             ,
7622      NULL                             ,
7623      NULL                             ,
7624      NULL                             ,
7625      NULL                             ,
7626      NULL                             ,
7627      NULL                             ,
7628      NULL                             ,
7629      NULL                             ,--ATTRIBUTE_CATEGORY
7630      NULL                             ,--PARENT_GEOGRAPHY_TYPE  --YK:8/30/2004: Can be populated for US Sales Tax
7631      NULL                             ,--PARENT_GEOGRAPHY_ID    --YK:8/30/2004: Can be populated for US Sales Tax
7632     'N'                               ,--ALLOW_MASS_CREATE_FLAG
7633     'P'                               ,--APPLIED_AMT_HANDLING_FLAG --Bug 5232502
7634      ZX_TAXES_B_S.NEXTVAL             ,--TAX_ID
7635      L_CONTENT_OWNER_ID               ,
7636      NULL                             ,--REP_TAX_AUTHORITY_ID
7637      NULL                             ,--COLL_TAX_AUTHORITY_ID
7638      NULL                             ,--THRSHLD_CHK_TMPLT_CODE
7639      NULL                             ,--DEF_PRIMARY_REC_RATE_CODE
7640      NULL                             ,--DEF_SECONDARY_REC_RATE_CODE
7641      fnd_global.user_id               ,
7642      SYSDATE                          ,
7643      fnd_global.user_id               ,
7644      SYSDATE                          ,
7645      fnd_global.conc_login_id         ,
7646      fnd_global.conc_request_id       ,--Request Id
7647      fnd_global.prog_appl_id          ,--Program Application ID
7648      fnd_global.conc_program_id       ,--Program Id
7649      fnd_global.conc_login_id         ,--Program Login ID
7650            NULL                             ,--OVERRIDE_GEOGRAPHY_TYPE : 4163204
7651      1                                ,--OBJECT_VERSION_NUMBER
7652            'CREATE_ACCOUNTS'                ,--TAX_ACCOUNT_CREATE_METHOD_CODE
7653            NULL                             ,--TAX_ACCOUNT_SOURCE_TAX
7654            'CREATE_EXEMPTIONS'              ,--TAX_EXMPT_EXCEP_CR_METHOD_CODE
7655            NULL                             ,
7656            'N'                               --APPLICABLE_BY_DEFAULT_FLAG
7657   FROM
7658   (
7659       SELECT
7660       RATES.TAX_REGIME_CODE                 L_TAX_REGIME_CODE,
7661       RATES.TAX                             L_TAX,
7662       Min(RESULTS.TAX_PRECEDENCE)           L_PRECEDENCE,
7663       ptp.party_tax_profile_id              L_CONTENT_OWNER_ID,
7664       SOB.CURRENCY_CODE                     TAX_CURRENCY_CODE,
7665       ARP.TAX_PRECISION                     TAX_PRECISION,
7666       ARP.TAX_MINIMUM_ACCOUNTABLE_UNIT      MINIMUM_ACCOUNTABLE_UNIT,
7667       ARP.TAX_ROUNDING_RULE                 ROUNDING_RULE_CODE,
7668       nvl(ARP.tax_use_product_exempt_flag,'N')       PRODUCT_EXEMPT_FLAG,  --YK:8/30/2004: NVL
7669       nvl(ARP.tax_use_customer_exempt_flag, 'N')     ALLOW_EXEMPTIONS_FLAG, --YK:8/30/2004: NVL
7670       'N'                                    ALLOW_EXCEPTIONS_FLAG ,       --Bug 5505935
7671       min(RATES.EFFECTIVE_FROM)              EFFECTIVE_FROM,
7672             -- Bug 4539221
7673     -- Bug 6006519/5654551. 'User' is not a valid exchange rate type
7674            -- decode(ARP.CROSS_CURRENCY_RATE_TYPE,'User','Corporate',ARP.CROSS_CURRENCY_RATE_TYPE)           CROSS_CURRENCY_RATE_TYPE
7675       NULL          CROSS_CURRENCY_RATE_TYPE
7676        FROM
7677       ZX_RATES_B RATES,
7678       ZX_UPDATE_CRITERIA_RESULTS results,
7679       AR_SYSTEM_PARAMETERS_ALL ARP,
7680       GL_SETS_OF_BOOKS SOB,
7681       ZX_PARTY_TAX_PROFILE PTP
7682        WHERE
7683                  -- Bug 4691005 : 1. removed nvl source_id
7684                  --               2. added condition for tax_class
7685            RESULTS.tax_code_id    = rates.tax_rate_id
7686        AND       RESULTS.tax_class      = 'OUTPUT'
7687        AND       RESULTS.org_id         = PTP.PARTY_ID
7688        AND       PTP.PARTY_TYPE_CODE    = 'OU'
7689        AND       RESULTS.org_id         =  ARP.ORG_ID
7690        AND       ARP.SET_OF_BOOKS_ID   =  SOB.SET_OF_BOOKS_ID
7691        AND       RATES.RECORD_TYPE_CODE = 'MIGRATED'
7692 
7693        --Added following conditions for Sync process
7694        AND      results.tax_code_id  = nvl(p_tax_id, results.tax_code_id)
7695 
7696        --Rerunability
7697        AND  not exists (select 1 from zx_taxes_b
7698        where  tax_regime_code = rates.tax_regime_code
7699        and    tax             = rates.tax
7700        and    content_owner_id= rates.content_owner_id
7701       )
7702        GROUP BY
7703       RATES.TAX_REGIME_CODE                 ,
7704       RATES.TAX                             ,
7705 --      RESULTS.TAX_PRECEDENCE                ,
7706       ptp.party_tax_profile_id              ,  --OU
7707       SOB.CURRENCY_CODE                 ,  --OU partitioned
7708       ARP.TAX_PRECISION                     ,  --OU partitioned
7709       ARP.TAX_MINIMUM_ACCOUNTABLE_UNIT      ,  --OU partitioned
7710       ARP.TAX_ROUNDING_RULE                 ,  --OU partitioned
7711       ARP.tax_use_product_exempt_flag       ,  --OU
7712       nvl(ARP.tax_use_customer_exempt_flag,'N'),  --OU
7713            CASE WHEN (nvl(arp.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N'
7714                 AND nvl(arp.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
7715            THEN 'N'
7716            ELSE 'Y'
7717             END  ,
7718       -- Bug 6006519/5654551, 'User' is not a valid exchange rate type
7719       --decode(ARP.CROSS_CURRENCY_RATE_TYPE,'User','Corporate',ARP.CROSS_CURRENCY_RATE_TYPE)
7720       NULL
7721 
7722   ) TAX
7723   --YK:B:10/07/2004: Added the following condition.
7724   WHERE NOT EXISTS
7725     (select 1
7726      from   zx_taxes_b tax1
7727      where  tax.l_tax_regime_code = tax1.tax_regime_code
7728      and    tax.l_tax = tax1.tax
7729      and    tax.l_content_owner_id = tax1.content_owner_id
7730 
7731     )
7732   ;
7733   ELSE
7734 
7735   INSERT INTO ZX_TAXES_B_TMP
7736   (
7737            TAX                                    ,
7738      EFFECTIVE_FROM                         ,
7739      EFFECTIVE_TO                           ,
7740      TAX_REGIME_CODE                        ,
7741      TAX_TYPE_CODE                          ,
7742      ALLOW_MANUAL_ENTRY_FLAG                ,
7743      ALLOW_TAX_OVERRIDE_FLAG                ,
7744      MIN_TXBL_BSIS_THRSHLD                  ,
7745      MAX_TXBL_BSIS_THRSHLD                  ,
7746      MIN_TAX_RATE_THRSHLD                   ,
7747      MAX_TAX_RATE_THRSHLD                   ,
7748      MIN_TAX_AMT_THRSHLD                    ,
7749      MAX_TAX_AMT_THRSHLD                    ,
7750      COMPOUNDING_PRECEDENCE                 ,
7751      PERIOD_SET_NAME                        ,
7752      EXCHANGE_RATE_TYPE                     ,
7753      TAX_CURRENCY_CODE                      ,
7754      TAX_PRECISION                          ,
7755      MINIMUM_ACCOUNTABLE_UNIT               ,
7756      ROUNDING_RULE_CODE                     ,
7757      TAX_STATUS_RULE_FLAG                   ,
7758      TAX_RATE_RULE_FLAG                     ,
7759      DEF_PLACE_OF_SUPPLY_TYPE_CODE          ,
7760      PLACE_OF_SUPPLY_RULE_FLAG              ,
7761      DIRECT_RATE_RULE_FLAG                  ,
7762      APPLICABILITY_RULE_FLAG                ,
7763      TAX_CALC_RULE_FLAG                     ,
7764      TXBL_BSIS_THRSHLD_FLAG                 ,
7765      TAX_RATE_THRSHLD_FLAG                  ,
7766      TAX_AMT_THRSHLD_FLAG                   ,
7767      TAXABLE_BASIS_RULE_FLAG                ,
7768      DEF_INCLUSIVE_TAX_FLAG                 ,
7769      THRSHLD_GROUPING_LVL_CODE              ,
7770      HAS_OTHER_JURISDICTIONS_FLAG           ,
7771      ALLOW_EXEMPTIONS_FLAG                  ,
7772      ALLOW_EXCEPTIONS_FLAG                  ,
7773      ALLOW_RECOVERABILITY_FLAG              ,
7774      DEF_TAX_CALC_FORMULA                   ,
7775      TAX_INCLUSIVE_OVERRIDE_FLAG            ,
7776      DEF_TAXABLE_BASIS_FORMULA              ,
7777      DEF_REGISTR_PARTY_TYPE_CODE            ,
7778      REGISTRATION_TYPE_RULE_FLAG            ,
7779      REPORTING_ONLY_FLAG                    ,
7780      AUTO_PRVN_FLAG                         ,
7781      LIVE_FOR_PROCESSING_FLAG               ,  --YK:3/16/2005
7782            LIVE_FOR_APPLICABILITY_FLAG            ,  --Bug 4225216
7783      HAS_DETAIL_TB_THRSHLD_FLAG             ,
7784      HAS_TAX_DET_DATE_RULE_FLAG             ,
7785      HAS_EXCH_RATE_DATE_RULE_FLAG           ,
7786      HAS_TAX_POINT_DATE_RULE_FLAG           ,
7787      PRINT_ON_INVOICE_FLAG                  ,
7788      USE_LEGAL_MSG_FLAG                     ,
7789      CALC_ONLY_FLAG                         ,
7790      PRIMARY_RECOVERY_TYPE_CODE             ,
7791      PRIMARY_REC_TYPE_RULE_FLAG             ,
7792      SECONDARY_RECOVERY_TYPE_CODE           ,
7793      SECONDARY_REC_TYPE_RULE_FLAG           ,
7794      PRIMARY_REC_RATE_DET_RULE_FLAG         ,
7795      SEC_REC_RATE_DET_RULE_FLAG             ,
7796      OFFSET_TAX_FLAG                        ,
7797      RECOVERY_RATE_OVERRIDE_FLAG            ,
7798      ZONE_GEOGRAPHY_TYPE                    ,
7799      REGN_NUM_SAME_AS_LE_FLAG               ,
7800      DEF_REC_SETTLEMENT_OPTION_CODE         ,
7801      RECORD_TYPE_CODE                       ,
7802      ALLOW_ROUNDING_OVERRIDE_FLAG           ,
7803    --BugFix 3493419
7804      SOURCE_TAX_FLAG                        ,
7805      SPECIAL_INCLUSIVE_TAX_FLAG             ,
7806      ATTRIBUTE1                             ,
7807      ATTRIBUTE2                             ,
7808      ATTRIBUTE3                             ,
7809      ATTRIBUTE4                             ,
7810      ATTRIBUTE5                             ,
7811      ATTRIBUTE6                             ,
7812      ATTRIBUTE7                             ,
7813      ATTRIBUTE8                             ,
7814      ATTRIBUTE9                             ,
7815      ATTRIBUTE10                            ,
7816      ATTRIBUTE11                            ,
7817      ATTRIBUTE12                            ,
7818      ATTRIBUTE13                            ,
7819      ATTRIBUTE14                            ,
7820      ATTRIBUTE15                            ,
7821      ATTRIBUTE_CATEGORY                     ,
7822      PARENT_GEOGRAPHY_TYPE                  ,
7823      PARENT_GEOGRAPHY_ID                    ,
7827      CONTENT_OWNER_ID                       ,
7824      ALLOW_MASS_CREATE_FLAG                 ,
7825      APPLIED_AMT_HANDLING_FLAG              ,
7826      TAX_ID                                 ,
7828      REP_TAX_AUTHORITY_ID                   ,
7829      COLL_TAX_AUTHORITY_ID                  ,
7830      THRSHLD_CHK_TMPLT_CODE                 ,
7831      DEF_PRIMARY_REC_RATE_CODE              ,
7832      DEF_SECONDARY_REC_RATE_CODE            ,
7833      CREATED_BY                         ,
7834      CREATION_DATE                          ,
7835      LAST_UPDATED_BY                        ,
7836      LAST_UPDATE_DATE                       ,
7837      LAST_UPDATE_LOGIN                      ,
7838      REQUEST_ID                             ,
7839      PROGRAM_APPLICATION_ID                 ,
7840      PROGRAM_ID                             ,
7841      PROGRAM_LOGIN_ID                       ,
7842            OVERRIDE_GEOGRAPHY_TYPE                ,--Bug 4163204
7843      OBJECT_VERSION_NUMBER                  ,
7844            TAX_ACCOUNT_CREATE_METHOD_CODE         ,--Bug 4204464
7845            TAX_ACCOUNT_SOURCE_TAX                 ,
7846            TAX_EXMPT_CR_METHOD_CODE         ,
7847            TAX_EXMPT_SOURCE_TAX             ,
7848            APPLICABLE_BY_DEFAULT_FLAG              --Bug 4905771
7849   )
7850   SELECT
7851            l_TAX                            ,--TAX
7852      EFFECTIVE_FROM                   ,
7853      NULL                             ,--EFFECTIVE_TO
7854      l_TAX_REGIME_CODE                ,--TAX_REGIME_CODE
7855            -- Updated using Arnab's logic
7856            (select tax_type_code
7857       from
7858         (select codes.tax_type         tax_type_code,
7859           rates.tax_regime_code  tax_regime_code,
7860           rates.tax              tax,
7861           rates.content_owner_id content_owner_id
7862          from   zx_rates_b rates, ar_vat_tax_all_b codes
7863          where  nvl(rates.source_id, rates.tax_rate_id) = codes.vat_tax_id  --ID Clash
7864          AND rates.record_type_code = 'MIGRATED'
7865          AND rates.tax_class = DECODE(codes.tax_class, 'I', 'INPUT', 'O', 'OUTPUT')
7866          group  by rates.tax_regime_code, rates.tax, rates.content_owner_id, tax_type
7867         )
7868       where   tax_regime_code = l_tax_regime_code
7869       and     tax = l_tax
7870       and     content_owner_id = l_content_owner_id ----removed most frequent logic
7871       AND ROWNUM = 1
7872     )                        , --TAX_TYPE_CODE --Populate most frequently used. Can be done in separate process
7873     -- Bug 571396 - While upgrade, set allow_manual_entry_flag as 'Y' instead of 'N'
7874     'Y'                      ,--ALLOW_MANUAL_ENTRY_FLAG  --Op1. Derive if from Profile if possible: Op 2. Separate process
7875     'Y'                               ,--ALLOW_TAX_OVERRIDE_FLAG  --Derive if from Profile if possible: Separate process
7876      NULL                             ,--MIN_TXBL_BSIS_THRSHLD
7877      NULL                             ,--MAX_TXBL_BSIS_THRSHLD
7878      NULL                             ,--MIN_TAX_RATE_THRSHLD
7879      NULL                             ,--MAX_TAX_RATE_THRSHLD
7880      NULL                             ,--MIN_TAX_AMT_THRSHLD
7881      NULL                             ,--MAX_TAX_AMT_THRSHLD
7882      L_PRECEDENCE                     ,--TAX_COMPOUNDING_PRECEDENCE  --Compounding handling: Separate process
7883      NULL                             ,--PERIOD_SET_NAME
7884      -- Bug 4539221
7885            -- Deriving exchange_rate_type
7886            -- If default_exchange_rate_type is NULL use most frequently
7887            -- used conversion_type from gl_daily_rates.
7888         /*   CASE
7889         WHEN  CROSS_CURRENCY_RATE_TYPE  IS NULL
7890         THEN  'Corporate'  --Bug fix 5248597
7891         ELSE
7892               --Bug 6006519/5654551, 'User' is not a valid exchange rate type
7893               DECODE(CROSS_CURRENCY_RATE_TYPE,
7894               'User', 'Corporate',
7895                CROSS_CURRENCY_RATE_TYPE)
7896      END                              ,--EXCHANGE_RATE_TYPE */
7897      NULL            ,--EXCHANGE_RATE_TYPE
7898      TAX_CURRENCY_CODE                ,
7899      TAX_PRECISION                    ,
7900      MINIMUM_ACCOUNTABLE_UNIT         ,
7901      ROUNDING_RULE_CODE               ,
7902      'N'                              ,-- TAX_STATUS_RULE_FLAG
7903      'N'                              ,--TAX_RATE_RULE_FLAG
7904     'SHIP_TO_BILL_TO'                 ,--DEF_PLACE_OF_SUPPLY_TYPE_CODE
7905     'N'                               ,--PLACE_OF_SUPPLY_RULE_FLAG
7906           -- Bug 4575226 : direct_rate_rule_flag is Y for Taxes other than US Sales Tax
7907     'N'                               ,--DIRECT_RATE_RULE_FLAG -- Bug 5090631
7908     'N'                               ,--APPLICABILITY_RULE_FLAG
7909     'N'                               ,--TAX_CALC_RULE_FLAG
7910     'N'                               ,--TXBL_BSIS_THRSHLD_FLAG
7911     'N'                               ,--TAX_RATE_THRSHLD_FLAG
7912     'N'                               ,--TAX_AMT_THRSHLD_FLAG
7913     'N'                               ,--TAXABLE_BASIS_RULE_FLAG --YK: 8/30/2004: Should be populated when compounding is used
7914     'N'                               ,--DEF_INCLUSIVE_TAX_FLAG  --YK: 8/30/2004: Inclusive
7915      NULL                             ,--THRSHLD_GROUPING_LVL_CODE
7916     'N'                               ,--HAS_OTHER_JURISDICTIONS_FLAG
7917           ALLOW_EXEMPTIONS_FLAG             ,--ALLOW_EXEMPTIONS_FLAG
7918       ALLOW_EXCEPTIONS_FLAG             ,--ALLOW_EXCEPTIONS_FLAG
7919     'N'                               ,--ALLOW_RECOVERABILITY_FLAG
7920     'STANDARD_TC'                     ,--DEF_TAX_CALC_FORMULA
7921     'Y'                               ,--TAX_INCLUSIVE_OVERRIDE_FLAG --YK: 8/30/2004: Must be 'Y' as rate can be either 'Y' or 'N'.
7922     'STANDARD_TB'                     ,--DEF_TAXABLE_BASIS_FORMULA   --YK: 8/30/2004: Compounding
7923     'SHIP_TO_SITE'                    ,--DEF_REGISTR_PARTY_TYPE_CODE
7927     CASE WHEN
7924     'N'                               ,--REGISTRATION_TYPE_RULE_FLAG
7925     'N'                               ,--REPORTING_ONLY_FLAG
7926     'N'                               ,--AUTO_PRVN_FLAG
7928       EXISTS (select  1 from  zx_rates_b active_rate
7929         where active_rate.TAX = l_TAX
7930         and   active_rate.TAX_REGIME_CODE = l_TAX_REGIME_CODE
7931         and   sysdate between active_rate.effective_from
7932               and   nvl(active_rate.effective_to,sysdate)) --Could add active_flag in the condition
7933          THEN 'Y'
7934          ELSE 'N'
7935     END                               ,--LIVE_FOR_PROCESSING_FLAG  --set it to N when all rates belonging to this tax is enddated: Separate parocess   YK:3/16/2005
7936           'Y'                               ,--LIVE_FOR_APPLICABILITY_FLAG  Bug 4225216
7937     'N'                               ,--HAS_DETAIL_TB_THRSHLD_FLAG
7938     'N'                               ,--HAS_TAX_DET_DATE_RULE_FLAG
7939     'N'                               ,--HAS_EXCH_RATE_DATE_RULE_FLAG
7940     'N'                               ,--HAS_TAX_POINT_DATE_RULE_FLAG
7941     'Y'                               ,--PRINT_ON_INVOICE_FLAG   --YK:B:10/08/2004: Could be an issue.
7942     'N'                               ,--USE_LEGAL_MSG_FLAG
7943     'N'                               ,--CALC_ONLY_FLAG
7944     'NULL'                            ,--PRIMARY_RECOVERY_TYPE_CODE
7945     'N'                               ,--PRIMARY_REC_TYPE_RULE_FLAG
7946      NULL                             ,--SECONDARY_RECOVERY_TYPE_CODE
7947     'N'                               ,--SECONDARY_REC_TYPE_RULE_FLAG
7948     'N'                               ,--PRIMARY_REC_RATE_DET_RULE_FLAG
7949     'N'                               ,--SEC_REC_RATE_DET_RULE_FLAG
7950     'N'                               ,--OFFSET_TAX_FLAG
7951     'N'                               ,--RECOVERY_RATE_OVERRIDE_FLAG
7952      NULL                             ,--ZONE_GEOGRAPHY_TYPE  --YK:8/30/2004: US sales tax handling
7953     'N'                               ,--REGN_NUM_SAME_AS_LE_FLAG  --Ask Dario
7954     'IMMEDIATE'                       ,--DEF_REC_SETTLEMENT_OPTION_CODE --YK: 8/30/2004: It be NULL in UI. What does NULL mean?
7955      'MIGRATED'                       ,--RECORD_TYPE_CODE
7956      'N'                              ,--ALLOW_ROUNDING_OVERRIDE_FLAG
7957    --BugFix 3493419
7958      DECODE(L_CONTENT_OWNER_ID,
7959       (select min(CONTENT_OWNER_ID)
7960       from   zx_rates_b
7961       where  tax = l_TAX
7962       and    tax_regime_code  = l_TAX_REGIME_CODE
7963       and    RECORD_TYPE_CODE = 'MIGRATED'),
7964       'Y',
7965       'N')                      ,--SOURCE_TAX_FLAG
7966     'N'                               ,--SPECIAL_INCL_TAX_FLAG  --YK:8/30/2004: For BR support
7967      NULL                             ,--ATTRIBUTE1
7968      NULL                             ,
7969      NULL                             ,
7970      NULL                             ,
7971      NULL                             ,
7972      NULL                             ,
7973      NULL                             ,
7974      NULL                             ,
7975      NULL                             ,
7976      NULL                             ,
7977      NULL                             ,
7978      NULL                             ,
7979      NULL                             ,
7980      NULL                             ,
7981      NULL                             ,
7982      NULL                             ,--ATTRIBUTE_CATEGORY
7983      NULL                             ,--PARENT_GEOGRAPHY_TYPE  --YK:8/30/2004: Can be populated for US Sales Tax
7984      NULL                             ,--PARENT_GEOGRAPHY_ID    --YK:8/30/2004: Can be populated for US Sales Tax
7985     'N'                               ,--ALLOW_MASS_CREATE_FLAG
7986     'P'                               ,--APPLIED_AMT_HANDLING_FLAG --Bug 5232502
7987      ZX_TAXES_B_S.NEXTVAL             ,--TAX_ID
7988      L_CONTENT_OWNER_ID               ,
7989      NULL                             ,--REP_TAX_AUTHORITY_ID
7990      NULL                             ,--COLL_TAX_AUTHORITY_ID
7991      NULL                             ,--THRSHLD_CHK_TMPLT_CODE
7992      NULL                             ,--DEF_PRIMARY_REC_RATE_CODE
7993      NULL                             ,--DEF_SECONDARY_REC_RATE_CODE
7994      fnd_global.user_id               ,
7995      SYSDATE                          ,
7996      fnd_global.user_id               ,
7997      SYSDATE                          ,
7998      fnd_global.conc_login_id         ,
7999      fnd_global.conc_request_id       ,--Request Id
8000      fnd_global.prog_appl_id          ,--Program Application ID
8001      fnd_global.conc_program_id       ,--Program Id
8002      fnd_global.conc_login_id         ,--Program Login ID
8003            NULL                             ,--OVERRIDE_GEOGRAPHY_TYPE : 4163204
8004      1                                ,--OBJECT_VERSION_NUMBER
8005            'CREATE_ACCOUNTS'                ,--TAX_ACCOUNT_CREATE_METHOD_CODE
8006            NULL                             ,--TAX_ACCOUNT_SOURCE_TAX
8007            'CREATE_EXEMPTIONS'              ,--TAX_EXMPT_EXCEP_CR_METHOD_CODE
8008            NULL                             ,
8009            'N'                               --APPLICABLE_BY_DEFAULT_FLAG
8010   FROM
8011   (
8012       SELECT
8013       RATES.TAX_REGIME_CODE                 L_TAX_REGIME_CODE,
8014       RATES.TAX                             L_TAX,
8015       RESULTS.TAX_PRECEDENCE                L_PRECEDENCE,
8016       ptp.party_tax_profile_id              L_CONTENT_OWNER_ID,
8017       SOB.CURRENCY_CODE                 TAX_CURRENCY_CODE,
8018       ARP.TAX_PRECISION                     TAX_PRECISION,
8019       ARP.TAX_MINIMUM_ACCOUNTABLE_UNIT      MINIMUM_ACCOUNTABLE_UNIT,
8020       ARP.TAX_ROUNDING_RULE                 ROUNDING_RULE_CODE,
8021       nvl(ARP.tax_use_product_exempt_flag,'N')       PRODUCT_EXEMPT_FLAG,  --YK:8/30/2004: NVL
8022       nvl(ARP.tax_use_customer_exempt_flag, 'N')     ALLOW_EXEMPTIONS_FLAG, --YK:8/30/2004: NVL
8023       'N'                                    ALLOW_EXCEPTIONS_FLAG ,--Bug 5505935
8024       min(RATES.EFFECTIVE_FROM)              EFFECTIVE_FROM,
8025             -- Bug 4539221
8026       -- Bug 6006519/5654551, 'User' is not a valid exchange rate type
8027           --  decode(ARP.CROSS_CURRENCY_RATE_TYPE,'User','Corporate',ARP.CROSS_CURRENCY_RATE_TYPE)           CROSS_CURRENCY_RATE_TYPE
8028       NULL      CROSS_CURRENCY_RATE_TYPE
8029        FROM
8030       ZX_RATES_B RATES,
8031       ZX_UPDATE_CRITERIA_RESULTS results,
8032       AR_SYSTEM_PARAMETERS_ALL ARP,
8033       GL_SETS_OF_BOOKS         SOB,
8034       ZX_PARTY_TAX_PROFILE PTP
8035        WHERE
8036                  -- Bug 4691005 : 1. removed nvl source_id
8037                  --               2. added condition for tax_class
8038            RESULTS.tax_code_id    = rates.tax_rate_id
8039        AND       RESULTS.tax_class      = 'OUTPUT'
8040        AND       RESULTS.org_id         = PTP.PARTY_ID
8041        AND       PTP.PARTY_TYPE_CODE    = 'OU'
8042        AND       RESULTS.org_id         =  ARP.ORG_ID
8043        AND       ARP.ORG_ID             =  l_org_id
8044        AND       ARP.SET_OF_BOOKS_ID    = SOB.SET_OF_BOOKS_ID
8045        AND       RATES.RECORD_TYPE_CODE = 'MIGRATED'
8046 
8047        --Added following conditions for Sync process
8048        AND      results.tax_code_id  = nvl(p_tax_id, results.tax_code_id)
8049 
8050        --Rerunability
8051        AND  not exists (select 1 from zx_taxes_b
8052        where  tax_regime_code = rates.tax_regime_code
8053        and    tax             = rates.tax
8054        and    content_owner_id= rates.content_owner_id
8055       )
8056        GROUP BY
8057       RATES.TAX_REGIME_CODE                 ,
8058       RATES.TAX                             ,
8059       RESULTS.TAX_PRECEDENCE                ,
8060       ptp.party_tax_profile_id              ,  --OU
8061       SOB.CURRENCY_CODE                 ,  --OU partitioned
8062       ARP.TAX_PRECISION                     ,  --OU partitioned
8063       ARP.TAX_MINIMUM_ACCOUNTABLE_UNIT      ,  --OU partitioned
8064       ARP.TAX_ROUNDING_RULE                 ,  --OU partitioned
8065       ARP.tax_use_product_exempt_flag       ,  --OU
8066       nvl(ARP.tax_use_customer_exempt_flag,'N'),  --OU
8067            CASE WHEN (nvl(arp.TAX_USE_LOC_EXC_RATE_FLAG,'N') = 'N'
8068                 AND nvl(arp.TAX_USE_PRODUCT_EXEMPT_FLAG,'N') = 'N')
8069            THEN 'N'
8070            ELSE 'Y'
8071             END  ,
8072       -- Bug 6006519/5654551, 'User' is not a valid exchange rate type
8073   --    decode(ARP.CROSS_CURRENCY_RATE_TYPE,'User','Corporate',ARP.CROSS_CURRENCY_RATE_TYPE)
8074       NULL
8075 
8076   ) TAX
8077   --YK:B:10/07/2004: Added the following condition.
8078   WHERE NOT EXISTS
8079     (select 1
8080      from   zx_taxes_b tax1
8081      where  tax.l_tax_regime_code = tax1.tax_regime_code
8082      and    tax.l_tax = tax1.tax
8083      and    tax.l_content_owner_id = tax1.content_owner_id
8084 
8085     )
8086   ;
8087 
8088   END IF;
8089 /* --Bug440704
8090   -- Unique Index : zx_taxes_tl_u1 (tax_id, language)
8091   INSERT INTO ZX_TAXES_TL
8092   (
8093    LANGUAGE                    ,
8094    SOURCE_LANG                 ,
8095    TAX_FULL_NAME               ,
8096    CREATION_DATE               ,
8097    CREATED_BY                  ,
8098    LAST_UPDATE_DATE            ,
8099    LAST_UPDATED_BY             ,
8100    LAST_UPDATE_LOGIN           ,
8101    TAX_ID
8102   )
8103 
8104   SELECT
8105       L.LANGUAGE_CODE          ,
8106       userenv('LANG')          ,
8107       decode(c.global_attribute_category,
8108              'JL.AR.ARXSUVAT.AR_VAT_TAX', c.description,
8109              'JL.BR.ARXSUVAT.AR_VAT_TAX', c.description,
8110              'JL.CO.ARXSUVAT.AR_VAT_TAX', c.description,
8111              B.TAX)            ,
8112       SYSDATE                  ,
8113       fnd_global.user_id       ,
8114       SYSDATE                  ,
8115       fnd_global.user_id       ,
8116       fnd_global.conc_login_id ,
8117       B.TAX_ID
8118   FROM
8119       FND_LANGUAGES   L,
8120       ZX_TAXES_B      B,
8121       (select rates.tax_regime_code             tax_regime_code,
8122               rates.tax                         tax,
8123               rates.content_owner_id            content_owner_id,
8124               categs.description                description,
8125               codes.global_attribute_category   global_attribute_category
8126        from   zx_rates_b              rates,
8127               ar_vat_tax_all_b        codes,
8128               jl_zz_ar_tx_categ_all   categs
8129        where  codes.vat_tax_id = nvl(rates.source_id, rates.tax_rate_id)
8130        and    codes.global_attribute_category in ('JL.AR.ARXSUVAT.AR_VAT_TAX',
8131                                                   'JL.BR.ARXSUVAT.AR_VAT_TAX',
8132                                                   'JL.CO.ARXSUVAT.AR_VAT_TAX')
8133        and    codes.global_attribute1 = to_char(categs.tax_category_id)
8134       )   C
8135   WHERE
8136       L.INSTALLED_FLAG in ('I', 'B')
8137   AND B.RECORD_TYPE_CODE = 'MIGRATED'
8138 
8139   -- LTE handling
8140   AND  b.tax_regime_code = c.tax_regime_code (+)
8141   AND  b.tax = c.tax (+)
8142   AND  b.content_owner_id = c.content_owner_id (+)
8143 
8144   AND  not exists
8145        (select NULL
8146         from   ZX_TAXES_TL T
8147         where  T.TAX_ID =  B.TAX_ID
8148         and    T.LANGUAGE = L.LANGUAGE_CODE);*/
8149 
8150 --Bug : 5092560 : This is to populate the ZX_TAXES_B.legal_reporting_status_def_val with '000000000000000'
8151 
8152 update zx_taxes_b_tmp
8153 set legal_reporting_status_def_val = '000000000000000'
8154 WHERE record_type_code = 'MIGRATED'
8155 AND tax_regime_code in (
8156   select distinct tax_regime_code from zx_regimes_b
8157   where country_code in (
8158   'BE',
8159   'CH',
8160   'CZ',
8161   'DE',
8162   'ES',
8163   'FR',
8164   'HU',
8165   'IT',
8166   'KP',
8167   'KR',
8168   'NO',
8169   'PL',
8170   'PT',
8171   'SK')
8172 )  ;
8173 
8174 --Bug Fix 5691957
8175 UPDATE zx_taxes_b_tmp tax SET taxable_basis_rule_flag = 'Y' WHERE
8176 EXISTS
8177 (SELECT 1 FROM  zx_rates_b rates,ar_vat_tax_all_b codes
8178           WHERE rates.tax_regime_code = tax.tax_regime_code
8179           AND   rates.tax             = tax.tax
8180           AND   rates.content_owner_id = tax.content_owner_id
8181           AND   rates.tax_rate_id = codes.vat_tax_id
8182           AND   codes.taxable_basis = 'PRIOR_TAX');
8183 
8184 EXCEPTION
8185   WHEN OTHERS THEN
8186     NULL;
8187 END;
8188 
8189 /*===========================================================================+
8190  | PROCEDURE
8191  |    create_zx_regimes
8192  |
8193  | IN
8194  |    p_tax_id : ar_vat_tax_all_b.vat_tax_id is passed when it is called from
8195  |               AR Tax Codes form for synchronization.
8196  |
8197  | OUT
8198  |
8199  | DESCRIPTION
8200  |     This routine creates records in zx_regimes_b/tl grouping by child
8201  |     records.
8202  |
8203  |
8204  | SCOPE - PRIVATE
8205  |
8206  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
8207  |
8208  | CALLED FROM
8209  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
8210  |
8211  | NOTES
8212  | 09/01/2004: Can be merged with P2P.
8213  | 09/24/2004: May need to implement unused lookup codes for LTE.
8214  |             Lookup type = FND_LOOKUPS : JLZZ_AR_TX_RULE_SET.
8215  |             Need to implement product checks.
8216  |
8217  | MODIFICATION HISTORY
8218  | 08/31/2004   Yoshimichi Konishi   Created.
8219  | 09/24/2004   Yoshimichi Konishi   Included LTE handling for _TL table.
8220  |
8221  +==========================================================================*/
8222 PROCEDURE create_zx_regimes (p_tax_id  NUMBER) AS
8223 BEGIN
8224 
8225   INSERT INTO
8226   ZX_REGIMES_B
8227   (
8228     TAX_REGIME_CODE                        ,
8229     PARENT_REGIME_CODE                     ,
8230     HAS_SUB_REGIME_FLAG                    ,
8231     COUNTRY_OR_GROUP_CODE                  ,
8232     COUNTRY_CODE                           ,
8233     GEOGRAPHY_TYPE                         ,
8234     EFFECTIVE_FROM                         ,
8235     EFFECTIVE_TO                           ,
8239     ROUNDING_RULE_CODE                     ,
8236     EXCHANGE_RATE_TYPE                     ,
8237     TAX_CURRENCY_CODE                      ,
8238     THRSHLD_GROUPING_LVL_CODE              ,
8240     TAX_PRECISION                          ,
8241     MINIMUM_ACCOUNTABLE_UNIT               ,
8242     TAX_STATUS_RULE_FLAG                   ,
8243     DEF_PLACE_OF_SUPPLY_TYPE_CODE          ,
8244     APPLICABILITY_RULE_FLAG                ,
8245     PLACE_OF_SUPPLY_RULE_FLAG              ,
8246     TAX_CALC_RULE_FLAG                     ,
8247     TAXABLE_BASIS_THRSHLD_FLAG             ,
8248     TAX_RATE_THRSHLD_FLAG                  ,
8249     TAX_AMT_THRSHLD_FLAG                   ,
8250     TAX_RATE_RULE_FLAG                     ,
8251     TAXABLE_BASIS_RULE_FLAG                ,
8252     DEF_INCLUSIVE_TAX_FLAG                 ,
8253     HAS_OTHER_JURISDICTIONS_FLAG           ,
8254     ALLOW_ROUNDING_OVERRIDE_FLAG           ,
8255     ALLOW_EXEMPTIONS_FLAG                  ,
8256     ALLOW_EXCEPTIONS_FLAG                  ,
8257     ALLOW_RECOVERABILITY_FLAG              ,
8258     -- RECOVERABILITY_OVERRIDE_FLAG           , Bug 3766372
8259     AUTO_PRVN_FLAG                         ,
8260     HAS_TAX_DET_DATE_RULE_FLAG             ,
8261     HAS_EXCH_RATE_DATE_RULE_FLAG           ,
8262     HAS_TAX_POINT_DATE_RULE_FLAG           ,
8263     USE_LEGAL_MSG_FLAG                     ,
8264     REGN_NUM_SAME_AS_LE_FLAG               ,
8265     DEF_REC_SETTLEMENT_OPTION_CODE         ,
8266     RECORD_TYPE_CODE                       ,
8267     ATTRIBUTE1                             ,
8268     ATTRIBUTE2                             ,
8269     ATTRIBUTE3                             ,
8270     ATTRIBUTE4                             ,
8271     ATTRIBUTE5                             ,
8272     ATTRIBUTE6                             ,
8273     ATTRIBUTE7                             ,
8274     ATTRIBUTE8                             ,
8275     ATTRIBUTE9                             ,
8276     ATTRIBUTE10                            ,
8277     ATTRIBUTE11                            ,
8278     ATTRIBUTE12                            ,
8279     ATTRIBUTE13                            ,
8280     ATTRIBUTE14                            ,
8281     ATTRIBUTE15                            ,
8282     ATTRIBUTE_CATEGORY                     ,
8283     DEF_REGISTR_PARTY_TYPE_CODE            ,
8284     REGISTRATION_TYPE_RULE_FLAG            ,
8285     TAX_INCLUSIVE_OVERRIDE_FLAG            ,
8286     REGIME_PRECEDENCE                      ,
8287     CROSS_REGIME_COMPOUNDING_FLAG          ,
8288     TAX_REGIME_ID                          ,
8289     GEOGRAPHY_ID                           ,
8290     THRSHLD_CHK_TMPLT_CODE                 ,
8291     PERIOD_SET_NAME                        ,
8292     REP_TAX_AUTHORITY_ID                   ,
8293     COLL_TAX_AUTHORITY_ID                  ,
8294     CREATED_BY                       ,
8295     CREATION_DATE                          ,
8296     LAST_UPDATED_BY                        ,
8297     LAST_UPDATE_DATE                       ,
8298     LAST_UPDATE_LOGIN                      ,
8299     REQUEST_ID                             ,
8300     PROGRAM_APPLICATION_ID                 ,
8301     PROGRAM_ID                             ,
8302     PROGRAM_LOGIN_ID
8303   )
8304   SELECT
8305     TAX_REGIME_CODE                        ,
8306     NULL                                   ,--PARENT_REGIME_CODE
8307    'N'                                     ,--HAS_SUB_REGIME_FLAG
8308     NULL                                   ,--COUNTRY_OR_GROUP_CODE
8309     NULL                                   ,--COUNTRY_CODE
8310     NULL                                   ,--GEOGRAPHY_TYPE
8311     EFFECTIVE_FROM                         ,
8312     NULL                                   ,--EFFECTIVE_TO
8313     NULL                                   ,--EXCHANGE_RATE_TYPE
8314     NULL                                   ,--TAX_CURRENCY_CODE
8315     NULL                                   ,--THRSHLD_GROUPING_LVL_CODE
8316     NULL                                   ,--ROUNDING_RULE_CODE
8317     NULL                                   ,--TAX_PRECISION
8318     NULL                                   ,--MINIMUM_ACCOUNTABLE_UNIT
8319     'N'                                    ,--TAX_STATUS_RULE_FLAG
8320     'SHIP_TO_BILL_TO'                      ,--DEF_PLACE_OF_SUPPLY_TYPE_CODE
8321    'N'                                     ,--APPLICABILITY_RULE_FLAG
8322    'N'                                     ,--PLACE_OF_SUPPLY_RULE_FLAG
8323    'N'                                     ,--TAX_CALC_RULE_FLAG
8324    'N'                                     ,--TAXABLE_BASIS_THRSHLD_FLAG
8325    'N'                                     ,--TAX_RATE_THRSHLD_FLAG
8326    'N'                                     ,--TAX_AMT_THRSHLD_FLAG
8327    'N'                                     ,--TAX_RATE_RULE_FLAG
8328    'N'                                     ,--TAXABLE_BASIS_RULE_FLAG
8329    'N'                                     ,--DEF_INCLUSIVE_TAX_FLAG
8330    'N'                                     ,--HAS_OTHER_JURISDICTIONS_FLAG
8331    'N'                                     ,--ALLOW_ROUNDING_OVERRIDE_FLAG
8332    'N'                                     ,--ALLOW_EXEMPTIONS_FLAG
8333    'N'                                     ,--ALLOW_EXCEPTIONS_FLAG
8334    'N'                                     ,--ALLOW_RECOVERABILITY_FLAG
8335    -- 'N'                                     ,--RECOVERABILITY_OVERRIDE_FLAG : Bug 3766372
8336    'N'                                     ,--AUTO_PRVN_FLAG
8337    'N'                                     ,--HAS_TAX_DET_DATE_RULE_FLAG
8338    'N'                                     ,--HAS_EXCH_RATE_DATE_RULE_FLAG
8339    'N'                                     ,--HAS_TAX_POINT_DATE_RULE_FLAG
8340    'N'                                     ,--USE_LEGAL_MSG_FLAG
8341    'N'                                     ,--REGN_NUM_SAME_AS_LE_FLAG
8345     NULL       ,
8342    'N'                                     ,--DEF_REC_SETTLE_OPTION_CODE
8343     'MIGRATED'                     ,--RECORD_TYPE_CODE
8344     NULL       ,
8346     NULL       ,
8347     NULL       ,
8348     NULL       ,
8349     NULL       ,
8350     NULL       ,
8351     NULL       ,
8352     NULL       ,
8353     NULL       ,
8354     NULL       ,
8355     NULL       ,
8356     NULL       ,
8357     NULL       ,
8358     NULL       ,
8359     NULL       ,
8360     'SHIP_TO_SITE'                      ,--DEF_REGISTR_PARTY_TYPE_CODE
8361     'N'                                    ,--REGISTRATION_TYPE_RULE_FLAG
8362     'Y'                                    ,--TAX_INCLUSIVE_OVERRIDE_FLAG /** Set it to Y. Need P2P Change. **/
8363     NULL                                   ,--REGIME_PRECEDENCE  /** Can be updated for compounding migration **/
8364    'N'                                     ,--CROSS_REGIME_COMPOUNDING_FLAG
8365     ZX_REGIMES_B_S.NEXTVAL                 ,--TAX_REGIME_ID
8366     NULL                                   ,--GEOGRAPHY_ID
8367     NULL                                   ,--THRSHLD_CHK_TMPLT_CODE
8368     NULL                                   ,--PERIOD_SET_NAME
8369     NULL                                   ,--REP_TAX_AUTHORITY_ID
8370     NULL                                   ,--COLL_TAX_AUTHORITY_ID
8371     fnd_global.user_id                     ,
8372     SYSDATE                                ,
8373     fnd_global.user_id                     ,
8374     SYSDATE                                ,
8375     fnd_global.conc_login_id               ,
8376     fnd_global.conc_request_id             ,--Request Id
8377     fnd_global.prog_appl_id                ,--Program Application ID
8378     fnd_global.conc_program_id             ,--Program Id
8379     fnd_global.conc_login_id                --Program Login ID
8380 
8381   FROM
8382   (
8383   SELECT RATES.TAX_REGIME_CODE                 TAX_REGIME_CODE,
8384          min(RATES.EFFECTIVE_FROM)             EFFECTIVE_FROM
8385   FROM
8386    ZX_RATES_B                RATES
8387   WHERE
8388          RATES.RECORD_TYPE_CODE = 'MIGRATED'
8389 
8390   --Added following conditions for Sync process
8391   --YK:D:10/08/2004: Modified. Needs testing.
8392   AND  rates.tax_rate_id  = decode(rates.tax_class, 'OUTPUT', nvl(p_tax_id, rates.tax_rate_id),
8393                                                     rates.tax_rate_id)
8394 
8395   --Rerunability
8396   AND  not exists (select 1 from zx_regimes_b
8397        where  tax_regime_code =  rates.tax_regime_code
8398       )
8399   GROUP BY
8400     RATES.TAX_REGIME_CODE
8401   );
8402 
8403 
8404   -- Populate _TL table
8405   INSERT INTO ZX_REGIMES_TL
8406   (
8407    LANGUAGE                    ,
8408    SOURCE_LANG                 ,
8409    TAX_REGIME_NAME             ,
8410    CREATION_DATE               ,
8411    CREATED_BY                  ,
8412    LAST_UPDATE_DATE            ,
8413    LAST_UPDATED_BY             ,
8414    LAST_UPDATE_LOGIN           ,
8415    TAX_REGIME_ID
8416 
8417   )
8418   SELECT
8419       L.LANGUAGE_CODE          ,
8420       userenv('LANG')          ,
8421       decode(d.global_attribute_category,
8422              'JL.AR.ARXSYSPA.SYS_PARAMETERS', d.meaning,
8423              'JL.BR.ARXSYSPA.SYS_PARAMETERS', d.meaning,
8424              'JL.CO.ARXSYSPA.SYS_PARAMETERS', d.meaning,
8425              B.TAX_REGIME_CODE),
8426       SYSDATE                  ,
8427       fnd_global.user_id       ,
8428       SYSDATE                  ,
8429       fnd_global.user_id       ,
8430       fnd_global.conc_login_id ,
8431       B.TAX_REGIME_ID
8432   FROM
8433       FND_LANGUAGES  L,
8434       ZX_REGIMES_B   B,
8435       (select rates.tax_regime_code             tax_regime_code,
8436               lkups.meaning                     meaning,
8437               codes.global_attribute_category   global_attribute_category
8438        from   zx_rates_b                rates,
8439               ar_vat_tax_all_b          codes,
8440               ar_system_parameters_all  params,
8441               fnd_lookups               lkups
8442        where  codes.vat_tax_id = nvl(rates.source_id, rates.tax_rate_id)
8443        AND    decode(l_multi_org_flag,'N',l_org_id,codes.org_id) = decode(l_multi_org_flag,'N',l_org_id,params.org_id)
8444        and    params.global_attribute13 = lkups.lookup_code
8445        and    params.global_attribute_category in ('JL.AR.ARXSYSPA.SYS_PARAMETERS',
8446                                                    'JL.BR.ARXSYSPA.SYS_PARAMETERS',
8447                                                    'JL.CO.ARXSYSPA.SYS_PARAMETERS')
8448        and    lkups.lookup_type = 'JLZZ_AR_TX_RULE_SET'
8449        group  by rates.tax_regime_code,
8450                  lkups.meaning,
8451                  codes.global_attribute_category
8452       )  D
8453   WHERE
8454       L.INSTALLED_FLAG in ('I', 'B')
8455   AND RECORD_TYPE_CODE = 'MIGRATED'
8456 
8457   --
8458   AND  b.tax_regime_code = d.tax_regime_code (+)
8459 
8460   AND  not exists
8461        (select NULL
8462        from ZX_REGIMES_TL T
8463        where T.TAX_REGIME_ID =  B.TAX_REGIME_ID
8464        and T.LANGUAGE = L.LANGUAGE_CODE);
8465 EXCEPTION
8466   WHEN OTHERS THEN
8467     NULL;
8468 END;
8469 
8470 /*===========================================================================+
8471  | PROCEDURE
8472  |    migrate_fnd_lookups
8473  |
8474  | IN
8475  |
8476  | OUT
8477  |
8478  | DESCRIPTION
8479  |    This routine processes AR Tax_setup related fnd_lookups and creates
8480  |    appropriate ZX lookups in FND_LOOKUPS.
8481  |    AR_VAT_TAX_ALL_B.VAT_TRANSACTION_TYPE --> ZX_RATES.VAT_TRANSACTION_TYPE
8482  |    AR_VAT_TAX_ALL_B.TAX_TYPE --> ZX_TAXES_B.TAX_TYPE_CODE
8483  |
8484  | SCOPE - PRIVATE
8485  |
8486  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
8487  |
8488  | CALLED FROM
8489  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
8490  |
8491  | NOTES
8492  |    This procedure must be merged with AP tax def migration.
8493  |
8494  | MODIFICATION HISTORY
8495  | 09/16/2004   Yoshimichi Konishi   Created.
8496  |
8497  +==========================================================================*/
8498 PROCEDURE migrate_fnd_lookups AS
8499 BEGIN
8500 INSERT INTO FND_LOOKUP_VALUES
8501   (
8502    LOOKUP_TYPE            ,
8503    LANGUAGE               ,
8504    LOOKUP_CODE            ,
8505    MEANING                ,
8506    DESCRIPTION            ,
8507    ENABLED_FLAG           ,
8508    START_DATE_ACTIVE      ,
8509    END_DATE_ACTIVE        ,
8510    SOURCE_LANG            ,
8511    SECURITY_GROUP_ID      ,
8512    VIEW_APPLICATION_ID    ,
8513    TERRITORY_CODE         ,
8514    ATTRIBUTE_CATEGORY     ,
8515    ATTRIBUTE1             ,
8516    ATTRIBUTE2             ,
8517    ATTRIBUTE3             ,
8518    ATTRIBUTE4             ,
8519    ATTRIBUTE5             ,
8520    ATTRIBUTE6             ,
8521    ATTRIBUTE7             ,
8522    ATTRIBUTE8             ,
8523    ATTRIBUTE9             ,
8524    ATTRIBUTE10            ,
8525    ATTRIBUTE11            ,
8526    ATTRIBUTE12            ,
8527    ATTRIBUTE13            ,
8528    ATTRIBUTE14            ,
8529    ATTRIBUTE15            ,
8530    TAG                    ,
8531    CREATION_DATE          ,
8532    CREATED_BY             ,
8533    LAST_UPDATE_DATE       ,
8534    LAST_UPDATED_BY        ,
8535    LAST_UPDATE_LOGIN
8536   )
8537  /*
8538  SELECT
8539   'ZX_TAX_TYPE_CATEGORY'  ,
8540    LANGUAGE               ,
8541    LOOKUP_CODE            ,
8542    MEANING                ,
8543    DESCRIPTION            ,
8544    ENABLED_FLAG           ,
8545    nvl(START_DATE_ACTIVE, to_date('01/01/1951','DD/MM/YYYY')), --Bug 5589178
8546    END_DATE_ACTIVE        ,
8547    SOURCE_LANG            ,
8548    SECURITY_GROUP_ID      ,
8549    0                      ,
8550    TERRITORY_CODE         ,
8551    ATTRIBUTE_CATEGORY     ,
8552    ATTRIBUTE1             ,
8553    ATTRIBUTE2             ,
8554    ATTRIBUTE3             ,
8555    ATTRIBUTE4             ,
8556    ATTRIBUTE5             ,
8557    ATTRIBUTE6             ,
8558    ATTRIBUTE7             ,
8559    ATTRIBUTE8             ,
8560    ATTRIBUTE9             ,
8561    ATTRIBUTE10            ,
8565    ATTRIBUTE14            ,
8562    ATTRIBUTE11            ,
8563    ATTRIBUTE12            ,
8564    ATTRIBUTE13            ,
8566    ATTRIBUTE15            ,
8567    TAG                    ,
8568    SYSDATE                ,
8569    fnd_global.user_id     ,
8570    SYSDATE                ,
8571    fnd_global.user_id     ,
8572    fnd_global.conc_login_id
8573   FROM FND_LOOKUP_VALUES ap_lookups
8574   WHERE ap_lookups.LOOKUP_TYPE = 'TAX TYPE'
8575   AND NOT EXISTS
8576       (select 1 from FND_LOOKUP_VALUES
8577        where  lookup_type = 'ZX_TAX_TYPE_CATEGORY'
8578        and    lookup_code = ap_lookups.lookup_code
8579        and    view_application_id = ap_lookups.view_application_id
8580        and    meaning             = ap_lookups.meaning
8581        and    security_group_id   = ap_lookups.security_group_id
8582        and    language            = ap_lookups.language)
8583   -- YK:9/17/2004
8584   -- O2C Migration changes
8585   -- Select statement above is copied from P2P migration.
8586   UNION */
8587   SELECT
8588   'ZX_TAX_TYPE_CATEGORY'  ,
8589    LANGUAGE               ,
8590    LOOKUP_CODE            ,
8591    MEANING                ,
8592    DESCRIPTION            ,
8593    ENABLED_FLAG           ,
8594    nvl(START_DATE_ACTIVE, to_date('01/01/1951','DD/MM/YYYY')), --Bug 5589178
8595    END_DATE_ACTIVE        ,
8596    SOURCE_LANG            ,
8597    SECURITY_GROUP_ID      ,
8598    0                      ,
8599    TERRITORY_CODE         ,
8600    ATTRIBUTE_CATEGORY     ,
8601    ATTRIBUTE1             ,
8602    ATTRIBUTE2             ,
8603    ATTRIBUTE3             ,
8604    ATTRIBUTE4             ,
8605    ATTRIBUTE5             ,
8606    ATTRIBUTE6             ,
8607    ATTRIBUTE7             ,
8608    ATTRIBUTE8             ,
8609    ATTRIBUTE9             ,
8610    ATTRIBUTE10            ,
8611    ATTRIBUTE11            ,
8612    ATTRIBUTE12            ,
8613    ATTRIBUTE13            ,
8614    ATTRIBUTE14            ,
8615    ATTRIBUTE15            ,
8616    TAG                    ,
8617    SYSDATE                ,
8618    fnd_global.user_id     ,
8619    SYSDATE                ,
8620    fnd_global.user_id     ,
8621    fnd_global.conc_login_id
8622   FROM FND_LOOKUP_VALUES ar_lookups
8623   WHERE ar_lookups.LOOKUP_TYPE = 'TAX_TYPE'
8624 /*   AND NOT EXISTS
8625       (select 1 from FND_LOOKUP_VALUES
8626        where  lookup_type = 'ZX_TAX_TYPE_CATEGORY'
8627        and    lookup_code = ar_lookups.lookup_code
8628        and    view_application_id = ar_lookups.view_application_id
8629        and    meaning             = ar_lookups.meaning
8630        and    security_group_id   = ar_lookups.security_group_id
8631        and    language            = ar_lookups.language);*/
8632 -- Changed the re-runnability check
8633    AND NOT EXISTS
8634       (select 1 from FND_LOOKUP_VALUES
8635        where  lookup_type = 'ZX_TAX_TYPE_CATEGORY'
8636        and    lookup_code = ar_lookups.lookup_code)
8637    and NOT EXISTS
8638       (select 1 from FND_LOOKUP_VALUES
8639        where  lookup_type = 'ZX_TAX_TYPE_CATEGORY'
8640        and    meaning = ar_lookups.meaning) ;
8641 
8642 --Bug 5517908 : Creating the AR lookupcodes with Meaning as MEANING||' '||LOOKUP_CODE
8643 -- to avoid the FND_LOOKUP_VALUES_U2 violation when ap and ar lookup codes have the same meaning with different lookup_codes.
8644 
8645 INSERT INTO FND_LOOKUP_VALUES
8646   (
8647    LOOKUP_TYPE            ,
8648    LANGUAGE               ,
8649    LOOKUP_CODE            ,
8650    MEANING                ,
8651    DESCRIPTION            ,
8652    ENABLED_FLAG           ,
8653    START_DATE_ACTIVE      ,
8654    END_DATE_ACTIVE        ,
8655    SOURCE_LANG            ,
8656    SECURITY_GROUP_ID      ,
8657    VIEW_APPLICATION_ID    ,
8658    TERRITORY_CODE         ,
8659    ATTRIBUTE_CATEGORY     ,
8660    ATTRIBUTE1             ,
8661    ATTRIBUTE2             ,
8662    ATTRIBUTE3             ,
8663    ATTRIBUTE4             ,
8664    ATTRIBUTE5             ,
8665    ATTRIBUTE6             ,
8666    ATTRIBUTE7             ,
8667    ATTRIBUTE8             ,
8668    ATTRIBUTE9             ,
8669    ATTRIBUTE10            ,
8670    ATTRIBUTE11            ,
8671    ATTRIBUTE12            ,
8672    ATTRIBUTE13            ,
8673    ATTRIBUTE14            ,
8674    ATTRIBUTE15            ,
8675    TAG                    ,
8676    CREATION_DATE          ,
8677    CREATED_BY             ,
8678    LAST_UPDATE_DATE       ,
8679    LAST_UPDATED_BY        ,
8680    LAST_UPDATE_LOGIN
8681   )
8682 SELECT
8683   'ZX_TAX_TYPE_CATEGORY'  ,
8684    LANGUAGE               ,
8685    LOOKUP_CODE            ,
8686    MEANING||' '||LOOKUP_CODE ,
8687    DESCRIPTION            ,
8688    ENABLED_FLAG           ,
8689    nvl(START_DATE_ACTIVE, to_date('01/01/1951','DD/MM/YYYY')), --Bug 5589178
8690    END_DATE_ACTIVE        ,
8691    SOURCE_LANG            ,
8692    SECURITY_GROUP_ID      ,
8693    0                      ,
8694    TERRITORY_CODE         ,
8695    ATTRIBUTE_CATEGORY     ,
8696    ATTRIBUTE1             ,
8697    ATTRIBUTE2             ,
8698    ATTRIBUTE3             ,
8699    ATTRIBUTE4             ,
8700    ATTRIBUTE5             ,
8701    ATTRIBUTE6             ,
8702    ATTRIBUTE7             ,
8703    ATTRIBUTE8             ,
8704    ATTRIBUTE9             ,
8705    ATTRIBUTE10            ,
8706    ATTRIBUTE11            ,
8707    ATTRIBUTE12            ,
8708    ATTRIBUTE13            ,
8709    ATTRIBUTE14            ,
8710    ATTRIBUTE15            ,
8711    TAG                    ,
8712    SYSDATE                ,
8713    fnd_global.user_id     ,
8714    SYSDATE                ,
8715    fnd_global.user_id     ,
8716    fnd_global.conc_login_id
8717   FROM FND_LOOKUP_VALUES ar_lookups
8718   WHERE ar_lookups.LOOKUP_TYPE = 'TAX_TYPE'
8719 -- Changed the re-runnability check
8720    AND NOT EXISTS
8721       (select 1 from FND_LOOKUP_VALUES
8722        where  lookup_type = 'ZX_TAX_TYPE_CATEGORY'
8723        and    lookup_code = ar_lookups.lookup_code)
8724    and EXISTS
8725       (select 1 from FND_LOOKUP_VALUES
8726        where  lookup_type = 'ZX_TAX_TYPE_CATEGORY'
8727        and    meaning = ar_lookups.meaning) ;
8728 
8729 EXCEPTION
8730   WHEN OTHERS THEN
8731     NULL;
8732 END;
8733 
8734 
8735 
8736 /*===========================================================================+
8737  | PROCEDURE
8738  |    migrate_profile
8739  |
8740  | IN
8741  |
8742  | OUT
8743  |
8744  | DESCRIPTION
8745  |     This routine updates zx_tax.allow_manual_entry_flag with the value
8746  |     defined at AR System Profile (AR_ALLOW_MANUAL_TAX_LINES) for Operating
8747  |     Unit.
8748  |
8749  |     Relationship of profile and operating unit:
8750  |     AR system Profile - Responsibility -< Operating Unit
8751  |
8752  |     The program fetches most frequently used profile value for OU.
8753  |
8754  | SCOPE - PRIVATE
8755  |
8756  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
8757  |
8758  | CALLED FROM
8759  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
8760  |
8761  | NOTES
8762  | 09/01/2004: Implement synch logic.
8763  |
8764  | MODIFICATION HISTORY
8765  | 08/31/2004   Yoshimichi Konishi   Created.
8766  | 10/13/2004   Yoshimichi Konishi   Rewrote the procedure due to resolve
8767  |                                   performance issue.
8768  +==========================================================================*/
8769 PROCEDURE migrate_profile AS
8770 cursor allow_tax_line_cur is
8771 select DISTINCT
8772        fpov2.profile_option_value
8773 from   fnd_profile_option_values fpov1, fnd_profile_option_values fpov2
8774 where  fpov1.profile_option_id = (select fpo.profile_option_id
8775                                   from   fnd_profile_options fpo
8776                                   where  fpo.profile_option_name = 'ZX_ALLOW_MANUAL_TAX_LINES')
8777 and fpov1.level_id = 10003
8778 and fpov1.application_id = 235
8779 AND fpov2.profile_option_id = (select fpo.profile_option_id
8780                                          from   fnd_profile_options fpo
8781                                          where  fpo.profile_option_name = 'ORG_ID')
8782 and fpov2.level_id = 10003
8783 and fpov2.application_id = 0
8784 AND fpov2.level_value=fpov1.level_value
8785 AND fpov2.level_value_application_id=fpov1.level_value_application_id
8786 AND fpov1.profile_option_value = 'N'
8787 MINUS
8788 select DISTINCT
8789        fpov2.profile_option_value
8790 from   fnd_profile_option_values fpov1, fnd_profile_option_values fpov2
8791 where  fpov1.profile_option_id = (select fpo.profile_option_id
8792                                    from   fnd_profile_options fpo
8793                                    where  fpo.profile_option_name = 'ZX_ALLOW_MANUAL_TAX_LINES')
8794 and fpov1.level_id = 10003
8795 and fpov1.application_id = 235
8796 AND fpov2.profile_option_id = (select fpo.profile_option_id
8797                                          from   fnd_profile_options fpo
8798                                          where  fpo.profile_option_name = 'ORG_ID')
8799 and fpov2.level_id = 10003
8800 and fpov2.application_id = 0
8801 AND fpov2.level_value=fpov1.level_value
8802 AND fpov2.level_value_application_id=fpov1.level_value_application_id
8803 AND fpov1.profile_option_value = 'Y';
8804 
8805 type num_type is table of number;
8806 type num15_type is table of number;
8807 type vchar240_type is table of varchar2(240);
8808 TYPE num_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
8809 
8810 l_lvl_val num_type;
8811 l_lvl_val_app_id num15_type;
8812 --l_org_id vchar240_type;
8813 l_org_id               num_tbl_type;
8814 
8815 j pls_integer;
8816 
8817 BEGIN
8818   open allow_tax_line_cur;
8819   fetch allow_tax_line_cur bulk collect into l_org_id;
8820 
8821   if l_org_id.count <> 0 then
8822      for i in 1..l_org_id.count LOOP
8823      BEGIN
8824 
8825      update zx_taxes_b_tmp
8826         set    allow_manual_entry_flag = 'N',
8827          allow_tax_override_flag = 'N',
8828          object_version_number = object_version_number + 1
8829         where  content_owner_id = (select party_tax_profile_id from zx_party_tax_profile
8830            where  party_id= to_number(l_org_id(i))
8831            and    party_type_code='OU')
8832              and record_type_code='MIGRATED';
8833 
8834       EXCEPTION WHEN OTHERS THEN
8835         arp_util_tax.debug('Failed to update zx_taxes_b due to exception in migrate_profile for org:'
8836                            ||l_org_id(i)||sqlerrm);
8837         END;
8838 
8839        BEGIN
8840        update zx_status_b_tmp
8841        set allow_rate_override_flag = 'N',
8842            object_version_number = object_version_number + 1
8843              where content_owner_id = (select party_tax_profile_id from zx_party_tax_profile
8844            where  party_id= to_number(l_org_id(i))
8845            and    party_type_code='OU')
8846              and record_type_code='MIGRATED';
8847 
8848       EXCEPTION WHEN OTHERS THEN
8849         arp_util_tax.debug('Failed to update zx_status_b due to exception in migrate_profile for org:'
8850                            ||l_org_id(i)||sqlerrm);
8851       END;
8852 
8853       END LOOP;  -- end l_org_id.count LOOP
8854     end if;  -- end if l_org_id.count <> 0
8855 
8856 EXCEPTION
8857   WHEN OTHERS THEN
8858     NULL;
8859 END;
8860 
8861 
8862 /*===========================================================================+
8863  | PROCEDURE
8864  |    backward_updation
8865  |
8866  | IN
8867  |
8868  | OUT
8869  |
8870  | DESCRIPTION
8871  |    Updates the following tables with information on tax regime code,
8872  |    tax, and status code. They will help us to migrate data in these
8873  |    entities in future eBTax migration.
8874  |      - AR_VAT_TAX_ALL_B
8875  |      - RA_TAX_EXEMPTIONS_ALL (Handled in exemption migration)
8876  |      - GL_TAX_OPTIONS        (Handled in GL Tax Option migration)
8877  |      - RA_ITEM_EXCEPTIONS    (Handled in exception migration)
8878  |
8879  | SCOPE - PRIVATE
8880  |
8881  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
8882  |
8883  | CALLED FROM
8884  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
8885  |
8886  | NOTES
8887  | 09/17/2004: Need to implement synch logic.
8888  |             Need to implement GL_TAX_OPTIONS updation for option 1.
8889  |             There's two options to update ra_tax_exemptions.
8890  |             May need to work on ra_item_exception_rates.
8891  |             Need to consider Non-Taxable Tax Type at Account level.
8892  |
8893  | 05/27/2005: Do we need to synchronize logic in this procedure?
8894  |             The answer is no. Because...
8895  |             1. During pre-migration phase :
8896  |                Tax Regime Code, Tax, Tax Status Code in AR Tax Codes
8897  |                form are not exposed in UI. Therefore we do not need
8898  |                to synchhronize the data.
8899  |             2. After eBTax migration :
8900  |                Synchronization should be done through table handler
8901  |                in AR Tax Codes form. Therefore we do not need to
8902  |                call this procedure for synchronization.
8903  |
8904  | MODIFICATION HISTORY
8905  | 09/17/2004   Yoshimichi Konishi   Created.
8906  | 05/27/2005   Yoshimichi Konishi   Bug 4216592. Build dependency with
8907  |                                   ar_vat_tax_all_b has been resolved.
8908  +==========================================================================*/
8909 PROCEDURE backward_updation AS
8910   type num_type is table of number(15);
8911   type code_type is table of varchar2(50);
8912   type code_type2 is table of varchar2(30);
8913 
8914   lc_org_id          num_type;
8915   lc_rate_code_id    num_type;
8916 
8917   lc_tax_code        code_type;
8918   lc_tax_type_code   code_type;
8919   lc_tax_regime_code code_type2;
8920   lc_tax             code_type2;
8921   lc_status_code     code_type2;
8922 
8923 
8924   l_tax_regime_code  varchar2(30);
8925   l_tax              varchar2(30);
8926   l_tax_status_code  varchar2(30);
8927   l_co_id            number;
8928 
8929 BEGIN
8930   -- backward updation: ar_vat_tax_all_b
8931   SELECT rates.tax_regime_code,
8932          rates.tax,
8933          rates.tax_status_code,
8934          rates.tax_rate_id
8935   BULK COLLECT INTO
8936          lc_tax_regime_code,
8937          lc_tax,
8938          lc_status_code,
8939          lc_rate_code_id
8940   FROM   zx_rates_b         rates,
8941          ar_vat_tax_all_b   tax_code
8942   WHERE  tax_code.vat_tax_id = rates.tax_rate_id
8943   AND    rates.record_type_code = 'MIGRATED'
8944   AND    tax_code.global_attribute_category
8945            IN ('JL.AR.ARXSUVAT.AR_VAT_TAX',
8946                'JL.BR.ARXSUVAT.Tax Information',    -- Bug 4868971
8947                'JL.CO.ARXSUVAT.AR_VAT_TAX');
8948 
8949 arp_util_tax.debug('sel ar_vat_tax_all_b');
8950 
8951   forall i in 1..lc_rate_code_id.last
8952     update ar_vat_tax_all_b
8953     set    tax_regime_code = lc_tax_regime_code(i),
8954            tax = lc_tax(i),
8955            tax_status_code = lc_status_code(i)
8956     where  vat_tax_id = lc_rate_code_id(i);
8957     -- YK:9/17/2004: May need limit clause as per performance team's
8958     -- guideline.
8959 
8960 arp_util_tax.debug('upd ar_vat_all_b');
8961 
8962 EXCEPTION
8963   WHEN OTHERS THEN
8964     NULL;
8965 END;
8966 
8967 /*===========================================================================+
8968  | PROCEDURE
8969  |   create_tax_classifications
8970  |
8971  | IN
8972  |   p_tax_id
8973  |
8974  | OUT
8975  |
8976  | DESCRIPTION
8977  |   This procedure populates output tax classification using AR Tax Codes.
8978  |
8979  | SCOPE - PRIVATE
8980  |
8981  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
8982  |
8983  | CALLED FROM
8984  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
8985  |
8986  | NOTES
8987  |
8988  | MODIFICATION HISTORY
8989  | 09/17/2004   Yoshimichi Konishi   Created.
8990  |
8991  +==========================================================================*/
8992 /* For AR Tax codes and Groups */
8993 PROCEDURE create_tax_classifications (p_tax_id   NUMBER) AS
8994 BEGIN
8995 
8996 for cursor_rec in
8997 (
8998 select DISTINCT code.tax_code
8999 FROM   AR_VAT_TAX_ALL_B           CODE,
9000        AR_SYSTEM_PARAMETERS_ALL   PARAM
9001 WHERE  code.org_id = param.org_id
9002        -- Bug 4905771
9003        -- Eliminating AR Tax Codes created for tax vendor
9004        -- integration
9005 AND    (upper(code.tax_code) NOT IN ('STATE', 'COUNTY', 'CITY')
9006         OR    param.tax_database_view_set NOT IN ('_A', '_V')
9007        )
9008 )
9009 
9010 LOOP
9011 
9012     INSERT INTO FND_LOOKUP_VALUES
9013   (
9014    LOOKUP_TYPE            ,
9015    LANGUAGE               ,
9016    LOOKUP_CODE            ,
9017    MEANING                ,
9018    DESCRIPTION            ,
9019    ENABLED_FLAG           ,
9020    START_DATE_ACTIVE      ,
9021    END_DATE_ACTIVE        ,
9022    SOURCE_LANG            ,
9023    SECURITY_GROUP_ID      ,
9024    VIEW_APPLICATION_ID    ,
9025    TERRITORY_CODE         ,
9026    ATTRIBUTE_CATEGORY     ,
9027    ATTRIBUTE1             ,
9028    ATTRIBUTE2             ,
9029    ATTRIBUTE3             ,
9030    ATTRIBUTE4             ,
9031    ATTRIBUTE5             ,
9032    ATTRIBUTE6             ,
9033    ATTRIBUTE7             ,
9034    ATTRIBUTE8             ,
9035    ATTRIBUTE9             ,
9036    ATTRIBUTE10            ,
9037    ATTRIBUTE11            ,
9038    ATTRIBUTE12            ,
9039    ATTRIBUTE13            ,
9040    ATTRIBUTE14            ,
9041    ATTRIBUTE15            ,
9042    TAG                    ,
9043    CREATION_DATE          ,
9044    CREATED_BY             ,
9045    LAST_UPDATE_DATE       ,
9046    LAST_UPDATED_BY        ,
9047    LAST_UPDATE_LOGIN
9048   )
9049   SELECT
9050   'ZX_OUTPUT_CLASSIFICATIONS',--LOOKUP_TYPE
9051    fln.LANGUAGE_CODE       ,  --LANGUAGE
9052    codes.LOOKUP_CODE       ,  --LOOKUP_CODE
9053    codes.LOOKUP_CODE       ,  --MEANING
9054    codes.description       ,  --DESCRIPTION
9055     'Y'                    ,  --ENABLED_FLAG
9056    codes.START_DATE_ACTIVE ,  --START_DATE_ACTIVE
9057    NULL                    ,  --END_DATE_ACTIVE
9058    userenv('LANG')         ,  --SOURCE_LANG
9059    0                       ,  --SECURITY_GROUP_ID
9060    0                       ,  --VIEW_APPLICATION_ID
9061    NULL                    ,  --TERRITORY_CODE
9062    NULL                    ,  --ATTRIBUTE_CATEGORY
9063    NULL                    ,  --ATTRIBUTE1
9064    NULL                    ,  --ATTRIBUTE2
9065    NULL                    ,  --ATTRIBUTE3
9066    NULL                    ,  --ATTRIBUTE4
9067    NULL                    ,  --ATTRIBUTE5
9068    NULL                    ,  --ATTRIBUTE6
9069    NULL                    ,  --ATTRIBUTE7
9070    NULL                    ,  --ATTRIBUTE8
9071    NULL                    ,  --ATTRIBUTE9
9072    NULL                    ,  --ATTRIBUTE10
9073    NULL                    ,  --ATTRIBUTE11
9074    NULL                    ,  --ATTRIBUTE12
9075    NULL                    ,  --ATTRIBUTE13
9076    NULL                    ,  --ATTRIBUTE14
9077    NULL                    ,  --ATTRIBUTE15
9078    codes.tag               ,  --TAG  --Bug 4562058
9082    fnd_global.user_id      ,  --LAST_UPDATED_BY
9079    SYSDATE                 ,  --CREATION_DATE
9080    -1087                   ,  --CREATED_BY --Bug 4562058
9081    SYSDATE                 ,  --LAST_UPDATE_DATE
9083    fnd_global.conc_login_id   --LAST_UPDATE_LOGIN
9084   FROM
9085   (
9086   SELECT
9087        CASE WHEN LENGTHB(codes.tax_code) > 30
9088       THEN SUBSTRB(codes.tax_code, 1, 24) ||ZX_MIGRATE_UTIL.GET_NEXT_SEQID('ZX_TAXES_B_S')
9089             ELSE codes.tax_code
9090        END  LOOKUP_CODE,
9091        CASE WHEN LENGTHB(codes.tax_code) > 30
9092       THEN codes.tax_code
9093       ELSE
9094             NULL
9095   END  TAG,  --Bug 4562058
9096        codes.description DESCRIPTION,
9097        (SELECT MIN(codes.start_date) FROM AR_VAT_TAX_ALL_B WHERE tax_code =  cursor_rec.tax_code) START_DATE_ACTIVE
9098   FROM
9099        ar_vat_tax_all_b   codes
9100   WHERE
9101        -- Bug 4626074 : Create tax classif code for location
9102        -- codes.tax_type <> 'LOCATION'
9103   codes.vat_tax_id  = NVL(p_tax_id, codes.vat_tax_id)
9104   AND codes.tax_code = cursor_rec.tax_code
9105   AND ROWNUM =1
9106   ) codes,fnd_languages fln
9107    where fln.installed_flag in ('I','B')
9108   AND NOT EXISTS
9109       (select 1
9110        from   fnd_lookup_values  flv
9111        where  SUBSTRB(flv.lookup_code, 1, 24) = CASE WHEN LENGTHB(codes.lookup_code) > 30
9112                                                 THEN SUBSTRB(codes.lookup_code, 1, 24)
9113                                                 ELSE codes.lookup_code
9114                                                 END
9115        and    flv.lookup_type = 'ZX_OUTPUT_CLASSIFICATIONS'
9116        and    SUBSTRB(flv.meaning, 1, 24)     = CASE WHEN LENGTHB(codes.lookup_code) > 30
9117                                                 THEN SUBSTRB(codes.lookup_code, 1, 24)
9118                                                 ELSE codes.lookup_code
9119                                                 END
9120        and    flv.language    = fln.language_code
9121        and    flv.view_application_id = 0
9122        and    flv.security_group_id   = 0
9123        );
9124 
9125 END LOOP;
9126 
9127   INSERT INTO zx_id_tcc_mapping_all
9128    (
9129     TCC_MAPPING_ID                  ,
9130     ORG_ID                          ,
9131     TAX_CLASS                       ,
9132     TAX_RATE_CODE_ID                ,
9133     TAX_CLASSIFICATION_CODE         ,
9134     TAX_TYPE                        ,
9135     SOURCE                          ,
9136     EFFECTIVE_FROM                  ,
9137     EFFECTIVE_TO                    ,
9138     CREATED_BY                      ,
9139     CREATION_DATE                   ,
9140     LAST_UPDATED_BY                 ,
9141     LAST_UPDATE_DATE                ,
9142     LAST_UPDATE_LOGIN               ,
9143     REQUEST_ID                      ,
9144     PROGRAM_APPLICATION_ID          ,
9145     PROGRAM_ID                      ,
9146     PROGRAM_LOGIN_ID                ,
9147     --Bug 4241667
9148     LEDGER_ID                       ,
9149     ACTIVE_FLAG
9150   )
9151    SELECT
9152        ZX_ID_TCC_MAPPING_ALL_S.NEXTVAL,
9153        decode(l_multi_org_flag,'N',l_org_id,codes.org_id),
9154        DECODE(codes.tax_class, 'I', 'INPUT',
9155                               'OUTPUT'),
9156        codes.vat_tax_id,
9157        codes.tax_code,
9158        codes.tax_type,
9159        'AR',
9160        codes.start_date,
9161        codes.end_date,
9162        fnd_global.user_id                     , -- CREATED_BY
9163        SYSDATE                                , -- CREATION_DATE
9164        fnd_global.user_id                     , -- LAST_UPDATED_BY
9165        SYSDATE                                , -- LAST_UPDATE_DATE
9166        fnd_global.conc_login_id               , -- LAST_UPDATE_LOGIN
9167        fnd_global.conc_request_id             , -- REQUEST_ID
9168        fnd_global.prog_appl_id                , -- PROGRAM_APPLICATION_ID
9169        fnd_global.conc_program_id             , -- PROGRAM_ID
9170        fnd_global.conc_login_id               , -- PROGRAM_LOGIN_ID
9171        codes.set_of_books_id                  , -- SET_OF_BOOKS_ID
9172        codes.enabled_flag
9173    FROM
9174           ar_vat_tax_all_b  codes
9175    WHERE
9176    NOT EXISTS
9177              (SELECT 1
9178               FROM   zx_id_tcc_mapping_all   zitm
9179               WHERE  zitm.tax_rate_code_id = codes.vat_tax_id
9180               AND    zitm.source = 'AR'
9181              );
9182 EXCEPTION
9183   WHEN OTHERS THEN
9184     NULL;
9185 END;
9186 
9187 
9188 /*===========================================================================+
9189  | FUNCTION
9190  |    is_update_needed_for_vnd_tax (p_tax_id   NUMBER) RETURN BOOLEAN
9191  |
9192  | IN
9193  |    p_tax_id : ar_vat_tax_all_b.vat_tax_id is passed when it is called from
9194  |               AR Tax Codes form for synchronization.
9195  | OUT
9196  |    TRUE  : When eBTax entities are needed for data updation.
9197  |    FALSE : When eBTax entities are not needed for data updation.
9198  |
9199  | DESCRIPTION
9200  |     This routine identifies if Regime to Rates records are needed to be
9201  |     updated for Tax Vendor Tax Code migraion. Data update is needed under
9202  |     the following conditions:
9203  |     1. When executing Tax Vendor Tax Code migration (p_tax_id = NULL)
9204  |        for the first time.
9205  |     2. After Tax Vendor Tax Code migration has been executed. (synch)
9206  |        (p_tax_id IS NOT NULL)
9207  |     2.1 When new Tax Code with tax type 'SALES_TAX' or 'LOCATION' is
9208  |         created under existing OU or new OU which has Tax Vendor
9209  |         installed - tax_database_view_set IN ('_A','_V').
9210  |
9211  | SCOPE - PRIVATE
9212  |
9213  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
9214  |
9215  | CALLED FROM
9216  |        zx_migrate_ar_tax_def.migrate_vnd_tax_code
9217  |
9218  | NOTES
9219  |
9220  | MODIFICATION HISTORY
9221  | 01/21/2004   Yoshimichi Konishi   Created.
9222  |
9223  +==========================================================================*/
9224 FUNCTION is_update_needed_for_vnd_tax (p_tax_id    NUMBER,
9225                                        p_tax_type  VARCHAR2  DEFAULT  NULL
9226                                       )
9227 RETURN BOOLEAN
9228 AS
9229   -- ****** CURSORS ******
9230   CURSOR vnd_tax_code_cur (p_tax_id  NUMBER) IS
9231   SELECT avt.tax_code
9232   FROM   ar_system_parameters_all  asp,
9233          ar_vat_tax_all_b          avt
9234   WHERE  decode(l_multi_org_flag,'N',l_org_id,avt.org_id) = decode(l_multi_org_flag,'N',l_org_id,asp.org_id)
9235   AND    avt.vat_tax_id = nvl(p_tax_id, avt.vat_tax_id)
9236   AND    asp.default_country = 'US'
9237   AND    asp.tax_database_view_set IN ('_A', '_V');
9238 
9239   -- ****** VARIABLES ******
9240   l_tax_code   VARCHAR2(50);
9241 
9242 BEGIN
9243   IF p_tax_id IS NOT NULL AND (p_tax_type = 'SALES_TAX' OR p_tax_type = 'LOCATION') THEN
9244     OPEN vnd_tax_code_cur (p_tax_id);
9245     FETCH vnd_tax_code_cur INTO l_tax_code;
9246     IF vnd_tax_code_cur%NOTFOUND THEN
9247       CLOSE vnd_tax_code_cur;
9248       RETURN  TRUE;  -- p_tax_id does not exist in ar_vat_tax ** SYNCH **
9249     ELSE
9250       RETURN  FALSE; -- p_tax_id exists in ar_vat_tax ** NO SYNCH **
9251     END IF;
9252   ELSE
9253     RETURN  TRUE; -- p_tax_id IS NULL
9254   END IF;
9255 EXCEPTION
9256   WHEN OTHERS THEN
9257     arp_util_tax.debug('Exception: is_update_needed_for_tax');
9258 END;
9259 
9260 /*===========================================================================+
9261  | PROCEDURE
9262  |   populate_mls_tables
9263  |
9264  | IN
9265  |
9266  |
9267  | OUT
9268  |
9269  | DESCRIPTION
9270  |   This procedure populates data in following MLS tables :
9271  |
9272  |   - ZX_REGIMES_TL
9273  |   - ZX_TAXES_TL
9274  |   - ZX_STATUS_TL
9275  |   - ZX_RATES_TL
9276  |
9277  |  It is called at the end of AR tax code migration process and
9278  |  populates MLS data needed for US Tax Sales Tax migration and Tax Vendor
9279  |  Migration.
9280  |
9281  | SCOPE - PRIVATE
9282  |
9283  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
9284  |
9285  | CALLED FROM
9286  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
9287  |
9288  | NOTES
9289  |
9290  | MODIFICATION HISTORY
9291  | 02/02/2005   Yoshimichi Konishi   Created.
9292  | 02/16/2005   Yoshimichi Konishi   Bug 4187189
9293  +==========================================================================*/
9294 PROCEDURE populate_mls_tables
9295 AS
9296 BEGIN
9297   -- ****** REGIMES ******
9298   INSERT INTO ZX_REGIMES_TL
9299   (
9300       TAX_REGIME_ID,
9301       TAX_REGIME_NAME,
9302       CREATION_DATE,
9303       CREATED_BY,
9304       LAST_UPDATE_DATE,
9305       LAST_UPDATED_BY,
9306       LAST_UPDATE_LOGIN,
9307       LANGUAGE,
9308       SOURCE_LANG
9309     )
9310   SELECT
9311       TAX_REGIME_ID,
9312      CASE WHEN TAX_REGIME_CODE = UPPER(TAX_REGIME_CODE)
9313      THEN    Initcap(TAX_REGIME_CODE)
9314      ELSE
9315              TAX_REGIME_CODE
9316      END,
9317       SYSDATE,
9318       fnd_global.user_id,
9319       SYSDATE,
9320       fnd_global.user_id,
9321       fnd_global.conc_login_id,
9322       L.LANGUAGE_CODE,
9323       userenv('LANG')
9324   FROM
9325       FND_LANGUAGES L,
9326       ZX_REGIMES_B B     -- cartesian join
9327   WHERE
9328       L.INSTALLED_FLAG in ('I', 'B')
9329   AND B.RECORD_TYPE_CODE = 'MIGRATED'
9330   AND  not exists
9331        (select NULL
9332         from     ZX_REGIMES_TL T
9333         where  T.TAX_REGIME_ID =  B.TAX_REGIME_ID
9334         and    T.LANGUAGE = L.LANGUAGE_CODE);
9335 
9336   -- ****** TAXES ******
9337 
9338   --
9339   -- Bug 4948332
9340   -- Populates zx_tax_full_name for CZ/HU/PL Tax Regime
9341   --
9342 --
9343 -- For CZ/HU/PL (Tax Origin)
9344 --
9345 
9346 INSERT INTO ZX_TAXES_TL
9347 (
9348  LANGUAGE                    ,
9349  SOURCE_LANG                 ,
9350  TAX_FULL_NAME               ,
9351  CREATION_DATE               ,
9352  CREATED_BY                  ,
9353  LAST_UPDATE_DATE            ,
9354  LAST_UPDATED_BY             ,
9355  LAST_UPDATE_LOGIN           ,
9356  TAX_ID
9357 )
9358 SELECT
9359     DISTINCT
9360     flv.language             ,
9361     userenv('LANG')          ,
9362     CASE WHEN flv.meaning = UPPER(flv.meaning)
9363      THEN    Initcap(flv.meaning)
9364      ELSE
9365              flv.meaning
9366      END,
9367     SYSDATE                  ,
9368     fnd_global.user_id       ,
9369     SYSDATE                  ,
9370     fnd_global.user_id       ,
9371     fnd_global.conc_login_id ,
9372     taxes.tax_id
9373 FROM
9374     zx_taxes_b                     taxes,
9375     zx_rates_b                     rates,
9376     fnd_lookup_values              flv,
9377     ar_vat_tax_all_b               ar_code
9378 WHERE
9379        taxes.CONTENT_OWNER_ID   = rates.CONTENT_OWNER_ID
9380 AND    taxes.TAX_REGIME_CODE    = rates.TAX_REGIME_CODE
9381 AND    taxes.TAX          = rates.TAX
9382 AND    taxes.Record_Type_Code   = 'MIGRATED'
9383 AND    rates.tax_rate_id = ar_code.vat_tax_id
9384 AND    flv.lookup_code = ar_code.global_attribute1
9385 AND    ar_code.global_attribute_category = 'JE.CZ.ARXSUVAT.TAX_ORIGIN'
9386 AND    flv.lookup_type = 'JGZZ_TAX_ORIGIN'
9387 AND    NOT EXISTS
9388     (select NULL
9389          from ZX_TAXES_TL T
9390          where T.TAX_ID =  TAXES.TAX_ID
9391          and   T.LANGUAGE = FLV.LANGUAGE);
9392 
9393 
9394 INSERT INTO ZX_TAXES_TL
9395 (
9396  LANGUAGE                    ,
9397  SOURCE_LANG                 ,
9398  TAX_FULL_NAME               ,
9399  CREATION_DATE               ,
9400  CREATED_BY                  ,
9401  LAST_UPDATE_DATE            ,
9402  LAST_UPDATED_BY             ,
9403  LAST_UPDATE_LOGIN           ,
9404  TAX_ID
9405 )
9406 SELECT
9407     DISTINCT
9408     flv.language             ,
9409     userenv('LANG')          ,
9410     CASE WHEN flv.meaning = UPPER(flv.meaning)
9411      THEN    Initcap(flv.meaning)
9412      ELSE
9413              flv.meaning
9414      END,
9415     SYSDATE                  ,
9416     fnd_global.user_id       ,
9417     SYSDATE                  ,
9418     fnd_global.user_id       ,
9419     fnd_global.conc_login_id ,
9420     taxes.tax_id
9421 FROM
9422     zx_taxes_b                     taxes,
9423     zx_rates_b                     rates,
9424     fnd_lookup_values              flv,
9425     ar_vat_tax_all_b               ar_code
9426 WHERE
9427        taxes.CONTENT_OWNER_ID   = rates.CONTENT_OWNER_ID
9428 AND    taxes.TAX_REGIME_CODE    = rates.TAX_REGIME_CODE
9429 AND    taxes.TAX          = rates.TAX
9430 AND    taxes.Record_Type_Code   = 'MIGRATED'
9431 AND    rates.tax_rate_id = ar_code.vat_tax_id
9432 AND    flv.lookup_code = ar_code.global_attribute1
9433 AND    ar_code.global_attribute_category = 'JE.HU.ARXSUVAT.TAX_ORIGIN'
9434 AND    flv.lookup_type = 'JGZZ_TAX_ORIGIN'
9435 AND    NOT EXISTS
9436     (select NULL
9437          from ZX_TAXES_TL T
9438          where T.TAX_ID =  TAXES.TAX_ID
9439          and   T.LANGUAGE = FLV.LANGUAGE);
9440 
9441 INSERT INTO ZX_TAXES_TL
9442 (
9443  LANGUAGE                    ,
9444  SOURCE_LANG                 ,
9445  TAX_FULL_NAME               ,
9446  CREATION_DATE               ,
9447  CREATED_BY                  ,
9448  LAST_UPDATE_DATE            ,
9449  LAST_UPDATED_BY             ,
9450  LAST_UPDATE_LOGIN           ,
9451  TAX_ID
9452 )
9453 SELECT
9454     DISTINCT
9455     flv.language             ,
9456     userenv('LANG')          ,
9457     CASE WHEN flv.meaning = UPPER(flv.meaning)
9458      THEN    Initcap(flv.meaning)
9459      ELSE
9460              flv.meaning
9461      END,
9462     SYSDATE                  ,
9463     fnd_global.user_id       ,
9464     SYSDATE                  ,
9465     fnd_global.user_id       ,
9466     fnd_global.conc_login_id ,
9467     taxes.tax_id
9468 FROM
9469     zx_taxes_b                     taxes,
9470     zx_rates_b                     rates,
9471     fnd_lookup_values              flv,
9472     ar_vat_tax_all_b               ar_code
9473 WHERE
9474        taxes.CONTENT_OWNER_ID   = rates.CONTENT_OWNER_ID
9475 AND    taxes.TAX_REGIME_CODE    = rates.TAX_REGIME_CODE
9476 AND    taxes.TAX          = rates.TAX
9477 AND    taxes.Record_Type_Code   = 'MIGRATED'
9478 AND    rates.tax_rate_id = ar_code.vat_tax_id
9479 AND    flv.lookup_code = ar_code.global_attribute1
9480 AND    ar_code.global_attribute_category = 'JE.PL.ARXSUVAT.TAX_ORIGIN'
9481 AND    flv.lookup_type = 'JGZZ_TAX_ORIGIN'
9482 AND    NOT EXISTS
9483     (select NULL
9484          from ZX_TAXES_TL T
9485          where T.TAX_ID =  TAXES.TAX_ID
9486          and   T.LANGUAGE = FLV.LANGUAGE);
9487 
9488 --
9489 -- LTE Tax Handling
9490 --
9491 INSERT INTO ZX_TAXES_TL
9492   (
9493    LANGUAGE                    ,
9494    SOURCE_LANG                 ,
9495    TAX_FULL_NAME               ,
9496    CREATION_DATE               ,
9497    CREATED_BY                  ,
9498    LAST_UPDATE_DATE            ,
9499    LAST_UPDATED_BY             ,
9500    LAST_UPDATE_LOGIN           ,
9501    TAX_ID
9502   )
9503     SELECT
9504       DISTINCT
9505       L.LANGUAGE_CODE          ,
9506       userenv('LANG')          ,
9507       CASE WHEN NVL(categs.description, rates.tax) = UPPER(NVL(categs.description, rates.tax))
9508            THEN Initcap(NVL(categs.description, rates.tax))
9509      ELSE
9510           NVL(categs.description, rates.tax)
9511      END,
9512       SYSDATE                  ,
9513       fnd_global.user_id       ,
9514       SYSDATE                  ,
9515       fnd_global.user_id       ,
9516       fnd_global.conc_login_id ,
9517       B.TAX_ID
9518   FROM
9519       FND_LANGUAGES     L,
9520       ZX_TAXES_B        B,
9521       zx_rates_b        rates,
9522       ar_vat_tax_all_b  codes,
9523       jl_zz_ar_tx_categ_all  categs
9524   WHERE
9525       L.INSTALLED_FLAG in ('I', 'B')
9526   AND B.RECORD_TYPE_CODE = 'MIGRATED'
9527   AND  b.tax_regime_code = rates.tax_regime_code
9528   AND  b.tax = rates.tax
9529   AND  b.content_owner_id = rates.content_owner_id
9530   AND  codes.vat_tax_id = rates.tax_rate_id
9531   and    codes.global_attribute_category = 'JL.AR.ARXSUVAT.AR_VAT_TAX'
9532   and    codes.global_attribute1 = to_char(categs.tax_category_id)
9533   and    codes.org_id = categs.org_id
9534   AND  not exists
9535        (select NULL
9536         from   ZX_TAXES_TL T
9537         where  T.TAX_ID =  B.TAX_ID
9538         and    T.LANGUAGE = L.LANGUAGE_CODE);
9539 
9540 INSERT INTO ZX_TAXES_TL
9541   (
9542    LANGUAGE                    ,
9543    SOURCE_LANG                 ,
9544    TAX_FULL_NAME               ,
9545    CREATION_DATE               ,
9546    CREATED_BY                  ,
9547    LAST_UPDATE_DATE            ,
9548    LAST_UPDATED_BY             ,
9549    LAST_UPDATE_LOGIN           ,
9550    TAX_ID
9551   )
9552     SELECT
9553       DISTINCT
9554       L.LANGUAGE_CODE          ,
9555       userenv('LANG')          ,
9556       CASE WHEN NVL(categs.description, rates.tax) = UPPER(NVL(categs.description, rates.tax))
9557            THEN Initcap(NVL(categs.description, rates.tax))
9558      ELSE
9559           NVL(categs.description, rates.tax)
9560      END                       ,
9561       SYSDATE                  ,
9562       fnd_global.user_id       ,
9563       SYSDATE                  ,
9564       fnd_global.user_id       ,
9565       fnd_global.conc_login_id ,
9566       B.TAX_ID
9567   FROM
9568       FND_LANGUAGES     L,
9569       ZX_TAXES_B        B,
9570       zx_rates_b        rates,
9571       ar_vat_tax_all_b  codes,
9572       jl_zz_ar_tx_categ_all  categs
9573   WHERE
9574       L.INSTALLED_FLAG in ('I', 'B')
9575   AND B.RECORD_TYPE_CODE = 'MIGRATED'
9576   AND  b.tax_regime_code = rates.tax_regime_code
9577   AND  b.tax = rates.tax
9578   AND  b.content_owner_id = rates.content_owner_id
9579   AND  codes.vat_tax_id = rates.tax_rate_id
9580   and    codes.global_attribute_category = 'JL.CO.ARXSUVAT.AR_VAT_TAX'
9581   and    codes.global_attribute1 = to_char(categs.tax_category_id)
9582   and    codes.org_id = categs.org_id
9583   AND  not exists
9584        (select NULL
9585         from   ZX_TAXES_TL T
9586         where  T.TAX_ID =  B.TAX_ID
9587         and    T.LANGUAGE = L.LANGUAGE_CODE);
9588 
9589 INSERT INTO ZX_TAXES_TL
9590   (
9591    LANGUAGE                    ,
9592    SOURCE_LANG                 ,
9593    TAX_FULL_NAME               ,
9594    CREATION_DATE               ,
9595    CREATED_BY                  ,
9596    LAST_UPDATE_DATE            ,
9597    LAST_UPDATED_BY             ,
9598    LAST_UPDATE_LOGIN           ,
9599    TAX_ID
9600   )
9601     SELECT
9602       DISTINCT
9603       L.LANGUAGE_CODE          ,
9604       userenv('LANG')          ,
9605       CASE WHEN NVL(categs.description, rates.tax) = UPPER(NVL(categs.description, rates.tax))
9606            THEN Initcap(NVL(categs.description, rates.tax))
9607      ELSE
9608           NVL(categs.description, rates.tax)
9609      END          ,
9610       SYSDATE                  ,
9611       fnd_global.user_id       ,
9612       SYSDATE                  ,
9613       fnd_global.user_id       ,
9614       fnd_global.conc_login_id ,
9615       B.TAX_ID
9616   FROM
9617       FND_LANGUAGES     L,
9618       ZX_TAXES_B        B,
9619       zx_rates_b        rates,
9620       ar_vat_tax_all_b  codes,
9621       jl_zz_ar_tx_categ_all  categs
9622   WHERE
9623       L.INSTALLED_FLAG in ('I', 'B')
9624   AND B.RECORD_TYPE_CODE = 'MIGRATED'
9625   AND  b.tax_regime_code = rates.tax_regime_code
9626   AND  b.tax = rates.tax
9627   AND  b.content_owner_id = rates.content_owner_id
9628   AND  codes.vat_tax_id = rates.tax_rate_id
9629   and    codes.global_attribute_category = 'JL.BR.ARXSUVAT.Tax Information'
9630   and    codes.global_attribute1 = to_char(categs.tax_category_id)
9631   and    codes.org_id = categs.org_id
9632   AND  not exists
9633        (select NULL
9634         from   ZX_TAXES_TL T
9635         where  T.TAX_ID =  B.TAX_ID
9636         and    T.LANGUAGE = L.LANGUAGE_CODE);
9637 
9638 
9639   INSERT INTO ZX_TAXES_TL
9640   (
9641       TAX_ID,
9642       TAX_FULL_NAME,
9643       CREATION_DATE,
9644       CREATED_BY,
9645       LAST_UPDATE_DATE,
9646       LAST_UPDATED_BY,
9647       LAST_UPDATE_LOGIN,
9648       LANGUAGE,
9649       SOURCE_LANG
9650     )
9651   SELECT
9652       TAX_ID,
9653     CASE WHEN TAX = UPPER(TAX)
9654      THEN    Initcap(TAX)
9655      ELSE
9656              TAX
9657      END,
9658       SYSDATE,
9659       fnd_global.user_id,
9660       SYSDATE,
9661       fnd_global.user_id,
9662       fnd_global.conc_login_id,
9663       L.LANGUAGE_CODE,
9664       userenv('LANG')
9665   FROM
9666       FND_LANGUAGES L,
9667       ZX_TAXES_B B     -- cartesian join
9668   WHERE
9669       L.INSTALLED_FLAG in ('I', 'B')
9670   AND B.RECORD_TYPE_CODE = 'MIGRATED'
9671   AND  not exists
9672        (select NULL
9673        from ZX_TAXES_TL T
9674        where T.TAX_ID =  B.TAX_ID
9675        and T.LANGUAGE = L.LANGUAGE_CODE);
9676 
9677 /***** LTE handling is replaced by the insert statement executed above
9678 --
9679 --Bug 4400704
9680   -- Unique Index : zx_taxes_tl_u1 (tax_id, language)
9681   INSERT INTO ZX_TAXES_TL
9682   (
9683    LANGUAGE                    ,
9684    SOURCE_LANG                 ,
9685    TAX_FULL_NAME               ,
9686    CREATION_DATE               ,
9687    CREATED_BY                  ,
9688    LAST_UPDATE_DATE            ,
9689    LAST_UPDATED_BY             ,
9690    LAST_UPDATE_LOGIN           ,
9691    TAX_ID
9692   )
9693 
9694   SELECT
9695       L.LANGUAGE_CODE          ,
9696       userenv('LANG')          ,
9697       case when decode(c.global_attribute_category,
9698              'JL.AR.ARXSUVAT.AR_VAT_TAX', c.description,
9699              'JL.BR.ARXSUVAT.AR_VAT_TAX', c.description,
9700              'JL.CO.ARXSUVAT.AR_VAT_TAX', c.description,
9701              B.TAX)
9702        = UPPER(decode(c.global_attribute_category,
9703              'JL.AR.ARXSUVAT.AR_VAT_TAX', c.description,
9704              'JL.BR.ARXSUVAT.AR_VAT_TAX', c.description,
9705              'JL.CO.ARXSUVAT.AR_VAT_TAX', c.description,
9706              B.TAX) )
9707            then
9708      Initcap(decode(c.global_attribute_category,
9709              'JL.AR.ARXSUVAT.AR_VAT_TAX', c.description,
9710              'JL.BR.ARXSUVAT.AR_VAT_TAX', c.description,
9711              'JL.CO.ARXSUVAT.AR_VAT_TAX', c.description,
9712              B.TAX) )
9713      else
9714      decode(c.global_attribute_category,
9715              'JL.AR.ARXSUVAT.AR_VAT_TAX', c.description,
9716              'JL.BR.ARXSUVAT.AR_VAT_TAX', c.description,
9717              'JL.CO.ARXSUVAT.AR_VAT_TAX', c.description,
9718              B.TAX) ,
9719       SYSDATE                  ,
9720       fnd_global.user_id       ,
9721       SYSDATE                  ,
9722       fnd_global.user_id       ,
9723       fnd_global.conc_login_id ,
9724       B.TAX_ID
9725   FROM
9726       FND_LANGUAGES   L,
9727       ZX_TAXES_B      B,
9728       (select rates.tax_regime_code             tax_regime_code,
9729               rates.tax                         tax,
9730               rates.content_owner_id            content_owner_id,
9731               categs.description                description,
9732               codes.global_attribute_category   global_attribute_category
9733        from   zx_rates_b              rates,
9734               ar_vat_tax_all_b        codes,
9735               jl_zz_ar_tx_categ_all   categs
9736        where  codes.vat_tax_id = nvl(rates.source_id, rates.tax_rate_id)
9737        and    codes.global_attribute_category in ('JL.AR.ARXSUVAT.AR_VAT_TAX',
9738                                                   'JL.BR.ARXSUVAT.AR_VAT_TAX',
9739                                                   'JL.CO.ARXSUVAT.AR_VAT_TAX')
9740        and    codes.global_attribute1 = to_char(categs.tax_category_id)
9741       )   C
9742   WHERE
9743       L.INSTALLED_FLAG in ('I', 'B')
9744   AND B.RECORD_TYPE_CODE = 'MIGRATED'
9745 
9746   -- LTE handling
9747   AND  b.tax_regime_code = c.tax_regime_code (+)
9748   AND  b.tax = c.tax (+)
9749   AND  b.content_owner_id = c.content_owner_id (+)
9750 
9751   AND  not exists
9752        (select NULL
9753         from   ZX_TAXES_TL T
9754         where  T.TAX_ID =  B.TAX_ID
9755         and    T.LANGUAGE = L.LANGUAGE_CODE);
9756 ******/
9757 
9758 
9759   -- ****** STATUS ******
9760 
9761   -- Bug 4936196 : Inserting fnd_lookups.meaning for Taiwanese localization
9762   INSERT INTO ZX_STATUS_TL
9763   (
9764   TAX_STATUS_ID,
9765   TAX_STATUS_NAME,
9766   CREATION_DATE,
9767   CREATED_BY,
9768   LAST_UPDATE_DATE,
9769   LAST_UPDATED_BY,
9770   LAST_UPDATE_LOGIN,
9771   LANGUAGE,
9772   SOURCE_LANG
9773   )
9774   select distinct
9775    status.tax_status_id,
9776       CASE WHEN flv.meaning = UPPER(flv.meaning)
9777        THEN    Initcap(flv.meaning)
9778        ELSE
9779          flv.meaning
9780        END,
9781    sysdate,
9782    fnd_global.user_id,
9783    sysdate,
9784    fnd_global.user_id,
9785    fnd_global.conc_login_id,
9786    flv.language,
9787    userenv('LANG')
9788   from   zx_rates_b         rates,
9789    zx_status_b        status,
9790    ar_vat_tax_all_b   codes,
9791    fnd_lookup_values  flv
9792   where  rates.tax_regime_code = status.tax_regime_code
9793   and    rates.tax = status.tax
9794   and    rates.tax_status_code = status.tax_status_code
9795   and    rates.content_owner_id = status.content_owner_id
9796   and    status.record_type_code = 'MIGRATED'
9797   and    rates.record_type_code = 'MIGRATED'
9798   and    rates.tax_rate_id = codes.vat_tax_id
9799   and    codes.global_attribute_category = 'JA.TW.ARXSUVAT.VAT_TAX'
9800   and    flv.lookup_code = codes.global_attribute1
9801   and    flv.view_application_id = 7000
9802   and    flv.security_group_id = 0
9803   and    flv.lookup_type = 'JATW_GOVERNMENT_TAX_TYPE'
9804   and    not exists
9805    (select NULL
9806     from   ZX_STATUS_TL T
9807     where  T.TAX_STATUS_ID =  status.tax_status_id
9808     and    T.LANGUAGE = flv.language);
9809 
9810   -- inserting into zx_status_tl for records other than Taiwanese localization
9811   INSERT INTO ZX_STATUS_TL
9812   (
9813       TAX_STATUS_ID,
9814       TAX_STATUS_NAME,
9815       CREATION_DATE,
9816       CREATED_BY,
9817       LAST_UPDATE_DATE,
9818       LAST_UPDATED_BY,
9819       LAST_UPDATE_LOGIN,
9820       LANGUAGE,
9821       SOURCE_LANG
9822     )
9823   SELECT
9824       TAX_STATUS_ID,
9825     CASE WHEN TAX_STATUS_CODE = UPPER(TAX_STATUS_CODE)
9826      THEN    Initcap(TAX_STATUS_CODE)
9827      ELSE
9828              TAX_STATUS_CODE
9829      END,
9830       SYSDATE,
9831       fnd_global.user_id,
9832       SYSDATE,
9833       fnd_global.user_id,
9834       fnd_global.conc_login_id,
9835       L.LANGUAGE_CODE,
9836       userenv('LANG')
9837   FROM
9838       FND_LANGUAGES L,
9839       ZX_STATUS_B B     -- cartesian join
9840   WHERE
9841       L.INSTALLED_FLAG in ('I', 'B')
9842   AND B.RECORD_TYPE_CODE = 'MIGRATED'
9843   AND  not exists
9844        (select NULL
9845        from ZX_STATUS_TL T
9846        where T.TAX_STATUS_ID =  B.TAX_STATUS_ID
9847        and T.LANGUAGE = L.LANGUAGE_CODE);
9848 
9849   -- ****** RATES ******
9850 
9851   INSERT INTO  ZX_RATES_TL
9852   (
9853       TAX_RATE_ID,
9854       TAX_RATE_NAME,
9855       CREATED_BY,
9856       CREATION_DATE,
9857       LAST_UPDATED_BY,
9858       LAST_UPDATE_DATE,
9859       LAST_UPDATE_LOGIN,
9860       LANGUAGE,
9861       SOURCE_LANG,
9862       description
9863   )
9864   SELECT
9865       b.tax_rate_id,
9866       CASE WHEN avtt.PRINTED_TAX_NAME = UPPER(avtt.PRINTED_TAX_NAME)
9867             THEN Initcap(avtt.PRINTED_TAX_NAME)||'-'||b.tax_class
9868            WHEN avtt.PRINTED_TAX_NAME IS NULL
9869             THEN NULL
9870            ELSE avtt.PRINTED_TAX_NAME||'-'||b.tax_class
9871       END,
9872       fnd_global.user_id,
9873       sysdate,
9874       fnd_global.user_id,
9875       sysdate,
9876       fnd_global.login_id,
9877       avtt.language                  ,
9878       avtt.source_lang               ,
9879       avtb.description
9880   FROM zx_rates_b    b,
9881       ar_vat_tax_all_b   avtb,
9882       ar_vat_tax_all_tl  avtt
9883   WHERE avtb.vat_tax_id = b.tax_rate_id
9884   AND avtb.vat_tax_id = avtt.vat_tax_id
9885   AND b.record_type_code = 'MIGRATED'
9886   AND NOT EXISTS
9887       (SELECT 1
9888        FROM   zx_rates_tl  t
9889        WHERE  t.tax_rate_id = b.tax_rate_id
9890        AND    t.language = avtt.language);
9891 
9892 
9893   -- Code Changes for 12847663
9894 
9895   INSERT INTO  ZX_RATES_TL
9896   (
9897       TAX_RATE_ID,
9898       TAX_RATE_NAME,
9899       CREATED_BY,
9900       CREATION_DATE,
9901       LAST_UPDATED_BY,
9902       LAST_UPDATE_DATE,
9903       LAST_UPDATE_LOGIN,
9904       LANGUAGE,
9905       SOURCE_LANG,
9906       DESCRIPTION
9907   )
9908   SELECT  zrb.tax_rate_id,
9909       Initcap(zrb.tax_rate_code)||'-'||zrb.tax_class,
9910       fnd_global.user_id             ,
9911       SYSDATE                        ,
9912       fnd_global.user_id             ,
9913       SYSDATE                        ,
9914       fnd_global.conc_login_id       ,
9915       l.language_code                  ,
9916       userenv('LANG')               ,
9917       Initcap(zrb.tax_rate_code)
9918   FROM    zx_rates_b         zrb,
9919           fnd_languages l
9920   WHERE   L.INSTALLED_FLAG in ('I', 'B')
9921   AND     zrb.RECORD_TYPE_CODE = 'MIGRATED'
9922   AND     zrb.tax_jurisdiction_code IS NULL
9923   AND     NOT EXISTS (SELECT 1
9924                       FROM   zx_rates_tl  zrt
9925                       WHERE  zrt.tax_rate_id = zrb.tax_rate_id
9926                       AND    zrt.language = l.language_code);
9927 
9928 EXCEPTION
9929   WHEN OTHERS THEN
9930     NULL;
9931 END populate_mls_tables;
9932 
9933 
9934 /*===========================================================================+
9935  | PROCEDURE
9936  |    insert_tax_rate_code
9937  |
9938  | IN
9939  |    p_tax_regime_code : For Tax Regime Code
9940  |    p_tax             : For Tax
9941  |    p_tax_status_code : For Tax Status Code
9942  |    p_tax_rate_code   : For Tax Rate Code
9943  |
9944  | OUT
9945  |
9946  | DESCRIPTION
9947  |     This routine inserts a record into zx_rates_b.
9948  |
9949  | SCOPE - PRIVATE
9950  |
9951  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
9952  |
9953  | CALLED FROM
9954  |        zx_migrate_ar_tax_def.migrate_vnd_tax_code
9955  |
9956  | NOTES
9957  |
9958  | MODIFICATION HISTORY
9959  | 10/03/2005   Yoshimichi Konishi   Created.
9960  |
9961  +==========================================================================*/
9962 PROCEDURE insert_tax_rate_code (p_tax_regime_code     VARCHAR2,
9963                                 p_tax                 VARCHAR2,
9964                                 p_tax_status_code     VARCHAR2,
9965                                 p_tax_rate_code       VARCHAR2,
9966                                 p_content_owner_id    NUMBER,
9967                                 p_org_id              NUMBER,
9968                                 p_active_flag         VARCHAR2,
9969                                 p_effective_from      DATE,
9970                                 p_adhoc_rate_flag     VARCHAR2,
9971                                 p_tax_account_ccid    NUMBER,
9972                                 p_ledger_id           NUMBER)
9973 IS
9974 BEGIN
9975   INSERT ALL
9976     WHEN (NOT EXISTS (SELECT  1
9977                       FROM    zx_rates_b
9978                       WHERE   tax_rate_code = p_tax_rate_code
9979                       AND     content_owner_id = p_content_owner_id
9980                       AND     active_flag = p_active_flag
9981                       AND     TRUNC(effective_from) = p_effective_from
9982                      )
9983          ) THEN
9984   INTO zx_rates_b_tmp
9985   (
9986       TAX_RATE_ID                    ,
9987       TAX_RATE_CODE                  ,
9988       CONTENT_OWNER_ID               ,
9989       EFFECTIVE_FROM                 ,
9990       EFFECTIVE_TO                   ,
9991       TAX_REGIME_CODE                ,
9992       TAX                            ,
9993       TAX_STATUS_CODE                ,
9994       SCHEDULE_BASED_RATE_FLAG       ,
9995       RATE_TYPE_CODE                 ,
9996       PERCENTAGE_RATE                ,
9997       QUANTITY_RATE                  ,
9998       UOM_CODE                       ,
9999       TAX_JURISDICTION_CODE          ,
10000       RECOVERY_TYPE_CODE             ,
10001       ACTIVE_FLAG                    ,
10002       DEFAULT_RATE_FLAG              ,
10003       DEFAULT_FLG_EFFECTIVE_FROM     ,
10004       DEFAULT_FLG_EFFECTIVE_TO       ,
10005       DEFAULT_REC_TYPE_CODE          ,
10006       DEFAULT_REC_RATE_CODE          ,
10007       OFFSET_TAX                     ,
10008       OFFSET_STATUS_CODE             ,
10009       OFFSET_TAX_RATE_CODE           ,
10010       RECOVERY_RULE_CODE             ,
10011       DEF_REC_SETTLEMENT_OPTION_CODE ,
10012       VAT_TRANSACTION_TYPE_CODE      ,
10013       ADJ_FOR_ADHOC_AMT_CODE         ,
10014       ALLOW_ADHOC_TAX_RATE_FLAG      ,
10015       TAX_CLASS                      ,
10016       SOURCE_ID                      ,
10017       TAXABLE_BASIS_FORMULA_CODE     ,
10018       INCLUSIVE_TAX_FLAG             ,
10019       TAX_INCLUSIVE_OVERRIDE_FLAG    ,
10020       RECORD_TYPE_CODE               ,
10021       CREATED_BY                     ,
10022       CREATION_DATE                  ,
10023       LAST_UPDATED_BY                ,
10024       LAST_UPDATE_DATE               ,
10025       LAST_UPDATE_LOGIN              ,
10026       REQUEST_ID                     ,
10027       PROGRAM_APPLICATION_ID         ,
10028       PROGRAM_ID                     ,
10029       PROGRAM_LOGIN_ID               ,
10030       ATTRIBUTE1                     ,
10031       ATTRIBUTE2                     ,
10032       ATTRIBUTE3                     ,
10033       ATTRIBUTE4                     ,
10034       ATTRIBUTE5                     ,
10035       ATTRIBUTE6                     ,
10036       ATTRIBUTE7                     ,
10037       ATTRIBUTE8                     ,
10038       ATTRIBUTE9                     ,
10039       ATTRIBUTE10                    ,
10040       ATTRIBUTE11                    ,
10041       ATTRIBUTE12                    ,
10042       ATTRIBUTE13                    ,
10043       ATTRIBUTE14                    ,
10044       ATTRIBUTE15                    ,
10045       ATTRIBUTE_CATEGORY             ,
10046       OBJECT_VERSION_NUMBER          ,
10047       ALLOW_EXEMPTIONS_FLAG          , --Bug 4204464
10048       ALLOW_EXCEPTIONS_FLAG
10049   )
10050   VALUES
10051   (
10052       zx_rates_b_s.nextval             ,  --TAX_RATE_ID
10053       p_tax_rate_code                  ,  --tax_rate_code
10054       p_content_owner_id               ,  --content_owner_id
10055       p_effective_from                 ,  --effective_from
10056       NULL                             ,  --effective_to
10057       p_tax_regime_code                ,  --tax_regime_code
10058       p_tax                            ,  --tax
10059       p_tax_status_code                ,  --tax_status_code
10060       'N'                              ,  --schedule_based_rate_flag
10061       'PERCENTAGE'                     ,  --rate_type_code
10062       0                                ,  --percentage_rate
10063       NULL                             ,  --quantity_rate
10064       NULL                             ,  --uom_code
10065       NULL                             ,  --tax_jurisdiction_code
10066       NULL                             ,  --recovery_type_code
10067       'Y'                              ,  --active_flag
10068       'N'                              ,  --default_rate_flag : YK:8/25/2004: How to populate this flag?
10069       NULL                             ,  --default_flg_effective_from
10070       NULL                             ,  --default_flg_effective_to
10071       NULL                             ,  --default_rec_type_code
10072       NULL                             ,  --default_rec_rate_code
10073       NULL                             ,  --offset_tax
10074       NULL                             ,  --offset_status_code
10075       NULL                             ,  --offset_tax_rate_code
10076       NULL                             ,  --recovery_rule_code
10077       'IMMEDIATE'                      ,  --def_rec_settlement_option_code
10078       NULL                             ,  --vat_transaction_type_code
10079       'TAX_RATE'                          ,  --adj_for_adhoc_amt_code
10080       'Y'                              ,  --allow_adhoc_tax_rate_flag
10081       'OUTPUT'                         ,  --tax_class
10082       NULL                             ,  --source_id
10083       'STANDARD_TB'                    ,  --taxable_basis_formula_code
10084       'N'                              ,  --inclusive_tax_flag
10085       'N'                              ,  --tax_inclusive_override_flag
10086       'MIGRATED'                       ,  --record_type_code
10087       fnd_global.user_id               ,  --created_by
10088       SYSDATE                          ,  --creation_date
10089       fnd_global.user_id               ,  --last_updated_by
10090       SYSDATE                          ,  --last_update_date
10091       fnd_global.user_id               ,  --last_update_login
10092       fnd_global.conc_request_id       ,  --request_id
10093       fnd_global.prog_appl_id          ,  --program_application_id
10094       fnd_global.conc_program_id       ,  --program_id
10095       fnd_global.conc_login_id         ,  --program_login_id
10096       NULL                             ,  --ATTRIBUTE1
10097       NULL                             ,  --ATTRIBUTE2
10098       NULL                             ,  --ATTRIBUTE3
10099       NULL                             ,  --ATTRIBUTE4
10100       NULL                             ,  --ATTRIBUTE5
10101       NULL                             ,  --ATTRIBUTE6
10102       NULL                             ,  --ATTRIBUTE7
10103       NULL                             ,  --ATTRIBUTE8
10104       NULL                             ,  --ATTRIBUTE9
10105       NULL                             ,  --ATTRIBUTE10
10106       NULL                             ,  --ATTRIBUTE11
10107       NULL                             ,  --ATTRIBUTE12
10108       NULL                             ,  --ATTRIBUTE13
10109       NULL                             ,  --ATTRIBUTE14
10110       NULL                             ,  --ATTRIBUTE15
10111       NULL                             ,  --ATTRIBUTE_CATEGORY
10112       1                                ,
10113       'Y'                              ,  --ALLOW_EXEMPTIONS_FLAG
10114       'Y'                                --ALLOW_EXCEPTIONS_FLAG
10115   )
10116   INTO zx_accounts
10117   (
10118       TAX_ACCOUNT_ID                 ,
10119       TAX_ACCOUNT_ENTITY_ID          ,
10120       TAX_ACCOUNT_ENTITY_CODE        ,
10121       LEDGER_ID                      ,
10122       INTERNAL_ORGANIZATION_ID       , -- Bug 3495741
10123       TAX_ACCOUNT_CCID               ,
10124       INTERIM_TAX_CCID               ,
10125       NON_REC_ACCOUNT_CCID           ,
10126       ADJ_CCID                       ,
10127       EDISC_CCID                     ,
10128       UNEDISC_CCID                   ,
10129       FINCHRG_CCID                   ,
10130       ADJ_NON_REC_TAX_CCID           ,
10131       EDISC_NON_REC_TAX_CCID         ,
10132       UNEDISC_NON_REC_TAX_CCID       ,
10133       FINCHRG_NON_REC_TAX_CCID       ,
10134       RECORD_TYPE_CODE               ,
10135       CREATED_BY                  ,
10136       CREATION_DATE                  ,
10137       LAST_UPDATED_BY                ,
10138       LAST_UPDATE_DATE               ,
10139       LAST_UPDATE_LOGIN              ,
10140       REQUEST_ID                     ,
10141       PROGRAM_APPLICATION_ID         ,
10142       PROGRAM_ID                     ,
10143       PROGRAM_LOGIN_ID               ,
10144       ATTRIBUTE1             ,
10145       ATTRIBUTE2             ,
10146       ATTRIBUTE3             ,
10147       ATTRIBUTE4             ,
10148       ATTRIBUTE5             ,
10149       ATTRIBUTE6             ,
10150       ATTRIBUTE7             ,
10151       ATTRIBUTE8             ,
10152       ATTRIBUTE9             ,
10153       ATTRIBUTE10            ,
10154       ATTRIBUTE11            ,
10155       ATTRIBUTE12            ,
10156       ATTRIBUTE13            ,
10157       ATTRIBUTE14            ,
10158       ATTRIBUTE15            ,
10159       ATTRIBUTE_CATEGORY     ,
10160       OBJECT_VERSION_NUMBER
10161   )
10162   VALUES
10163   (
10164        ZX_ACCOUNTS_S.nextval  ,--TAX_ACCOUNT_ID
10165        zx_rates_b_s.nextval   ,--TAX_RATE_ID
10166        'RATES'                ,--TAX_ACCOUNT_ENTITY_CODE
10167        p_ledger_id            ,--LEDGER_ID
10168        p_org_id               ,--ORG_ID
10169        p_tax_account_ccid     ,--TAX_ACCOUNT_CCID
10170        NULL                   ,--INTERIM_TAX_CCID
10171        NULL                   ,--NON_REC_ACCOUNT_CCID
10172        NULL                   ,--ADJ_CCID
10173        NULL                   ,--EDISC_CCID
10174        NULL                   ,--UNEDISC_CCID
10175        NULL                   ,--FINCHRG_CCID
10176        NULL                   ,--ADJ_NON_REC_TAX_CCID
10177        NULL                   ,--EDISC_NON_REC_TAX_CCID
10178        NULL                   ,--UNEDISC_NON_REC_TAX_CCID
10179        NULL                   ,--FINCHRG_NON_REC_TAX_CCID
10180        'MIGRATED'             ,--RECORD_TYPE_CODE
10181        fnd_global.user_id     ,--CREATED_BY
10182        sysdate                ,--CREATION_DATE
10183        fnd_global.user_id     ,--LAST_UPDATED_BY
10184        sysdate                ,--LAST_UPDATE_DATE
10185        fnd_global.user_id     ,--LAST_UPDATE_LOGIN
10186        fnd_global.conc_request_id  ,--REQUEST_ID
10187        fnd_global.prog_appl_id     ,--PROGRAM_APPLICATION_ID
10188        fnd_global.conc_program_id  ,--PROGRAM_ID
10189        fnd_global.conc_login_id    ,--PROGRAM_LOGIN_ID
10190        NULL                        ,--ATTRIBUTE1
10191        NULL                        ,--ATTRIBUTE2
10192        NULL                        ,--ATTRIBUTE3
10193        NULL                        ,--ATTRIBUTE4
10194        NULL                        ,--ATTRIBUTE5
10195        NULL                        ,--ATTRIBUTE6
10196        NULL                        ,--ATTRIBUTE7
10197        NULL                        ,--ATTRIBUTE8
10198        NULL                        ,--ATTRIBUTE9
10199        NULL                        ,--ATTRIBUTE10
10200        NULL                        ,--ATTRIBUTE11
10201        NULL                        ,--ATTRIBUTE12
10202        NULL                        ,--ATTRIBUTE13
10203        NULL                        ,--ATTRIBUTE14
10204        NULL                        ,--ATTRIBUTE15
10205        NULL                        ,--ATTRIBUTE_CATEGORY
10206        1
10207   )
10208   SELECT 1 FROM DUAL;
10209 
10210 EXCEPTION
10211   WHEN OTHERS THEN
10212     NULL;
10213 END insert_tax_rate_code;
10214 
10215 /*===========================================================================+
10216  | PROCEDURE
10217  |    upd_criteria_results
10218  |
10219  | IN
10220  |    NA
10221  |
10222  | OUT
10223  |    NA
10224  |
10225  | DESCRIPTION
10226  |     This routine updates zx_update_criteria_results table when
10227  |     there's tax codes with same name, one with tax_precedence with a
10228  |     value the others with null tax_precedence.
10229  |
10230  | i.e.
10231  |  zx_migrate_tax_def_common.load_tax_comp_results_for_ar loaded
10232  |  QCTVQ with tax_precedence.
10233  |  After that, zx_migrate_tax_def_common.load_results_for_ar loaded
10234  |  QCTV with null tax_precedence.
10235  |
10236  |  TAX_PRECEDENCE TAX_CODE                ORG_ID
10237  |  -------------- ------------------- ----------
10238  |               26 QCTVQ                     204
10239  |                  QCTVQ                     204
10240  |
10241  |  While createing taxes (create_zx_taxes), tax_precedence is a part
10242  |  of grouping criteria. If there're records described above,
10243  |  create_zx_taxes failes with unique index zx_taxes_b_u2 violation.
10244  |
10245  |
10246  | SCOPE - PRIVATE
10247  |
10248  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
10249  |
10250  | CALLED FROM
10251  |        zx_migrate_ar_tax_def.migrate_ar_tax_code_setup
10252  |
10253  | NOTES
10254  |
10255  | MODIFICATION HISTORY
10256  | 11/02/2005   Yoshimichi Konishi   Created.
10257  |
10258  +==========================================================================*/
10259 PROCEDURE update_criteria_results AS
10260 BEGIN
10261 
10262 UPDATE zx_update_criteria_results  zucr1
10263 SET    tax_precedence = (SELECT   zucr2.tax_precedence
10264                          FROM     zx_update_criteria_results zucr2
10265                          WHERE    zucr1.tax_code = zucr2.tax_code
10266                          AND      zucr1.tax_class = zucr2.tax_class
10267                          AND      zucr1.tax_class = 'OUTPUT'
10268                          AND      zucr1.org_id = zucr2.org_id
10269                          AND      zucr1.rowid <> zucr2.rowid
10270                          AND      zucr2.tax_precedence is not null
10271                          AND      zucr1.tax_precedence is null
10272                          AND      rownum = 1)
10273 WHERE  zucr1.tax_precedence is null
10274 AND    zucr1.tax_class = 'OUTPUT';
10275 
10276 EXCEPTION
10277   WHEN OTHERS THEN
10278     NULL;
10279 END;
10280 
10281 /*===========================================================================+
10282  | PROCEDURE
10283  |    stamp_exe_exc_flag
10284  |
10285  | IN
10286  |    None
10287  |
10288  |
10289  | OUT
10290  |    None
10291  | DESCRIPTION
10292  |     This routine is used to stamp the correct values for allow_exemptions_flag
10293  |     and allow_exceptions_flag for clashing P2P and O2C taxes and statuses
10294  |     since AP runs before AR this values would have got stamped incorrectly
10295  |     to start off with.
10296  |
10297  | SCOPE - PRIVATE
10298  |
10299  | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
10300  |
10301  | CALLED FROM
10302  |
10303  | NOTES
10304  |
10305  | MODIFICATION HISTORY
10306  | 12th May 2006  Arnab Sengupta   Created.
10307  |
10308  +==========================================================================*/
10309 
10310 PROCEDURE stm_exmpt_excpt_flg
10311 IS
10312   l_allow_exemptions_flag  VARCHAR2(100);
10313   l_allow_exceptions_flag  VARCHAR2(100);
10314 BEGIN
10315   FOR cursor_rec IN (SELECT party_id,
10316                             party_tax_profile_id
10317                      FROM   zx_party_tax_profile
10318                      WHERE  party_tax_profile_id IN (SELECT content_owner_id
10319                                                      FROM   zx_rates_b
10320                                                      WHERE  tax_class = 'OUTPUT'
10321                                                      INTERSECT
10322                                                      SELECT content_owner_id
10323                                                      FROM   zx_rates_b
10324                                                      WHERE  tax_class = 'INPUT')
10325            AND party_type_code = 'OU'
10326            AND record_type_code = 'MIGRATED')
10327   LOOP
10328    BEGIN
10329     SELECT nvl(tax_use_customer_exempt_flag,'N'),
10330            CASE
10331              WHEN     nvl(tax_use_product_exempt_flag,'N') = 'N'
10332                   AND nvl(tax_use_loc_exc_rate_flag,'N') = 'N'
10333        THEN 'N'
10334              ELSE 'Y'
10335            END
10336     INTO   l_allow_exemptions_flag,
10337            l_allow_exceptions_flag
10338     FROM   ar_system_parameters_all
10339     WHERE  org_id = cursor_rec.party_id;
10340 
10341     UPDATE zx_taxes_b_tmp
10342     SET    allow_exemptions_flag = l_allow_exemptions_flag,
10343            allow_exceptions_flag = l_allow_exceptions_flag
10344     WHERE  content_owner_id = cursor_rec.party_tax_profile_id
10345     AND    record_type_code = 'MIGRATED';
10346 
10347     UPDATE zx_status_b_tmp
10348     SET    allow_exemptions_flag = l_allow_exemptions_flag,
10349            allow_exceptions_flag = l_allow_exceptions_flag
10350     WHERE  content_owner_id = cursor_rec.party_tax_profile_id
10351     AND    record_type_code = 'MIGRATED';
10352    EXCEPTION WHEN OTHERS THEN
10353    NULL;
10354    END;
10355 
10356   END LOOP;
10357 END;
10358 
10359 
10360 
10361 
10362 -- ****** CONSTRUCTORS ******
10363 BEGIN
10364   -- Check if LTE is used
10365   /* Bug 5248597*/
10366   /*BEGIN
10367     SELECT 'Y' INTO L_LTE_USED FROM DUAL
10368     WHERE EXISTS (select 1
10369                   from   ar_vat_tax_all_b
10370                   where  global_attribute_category in ('JL.AR.ARXSUVAT.AR_VAT_TAX',
10371                                                        'JL.BR.ARXSUVAT.AR_VAT_TAX',
10372                                                        'JL.CO.ARXSUVAT.AR_VAT_TAX')
10373                  );
10374   EXCEPTION
10375     WHEN no_data_found THEN
10376       NULL;
10377     WHEN others THEN
10378       arp_util_tax.debug('e:pkg_condt:lte_used:'||sqlcode || ' : ' || sqlerrm);
10379   END;*/
10380 
10381   -- Check if JATW is used
10382   BEGIN
10383     SELECT 'Y' INTO L_JATW_USED FROM DUAL
10384     WHERE EXISTS (select 1
10385                   from   ar_vat_tax_all_b
10386                   where  global_attribute_category = 'JA.TW.ARXSUVAT.VAT_TAX');  --YK:B:10/08/2004: Modified.
10387   EXCEPTION
10388     WHEN no_data_found THEN
10389       NULL;
10390     WHEN others THEN
10391       arp_util_tax.debug('e:pkg_const:jatw_used:'||sqlcode || ' : ' || sqlerrm);
10392   END;
10393 
10394   -- Check MIN START DATE
10395   BEGIN
10396     SELECT min(start_date)
10397     INTO   L_MIN_START_DATE
10398     FROM   ar_vat_tax_all_b;
10399   EXCEPTION
10400     WHEN OTHERS THEN
10401       arp_util_tax.debug('e:pkg_const:l_min_start_date:'||sqlcode || ' : ' || sqlerrm);
10402   END;
10403 
10404 
10405 BEGIN
10406    SELECT NVL(MULTI_ORG_FLAG,'N')  INTO L_MULTI_ORG_FLAG FROM
10407     FND_PRODUCT_GROUPS;
10408 
10409     IF L_MULTI_ORG_FLAG  = 'N' THEN
10410 
10411           FND_PROFILE.GET('ORG_ID',L_ORG_ID);
10412 
10413                  IF L_ORG_ID IS NULL THEN
10414                    arp_util_tax.debug('MO: Operating Units site level profile option value not set , resulted in Null Org Id');
10415                  END IF;
10416     ELSE
10417          L_ORG_ID := NULL;
10418     END IF;
10419 
10420 
10421 EXCEPTION
10422 WHEN OTHERS THEN
10423     arp_util_tax.debug('Exception in constructor of AR TAX DEFINITION'||sqlerrm);
10424 END;
10425 
10426   BEGIN
10427         MO_GLOBAL.INIT('ZX');
10428   EXCEPTION WHEN OTHERS THEN
10429         arp_util_tax.debug('Exception in MO_GLOBAL.init');
10430   END;
10431 
10432 
10433 END;