DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_TAXES_PKG

Source


1 package body ZX_TAXES_PKG as
2 /* $Header: zxctaxesb.pls 120.26 2006/07/28 12:44:18 shmangal ship $ */
6   p_lookup_code VARCHAR2
3 /***Private Function - to return the RECOVERY_NAME from FndLookups**/
4 function get_lookup_meaning(
5   p_lookup_type  VARCHAR2,
7 )
8 RETURN VARCHAR2
9 IS
10 CURSOR c_get_meaning is
11   SELECT MEANING
12   FROM   FND_LOOKUPS
13   WHERE  LOOKUP_TYPE = p_lookup_type
14   AND    LOOKUP_CODE = p_lookup_code;
15 l_lookup_meaning VARCHAR2(80);
16 begin
17   OPEN c_get_meaning;
18   FETCH c_get_meaning into l_lookup_meaning;
19   CLOSE c_get_meaning;
20   RETURN l_lookup_meaning;
21 end get_lookup_meaning;
22 procedure insert_recovery(
23   p_tax IN VARCHAR2,
24   p_tax_regime_code IN VARCHAR2,
25   p_recovery_type_code IN VARCHAR2,
26   p_effective_from IN DATE
27 )
28 IS
29 l_recovery_name VARCHAR2(80);
30 l_seq_val NUMBER;
31 l_row_id VARCHAR2(80);
32 begin
33   SELECT Zx_Recovery_Types_B_S.nextval into l_seq_val
34   FROM DUAL;
35   l_recovery_name := get_lookup_meaning('ZX_RECOVERY_TYPES',
36   					p_recovery_type_code
37   				       );
38   ZX_RECOVERY_TYPES_PKG.INSERT_ROW(l_row_id,
39   				   l_seq_val,
40   				   p_recovery_type_code,
41   				   p_tax_regime_code,
42   				   p_tax,
43   				   'Y',
44   				   p_effective_from,
45   				   null,
46   				   null,
47   				   null,
48   				   null,
49   				   null,
50   				   null,
51   				   null,
52   				   null,
53   				   null,
54   				   null,
55   				   null,
56   				   null,
57   				   null,
58   				   null,
59   				   null,
60   				   null,
61   				   null,
62   				   null,
63   				   l_recovery_name,
64   				   null,
65   				   sysdate,
66   				   FND_GLOBAL.USER_ID,
67   				   SYSDATE,
68   				   FND_GLOBAL.USER_ID,
69   				   FND_GLOBAL.LOGIN_ID
70   				   );
71 end insert_recovery;
72 /*delete recovery - to remove recovery types from zx_recovery_types_vl*/
73 procedure delete_recovery(
74   p_tax IN VARCHAR2,
75   p_tax_regime_code IN VARCHAR2,
76   p_recovery_type_code IN VARCHAR2
77 )
78 is
79 CURSOR c_get_recovery_id is
80 SELECT  RECOVERY_TYPE_ID
81 FROM 	ZX_RECOVERY_TYPES_VL
82 WHERE	TAX = p_tax
83 AND	TAX_REGIME_CODE = p_tax_regime_code
84 AND	RECOVERY_TYPE_CODE = p_recovery_type_code;
85 l_recovery_type_id NUMBER;
86 begin
87   OPEN c_get_recovery_id;
88   FETCH c_get_recovery_id into l_recovery_type_id;
89   CLOSE c_get_recovery_id;
90   ZX_RECOVERY_TYPES_PKG.DELETE_ROW(l_recovery_type_id);
91 end delete_recovery;
92 procedure update_jurisdiction(
93   p_tax VARCHAR2,
94   p_old_rep_tax_authority_id NUMBER,
95   p_old_coll_tax_authority_id NUMBER,
96   p_new_rep_tax_authority_id NUMBER,
97   p_new_coll_tax_authority_id NUMBER
98 )
99 is
100 CURSOR c_get_rep_coll_ids is
101 SELECT	REP_TAX_AUTHORITY_ID,
102 	COLL_TAX_AUTHORITY_ID,
103 	TAX_JURISDICTION_CODE
104 FROM	ZX_JURISDICTIONS_VL
105 WHERE	TAX = p_tax;
106 l_rep_coll_ids c_get_rep_coll_ids%ROWTYPE;
107 l_rep_tax_authority_id NUMBER := null;
108 l_coll_tax_authority_id NUMBER := null;
109 l_update_required BOOLEAN := FALSE;
110 BEGIN
111   open c_get_rep_coll_ids;
112   fetch c_get_rep_coll_ids into l_rep_coll_ids;
113   loop
114     exit when c_get_rep_coll_ids%NOTFOUND;
115     l_update_required := FALSE;
116      IF (NVL(l_rep_coll_ids.REP_TAX_AUTHORITY_ID,-99) = NVL(p_old_rep_tax_authority_id,-99)) THEN
117         l_rep_tax_authority_id:=NVL(p_new_rep_tax_authority_id,null);
118         l_update_required := TRUE;
119      ELSE
120         l_rep_tax_authority_id := l_rep_coll_ids.REP_TAX_AUTHORITY_ID;
121      END IF;
122     IF (NVL(l_rep_coll_ids.COLL_TAX_AUTHORITY_ID,-99) = NVL(p_old_coll_tax_authority_id,-99)) THEN
123        l_coll_tax_authority_id:= NVL(p_new_coll_tax_authority_id,null);
124        l_update_required := TRUE;
125     ELSE
126        l_coll_tax_authority_id:=l_rep_coll_ids.COLL_TAX_AUTHORITY_ID;
127     END IF;
128     IF l_update_required THEN
129           UPDATE	ZX_JURISDICTIONS_B
130           SET 	        REP_TAX_AUTHORITY_ID  = l_rep_tax_authority_id,
131 		        COLL_TAX_AUTHORITY_ID = l_coll_tax_authority_id
132            WHERE	TAX = p_tax
133            AND
134         		TAX_JURISDICTION_CODE = l_rep_coll_ids.TAX_JURISDICTION_CODE;
135     End if;
136     fetch c_get_rep_coll_ids into l_rep_coll_ids;
137 end loop;
138 END update_jurisdiction;
139 procedure update_registration(
140   p_tax_regime_code VARCHAR2,
141   p_tax VARCHAR2,
142   p_old_rep_tax_authority_id NUMBER,
143   p_old_coll_tax_authority_id NUMBER,
144   p_new_rep_tax_authority_id NUMBER,
145   p_new_coll_tax_authority_id NUMBER
146 )
147 is
148 CURSOR c_get_reg_rep_coll_ids is
149 SELECT  REP_TAX_AUTHORITY_ID,
150         COLL_TAX_AUTHORITY_ID,
151 	REGISTRATION_ID
152 FROM    ZX_REGISTRATIONS
153 WHERE   TAX_REGIME_CODE = p_tax_regime_code
154 AND	TAX = p_tax
155 AND     TAX_JURISDICTION_CODE IS NULL;
156 l_rep_coll_ids c_get_reg_rep_coll_ids%ROWTYPE;
157 l_rep_tax_authority_id NUMBER := null;
158 l_coll_tax_authority_id NUMBER := null;
159 l_update_required BOOLEAN := FALSE;
160 BEGIN
161   open c_get_reg_rep_coll_ids;
162   fetch c_get_reg_rep_coll_ids into l_rep_coll_ids;
163   loop
164     exit when c_get_reg_rep_coll_ids%NOTFOUND;
165     l_update_required := FALSE;
166      IF (NVL(l_rep_coll_ids.REP_TAX_AUTHORITY_ID,-99) = NVL(p_old_rep_tax_authority_id,-99)) THEN
167         l_rep_tax_authority_id:=NVL(p_new_rep_tax_authority_id,null);
168         l_update_required := TRUE;
169      ELSE
170         l_rep_tax_authority_id := l_rep_coll_ids.REP_TAX_AUTHORITY_ID;
171      END IF;
172     IF (NVL(l_rep_coll_ids.COLL_TAX_AUTHORITY_ID,-99) = NVL(p_old_coll_tax_authority_id,-99)) THEN
173        l_coll_tax_authority_id:= NVL(p_new_coll_tax_authority_id,null);
174        l_update_required := TRUE;
175     ELSE
176        l_coll_tax_authority_id:=l_rep_coll_ids.COLL_TAX_AUTHORITY_ID;
177     END IF;
178     IF l_update_required THEN
179           UPDATE        ZX_REGISTRATIONS
180           SET           REP_TAX_AUTHORITY_ID  = l_rep_tax_authority_id,
181                         COLL_TAX_AUTHORITY_ID = l_coll_tax_authority_id
182           WHERE         REGISTRATION_ID = l_rep_coll_ids.REGISTRATION_ID;
183     End if;
184     fetch c_get_reg_rep_coll_ids into l_rep_coll_ids;
185 end loop;
186 END update_registration;
187 procedure INSERT_ROW (
188   X_ROWID in out nocopy VARCHAR2,
189   X_Recovery_Rate_Override_Flag VARCHAR2,
190   X_TAX_ID in NUMBER,
191   X_ATTRIBUTE13 in VARCHAR2,
192   X_ATTRIBUTE14 in VARCHAR2,
193   X_ATTRIBUTE15 in VARCHAR2,
194   X_ATTRIBUTE_CATEGORY in VARCHAR2,
195   X_ATTRIBUTE8 in VARCHAR2,
196   X_ATTRIBUTE9 in VARCHAR2,
197   X_ATTRIBUTE10 in VARCHAR2,
198   X_ATTRIBUTE11 in VARCHAR2,
199   X_ATTRIBUTE12 in VARCHAR2,
200   X_Has_Tax_Point_Date_Rule_Flag in VARCHAR2,
201   X_Print_On_Invoice_Flag in VARCHAR2,
202   X_Use_Legal_Msg_Flag in VARCHAR2,
203   X_Calc_Only_Flag in VARCHAR2,
204   X_PRIMARY_RECOVERY_TYPE_CODE in VARCHAR2,
205   X_Primary_Rec_Type_Rule_Flag in VARCHAR2,
206   X_SECONDARY_RECOVERY_TYPE_CODE in VARCHAR2,
207   X_Secondary_Rec_Type_Rule_Flag in VARCHAR2,
208   X_PRIMARY_REC_RATE_DET_RULE_FL in VARCHAR2,
209   X_Sec_Rec_Rate_Det_Rule_Flag in VARCHAR2,
210   X_Offset_Tax_Flag in VARCHAR2,
211   X_REQUEST_ID in NUMBER,
212   X_PROGRAM_APPLICATION_ID in NUMBER,
213   X_PROGRAM_ID in NUMBER,
214   X_Program_Login_Id in NUMBER,
215   X_Record_Type_Code in VARCHAR2,
216   X_Allow_Rounding_Override_Flag in VARCHAR2,
217   X_ATTRIBUTE1 in VARCHAR2,
218   X_ATTRIBUTE2 in VARCHAR2,
219   X_ATTRIBUTE3 in VARCHAR2,
220   X_ATTRIBUTE4 in VARCHAR2,
221   X_ATTRIBUTE5 in VARCHAR2,
222   X_ATTRIBUTE6 in VARCHAR2,
223   X_ATTRIBUTE7 in VARCHAR2,
224   X_Has_Exch_Rate_Date_Rule_Flag in VARCHAR2,
225   X_TAX in VARCHAR2,
226   X_EFFECTIVE_FROM in DATE,
227   X_EFFECTIVE_TO in DATE,
228   X_TAX_REGIME_CODE in VARCHAR2,
229   X_TAX_TYPE_CODE in VARCHAR2,
230   X_Allow_Manual_Entry_Flag in VARCHAR2,
231   X_Allow_Tax_Override_Flag in VARCHAR2,
232   X_MIN_TXBL_BSIS_THRSHLD in NUMBER,
233   X_MAX_TXBL_BSIS_THRSHLD in NUMBER,
234   X_MIN_TAX_RATE_THRSHLD in NUMBER,
235   X_MAX_TAX_RATE_THRSHLD in NUMBER,
236   X_MIN_TAX_AMT_THRSHLD in NUMBER,
237   X_MAX_TAX_AMT_THRSHLD in NUMBER,
238   X_COMPOUNDING_PRECEDENCE in NUMBER,
239   X_PERIOD_SET_NAME in VARCHAR2,
240   X_EXCHANGE_RATE_TYPE in VARCHAR2,
241   X_TAX_CURRENCY_CODE in VARCHAR2,
242   X_REP_TAX_AUTHORITY_ID in NUMBER,
243   X_COLL_TAX_AUTHORITY_ID in NUMBER,
244   X_TAX_PRECISION in NUMBER,
245   X_MINIMUM_ACCOUNTABLE_UNIT in NUMBER,
246   X_Rounding_Rule_Code in VARCHAR2,
247   X_Tax_Status_Rule_Flag in VARCHAR2,
248   X_Tax_Rate_Rule_Flag in VARCHAR2,
249   X_Def_Place_Of_Supply_Type_Cod in VARCHAR2,
250   X_Place_Of_Supply_Rule_Flag in VARCHAR2,
251   X_Applicability_Rule_Flag in VARCHAR2,
252   X_Tax_Calc_Rule_Flag in VARCHAR2,
253   X_Txbl_Bsis_Thrshld_Flag in VARCHAR2,
254   X_Tax_Rate_Thrshld_Flag in VARCHAR2,
255   X_Tax_Amt_Thrshld_Flag in VARCHAR2,
256   X_Taxable_Basis_Rule_Flag in VARCHAR2,
257   X_Def_Inclusive_Tax_Flag in VARCHAR2,
258   X_Thrshld_Grouping_Lvl_Code in VARCHAR2,
259   X_Thrshld_Chk_Tmplt_Code in VARCHAR2,
260   X_Has_Other_Jurisdictions_Flag in VARCHAR2,
261   X_Allow_Exemptions_Flag in VARCHAR2,
262   X_Allow_Exceptions_Flag in VARCHAR2,
263   X_Allow_Recoverability_Flag in VARCHAR2,
264   X_DEF_TAX_CALC_FORMULA in VARCHAR2,
265   X_Tax_Inclusive_Override_Flag in VARCHAR2,
266   X_DEF_TAXABLE_BASIS_FORMULA in VARCHAR2,
267   X_Def_Registr_Party_Type_Code in VARCHAR2,
268   X_Registration_Type_Rule_Flag in VARCHAR2,
269   X_Reporting_Only_Flag in VARCHAR2,
270   X_Auto_Prvn_Flag in VARCHAR2,
271   X_Live_For_Processing_Flag in VARCHAR2,
272   X_Has_Detail_Tb_Thrshld_Flag in VARCHAR2,
273   X_Has_Tax_Det_Date_Rule_Flag in VARCHAR2,
274   X_TAX_FULL_NAME in VARCHAR2,
275   X_ZONE_GEOGRAPHY_TYPE in VARCHAR2,
276   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
277   X_CREATION_DATE in DATE,
278   X_CREATED_BY in NUMBER,
279   X_LAST_UPDATE_DATE in DATE,
280   X_LAST_UPDATED_BY in NUMBER,
281   X_LAST_UPDATE_LOGIN in NUMBER,
282   X_Regn_Num_Same_As_Le_Flag in VARCHAR2  ,
283   X_Direct_Rate_Rule_Flag   in VARCHAR2,
284   X_CONTENT_OWNER_ID in NUMBER,
285   X_APPLIED_AMT_HANDLING_FLAG in VARCHAR2,
286   X_PARENT_GEOGRAPHY_TYPE in VARCHAR2,
287   X_PARENT_GEOGRAPHY_ID in NUMBER,
288   X_ALLOW_MASS_CREATE_FLAG in VARCHAR2,
289   X_SOURCE_TAX_FLAG in VARCHAR2,
290   X_SPECIAL_INCLUSIVE_TAX_FLAG in VARCHAR2,
291   X_DEF_PRIMARY_REC_RATE_CODE in VARCHAR2,
292   X_DEF_SECONDARY_REC_RATE_CODE in VARCHAR2,
293   X_ALLOW_DUP_REGN_NUM_FLAG in VARCHAR2,
294   X_TAX_ACCOUNT_SOURCE_TAX in VARCHAR2,
295   X_TAX_ACCOUNT_CREATE_METHOD_CO in VARCHAR2,
296   X_OVERRIDE_GEOGRAPHY_TYPE in VARCHAR2,
297   X_TAX_EXMPT_SOURCE_TAX in VARCHAR2,
298   X_TAX_EXMPT_CR_METHOD_CODE in VARCHAR2,
299   X_OBJECT_VERSION_NUMBER in NUMBER,
300   X_LIVE_FOR_APPLICABILITY_FLAG in VARCHAR2,
301   X_APPLICABLE_BY_DEFAULT_FLAG in VARCHAR2,
302   X_LEGAL_REPORTING_STATUS_DEF_V in VARCHAR2
303 ) is
304   cursor C is select ROWID from ZX_TAXES_B
305     where TAX_ID = X_TAX_ID
306     ;
307 begin
308   insert into ZX_TAXES_B (
309     ATTRIBUTE13,
310     ATTRIBUTE14,
311     ATTRIBUTE15,
312     ATTRIBUTE_CATEGORY,
313     ATTRIBUTE8,
314     ATTRIBUTE9,
315     ATTRIBUTE10,
316     ATTRIBUTE11,
317     ATTRIBUTE12,
318     Has_Tax_Point_Date_Rule_Flag,
319     Print_On_Invoice_Flag,
320     Use_Legal_Msg_Flag,
321     Calc_Only_Flag,
322     PRIMARY_RECOVERY_TYPE_CODE,
323     Primary_Rec_Type_Rule_Flag,
324     SECONDARY_RECOVERY_TYPE_CODE,
325     Secondary_Rec_Type_Rule_Flag,
326     Primary_Rec_Rate_Det_Rule_Flag,
327     Sec_Rec_Rate_Det_Rule_Flag,
328     Offset_Tax_Flag,
329     REQUEST_ID,
330     PROGRAM_APPLICATION_ID,
331     PROGRAM_ID,
332     Program_Login_Id,
333     Record_Type_Code,
334     Allow_Rounding_Override_Flag,
335     ATTRIBUTE1,
336     ATTRIBUTE2,
337     ATTRIBUTE3,
338     ATTRIBUTE4,
339     ATTRIBUTE5,
340     ATTRIBUTE6,
341     ATTRIBUTE7,
342     Has_Exch_Rate_Date_Rule_Flag,
343     Recovery_Rate_Override_Flag,
344     TAX_ID,
345     TAX,
346     EFFECTIVE_FROM,
347     EFFECTIVE_TO,
348     TAX_REGIME_CODE,
349     TAX_TYPE_CODE,
350     Allow_Manual_Entry_Flag,
351     Allow_Tax_Override_Flag,
352     MIN_TXBL_BSIS_THRSHLD,
353     MAX_TXBL_BSIS_THRSHLD,
354     MIN_TAX_RATE_THRSHLD,
355     MAX_TAX_RATE_THRSHLD,
356     MIN_TAX_AMT_THRSHLD,
357     MAX_TAX_AMT_THRSHLD,
358     COMPOUNDING_PRECEDENCE,
359     PERIOD_SET_NAME,
360     EXCHANGE_RATE_TYPE,
361     TAX_CURRENCY_CODE,
362     REP_TAX_AUTHORITY_ID,
363     COLL_TAX_AUTHORITY_ID,
364     TAX_PRECISION,
365     MINIMUM_ACCOUNTABLE_UNIT,
366     Rounding_Rule_Code,
367     Tax_Status_Rule_Flag,
368     Tax_Rate_Rule_Flag,
369     Def_Place_Of_Supply_Type_Code,
370     Place_Of_Supply_Rule_Flag,
371     Applicability_Rule_Flag,
372     Tax_Calc_Rule_Flag,
373     Txbl_Bsis_Thrshld_Flag,
374     Tax_Rate_Thrshld_Flag,
375     Tax_Amt_Thrshld_Flag,
376     Taxable_Basis_Rule_Flag,
377     Def_Inclusive_Tax_Flag,
378     Thrshld_Grouping_Lvl_Code,
379     Thrshld_Chk_Tmplt_Code,
380     Has_Other_Jurisdictions_Flag,
381     Allow_Exemptions_Flag,
382     Allow_Exceptions_Flag,
383     Allow_Recoverability_Flag,
384     DEF_TAX_CALC_FORMULA,
385     Tax_Inclusive_Override_Flag,
386     DEF_TAXABLE_BASIS_FORMULA,
387     Def_Registr_Party_Type_Code,
388     Registration_Type_Rule_Flag,
389     Reporting_Only_Flag,
390     Auto_Prvn_Flag,
391     Live_For_Processing_Flag,
392     Has_Detail_Tb_Thrshld_Flag,
393     Has_Tax_Det_Date_Rule_Flag,
394     Regn_Num_Same_As_Le_Flag,
395     ZONE_GEOGRAPHY_TYPE,
396     Def_Rec_Settlement_Option_Code,
397     Direct_Rate_Rule_Flag   ,
398     CONTENT_OWNER_ID ,
399     APPLIED_AMT_HANDLING_FLAG,
400     PARENT_GEOGRAPHY_TYPE,
401     PARENT_GEOGRAPHY_ID,
402     ALLOW_MASS_CREATE_FLAG,
403     SOURCE_TAX_FLAG,
404     SPECIAL_INCLUSIVE_TAX_FLAG,
405     DEF_PRIMARY_REC_RATE_CODE,
406     DEF_SECONDARY_REC_RATE_CODE,
407     ALLOW_DUP_REGN_NUM_FLAG,
408     CREATION_DATE,
409     CREATED_BY,
410     LAST_UPDATE_DATE,
411     LAST_UPDATED_BY,
412     LAST_UPDATE_LOGIN,
413     TAX_ACCOUNT_SOURCE_TAX,
414     TAX_ACCOUNT_CREATE_METHOD_CODE,
415     OVERRIDE_GEOGRAPHY_TYPE ,
416     TAX_EXMPT_SOURCE_TAX,
417     TAX_EXMPT_CR_METHOD_CODE,
418     OBJECT_VERSION_NUMBER,
419     LIVE_FOR_APPLICABILITY_FLAG,
420     APPLICABLE_BY_DEFAULT_FLAG,
421     LEGAL_REPORTING_STATUS_DEF_VAL
422   ) values (
423     X_ATTRIBUTE13,
424     X_ATTRIBUTE14,
425     X_ATTRIBUTE15,
426     X_ATTRIBUTE_CATEGORY,
427     X_ATTRIBUTE8,
428     X_ATTRIBUTE9,
429     X_ATTRIBUTE10,
430     X_ATTRIBUTE11,
431     X_ATTRIBUTE12,
432     X_Has_Tax_Point_Date_Rule_Flag,
433     X_Print_On_Invoice_Flag,
434     X_Use_Legal_Msg_Flag,
435     X_Calc_Only_Flag,
436     X_PRIMARY_RECOVERY_TYPE_CODE,
437     X_Primary_Rec_Type_Rule_Flag,
438     X_SECONDARY_RECOVERY_TYPE_CODE,
439     X_Secondary_Rec_Type_Rule_Flag,
440     X_PRIMARY_REC_RATE_DET_RULE_FL,
441     X_Sec_Rec_Rate_Det_Rule_Flag,
442     X_Offset_Tax_Flag,
443     X_REQUEST_ID,
444     X_PROGRAM_APPLICATION_ID,
445     X_PROGRAM_ID,
446     X_Program_Login_Id,
447     X_Record_Type_Code,
448     X_Allow_Rounding_Override_Flag,
449     X_ATTRIBUTE1,
450     X_ATTRIBUTE2,
451     X_ATTRIBUTE3,
452     X_ATTRIBUTE4,
453     X_ATTRIBUTE5,
454     X_ATTRIBUTE6,
455     X_ATTRIBUTE7,
456     X_Has_Exch_Rate_Date_Rule_Flag,
457     X_Recovery_Rate_Override_Flag,
458     X_TAX_ID,
459     X_TAX,
460     X_EFFECTIVE_FROM,
461     X_EFFECTIVE_TO,
462     X_TAX_REGIME_CODE,
463     X_TAX_TYPE_CODE,
464     X_Allow_Manual_Entry_Flag,
465     X_Allow_Tax_Override_Flag,
466     X_MIN_TXBL_BSIS_THRSHLD,
467     X_MAX_TXBL_BSIS_THRSHLD,
468     X_MIN_TAX_RATE_THRSHLD,
469     X_MAX_TAX_RATE_THRSHLD,
470     X_MIN_TAX_AMT_THRSHLD,
471     X_MAX_TAX_AMT_THRSHLD,
472     X_COMPOUNDING_PRECEDENCE,
473     X_PERIOD_SET_NAME,
474     X_EXCHANGE_RATE_TYPE,
475     X_TAX_CURRENCY_CODE,
476     X_REP_TAX_AUTHORITY_ID,
477     X_COLL_TAX_AUTHORITY_ID,
478     X_TAX_PRECISION,
479     X_MINIMUM_ACCOUNTABLE_UNIT,
480     X_Rounding_Rule_Code,
481     X_Tax_Status_Rule_Flag,
482     X_Tax_Rate_Rule_Flag,
483     X_Def_Place_Of_Supply_Type_Cod,
484     X_Place_Of_Supply_Rule_Flag,
485     X_Applicability_Rule_Flag,
486     X_Tax_Calc_Rule_Flag,
487     X_Txbl_Bsis_Thrshld_Flag,
488     X_Tax_Rate_Thrshld_Flag,
489     X_Tax_Amt_Thrshld_Flag,
490     X_Taxable_Basis_Rule_Flag,
491     X_Def_Inclusive_Tax_Flag,
492     X_Thrshld_Grouping_Lvl_Code,
493     X_Thrshld_Chk_Tmplt_Code,
494     X_Has_Other_Jurisdictions_Flag,
495     X_Allow_Exemptions_Flag,
496     X_Allow_Exceptions_Flag,
497     X_Allow_Recoverability_Flag,
498     X_DEF_TAX_CALC_FORMULA,
499     X_Tax_Inclusive_Override_Flag,
500     X_DEF_TAXABLE_BASIS_FORMULA,
501     X_Def_Registr_Party_Type_Code,
502     X_Registration_Type_Rule_Flag,
503     X_Reporting_Only_Flag,
504     X_Auto_Prvn_Flag,
505     X_Live_For_Processing_Flag,
506     X_Has_Detail_Tb_Thrshld_Flag,
507     X_Has_Tax_Det_Date_Rule_Flag,
508     X_Regn_Num_Same_As_Le_Flag,
509     X_ZONE_GEOGRAPHY_TYPE,
510     X_Def_Rec_Settlement_Option_Co,
511     X_Direct_Rate_Rule_Flag   ,
512     X_CONTENT_OWNER_ID,
513     X_APPLIED_AMT_HANDLING_FLAG,
514     X_PARENT_GEOGRAPHY_TYPE,
515     X_PARENT_GEOGRAPHY_ID,
516     X_ALLOW_MASS_CREATE_FLAG,
517     X_SOURCE_TAX_FLAG,
518     X_SPECIAL_INCLUSIVE_TAX_FLAG,
519     X_DEF_PRIMARY_REC_RATE_CODE,
520     X_DEF_SECONDARY_REC_RATE_CODE,
521     X_ALLOW_DUP_REGN_NUM_FLAG,
522     X_CREATION_DATE,
523     X_CREATED_BY,
524     X_LAST_UPDATE_DATE,
525     X_LAST_UPDATED_BY,
526     X_LAST_UPDATE_LOGIN,
527     X_TAX_ACCOUNT_SOURCE_TAX ,
528     X_TAX_ACCOUNT_CREATE_METHOD_CO,
529     X_OVERRIDE_GEOGRAPHY_TYPE,
530     X_TAX_EXMPT_SOURCE_TAX,
531     X_TAX_EXMPT_CR_METHOD_CODE,
532     X_OBJECT_VERSION_NUMBER,
533     X_LIVE_FOR_APPLICABILITY_FLAG,
534     X_APPLICABLE_BY_DEFAULT_FLAG,
535     X_LEGAL_REPORTING_STATUS_DEF_V
536   );
537   insert into ZX_TAXES_TL (
538     TAX_ID,
539     TAX_FULL_NAME,
540     CREATED_BY,
541     CREATION_DATE,
542     LAST_UPDATED_BY,
543     LAST_UPDATE_DATE,
544     LAST_UPDATE_LOGIN,
545     LANGUAGE,
546     SOURCE_LANG
547   ) select
548     X_TAX_ID,
549     X_TAX_FULL_NAME,
550     X_CREATED_BY,
551     X_CREATION_DATE,
552     X_LAST_UPDATED_BY,
553     X_LAST_UPDATE_DATE,
554     X_LAST_UPDATE_LOGIN,
555     L.LANGUAGE_CODE,
556     userenv('LANG')
557   from FND_LANGUAGES L
558   where L.INSTALLED_FLAG in ('I', 'B')
559   and not exists
560     (select NULL
561     from ZX_TAXES_TL T
562     where T.TAX_ID = X_TAX_ID
563     and T.LANGUAGE = L.LANGUAGE_CODE);
564 /*  if(X_PRIMARY_RECOVERY_TYPE_CODE is not null) then
565     insert_recovery(
566     		  X_TAX,
567     		  X_TAX_REGIME_CODE,
568     		  X_PRIMARY_RECOVERY_TYPE_CODE ,
569 		  X_EFFECTIVE_FROM
570     		);
571 end if;
572 if(X_SECONDARY_RECOVERY_TYPE_CODE is not null) then
573     insert_recovery(
574     		  X_TAX,
575     		  X_TAX_REGIME_CODE,
576     		  X_SECONDARY_RECOVERY_TYPE_CODE ,
577 		  X_EFFECTIVE_FROM
578     		  );
579   end if;        */
580   open c;
581   fetch c into X_ROWID;
582   if (c%notfound) then
583     close c;
584     raise no_data_found;
585   end if;
586   close c;
587 end INSERT_ROW;
588 procedure LOCK_ROW (
589   X_TAX_ID in NUMBER,
590   X_Recovery_Rate_Override_Flag in VARCHAR2,
591   X_ATTRIBUTE13 in VARCHAR2,
592   X_ATTRIBUTE14 in VARCHAR2,
593   X_ATTRIBUTE15 in VARCHAR2,
594   X_ATTRIBUTE_CATEGORY in VARCHAR2,
595   X_ATTRIBUTE8 in VARCHAR2,
596   X_ATTRIBUTE9 in VARCHAR2,
597   X_ATTRIBUTE10 in VARCHAR2,
598   X_ATTRIBUTE11 in VARCHAR2,
599   X_ATTRIBUTE12 in VARCHAR2,
600   X_Has_Tax_Point_Date_Rule_Flag in VARCHAR2,
601   X_Print_On_Invoice_Flag in VARCHAR2,
602   X_Use_Legal_Msg_Flag in VARCHAR2,
603   X_Calc_Only_Flag in VARCHAR2,
604   X_PRIMARY_RECOVERY_TYPE_CODE in VARCHAR2,
605   X_Primary_Rec_Type_Rule_Flag in VARCHAR2,
606   X_SECONDARY_RECOVERY_TYPE_CODE in VARCHAR2,
607   X_Secondary_Rec_Type_Rule_Flag in VARCHAR2,
608   X_PRIMARY_REC_RATE_DET_RULE_FL in VARCHAR2,
609   X_Sec_Rec_Rate_Det_Rule_Flag in VARCHAR2,
610   X_Offset_Tax_Flag in VARCHAR2,
611   X_REQUEST_ID in NUMBER,
612   X_PROGRAM_APPLICATION_ID in NUMBER,
613   X_PROGRAM_ID in NUMBER,
614   X_Program_Login_Id in NUMBER,
615   X_Record_Type_Code in VARCHAR2,
616   X_Allow_Rounding_Override_Flag in VARCHAR2,
617   X_ATTRIBUTE1 in VARCHAR2,
618   X_ATTRIBUTE2 in VARCHAR2,
619   X_ATTRIBUTE3 in VARCHAR2,
620   X_ATTRIBUTE4 in VARCHAR2,
621   X_ATTRIBUTE5 in VARCHAR2,
622   X_ATTRIBUTE6 in VARCHAR2,
623   X_ATTRIBUTE7 in VARCHAR2,
624   X_Has_Exch_Rate_Date_Rule_Flag in VARCHAR2,
625   X_TAX in VARCHAR2,
626   X_EFFECTIVE_FROM in DATE,
627   X_EFFECTIVE_TO in DATE,
628   X_TAX_REGIME_CODE in VARCHAR2,
629   X_TAX_TYPE_CODE in VARCHAR2,
630   X_Allow_Manual_Entry_Flag in VARCHAR2,
631   X_Allow_Tax_Override_Flag in VARCHAR2,
632   X_MIN_TXBL_BSIS_THRSHLD in NUMBER,
633   X_MAX_TXBL_BSIS_THRSHLD in NUMBER,
634   X_MIN_TAX_RATE_THRSHLD in NUMBER,
635   X_MAX_TAX_RATE_THRSHLD in NUMBER,
636   X_MIN_TAX_AMT_THRSHLD in NUMBER,
637   X_MAX_TAX_AMT_THRSHLD in NUMBER,
638   X_COMPOUNDING_PRECEDENCE in NUMBER,
639   X_PERIOD_SET_NAME in VARCHAR2,
640   X_EXCHANGE_RATE_TYPE in VARCHAR2,
641   X_TAX_CURRENCY_CODE in VARCHAR2,
642   X_REP_TAX_AUTHORITY_ID in NUMBER,
643   X_COLL_TAX_AUTHORITY_ID in NUMBER,
644   X_TAX_PRECISION in NUMBER,
645   X_MINIMUM_ACCOUNTABLE_UNIT in NUMBER,
646   X_Rounding_Rule_Code in VARCHAR2,
647   X_Tax_Status_Rule_Flag in VARCHAR2,
648   X_Tax_Rate_Rule_Flag in VARCHAR2,
649   X_Def_Place_Of_Supply_Type_Cod in VARCHAR2,
650   X_Place_Of_Supply_Rule_Flag in VARCHAR2,
651   X_Applicability_Rule_Flag in VARCHAR2,
652   X_Tax_Calc_Rule_Flag in VARCHAR2,
653   X_Txbl_Bsis_Thrshld_Flag in VARCHAR2,
654   X_Tax_Rate_Thrshld_Flag in VARCHAR2,
655   X_Tax_Amt_Thrshld_Flag in VARCHAR2,
656   X_Taxable_Basis_Rule_Flag in VARCHAR2,
657   X_Def_Inclusive_Tax_Flag in VARCHAR2,
658   X_Thrshld_Grouping_Lvl_Code in VARCHAR2,
659   X_Thrshld_Chk_Tmplt_Code in VARCHAR2,
660   X_Has_Other_Jurisdictions_Flag in VARCHAR2,
661   X_Allow_Exemptions_Flag in VARCHAR2,
662   X_Allow_Exceptions_Flag in VARCHAR2,
663   X_Allow_Recoverability_Flag in VARCHAR2,
664   X_DEF_TAX_CALC_FORMULA in VARCHAR2,
665   X_Tax_Inclusive_Override_Flag in VARCHAR2,
666   X_DEF_TAXABLE_BASIS_FORMULA in VARCHAR2,
667   X_Def_Registr_Party_Type_Code in VARCHAR2,
668   X_Registration_Type_Rule_Flag in VARCHAR2,
669   X_Reporting_Only_Flag in VARCHAR2,
670   X_Auto_Prvn_Flag in VARCHAR2,
671   X_Live_For_Processing_Flag in VARCHAR2,
672   X_Has_Detail_Tb_Thrshld_Flag in VARCHAR2,
673   X_Has_Tax_Det_Date_Rule_Flag in VARCHAR2,
674   X_TAX_FULL_NAME in VARCHAR2,
675   X_ZONE_GEOGRAPHY_TYPE in VARCHAR2,
676   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
677   X_Regn_Num_Same_As_Le_Flag in VARCHAR2   ,
678   X_Direct_Rate_Rule_Flag   in VARCHAR2,
679   X_CONTENT_OWNER_ID in NUMBER,
680   X_APPLIED_AMT_HANDLING_FLAG in VARCHAR2,
681   X_PARENT_GEOGRAPHY_TYPE in VARCHAR2,
682   X_PARENT_GEOGRAPHY_ID in NUMBER,
683   X_ALLOW_MASS_CREATE_FLAG in VARCHAR2,
684   X_SOURCE_TAX_FLAG in VARCHAR2,
685   X_SPECIAL_INCLUSIVE_TAX_FLAG in VARCHAR2,
686   X_DEF_PRIMARY_REC_RATE_CODE in VARCHAR2,
687   X_DEF_SECONDARY_REC_RATE_CODE in VARCHAR2,
688   X_ALLOW_DUP_REGN_NUM_FLAG in VARCHAR2,
689   X_TAX_ACCOUNT_SOURCE_TAX in VARCHAR2,
690   X_TAX_ACCOUNT_CREATE_METHOD_CO in VARCHAR2,
691   X_OVERRIDE_GEOGRAPHY_TYPE in VARCHAR2,
692   X_TAX_EXMPT_SOURCE_TAX in VARCHAR2,
693   X_TAX_EXMPT_CR_METHOD_CODE in VARCHAR2,
694   X_OBJECT_VERSION_NUMBER in NUMBER,
695   X_LIVE_FOR_APPLICABILITY_FLAG in VARCHAR2,
696   X_APPLICABLE_BY_DEFAULT_FLAG in VARCHAR2,
697   X_LEGAL_REPORTING_STATUS_DEF_V in VARCHAR2
698 ) is
699   cursor c is select
700       ATTRIBUTE13,
701       ATTRIBUTE14,
702       ATTRIBUTE15,
703       ATTRIBUTE_CATEGORY,
704       ATTRIBUTE8,
705       ATTRIBUTE9,
706       ATTRIBUTE10,
707       ATTRIBUTE11,
708       ATTRIBUTE12,
709       Has_Tax_Point_Date_Rule_Flag,
710       Print_On_Invoice_Flag,
711       Use_Legal_Msg_Flag,
712       Calc_Only_Flag,
713       PRIMARY_RECOVERY_TYPE_CODE,
714       Primary_Rec_Type_Rule_Flag,
715       SECONDARY_RECOVERY_TYPE_CODE,
716       Secondary_Rec_Type_Rule_Flag,
717       Primary_Rec_Rate_Det_Rule_Flag,
718       Sec_Rec_Rate_Det_Rule_Flag,
719       Offset_Tax_Flag,
720       REQUEST_ID,
721       PROGRAM_APPLICATION_ID,
722       PROGRAM_ID,
723       Program_Login_Id,
724       Record_Type_Code,
725       Allow_Rounding_Override_Flag,
726       ATTRIBUTE1,
727       ATTRIBUTE2,
728       ATTRIBUTE3,
729       ATTRIBUTE4,
730       ATTRIBUTE5,
731       ATTRIBUTE6,
732       ATTRIBUTE7,
733       Has_Exch_Rate_Date_Rule_Flag,
734       Recovery_Rate_Override_Flag,
735       TAX,
736       EFFECTIVE_FROM,
737       EFFECTIVE_TO,
738       TAX_REGIME_CODE,
739       TAX_TYPE_CODE,
740       Allow_Manual_Entry_Flag,
741       Allow_Tax_Override_Flag,
742       MIN_TXBL_BSIS_THRSHLD,
743       MAX_TXBL_BSIS_THRSHLD,
744       MIN_TAX_RATE_THRSHLD,
745       MAX_TAX_RATE_THRSHLD,
746       MIN_TAX_AMT_THRSHLD,
747       MAX_TAX_AMT_THRSHLD,
748       COMPOUNDING_PRECEDENCE,
749       PERIOD_SET_NAME,
750       EXCHANGE_RATE_TYPE,
751       TAX_CURRENCY_CODE,
752       REP_TAX_AUTHORITY_ID,
753       COLL_TAX_AUTHORITY_ID,
754       TAX_PRECISION,
755       MINIMUM_ACCOUNTABLE_UNIT,
756       Rounding_Rule_Code,
757       Tax_Status_Rule_Flag,
758       Tax_Rate_Rule_Flag,
759       Def_Place_Of_Supply_Type_Code,
760       Place_Of_Supply_Rule_Flag,
761       Applicability_Rule_Flag,
762       Tax_Calc_Rule_Flag,
763       Txbl_Bsis_Thrshld_Flag,
764       Tax_Rate_Thrshld_Flag,
765       Tax_Amt_Thrshld_Flag,
766       Taxable_Basis_Rule_Flag,
767       Def_Inclusive_Tax_Flag,
768       Thrshld_Grouping_Lvl_Code,
769       Thrshld_Chk_Tmplt_Code,
770       Has_Other_Jurisdictions_Flag,
771       Allow_Exemptions_Flag,
772       Allow_Exceptions_Flag,
773       Allow_Recoverability_Flag,
774       DEF_TAX_CALC_FORMULA,
775       Tax_Inclusive_Override_Flag,
776       DEF_TAXABLE_BASIS_FORMULA,
777       Def_Registr_Party_Type_Code,
778       Registration_Type_Rule_Flag,
779       Reporting_Only_Flag,
780       Auto_Prvn_Flag,
781       Live_For_Processing_Flag,
782       Has_Detail_Tb_Thrshld_Flag,
783       Has_Tax_Det_Date_Rule_Flag,
784       Regn_Num_Same_As_Le_Flag,
785       ZONE_GEOGRAPHY_TYPE,
786       Def_Rec_Settlement_Option_Code    ,
787       Direct_Rate_Rule_Flag   ,
788       CONTENT_OWNER_ID ,
789       APPLIED_AMT_HANDLING_FLAG,
790       PARENT_GEOGRAPHY_TYPE,
791       PARENT_GEOGRAPHY_ID,
792       ALLOW_MASS_CREATE_FLAG,
793       SOURCE_TAX_FLAG,
794       SPECIAL_INCLUSIVE_TAX_FLAG,
795       DEF_PRIMARY_REC_RATE_CODE,
796       DEF_SECONDARY_REC_RATE_CODE,
797       ALLOW_DUP_REGN_NUM_FLAG,
798       TAX_ACCOUNT_SOURCE_TAX,
799       TAX_ACCOUNT_CREATE_METHOD_CODE,
800       OVERRIDE_GEOGRAPHY_TYPE,
801       TAX_EXMPT_SOURCE_TAX,
802       TAX_EXMPT_CR_METHOD_CODE,
803       OBJECT_VERSION_NUMBER,
804       LIVE_FOR_APPLICABILITY_FLAG,
805       APPLICABLE_BY_DEFAULT_FLAG,
806       LEGAL_REPORTING_STATUS_DEF_VAL
807     from ZX_TAXES_B
808     where TAX_ID = X_TAX_ID
809     for update of TAX_ID nowait;
810   recinfo c%rowtype;
811   cursor c1 is select
812       TAX_FULL_NAME,
813       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
814     from ZX_TAXES_TL
815     where TAX_ID = X_TAX_ID
816     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
817     for update of TAX_ID nowait;
818 begin
819   open c;
820   fetch c into recinfo;
821   if (c%notfound) then
822     close c;
823     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
824     app_exception.raise_exception;
825   end if;
826   close c;
827   if (    ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
828            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
829       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
830            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
831       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
832            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
833       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
834            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
835       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
836            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
837       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
838            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
839       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
840            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
841       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
842            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
843       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
844            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
845       AND ((recinfo.Has_Tax_Point_Date_Rule_Flag = X_Has_Tax_Point_Date_Rule_Flag)
846            OR ((recinfo.Has_Tax_Point_Date_Rule_Flag is null) AND (X_Has_Tax_Point_Date_Rule_Flag is null)))
847       AND ((recinfo.Print_On_Invoice_Flag = X_Print_On_Invoice_Flag)
848            OR ((recinfo.Print_On_Invoice_Flag is null) AND (X_Print_On_Invoice_Flag is null)))
849       AND ((recinfo.Use_Legal_Msg_Flag = X_Use_Legal_Msg_Flag)
850            OR ((recinfo.Use_Legal_Msg_Flag is null) AND (X_Use_Legal_Msg_Flag is null)))
851       AND ((recinfo.Calc_Only_Flag = X_Calc_Only_Flag)
852            OR ((recinfo.Calc_Only_Flag is null) AND (X_Calc_Only_Flag is null)))
853       AND ((recinfo.PRIMARY_RECOVERY_TYPE_CODE = X_PRIMARY_RECOVERY_TYPE_CODE)
854        OR ((recinfo.PRIMARY_RECOVERY_TYPE_CODE is null) AND (X_PRIMARY_RECOVERY_TYPE_CODE is null)))
855       AND ((recinfo.Primary_Rec_Type_Rule_Flag = X_Primary_Rec_Type_Rule_Flag)
856            OR ((recinfo.Primary_Rec_Type_Rule_Flag is null) AND (X_Primary_Rec_Type_Rule_Flag is null)
857 ))
858       AND ((recinfo.SECONDARY_RECOVERY_TYPE_CODE = X_SECONDARY_RECOVERY_TYPE_CODE)
859            OR ((recinfo.SECONDARY_RECOVERY_TYPE_CODE is null) AND (X_SECONDARY_RECOVERY_TYPE_CODE is
860  null)))
861       AND ((recinfo.Secondary_Rec_Type_Rule_Flag = X_Secondary_Rec_Type_Rule_Flag)
862      OR ((recinfo.Secondary_Rec_Type_Rule_Flag is null) AND (X_Secondary_Rec_Type_Rule_Flag is null)))
863       AND ((recinfo.Primary_Rec_Rate_Det_Rule_Flag = X_PRIMARY_REC_RATE_DET_RULE_FL)
864            OR ((recinfo.Primary_Rec_Rate_Det_Rule_Flag is null) AND (X_PRIMARY_REC_RATE_DET_RULE_FL is null)))
865       AND ((recinfo.Sec_Rec_Rate_Det_Rule_Flag = X_Sec_Rec_Rate_Det_Rule_Flag)
866            OR ((recinfo.Sec_Rec_Rate_Det_Rule_Flag is null) AND (X_Sec_Rec_Rate_Det_Rule_Flag is null)
867 ))
868       AND ((recinfo.Offset_Tax_Flag = X_Offset_Tax_Flag)
869            OR ((recinfo.Offset_Tax_Flag is null) AND (X_Offset_Tax_Flag is null)))
870       AND ((recinfo.REQUEST_ID = X_REQUEST_ID)
871            OR ((recinfo.REQUEST_ID is null) AND (X_REQUEST_ID is null)))
872       AND ((recinfo.PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID)
873            OR ((recinfo.PROGRAM_APPLICATION_ID is null) AND (X_PROGRAM_APPLICATION_ID is null)))
874       AND ((recinfo.PROGRAM_ID  = X_PROGRAM_ID )
875            OR ((recinfo.PROGRAM_ID is null) AND (X_PROGRAM_ID is null)))
876       AND ((recinfo.Program_Login_Id = X_Program_Login_Id)
877            OR ((recinfo.Program_Login_Id is null) AND (X_Program_Login_Id is null)))
878       AND ((recinfo.Record_Type_Code = X_Record_Type_Code)
879           OR ((recinfo.Record_Type_Code is null) AND (X_Record_Type_Code is null)))
880       AND ((recinfo.Allow_Rounding_Override_Flag = X_Allow_Rounding_Override_Flag)
881            OR ((recinfo.Allow_Rounding_Override_Flag is null) AND (X_Allow_Rounding_Override_Flag is null)))
882       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
883            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
884       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
885            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
886       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
887            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
888       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
889            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
890       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
891            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
892       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
893            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
894       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
895            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
896       AND ((recinfo.Has_Exch_Rate_Date_Rule_Flag = X_Has_Exch_Rate_Date_Rule_Flag)
897      OR ((recinfo.Has_Exch_Rate_Date_Rule_Flag is null) AND (X_Has_Exch_Rate_Date_Rule_Flag is null)))
898       AND ((recinfo.Recovery_Rate_Override_Flag = X_Recovery_Rate_Override_Flag)
899     OR ((recinfo.Recovery_Rate_Override_Flag is null) AND (X_Recovery_Rate_Override_Flag is null)))
900       AND (recinfo.TAX = X_TAX)
901       AND ((recinfo.EFFECTIVE_FROM = X_EFFECTIVE_FROM)
902            OR ((recinfo.EFFECTIVE_FROM is null) AND (X_EFFECTIVE_FROM is null)))
903       AND ((recinfo.EFFECTIVE_TO = X_EFFECTIVE_TO)
904            OR ((recinfo.EFFECTIVE_TO is null) AND (X_EFFECTIVE_TO is null)))
905       AND (recinfo.TAX_REGIME_CODE = X_TAX_REGIME_CODE)
906       AND ((recinfo.TAX_TYPE_CODE = X_TAX_TYPE_CODE)
907            OR ((recinfo.TAX_TYPE_CODE is null) AND (X_TAX_TYPE_CODE is null)))
908       AND ((recinfo.Allow_Manual_Entry_Flag = X_Allow_Manual_Entry_Flag)
909            OR ((recinfo.Allow_Manual_Entry_Flag is null) AND (X_Allow_Manual_Entry_Flag is null)))
910       AND ((recinfo.Allow_Tax_Override_Flag = X_Allow_Tax_Override_Flag)
911            OR ((recinfo.Allow_Tax_Override_Flag is null) AND (X_Allow_Tax_Override_Flag is null)))
912       AND ((recinfo.MIN_TXBL_BSIS_THRSHLD = X_MIN_TXBL_BSIS_THRSHLD)
913            OR ((recinfo.MIN_TXBL_BSIS_THRSHLD is null) AND (X_MIN_TXBL_BSIS_THRSHLD is null)))
914       AND ((recinfo.MAX_TXBL_BSIS_THRSHLD = X_MAX_TXBL_BSIS_THRSHLD)
915            OR ((recinfo.MAX_TXBL_BSIS_THRSHLD is null) AND (X_MAX_TXBL_BSIS_THRSHLD is null)))
916       AND ((recinfo.MIN_TAX_RATE_THRSHLD = X_MIN_TAX_RATE_THRSHLD)
917            OR ((recinfo.MIN_TAX_RATE_THRSHLD is null) AND (X_MIN_TAX_RATE_THRSHLD is null)))
918       AND ((recinfo.MAX_TAX_RATE_THRSHLD = X_MAX_TAX_RATE_THRSHLD)
919            OR ((recinfo.MAX_TAX_RATE_THRSHLD is null) AND (X_MAX_TAX_RATE_THRSHLD is null)))
920       AND ((recinfo.MIN_TAX_AMT_THRSHLD = X_MIN_TAX_AMT_THRSHLD)
921            OR ((recinfo.MIN_TAX_AMT_THRSHLD is null) AND (X_MIN_TAX_AMT_THRSHLD is null)))
922       AND ((recinfo.MAX_TAX_AMT_THRSHLD = X_MAX_TAX_AMT_THRSHLD)
923            OR ((recinfo.MAX_TAX_AMT_THRSHLD is null) AND (X_MAX_TAX_AMT_THRSHLD is null)))
924       AND ((recinfo.COMPOUNDING_PRECEDENCE = X_COMPOUNDING_PRECEDENCE)
925            OR ((recinfo.COMPOUNDING_PRECEDENCE is null) AND (X_COMPOUNDING_PRECEDENCE is null)))
926       AND ((recinfo.PERIOD_SET_NAME = X_PERIOD_SET_NAME)
927            OR ((recinfo.PERIOD_SET_NAME is null) AND (X_PERIOD_SET_NAME is null)))
928       AND ((recinfo.EXCHANGE_RATE_TYPE = X_EXCHANGE_RATE_TYPE)
929            OR ((recinfo.EXCHANGE_RATE_TYPE is null) AND (X_EXCHANGE_RATE_TYPE is null)))
930       AND ((recinfo.TAX_CURRENCY_CODE = X_TAX_CURRENCY_CODE)
931            OR ((recinfo.TAX_CURRENCY_CODE is null) AND (X_TAX_CURRENCY_CODE is null)))
932       AND ((recinfo.REP_TAX_AUTHORITY_ID = X_REP_TAX_AUTHORITY_ID)
933            OR ((recinfo.REP_TAX_AUTHORITY_ID is null) AND (X_REP_TAX_AUTHORITY_ID is null)))
934       AND ((recinfo.COLL_TAX_AUTHORITY_ID = X_COLL_TAX_AUTHORITY_ID)
935            OR ((recinfo.COLL_TAX_AUTHORITY_ID is null) AND (X_COLL_TAX_AUTHORITY_ID is null)))
936       AND ((recinfo.TAX_PRECISION = X_TAX_PRECISION)
937            OR ((recinfo.TAX_PRECISION is null) AND (X_TAX_PRECISION is null)))
938       AND ((recinfo.MINIMUM_ACCOUNTABLE_UNIT = X_MINIMUM_ACCOUNTABLE_UNIT)
939            OR ((recinfo.MINIMUM_ACCOUNTABLE_UNIT is null) AND (X_MINIMUM_ACCOUNTABLE_UNIT is null)))
940       AND ((recinfo.Rounding_Rule_Code = X_Rounding_Rule_Code)
941            OR ((recinfo.Rounding_Rule_Code is null) AND (X_Rounding_Rule_Code is null)))
942       AND ((recinfo.Tax_Status_Rule_Flag = X_Tax_Status_Rule_Flag)
943            OR ((recinfo.Tax_Status_Rule_Flag is null) AND (X_Tax_Status_Rule_Flag is null)))
944       AND ((recinfo.Tax_Rate_Rule_Flag = X_Tax_Rate_Rule_Flag)
945            OR ((recinfo.Tax_Rate_Rule_Flag is null) AND (X_Tax_Rate_Rule_Flag is null)))
946       AND ((recinfo.Def_Place_Of_Supply_Type_Code = X_Def_Place_Of_Supply_Type_Cod)
947            OR ((recinfo.Def_Place_Of_Supply_Type_Code is null) AND (X_Def_Place_Of_Supply_Type_Cod is null)))
948       AND ((recinfo.Place_Of_Supply_Rule_Flag = X_Place_Of_Supply_Rule_Flag)
949            OR ((recinfo.Place_Of_Supply_Rule_Flag is null) AND (X_Place_Of_Supply_Rule_Flag is null)))
950       AND ((recinfo.Applicability_Rule_Flag = X_Applicability_Rule_Flag)
951            OR ((recinfo.Applicability_Rule_Flag is null) AND (X_Applicability_Rule_Flag is null)))
952       AND ((recinfo.Tax_Calc_Rule_Flag = X_Tax_Calc_Rule_Flag)
953            OR ((recinfo.Tax_Calc_Rule_Flag is null) AND (X_Tax_Calc_Rule_Flag is null)))
954       AND ((recinfo.Txbl_Bsis_Thrshld_Flag = X_Txbl_Bsis_Thrshld_Flag)
955            OR ((recinfo.Txbl_Bsis_Thrshld_Flag is null) AND (X_Txbl_Bsis_Thrshld_Flag is null)))
956       AND ((recinfo.Tax_Rate_Thrshld_Flag = X_Tax_Rate_Thrshld_Flag)
957            OR ((recinfo.Tax_Rate_Thrshld_Flag is null) AND (X_Tax_Rate_Thrshld_Flag is null)))
958       AND ((recinfo.Tax_Amt_Thrshld_Flag = X_Tax_Amt_Thrshld_Flag)
959            OR ((recinfo.Tax_Amt_Thrshld_Flag is null) AND (X_Tax_Amt_Thrshld_Flag is null)))
960       AND ((recinfo.Taxable_Basis_Rule_Flag = X_Taxable_Basis_Rule_Flag)
961            OR ((recinfo.Taxable_Basis_Rule_Flag is null) AND (X_Taxable_Basis_Rule_Flag is null)))
962       AND ((recinfo.Def_Inclusive_Tax_Flag = X_Def_Inclusive_Tax_Flag)
963            OR ((recinfo.Def_Inclusive_Tax_Flag is null) AND (X_Def_Inclusive_Tax_Flag is null)))
964       AND ((recinfo.Thrshld_Grouping_Lvl_Code = X_Thrshld_Grouping_Lvl_Code)
965            OR ((recinfo.Thrshld_Grouping_Lvl_Code is null) AND (X_Thrshld_Grouping_Lvl_Code is null)))
966       AND ((recinfo.Thrshld_Chk_Tmplt_Code = X_Thrshld_Chk_Tmplt_Code)
967            OR ((recinfo.Thrshld_Chk_Tmplt_Code is null) AND (X_Thrshld_Chk_Tmplt_Code is null)))
968       AND ((recinfo.Has_Other_Jurisdictions_Flag = X_Has_Other_Jurisdictions_Flag)
969        OR ((recinfo.Has_Other_Jurisdictions_Flag is null) AND (X_Has_Other_Jurisdictions_Flag is null)
970 ))
971       AND ((recinfo.Allow_Exemptions_Flag = X_Allow_Exemptions_Flag)
972            OR ((recinfo.Allow_Exemptions_Flag is null) AND (X_Allow_Exemptions_Flag is null)))
973       AND ((recinfo.Allow_Exceptions_Flag = X_Allow_Exceptions_Flag)
974            OR ((recinfo.Allow_Exceptions_Flag is null) AND (X_Allow_Exceptions_Flag is null)))
975       AND ((recinfo.Allow_Recoverability_Flag = X_Allow_Recoverability_Flag)
976            OR ((recinfo.Allow_Recoverability_Flag is null) AND (X_Allow_Recoverability_Flag is null)))
977       AND ((recinfo.DEF_TAX_CALC_FORMULA = X_DEF_TAX_CALC_FORMULA)
978            OR ((recinfo.DEF_TAX_CALC_FORMULA is null) AND (X_DEF_TAX_CALC_FORMULA is null)))
979      AND ((recinfo.Tax_Inclusive_Override_Flag = X_Tax_Inclusive_Override_Flag)
980     OR ((recinfo.Tax_Inclusive_Override_Flag is null) AND (X_Tax_Inclusive_Override_Flag is null)))
981       AND ((recinfo.DEF_TAXABLE_BASIS_FORMULA = X_DEF_TAXABLE_BASIS_FORMULA)
982       OR ((recinfo.DEF_TAXABLE_BASIS_FORMULA is null) AND (X_DEF_TAXABLE_BASIS_FORMULA is null)))
983       AND ((recinfo.Def_Registr_Party_Type_Code = X_Def_Registr_Party_Type_Code)
984       OR ((recinfo.Def_Registr_Party_Type_Code is null) AND (X_Def_Registr_Party_Type_Code is null))
985 )
986       AND ((recinfo.Registration_Type_Rule_Flag = X_Registration_Type_Rule_Flag)
987       OR ((recinfo.Registration_Type_Rule_Flag is null) AND (X_Registration_Type_Rule_Flag is null)))
988       AND ((recinfo.Reporting_Only_Flag = X_Reporting_Only_Flag)
989            OR ((recinfo.Reporting_Only_Flag is null) AND (X_Reporting_Only_Flag is null)))
990       AND ((recinfo.Auto_Prvn_Flag = X_Auto_Prvn_Flag)
991            OR ((recinfo.Auto_Prvn_Flag is null) AND (X_Auto_Prvn_Flag is null)))
992       AND ((recinfo.Live_For_Processing_Flag = X_Live_For_Processing_Flag)
993            OR ((recinfo.Live_For_Processing_Flag is null) AND (X_Live_For_Processing_Flag is null)))
994       AND ((recinfo.Has_Detail_Tb_Thrshld_Flag = X_Has_Detail_Tb_Thrshld_Flag)
995      OR ((recinfo.Has_Detail_Tb_Thrshld_Flag is null) AND (X_Has_Detail_Tb_Thrshld_Flag is null)))
996       AND ((recinfo.Has_Tax_Det_Date_Rule_Flag = X_Has_Tax_Det_Date_Rule_Flag)
997      OR ((recinfo.Has_Tax_Det_Date_Rule_Flag is null) AND (X_Has_Tax_Det_Date_Rule_Flag is null)))
998       AND ((recinfo.Regn_Num_Same_As_Le_Flag = X_Regn_Num_Same_As_Le_Flag)
999            OR ((recinfo.Regn_Num_Same_As_Le_Flag is null) AND (X_Regn_Num_Same_As_Le_Flag is null)))
1000       AND ((recinfo.ZONE_GEOGRAPHY_TYPE = X_ZONE_GEOGRAPHY_TYPE)
1001            OR ((recinfo.ZONE_GEOGRAPHY_TYPE is null) AND (X_ZONE_GEOGRAPHY_TYPE is null)))
1002       AND ((recinfo.Def_Rec_Settlement_Option_Code = X_Def_Rec_Settlement_Option_Co)
1003       OR ((recinfo.Def_Rec_Settlement_Option_Code is null) AND (X_Def_Rec_Settlement_Option_Co is null)))
1004       AND ((recinfo.Direct_Rate_Rule_Flag = X_Direct_Rate_Rule_Flag)
1005            OR ((recinfo.Direct_Rate_Rule_Flag is null) AND (X_Direct_Rate_Rule_Flag is null)))
1006       AND ((recinfo.CONTENT_OWNER_ID = X_CONTENT_OWNER_ID)
1007            OR ((recinfo.CONTENT_OWNER_ID is null) AND (X_CONTENT_OWNER_ID is null)))
1008       AND ((recinfo.APPLIED_AMT_HANDLING_FLAG = X_APPLIED_AMT_HANDLING_FLAG)
1009            OR ((recinfo.APPLIED_AMT_HANDLING_FLAG is null) AND (X_APPLIED_AMT_HANDLING_FLAG is null)))
1010       AND ((recinfo.PARENT_GEOGRAPHY_TYPE = X_PARENT_GEOGRAPHY_TYPE)
1011            OR ((recinfo.PARENT_GEOGRAPHY_TYPE is null) AND (X_PARENT_GEOGRAPHY_TYPE is null)))
1012       AND ((recinfo.PARENT_GEOGRAPHY_ID = X_PARENT_GEOGRAPHY_ID)
1013            OR ((recinfo.PARENT_GEOGRAPHY_ID is null) AND (X_PARENT_GEOGRAPHY_ID is null)))
1014       AND ((recinfo.ALLOW_MASS_CREATE_FLAG = X_ALLOW_MASS_CREATE_FLAG)
1015            OR ((recinfo.ALLOW_MASS_CREATE_FLAG is null) AND (X_ALLOW_MASS_CREATE_FLAG is null)))
1016       AND ((recinfo.SOURCE_TAX_FLAG= X_SOURCE_TAX_FLAG)
1017            OR ((recinfo.SOURCE_TAX_FLAG is null) AND (X_SOURCE_TAX_FLAG is null)))
1018       AND ((recinfo.DEF_PRIMARY_REC_RATE_CODE = X_DEF_PRIMARY_REC_RATE_CODE )
1019            OR ((recinfo.DEF_PRIMARY_REC_RATE_CODE  is null) AND (X_DEF_PRIMARY_REC_RATE_CODE is null)))
1020       AND ((recinfo.DEF_SECONDARY_REC_RATE_CODE= X_DEF_SECONDARY_REC_RATE_CODE)
1021            OR ((recinfo.DEF_SECONDARY_REC_RATE_CODE is null) AND (X_DEF_SECONDARY_REC_RATE_CODE is null)))
1022       AND ((recinfo.ALLOW_DUP_REGN_NUM_FLAG= X_ALLOW_DUP_REGN_NUM_FLAG)
1023            OR ((recinfo.ALLOW_DUP_REGN_NUM_FLAG is null) AND (X_ALLOW_DUP_REGN_NUM_FLAG is null)))
1024       AND ((recinfo.TAX_ACCOUNT_SOURCE_TAX= X_TAX_ACCOUNT_SOURCE_TAX)
1025            OR ((recinfo.TAX_ACCOUNT_SOURCE_TAX is null) AND (X_TAX_ACCOUNT_SOURCE_TAX is null)))
1026       AND ((recinfo.TAX_ACCOUNT_CREATE_METHOD_CODE= X_TAX_ACCOUNT_CREATE_METHOD_CO)
1027            OR ((recinfo.TAX_ACCOUNT_CREATE_METHOD_CODE is null) AND (X_TAX_ACCOUNT_CREATE_METHOD_CO is null)))
1028       AND ((recinfo.OVERRIDE_GEOGRAPHY_TYPE= X_OVERRIDE_GEOGRAPHY_TYPE)
1029            OR ((recinfo.OVERRIDE_GEOGRAPHY_TYPE is null) AND (X_OVERRIDE_GEOGRAPHY_TYPE is null)))
1030       AND ((recinfo.TAX_EXMPT_SOURCE_TAX= X_TAX_EXMPT_SOURCE_TAX)
1031            OR ((recinfo.TAX_EXMPT_SOURCE_TAX is null) AND (X_TAX_EXMPT_SOURCE_TAX is null)))
1032       AND ((recinfo.TAX_EXMPT_CR_METHOD_CODE = X_TAX_EXMPT_CR_METHOD_CODE)
1033            OR ((recinfo.TAX_EXMPT_CR_METHOD_CODE is null) AND (X_TAX_EXMPT_CR_METHOD_CODE is null)))
1034       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
1035       AND ((recinfo.LIVE_FOR_APPLICABILITY_FLAG = X_LIVE_FOR_APPLICABILITY_FLAG)
1036            OR ((recinfo.LIVE_FOR_APPLICABILITY_FLAG is null) AND (X_LIVE_FOR_APPLICABILITY_FLAG is null)))
1037       AND ((recinfo.APPLICABLE_BY_DEFAULT_FLAG = X_APPLICABLE_BY_DEFAULT_FLAG)
1038            OR ((recinfo.APPLICABLE_BY_DEFAULT_FLAG is null) AND (X_APPLICABLE_BY_DEFAULT_FLAG is null)))
1039       AND ((recinfo.LEGAL_REPORTING_STATUS_DEF_VAL = X_LEGAL_REPORTING_STATUS_DEF_V)
1040            OR ((recinfo.LEGAL_REPORTING_STATUS_DEF_VAL is null) AND (X_LEGAL_REPORTING_STATUS_DEF_V is null)))
1041   ) then
1042     null;
1043   else
1044     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
1045     app_exception.raise_exception;
1046   end if;
1047   for tlinfo in c1 loop
1048     if (tlinfo.BASELANG = 'Y') then
1049       if (    ((tlinfo.TAX_FULL_NAME = X_TAX_FULL_NAME)
1050                OR ((tlinfo.TAX_FULL_NAME is null) AND (X_TAX_FULL_NAME is null)))
1051       ) then
1052         null;
1053       else
1054         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
1055         app_exception.raise_exception;
1056       end if;
1057     end if;
1058   end loop;
1059   return;
1060 end LOCK_ROW;
1061 procedure UPDATE_ROW (
1062   X_TAX_ID in NUMBER,
1063   X_Recovery_Rate_Override_Flag in VARCHAR2,
1064   X_ATTRIBUTE13 in VARCHAR2,
1065   X_ATTRIBUTE14 in VARCHAR2,
1066   X_ATTRIBUTE15 in VARCHAR2,
1067   X_ATTRIBUTE_CATEGORY in VARCHAR2,
1068   X_ATTRIBUTE8 in VARCHAR2,
1069   X_ATTRIBUTE9 in VARCHAR2,
1070   X_ATTRIBUTE10 in VARCHAR2,
1071   X_ATTRIBUTE11 in VARCHAR2,
1072   X_ATTRIBUTE12 in VARCHAR2,
1073   X_Has_Tax_Point_Date_Rule_Flag in VARCHAR2,
1074   X_Print_On_Invoice_Flag in VARCHAR2,
1075   X_Use_Legal_Msg_Flag in VARCHAR2,
1076   X_Calc_Only_Flag in VARCHAR2,
1077   X_PRIMARY_RECOVERY_TYPE_CODE in VARCHAR2,
1078   X_Primary_Rec_Type_Rule_Flag in VARCHAR2,
1079   X_SECONDARY_RECOVERY_TYPE_CODE in VARCHAR2,
1080   X_Secondary_Rec_Type_Rule_Flag in VARCHAR2,
1081   X_PRIMARY_REC_RATE_DET_RULE_FL in VARCHAR2,
1082   X_Sec_Rec_Rate_Det_Rule_Flag in VARCHAR2,
1083   X_Offset_Tax_Flag in VARCHAR2,
1084   X_REQUEST_ID in NUMBER,
1085   X_PROGRAM_APPLICATION_ID in NUMBER,
1086   X_PROGRAM_ID in NUMBER,
1087   X_Program_Login_Id in NUMBER,
1088   X_Record_Type_Code in VARCHAR2,
1089   X_Allow_Rounding_Override_Flag in VARCHAR2,
1090   X_ATTRIBUTE1 in VARCHAR2,
1091   X_ATTRIBUTE2 in VARCHAR2,
1092   X_ATTRIBUTE3 in VARCHAR2,
1093   X_ATTRIBUTE4 in VARCHAR2,
1094   X_ATTRIBUTE5 in VARCHAR2,
1095   X_ATTRIBUTE6 in VARCHAR2,
1096   X_ATTRIBUTE7 in VARCHAR2,
1097   X_Has_Exch_Rate_Date_Rule_Flag in VARCHAR2,
1098   X_TAX in VARCHAR2,
1099   X_EFFECTIVE_FROM in DATE,
1100   X_EFFECTIVE_TO in DATE,
1101   X_TAX_REGIME_CODE in VARCHAR2,
1102   X_TAX_TYPE_CODE in VARCHAR2,
1103   X_Allow_Manual_Entry_Flag in VARCHAR2,
1104   X_Allow_Tax_Override_Flag in VARCHAR2,
1105   X_MIN_TXBL_BSIS_THRSHLD in NUMBER,
1106   X_MAX_TXBL_BSIS_THRSHLD in NUMBER,
1107   X_MIN_TAX_RATE_THRSHLD in NUMBER,
1108   X_MAX_TAX_RATE_THRSHLD in NUMBER,
1109   X_MIN_TAX_AMT_THRSHLD in NUMBER,
1110   X_MAX_TAX_AMT_THRSHLD in NUMBER,
1111   X_COMPOUNDING_PRECEDENCE in NUMBER,
1112   X_PERIOD_SET_NAME in VARCHAR2,
1113   X_EXCHANGE_RATE_TYPE in VARCHAR2,
1114   X_TAX_CURRENCY_CODE in VARCHAR2,
1115   X_REP_TAX_AUTHORITY_ID in NUMBER,
1116   X_COLL_TAX_AUTHORITY_ID in NUMBER,
1117   X_TAX_PRECISION in NUMBER,
1118   X_MINIMUM_ACCOUNTABLE_UNIT in NUMBER,
1119   X_Rounding_Rule_Code in VARCHAR2,
1120   X_Tax_Status_Rule_Flag in VARCHAR2,
1121   X_Tax_Rate_Rule_Flag in VARCHAR2,
1122   X_Def_Place_Of_Supply_Type_Cod in VARCHAR2,
1123   X_Place_Of_Supply_Rule_Flag in VARCHAR2,
1124   X_Applicability_Rule_Flag in VARCHAR2,
1125   X_Tax_Calc_Rule_Flag in VARCHAR2,
1126   X_Txbl_Bsis_Thrshld_Flag in VARCHAR2,
1127   X_Tax_Rate_Thrshld_Flag in VARCHAR2,
1128   X_Tax_Amt_Thrshld_Flag in VARCHAR2,
1129   X_Taxable_Basis_Rule_Flag in VARCHAR2,
1130   X_Def_Inclusive_Tax_Flag in VARCHAR2,
1131   X_Thrshld_Grouping_Lvl_Code in VARCHAR2,
1132   X_Thrshld_Chk_Tmplt_Code in VARCHAR2,
1133   X_Has_Other_Jurisdictions_Flag in VARCHAR2,
1134   X_Allow_Exemptions_Flag in VARCHAR2,
1135   X_Allow_Exceptions_Flag in VARCHAR2,
1136   X_Allow_Recoverability_Flag in VARCHAR2,
1137   X_DEF_TAX_CALC_FORMULA in VARCHAR2,
1138   X_Tax_Inclusive_Override_Flag in VARCHAR2,
1139   X_DEF_TAXABLE_BASIS_FORMULA in VARCHAR2,
1140   X_Def_Registr_Party_Type_Code in VARCHAR2,
1141   X_Registration_Type_Rule_Flag in VARCHAR2,
1142   X_Reporting_Only_Flag in VARCHAR2,
1143   X_Auto_Prvn_Flag in VARCHAR2,
1144   X_Live_For_Processing_Flag in VARCHAR2,
1145   X_Has_Detail_Tb_Thrshld_Flag in VARCHAR2,
1146   X_Has_Tax_Det_Date_Rule_Flag in VARCHAR2,
1147   X_TAX_FULL_NAME in VARCHAR2,
1148   X_ZONE_GEOGRAPHY_TYPE in VARCHAR2,
1149   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
1150   X_LAST_UPDATE_DATE in DATE,
1151   X_LAST_UPDATED_BY in NUMBER,
1152   X_LAST_UPDATE_LOGIN in NUMBER,
1153   X_Regn_Num_Same_As_Le_Flag in VARCHAR2    ,
1154   X_Direct_Rate_Rule_Flag in VARCHAR2,
1155   X_CONTENT_OWNER_ID in NUMBER,
1156   X_APPLIED_AMT_HANDLING_FLAG in VARCHAR2,
1157   X_PARENT_GEOGRAPHY_TYPE in VARCHAR2,
1158   X_PARENT_GEOGRAPHY_ID in NUMBER,
1159   X_ALLOW_MASS_CREATE_FLAG in VARCHAR2,
1160   X_SOURCE_TAX_FLAG in VARCHAR2,
1161   X_SPECIAL_INCLUSIVE_TAX_FLAG in VARCHAR2,
1162   X_DEF_PRIMARY_REC_RATE_CODE in VARCHAR2,
1163   X_DEF_SECONDARY_REC_RATE_CODE in VARCHAR2,
1164   X_ALLOW_DUP_REGN_NUM_FLAG in VARCHAR2,
1165   X_TAX_ACCOUNT_SOURCE_TAX in VARCHAR2,
1166   X_TAX_ACCOUNT_CREATE_METHOD_CO in VARCHAR2,
1167   X_OVERRIDE_GEOGRAPHY_TYPE in VARCHAR2,
1168   X_TAX_EXMPT_SOURCE_TAX in VARCHAR2,
1169   X_TAX_EXMPT_CR_METHOD_CODE in VARCHAR2,
1170   X_OBJECT_VERSION_NUMBER in NUMBER,
1171   X_LIVE_FOR_APPLICABILITY_FLAG in VARCHAR2,
1172   X_APPLICABLE_BY_DEFAULT_FLAG in VARCHAR2,
1173   X_LEGAL_REPORTING_STATUS_DEF_V in VARCHAR2
1174 ) is
1175 /* This cursor is for inserting rows into recovery types table and to update Jurisdictions*/
1176 CURSOR c_old_ref_values IS
1177 SELECT REP_TAX_AUTHORITY_ID,
1178        COLL_TAX_AUTHORITY_ID,
1179        PRIMARY_RECOVERY_TYPE_CODE,
1180        SECONDARY_RECOVERY_TYPE_CODE
1181 FROM   ZX_TAXES_B
1182 WHERE  TAX_ID = X_TAX_ID;
1183 l_old_references c_old_ref_values%ROWTYPE;
1184 l_old_zone_geo_type ZX_TAXES_B.ZONE_GEOGRAPHY_TYPE%TYPE;
1185 l_old_parent_geo_type ZX_TAXES_B.PARENT_GEOGRAPHY_TYPE%TYPE;
1186 l_old_parent_geo_id ZX_TAXES_B.PARENT_GEOGRAPHY_ID%TYPE;
1187 begin
1188 /*Logic to update ZX_JURISDICTIONS/ZX_REGISTRATIONS table if the Reporting and/or Collecting Tax Authorities have bee
1189 n changed*/
1190   open c_old_ref_values;
1191   fetch c_old_ref_values into l_old_references;
1192   if((NVL(l_old_references.REP_TAX_AUTHORITY_ID,-99)<> NVL(X_REP_TAX_AUTHORITY_ID,-99) OR
1193      (NVL(l_old_references.COLL_TAX_AUTHORITY_ID,-99)<> NVL(X_COLL_TAX_AUTHORITY_ID,-99)))) then
1194        update_jurisdiction(X_TAX,
1195        			   l_old_references.REP_TAX_AUTHORITY_ID,
1196          		   l_old_references.COLL_TAX_AUTHORITY_ID,
1197          		   X_REP_TAX_AUTHORITY_ID,
1198          		   X_COLL_TAX_AUTHORITY_ID
1199          		   );
1200        update_registration(X_TAX_REGIME_CODE,
1201                      	   X_TAX,
1202        		           l_old_references.REP_TAX_AUTHORITY_ID,
1203          		   l_old_references.COLL_TAX_AUTHORITY_ID,
1204          		   X_REP_TAX_AUTHORITY_ID,
1205          		   X_COLL_TAX_AUTHORITY_ID
1206          		   );
1207   end if;	/*Update on Jurisdictions/Registrations ends*/
1208 /*Logic to insert/update records in ZX_RECOVERY_TYPES_VL table - all calls to insert into ZX_RECOVERY_TYPES has been
1209 commented as fix for bug 2909723*/
1210 /*if(X_Live_For_Processing_Flag  is null or X_LIVE_FOR_PROCESSING_Flag = 'N') THEN
1211   if(l_old_references.PRIMARY_RECOVERY_TYPE_CODE IS NULL AND X_PRIMARY_RECOVERY_TYPE_CODE IS NOT NULL) THEN
1212     insert_recovery(X_TAX,
1213             	    X_TAX_REGIME_CODE,
1214             	    X_PRIMARY_RECOVERY_TYPE_CODE ,
1215         	    X_EFFECTIVE_FROM
1216     		   );
1217   end if;
1218   if(l_old_references.SECONDARY_RECOVERY_TYPE_CODE IS NULL AND X_SECONDARY_RECOVERY_TYPE_CODE IS NOT NULL) THEN
1219     insert_recovery(X_TAX,
1220             	  X_TAX_REGIME_CODE,
1221             	  X_SECONDARY_RECOVERY_TYPE_CODE,
1222         	  X_EFFECTIVE_FROM
1223     		 );
1224   end if;
1225   if(l_old_references.PRIMARY_RECOVERY_TYPE_CODE IS NOT NULL AND X_PRIMARY_RECOVERY_TYPE_CODE IS NULL) THEN
1226     delete_recovery(X_TAX,
1227             	  X_TAX_REGIME_CODE,
1228             	  l_old_references.PRIMARY_RECOVERY_TYPE_CODE
1229     		 );
1230   end if;
1231   if(l_old_references.SECONDARY_RECOVERY_TYPE_CODE IS NOT NULL AND X_SECONDARY_RECOVERY_TYPE_CODE IS NULL) THEN
1232     delete_recovery(X_TAX,
1233                	    X_TAX_REGIME_CODE,
1234               	    l_old_references.SECONDARY_RECOVERY_TYPE_CODE
1235     		   );
1236   end if;
1237   if(l_old_references.PRIMARY_RECOVERY_TYPE_CODE IS NOT NULL AND X_PRIMARY_RECOVERY_TYPE_CODE IS NOT NULL) THEN
1238     if(l_old_references.PRIMARY_RECOVERY_TYPE_CODE <> X_PRIMARY_RECOVERY_TYPE_CODE) THEN
1239       delete_recovery(X_TAX,
1240       		      X_TAX_REGIME_CODE,
1241       		      l_old_references.PRIMARY_RECOVERY_TYPE_CODE);
1242       insert_recovery(X_TAX,
1243           	      X_TAX_REGIME_CODE,
1244           	      X_PRIMARY_RECOVERY_TYPE_CODE ,
1245       		      X_EFFECTIVE_FROM
1246     		     );
1247     end if;
1248   end if;
1249   if(l_old_references.SECONDARY_RECOVERY_TYPE_CODE IS NOT NULL AND X_SECONDARY_RECOVERY_TYPE_CODE IS NOT NULL) THEN
1250       if(l_old_references.SECONDARY_RECOVERY_TYPE_CODE <> X_SECONDARY_RECOVERY_TYPE_CODE) THEN
1251           delete_recovery(X_TAX,
1252           		  X_TAX_REGIME_CODE,
1253           		  l_old_references.SECONDARY_RECOVERY_TYPE_CODE
1254           		  );
1255           insert_recovery(X_TAX,
1256               	          X_TAX_REGIME_CODE,
1257               	          X_SECONDARY_RECOVERY_TYPE_CODE ,
1258           		  X_EFFECTIVE_FROM
1259         		 );
1260     end if;
1261   end if;
1262 close c_old_ref_values;
1263 end if;  */
1264 if(X_RECORD_TYPE_CODE = 'MIGRATED' AND X_SOURCE_TAX_FLAG = 'Y') then
1265   begin
1266     SELECT ZONE_GEOGRAPHY_TYPE, PARENT_GEOGRAPHY_TYPE, PARENT_GEOGRAPHY_ID  INTO
1267     l_old_zone_geo_type, l_old_parent_geo_type, l_old_parent_geo_id
1268     FROM ZX_TAXES_B WHERE TAX_ID = X_TAX_ID;
1269     if(nvl(l_old_zone_geo_type, '-1') <> nvl(X_ZONE_GEOGRAPHY_TYPE, '-1') OR
1270        nvl(l_old_parent_geo_type, '-1') <> nvl(X_PARENT_GEOGRAPHY_TYPE, '-1') OR
1271        nvl(l_old_parent_geo_id, -1) <> nvl(X_PARENT_GEOGRAPHY_ID, -1)) then
1272       UPDATE ZX_TAXES_B SET ZONE_GEOGRAPHY_TYPE = X_ZONE_GEOGRAPHY_TYPE,
1273       PARENT_GEOGRAPHY_TYPE = X_PARENT_GEOGRAPHY_TYPE,
1274       PARENT_GEOGRAPHY_ID = X_PARENT_GEOGRAPHY_ID
1275       WHERE TAX = X_TAX AND
1276             TAX_REGIME_CODE = X_TAX_REGIME_CODE AND
1277 	    SOURCE_TAX_FLAG  = 'N';
1278     end if;
1279   exception when no_data_found then
1280     raise no_data_found;
1281   end;
1282 end if;
1283 	/*Insert/Update of ZX_RECOVERY_TYPES_VL ends here*/
1284   update ZX_TAXES_B set
1285     ATTRIBUTE13 = X_ATTRIBUTE13,
1286     ATTRIBUTE14 = X_ATTRIBUTE14,
1287     ATTRIBUTE15 = X_ATTRIBUTE15,
1288     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
1289     ATTRIBUTE8 = X_ATTRIBUTE8,
1290     ATTRIBUTE9 = X_ATTRIBUTE9,
1291     ATTRIBUTE10 = X_ATTRIBUTE10,
1292     ATTRIBUTE11 = X_ATTRIBUTE11,
1293     ATTRIBUTE12 = X_ATTRIBUTE12,
1294     Has_Tax_Point_Date_Rule_Flag = X_Has_Tax_Point_Date_Rule_Flag,
1295     Print_On_Invoice_Flag = X_Print_On_Invoice_Flag,
1296     Use_Legal_Msg_Flag = X_Use_Legal_Msg_Flag,
1297     Calc_Only_Flag = X_Calc_Only_Flag,
1298     PRIMARY_RECOVERY_TYPE_CODE = X_PRIMARY_RECOVERY_TYPE_CODE,
1299     Primary_Rec_Type_Rule_Flag = X_Primary_Rec_Type_Rule_Flag,
1300     SECONDARY_RECOVERY_TYPE_CODE = X_SECONDARY_RECOVERY_TYPE_CODE,
1301     Secondary_Rec_Type_Rule_Flag = X_Secondary_Rec_Type_Rule_Flag,
1302     Primary_Rec_Rate_Det_Rule_Flag = X_PRIMARY_REC_RATE_DET_RULE_FL,
1303     Sec_Rec_Rate_Det_Rule_Flag = X_Sec_Rec_Rate_Det_Rule_Flag,
1304     Offset_Tax_Flag = X_Offset_Tax_Flag,
1305     REQUEST_ID = X_REQUEST_ID,
1306     PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID,
1307     PROGRAM_ID = X_PROGRAM_ID,
1308     Program_Login_Id = X_Program_Login_Id,
1309     Record_Type_Code = X_Record_Type_Code,
1310     Allow_Rounding_Override_Flag = X_Allow_Rounding_Override_Flag,
1311     ATTRIBUTE1 = X_ATTRIBUTE1,
1312     ATTRIBUTE2 = X_ATTRIBUTE2,
1313     ATTRIBUTE3 = X_ATTRIBUTE3,
1314     ATTRIBUTE4 = X_ATTRIBUTE4,
1315     ATTRIBUTE5 = X_ATTRIBUTE5,
1316     ATTRIBUTE6 = X_ATTRIBUTE6,
1317     ATTRIBUTE7 = X_ATTRIBUTE7,
1318     Has_Exch_Rate_Date_Rule_Flag = X_Has_Exch_Rate_Date_Rule_Flag,
1319     TAX = X_TAX,
1320     Recovery_Rate_Override_Flag = X_Recovery_Rate_Override_Flag,
1321     EFFECTIVE_FROM = X_EFFECTIVE_FROM,
1322     EFFECTIVE_TO = X_EFFECTIVE_TO,
1323     TAX_REGIME_CODE = X_TAX_REGIME_CODE,
1324     TAX_TYPE_CODE = X_TAX_TYPE_CODE,
1325     Allow_Manual_Entry_Flag = X_Allow_Manual_Entry_Flag,
1326     Allow_Tax_Override_Flag = X_Allow_Tax_Override_Flag,
1327     MIN_TXBL_BSIS_THRSHLD = X_MIN_TXBL_BSIS_THRSHLD,
1328     MAX_TXBL_BSIS_THRSHLD = X_MAX_TXBL_BSIS_THRSHLD,
1329     MIN_TAX_RATE_THRSHLD = X_MIN_TAX_RATE_THRSHLD,
1330     MAX_TAX_RATE_THRSHLD = X_MAX_TAX_RATE_THRSHLD,
1331     MIN_TAX_AMT_THRSHLD = X_MIN_TAX_AMT_THRSHLD,
1332     MAX_TAX_AMT_THRSHLD = X_MAX_TAX_AMT_THRSHLD,
1333     COMPOUNDING_PRECEDENCE = X_COMPOUNDING_PRECEDENCE,
1334     PERIOD_SET_NAME = X_PERIOD_SET_NAME,
1335     EXCHANGE_RATE_TYPE = X_EXCHANGE_RATE_TYPE,
1336     TAX_CURRENCY_CODE = X_TAX_CURRENCY_CODE,
1337     REP_TAX_AUTHORITY_ID = X_REP_TAX_AUTHORITY_ID,
1338     COLL_TAX_AUTHORITY_ID = X_COLL_TAX_AUTHORITY_ID,
1339     TAX_PRECISION = X_TAX_PRECISION,
1340     MINIMUM_ACCOUNTABLE_UNIT = X_MINIMUM_ACCOUNTABLE_UNIT,
1341     Rounding_Rule_Code = X_Rounding_Rule_Code,
1342     Tax_Status_Rule_Flag = X_Tax_Status_Rule_Flag,
1343     Tax_Rate_Rule_Flag = X_Tax_Rate_Rule_Flag,
1344     Def_Place_Of_Supply_Type_Code = X_Def_Place_Of_Supply_Type_Cod,
1345     Place_Of_Supply_Rule_Flag = X_Place_Of_Supply_Rule_Flag,
1346     Applicability_Rule_Flag = X_Applicability_Rule_Flag,
1347     Tax_Calc_Rule_Flag = X_Tax_Calc_Rule_Flag,
1348     Txbl_Bsis_Thrshld_Flag = X_Txbl_Bsis_Thrshld_Flag,
1349     Tax_Rate_Thrshld_Flag = X_Tax_Rate_Thrshld_Flag,
1350     Tax_Amt_Thrshld_Flag = X_Tax_Amt_Thrshld_Flag,
1351     Taxable_Basis_Rule_Flag = X_Taxable_Basis_Rule_Flag,
1352     Def_Inclusive_Tax_Flag = X_Def_Inclusive_Tax_Flag,
1353     Thrshld_Grouping_Lvl_Code = X_Thrshld_Grouping_Lvl_Code,
1354     Thrshld_Chk_Tmplt_Code = X_Thrshld_Chk_Tmplt_Code,
1355     Has_Other_Jurisdictions_Flag = X_Has_Other_Jurisdictions_Flag,
1356     Allow_Exemptions_Flag = X_Allow_Exemptions_Flag,
1357     Allow_Exceptions_Flag = X_Allow_Exceptions_Flag,
1358     Allow_Recoverability_Flag = X_Allow_Recoverability_Flag,
1359     DEF_TAX_CALC_FORMULA = X_DEF_TAX_CALC_FORMULA,
1360     Tax_Inclusive_Override_Flag = X_Tax_Inclusive_Override_Flag,
1361     DEF_TAXABLE_BASIS_FORMULA = X_DEF_TAXABLE_BASIS_FORMULA,
1362     Def_Registr_Party_Type_Code = X_Def_Registr_Party_Type_Code,
1363     Registration_Type_Rule_Flag = X_Registration_Type_Rule_Flag,
1364     Reporting_Only_Flag = X_Reporting_Only_Flag,
1365     Auto_Prvn_Flag = X_Auto_Prvn_Flag,
1366     Live_For_Processing_Flag = X_Live_For_Processing_Flag,
1367     Has_Detail_Tb_Thrshld_Flag = X_Has_Detail_Tb_Thrshld_Flag,
1368     Has_Tax_Det_Date_Rule_Flag = X_Has_Tax_Det_Date_Rule_Flag,
1369     Def_Rec_Settlement_Option_Code = X_Def_Rec_Settlement_Option_Co,
1370     Regn_Num_Same_As_Le_Flag = X_Regn_Num_Same_As_Le_Flag,
1371     Direct_Rate_Rule_Flag = X_Direct_Rate_Rule_Flag,
1372     CONTENT_OWNER_ID = X_CONTENT_OWNER_ID,
1373     APPLIED_AMT_HANDLING_FLAG = X_APPLIED_AMT_HANDLING_FLAG,
1374     PARENT_GEOGRAPHY_TYPE = X_PARENT_GEOGRAPHY_TYPE,
1375     PARENT_GEOGRAPHY_ID = X_PARENT_GEOGRAPHY_ID,
1376     ALLOW_MASS_CREATE_FLAG = X_ALLOW_MASS_CREATE_FLAG,
1377     ZONE_GEOGRAPHY_TYPE = X_ZONE_GEOGRAPHY_TYPE,
1378     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
1379     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
1380     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
1381     SOURCE_TAX_FLAG = X_SOURCE_TAX_FLAG,
1382     SPECIAL_INCLUSIVE_TAX_FLAG = X_SPECIAL_INCLUSIVE_TAX_FLAG,
1383     DEF_PRIMARY_REC_RATE_CODE = X_DEF_PRIMARY_REC_RATE_CODE,
1384     DEF_SECONDARY_REC_RATE_CODE = X_DEF_SECONDARY_REC_RATE_CODE,
1385     ALLOW_DUP_REGN_NUM_FLAG = X_ALLOW_DUP_REGN_NUM_FLAG,
1386     TAX_ACCOUNT_SOURCE_TAX  =  X_TAX_ACCOUNT_SOURCE_TAX,
1387     TAX_ACCOUNT_CREATE_METHOD_CODE = X_TAX_ACCOUNT_CREATE_METHOD_CO,
1388     OVERRIDE_GEOGRAPHY_TYPE =  X_OVERRIDE_GEOGRAPHY_TYPE,
1389     TAX_EXMPT_SOURCE_TAX = X_TAX_EXMPT_SOURCE_TAX,
1390     TAX_EXMPT_CR_METHOD_CODE = X_TAX_EXMPT_CR_METHOD_CODE,
1391     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
1392     LIVE_FOR_APPLICABILITY_FLAG = X_LIVE_FOR_APPLICABILITY_FLAG,
1393     APPLICABLE_BY_DEFAULT_FLAG = X_APPLICABLE_BY_DEFAULT_FLAG,
1394     LEGAL_REPORTING_STATUS_DEF_VAL = X_LEGAL_REPORTING_STATUS_DEF_V
1395   where TAX_ID = X_TAX_ID;
1396   if (sql%notfound) then
1397     raise no_data_found;
1398   end if;
1399   update ZX_TAXES_TL set
1400     TAX_FULL_NAME = X_TAX_FULL_NAME,
1401     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
1402     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
1403     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
1404     SOURCE_LANG = userenv('LANG')
1405   where TAX_ID = X_TAX_ID
1406   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
1407   if (sql%notfound) then
1408     raise no_data_found;
1409   end if;
1410 end UPDATE_ROW;
1411 procedure DELETE_ROW (
1412   X_TAX_ID in NUMBER
1413 ) is
1414 begin
1415   delete from ZX_TAXES_TL
1416   where TAX_ID = X_TAX_ID;
1417   if (sql%notfound) then
1418     raise no_data_found;
1419   end if;
1420   delete from ZX_TAXES_B
1421   where TAX_ID = X_TAX_ID;
1422   if (sql%notfound) then
1423     raise no_data_found;
1424   end if;
1425 end DELETE_ROW;
1426 procedure ADD_LANGUAGE
1427 is
1428 begin
1429   delete from ZX_TAXES_TL T
1430   where not exists
1431     (select NULL
1432     from ZX_TAXES_B B
1433     where B.TAX_ID = T.TAX_ID
1434     );
1435   update ZX_TAXES_TL T set (
1436       TAX_FULL_NAME
1437     ) = (select
1438       B.TAX_FULL_NAME
1439     from ZX_TAXES_TL B
1440     where B.TAX_ID = T.TAX_ID
1441     and B.LANGUAGE = T.SOURCE_LANG)
1442   where (
1443       T.TAX_ID,
1444       T.LANGUAGE
1445   ) in (select
1446       SUBT.TAX_ID,
1447       SUBT.LANGUAGE
1448     from ZX_TAXES_TL SUBB, ZX_TAXES_TL SUBT
1449     where SUBB.TAX_ID = SUBT.TAX_ID
1450     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
1451     and (SUBB.TAX_FULL_NAME <> SUBT.TAX_FULL_NAME
1452       or (SUBB.TAX_FULL_NAME is null and SUBT.TAX_FULL_NAME is not null)
1453       or (SUBB.TAX_FULL_NAME is not null and SUBT.TAX_FULL_NAME is null)));
1454   insert into ZX_TAXES_TL (
1455     TAX_ID,
1456     TAX_FULL_NAME,
1457     CREATED_BY,
1458     CREATION_DATE,
1459     LAST_UPDATED_BY,
1460     LAST_UPDATE_DATE,
1461     LAST_UPDATE_LOGIN,
1462     LANGUAGE,
1463     SOURCE_LANG
1464   ) select
1465     B.TAX_ID,
1466     B.TAX_FULL_NAME,
1467     B.CREATED_BY,
1468     B.CREATION_DATE,
1469     B.LAST_UPDATED_BY,
1470     B.LAST_UPDATE_DATE,
1471     B.LAST_UPDATE_LOGIN,
1472     L.LANGUAGE_CODE,
1473     B.SOURCE_LANG
1474   from ZX_TAXES_TL B, FND_LANGUAGES L
1475   where L.INSTALLED_FLAG in ('I', 'B')
1476   and B.LANGUAGE = userenv('LANG')
1477   and not exists
1478     (select NULL
1479     from ZX_TAXES_TL T
1480     where T.TAX_ID = B.TAX_ID
1481     and T.LANGUAGE = L.LANGUAGE_CODE);
1482 end ADD_LANGUAGE;
1483 end ZX_TAXES_PKG;