DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_RATES_PKG

Source


1 package body ZX_RATES_PKG as
2 /* $Header: zxcratesb.pls 120.20.12010000.3 2009/01/15 12:46:04 nisinha ship $ */
3 
4 -- start bug#6992215
5 ----------------------------------------------------------------------------------------------------------
6 -- Start of comments
7 
8 -- Procedure Name  : UPDATE_LOOKUP_VALUES
9 -- Description     : Updating the table: FND_LOOKUP_VALUES for columns: Description  and Meaning
10 -- Business Rules  :
11 -- Parameters      : LOOKUP_TYPE,TAX_RATE_CODE,DESCRIPTION, MEANING and one OUT parameter RETURN_STATUS
12 -- Version         :
13 -- End of comments
14 -----------------------------------------------------------------------------------------------------------
15 
16 
17 
18    PROCEDURE UPDATE_LOOKUP_VALUES (
19        P_LOOKUP_TYPE in VARCHAR2,
20        P_TAX_RATE_CODE in VARCHAR2,
21        P_DESCRIPTION IN VARCHAR2,
22        P_MEANING IN VARCHAR2,
23 	     X_RETURN_STATUS OUT NOCOPY VARCHAR2
24     ) IS
25 
26    BEGIN
27     X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
28 
29 	-- updating the description field in fnd_lookup values
30 	UPDATE  FND_LOOKUP_VALUES
31     SET  description=P_DESCRIPTION,
32          meaning = Nvl(P_MEANING, P_TAX_RATE_CODE),
33          last_update_date  = SYSDATE,
34          last_updated_by   = FND_GLOBAL.user_id,
35          last_update_login = FND_GLOBAL.login_id
36 
37     WHERE
38        LOOKUP_TYPE = P_LOOKUP_TYPE and
39        LOOKUP_CODE = NVL(TAG,P_TAX_RATE_CODE)and
40        LANGUAGE =USERENV('LANG');
41 
42    EXCEPTION
43     WHEN OTHERS
44     THEN
45 	   X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
46 
47    END UPDATE_LOOKUP_VALUES;
48 
49 -- end bug#6992215
50 
51 
52 procedure INSERT_ROW (
53   X_ROWID in out nocopy VARCHAR2,
54   X_TAX_RATE_ID in NUMBER,
55   X_TAX_RATE_CODE in VARCHAR2,
56   X_CONTENT_OWNER_ID in NUMBER,
57   X_EFFECTIVE_FROM in DATE,
58   X_EFFECTIVE_TO in DATE,
59   X_TAX_REGIME_CODE in VARCHAR2,
60   X_TAX in VARCHAR2,
61   X_TAX_STATUS_CODE in VARCHAR2,
62   X_Schedule_Based_Rate_Flag in VARCHAR2,
63   X_Rate_Type_Code in VARCHAR2,
64   X_PERCENTAGE_RATE in NUMBER,
65   X_QUANTITY_RATE in NUMBER,
66   X_UOM_CODE in VARCHAR2,
67   X_TAX_JURISDICTION_CODE in VARCHAR2,
68   X_RECOVERY_TYPE_CODE in VARCHAR2,
69   X_Active_Flag in VARCHAR2,
70   X_Default_Rate_Flag in VARCHAR2,
71   X_DEFAULT_FLG_EFFECTIVE_FROM in DATE,
72   X_DEFAULT_FLG_EFFECTIVE_TO in DATE,
73   X_DEFAULT_REC_TYPE_CODE in VARCHAR2,
74   X_DEFAULT_REC_RATE_CODE in VARCHAR2,
75   X_OFFSET_TAX in VARCHAR2,
76   X_OFFSET_STATUS_CODE in VARCHAR2,
77   X_OFFSET_TAX_RATE_CODE in VARCHAR2,
78   X_RECOVERY_RULE_CODE in VARCHAR2,
79   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
80   X_Vat_Transaction_Type_Code in VARCHAR2,
81   X_Record_Type_Code in VARCHAR2,
82   X_REQUEST_ID in NUMBER,
83   X_ATTRIBUTE1 in VARCHAR2,
84   X_ATTRIBUTE2 in VARCHAR2,
85   X_ATTRIBUTE3 in VARCHAR2,
86   X_ATTRIBUTE4 in VARCHAR2,
87   X_ATTRIBUTE5 in VARCHAR2,
88   X_ATTRIBUTE6 in VARCHAR2,
89   X_ATTRIBUTE7 in VARCHAR2,
90   X_ATTRIBUTE8 in VARCHAR2,
91   X_ATTRIBUTE9 in VARCHAR2,
92   X_ATTRIBUTE10 in VARCHAR2,
93   X_ATTRIBUTE11 in VARCHAR2,
94   X_ATTRIBUTE12 in VARCHAR2,
95   X_ATTRIBUTE13 in VARCHAR2,
96   X_ATTRIBUTE14 in VARCHAR2,
97   X_ATTRIBUTE15 in VARCHAR2,
98   X_ATTRIBUTE_CATEGORY in VARCHAR2,
99   X_TAX_RATE_NAME in VARCHAR2,
100   X_CREATION_DATE in DATE,
101   X_CREATED_BY in NUMBER,
102   X_LAST_UPDATE_DATE in DATE,
103   X_LAST_UPDATED_BY in NUMBER,
104   X_LAST_UPDATE_LOGIN in NUMBER,
105   X_PROGRAM_APPLICATION_ID in NUMBER,
106   X_PROGRAM_ID in NUMBER,
107   X_Program_Login_Id in  NUMBER,
108   X_ALLOW_ADHOC_TAX_RATE_FLAG in VARCHAR2,
109   X_ADJ_FOR_ADHOC_AMT_CODE in VARCHAR2,
110   X_INCLUSIVE_TAX_FLAG in VARCHAR2,
111   X_TAX_INCLUSIVE_OVERRIDE_FLAG VARCHAR2,
112   X_TAX_CLASS VARCHAR2,
113   X_OBJECT_VERSION_NUMBER in NUMBER,
114   X_ALLOW_EXEMPTIONS_FLAG in VARCHAR2,
115   X_ALLOW_EXCEPTIONS_FLAG in VARCHAR2,
116   X_SOURCE_ID in NUMBER,
117   X_DESCRIPTION IN VARCHAR2,
118   X_TAXABLE_BASIS_FORMULA_CODE in VARCHAR2
119 
120 ) is
121   X_ORG_ID NUMBER;
122   X_TAX_TYPE VARCHAR2(30);
123   cursor C is select ROWID from ZX_RATES_B
124     where TAX_RATE_ID = X_TAX_RATE_ID    ;
125 begin
126   insert into ZX_RATES_B (
127     TAX_RATE_ID,
128     TAX_RATE_CODE,
129     CONTENT_OWNER_ID,
130     EFFECTIVE_FROM,
131     EFFECTIVE_TO,
132     TAX_REGIME_CODE,
133     TAX,
134     TAX_STATUS_CODE,
135     Schedule_Based_Rate_Flag,
136     Rate_Type_Code,
137     PERCENTAGE_RATE,
138     QUANTITY_RATE,
139     UOM_CODE,
140     TAX_JURISDICTION_CODE,
141     RECOVERY_TYPE_CODE,
142     Active_Flag,
143     Default_Rate_Flag,
144     DEFAULT_FLG_EFFECTIVE_FROM,
145     DEFAULT_FLG_EFFECTIVE_TO,
146     DEFAULT_REC_TYPE_CODE,
147     DEFAULT_REC_RATE_CODE,
148     OFFSET_TAX,
149     OFFSET_STATUS_CODE,
150     OFFSET_TAX_RATE_CODE,
151     RECOVERY_RULE_CODE,
152     Def_Rec_Settlement_Option_Code,
153     Vat_Transaction_Type_Code,
154     Record_Type_Code,
155     REQUEST_ID,
156     ATTRIBUTE1,
157     ATTRIBUTE2,
158     ATTRIBUTE3,
159     ATTRIBUTE4,
160     ATTRIBUTE5,
161     ATTRIBUTE6,
162     ATTRIBUTE7,
163     ATTRIBUTE8,
164     ATTRIBUTE9,
165     ATTRIBUTE10,
166     ATTRIBUTE11,
167     ATTRIBUTE12,
168     ATTRIBUTE13,
169     ATTRIBUTE14,
170     ATTRIBUTE15,
171     ATTRIBUTE_CATEGORY,
172     CREATION_DATE,
173     CREATED_BY,
174     LAST_UPDATE_DATE,
175     LAST_UPDATED_BY,
176     LAST_UPDATE_LOGIN,
177     PROGRAM_APPLICATION_ID,
178     PROGRAM_ID,
179     Program_Login_Id,
180     ALLOW_ADHOC_TAX_RATE_FLAG,
181     ADJ_FOR_ADHOC_AMT_CODE,
182     INCLUSIVE_TAX_FLAG,
183     TAX_INCLUSIVE_OVERRIDE_FLAG,
184     TAX_CLASS,
185     OBJECT_VERSION_NUMBER,
186     ALLOW_EXEMPTIONS_FLAG,
187     ALLOW_EXCEPTIONS_FLAG,
188     SOURCE_ID,
189     -- DESCRIPTION, commented as part of fix for bug#	6820043
190     TAXABLE_BASIS_FORMULA_CODE
191   ) values (
192     X_TAX_RATE_ID,
193     X_TAX_RATE_CODE,
194     X_CONTENT_OWNER_ID,
195     X_EFFECTIVE_FROM,
196     X_EFFECTIVE_TO,
197     X_TAX_REGIME_CODE,
198     X_TAX,
199     X_TAX_STATUS_CODE,
200     X_Schedule_Based_Rate_Flag,
201     X_Rate_Type_Code,
202     X_PERCENTAGE_RATE,
203     X_QUANTITY_RATE,
204     X_UOM_CODE,
205     X_TAX_JURISDICTION_CODE,
206     X_RECOVERY_TYPE_CODE,
207     X_Active_Flag,
208     X_Default_Rate_Flag,
209     X_DEFAULT_FLG_EFFECTIVE_FROM,
210     X_DEFAULT_FLG_EFFECTIVE_TO,
211     X_DEFAULT_REC_TYPE_CODE,
212     X_DEFAULT_REC_RATE_CODE,
213     X_OFFSET_TAX,
214     X_OFFSET_STATUS_CODE,
215     X_OFFSET_TAX_RATE_CODE,
216     X_RECOVERY_RULE_CODE,
217     X_Def_Rec_Settlement_Option_Co,
218     X_Vat_Transaction_Type_Code,
219     X_Record_Type_Code,
220     X_REQUEST_ID,
221     X_ATTRIBUTE1,
222     X_ATTRIBUTE2,
223     X_ATTRIBUTE3,
224     X_ATTRIBUTE4,
225     X_ATTRIBUTE5,
226     X_ATTRIBUTE6,
227     X_ATTRIBUTE7,
228     X_ATTRIBUTE8,
229     X_ATTRIBUTE9,
230     X_ATTRIBUTE10,
231     X_ATTRIBUTE11,
232     X_ATTRIBUTE12,
233     X_ATTRIBUTE13,
234     X_ATTRIBUTE14,
235     X_ATTRIBUTE15,
236     X_ATTRIBUTE_CATEGORY,
237     X_CREATION_DATE,
238     X_CREATED_BY,
239     X_LAST_UPDATE_DATE,
240     X_LAST_UPDATED_BY,
241     X_LAST_UPDATE_LOGIN,
242     X_PROGRAM_APPLICATION_ID,
243     X_PROGRAM_ID,
244     X_Program_Login_Id,
245     X_ALLOW_ADHOC_TAX_RATE_FLAG,
246     X_ADJ_FOR_ADHOC_AMT_CODE,
247     X_INCLUSIVE_TAX_FLAG,
248     X_TAX_INCLUSIVE_OVERRIDE_FLAG,
249     X_TAX_CLASS,
250     X_OBJECT_VERSION_NUMBER,
251     X_ALLOW_EXEMPTIONS_FLAG,
252     X_ALLOW_EXCEPTIONS_FLAG,
253     X_SOURCE_ID,
254     -- X_DESCRIPTION, commented as part of fix for bug#	6820043
255     X_TAXABLE_BASIS_FORMULA_CODE
256   );
257   insert into ZX_RATES_TL (
258     TAX_RATE_ID,
259     TAX_RATE_NAME,
260     CREATED_BY,
261     CREATION_DATE,
262     LAST_UPDATED_BY,
263     LAST_UPDATE_DATE,
264     LAST_UPDATE_LOGIN,
265     LANGUAGE,
266     SOURCE_LANG,
267 	description -- added as part of fix for bug#	6820043
268   ) select
269     X_TAX_RATE_ID,
270     X_TAX_RATE_NAME,
271     X_CREATED_BY,
272     X_CREATION_DATE,
273     X_LAST_UPDATED_BY,
274     X_LAST_UPDATE_DATE,
275     X_LAST_UPDATE_LOGIN,
276     L.LANGUAGE_CODE,
277     userenv('LANG'),
278 	x_description -- added as part of fix for bug#	6820043
279   from FND_LANGUAGES L
280   where L.INSTALLED_FLAG in ('I', 'B')
281   and not exists
282     (select NULL
283     from ZX_RATES_TL T
284     where T.TAX_RATE_ID = X_TAX_RATE_ID
285     and T.LANGUAGE = L.LANGUAGE_CODE);
286   open c;
287   fetch c into X_ROWID;
288   if (c%notfound) then
289     close c;
290     raise no_data_found;
291   end if;
292   close c;
293   --************Added to create lookup types,as per bug 4313618*************
294  /*The INSERT_ROW procedure was creating Lookups even when Tax Recovery Rate Code
295  * was being created. We did not want this to happen. Lookups should be created
296  * only for Tax Rates, not for Tax Recovery Rates. Hence this caondition ws
297  * added as fix for Bug 5052500
298  */
299 if (X_RATE_TYPE_CODE <> 'RECOVERY') then
300   INSERT_LOOKUP_VALUES(
301     'ZX_INPUT_CLASSIFICATIONS' ,
302     X_TAX_RATE_CODE ,
303     X_EFFECTIVE_FROM,
304     X_EFFECTIVE_TO,
305    -- start  bug#6992215
306     X_DESCRIPTION,
307     X_TAX_RATE_NAME
308    --end bug#6992215
309   );
310 
311   INSERT_LOOKUP_VALUES(
312     'ZX_OUTPUT_CLASSIFICATIONS' ,
313     X_TAX_RATE_CODE ,
314     X_EFFECTIVE_FROM,
315     X_EFFECTIVE_TO,
316     -- start  bug#6992215
317     X_DESCRIPTION,
318     X_TAX_RATE_NAME
319     -- end  bug#6992215
320   );
321 end if;
322 
323 /*Getting the value of X_ORG_ID on the basis of X_CONTENT_OWNER_ID
324 * and tax_type_code to be passed
325 *
326 */
327 
328 SELECT decode(c.party_type_code,'OU',c.party_id,-99) into X_ORG_ID
329 FROM
330 	zx_party_tax_profile c
331 WHERE
332 c.party_tax_profile_id = X_CONTENT_OWNER_ID;
333 
334 
335 BEGIN
336 	SELECT TAX_TYPE_CODE INTO X_TAX_TYPE
337 	FROM
338 		ZX_TAXES_B A
339 	WHERE
340 		A.TAX = X_TAX
341 		AND A.TAX_REGIME_CODE = X_TAX_REGIME_CODE
342 		AND A.CONTENT_OWNER_ID = X_CONTENT_OWNER_ID;
343 
344 
345 EXCEPTION
346 	WHEN NO_DATA_FOUND THEN
347 
348 	SELECT TAX_TYPE_CODE INTO X_TAX_TYPE
349 	FROM
350 		ZX_TAXES_B A
351 	WHERE
352 		A.TAX = X_TAX
353 		AND A.TAX_REGIME_CODE = X_TAX_REGIME_CODE
354 		AND A.CONTENT_OWNER_ID = -99;
355 END;
356 
357 
358 /* Calling procedure POPULATE_ID_TCC_MAPPING_ALL to populate the ZX_ID_TCC_MAPPING_ALL table. */
359 
360 POPULATE_ID_TCC_MAPPING_ALL (
361   X_TAX_RATE_ID,
362   X_TAX_RATE_CODE,
363   X_ORG_ID,
364   X_EFFECTIVE_FROM,
365   X_EFFECTIVE_TO,
366   X_TAX_TYPE,
367   NULL,
368   X_Active_Flag,
369   NULL,
370   NULL
371   );
372 
373 end INSERT_ROW;
374 
375 procedure LOCK_ROW (
376   X_TAX_RATE_ID in NUMBER,
377   X_TAX_RATE_CODE in VARCHAR2,
378   X_CONTENT_OWNER_ID in NUMBER,
379   X_EFFECTIVE_FROM in DATE,
380   X_EFFECTIVE_TO in DATE,
381   X_TAX_REGIME_CODE in VARCHAR2,
382   X_TAX in VARCHAR2,
383   X_TAX_STATUS_CODE in VARCHAR2,
384   X_Schedule_Based_Rate_Flag in VARCHAR2,
385   X_Rate_Type_Code in VARCHAR2,
386   X_PERCENTAGE_RATE in NUMBER,
387   X_QUANTITY_RATE in NUMBER,
388   X_UOM_CODE in VARCHAR2,
389   X_TAX_JURISDICTION_CODE in VARCHAR2,
390   X_RECOVERY_TYPE_CODE in VARCHAR2,
391   X_Active_Flag in VARCHAR2,
392   X_Default_Rate_Flag in VARCHAR2,
393   X_DEFAULT_FLG_EFFECTIVE_FROM in DATE,
394   X_DEFAULT_FLG_EFFECTIVE_TO in DATE,
395   X_DEFAULT_REC_TYPE_CODE in VARCHAR2,
396   X_DEFAULT_REC_RATE_CODE in VARCHAR2,
397   X_OFFSET_TAX in VARCHAR2,
398   X_OFFSET_STATUS_CODE in VARCHAR2,
399   X_OFFSET_TAX_RATE_CODE in VARCHAR2,
400   X_RECOVERY_RULE_CODE in VARCHAR2,
401   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
402   X_Vat_Transaction_Type_Code in VARCHAR2,
403   X_Record_Type_Code in VARCHAR2,
404   X_REQUEST_ID in NUMBER,
405   X_ATTRIBUTE1 in VARCHAR2,
406   X_ATTRIBUTE2 in VARCHAR2,
407   X_ATTRIBUTE3 in VARCHAR2,
408   X_ATTRIBUTE4 in VARCHAR2,
409   X_ATTRIBUTE5 in VARCHAR2,
410   X_ATTRIBUTE6 in VARCHAR2,
411   X_ATTRIBUTE7 in VARCHAR2,
412   X_ATTRIBUTE8 in VARCHAR2,
413   X_ATTRIBUTE9 in VARCHAR2,
414   X_ATTRIBUTE10 in VARCHAR2,
415   X_ATTRIBUTE11 in VARCHAR2,
416   X_ATTRIBUTE12 in VARCHAR2,
417   X_ATTRIBUTE13 in VARCHAR2,
418   X_ATTRIBUTE14 in VARCHAR2,
419   X_ATTRIBUTE15 in VARCHAR2,
420   X_ATTRIBUTE_CATEGORY in VARCHAR2,
421   X_TAX_RATE_NAME in VARCHAR2,
422   X_PROGRAM_APPLICATION_ID in NUMBER,
423   X_PROGRAM_ID in NUMBER,
424   X_Program_Login_Id in  NUMBER,
425   X_ALLOW_ADHOC_TAX_RATE_FLAG in VARCHAR2,
426   X_ADJ_FOR_ADHOC_AMT_CODE in VARCHAR2,
427   X_INCLUSIVE_TAX_FLAG in VARCHAR2,
428   X_TAX_INCLUSIVE_OVERRIDE_FLAG VARCHAR2,
429   X_TAX_CLASS VARCHAR2,
430   X_OBJECT_VERSION_NUMBER in NUMBER,
431   X_ALLOW_EXEMPTIONS_FLAG in VARCHAR2,
432   X_ALLOW_EXCEPTIONS_FLAG in VARCHAR2,
433   X_SOURCE_ID in NUMBER,
434   X_DESCRIPTION VARCHAR2,
435   X_TAXABLE_BASIS_FORMULA_CODE in VARCHAR2
436 
437 ) is
438   cursor c is select
439       TAX_RATE_CODE,
440       CONTENT_OWNER_ID,
441       EFFECTIVE_FROM,
442       EFFECTIVE_TO,
443       TAX_REGIME_CODE,
444       TAX,
445       TAX_STATUS_CODE,
446       Schedule_Based_Rate_Flag,
447       Rate_Type_Code,
448       PERCENTAGE_RATE,
449       QUANTITY_RATE,
450       UOM_CODE,
451       TAX_JURISDICTION_CODE,
452       RECOVERY_TYPE_CODE,
453       Active_Flag,
454       Default_Rate_Flag,
455       DEFAULT_FLG_EFFECTIVE_FROM,
456       DEFAULT_FLG_EFFECTIVE_TO,
457       DEFAULT_REC_TYPE_CODE,
458       DEFAULT_REC_RATE_CODE,
459       OFFSET_TAX,
460       OFFSET_STATUS_CODE,
461       OFFSET_TAX_RATE_CODE,
462       RECOVERY_RULE_CODE,
463       Def_Rec_Settlement_Option_Code,
464       Vat_Transaction_Type_Code,
465       Record_Type_Code,
466       REQUEST_ID,
467       ATTRIBUTE1,
468       ATTRIBUTE2,
469       ATTRIBUTE3,
470       ATTRIBUTE4,
471       ATTRIBUTE5,
472       ATTRIBUTE6,
473       ATTRIBUTE7,
474       ATTRIBUTE8,
475       ATTRIBUTE9,
476       ATTRIBUTE10,
477       ATTRIBUTE11,
478       ATTRIBUTE12,
479       ATTRIBUTE13,
480       ATTRIBUTE14,
481       ATTRIBUTE15,
482       ATTRIBUTE_CATEGORY,
483       ALLOW_ADHOC_TAX_RATE_FLAG,
484       ADJ_FOR_ADHOC_AMT_CODE,
485       INCLUSIVE_TAX_FLAG,
486       TAX_INCLUSIVE_OVERRIDE_FLAG,
487       TAX_CLASS,
488       OBJECT_VERSION_NUMBER,
489       ALLOW_EXEMPTIONS_FLAG,
490       ALLOW_EXCEPTIONS_FLAG,
491       SOURCE_ID,
492       -- DESCRIPTION, commented as part of fix for bug#	6820043
493       TAXABLE_BASIS_FORMULA_CODE
494     from ZX_RATES_B
495     where TAX_RATE_ID = X_TAX_RATE_ID
496     for update of TAX_RATE_ID nowait;
497   recinfo c%rowtype;
498   cursor c1 is select
499       TAX_RATE_NAME,
500       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
501     from ZX_RATES_TL
502     where TAX_RATE_ID = X_TAX_RATE_ID
503     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
504     for update of TAX_RATE_ID nowait;
505 begin
506   open c;
507   fetch c into recinfo;
508   if (c%notfound) then
509     close c;
510     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
511     app_exception.raise_exception;
512   end if;
513   close c;
514   if (    (recinfo.TAX_RATE_CODE = X_TAX_RATE_CODE)
515       AND ((recinfo.CONTENT_OWNER_ID = X_CONTENT_OWNER_ID)
516            OR ((recinfo.CONTENT_OWNER_ID is null) AND (X_CONTENT_OWNER_ID is null)))
517       AND ((recinfo.EFFECTIVE_FROM = X_EFFECTIVE_FROM)
518            OR ((recinfo.EFFECTIVE_FROM is null) AND (X_EFFECTIVE_FROM is null)))
519       AND ((recinfo.EFFECTIVE_TO = X_EFFECTIVE_TO)
520            OR ((recinfo.EFFECTIVE_TO is null) AND (X_EFFECTIVE_TO is null)))
521       AND (recinfo.TAX_REGIME_CODE = X_TAX_REGIME_CODE)
522       AND (recinfo.TAX = X_TAX)
523       AND ((recinfo.TAX_STATUS_CODE = X_TAX_STATUS_CODE)
524            OR ((recinfo.TAX_STATUS_CODE is null) AND (X_TAX_STATUS_CODE is null)))
525       AND ((recinfo.Schedule_Based_Rate_Flag = X_Schedule_Based_Rate_Flag)
526            OR ((recinfo.Schedule_Based_Rate_Flag is null) AND (X_Schedule_Based_Rate_Flag is null)))
527       AND ((recinfo.Rate_Type_Code = X_Rate_Type_Code)
528            OR ((recinfo.Rate_Type_Code is null) AND (X_Rate_Type_Code is null)))
529       AND ((recinfo.PERCENTAGE_RATE = X_PERCENTAGE_RATE)
530            OR ((recinfo.PERCENTAGE_RATE is null) AND (X_PERCENTAGE_RATE is null)))
531       AND ((recinfo.QUANTITY_RATE = X_QUANTITY_RATE)
532            OR ((recinfo.QUANTITY_RATE is null) AND (X_QUANTITY_RATE is null)))
533       AND ((recinfo.UOM_CODE = X_UOM_CODE)
534            OR ((recinfo.UOM_CODE is null) AND (X_UOM_CODE is null)))
535       AND ((recinfo.TAX_JURISDICTION_CODE = X_TAX_JURISDICTION_CODE)
536            OR ((recinfo.TAX_JURISDICTION_CODE is null) AND (X_TAX_JURISDICTION_CODE is null)))
537       AND ((recinfo.RECOVERY_TYPE_CODE = X_RECOVERY_TYPE_CODE)
538            OR ((recinfo.RECOVERY_TYPE_CODE is null) AND (X_RECOVERY_TYPE_CODE is null)))
539       AND ((recinfo.Active_Flag = X_Active_Flag)
540            OR ((recinfo.Active_Flag is null) AND (X_Active_Flag is null)))
541       AND ((recinfo.Default_Rate_Flag = X_Default_Rate_Flag)
542            OR ((recinfo.Default_Rate_Flag is null) AND (X_Default_Rate_Flag is null)))
543       AND ((recinfo.DEFAULT_FLG_EFFECTIVE_FROM = X_DEFAULT_FLG_EFFECTIVE_FROM)
544            OR ((recinfo.DEFAULT_FLG_EFFECTIVE_FROM is null) AND (X_DEFAULT_FLG_EFFECTIVE_FROM is null)))
545       AND ((recinfo.DEFAULT_FLG_EFFECTIVE_TO = X_DEFAULT_FLG_EFFECTIVE_TO)
546            OR ((recinfo.DEFAULT_FLG_EFFECTIVE_TO is null) AND (X_DEFAULT_FLG_EFFECTIVE_TO is null)))
547       AND ((recinfo.DEFAULT_REC_TYPE_CODE = X_DEFAULT_REC_TYPE_CODE)
548            OR ((recinfo.DEFAULT_REC_TYPE_CODE is null) AND (X_DEFAULT_REC_TYPE_CODE is null)))
549       AND ((recinfo.DEFAULT_REC_RATE_CODE = X_DEFAULT_REC_RATE_CODE)
550            OR ((recinfo.DEFAULT_REC_RATE_CODE is null) AND (X_DEFAULT_REC_RATE_CODE is null)))
551       AND ((recinfo.OFFSET_TAX = X_OFFSET_TAX)
552            OR ((recinfo.OFFSET_TAX is null) AND (X_OFFSET_TAX is null)))
553       AND ((recinfo.OFFSET_STATUS_CODE = X_OFFSET_STATUS_CODE)
554            OR ((recinfo.OFFSET_STATUS_CODE is null) AND (X_OFFSET_STATUS_CODE is null)))
555       AND ((recinfo.OFFSET_TAX_RATE_CODE = X_OFFSET_TAX_RATE_CODE)
556            OR ((recinfo.OFFSET_TAX_RATE_CODE is null) AND (X_OFFSET_TAX_RATE_CODE is null)))
557       AND ((recinfo.RECOVERY_RULE_CODE = X_RECOVERY_RULE_CODE)
558            OR ((recinfo.RECOVERY_RULE_CODE is null) AND (X_RECOVERY_RULE_CODE is null)))
559       AND ((recinfo.Def_Rec_Settlement_Option_Code = X_Def_Rec_Settlement_Option_Co)
560            OR ((recinfo.Def_Rec_Settlement_Option_Code is null) AND (X_Def_Rec_Settlement_Option_Co is null)))
561       AND ((recinfo.Vat_Transaction_Type_Code = X_Vat_Transaction_Type_Code)
562            OR ((recinfo.Vat_Transaction_Type_Code is null) AND (X_Vat_Transaction_Type_Code is null)))
563       AND ((recinfo.Record_Type_Code = X_Record_Type_Code)
564            OR ((recinfo.Record_Type_Code is null) AND (X_Record_Type_Code is null)))
565       AND ((recinfo.REQUEST_ID = X_REQUEST_ID)
566            OR ((recinfo.REQUEST_ID is null) AND (X_REQUEST_ID is null)))
567       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
568            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
569       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
570            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
571       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
572            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
573       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
574            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
575       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
576            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
577       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
578            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
579       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
580            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
581       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
582            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
583       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
584            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
585       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
586            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
587       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
588            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
589       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
590            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
591       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
592            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
593       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
594            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
595       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
596            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
597       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
598            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
599       AND ((recinfo.ALLOW_ADHOC_TAX_RATE_FLAG = X_ALLOW_ADHOC_TAX_RATE_FLAG)
600            OR ((recinfo.ALLOW_ADHOC_TAX_RATE_FLAG is null) AND (X_ALLOW_ADHOC_TAX_RATE_FLAG is null)))
601       AND ((recinfo.ADJ_FOR_ADHOC_AMT_CODE = X_ADJ_FOR_ADHOC_AMT_CODE)
602            OR ((recinfo.ADJ_FOR_ADHOC_AMT_CODE is null) AND (X_ADJ_FOR_ADHOC_AMT_CODE is null)))
603       AND ((recinfo.INCLUSIVE_TAX_FLAG = X_INCLUSIVE_TAX_FLAG)
604            OR ((recinfo.INCLUSIVE_TAX_FLAG is null) AND (X_INCLUSIVE_TAX_FLAG is null)))
605       AND ((recinfo.TAX_INCLUSIVE_OVERRIDE_FLAG = X_TAX_INCLUSIVE_OVERRIDE_FLAG)
606            OR ((recinfo.TAX_INCLUSIVE_OVERRIDE_FLAG is null) AND (X_TAX_INCLUSIVE_OVERRIDE_FLAG is null)))
607       AND ((recinfo.TAX_CLASS= X_TAX_CLASS)
608            OR ((recinfo.TAX_CLASS is null) AND (X_TAX_CLASS is null)))
609       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
610       AND ((recinfo.ALLOW_EXEMPTIONS_FLAG = X_ALLOW_EXEMPTIONS_FLAG)
611            OR ((recinfo.ALLOW_EXEMPTIONS_FLAG is null) AND (X_ALLOW_EXEMPTIONS_FLAG is null)))
612       AND ((recinfo.ALLOW_EXCEPTIONS_FLAG = X_ALLOW_EXCEPTIONS_FLAG)
613            OR ((recinfo.ALLOW_EXCEPTIONS_FLAG is null) AND (X_ALLOW_EXCEPTIONS_FLAG is null)))
614       AND ((recinfo.SOURCE_ID = X_SOURCE_ID)
615            OR ((recinfo.SOURCE_ID is null) AND (X_SOURCE_ID is null)))
616     /* AND ((recinfo.DESCRIPTION = X_DESCRIPTION)
617            OR ((recinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null))) */ /* commented as part of fix for bug#	6820043 */
618       AND ((recinfo.TAXABLE_BASIS_FORMULA_CODE = X_TAXABLE_BASIS_FORMULA_CODE)
619            OR ((recinfo.TAXABLE_BASIS_FORMULA_CODE is null) AND (X_TAXABLE_BASIS_FORMULA_CODE is null)))
620   ) then
621     null;
622   else
623     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
624     app_exception.raise_exception;
625   end if;
626   for tlinfo in c1 loop
627     if (tlinfo.BASELANG = 'Y') then
628       if (    ((tlinfo.TAX_RATE_NAME = X_TAX_RATE_NAME)
629                OR ((tlinfo.TAX_RATE_NAME is null) AND (X_TAX_RATE_NAME is null)))
630       ) then
631         null;
632       else
633         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
634         app_exception.raise_exception;
635       end if;
636     end if;
637   end loop;
638   return;
639 end LOCK_ROW;
640 
641 procedure UPDATE_ROW (
642   X_TAX_RATE_ID in NUMBER,
643   X_TAX_RATE_CODE in VARCHAR2,
644   X_CONTENT_OWNER_ID in NUMBER,
645   X_EFFECTIVE_FROM in DATE,
646   X_EFFECTIVE_TO in DATE,
647   X_TAX_REGIME_CODE in VARCHAR2,
648   X_TAX in VARCHAR2,
649   X_TAX_STATUS_CODE in VARCHAR2,
650   X_Schedule_Based_Rate_Flag in VARCHAR2,
651   X_Rate_Type_Code in VARCHAR2,
652   X_PERCENTAGE_RATE in NUMBER,
653   X_QUANTITY_RATE in NUMBER,
654   X_UOM_CODE in VARCHAR2,
655   X_TAX_JURISDICTION_CODE in VARCHAR2,
656   X_RECOVERY_TYPE_CODE in VARCHAR2,
657   X_Active_Flag in VARCHAR2,
658   X_Default_Rate_Flag in VARCHAR2,
659   X_DEFAULT_FLG_EFFECTIVE_FROM in DATE,
660   X_DEFAULT_FLG_EFFECTIVE_TO in DATE,
661   X_DEFAULT_REC_TYPE_CODE in VARCHAR2,
662   X_DEFAULT_REC_RATE_CODE in VARCHAR2,
663   X_OFFSET_TAX in VARCHAR2,
664   X_OFFSET_STATUS_CODE in VARCHAR2,
665   X_OFFSET_TAX_RATE_CODE in VARCHAR2,
666   X_RECOVERY_RULE_CODE in VARCHAR2,
667   X_Def_Rec_Settlement_Option_Co in VARCHAR2,
668   X_Vat_Transaction_Type_Code in VARCHAR2,
669   X_Record_Type_Code in VARCHAR2,
670   X_REQUEST_ID in NUMBER,
671   X_ATTRIBUTE1 in VARCHAR2,
672   X_ATTRIBUTE2 in VARCHAR2,
673   X_ATTRIBUTE3 in VARCHAR2,
674   X_ATTRIBUTE4 in VARCHAR2,
675   X_ATTRIBUTE5 in VARCHAR2,
676   X_ATTRIBUTE6 in VARCHAR2,
677   X_ATTRIBUTE7 in VARCHAR2,
678   X_ATTRIBUTE8 in VARCHAR2,
679   X_ATTRIBUTE9 in VARCHAR2,
680   X_ATTRIBUTE10 in VARCHAR2,
681   X_ATTRIBUTE11 in VARCHAR2,
682   X_ATTRIBUTE12 in VARCHAR2,
683   X_ATTRIBUTE13 in VARCHAR2,
684   X_ATTRIBUTE14 in VARCHAR2,
685   X_ATTRIBUTE15 in VARCHAR2,
686   X_ATTRIBUTE_CATEGORY in VARCHAR2,
687   X_TAX_RATE_NAME in VARCHAR2,
688   X_LAST_UPDATE_DATE in DATE,
689   X_LAST_UPDATED_BY in NUMBER,
690   X_LAST_UPDATE_LOGIN in NUMBER,
691   X_PROGRAM_APPLICATION_ID in NUMBER,
692   X_PROGRAM_ID in NUMBER,
693   X_Program_Login_Id in NUMBER,
694   X_ALLOW_ADHOC_TAX_RATE_FLAG in VARCHAR2,
695   X_ADJ_FOR_ADHOC_AMT_CODE in VARCHAR2,
696   X_INCLUSIVE_TAX_FLAG in VARCHAR2,
697   X_TAX_INCLUSIVE_OVERRIDE_FLAG VARCHAR2,
698   X_TAX_CLASS VARCHAR2,
699   X_OBJECT_VERSION_NUMBER in NUMBER,
700   X_ALLOW_EXEMPTIONS_FLAG in VARCHAR2,
701   X_ALLOW_EXCEPTIONS_FLAG in VARCHAR2,
702   X_SOURCE_ID in NUMBER,
703   X_DESCRIPTION IN VARCHAR2,
704   X_TAXABLE_BASIS_FORMULA_CODE in VARCHAR2
705 ) is
706   X_ORG_ID NUMBER;
707   X_TAX_TYPE VARCHAR2(30);
708   X_RETURN_STATUS VARCHAR2(1) ; --bug#6992215
709 
710 begin
711   update ZX_RATES_B set
712     TAX_RATE_CODE = X_TAX_RATE_CODE,
713     CONTENT_OWNER_ID = X_CONTENT_OWNER_ID,
714     EFFECTIVE_FROM = X_EFFECTIVE_FROM,
715     EFFECTIVE_TO = X_EFFECTIVE_TO,
716     TAX_REGIME_CODE = X_TAX_REGIME_CODE,
717     TAX = X_TAX,
718     TAX_STATUS_CODE = X_TAX_STATUS_CODE,
719     Schedule_Based_Rate_Flag = X_Schedule_Based_Rate_Flag,
720     Rate_Type_Code = X_Rate_Type_Code,
721     PERCENTAGE_RATE = X_PERCENTAGE_RATE,
722     QUANTITY_RATE = X_QUANTITY_RATE,
723     UOM_CODE = X_UOM_CODE,
724     TAX_JURISDICTION_CODE = X_TAX_JURISDICTION_CODE,
725     RECOVERY_TYPE_CODE = X_RECOVERY_TYPE_CODE,
726     Active_Flag = X_Active_Flag,
727     Default_Rate_Flag = X_Default_Rate_Flag,
728     DEFAULT_FLG_EFFECTIVE_FROM = X_DEFAULT_FLG_EFFECTIVE_FROM,
729     DEFAULT_FLG_EFFECTIVE_TO = X_DEFAULT_FLG_EFFECTIVE_TO,
730     DEFAULT_REC_TYPE_CODE = X_DEFAULT_REC_TYPE_CODE,
731     DEFAULT_REC_RATE_CODE = X_DEFAULT_REC_RATE_CODE,
732     OFFSET_TAX = X_OFFSET_TAX,
733     OFFSET_STATUS_CODE = X_OFFSET_STATUS_CODE,
734     OFFSET_TAX_RATE_CODE = X_OFFSET_TAX_RATE_CODE,
735     RECOVERY_RULE_CODE = X_RECOVERY_RULE_CODE,
736     Def_Rec_Settlement_Option_Code = X_Def_Rec_Settlement_Option_Co,
737     Vat_Transaction_Type_Code = X_Vat_Transaction_Type_Code,
738     Record_Type_Code = X_Record_Type_Code,
739     REQUEST_ID = X_REQUEST_ID,
740     ATTRIBUTE1 = X_ATTRIBUTE1,
741     ATTRIBUTE2 = X_ATTRIBUTE2,
742     ATTRIBUTE3 = X_ATTRIBUTE3,
743     ATTRIBUTE4 = X_ATTRIBUTE4,
744     ATTRIBUTE5 = X_ATTRIBUTE5,
745     ATTRIBUTE6 = X_ATTRIBUTE6,
746     ATTRIBUTE7 = X_ATTRIBUTE7,
747     ATTRIBUTE8 = X_ATTRIBUTE8,
751     ATTRIBUTE12 = X_ATTRIBUTE12,
748     ATTRIBUTE9 = X_ATTRIBUTE9,
749     ATTRIBUTE10 = X_ATTRIBUTE10,
750     ATTRIBUTE11 = X_ATTRIBUTE11,
752     ATTRIBUTE13 = X_ATTRIBUTE13,
753     ATTRIBUTE14 = X_ATTRIBUTE14,
754     ATTRIBUTE15 = X_ATTRIBUTE15,
755     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
756     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
757     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
758     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
759     PROGRAM_APPLICATION_ID  =  X_PROGRAM_APPLICATION_ID,
760     PROGRAM_ID  = X_PROGRAM_ID,
761     Program_Login_Id = X_Program_Login_Id,
762     ALLOW_ADHOC_TAX_RATE_FLAG = X_ALLOW_ADHOC_TAX_RATE_FLAG,
763     ADJ_FOR_ADHOC_AMT_CODE = X_ADJ_FOR_ADHOC_AMT_CODE,
764     INCLUSIVE_TAX_FLAG = X_INCLUSIVE_TAX_FLAG,
765     TAX_INCLUSIVE_OVERRIDE_FLAG = X_TAX_INCLUSIVE_OVERRIDE_FLAG,
766     TAX_CLASS = X_TAX_CLASS,
767     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
768     ALLOW_EXEMPTIONS_FLAG = X_ALLOW_EXEMPTIONS_FLAG,
769     ALLOW_EXCEPTIONS_FLAG = X_ALLOW_EXCEPTIONS_FLAG,
770     SOURCE_ID = X_SOURCE_ID,
771    -- DESCRIPTION = X_DESCRIPTION,/* commented as part of fix for bug#	6820043 */
772     TAXABLE_BASIS_FORMULA_CODE = X_TAXABLE_BASIS_FORMULA_CODE
773   where TAX_RATE_ID = X_TAX_RATE_ID;
774   if (sql%notfound) then
775     raise no_data_found;
776   end if;
777   update ZX_RATES_TL set
778     TAX_RATE_NAME = X_TAX_RATE_NAME,
779     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
780     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
781     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
782 	DESCRIPTION = X_DESCRIPTION, /* added as part of fix for bug#	6820043 */
783     SOURCE_LANG = userenv('LANG')
784   where TAX_RATE_ID = X_TAX_RATE_ID
785   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
786   if (sql%notfound) then
787     raise no_data_found;
788   end if;
789 
790 
791 --START bug#6992215
792 /*
793 Updating the description column in the fnd_lookup_values. For rate code of type:RECOVERY, it will not update.
794 */
795   IF (X_RATE_TYPE_CODE <> 'RECOVERY') then
796      UPDATE_LOOKUP_VALUES(
797         'ZX_INPUT_CLASSIFICATIONS' ,
798         X_TAX_RATE_CODE ,
799         X_DESCRIPTION,
800         X_TAX_RATE_NAME,
801 	    X_RETURN_STATUS
802      );
803 
804      UPDATE_LOOKUP_VALUES(
805         'ZX_OUTPUT_CLASSIFICATIONS' ,
806         X_TAX_RATE_CODE ,
807         X_DESCRIPTION,
808         X_TAX_RATE_NAME,
809 	    X_RETURN_STATUS
810      );
811   END IF;
812 --END bug#6992215
813 
814 /*Getting the value of X_ORG_ID on the basis of X_CONTENT_OWNER_ID
815 * and tax_type_code to be passed
816 *
817 */
818 
819 
820 
821 SELECT decode(c.party_type_code,'OU',c.party_id,-99) into X_ORG_ID
822 FROM
823 	zx_party_tax_profile c
824 WHERE
825 c.party_tax_profile_id = X_CONTENT_OWNER_ID;
826 
827 
828 
829 BEGIN
830 	SELECT TAX_TYPE_CODE INTO X_TAX_TYPE
831 	FROM
832 		ZX_TAXES_B A
833 	WHERE
834 		A.TAX = X_TAX
835 		AND A.TAX_REGIME_CODE = X_TAX_REGIME_CODE
836 		AND A.CONTENT_OWNER_ID = X_CONTENT_OWNER_ID;
837 
838 
839 
840 EXCEPTION
841 	WHEN NO_DATA_FOUND THEN
842 
843 	SELECT TAX_TYPE_CODE INTO X_TAX_TYPE
844 	FROM
845 		ZX_TAXES_B A
846 	WHERE
847 		A.TAX = X_TAX
848 		AND A.TAX_REGIME_CODE = X_TAX_REGIME_CODE
849 		AND A.CONTENT_OWNER_ID = -99;
850 END;
851 
852 /* Calling procedure POPULATE_ID_TCC_MAPPING_ALL to populate the ZX_ID_TCC_MAPPING_ALL table. */
853 
854 POPULATE_ID_TCC_MAPPING_ALL (
855   X_TAX_RATE_ID,
856   X_TAX_RATE_CODE,
857   X_ORG_ID,
858   X_EFFECTIVE_FROM,
859   X_EFFECTIVE_TO,
860   X_TAX_TYPE,
861   NULL,
862   X_Active_Flag,
863   NULL,
864   NULL
865   );
866 
867 end UPDATE_ROW;
868 
869 procedure DELETE_ROW (
870   X_TAX_RATE_ID in NUMBER
871 ) is
872 begin
873   delete from ZX_RATES_TL
874   where TAX_RATE_ID = X_TAX_RATE_ID;
875   if (sql%notfound) then
876     raise no_data_found;
877   end if;
878   delete from ZX_RATES_B
879   where TAX_RATE_ID = X_TAX_RATE_ID;
880   if (sql%notfound) then
881     raise no_data_found;
882   end if;
883 end DELETE_ROW;
884 
885 procedure ADD_LANGUAGE
886 is
887 begin
888   delete from ZX_RATES_TL T
889   where not exists
890     (select NULL
891     from ZX_RATES_B B
892     where B.TAX_RATE_ID = T.TAX_RATE_ID
893     );
894   update ZX_RATES_TL T set (
895       TAX_RATE_NAME
896     ) = (select
897       B.TAX_RATE_NAME
898     from ZX_RATES_TL B
899     where B.TAX_RATE_ID = T.TAX_RATE_ID
900     and B.LANGUAGE = T.SOURCE_LANG)
901   where (
902       T.TAX_RATE_ID,
903       T.LANGUAGE
904   ) in (select
905       SUBT.TAX_RATE_ID,
906       SUBT.LANGUAGE
907     from ZX_RATES_TL SUBB, ZX_RATES_TL SUBT
908     where SUBB.TAX_RATE_ID = SUBT.TAX_RATE_ID
909     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
910     and (SUBB.TAX_RATE_NAME <> SUBT.TAX_RATE_NAME
914   insert into ZX_RATES_TL (
911       or (SUBB.TAX_RATE_NAME is null and SUBT.TAX_RATE_NAME is not null)
912       or (SUBB.TAX_RATE_NAME is not null and SUBT.TAX_RATE_NAME is null)
913   ));
915     TAX_RATE_ID,
916     TAX_RATE_NAME,
917     CREATED_BY,
918     CREATION_DATE,
919     LAST_UPDATED_BY,
920     LAST_UPDATE_DATE,
921     LAST_UPDATE_LOGIN,
922     LANGUAGE,
923 	description,/* added as part of fix for bug#	6820043 */
924     SOURCE_LANG
925   ) select
926     B.TAX_RATE_ID,
927     B.TAX_RATE_NAME,
928     B.CREATED_BY,
929     B.CREATION_DATE,
930     B.LAST_UPDATED_BY,
931     B.LAST_UPDATE_DATE,
932     B.LAST_UPDATE_LOGIN,
933     L.LANGUAGE_CODE,
934 	B.DESCRIPTION,/* added as part of fix for bug#	6820043 */
935     B.SOURCE_LANG
936   from ZX_RATES_TL B, FND_LANGUAGES L
937   where L.INSTALLED_FLAG in ('I', 'B')
938   and B.LANGUAGE = userenv('LANG')
939   and not exists
940     (select NULL
941     from ZX_RATES_TL T
942     where T.TAX_RATE_ID = B.TAX_RATE_ID
943     and T.LANGUAGE = L.LANGUAGE_CODE);
944 end ADD_LANGUAGE;
945 
946 Procedure INSERT_LOOKUP_VALUES (
947   X_LOOKUP_TYPE in VARCHAR2,
948   X_TAX_RATE_CODE in VARCHAR2,
949   X_EFFECTIVE_FROM  in DATE,
950   X_EFFECTIVE_TO   in DATE,
951   --start bug#6992215
952   X_DESCRIPTION in VARCHAR2 DEFAULT NULL ,  --bug#7274382 added default
953   X_TAX_RATE_NAME IN VARCHAR2 DEFAULT NULL  --bug#7274382 added default
954   -- end bug#6992215
955 ) is
956 
957 begin
958 
959 
960 
961 MERGE INTO FND_LOOKUP_VALUES
962    USING (SELECT INSTALLED_FLAG,LANGUAGE_CODE FROM FND_LANGUAGES where INSTALLED_FLAG in ('I', 'B')) L
963    ON ( LOOKUP_TYPE = X_LOOKUP_TYPE and
964       LOOKUP_CODE = NVL(TAG,X_TAX_RATE_CODE)and
965       VIEW_APPLICATION_ID='0' and
966       SECURITY_GROUP_ID='0'   and
967       LANGUAGE = L.LANGUAGE_CODE
968       )
969    WHEN MATCHED THEN UPDATE SET END_DATE_ACTIVE = NULL
970 
971 
972 
973    WHEN NOT MATCHED THEN INSERT
974     (
975      LOOKUP_TYPE         ,
976      LANGUAGE          ,
977      LOOKUP_CODE            ,
978      MEANING                ,
979      DESCRIPTION            ,
980      ENABLED_FLAG           ,
981      TAG,
982      START_DATE_ACTIVE      ,
983      END_DATE_ACTIVE        ,
984      SOURCE_LANG            ,
985      SECURITY_GROUP_ID      ,
986      VIEW_APPLICATION_ID    ,
987      CREATION_DATE          ,
988      CREATED_BY             ,
989      LAST_UPDATE_DATE       ,
990      LAST_UPDATED_BY        ,
991      LAST_UPDATE_LOGIN
992     )
993   VALUES(
994          X_LOOKUP_TYPE,
995          LANGUAGE_CODE,
996          (SELECT CASE WHEN LENGTHB(X_TAX_RATE_CODE) > 30
997                     THEN SUBSTRB(X_TAX_RATE_CODE, 1, 24) ||ZX_MIGRATE_UTIL.GET_NEXT_SEQID('ZX_TAXES_B_S')
998                     ELSE X_TAX_RATE_CODE
999                     END  LOOKUP_CODE
1000                   FROM DUAL) ,
1001          -- start  bug#6992215
1002          Nvl(X_TAX_RATE_NAME, X_TAX_RATE_CODE),
1003          X_DESCRIPTION,
1004          -- end  bug#6992215
1005          'Y',
1006          (SELECT CASE WHEN LENGTHB(X_TAX_RATE_CODE) > 30
1007                     THEN X_TAX_RATE_CODE
1008                     ELSE
1009                         NULL
1010                     END  TAG
1011                  FROM DUAL) ,
1012           X_EFFECTIVE_FROM,
1013           X_EFFECTIVE_TO,
1014           'US',
1015           '0',
1016           '0',
1017           SYSDATE,
1018           fnd_global.user_id,
1019           SYSDATE,
1020           fnd_global.user_id,
1021           FND_GLOBAL.CONC_LOGIN_ID);
1022 
1023 
1024     end INSERT_LOOKUP_VALUES;
1025 
1026 
1027 
1028 
1029 
1030 
1031 Procedure POPULATE_ID_TCC_MAPPING_ALL (
1032   X_TAX_RATE_ID in NUMBER,
1033   X_TAX_RATE_CODE in VARCHAR2,
1034   X_ORG_ID in NUMBER,
1035   X_EFFECTIVE_FROM in DATE,
1036   X_EFFECTIVE_TO in DATE,
1037   X_TAX_TYPE in VARCHAR2,
1038   X_TAX_CLASS in varchar2,
1039   X_Active_Flag in VARCHAR2,
1040   X_LEDGER_ID in NUMBER,
1041   X_SOURCE in VARCHAR2
1042 ) is
1043 
1044 L_EFFECTIVE_FROM  DATE;
1045 L_EFFECTIVE_TO    DATE;
1046 
1047 begin
1048 	/* Insert into ZX_ID_TCC_MAPPING_ALL table when ever the new rate is being created;
1049 	* And if the record is already present then it will update the existing record.
1050 	* If content owner is OU, add a record in zx_id_tcc_mapping_all table for each new tax rate
1051 	* code created (tax_class = NULL and source =  NULL).
1052 	* Also note that we can create records in this table from the Conditions
1053 	* flow too. In that case we stamp the TaxRateCodeId as the negative of
1054 	* ConditionGroupId: Bug 5249603
1055 	*/
1056 
1057 	--Copy the values to local variable.
1058 	L_EFFECTIVE_FROM  := X_EFFECTIVE_FROM;
1059 	L_EFFECTIVE_TO    := X_EFFECTIVE_TO;
1060 
1061 	-- Bug # 5559151. If this procedure is called from Tax Rules/Condition Set UI then we are not passing the
1062 	-- Effective From and To date. So get the Max(Start Date) and Min(End Date) from fnd_lookups
1063 	IF L_EFFECTIVE_FROM IS NULL THEN
1064 
1065 		SELECT MAX(START_DATE_ACTIVE) INTO L_EFFECTIVE_FROM
1066 		FROM   FND_LOOKUPS
1067 		WHERE  LOOKUP_TYPE IN('ZX_INPUT_CLASSIFICATIONS', 'ZX_WEB_EXP_TAX_CLASSIFICATIONS' , 'ZX_OUTPUT_CLASSIFICATIONS')
1068 		  AND  ENABLED_FLAG = 'Y'
1069 		  AND  SYSDATE BETWEEN START_DATE_ACTIVE
1070 		  AND  NVL(END_DATE_ACTIVE,SYSDATE)
1071 		  AND  LOOKUP_CODE = X_TAX_RATE_CODE;
1072 
1073 		BEGIN
1074 
1075 			SELECT END_DATE_ACTIVE INTO L_EFFECTIVE_TO
1076 			FROM   FND_LOOKUPS
1077 			WHERE  LOOKUP_TYPE IN('ZX_INPUT_CLASSIFICATIONS', 'ZX_WEB_EXP_TAX_CLASSIFICATIONS' , 'ZX_OUTPUT_CLASSIFICATIONS')
1078 			  AND  ENABLED_FLAG = 'Y'
1079 			  AND  SYSDATE BETWEEN START_DATE_ACTIVE
1080 			  AND  NVL(END_DATE_ACTIVE,SYSDATE)
1081 			  AND  LOOKUP_CODE = X_TAX_RATE_CODE
1082 			  AND  END_DATE_ACTIVE IS NULL
1083 			  AND  ROWNUM = 1;
1084 
1085 		EXCEPTION
1086 
1087   		    WHEN NO_DATA_FOUND THEN
1088 				SELECT MAX(END_DATE_ACTIVE)  INTO L_EFFECTIVE_TO
1089 				FROM   FND_LOOKUPS
1090 				WHERE  LOOKUP_TYPE IN('ZX_INPUT_CLASSIFICATIONS', 'ZX_WEB_EXP_TAX_CLASSIFICATIONS' , 'ZX_OUTPUT_CLASSIFICATIONS')
1091 				  AND  ENABLED_FLAG = 'Y'
1092 				  AND  SYSDATE BETWEEN START_DATE_ACTIVE
1093 				  AND  NVL(END_DATE_ACTIVE,SYSDATE)
1094 				  AND  LOOKUP_CODE = X_TAX_RATE_CODE;
1095   		    WHEN OTHERS THEN
1096 			  NULL;
1097 		END;
1098 
1099 	END IF;
1100 
1101 	UPDATE ZX_ID_TCC_MAPPING_ALL
1102 	SET
1103 		EFFECTIVE_TO = L_EFFECTIVE_TO,			--effective_to
1104 		ACTIVE_FLAG = X_Active_Flag,			-- Active_flag
1105 		LAST_UPDATED_BY = fnd_global.user_id,		--last_updated_by
1106 		LAST_UPDATE_DATE = SYSDATE,			--last_update_date
1107 		LAST_UPDATE_LOGIN = fnd_global.user_id		--last_update_login
1108 	WHERE TAX_CLASSIFICATION_CODE = X_TAX_RATE_CODE
1109 		AND ORG_ID = X_ORG_ID
1110 		AND ((TAX_RATE_CODE_ID =  X_TAX_RATE_ID) OR
1111 		    (X_TAX_RATE_ID < 0));
1112 
1113 
1114 	IF (SQL%NOTFOUND)
1115 	then
1116 		INSERT INTO ZX_ID_TCC_MAPPING_ALL
1117 		(
1118 		  TCC_MAPPING_ID                 ,
1119 		  ORG_ID                         ,
1120 		  TAX_CLASS                      ,
1121 		  TAX_RATE_CODE_ID               ,
1122 		  TAX_CLASSIFICATION_CODE        ,
1123 		  TAX_TYPE			 ,
1124 		  EFFECTIVE_FROM		 ,
1125 		  EFFECTIVE_TO			 ,
1126 		  SOURCE                         ,
1127 		  CREATED_BY                     ,
1128 		  CREATION_DATE                  ,
1129 		  LAST_UPDATED_BY                ,
1130 		  LAST_UPDATE_DATE               ,
1131 		  LAST_UPDATE_LOGIN              ,
1132 		  REQUEST_ID                     ,
1133 		  PROGRAM_APPLICATION_ID         ,
1134 		  PROGRAM_ID                     ,
1135 		  PROGRAM_LOGIN_ID               ,
1136 		  LEDGER_ID		         ,
1137 		  ACTIVE_FLAG
1138 		)
1139 		select
1140 		  ZX_ID_TCC_MAPPING_ALL_S.nextval   , --tcc_mapping_id
1141 		  X_ORG_ID			 , --org_id
1142 		  X_TAX_CLASS	                 , --tax_class
1143 		  X_TAX_RATE_ID                  , --tax_rate_code_id
1144 		  X_TAX_RATE_CODE                , --tax_classification_code
1145 		  X_TAX_TYPE			 , --tax_type
1146 		  L_EFFECTIVE_FROM		 , --effective_from
1147 		  L_EFFECTIVE_TO		 , --effective_to
1148 		  X_SOURCE                       , --source
1149 		  fnd_global.user_id             , --created_by
1150 		  SYSDATE                        , --creation_date
1151 		  fnd_global.user_id             , --last_updated_by
1152 		  SYSDATE                        , --last_update_date
1153 		  fnd_global.user_id             , --last_update_login
1154 		  fnd_global.conc_request_id     , --request_id
1155 		  fnd_global.prog_appl_id        , --program_application_id
1156 		  fnd_global.conc_program_id     , --program_id
1157 		  fnd_global.conc_login_id       , --program_login_id
1158 		  X_LEDGER_ID		         , --ledger_id
1159 		  X_Active_Flag			   -- Active_flag )
1160 		FROM
1161 		       dual
1162 		WHERE
1163 			NOT EXISTS
1164 			  (SELECT NULL FROM ZX_ID_TCC_MAPPING_ALL
1165 			   WHERE TAX_CLASSIFICATION_CODE  =  X_TAX_RATE_CODE
1166 			   AND ORG_ID = X_ORG_ID
1167 			   AND TAX_RATE_CODE_ID =  X_TAX_RATE_ID
1168 			  );
1169 	END IF;
1170 end POPULATE_ID_TCC_MAPPING_ALL;
1171 
1172 end ZX_RATES_PKG;