DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_REGIMES_PKG

Source


1 package body ZX_REGIMES_PKG as
2 /* $Header: zxcregimesb.pls 120.7 2005/03/29 11:27:15 scsharma ship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out nocopy VARCHAR2,
6   X_TAX_REGIME_ID in NUMBER,
7   X_PARENT_REGIME_CODE in VARCHAR2,
8   X_TAX_REGIME_CODE in VARCHAR2,
9   X_Has_Sub_Regime_Flag in VARCHAR2,
10   X_Country_Or_Group_Code in VARCHAR2,
11   X_COUNTRY_CODE in VARCHAR2,
12   X_GEOGRAPHY_TYPE in VARCHAR2,
13   X_GEOGRAPHY_ID in NUMBER,
14   X_EFFECTIVE_FROM in DATE,
15   X_EFFECTIVE_TO in DATE,
16   X_EXCHANGE_RATE_TYPE in VARCHAR2,
17   X_TAX_CURRENCY_CODE in VARCHAR2,
18   X_Thrshld_Grouping_Lvl_Code in VARCHAR2,
19   X_Thrshld_Chk_Tmplt_Code in VARCHAR2,
20   X_PERIOD_SET_NAME in VARCHAR2,
21   X_REP_TAX_AUTHORITY_ID in NUMBER,
22   X_COLL_TAX_AUTHORITY_ID in NUMBER,
23   X_Rounding_Rule_Code in VARCHAR2,
24   X_TAX_PRECISION in NUMBER,
25   X_MINIMUM_ACCOUNTABLE_UNIT in NUMBER,
26   X_Tax_Status_Rule_Flag in VARCHAR2,
27   X_Def_Place_Of_Supply_Type_Cod in VARCHAR2,
28   X_Applicability_Rule_Flag in VARCHAR2,
29   X_Place_Of_Supply_Rule_Flag in VARCHAR2,
30   X_Tax_Calc_Rule_Flag in VARCHAR2,
31   X_Taxable_Basis_Thrshld_Flag in VARCHAR2,
32   X_Tax_Rate_Thrshld_Flag in VARCHAR2,
33   X_Tax_Amt_Thrshld_Flag in VARCHAR2,
34   X_Tax_Rate_Rule_Flag in VARCHAR2,
35   X_Taxable_Basis_Rule_Flag in VARCHAR2,
36   X_Def_Inclusive_Tax_Flag in VARCHAR2,
37   X_Has_Other_Jurisdictions_Flag in VARCHAR2,
38   X_Allow_Rounding_Override_Flag in VARCHAR2,
39   X_Allow_Exemptions_Flag in VARCHAR2,
40   X_Allow_Exceptions_Flag in VARCHAR2,
41   X_Allow_Recoverability_Flag in VARCHAR2,
42   X_Auto_Prvn_Flag in VARCHAR2,
43   X_Has_Tax_Det_Date_Rule_Flag in VARCHAR2,
44   X_Has_Exch_Rate_Date_Rule_Flag in VARCHAR2,
45   X_Has_Tax_Point_Date_Rule_Flag in VARCHAR2,
46   X_Use_Legal_Msg_Flag in VARCHAR2,
47   X_Regn_Num_Same_As_Le_Flag in VARCHAR2,
48   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
49   X_Record_Type_Code in VARCHAR2,
50   X_PROGRAM_APPLICATION_ID in NUMBER,
51   X_PROGRAM_ID in NUMBER,
52   X_Program_Login_Id in NUMBER,
53   X_REQUEST_ID in NUMBER,
54   X_ATTRIBUTE1 in VARCHAR2,
55   X_ATTRIBUTE2 in VARCHAR2,
56   X_ATTRIBUTE3 in VARCHAR2,
57   X_ATTRIBUTE4 in VARCHAR2,
58   X_ATTRIBUTE5 in VARCHAR2,
59   X_ATTRIBUTE6 in VARCHAR2,
60   X_ATTRIBUTE7 in VARCHAR2,
61   X_ATTRIBUTE8 in VARCHAR2,
62   X_ATTRIBUTE9 in VARCHAR2,
63   X_ATTRIBUTE10 in VARCHAR2,
64   X_ATTRIBUTE11 in VARCHAR2,
65   X_ATTRIBUTE12 in VARCHAR2,
66   X_ATTRIBUTE13 in VARCHAR2,
67   X_ATTRIBUTE14 in VARCHAR2,
68   X_ATTRIBUTE15 in VARCHAR2,
69   X_ATTRIBUTE_CATEGORY in VARCHAR2,
70   X_Def_Registr_Party_Type_Code in VARCHAR2,
71   X_Registration_Type_Rule_Flag in VARCHAR2,
72   X_Tax_Inclusive_Override_Flag in VARCHAR2,
73   X_REGIME_PRECEDENCE in NUMBER,
74   X_Cross_Regime_Compounding_Fla in VARCHAR2,
75   X_TAX_REGIME_NAME in VARCHAR2,
76   X_CREATION_DATE in DATE,
77   X_CREATED_BY in NUMBER,
78   X_LAST_UPDATE_DATE in DATE,
79   X_LAST_UPDATED_BY in NUMBER,
80   X_LAST_UPDATE_LOGIN in NUMBER,
81   X_TAX_ACCOUNT_PRECEDENCE_CODE in VARCHAR2,
82   X_OBJECT_VERSION_NUMBER in NUMBER
83 ) is
84 
85   cursor C is select ROWID from ZX_REGIMES_B
86     where TAX_REGIME_ID = X_TAX_REGIME_ID  ;
87 
88   err_stat VARCHAR2(30);
89 
90 begin
91 
92    err_stat := FND_API.G_RET_STS_SUCCESS;
93 
94    insert into ZX_REGIMES_B (
95     PARENT_REGIME_CODE,
96     TAX_REGIME_ID,
97     TAX_REGIME_CODE,
98     Has_Sub_Regime_Flag,
99     Country_Or_Group_Code,
100     COUNTRY_CODE,
101     GEOGRAPHY_TYPE,
102     GEOGRAPHY_ID,
103     EFFECTIVE_FROM,
104     EFFECTIVE_TO,
105     EXCHANGE_RATE_TYPE,
106     TAX_CURRENCY_CODE,
107     Thrshld_Grouping_Lvl_Code,
108     Thrshld_Chk_Tmplt_Code,
109     PERIOD_SET_NAME,
110     REP_TAX_AUTHORITY_ID,
111     COLL_TAX_AUTHORITY_ID,
112     Rounding_Rule_Code,
113     TAX_PRECISION,
114     MINIMUM_ACCOUNTABLE_UNIT,
115     Tax_Status_Rule_Flag,
116     Def_Place_Of_Supply_Type_Code,
117     Applicability_Rule_Flag,
118     Place_Of_Supply_Rule_Flag,
119     Tax_Calc_Rule_Flag,
120     Taxable_Basis_Thrshld_Flag,
121     Tax_Rate_Thrshld_Flag,
122     Tax_Amt_Thrshld_Flag,
123     Tax_Rate_Rule_Flag,
124     Taxable_Basis_Rule_Flag,
125     Def_Inclusive_Tax_Flag,
126     Has_Other_Jurisdictions_Flag,
127     Allow_Rounding_Override_Flag,
128     Allow_Exemptions_Flag,
129     Allow_Exceptions_Flag,
130     Allow_Recoverability_Flag,
131     Auto_Prvn_Flag,
132     Has_Tax_Det_Date_Rule_Flag,
133     Has_Exch_Rate_Date_Rule_Flag,
134     Has_Tax_Point_Date_Rule_Flag,
135     Use_Legal_Msg_Flag,
136     Regn_Num_Same_As_Le_Flag,
137     Def_Rec_Settlement_Option_Code,
138     Record_Type_Code,
139     PROGRAM_APPLICATION_ID ,
140     PROGRAM_ID ,
141     Program_Login_Id,
142     REQUEST_ID,
143     ATTRIBUTE1,
144     ATTRIBUTE2,
145     ATTRIBUTE3,
146     ATTRIBUTE4,
147     ATTRIBUTE5,
148     ATTRIBUTE6,
149     ATTRIBUTE7,
150     ATTRIBUTE8,
151     ATTRIBUTE9,
152     ATTRIBUTE10,
153     ATTRIBUTE11,
154     ATTRIBUTE12,
155     ATTRIBUTE13,
156     ATTRIBUTE14,
157     ATTRIBUTE15,
158     ATTRIBUTE_CATEGORY,
159     Def_Registr_Party_Type_Code,
160     Registration_Type_Rule_Flag,
161     Tax_Inclusive_Override_Flag,
162     REGIME_PRECEDENCE,
163     Cross_Regime_Compounding_Flag,
164     CREATION_DATE,
165     CREATED_BY,
166     LAST_UPDATE_DATE,
167     LAST_UPDATED_BY,
168     LAST_UPDATE_LOGIN,
169     TAX_ACCOUNT_PRECEDENCE_CODE,
170     OBJECT_VERSION_NUMBER
171   ) values (
172     X_PARENT_REGIME_CODE,
173     X_TAX_REGIME_ID,
174     X_TAX_REGIME_CODE,
175     X_Has_Sub_Regime_Flag,
176     X_Country_Or_Group_Code,
177     X_COUNTRY_CODE,
178     X_GEOGRAPHY_TYPE,
179     X_GEOGRAPHY_ID,
180     X_EFFECTIVE_FROM,
181     X_EFFECTIVE_TO,
182     X_EXCHANGE_RATE_TYPE,
183     X_TAX_CURRENCY_CODE,
184     X_Thrshld_Grouping_Lvl_Code,
185     X_Thrshld_Chk_Tmplt_Code,
186     X_PERIOD_SET_NAME,
187     X_REP_TAX_AUTHORITY_ID,
188     X_COLL_TAX_AUTHORITY_ID,
189     X_Rounding_Rule_Code,
190     X_TAX_PRECISION,
191     X_MINIMUM_ACCOUNTABLE_UNIT,
192     X_Tax_Status_Rule_Flag,
193     X_Def_Place_Of_Supply_Type_Cod,
194     X_Applicability_Rule_Flag,
195     X_Place_Of_Supply_Rule_Flag,
196     X_Tax_Calc_Rule_Flag,
197     X_Taxable_Basis_Thrshld_Flag,
198     X_Tax_Rate_Thrshld_Flag,
199     X_Tax_Amt_Thrshld_Flag,
200     X_Tax_Rate_Rule_Flag,
201     X_Taxable_Basis_Rule_Flag,
202     X_Def_Inclusive_Tax_Flag,
203     X_Has_Other_Jurisdictions_Flag,
204     X_Allow_Rounding_Override_Flag,
205     X_Allow_Exemptions_Flag,
206     X_Allow_Exceptions_Flag,
207     X_Allow_Recoverability_Flag,
208     X_Auto_Prvn_Flag,
209     X_Has_Tax_Det_Date_Rule_Flag,
210     X_Has_Exch_Rate_Date_Rule_Flag,
211     X_Has_Tax_Point_Date_Rule_Flag,
212     X_Use_Legal_Msg_Flag,
213     X_Regn_Num_Same_As_Le_Flag ,
214     X_Def_Rec_Settlement_Option_Co ,
215     X_Record_Type_Code,
216     X_PROGRAM_APPLICATION_ID ,
217     X_PROGRAM_ID ,
218     X_Program_Login_Id,
219     X_REQUEST_ID,
220     X_ATTRIBUTE1,
221     X_ATTRIBUTE2,
222     X_ATTRIBUTE3,
223     X_ATTRIBUTE4,
224     X_ATTRIBUTE5,
225     X_ATTRIBUTE6,
226     X_ATTRIBUTE7,
227     X_ATTRIBUTE8,
228     X_ATTRIBUTE9,
229     X_ATTRIBUTE10,
230     X_ATTRIBUTE11,
231     X_ATTRIBUTE12,
232     X_ATTRIBUTE13,
233     X_ATTRIBUTE14,
234     X_ATTRIBUTE15,
235     X_ATTRIBUTE_CATEGORY,
236     X_Def_Registr_Party_Type_Code,
237     X_Registration_Type_Rule_Flag,
238     X_Tax_Inclusive_Override_Flag,
239     X_REGIME_PRECEDENCE,
240     X_Cross_Regime_Compounding_Fla,
241     X_CREATION_DATE,
242     X_CREATED_BY,
243     X_LAST_UPDATE_DATE,
244     X_LAST_UPDATED_BY,
245     X_LAST_UPDATE_LOGIN,
246     X_TAX_ACCOUNT_PRECEDENCE_CODE,
247     X_OBJECT_VERSION_NUMBER
248   );
249   insert into ZX_REGIMES_TL (
250     TAX_REGIME_ID,
251     TAX_REGIME_NAME,
252     CREATED_BY,
253     CREATION_DATE,
254     LAST_UPDATED_BY,
255     LAST_UPDATE_DATE,
256     LAST_UPDATE_LOGIN,
257     LANGUAGE,
258     SOURCE_LANG
259   ) select
260     X_TAX_REGIME_ID,
261     X_TAX_REGIME_NAME,
262     X_CREATED_BY,
263     X_CREATION_DATE,
264     X_LAST_UPDATED_BY,
265     X_LAST_UPDATE_DATE,
266     X_LAST_UPDATE_LOGIN,
267     L.LANGUAGE_CODE,
268     userenv('LANG')
269   from FND_LANGUAGES L
270   where L.INSTALLED_FLAG in ('I', 'B')
271   and not exists
272     (select NULL
273     from ZX_REGIMES_TL T
274     where T.TAX_REGIME_ID = X_TAX_REGIME_ID
275     and T.LANGUAGE = L.LANGUAGE_CODE);
276   open c;
277   fetch c into X_ROWID;
278   if (c%notfound) then
279     close c;
280     raise no_data_found;
281   end if;
282   close c;
283   -- Insert into zx_regime_relations table
284      if (X_PARENT_REGIME_CODE IS NOT NULL) then
285 	    zx_reg_rel_pub.insert_rel(err_stat,X_TAX_REGIME_CODE,X_PARENT_REGIME_CODE,
286 		X_CREATED_BY, X_CREATION_DATE, X_LAST_UPDATED_BY, X_LAST_UPDATE_DATE,
287 		X_LAST_UPDATE_LOGIN, X_REQUEST_ID, X_PROGRAM_ID,
288 		X_PROGRAM_LOGIN_ID, X_PROGRAM_APPLICATION_ID);
289      end if;
290      if(err_stat <> FND_API.G_RET_STS_SUCCESS) then
291       raise no_data_found;
292      end if;
293 end INSERT_ROW;
294 
295 procedure LOCK_ROW (
296   X_TAX_REGIME_ID in NUMBER,
297   X_PARENT_REGIME_CODE in VARCHAR2,
298   X_TAX_REGIME_CODE in VARCHAR2,
299   X_Has_Sub_Regime_Flag in VARCHAR2,
300   X_Country_Or_Group_Code in VARCHAR2,
301   X_COUNTRY_CODE in VARCHAR2,
302   X_GEOGRAPHY_TYPE in VARCHAR2,
303   X_GEOGRAPHY_ID in NUMBER,
304   X_EFFECTIVE_FROM in DATE,
305   X_EFFECTIVE_TO in DATE,
306   X_EXCHANGE_RATE_TYPE in VARCHAR2,
307   X_TAX_CURRENCY_CODE in VARCHAR2,
308   X_Thrshld_Grouping_Lvl_Code in VARCHAR2,
309   X_Thrshld_Chk_Tmplt_Code in VARCHAR2,
310   X_PERIOD_SET_NAME in VARCHAR2,
311   X_REP_TAX_AUTHORITY_ID in NUMBER,
312   X_COLL_TAX_AUTHORITY_ID in NUMBER,
313   X_Rounding_Rule_Code in VARCHAR2,
314   X_TAX_PRECISION in NUMBER,
315   X_MINIMUM_ACCOUNTABLE_UNIT in NUMBER,
316   X_Tax_Status_Rule_Flag in VARCHAR2,
317   X_Def_Place_Of_Supply_Type_Cod in VARCHAR2,
318   X_Applicability_Rule_Flag in VARCHAR2,
319   X_Place_Of_Supply_Rule_Flag in VARCHAR2,
320   X_Tax_Calc_Rule_Flag in VARCHAR2,
321   X_Taxable_Basis_Thrshld_Flag in VARCHAR2,
322   X_Tax_Rate_Thrshld_Flag in VARCHAR2,
323   X_Tax_Amt_Thrshld_Flag in VARCHAR2,
324   X_Tax_Rate_Rule_Flag in VARCHAR2,
325   X_Taxable_Basis_Rule_Flag in VARCHAR2,
326   X_Def_Inclusive_Tax_Flag in VARCHAR2,
327   X_Has_Other_Jurisdictions_Flag in VARCHAR2,
328   X_Allow_Rounding_Override_Flag in VARCHAR2,
329   X_Allow_Exemptions_Flag in VARCHAR2,
330   X_Allow_Exceptions_Flag in VARCHAR2,
331   X_Allow_Recoverability_Flag in VARCHAR2,
332   X_Auto_Prvn_Flag in VARCHAR2,
333   X_Has_Tax_Det_Date_Rule_Flag in VARCHAR2,
334   X_Has_Exch_Rate_Date_Rule_Flag in VARCHAR2,
335   X_Has_Tax_Point_Date_Rule_Flag in VARCHAR2,
336   X_Use_Legal_Msg_Flag in VARCHAR2,
337   X_Regn_Num_Same_As_Le_Flag in VARCHAR2,
338   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
339   X_Record_Type_Code in VARCHAR2,
340   X_PROGRAM_APPLICATION_ID in NUMBER,
341   X_PROGRAM_ID in NUMBER,
342   X_Program_Login_Id in NUMBER,
343   X_REQUEST_ID in NUMBER,
344   X_ATTRIBUTE1 in VARCHAR2,
345   X_ATTRIBUTE2 in VARCHAR2,
346   X_ATTRIBUTE3 in VARCHAR2,
347   X_ATTRIBUTE4 in VARCHAR2,
348   X_ATTRIBUTE5 in VARCHAR2,
349   X_ATTRIBUTE6 in VARCHAR2,
350   X_ATTRIBUTE7 in VARCHAR2,
351   X_ATTRIBUTE8 in VARCHAR2,
352   X_ATTRIBUTE9 in VARCHAR2,
353   X_ATTRIBUTE10 in VARCHAR2,
354   X_ATTRIBUTE11 in VARCHAR2,
355   X_ATTRIBUTE12 in VARCHAR2,
356   X_ATTRIBUTE13 in VARCHAR2,
357   X_ATTRIBUTE14 in VARCHAR2,
358   X_ATTRIBUTE15 in VARCHAR2,
359   X_ATTRIBUTE_CATEGORY in VARCHAR2,
360   X_Def_Registr_Party_Type_Code in VARCHAR2,
361   X_Registration_Type_Rule_Flag in VARCHAR2,
362   X_Tax_Inclusive_Override_Flag in VARCHAR2,
363   X_REGIME_PRECEDENCE in NUMBER,
364   X_Cross_Regime_Compounding_Fla in VARCHAR2,
365   X_TAX_REGIME_NAME in VARCHAR2 ,
366   X_TAX_ACCOUNT_PRECEDENCE_CODE in VARCHAR2,
367   X_OBJECT_VERSION_NUMBER in NUMBER
368 ) is
369   cursor c is select
370       PARENT_REGIME_CODE,
371       TAX_REGIME_CODE,
372       Has_Sub_Regime_Flag,
373       Country_Or_Group_Code,
374       COUNTRY_CODE,
375       GEOGRAPHY_TYPE,
376       GEOGRAPHY_ID,
377       EFFECTIVE_FROM,
378       EFFECTIVE_TO,
379       EXCHANGE_RATE_TYPE,
380       TAX_CURRENCY_CODE,
381       Thrshld_Grouping_Lvl_Code,
382       Thrshld_Chk_Tmplt_Code,
383       PERIOD_SET_NAME,
384       REP_TAX_AUTHORITY_ID,
385       COLL_TAX_AUTHORITY_ID,
386       Rounding_Rule_Code,
387       TAX_PRECISION,
388       MINIMUM_ACCOUNTABLE_UNIT,
389       Tax_Status_Rule_Flag,
390       Def_Place_Of_Supply_Type_Code,
391       Applicability_Rule_Flag,
392       Place_Of_Supply_Rule_Flag,
393       Tax_Calc_Rule_Flag,
394       Taxable_Basis_Thrshld_Flag,
395       Tax_Rate_Thrshld_Flag,
396       Tax_Amt_Thrshld_Flag,
397       Tax_Rate_Rule_Flag,
398       Taxable_Basis_Rule_Flag,
399       Def_Inclusive_Tax_Flag,
400       Has_Other_Jurisdictions_Flag,
401       Allow_Rounding_Override_Flag,
402       Allow_Exemptions_Flag,
403       Allow_Exceptions_Flag,
404       Allow_Recoverability_Flag,
405       Auto_Prvn_Flag,
406       Has_Tax_Det_Date_Rule_Flag,
407       Has_Exch_Rate_Date_Rule_Flag,
408       Has_Tax_Point_Date_Rule_Flag,
409       Use_Legal_Msg_Flag,
410       Regn_Num_Same_As_Le_Flag ,
411       Def_Rec_Settlement_Option_Code ,
412       Record_Type_Code,
413       PROGRAM_APPLICATION_ID ,
414       PROGRAM_ID ,
415       Program_Login_Id,
416       REQUEST_ID,
417       ATTRIBUTE1,
418       ATTRIBUTE2,
419       ATTRIBUTE3,
420       ATTRIBUTE4,
421       ATTRIBUTE5,
422       ATTRIBUTE6,
423       ATTRIBUTE7,
424       ATTRIBUTE8,
425       ATTRIBUTE9,
426       ATTRIBUTE10,
427       ATTRIBUTE11,
428       ATTRIBUTE12,
429       ATTRIBUTE13,
430       ATTRIBUTE14,
431       ATTRIBUTE15,
432       ATTRIBUTE_CATEGORY,
433       Def_Registr_Party_Type_Code,
434       Registration_Type_Rule_Flag,
435       Tax_Inclusive_Override_Flag,
436       REGIME_PRECEDENCE,
437       Cross_Regime_Compounding_Flag,
438       TAX_ACCOUNT_PRECEDENCE_CODE,
439       OBJECT_VERSION_NUMBER
440     from ZX_REGIMES_B
441     where TAX_REGIME_ID = X_TAX_REGIME_ID
442     for update of TAX_REGIME_ID nowait;
443   recinfo c%rowtype;
444   cursor c1 is select
445       TAX_REGIME_NAME,
446       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
447     from ZX_REGIMES_TL
448     where TAX_REGIME_ID = X_TAX_REGIME_ID
449     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
450     for update of TAX_REGIME_ID nowait;
451 begin
452   open c;
453   fetch c into recinfo;
454   if (c%notfound) then
455     close c;
456     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
457     app_exception.raise_exception;
458   end if;
459   close c;
460   if (    ((recinfo.PARENT_REGIME_CODE = X_PARENT_REGIME_CODE)
461            OR ((recinfo.PARENT_REGIME_CODE is null) AND (X_PARENT_REGIME_CODE is null)))
462       AND (recinfo.TAX_REGIME_CODE = X_TAX_REGIME_CODE)
463       AND ((recinfo.Has_Sub_Regime_Flag = X_Has_Sub_Regime_Flag)
464            OR ((recinfo.Has_Sub_Regime_Flag is null) AND (X_Has_Sub_Regime_Flag is null)))
465       AND ((recinfo.Country_Or_Group_Code = X_Country_Or_Group_Code)
466            OR ((recinfo.Country_Or_Group_Code is null) AND (X_Country_Or_Group_Code is null)))
470            OR ((recinfo.GEOGRAPHY_TYPE is null) AND (X_GEOGRAPHY_TYPE is null)))
467       AND ((recinfo.COUNTRY_CODE = X_COUNTRY_CODE)
468            OR ((recinfo.COUNTRY_CODE is null) AND (X_COUNTRY_CODE is null)))
469       AND ((recinfo.GEOGRAPHY_TYPE = X_GEOGRAPHY_TYPE)
471       AND ((recinfo.GEOGRAPHY_ID = X_GEOGRAPHY_ID)
472            OR ((recinfo.GEOGRAPHY_ID is null) AND (X_GEOGRAPHY_ID is null)))
473       AND ((recinfo.EFFECTIVE_FROM = X_EFFECTIVE_FROM)
474            OR ((recinfo.EFFECTIVE_FROM is null) AND (X_EFFECTIVE_FROM is null)))
475       AND ((recinfo.EFFECTIVE_TO = X_EFFECTIVE_TO)
476            OR ((recinfo.EFFECTIVE_TO is null) AND (X_EFFECTIVE_TO is null)))
477       AND ((recinfo.EXCHANGE_RATE_TYPE = X_EXCHANGE_RATE_TYPE)
478            OR ((recinfo.EXCHANGE_RATE_TYPE is null) AND (X_EXCHANGE_RATE_TYPE is null)))
479       AND ((recinfo.TAX_CURRENCY_CODE = X_TAX_CURRENCY_CODE)
480            OR ((recinfo.TAX_CURRENCY_CODE is null) AND (X_TAX_CURRENCY_CODE is null)))
481       AND ((recinfo.Thrshld_Grouping_Lvl_Code = X_Thrshld_Grouping_Lvl_Code)
482            OR ((recinfo.Thrshld_Grouping_Lvl_Code is null) AND (X_Thrshld_Grouping_Lvl_Code is null)))
483       AND ((recinfo.Thrshld_Chk_Tmplt_Code = X_Thrshld_Chk_Tmplt_Code)
484            OR ((recinfo.Thrshld_Chk_Tmplt_Code is null) AND (X_Thrshld_Chk_Tmplt_Code is null)))
485       AND ((recinfo.PERIOD_SET_NAME = X_PERIOD_SET_NAME)
486            OR ((recinfo.PERIOD_SET_NAME is null) AND (X_PERIOD_SET_NAME is null)))
487       AND ((recinfo.REP_TAX_AUTHORITY_ID = X_REP_TAX_AUTHORITY_ID)
488            OR ((recinfo.REP_TAX_AUTHORITY_ID is null) AND (X_REP_TAX_AUTHORITY_ID is null)))
489       AND ((recinfo.COLL_TAX_AUTHORITY_ID = X_COLL_TAX_AUTHORITY_ID)
490            OR ((recinfo.COLL_TAX_AUTHORITY_ID is null) AND (X_COLL_TAX_AUTHORITY_ID is null)))
491       AND ((recinfo.Rounding_Rule_Code = X_Rounding_Rule_Code)
492            OR ((recinfo.Rounding_Rule_Code is null) AND (X_Rounding_Rule_Code is null)))
493       AND ((recinfo.TAX_PRECISION = X_TAX_PRECISION)
494            OR ((recinfo.TAX_PRECISION is null) AND (X_TAX_PRECISION is null)))
495       AND ((recinfo.MINIMUM_ACCOUNTABLE_UNIT = X_MINIMUM_ACCOUNTABLE_UNIT)
496            OR ((recinfo.MINIMUM_ACCOUNTABLE_UNIT is null) AND (X_MINIMUM_ACCOUNTABLE_UNIT is null)))
497       AND ((recinfo.Tax_Status_Rule_Flag = X_Tax_Status_Rule_Flag)
498            OR ((recinfo.Tax_Status_Rule_Flag is null) AND (X_Tax_Status_Rule_Flag is null)))
499       AND ((recinfo.Def_Place_Of_Supply_Type_Code = X_Def_Place_Of_Supply_Type_Cod)
500            OR ((recinfo.Def_Place_Of_Supply_Type_Code is null) AND (X_Def_Place_Of_Supply_Type_Cod is null)))
501       AND ((recinfo.Applicability_Rule_Flag = X_Applicability_Rule_Flag)
502            OR ((recinfo.Applicability_Rule_Flag is null) AND (X_Applicability_Rule_Flag is null)))
503       AND ((recinfo.Place_Of_Supply_Rule_Flag = X_Place_Of_Supply_Rule_Flag)
504            OR ((recinfo.Place_Of_Supply_Rule_Flag is null) AND (X_Place_Of_Supply_Rule_Flag is null)))
505       AND ((recinfo.Tax_Calc_Rule_Flag = X_Tax_Calc_Rule_Flag)
506            OR ((recinfo.Tax_Calc_Rule_Flag is null) AND (X_Tax_Calc_Rule_Flag is null)))
507       AND ((recinfo.Taxable_Basis_Thrshld_Flag = X_Taxable_Basis_Thrshld_Flag)
508            OR ((recinfo.Taxable_Basis_Thrshld_Flag is null) AND (X_Taxable_Basis_Thrshld_Flag is null)))
509       AND ((recinfo.Tax_Rate_Thrshld_Flag = X_Tax_Rate_Thrshld_Flag)
510            OR ((recinfo.Tax_Rate_Thrshld_Flag is null) AND (X_Tax_Rate_Thrshld_Flag is null)))
511       AND ((recinfo.Tax_Amt_Thrshld_Flag = X_Tax_Amt_Thrshld_Flag)
512            OR ((recinfo.Tax_Amt_Thrshld_Flag is null) AND (X_Tax_Amt_Thrshld_Flag is null)))
513       AND ((recinfo.Tax_Rate_Rule_Flag = X_Tax_Rate_Rule_Flag)
514            OR ((recinfo.Tax_Rate_Rule_Flag is null) AND (X_Tax_Rate_Rule_Flag is null)))
515       AND ((recinfo.Taxable_Basis_Rule_Flag = X_Taxable_Basis_Rule_Flag)
516            OR ((recinfo.Taxable_Basis_Rule_Flag is null) AND (X_Taxable_Basis_Rule_Flag is null)))
517       AND ((recinfo.Def_Inclusive_Tax_Flag = X_Def_Inclusive_Tax_Flag)
518            OR ((recinfo.Def_Inclusive_Tax_Flag is null) AND (X_Def_Inclusive_Tax_Flag is null)))
519       AND ((recinfo.Has_Other_Jurisdictions_Flag = X_Has_Other_Jurisdictions_Flag)
520            OR ((recinfo.Has_Other_Jurisdictions_Flag is null) AND (X_Has_Other_Jurisdictions_Flag is null)))
521       AND ((recinfo.Allow_Rounding_Override_Flag = X_Allow_Rounding_Override_Flag)
522            OR ((recinfo.Allow_Rounding_Override_Flag is null) AND (X_Allow_Rounding_Override_Flag is null)))
523       AND ((recinfo.Allow_Exemptions_Flag = X_Allow_Exemptions_Flag)
524            OR ((recinfo.Allow_Exemptions_Flag is null) AND (X_Allow_Exemptions_Flag is null)))
525       AND ((recinfo.Allow_Exceptions_Flag = X_Allow_Exceptions_Flag)
526            OR ((recinfo.Allow_Exceptions_Flag is null) AND (X_Allow_Exceptions_Flag is null)))
527       AND ((recinfo.Allow_Recoverability_Flag = X_Allow_Recoverability_Flag)
528            OR ((recinfo.Allow_Recoverability_Flag is null) AND (X_Allow_Recoverability_Flag is null)))
529       AND ((recinfo.Auto_Prvn_Flag = X_Auto_Prvn_Flag)
530            OR ((recinfo.Auto_Prvn_Flag is null) AND (X_Auto_Prvn_Flag is null)))
531       AND ((recinfo.Has_Tax_Det_Date_Rule_Flag = X_Has_Tax_Det_Date_Rule_Flag)
532            OR ((recinfo.Has_Tax_Det_Date_Rule_Flag is null) AND (X_Has_Tax_Det_Date_Rule_Flag is null)))
533       AND ((recinfo.Has_Exch_Rate_Date_Rule_Flag = X_Has_Exch_Rate_Date_Rule_Flag)
534            OR ((recinfo.Has_Exch_Rate_Date_Rule_Flag is null) AND (X_Has_Exch_Rate_Date_Rule_Flag is null)))
535       AND ((recinfo.Has_Tax_Point_Date_Rule_Flag = X_Has_Tax_Point_Date_Rule_Flag)
536            OR ((recinfo.Has_Tax_Point_Date_Rule_Flag is null) AND (X_Has_Tax_Point_Date_Rule_Flag is null)))
537       AND ((recinfo.Use_Legal_Msg_Flag = X_Use_Legal_Msg_Flag)
538            OR ((recinfo.Use_Legal_Msg_Flag is null) AND (X_Use_Legal_Msg_Flag is null)))
539       AND ((recinfo.Def_Rec_Settlement_Option_Code = X_Def_Rec_Settlement_Option_Co)
540            OR ((recinfo.Def_Rec_Settlement_Option_Code is null) AND (X_Def_Rec_Settlement_Option_Co is null)))
541       AND ((recinfo.Regn_Num_Same_As_Le_Flag = X_Regn_Num_Same_As_Le_Flag)
545       AND ((recinfo.PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID)
542            OR ((recinfo.Regn_Num_Same_As_Le_Flag is null) AND (X_Regn_Num_Same_As_Le_Flag is null)))
543       AND ((recinfo.Record_Type_Code = X_Record_Type_Code)
544            OR ((recinfo.Record_Type_Code is null) AND (X_Record_Type_Code is null)))
546            OR ((recinfo.PROGRAM_APPLICATION_ID is null) AND (X_PROGRAM_APPLICATION_ID is null)))
547       AND ((recinfo.PROGRAM_ID = X_PROGRAM_ID)
548            OR ((recinfo.PROGRAM_ID is null) AND (X_PROGRAM_ID is null)))
549       AND ((recinfo.Program_Login_Id = X_Program_Login_Id)
550            OR ((recinfo.Program_Login_Id is null) AND (X_Program_Login_Id is null)))
551       AND ((recinfo.REQUEST_ID = X_REQUEST_ID)
552            OR ((recinfo.REQUEST_ID is null) AND (X_REQUEST_ID is null)))
553       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
554            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
555       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
556            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
557       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
558            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
559       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
560            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
561       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
562            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
563       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
564            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
565       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
566            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
567       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
568            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
569       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
570            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
571       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
572            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
573       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
574            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
575       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
576            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
577       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
578            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
579       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
580            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
581       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
582            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
583       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
584            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
585       AND ((recinfo.Def_Registr_Party_Type_Code = X_Def_Registr_Party_Type_Code)
586            OR ((recinfo.Def_Registr_Party_Type_Code is null) AND (X_Def_Registr_Party_Type_Code is null)))
587       AND ((recinfo.Registration_Type_Rule_Flag = X_Registration_Type_Rule_Flag)
588            OR ((recinfo.Registration_Type_Rule_Flag is null) AND (X_Registration_Type_Rule_Flag is null)))
589       AND ((recinfo.Tax_Inclusive_Override_Flag = X_Tax_Inclusive_Override_Flag)
590            OR ((recinfo.Tax_Inclusive_Override_Flag is null) AND (X_Tax_Inclusive_Override_Flag is null)))
591       AND ((recinfo.REGIME_PRECEDENCE = X_REGIME_PRECEDENCE)
592            OR ((recinfo.REGIME_PRECEDENCE is null) AND (X_REGIME_PRECEDENCE is null)))
593       AND ((recinfo.Cross_Regime_Compounding_Flag = X_Cross_Regime_Compounding_Fla)
594            OR ((recinfo.Cross_Regime_Compounding_Flag is null) AND (X_Cross_Regime_Compounding_Fla is null)))
595       AND ((recinfo.TAX_ACCOUNT_PRECEDENCE_CODE = X_TAX_ACCOUNT_PRECEDENCE_CODE)
596            OR ((recinfo.TAX_ACCOUNT_PRECEDENCE_CODE is null) AND (X_TAX_ACCOUNT_PRECEDENCE_CODE is null)))
597       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
598   ) then
599     null;
600   else
601     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
602     app_exception.raise_exception;
603   end if;
604   for tlinfo in c1 loop
605     if (tlinfo.BASELANG = 'Y') then
606       if (    ((tlinfo.TAX_REGIME_NAME = X_TAX_REGIME_NAME)
607                OR ((tlinfo.TAX_REGIME_NAME is null) AND (X_TAX_REGIME_NAME is null)))
608       ) then
609         null;
610       else
611         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
612         app_exception.raise_exception;
613       end if;
614     end if;
615   end loop;
616   return;
617 end LOCK_ROW;
618 
619 procedure UPDATE_ROW (
620   X_TAX_REGIME_ID in NUMBER,
621   X_PARENT_REGIME_CODE in VARCHAR2,
622   X_TAX_REGIME_CODE in VARCHAR2,
623   X_Has_Sub_Regime_Flag in VARCHAR2,
624   X_Country_Or_Group_Code in VARCHAR2,
625   X_COUNTRY_CODE in VARCHAR2,
626   X_GEOGRAPHY_TYPE in VARCHAR2,
627   X_GEOGRAPHY_ID in NUMBER,
628   X_EFFECTIVE_FROM in DATE,
629   X_EFFECTIVE_TO in DATE,
630   X_EXCHANGE_RATE_TYPE in VARCHAR2,
631   X_TAX_CURRENCY_CODE in VARCHAR2,
632   X_Thrshld_Grouping_Lvl_Code in VARCHAR2,
633   X_Thrshld_Chk_Tmplt_Code in VARCHAR2,
634   X_PERIOD_SET_NAME in VARCHAR2,
635   X_REP_TAX_AUTHORITY_ID in NUMBER,
636   X_COLL_TAX_AUTHORITY_ID in NUMBER,
637   X_Rounding_Rule_Code in VARCHAR2,
638   X_TAX_PRECISION in NUMBER,
639   X_MINIMUM_ACCOUNTABLE_UNIT in NUMBER,
640   X_Tax_Status_Rule_Flag in VARCHAR2,
641   X_Def_Place_Of_Supply_Type_Cod in VARCHAR2,
642   X_Applicability_Rule_Flag in VARCHAR2,
643   X_Place_Of_Supply_Rule_Flag in VARCHAR2,
644   X_Tax_Calc_Rule_Flag in VARCHAR2,
645   X_Taxable_Basis_Thrshld_Flag in VARCHAR2,
646   X_Tax_Rate_Thrshld_Flag in VARCHAR2,
647   X_Tax_Amt_Thrshld_Flag in VARCHAR2,
648   X_Tax_Rate_Rule_Flag in VARCHAR2,
649   X_Taxable_Basis_Rule_Flag in VARCHAR2,
650   X_Def_Inclusive_Tax_Flag in VARCHAR2,
654   X_Allow_Exceptions_Flag in VARCHAR2,
651   X_Has_Other_Jurisdictions_Flag in VARCHAR2,
652   X_Allow_Rounding_Override_Flag in VARCHAR2,
653   X_Allow_Exemptions_Flag in VARCHAR2,
655   X_Allow_Recoverability_Flag in VARCHAR2,
656   X_Auto_Prvn_Flag in VARCHAR2,
657   X_Has_Tax_Det_Date_Rule_Flag in VARCHAR2,
658   X_Has_Exch_Rate_Date_Rule_Flag in VARCHAR2,
659   X_Has_Tax_Point_Date_Rule_Flag in VARCHAR2,
660   X_Use_Legal_Msg_Flag in VARCHAR2,
661   X_Regn_Num_Same_As_Le_Flag in VARCHAR2,
662   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
663   X_Record_Type_Code in VARCHAR2,
664   X_PROGRAM_APPLICATION_ID in NUMBER,
665   X_PROGRAM_ID in NUMBER,
666   X_Program_Login_Id in NUMBER,
667   X_REQUEST_ID in NUMBER,
668   X_ATTRIBUTE1 in VARCHAR2,
669   X_ATTRIBUTE2 in VARCHAR2,
670   X_ATTRIBUTE3 in VARCHAR2,
671   X_ATTRIBUTE4 in VARCHAR2,
672   X_ATTRIBUTE5 in VARCHAR2,
673   X_ATTRIBUTE6 in VARCHAR2,
674   X_ATTRIBUTE7 in VARCHAR2,
675   X_ATTRIBUTE8 in VARCHAR2,
676   X_ATTRIBUTE9 in VARCHAR2,
677   X_ATTRIBUTE10 in VARCHAR2,
678   X_ATTRIBUTE11 in VARCHAR2,
679   X_ATTRIBUTE12 in VARCHAR2,
680   X_ATTRIBUTE13 in VARCHAR2,
681   X_ATTRIBUTE14 in VARCHAR2,
682   X_ATTRIBUTE15 in VARCHAR2,
683   X_ATTRIBUTE_CATEGORY in VARCHAR2,
684   X_Def_Registr_Party_Type_Code in VARCHAR2,
685   X_Registration_Type_Rule_Flag in VARCHAR2,
686   X_Tax_Inclusive_Override_Flag in VARCHAR2,
687   X_REGIME_PRECEDENCE in NUMBER,
688   X_Cross_Regime_Compounding_Fla in VARCHAR2,
689   X_TAX_REGIME_NAME in VARCHAR2,
690   X_LAST_UPDATE_DATE in DATE,
691   X_LAST_UPDATED_BY in NUMBER,
692   X_LAST_UPDATE_LOGIN in NUMBER,
693   X_TAX_ACCOUNT_PRECEDENCE_CODE in VARCHAR2,
694   X_OBJECT_VERSION_NUMBER in NUMBER
695 ) is
696 
697 CURSOR C1 is
698        SELECT
699        REP_TAX_AUTHORITY_ID,
700        COLL_TAX_AUTHORITY_ID
701        FROM ZX_REGIMES_VL
702        WHERE TAX_REGIME_CODE = X_TAX_REGIME_CODE;
703 R1     C1%rowtype;
704 
705 update_flg  BOOLEAN;
706 err_stat    VARCHAR2(30);
707 
708 begin
709 
710    update_flg := FALSE;
711    err_stat   := FND_API.G_RET_STS_SUCCESS;
712 
713    OPEN C1;
714     FETCH C1 INTO R1;
715    CLOSE C1;
716   update ZX_REGIMES_B set
717     PARENT_REGIME_CODE = X_PARENT_REGIME_CODE,
718     TAX_REGIME_CODE = X_TAX_REGIME_CODE,
719     Has_Sub_Regime_Flag = X_Has_Sub_Regime_Flag,
720     Country_Or_Group_Code = X_Country_Or_Group_Code,
721     COUNTRY_CODE = X_COUNTRY_CODE,
722     GEOGRAPHY_TYPE = X_GEOGRAPHY_TYPE,
723     GEOGRAPHY_ID = X_GEOGRAPHY_ID,
724     EFFECTIVE_FROM = X_EFFECTIVE_FROM,
725     EFFECTIVE_TO = X_EFFECTIVE_TO,
726     EXCHANGE_RATE_TYPE = X_EXCHANGE_RATE_TYPE,
727     TAX_CURRENCY_CODE = X_TAX_CURRENCY_CODE,
728     Thrshld_Grouping_Lvl_Code = X_Thrshld_Grouping_Lvl_Code,
729     Thrshld_Chk_Tmplt_Code = X_Thrshld_Chk_Tmplt_Code,
730     PERIOD_SET_NAME = X_PERIOD_SET_NAME,
731     REP_TAX_AUTHORITY_ID = X_REP_TAX_AUTHORITY_ID,
732     COLL_TAX_AUTHORITY_ID = X_COLL_TAX_AUTHORITY_ID,
733     Rounding_Rule_Code = X_Rounding_Rule_Code,
734     TAX_PRECISION = X_TAX_PRECISION,
735     MINIMUM_ACCOUNTABLE_UNIT = X_MINIMUM_ACCOUNTABLE_UNIT,
736     Tax_Status_Rule_Flag = X_Tax_Status_Rule_Flag,
737     Def_Place_Of_Supply_Type_Code = X_Def_Place_Of_Supply_Type_Cod,
738     Applicability_Rule_Flag = X_Applicability_Rule_Flag,
739     Place_Of_Supply_Rule_Flag = X_Place_Of_Supply_Rule_Flag,
740     Tax_Calc_Rule_Flag = X_Tax_Calc_Rule_Flag,
741     Taxable_Basis_Thrshld_Flag = X_Taxable_Basis_Thrshld_Flag,
742     Tax_Rate_Thrshld_Flag = X_Tax_Rate_Thrshld_Flag,
743     Tax_Amt_Thrshld_Flag = X_Tax_Amt_Thrshld_Flag,
744     Tax_Rate_Rule_Flag = X_Tax_Rate_Rule_Flag,
745     Taxable_Basis_Rule_Flag = X_Taxable_Basis_Rule_Flag,
746     Def_Inclusive_Tax_Flag = X_Def_Inclusive_Tax_Flag,
747     Has_Other_Jurisdictions_Flag = X_Has_Other_Jurisdictions_Flag,
748     Allow_Rounding_Override_Flag = X_Allow_Rounding_Override_Flag,
749     Allow_Exemptions_Flag = X_Allow_Exemptions_Flag,
750     Allow_Exceptions_Flag = X_Allow_Exceptions_Flag,
751     Allow_Recoverability_Flag = X_Allow_Recoverability_Flag,
752     Auto_Prvn_Flag = X_Auto_Prvn_Flag,
753     Has_Tax_Det_Date_Rule_Flag = X_Has_Tax_Det_Date_Rule_Flag,
754     Has_Exch_Rate_Date_Rule_Flag = X_Has_Exch_Rate_Date_Rule_Flag,
755     Has_Tax_Point_Date_Rule_Flag = X_Has_Tax_Point_Date_Rule_Flag,
756     Use_Legal_Msg_Flag = X_Use_Legal_Msg_Flag,
757     Regn_Num_Same_As_Le_Flag =  X_Regn_Num_Same_As_Le_Flag,
758     Def_Rec_Settlement_Option_Code  = X_Def_Rec_Settlement_Option_Co,
759     Record_Type_Code = X_Record_Type_Code,
760     PROGRAM_APPLICATION_ID  = X_PROGRAM_APPLICATION_ID,
761     PROGRAM_ID = X_PROGRAM_ID,
762     Program_Login_Id = X_Program_Login_Id,
763     REQUEST_ID = X_REQUEST_ID,
764     ATTRIBUTE1 = X_ATTRIBUTE1,
765     ATTRIBUTE2 = X_ATTRIBUTE2,
766     ATTRIBUTE3 = X_ATTRIBUTE3,
767     ATTRIBUTE4 = X_ATTRIBUTE4,
768     ATTRIBUTE5 = X_ATTRIBUTE5,
769     ATTRIBUTE6 = X_ATTRIBUTE6,
770     ATTRIBUTE7 = X_ATTRIBUTE7,
771     ATTRIBUTE8 = X_ATTRIBUTE8,
772     ATTRIBUTE9 = X_ATTRIBUTE9,
773     ATTRIBUTE10 = X_ATTRIBUTE10,
774     ATTRIBUTE11 = X_ATTRIBUTE11,
775     ATTRIBUTE12 = X_ATTRIBUTE12,
776     ATTRIBUTE13 = X_ATTRIBUTE13,
777     ATTRIBUTE14 = X_ATTRIBUTE14,
778     ATTRIBUTE15 = X_ATTRIBUTE15,
779     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
780     Def_Registr_Party_Type_Code = X_Def_Registr_Party_Type_Code,
781     Registration_Type_Rule_Flag = X_Registration_Type_Rule_Flag,
782     Tax_Inclusive_Override_Flag = X_Tax_Inclusive_Override_Flag,
783     REGIME_PRECEDENCE = X_REGIME_PRECEDENCE,
784     Cross_Regime_Compounding_Flag = X_Cross_Regime_Compounding_Fla,
785     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
786     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
790   where TAX_REGIME_ID = X_TAX_REGIME_ID;
787     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
788     TAX_ACCOUNT_PRECEDENCE_CODE = X_TAX_ACCOUNT_PRECEDENCE_CODE,
789     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
791   if (sql%notfound) then
792     raise no_data_found;
793   end if;
794   update ZX_REGIMES_TL set
795     TAX_REGIME_NAME = X_TAX_REGIME_NAME,
796     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
797     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
798     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
799     SOURCE_LANG = userenv('LANG')
800   where TAX_REGIME_ID = X_TAX_REGIME_ID
801   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
802   if (sql%notfound) then
803     raise no_data_found;
804   end if;
805      -- Update zx_regime_relations table
806         zx_reg_rel_pub.update_rel(err_stat,X_TAX_REGIME_CODE,X_PARENT_REGIME_CODE,
807 	X_LAST_UPDATED_BY, X_LAST_UPDATE_DATE,
808 	X_LAST_UPDATE_LOGIN, X_REQUEST_ID, X_PROGRAM_ID,
809 	X_PROGRAM_LOGIN_ID, X_PROGRAM_APPLICATION_ID);
810 
811       if(err_stat <> FND_API.G_RET_STS_SUCCESS) then
812           raise no_data_found;
813       end if;
814       --Update zx_taxes_vl table if the rep_tax_auth_id or coll_tax_auth_id has been updated
815       -- Check if update of reporting tax authority id or collecting tax authority has occurred..
816 		if(nvl(X_REP_TAX_AUTHORITY_ID,-9999) <> nvl(R1.REP_TAX_AUTHORITY_ID,-9999)) OR
817                   (nvl(X_COLL_TAX_AUTHORITY_ID,-9999) <> nvl(R1.COLL_TAX_AUTHORITY_ID,-9999)) THEN
818                         zx_reg_rel_pub.update_taxes(err_stat,X_TAX_REGIME_CODE,R1.REP_TAX_AUTHORITY_ID,
819                               R1.COLL_TAX_AUTHORITY_ID,X_REP_TAX_AUTHORITY_ID,X_COLL_TAX_AUTHORITY_ID);
820 		END IF;
821 end UPDATE_ROW;
822 
823 procedure DELETE_ROW (
824   X_TAX_REGIME_ID in NUMBER
825 ) is
826 begin
827   delete from ZX_REGIMES_TL
828   where TAX_REGIME_ID = X_TAX_REGIME_ID;
829   if (sql%notfound) then
830     raise no_data_found;
831   end if;
832   delete from ZX_REGIMES_B
833   where TAX_REGIME_ID = X_TAX_REGIME_ID;
834   if (sql%notfound) then
835     raise no_data_found;
836   end if;
837 end DELETE_ROW;
838 
839 procedure ADD_LANGUAGE
840 is
841 begin
842   delete from ZX_REGIMES_TL T
843   where not exists
844     (select NULL
845     from ZX_REGIMES_B B
846     where B.TAX_REGIME_ID = T.TAX_REGIME_ID
847     );
848   update ZX_REGIMES_TL T set (
849       TAX_REGIME_NAME
850     ) = (select
851       B.TAX_REGIME_NAME
852     from ZX_REGIMES_TL B
853     where B.TAX_REGIME_ID = T.TAX_REGIME_ID
854     and B.LANGUAGE = T.SOURCE_LANG)
855   where (
856       T.TAX_REGIME_ID,
857       T.LANGUAGE
858   ) in (select
859       SUBT.TAX_REGIME_ID,
860       SUBT.LANGUAGE
861     from ZX_REGIMES_TL SUBB, ZX_REGIMES_TL SUBT
862     where SUBB.TAX_REGIME_ID = SUBT.TAX_REGIME_ID
863     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
864     and (SUBB.TAX_REGIME_NAME <> SUBT.TAX_REGIME_NAME
865       or (SUBB.TAX_REGIME_NAME is null and SUBT.TAX_REGIME_NAME is not null)
866       or (SUBB.TAX_REGIME_NAME is not null and SUBT.TAX_REGIME_NAME is null)
867   ));
868   insert into ZX_REGIMES_TL (
869     TAX_REGIME_ID,
870     TAX_REGIME_NAME,
871     CREATED_BY,
872     CREATION_DATE,
873     LAST_UPDATED_BY,
874     LAST_UPDATE_DATE,
875     LAST_UPDATE_LOGIN,
876     LANGUAGE,
877     SOURCE_LANG
878   ) select
879     B.TAX_REGIME_ID,
880     B.TAX_REGIME_NAME,
881     B.CREATED_BY,
882     B.CREATION_DATE,
883     B.LAST_UPDATED_BY,
884     B.LAST_UPDATE_DATE,
885     B.LAST_UPDATE_LOGIN,
886     L.LANGUAGE_CODE,
887     B.SOURCE_LANG
888   from ZX_REGIMES_TL B, FND_LANGUAGES L
889   where L.INSTALLED_FLAG in ('I', 'B')
890   and B.LANGUAGE = userenv('LANG')
891   and not exists
892     (select NULL
893     from ZX_REGIMES_TL T
894     where T.TAX_REGIME_ID = B.TAX_REGIME_ID
895     and T.LANGUAGE = L.LANGUAGE_CODE);
896 end ADD_LANGUAGE;
897 
898 end ZX_REGIMES_PKG;